*{margin:0;padding:0;box-sizing:border-box}html,body{background:#0a0a1a;font-family:Courier New,Courier,monospace;min-height:100dvh}body{overflow:hidden;overscroll-behavior:none}canvas{display:block;width:100%;height:100%;touch-action:none}.hud-start{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;background:#0a0a1af2;z-index:100;font-family:Courier New,Courier,monospace}.hud-start-name{color:#4ee6ff;font-size:clamp(24px,7vw,34px);font-weight:700;letter-spacing:4px;text-shadow:0 0 20px #00ccff}.hud-start-sub{color:#9fd4ee;font-size:14px;letter-spacing:1px}.hud-start-button{margin-top:28px;padding:14px 32px;font-family:inherit;font-size:17px;letter-spacing:2px;color:#0a0a1a;background:#4ee6ff;border:none;border-radius:6px;cursor:pointer;animation:hud-pulse 2.4s ease-in-out infinite}.hud-start-button:hover,.hud-start-button:focus-visible{background:#a8ecff;animation:none}@keyframes hud-pulse{0%,to{box-shadow:0 0 #4ee6ff66}50%{box-shadow:0 0 0 12px #4ee6ff00}}.hud-start-help{margin-top:30px;list-style:none;color:#8fb4cc;font-size:13px;line-height:2}.hud-flat-link{margin-top:26px;background:none;border:none;border-bottom:1px solid #6fdcff66;color:#6fdcff;font-family:inherit;font-size:13px;padding:2px 0;cursor:pointer}.hud-flat-link:hover,.hud-flat-link:focus-visible{color:#a8ecff;border-bottom-color:#a8ecff}.hud-flat-corner{position:fixed;top:16px;left:16px;margin-top:0;z-index:10;font-size:12px}.hud-light{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:9px 18px;border-radius:8px;background:#0a0a1ae6;border:1px solid #ffffff22;font-family:Courier New,Courier,monospace;font-size:13px;letter-spacing:1px;z-index:10;max-width:calc(100vw - 32px)}.hud-light-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.hud-gallery{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);color:#6fdcff;font-family:Courier New,Courier,monospace;font-size:13px;letter-spacing:2px;z-index:10}.hud-hints{position:fixed;top:16px;right:16px;color:#8fb4cc;font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.9;text-align:right;z-index:10}:focus-visible{outline:2px solid #4ee6ff;outline-offset:3px}@media(prefers-reduced-motion:reduce){.hud-start-button{animation:none}}@media(max-width:600px){.hud-hints{display:none}}.p2d{max-width:760px;margin:0 auto;padding:40px 20px 80px;color:#cfe3f5;font-family:Courier New,Courier,monospace;line-height:1.7;overflow-y:auto;max-height:100vh}.p2d-notice{border:1px solid #00ccff66;background:#001830;color:#9fd4ee;padding:12px 16px;border-radius:6px;margin-bottom:32px;font-size:14px}.p2d-header{border-bottom:1px solid #00ccff44;padding-bottom:24px;margin-bottom:32px}.p2d-header h1{color:#4ee6ff;font-size:clamp(24px,6vw,34px);letter-spacing:2px;text-shadow:0 0 16px #00ccff55}.p2d-title{color:#9fd4ee;margin-top:6px}.p2d-subtitle{color:#7fb4d4;font-size:15px}.p2d-company{color:#6fa4c4;font-size:14px;letter-spacing:1px}.p2d h2{color:#4ee6ff;font-size:16px;letter-spacing:2px;text-transform:uppercase;margin:36px 0 12px}.p2d h2:before{content:"◆ ";color:#0cf}.p2d a{color:#6fdcff;text-underline-offset:3px}.p2d a:hover,.p2d a:focus-visible{color:#a8ecff}.p2d-list{list-style:none}.p2d-list li:before{content:"▸ ";color:#0cf}.p2d-skills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.p2d-skills li{border:1px solid #00ccff55;background:#001830;color:#9fe4ff;border-radius:4px;padding:4px 10px;font-size:13px}.p2d-projects{list-style:none;display:grid;gap:20px;margin-top:12px}.p2d-project{border:1px solid #00ccff33;border-radius:8px;padding:16px;background:#0d1424}.p2d-project h3{font-size:17px;margin:8px 0 6px}.p2d-project p{color:#a8c4dc;font-size:14px}.p2d-lang{display:inline-block;border:1px solid;border-radius:10px;padding:2px 10px;font-size:12px}.p2d-back{margin-top:40px;background:transparent;border:1px solid #00ccff88;color:#6fdcff;font-family:inherit;font-size:14px;padding:10px 18px;border-radius:6px;cursor:pointer}.p2d-back:hover,.p2d-back:focus-visible{background:#0cf2;color:#a8ecff}.p2d-footer{margin-top:56px;padding-top:20px;border-top:1px solid #00ccff33;color:#7fa4bc;font-size:13px}.p2d :focus-visible{outline:2px solid #4ee6ff;outline-offset:3px}
