@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff)format("woff");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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff)format("woff");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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-italic-ClXnudBg.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-italic-DakTmaFY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-italic-DVnfXoMy.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-italic-C9gO-8KC.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-italic-D3igDnAQ.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-italic-C-296ow0.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-italic-CE7zdTnu.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-italic-CalKM9tT.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff");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}:root{--bg:#05040c;--ink:#eef0ff;--ink-2:#e2e6ffb8;--ink-3:#d2d8ff75;--glass:#100e2285;--glass-strong:#14122ac7;--line:#bec8ff1f;--line-strong:#bec8ff38;--accent:#ff3fd0;--accent-2:#8ff4ff;--radius:18px;--ui:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display:"Cormorant Garamond", "Iowan Old Style", Palatino, Georgia, serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-size:14px;overflow:hidden}#scene{touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:fixed;inset:0}#scene:active{cursor:grabbing}.vignette{pointer-events:none;background:radial-gradient(80% 70%,#0000 55%,#0000008c 100%);position:fixed;inset:0}#ui>*{transition:opacity .6s var(--ease), transform .6s var(--ease)}body.bare #ui>*{opacity:0;pointer-events:none}body.bare .brand{transform:translateY(-12px)}body.bare .hud{transform:translateY(12px)}body.bare .transport{transform:translate(-50%,16px)}body.bare .panel{transform:translate(24px)}body.bare #scene{cursor:none}.brand{top:max(22px, env(safe-area-inset-top));left:max(26px, env(safe-area-inset-left));pointer-events:none;align-items:flex-start;gap:12px;display:flex;position:fixed}.brand img{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 60%, transparent));margin-top:2px}.brand h1{letter-spacing:.34em;text-transform:uppercase;color:var(--ink);margin:0;font-size:12px;font-weight:600}.formula{font-family:var(--display);color:var(--ink-2);letter-spacing:.02em;white-space:nowrap;opacity:.8;margin:5px 0 0;font-size:19px;font-style:italic;line-height:1.5}.formula sup,.formula sub{font-size:.62em;line-height:0}.formula sub{vertical-align:-.1em}.hud{left:max(26px, env(safe-area-inset-left));bottom:max(30px, env(safe-area-inset-bottom));pointer-events:none;max-width:min(560px,100vw - 440px);position:fixed}.family{letter-spacing:.28em;text-transform:uppercase;color:var(--accent-2);text-shadow:0 0 18px color-mix(in srgb, var(--accent-2) 55%, transparent);margin:0 0 4px;font-size:11px;font-weight:600}.family .dot{opacity:.5;margin:0 .6em}#title{font-family:var(--display);letter-spacing:-.01em;background:linear-gradient(100deg, #fff 10%, color-mix(in srgb, var(--accent-2) 70%, #fff) 45%, color-mix(in srgb, var(--accent) 80%, #fff) 90%);color:#0000;filter:drop-shadow(0 0 28px color-mix(in srgb, var(--accent) 35%, transparent));transition:opacity .5s var(--ease), transform .7s var(--ease), filter .7s var(--ease);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(40px,6.4vw,84px);font-weight:500;line-height:.95}#title.out{opacity:0;filter:blur(8px);transform:translateY(10px)}.readout{font-family:var(--mono);gap:22px;margin:16px 0 0;font-size:12px;display:flex}.readout div{align-items:baseline;gap:7px;display:flex}.readout dt{color:var(--ink-3);font-family:var(--display);font-size:15px;font-style:italic}.readout dd{color:var(--ink-2);font-variant-numeric:tabular-nums;min-width:4ch;margin:0}.countdown{background:var(--line);border-radius:2px;width:220px;height:2px;margin-top:14px;transition:opacity .4s;overflow:hidden}.countdown i{transform-origin:0;background:linear-gradient(90deg, var(--accent), var(--accent-2));width:100%;height:100%;box-shadow:0 0 12px var(--accent);display:block;transform:scaleX(0)}body:not(.auto) .countdown{opacity:0}.transport{left:50%;bottom:max(26px, env(safe-area-inset-bottom));background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(22px)saturate(140%);border-radius:999px;align-items:center;gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 40px #00000059}.transport .sep{background:var(--line-strong);width:1px;height:20px;margin:0 6px}.icon-btn{width:40px;height:40px;color:var(--ink-2);cursor:pointer;transition:background .25s, color .25s, transform .25s var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.icon-btn:hover{color:var(--ink);background:#ffffff14}.icon-btn:active{transform:scale(.92)}.icon-btn svg{width:18px;height:18px}.icon-btn:disabled{opacity:.3;pointer-events:none}.icon-btn.play{width:48px;height:48px;color:var(--ink)}.icon-btn.play .glyph{place-items:center;display:grid}.icon-btn.play .ring{pointer-events:none;width:48px;height:48px;position:absolute;inset:0;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:1.5px}.ring circle:first-child{stroke:var(--line-strong)}#ring{stroke:var(--accent-2);stroke-linecap:round;stroke-dasharray:138.2;stroke-dashoffset:138.2px;filter:drop-shadow(0 0 4px var(--accent-2))}body:not(.auto) .icon-btn.play{opacity:.55}body:not(.auto) #ring{opacity:0}.only-mobile{display:none}.panel{top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));overscroll-behavior:contain;border-radius:var(--radius);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(26px)saturate(150%);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;width:340px;padding:16px 18px 14px;position:fixed;overflow-y:auto;box-shadow:0 20px 60px #0006,inset 0 1px #ffffff0d}.group{border-top:1px solid var(--line);margin-top:14px;padding:14px 0 6px}.group h3{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 10px;font-size:10.5px;font-weight:600;display:flex}.hint{letter-spacing:0;text-transform:none;color:var(--accent-2);opacity:.85;font-size:11px;font-weight:400;transition:opacity .3s}body:not(.auto) .hint{opacity:0}body:not(.auto) #auto-group{opacity:.5}.seg{border:1px solid var(--line);background:#00000047;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid;position:relative}.seg button{z-index:1;color:var(--ink-3);font:500 13px/1 var(--ui);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 6px;transition:color .3s;position:relative}.seg button[aria-checked=true]{color:var(--ink)}.seg .thumb{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 38%, transparent), color-mix(in srgb, var(--accent-2) 26%, transparent));border:1px solid color-mix(in srgb, var(--accent-2) 30%, transparent);box-shadow:0 0 18px color-mix(in srgb, var(--accent) 30%, transparent);transition:transform .45s var(--ease), width .45s var(--ease);border-radius:9px;position:absolute;top:3px;bottom:3px;left:3px}.seg.small button{padding:7px 4px;font-size:12px}.seg.small{margin:12px 0 4px}.mode button{padding:11px 6px;font-size:13.5px}.slider{cursor:pointer;grid-template-columns:1fr auto;align-items:baseline;row-gap:4px;margin:10px 0 12px;display:grid}.slider .lbl{color:var(--ink-2);font-size:13px}.slider .lbl em{color:var(--ink-3);margin-left:4px;font-size:11.5px;font-style:normal}.slider output{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px}.slider input{grid-column:1/-1}input[type=range]{appearance:none;cursor:pointer;--p:50%;background:0 0;width:100%;height:22px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-2) var(--p), var(--line-strong) var(--p));border-radius:3px;height:3px}input[type=range]::-moz-range-track{background:var(--line-strong);border-radius:3px;height:3px}input[type=range]::-moz-range-progress{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:3px;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-2) 22%, transparent), 0 0 14px var(--accent-2);transition:transform .2s var(--ease);background:#fff;border:0;border-radius:50%;margin-top:-6px}input[type=range]::-moz-range-thumb{width:15px;height:15px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-2) 22%, transparent), 0 0 14px var(--accent-2);background:#fff;border:0;border-radius:50%}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.2)}input[type=range]:focus-visible::-webkit-slider-thumb{transform:scale(1.2)}body.auto .group:first-of-type input[type=range]::-webkit-slider-thumb{background:color-mix(in srgb, var(--accent-2) 55%, #fff)}#n3-row{transition:opacity .3s}body.linked:not(.auto) #n3-row{opacity:.45}.toggles{flex-wrap:wrap;gap:8px 18px;margin:4px 0 10px;display:flex}.check{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.check input{appearance:none;cursor:pointer;background:#ffffff1f;border-radius:99px;width:28px;height:16px;margin:0;transition:background .3s;position:relative}.check input:after{content:"";width:12px;height:12px;transition:transform .3s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.check input:checked{background:linear-gradient(90deg, var(--accent), var(--accent-2))}.check input:checked:after{transform:translate(12px)}.row-btns{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px;display:grid}.btn{border:1px solid var(--line-strong);color:var(--ink);font:500 12.5px/1 var(--ui);cursor:pointer;background:#ffffff0a;border-radius:10px;padding:9px 10px;transition:background .25s,border-color .25s,box-shadow .25s}.btn:hover{border-color:color-mix(in srgb, var(--accent-2) 45%, transparent);box-shadow:0 0 16px color-mix(in srgb, var(--accent-2) 20%, transparent);background:#ffffff17}.presets{grid-template-columns:1fr 1fr;gap:6px;display:grid}.preset{color:var(--ink-2);font:500 12px/1.2 var(--ui);text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:7px 8px;transition:background .25s,border-color .25s,color .25s;display:flex;position:relative}.preset:hover{color:var(--ink);background:#ffffff12}.preset[aria-current=true]{border-color:color-mix(in srgb, var(--accent-2) 50%, transparent);color:var(--ink);background:color-mix(in srgb, var(--accent) 12%, transparent)}.preset svg{flex:none;width:26px;height:26px}.preset svg path{fill:none;stroke:var(--accent-2);stroke-width:1.2px;opacity:.9}.palettes{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.swatch{aspect-ratio:1;cursor:pointer;outline-offset:3px;transition:transform .3s var(--ease), border-color .3s;border:2px solid #0000;border-radius:50%;padding:0}.swatch:hover{transform:scale(1.1)}.swatch[aria-checked=true]{box-shadow:0 0 16px var(--sw-glow);border-color:#fff}.keys{border-top:1px solid var(--line);color:var(--ink-3);margin:14px 0 2px;padding-top:12px;font-size:11px;line-height:2}kbd{border:1px solid var(--line-strong);min-width:18px;font:500 10.5px/16px var(--ui);text-align:center;color:var(--ink-2);background:#ffffff0a;border-radius:5px;margin:0 1px;padding:0 5px;display:inline-block}button:focus-visible,input:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.toast{background:var(--glass-strong);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .35s, transform .35s var(--ease);border-radius:999px;padding:10px 16px;font-size:13px;position:fixed;top:26px;left:50%;transform:translate(-50%,-12px)}.toast.show{opacity:1;transform:translate(-50%)}.fallback{text-align:center;background:radial-gradient(circle at 50% 40%, #1b1240, var(--bg) 70%);place-content:center;padding:24px;display:grid;position:fixed;inset:0}.fallback[hidden]{display:none}.fallback h2{font-family:var(--display);margin:0 0 8px;font-size:40px;font-weight:500}.fallback p{color:var(--ink-2);max-width:420px;margin:0 auto;line-height:1.6}@media (max-width:860px){.only-mobile{display:grid}.formula{display:none}.brand{top:max(16px, env(safe-area-inset-top));left:16px}.brand h1{margin-top:8px}.hud{max-width:none;left:16px;right:16px;bottom:calc(max(18px, env(safe-area-inset-bottom)) + 70px)}#title{font-size:clamp(34px,11vw,56px)}.readout{flex-wrap:wrap;gap:14px;margin-top:10px}.countdown{width:140px}.transport{bottom:max(14px, env(safe-area-inset-bottom));z-index:6;gap:0;padding:4px}.icon-btn{width:38px;height:38px}#hide{display:none}.panel{top:auto;left:8px;right:8px;bottom:calc(max(14px, env(safe-area-inset-bottom)) + 58px);width:auto;max-height:calc(100vh - 150px);touch-action:pan-y;-webkit-overflow-scrolling:touch;z-index:5;background:var(--glass-strong);opacity:0;visibility:hidden;pointer-events:none;max-height:calc(100dvh - 150px);transition:transform .5s var(--ease), opacity .35s, visibility 0s linear .5s;transform:translateY(calc(100% + 120px))}body.sheet .panel{opacity:1;visibility:visible;pointer-events:auto;transition:transform .5s var(--ease), opacity .35s, visibility 0s;transform:none}body.sheet .hud{opacity:0}body.bare .panel{opacity:0;visibility:hidden;transform:translateY(calc(100% + 120px))}}@media (max-width:380px){#shot{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}
