@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/syne.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono.woff2) format("woff2")}:root{--bg: #07070a;--bg-translucent: rgba(7, 7, 10, .82);--surface: rgba(12, 12, 18, .85);--surface-border: rgba(255, 255, 255, .12);--surface-hover: rgba(255, 255, 255, .08);--text: #f8f8fa;--text-muted: #b4b4c6;--cyan: #00f0ff;--cyan-dim: rgba(0, 240, 255, .12);--cyan-glow: rgba(0, 240, 255, .35);--font-heading: "Syne", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--ease-out: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;scrollbar-gutter:stable}body{background-color:var(--bg);min-height:100vh;position:relative;overflow-x:hidden}:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.skip-link{position:absolute;top:-100px;left:1.5rem;background:var(--cyan);color:#000;padding:.5rem 1rem;font-family:var(--font-mono);font-weight:600;z-index:9999;transition:top .2s;text-decoration:none}.skip-link:focus{top:1.5rem}#webgl-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;background:transparent}#no-webgl-notice{display:none;background:#ff505026;border:1px solid rgba(255,80,80,.3);color:#f99;padding:.75rem 1.5rem;margin:1rem auto;max-width:800px;font-size:.85rem}#loader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:999;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s var(--ease-out),visibility .5s}#loader.loaded{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{text-align:center;width:240px}.loader-bar-bg{width:100%;height:2px;background:#ffffff1a;margin-top:1rem;overflow:hidden}.loader-bar-fill{height:100%;width:0%;background:var(--cyan);transition:width .2s ease}.loader-text{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.loader-audio-hint{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.18em;color:var(--cyan);margin-top:1.25rem;opacity:.8;text-transform:uppercase}#dev-overlay{display:none;position:fixed;bottom:1.5rem;left:1.5rem;z-index:900;background:#0a0a0eeb;border:1px solid var(--cyan-glow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.85rem 1.25rem;font-family:var(--font-mono);font-size:.75rem;color:#d1d1db;line-height:1.6;border-radius:4px;box-shadow:0 8px 32px #000000b3;pointer-events:none}#side-index{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:.75rem;background:#0a0a0ea6;padding:.85rem .65rem;border:1px solid rgba(255,255,255,.08);border-radius:4px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px #00000080}.side-index-item{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;transition:color .3s ease,transform .3s ease;justify-content:flex-end}.side-index-item:after{content:"";width:18px;height:1px;background:#fff3;transition:width .3s ease,background .3s ease}.side-index-item:hover,.side-index-item.active{color:var(--cyan)}.side-index-item.active:after{width:32px;background:var(--cyan)}.audio-prompt-toast{position:fixed;bottom:4.8rem;right:2rem;z-index:101;width:310px;background:#0a0a10f0;border:1px solid rgba(0,240,255,.35);border-radius:6px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 16px 45px #000c,0 0 30px #00f0ff26;padding:1.15rem 1.25rem;box-sizing:border-box;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.audio-prompt-toast.visible{opacity:1;transform:translateY(0);pointer-events:auto}.toast-glow-bar{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 8px var(--cyan)}.toast-badge{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.15em;color:var(--cyan);font-weight:600;display:inline-flex;align-items:center;gap:.4rem}.toast-badge:before{content:"🎧";font-size:.9rem}.toast-desc{font-family:var(--font-mono);font-size:.8rem;line-height:1.55;color:#cfcfe0;margin:.5rem 0 .85rem}.toast-actions{display:flex;align-items:center;gap:.65rem}.toast-btn{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;padding:.45rem .75rem;border-radius:3px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}.toast-btn.primary{background:var(--cyan);color:#07070a;border:1px solid var(--cyan);font-weight:600}.toast-btn.primary:hover{background:#fff;box-shadow:0 0 16px var(--cyan);transform:translateY(-1px)}.toast-btn.secondary{background:transparent;color:var(--text-muted);border:1px solid rgba(255,255,255,.12)}.toast-btn.secondary:hover{color:var(--text);border-color:#ffffff4d}@keyframes gravity-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gravity-pulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.18);opacity:1}}.hero-gravity-tip{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:#00f0ff0a;border:1px solid rgba(0,240,255,.22);border-radius:4px;font-family:var(--font-mono);font-size:.8rem;line-height:1.5;color:#cfcfe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-top:.25rem}.hero-gravity-tip .tip-highlight{color:var(--cyan);font-weight:600;letter-spacing:.06em}.gravity-icon{position:relative;width:18px;height:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.gravity-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px dashed var(--cyan);border-radius:50%;animation:gravity-spin 7s linear infinite}.gravity-dot{width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 8px var(--cyan);animation:gravity-pulse 2.2s ease-in-out infinite}.blackhole-hud{position:fixed;bottom:2rem;left:2rem;z-index:101;width:320px;background:#0a0a10f0;border:1px solid rgba(0,240,255,.35);border-radius:6px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 16px 45px #000c,0 0 25px #00f0ff1f;padding:1rem 1.15rem;box-sizing:border-box;display:flex;align-items:flex-start;gap:.85rem;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.blackhole-hud.visible{opacity:1;transform:translateY(0);pointer-events:auto}.blackhole-hud-glow{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 8px var(--cyan)}.blackhole-hud-icon{position:relative;width:22px;height:22px;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center}.blackhole-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:1.5px dashed var(--cyan);border-radius:50%;animation:gravity-spin 6s linear infinite}.blackhole-core{width:8px;height:8px;background:var(--cyan);border-radius:50%;box-shadow:0 0 10px var(--cyan);animation:gravity-pulse 2s ease-in-out infinite}.blackhole-hud-content{flex:1}.blackhole-hud-header{display:flex;align-items:center;gap:.5rem}.blackhole-badge{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;color:var(--cyan);font-weight:600;text-transform:uppercase}.blackhole-hud-desc{font-family:var(--font-mono);font-size:.78rem;line-height:1.5;color:#cfcfe0;margin:.35rem 0 0}.blackhole-hud-desc strong{color:var(--text);font-weight:600}.blackhole-hud-close{background:transparent;border:none;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .2rem;transition:color .2s ease;margin-left:.2rem}.blackhole-hud-close:hover{color:#fff}.blackhole-hud-trigger{position:fixed;bottom:2rem;left:2rem;z-index:100;background:#0a0a10d9;border:1px solid rgba(0,240,255,.25);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:.45rem .85rem;display:none;align-items:center;gap:.5rem;cursor:pointer;color:var(--text);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.1em;transition:all .25s ease}.blackhole-hud-trigger:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 16px #00f0ff40;transform:translateY(-1px)}.blackhole-hud-trigger.visible{display:inline-flex}.mini-blackhole-ring{display:inline-block;width:12px;height:12px;border:1.2px dashed var(--cyan);border-radius:50%;animation:gravity-spin 6s linear infinite}.mini-blackhole-core{display:inline-block;width:4px;height:4px;background:var(--cyan);border-radius:50%;box-shadow:0 0 4px var(--cyan);margin-left:-10px;margin-right:3px}.audio-toggle-btn{position:fixed;bottom:2rem;right:2rem;z-index:100;display:flex;align-items:center;gap:.65rem;background:#0a0a0fbf;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;padding:.5rem .9rem;border-radius:4px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;box-shadow:0 8px 32px #00000080;transition:all .3s ease;-webkit-user-select:none;user-select:none}.audio-toggle-btn:hover{color:var(--text);border-color:#00f0ff59;box-shadow:0 0 20px #00f0ff33;transform:translateY(-1px)}.audio-toggle-btn.playing{color:var(--cyan);border-color:#00f0ff80;background:#0a0a0fe0;box-shadow:0 0 24px #00f0ff40}.eq-bars{display:flex;align-items:flex-end;gap:2.5px;height:12px}.eq-bar{width:2px;height:3px;background:var(--text-muted);border-radius:1px;transition:height .25s ease,background-color .3s ease}.audio-toggle-btn.playing .eq-bar{background:var(--cyan)}.audio-toggle-btn.playing .eq-bar:nth-child(1){animation:eq-dance-1 .85s infinite ease-in-out}.audio-toggle-btn.playing .eq-bar:nth-child(2){animation:eq-dance-2 .65s infinite ease-in-out .15s}.audio-toggle-btn.playing .eq-bar:nth-child(3){animation:eq-dance-3 .95s infinite ease-in-out .3s}.audio-toggle-btn.playing .eq-bar:nth-child(4){animation:eq-dance-4 .75s infinite ease-in-out .45s}@keyframes eq-dance-1{0%,to{height:3px}50%{height:11px}}@keyframes eq-dance-2{0%,to{height:12px}50%{height:4px}}@keyframes eq-dance-3{0%,to{height:5px}50%{height:13px}}@keyframes eq-dance-4{0%,to{height:10px}50%{height:3px}}.content-wrapper{position:relative;z-index:10;width:100%}section{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,5vh,4.5rem) clamp(2rem,5vw,4rem);box-sizing:border-box}.section-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:.5rem;display:inline-flex;align-items:center;gap:.5rem;text-shadow:0 2px 10px rgba(0,0,0,.8)}.section-label:before{content:"//";opacity:.6}.section-title{font-family:var(--font-heading);font-size:clamp(1.4rem,2.5vw,2.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:.75rem;max-width:860px;text-shadow:0 4px 24px rgba(0,0,0,.9),0 0 40px rgba(7,7,10,.95)}.section-subtitle{font-family:var(--font-mono);font-size:clamp(.82rem,1vw,.92rem);color:var(--text-muted);max-width:640px;line-height:1.55;margin-bottom:1.25rem;text-shadow:0 2px 12px rgba(0,0,0,.9)}#hero{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding-top:clamp(2rem,3.5vh,3rem);padding-bottom:clamp(1.5rem,3vh,2.5rem);box-sizing:border-box}.hero-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-muted);border-bottom:1px solid var(--surface-border);padding-bottom:1.25rem;text-shadow:0 2px 8px rgba(0,0,0,.8)}.hero-status{display:flex;align-items:center;gap:.5rem}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%,to{opacity:.4}50%{opacity:1}}.hero-main{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.5rem,3vw,3.5rem);margin:auto 0;width:100%;box-sizing:border-box;padding-right:clamp(5.5rem,8vw,8rem)}.hero-name{font-family:var(--font-heading);font-size:clamp(2rem,5.2vw,5.2rem);font-weight:800;letter-spacing:-.015em;line-height:1.02;text-transform:uppercase;text-shadow:0 4px 30px rgba(0,0,0,.95),0 0 60px rgba(7,7,10,.95)}.hero-name-line{display:block;white-space:nowrap}.hero-name .accent{color:var(--cyan)}.hero-title-panel{display:flex;flex-direction:column;gap:1rem;background:var(--surface);border:1px solid var(--surface-border);padding:1.65rem 1.85rem;border-radius:4px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 12px 40px #0009;max-width:500px;width:100%;justify-self:end}.hero-title-panel h2{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;line-height:1.3;color:#fff}.hero-title-panel p{color:#d2d2e2;font-size:.88rem;line-height:1.55}.hero-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;color:var(--text-muted);text-shadow:0 2px 8px rgba(0,0,0,.8);padding-left:clamp(10.5rem,13vw,13rem);padding-right:clamp(10.5rem,13vw,13rem);width:100%;box-sizing:border-box}.hero-status-tag{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.12em;color:var(--text-muted);display:flex;align-items:center;gap:.4rem;white-space:nowrap}.status-bracket{color:var(--cyan);font-weight:600}.scroll-indicator{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;transition:all .25s ease;white-space:nowrap;cursor:pointer;padding:.35rem .5rem;border-radius:4px}.scroll-indicator:hover{color:var(--cyan);text-shadow:0 0 10px var(--cyan)}.scroll-line{width:32px;height:1px;background:var(--cyan);box-shadow:0 0 6px var(--cyan);transition:width .3s ease}.scroll-indicator:hover .scroll-line{width:48px}#narrative{text-align:center;align-items:center;justify-content:center}#narrative .section-label{justify-content:center;margin-left:auto;margin-right:auto}#narrative .section-label:after{content:"//";opacity:.6}.narrative-title{font-family:var(--font-heading);font-size:clamp(1.75rem,3.2vw,2.6rem);font-weight:700;letter-spacing:-.02em;margin-bottom:1.75rem;margin-left:auto;margin-right:auto;text-align:center;max-width:960px;text-shadow:0 4px 30px rgba(0,0,0,.95),0 0 60px rgba(7,7,10,.95)}.layer-tags{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:center;margin-left:auto;margin-right:auto}.layer-tag{background:var(--surface);border:1px solid var(--surface-border);padding:.65rem 1.4rem;font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 20px #0006}.interactive-ui-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem;margin-top:2.5rem;max-width:960px}.ui-block-card{background:var(--surface);border:1px solid var(--surface-border);padding:1.75rem;border-radius:4px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform .3s var(--ease-out),border-color .3s ease,box-shadow .3s ease;cursor:pointer;box-shadow:0 8px 30px #00000080}.ui-block-card:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:0 12px 35px #00f0ff1f}.ui-block-card h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:#fff}.ui-block-card p{color:#d0d0e2;font-size:.9rem;line-height:1.62}.skill-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.skill-pill{font-family:var(--font-mono);font-size:.78rem;font-weight:500;background:#ffffff14;border:1px solid rgba(255,255,255,.16);padding:.28rem .65rem;border-radius:3px;color:#ededf6}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.75rem;margin-top:2.25rem;max-width:960px}.info-card{background:var(--surface);border:1px solid var(--surface-border);padding:2rem;border-radius:4px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 30px #00000080}.info-card h4{font-family:var(--font-heading);font-size:1.18rem;font-weight:700;margin-bottom:.65rem;color:#fff}.info-card p{font-size:.9rem;color:#d0d0e2;line-height:1.65}#case-files{min-height:100vh;padding:clamp(2rem,4vh,3.5rem) clamp(2rem,5vw,4rem);padding-right:clamp(4rem,6vw,6.5rem);display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}.case-files-header{padding:0;margin-bottom:.85rem}.case-files-header .section-title{font-family:var(--font-heading);font-size:clamp(1.4rem,2.5vw,2.1rem);font-weight:700;color:#fff;margin-bottom:.3rem;letter-spacing:-.02em;text-shadow:0 4px 24px rgba(0,0,0,.9)}.case-files-header .section-subtitle{font-family:var(--font-mono);font-size:.84rem;color:#c4c4d4;line-height:1.5;margin-bottom:.5rem;max-width:720px}.gallery-wrapper{width:100%}.gallery-container{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;padding:0;width:100%;max-width:1200px}.project-card{width:100%;box-sizing:border-box;background:#0a0a10f5;border:1px solid rgba(255,255,255,.12);padding:1.15rem 1.25rem;border-radius:6px;display:flex;flex-direction:column;justify-content:space-between;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);position:relative;transition:border-color .3s ease,transform .3s var(--ease-out),box-shadow .3s ease;box-shadow:0 16px 45px #000000d9}.project-card:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 20px 50px #000000e6,0 0 25px #00f0ff26}.project-idx{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--cyan);margin-bottom:.3rem}.project-title{font-family:var(--font-heading);font-size:1.12rem;font-weight:700;color:#fff;margin-bottom:.45rem;line-height:1.25;letter-spacing:-.01em}.project-meta-row{margin-bottom:.4rem}.project-meta-row strong{font-family:var(--font-mono);color:var(--cyan);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:.1rem}.project-body{font-family:var(--font-mono);font-size:.8rem;color:#dedee8;line-height:1.48;margin-bottom:.25rem;font-weight:400}.project-card .skill-pills{margin-top:.25rem;gap:.35rem}.project-card .skill-pill{font-family:var(--font-mono);font-size:.72rem;padding:.18rem .5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#ededf6;border-radius:3px}.project-action-row{margin-top:.65rem;padding-top:.55rem;border-top:1px solid rgba(255,255,255,.1)}.project-code-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.08em;color:var(--cyan);text-decoration:none;background:#00f0ff14;border:1px solid rgba(0,240,255,.3);padding:.4rem .85rem;border-radius:4px;transition:all .2s ease}.project-code-link:hover{background:var(--cyan);color:#07070a;border-color:var(--cyan);box-shadow:0 0 16px var(--cyan);transform:translateY(-1px)}.terminal-window{background:#0a0a0fd1;border:1px solid var(--surface-border);border-radius:6px;max-width:860px;margin-top:2.25rem;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 16px 50px #000000b3;position:relative;z-index:2}.terminal-header{background:#ffffff0a;padding:.65rem 1.2rem;border-bottom:1px solid var(--surface-border);display:flex;align-items:center;justify-content:space-between}.terminal-dots{display:flex;align-items:center;gap:.5rem}.terminal-copy-btn{background:#ffffff0f;border:1px solid var(--surface-border);color:var(--text-muted);font-family:var(--font-mono);font-size:.76rem;letter-spacing:.08em;padding:.32rem .7rem;border-radius:3px;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .2s ease}.terminal-copy-btn:hover{color:var(--cyan);border-color:#00f0ff66;background:#00f0ff14}.terminal-copy-btn.copied{color:#27c93f;border-color:#27c93f;background:#27c93f1f}.terminal-dot{width:9px;height:9px;border-radius:50%;background:#fff3}.terminal-dot.red{background:#ff5f56}.terminal-dot.yellow{background:#ffbd2e}.terminal-dot.green{background:#27c93f}.terminal-body{padding:1.75rem;font-size:.88rem;line-height:1.85;color:#ededf6}.terminal-prompt{color:var(--cyan);font-weight:600}#contact{text-align:center;align-items:center;justify-content:center}#contact .section-subtitle{text-shadow:0 2px 14px rgba(7,7,10,.95),0 0 28px rgba(7,7,10,.95);position:relative;z-index:2;background:#07070a8c;padding:.35rem 1.25rem;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:inline-block}.contact-frame-card{background:#0c0c12b8;border:1px solid var(--cyan-glow);padding:3.5rem 2.5rem;max-width:620px;width:100%;margin-left:auto;margin-right:auto;border-radius:6px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 60px #00f0ff1a,0 16px 50px #000000b3;position:relative;z-index:2}.contact-email-link{display:inline-block;font-family:var(--font-heading);font-size:clamp(1.2rem,3.2vw,2.1rem);font-weight:700;color:var(--text);text-decoration:none;margin:1.5rem 0 2rem;transition:color .3s ease;word-break:break-all}.contact-email-link:hover{color:var(--cyan)}.contact-links-row{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}.contact-pill-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;background:#ffffff0d;border:1px solid var(--surface-border);border-radius:4px;color:var(--text);text-decoration:none;font-size:.88rem;font-weight:500;letter-spacing:.04em;transition:all .3s var(--ease-out)}.contact-pill-btn:hover{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}.contact-pill-btn.primary{background:var(--cyan);color:#000;font-weight:600;border-color:var(--cyan)}.contact-pill-btn.primary:hover{background:#33f3ff;color:#000}@media(max-width:1150px){#side-index{display:none}.hero-main{grid-template-columns:1fr;gap:2rem}section{padding-right:clamp(2rem,5vw,4rem)}}@media(max-width:900px){section{padding:4.5rem 6vw}}@media(max-width:768px){#blackhole-hud,#blackhole-hud-trigger,.hero-gravity-tip{display:none!important}.audio-prompt-toast{bottom:3.8rem;right:1.25rem;left:1.25rem;width:auto}.audio-toggle-btn{bottom:1.25rem;right:1.25rem;padding:.45rem .75rem;font-size:.68rem}.hero-main{grid-template-columns:1fr;gap:1.5rem;padding-right:0;margin:1.5rem 0;width:100%}.hero-title-panel{max-width:100%;width:100%;justify-self:stretch;box-sizing:border-box}.hero-bottom{flex-direction:column;align-items:flex-start;gap:.65rem;padding-left:0;padding-right:0;margin-bottom:2rem}section{min-height:100vh;height:auto;justify-content:flex-start;padding:5rem 6vw 3.5rem;box-sizing:border-box}#hero{justify-content:space-between;min-height:100vh;height:auto;padding-top:3.5rem;padding-bottom:2rem}#narrative,#contact{justify-content:center;min-height:100vh;height:auto}#narrative .layer-tags{display:flex;flex-direction:column;gap:.65rem;width:100%;max-width:380px;margin-left:auto;margin-right:auto}#narrative .layer-tag{text-align:center;padding:.6rem 1rem;font-size:.78rem;width:100%;box-sizing:border-box}.info-card,.ui-block-card{padding:1.35rem 1.25rem;width:100%;box-sizing:border-box}.info-grid,.interactive-ui-blocks{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem;width:100%}#case-files{height:auto;min-height:100vh;padding:5rem 6vw 3.5rem;justify-content:flex-start;box-sizing:border-box}.case-files-header{padding:0;margin-bottom:1.25rem}.case-files-header .section-subtitle{font-size:.85rem;line-height:1.45;margin-bottom:.5rem}.gallery-container{display:flex;flex-direction:column;grid-template-columns:1fr;gap:1.5rem;padding:0;width:100%;max-width:100%}.project-card{width:100%;padding:1.4rem;box-sizing:border-box}.project-title{font-size:1.2rem;margin-bottom:.45rem}.project-body{font-size:.84rem;line-height:1.48;margin-bottom:.45rem}.project-meta-row{margin-bottom:.4rem}.project-meta-row strong{font-size:.74rem;margin-bottom:.1rem}.skill-pills{gap:.35rem;margin-top:.35rem}.skill-pill{font-size:.74rem;padding:.22rem .55rem}.terminal-window{margin-top:1.5rem}.terminal-body{padding:1.25rem 1rem;font-size:.82rem;line-height:1.7;overflow-x:auto}}@media(max-width:480px){section{padding:4rem 5vw 3rem}.hero-top{flex-direction:column;align-items:flex-start;gap:.4rem;font-size:.72rem}.hero-name{font-size:clamp(1.8rem,9.5vw,2.5rem);line-height:1}.hero-title-panel{padding:1.5rem 1.25rem}.section-title{font-size:clamp(1.65rem,6.8vw,2.2rem)}.section-subtitle{font-size:.82rem;line-height:1.5;margin-bottom:1.25rem}.contact-frame-card{padding:2rem 1.25rem;width:100%;box-sizing:border-box}.contact-email-link{font-size:clamp(1rem,5.5vw,1.4rem);margin:1.25rem 0 1.5rem}.contact-links-row{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1.25rem}.contact-pill-btn{justify-content:center;padding:.85rem 1.2rem;font-size:.82rem}.project-card{width:100%;padding:1.15rem 1rem}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.3s!important;scroll-behavior:auto!important}}
