@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}:root{--bg:#0c0a09;--ink:#faeeda;--ink-dim:#faeedab8;--ink-faint:#faeeda99;--amber:#ef9f27;--amber-deep:#d97706;--amber-soft:#fac775;--danger:#ff4d5e;--panel:#17110c;--panel-raised:#211810;--panel-line:#faeeda1f;--shadow-lift:0 10px 24px -12px #000000bf;--line:#ef9f2752;--font:"Archivo Variable", "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--gutter:clamp(16px, 3.4vw, 40px);--reticle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='9' fill='none' stroke='%230c0a09' stroke-width='4'/%3E%3Ccircle cx='16' cy='16' r='9' fill='none' stroke='%23FAC775' stroke-width='2'/%3E%3Cpath d='M16 2v7M16 23v7M2 16h7M23 16h7' stroke='%230c0a09' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M16 2v7M16 23v7M2 16h7M23 16h7' stroke='%23EF9F27' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='16' cy='16' r='1.8' fill='%23FAEEDA'/%3E%3C/svg%3E") 16 16, crosshair;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}::selection{background:var(--amber);color:#1a1206}html{caret-color:var(--amber);accent-color:var(--amber);scrollbar-color:#ef9f2773 transparent;scrollbar-width:thin}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0}#game-canvas{touch-action:none;width:100%;height:100%;cursor:var(--reticle);outline:none;display:block;position:fixed;inset:0}button{font-family:inherit}:focus-visible{outline:2px solid var(--amber-soft);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}kbd{font:600 11px/1 var(--mono);color:var(--ink-dim);border:1px solid #faeeda42;border-bottom-width:2px;border-radius:6px;padding:3px 6px 2px;display:inline-block}.landing-only,.landing,.play-only{transition:opacity .45s,transform .55s cubic-bezier(.2,.7,.2,1),visibility linear}body:not([data-mode=landing]) .landing-only,body:not([data-mode=landing]) .landing{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s,0s,.55s}body:not([data-mode=landing]) .landing{transform:translate(-28px)}body[data-mode=landing] .play-only,body[data-mode=gameover] .play-only{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s,0s,.55s}body[data-instant] .landing,body[data-instant] .landing-only,body[data-instant] .play-only{transition:none!important}body[data-instant] .modal-card{animation:none}body[data-instant] .catalog li{transition:none}.topbar{z-index:10;padding:calc(var(--safe-t) + 18px) calc(var(--gutter) + var(--safe-r)) 0 calc(var(--gutter) + var(--safe-l));pointer-events:none;align-items:center;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}.brand,.topbar-actions,.status-pill{pointer-events:auto}.brand{color:var(--ink);align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:inline-flex}.brand-mark{width:36px;height:36px;display:block}.brand-mark svg,.hero-mark svg{width:100%;height:100%;display:block;overflow:visible}.brand-word{font:600 14px/1 var(--font);letter-spacing:.14em;font-stretch:118%}.brand-word b{color:var(--amber);margin-left:.3em;font-weight:800}.status-pill{border:1px solid var(--panel-line);background:var(--panel);font:500 13px/1 var(--font);color:var(--ink-dim);border-radius:999px;align-items:center;gap:8px;margin:0;padding:7px 12px;display:inline-flex}.status-pill .dot{background:var(--amber);border-radius:50%;width:7px;height:7px;animation:2.4s ease-in-out infinite dot-blink}.topbar-actions{gap:8px;display:flex}.icon-btn{border:1px solid var(--panel-line);background:var(--panel);width:42px;height:42px;box-shadow:var(--shadow-lift);color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;padding:0;transition:background .2s,border-color .2s;display:grid}.icon-btn:hover{border-color:var(--line);background:var(--panel-raised)}.icon-btn svg{fill:currentColor;width:20px;height:20px}.icon-btn .wave{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.icon-btn .icon-muted,.icon-btn[aria-pressed=true] .icon-sound{display:none}.icon-btn[aria-pressed=true] .icon-muted{display:block}.landing{z-index:6;padding:calc(var(--safe-t) + 92px) calc(var(--gutter) + var(--safe-r)) calc(var(--safe-b) + 64px) calc(var(--gutter) + var(--safe-l));pointer-events:none;flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}.landing:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0c0a09f0 0%,#0c0a09cc 30%,#0c0a0900 62%),linear-gradient(#0c0a0900 72%,#0c0a09b3 100%);position:absolute;inset:0}.landing-inner{pointer-events:auto;max-width:560px;margin-left:clamp(0px,3.5vw,64px)}.hero-mark{width:104px;height:104px;margin-bottom:26px}h1{letter-spacing:-.03em;text-wrap:balance;margin:0 0 20px;font-size:clamp(42px,5.6vw,78px);font-weight:800;font-stretch:112%;line-height:.98}.accent{color:var(--amber)}.lede{max-width:46ch;color:var(--ink-dim);margin:0 0 18px;font-size:clamp(16px,1.3vw,19px);line-height:1.55}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn{min-height:52px;font:600 16px/1 var(--font);cursor:pointer;border:0;border-radius:14px;align-items:center;gap:10px;padding:16px 22px;transition:transform .15s,box-shadow .2s,background .2s;display:inline-flex}.btn svg{fill:currentColor;width:20px;height:20px}.btn-primary{color:#1a1206;background:linear-gradient(#fac775,#ef9f27);box-shadow:0 12px 30px -10px #ef9f27a6,inset 0 1px #ffffff80}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 40px -10px #ef9f27cc,inset 0 1px #ffffff80}.btn-primary:active{transform:translateY(1px)}.btn-ghost{color:var(--ink);background:#faeeda0f;border:1px solid #faeeda29}.btn-ghost:hover{background:#faeeda1a}.scope{border:1px solid var(--line);background:var(--panel);max-width:50ch;color:var(--ink-dim);border-radius:14px;align-items:flex-start;gap:12px;margin:0 0 28px;padding:14px 16px;font-size:14.5px;line-height:1.5;display:flex}.scope svg{fill:none;width:20px;height:20px;stroke:var(--amber);stroke-width:1.8px;flex:none;margin-top:1px}.scope strong{color:var(--ink)}.btn-primary svg path{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.btn-quiet{border:1px solid var(--panel-line);background:var(--panel);min-height:42px;box-shadow:var(--shadow-lift);color:var(--ink);font:600 14px/1 var(--font);cursor:pointer;border-radius:12px;padding:0 16px}.btn-quiet:hover{border-color:var(--line);background:var(--panel-raised)}body[data-mode=playing] .contact-link,body[data-mode=paused] .contact-link{display:none}.hint{color:var(--ink-faint);flex-direction:column;gap:4px;margin:16px 0 0;font-size:13px;line-height:1.45;display:flex}.best-line{font:500 14px/1 var(--font);color:var(--ink-faint);margin:24px 0 0}.best-line strong{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--amber-soft)}.nowebgl-note{color:var(--ink-dim);margin:0;display:none}.landing-footer{bottom:calc(var(--safe-b) + 20px);left:calc(var(--gutter) + var(--safe-l) + clamp(0px, 3.5vw, 64px));color:var(--ink-faint);pointer-events:auto;font-size:12px;position:absolute}.hud{z-index:8;pointer-events:none;position:fixed;inset:0}.hud-label{font:600 11px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.hud-score{top:calc(var(--safe-t) + 16px);text-align:center;flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;left:50%;transform:translate(-50%)}#score-value{min-width:6ch;font:700 clamp(28px, 3.6vw, 40px)/1 var(--mono);letter-spacing:-.02em;text-shadow:0 2px 10px #000000b3}.hud-sub{font:500 13px/1 var(--font);color:var(--ink-dim);white-space:nowrap;text-shadow:0 1px 6px #000000b3}.hud-sub .mono{font-variant-numeric:tabular-nums}.combo{background:var(--amber);color:#1a1206;font:700 16px/1 var(--mono);opacity:0;border-radius:10px;padding:6px 9px;transition:opacity .15s,transform .15s;position:absolute;top:16px;left:calc(100% + 6px);transform:scale(.6)}.combo.on{opacity:1;transform:scale(1)}.combo.pop{animation:.24s ease-out pop}.hud-catalog{left:calc(var(--gutter) + var(--safe-l));bottom:calc(var(--safe-b) + 18px);border:1px solid var(--panel-line);background:var(--panel);box-shadow:var(--shadow-lift);border-radius:14px;flex-direction:column;gap:9px;padding:12px 14px;display:flex;position:absolute}.catalog{gap:6px;margin:0;padding:0;list-style:none;display:flex}.catalog li{background:var(--amber);border-radius:6px;width:24px;height:30px;transition:background .2s,box-shadow .2s,opacity .2s;position:relative;box-shadow:inset 0 -3px #1a120647}.catalog li:after{content:"";clip-path:polygon(0 0,100% 50%,0 100%);background:#1c1917;position:absolute;inset:9px 7px 9px 9px}.catalog li.stolen{box-shadow:inset 0 0 0 1.5px var(--danger);background:#ff4d5e1f;animation:.7s steps(2,jump-none) infinite blink}.catalog li.stolen:after{background:var(--danger)}.catalog li.returning{opacity:.6}.catalog li.leaked{background:#faeeda0f;box-shadow:inset 0 0 0 1px #faeeda1f}.catalog li.leaked:after{clip-path:none;background:#ff4d5ecc;height:2px;inset:calc(50% - 1px) 3px auto;transform:rotate(-50deg)}.strike{bottom:calc(var(--safe-b) + 18px);border:1px solid var(--line);background:var(--panel);width:min(280px,44vw);height:58px;box-shadow:var(--shadow-lift);color:var(--ink-dim);font:700 14px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;pointer-events:auto;cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:10px;font-stretch:112%;display:flex;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.strike:disabled{cursor:default}.strike-fill{transform:scaleX(var(--charge,0));transform-origin:0;background:#d977066b;transition:transform .25s;position:absolute;inset:0}.strike-text,.strike-key{position:relative}.strike.ready{border-color:var(--amber-soft);color:#1a1206;animation:1.6s cubic-bezier(.2,.7,.2,1) infinite ready-nudge;box-shadow:0 12px 26px -10px #ef9f27b3}.strike.ready .strike-fill{background:var(--amber)}.strike.ready .strike-key{color:#1a1206;border-color:#1a120666}.banner{z-index:7;text-align:center;opacity:0;pointer-events:none;width:max-content;max-width:calc(100vw - 32px);position:fixed;top:27%;left:50%;transform:translate(-50%,-50%)}.banner strong{font:800 clamp(40px, 7vw, 84px)/1 var(--font);letter-spacing:-.03em;text-shadow:0 4px 24px #000000a6;font-stretch:115%;display:block}.banner span{font:600 15px/1.4 var(--font);color:var(--amber-soft);text-shadow:0 2px 10px #000000b3;margin-top:12px;display:block}.banner.show{animation:2.2s forwards banner}.banner.danger strong{color:var(--danger)}#flash{z-index:4;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,#fac77580,#ef9f2700 62%);position:fixed;inset:0}#flash.danger{background:radial-gradient(circle,#ff4d5e00 45%,#ff4d5e52 100%)}#flash.go{animation:.55s ease-out flash}#fx-layer{z-index:5;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fx{font:700 18px/1 var(--font);font-variant-numeric:tabular-nums;color:var(--amber-soft);text-shadow:0 2px 8px #000000e6;white-space:nowrap;opacity:0;will-change:transform, opacity;position:absolute;top:0;left:0}.fx.go{animation:.95s cubic-bezier(.2,.7,.2,1) forwards fx-float}.fx.big{font-size:22px}.fx.danger{color:var(--danger)}.fx.good{color:var(--ink)}.modal{z-index:20;padding:var(--gutter);background:#080605b8;place-items:center;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.modal-card{border:1px solid var(--line);background:var(--panel);border-radius:22px;width:min(440px,100%);padding:30px;animation:.35s cubic-bezier(.2,.7,.2,1) card-in;box-shadow:0 30px 70px -24px #000000d9}.modal-card h2{letter-spacing:-.02em;margin:0 0 10px;font-size:32px;font-weight:800;font-stretch:110%;line-height:1.05}.modal-card p{color:var(--ink-dim);margin:0}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin:22px 0 16px;display:grid}.stats div{background:var(--panel-raised);border-radius:12px;padding:12px 14px}.stats dt{font:600 11px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.stats dd{font:700 24px/1 var(--mono);margin:7px 0 0}.go-note{min-height:1.4em;font-size:14px}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.modal-actions .btn{flex:150px;justify-content:center}.noscript{text-align:center;font-size:28px;position:fixed;inset:auto 0 40%}.opus-mark .opus-petal,.opus-mark .opus-ring,.opus-mark .opus-core-inner{transform-origin:140px 140px}@media (prefers-reduced-motion:no-preference){.opus-mark--hero .opus-p1{animation:3s ease-in-out infinite petal-pulse-1}.opus-mark--hero .opus-p2{animation:3.5s ease-in-out .2s infinite petal-pulse-2}.opus-mark--hero .opus-p3{animation:4s ease-in-out .4s infinite petal-pulse-3}.opus-mark--hero .opus-p4{animation:4.5s ease-in-out .6s infinite petal-pulse-1}.opus-mark--hero .opus-p5{animation:3.8s ease-in-out .8s infinite petal-pulse-2}.opus-mark--hero .opus-p6{animation:4.2s ease-in-out 1s infinite petal-pulse-3}.opus-mark--hero .opus-p7{animation:3.3s ease-in-out 1.2s infinite petal-pulse-1}.opus-mark--hero .opus-core-inner{animation:3s ease-in-out infinite core-pulse}body[data-mode=playing] .opus-mark--brand .opus-ring-1{animation:8s linear infinite spin}body[data-mode=playing] .opus-mark--brand .opus-ring-2{animation:6s linear infinite reverse spin}body[data-mode=playing] .opus-mark--brand .opus-ring-3{animation:10s linear infinite spin}}@media (max-width:760px),(max-aspect-ratio:1){.status-pill{display:none}.topbar{gap:8px}.brand-word{letter-spacing:.06em;font-size:13px}.btn-quiet{padding:0 12px}.scope{margin-bottom:20px;font-size:14px}.landing{padding-top:calc(var(--safe-t) + 72px);padding-bottom:calc(var(--safe-b) + 22px);justify-content:flex-end;overflow-y:auto}.landing:before{background:linear-gradient(#0c0a0900 28%,#0c0a09e6 55%,#0c0a09f7 100%)}.landing-inner{max-width:620px;margin-left:0}.hero-mark{display:none}h1{margin-bottom:14px;font-size:clamp(38px,10.5vw,56px)}.lede{margin-bottom:22px;font-size:15.5px}.cta-row .btn{justify-content:center;width:100%}.best-line{margin-top:16px}.landing-footer{margin-top:18px;position:static}body:not([data-mode=landing]) .brand-word{display:none}.combo{margin-top:2px;position:static}.hud-catalog{padding:10px 11px}.catalog li{width:20px;height:26px}.strike{right:calc(var(--gutter) + var(--safe-r));width:min(220px,42vw);height:64px;left:auto;transform:none}.banner{top:30%}}@media (hover:none) and (pointer:coarse){.hint-keys,.strike-key{display:none}}@media (max-height:560px) and (min-aspect-ratio:1){.hero-mark{display:none}.landing{padding-top:calc(var(--safe-t) + 70px)}h1{font-size:40px}}body[data-webgl=off]{background:radial-gradient(circle at 70% 40%, #ef9f2738, #0c0a0900 55%), var(--bg)}body[data-webgl=off] #game-canvas,body[data-webgl=off] #start-btn,body[data-webgl=off] .hint,body[data-webgl=off] .best-line{display:none}body[data-webgl=off] .nowebgl-note{display:block}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes pop{0%{transform:scale(1.45)}to{transform:scale(1)}}@keyframes blink{0%{opacity:1}to{opacity:.35}}@keyframes ready-nudge{0%,70%,to{translate:0}80%{translate:0 -3px}}@keyframes banner{0%{opacity:0;transform:translate(-50%,-38%)scale(.96)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}78%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-58%)scale(1)}}@keyframes flash{0%{opacity:1}to{opacity:0}}@keyframes fx-float{0%{opacity:0;translate:0 8px;scale:.7}14%{opacity:1;scale:1.1}30%{scale:1}to{opacity:0;translate:0 -48px}}@keyframes card-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes core-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes petal-pulse-1{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.95;transform:scale(1.03)}}@keyframes petal-pulse-2{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.85;transform:scale(1.025)}}@keyframes petal-pulse-3{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.75;transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.status-pill .dot,.strike.ready,.catalog li.stolen{animation:none}.fx.go{animation-name:fx-fade}}@keyframes fx-fade{0%,70%{opacity:1}to{opacity:0}}.contact{z-index:30;position:fixed;inset:0}.contact[hidden]{display:none}.contact-scrim{background:#080605b8;animation:.3s ease-out flash-in;position:absolute;inset:0}.contact-panel{width:min(620px,100vw);padding:calc(var(--safe-t) + 28px) calc(28px + var(--safe-r)) calc(var(--safe-b) + 28px) 32px;overscroll-behavior:contain;border-left:1px solid var(--line);background:var(--panel);flex-direction:column;animation:.42s cubic-bezier(.16,1,.3,1) panel-in;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-30px 0 60px -20px #000c}.contact-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.contact-head h2{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(26px,3vw,32px);font-weight:800;font-stretch:110%;line-height:1.05}.contact-head p{max-width:46ch;color:var(--ink-dim);margin:0;line-height:1.5}.contact-head .icon-btn{box-shadow:none;flex:none}.steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 26px;padding:0;list-style:none;display:grid}.steps li{border-top:3px solid var(--panel-line);color:var(--ink-faint);align-items:center;gap:8px;padding-top:10px;font-size:13px;font-weight:600;display:flex}.steps b{background:var(--panel-raised);width:22px;height:22px;font:700 12px/1 var(--mono);border-radius:50%;place-items:center;display:grid}.steps li.is-done,.steps li.is-current{border-top-color:var(--amber);color:var(--ink)}.steps li.is-current b,.steps li.is-done b{background:var(--amber);color:#1a1206}.contact-form fieldset{border:0;flex-direction:column;gap:24px;min-width:0;margin:0;padding:0;display:flex}.contact-form fieldset[hidden]{display:none}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-label{color:var(--ink);margin:0;font-size:15px;font-weight:700}.field-hint{color:var(--ink-faint);margin:-4px 0 2px;font-size:13px}.optional{color:var(--ink-faint);margin-left:6px;font-size:12px;font-weight:500}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer;position:relative}.chip input{opacity:0;pointer-events:none;position:absolute}.chip span{border:1px solid var(--panel-line);background:var(--panel-raised);min-height:42px;color:var(--ink-dim);border-radius:10px;align-items:center;padding:0 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chip:hover span{border-color:var(--line);color:var(--ink)}.chip input:checked+span{border-color:var(--amber);background:var(--amber);color:#1a1206;font-weight:650}.chip input:focus-visible+span{outline:2px solid var(--amber-soft);outline-offset:3px}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{border:1px solid var(--panel-line);background:var(--panel-raised);width:100%;min-height:48px;color:var(--ink);font:500 15px/1.4 var(--font);border-radius:10px;padding:12px 14px}.contact-form textarea{resize:vertical;min-height:112px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#faeeda66}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--amber);outline:none}.check{color:var(--ink-dim);cursor:pointer;align-items:flex-start;gap:12px;font-size:14px;line-height:1.45;display:flex}.check input{flex:none;width:20px;height:20px;margin:0}.field-error{min-height:0;color:var(--danger);margin:0;font-size:13px;font-weight:600}.field-error:empty{display:none}.field.has-error .chip span,.field.has-error input[type=text],.field.has-error input[type=email]{border-color:#ff4d5eb3}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-error{color:var(--danger);margin:20px 0 0;font-size:14px;font-weight:600}.form-error:empty{display:none}.form-nav{border-top:1px solid var(--panel-line);justify-content:flex-end;gap:10px;margin-top:28px;padding-top:20px;display:flex}.form-nav [hidden]{display:none}.form-nav .btn:disabled{cursor:progress;opacity:.7}.contact-done{border:1px solid var(--line);background:var(--panel-raised);border-radius:16px;outline:none;flex-direction:column;align-items:flex-start;gap:12px;padding:28px;display:flex}.contact-done[hidden]{display:none}.contact-done svg{background:var(--amber);border-radius:50%;width:40px;height:40px;padding:8px}.contact-done svg .wave{fill:none;stroke:#1a1206;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.contact-done h3{margin:4px 0 0;font-size:26px;font-weight:800;font-stretch:110%}.contact-done p{color:var(--ink-dim);margin:0 0 8px;line-height:1.55}.contact-done strong{color:var(--amber-soft)}body[data-contact=open] .landing,body[data-contact=open] .topbar{pointer-events:none}@keyframes panel-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes flash-in{0%{opacity:0}}@media (max-width:640px){.contact-panel{padding:calc(var(--safe-t) + 20px) calc(18px + var(--safe-r)) calc(var(--safe-b) + 20px) calc(18px + var(--safe-l));border-left:0}.field-row{grid-template-columns:1fr}.form-nav .btn{flex:1;justify-content:center}}@media (prefers-reduced-motion:reduce){.contact-panel,.contact-scrim{animation:none}}
