@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.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:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.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:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Fredoka Variable", "Fredoka", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--font-body:"Nunito Variable", "Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg:#f6f1e9;--bg-2:#efe7da;--surface:#fff;--surface-2:#fbf8f3;--surface-3:#f3ede3;--ink:#2b2d42;--ink-2:#565a75;--ink-3:#8a8da6;--line:#e7dfd2;--line-2:#d9cfbf;--focus:#6a4fb6;--blue:#7ec8e3;--blue-soft:#e3f3f9;--blue-ink:#23708f;--mint:#a8e6cf;--mint-soft:#e5f7ef;--mint-ink:#237a5b;--purple:#b39ddb;--purple-soft:#efe9f8;--purple-ink:#5b42a8;--yellow:#ffd166;--yellow-soft:#fff4d6;--yellow-ink:#8a6200;--coral:#ff9f80;--coral-soft:#ffece5;--coral-ink:#b4472f;--ok:#22a86b;--ok-soft:#dff5ea;--ai:#8b5cf6;--ai-soft:#eee7fe;--warn:#f59e0b;--warn-soft:#fef1d8;--bad:#e5484d;--bad-soft:#fde4e4;--legal:#3b4a63;--legal-soft:#e5e9f0;--radius-xs:8px;--radius-sm:12px;--radius:18px;--radius-lg:26px;--shadow-sm:0 1px 2px #40321e14;--shadow:0 6px 18px #40321e1a, 0 1px 2px #40321e14;--shadow-lg:0 18px 50px #40321e2e, 0 2px 6px #40321e14;--overlay:#2b2d4261;--hud-h:56px;--nav-h:64px;--dock-w:440px;--gutter:16px;--ease:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1d2038;--bg-2:#232744;--surface:#2a2f50;--surface-2:#30365a;--surface-3:#363c63;--ink:#f2efff;--ink-2:#c7c4e3;--ink-3:#9a98bd;--line:#3d4370;--line-2:#4a5182;--focus:#c4b5fd;--blue-soft:#233a52;--blue-ink:#9fd8ee;--mint-soft:#1f3f3a;--mint-ink:#a8e6cf;--purple-soft:#3a3366;--purple-ink:#d4c6f5;--yellow-soft:#45401f;--yellow-ink:#ffe08f;--coral-soft:#4a2f33;--coral-ink:#ffbfa8;--ok-soft:#1e4436;--ai-soft:#3b2f6b;--warn-soft:#4a3a1a;--bad-soft:#4d2630;--legal-soft:#303a52;--shadow-sm:0 1px 2px #0000004d;--shadow:0 6px 18px #0000004d, 0 1px 2px #00000040;--shadow-lg:0 18px 50px #00000073;--overlay:#0a0c1c8c}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;padding:0;font-size:15px;line-height:1.45}body{overscroll-behavior:none;overflow:hidden}#app{height:100%}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.005em;margin:0 0 .4em;font-weight:600;line-height:1.15}h1{font-size:1.9rem}h2{font-size:1.35rem}h3{font-size:1.1rem}h4{font-size:.98rem}p{margin:0 0 .6em}a{color:var(--purple-ink);text-underline-offset:2px;text-decoration-thickness:2px}code,kbd,.mono{font-family:var(--font-mono);font-size:.86em}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}::selection{background:var(--purple);color:#fff}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.zbtn{--b-bg:var(--surface);--b-ink:var(--ink);--b-line:var(--line-2);border:2px solid var(--b-line);background:var(--b-bg);min-height:40px;color:var(--b-ink);font-family:var(--font-display);letter-spacing:.01em;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 2px 0 var(--b-line);transition:transform .12s var(--ease), box-shadow .12s var(--ease), background .15s;white-space:nowrap;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;gap:.45em;padding:.5em 1em;font-size:.95rem;font-weight:600;display:inline-flex}.zbtn:hover:not(:disabled){box-shadow:0 2px 0 var(--b-line), 0 0 0 3px color-mix(in srgb, var(--purple) 35%, transparent)}.zbtn:active:not(:disabled){box-shadow:0 0 0 var(--b-line);transform:translateY(1px)}.zbtn:disabled{opacity:.5;cursor:not-allowed}.zbtn.primary{--b-bg:var(--purple-ink);--b-ink:#fff;--b-line:#3f2c80}.zbtn.good{--b-bg:var(--ok);--b-ink:#fff;--b-line:#17794c}.zbtn.danger{--b-bg:var(--bad);--b-ink:#fff;--b-line:#a7262b}.zbtn.warn{--b-bg:var(--warn);--b-ink:#2b2d42;--b-line:#b8730a}.zbtn.ai{--b-bg:var(--ai);--b-ink:#fff;--b-line:#5b33c4}.zbtn.soft{--b-bg:var(--surface-3);--b-line:var(--line)}.zbtn.ghost{--b-bg:transparent;--b-line:transparent;box-shadow:none}.zbtn.ghost:hover:not(:disabled){background:var(--surface-3);box-shadow:none}.zbtn.sm{min-height:32px;padding:.3em .75em;font-size:.85rem}.zbtn.lg{min-height:52px;padding:.7em 1.5em;font-size:1.1rem}.zbtn.block{width:100%}.zbtn.icon{width:40px;padding:0}.zbtn.icon.sm{width:32px}.zcard{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px}.zcard.flat{box-shadow:none}.zcard.raised{box-shadow:var(--shadow)}.zcard.tint-blue{background:var(--blue-soft);border-color:#0000}.zcard.tint-mint{background:var(--mint-soft);border-color:#0000}.zcard.tint-purple{background:var(--purple-soft);border-color:#0000}.zcard.tint-yellow{background:var(--yellow-soft);border-color:#0000}.zcard.tint-coral{background:var(--coral-soft);border-color:#0000}.zcard.tint-bad{background:var(--bad-soft);border-color:#0000}.zcard.interactive{cursor:pointer;transition:transform .15s var(--ease), box-shadow .15s var(--ease), border-color .15s}.zcard.interactive:hover{box-shadow:var(--shadow);border-color:var(--purple)}.zcard.selected{border-color:var(--purple-ink);box-shadow:0 0 0 3px var(--purple-soft)}.zbadge{background:var(--surface-3);color:var(--ink-2);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:.3em;padding:.12em .6em;font-size:.78rem;font-weight:700;line-height:1.5;display:inline-flex}.zbadge.blue{background:var(--blue-soft);color:var(--blue-ink)}.zbadge.mint{background:var(--mint-soft);color:var(--mint-ink)}.zbadge.purple{background:var(--purple-soft);color:var(--purple-ink)}.zbadge.yellow{background:var(--yellow-soft);color:var(--yellow-ink)}.zbadge.coral{background:var(--coral-soft);color:var(--coral-ink)}.zbadge.ok{background:var(--ok-soft);color:var(--ok)}.zbadge.ai{background:var(--ai-soft);color:var(--ai)}.zbadge.warn{background:var(--warn-soft);color:#b06f00}.zbadge.bad{background:var(--bad-soft);color:var(--bad)}.zbadge.legal{background:var(--legal-soft);color:var(--legal)}:root[data-theme=dark] .zbadge.warn{color:#ffcf6e}:root[data-theme=dark] .zbadge.legal{color:#c9d4ea}.zbadge.sticker{box-shadow:var(--shadow-sm);border:2px solid var(--surface);transform:rotate(-2deg)}.zmeter{gap:4px;display:grid}.zmeter-head{color:var(--ink-2);justify-content:space-between;align-items:baseline;gap:8px;font-size:.82rem;font-weight:700;display:flex}.zmeter-track{background:var(--surface-3);border-radius:999px;height:10px;overflow:hidden}.zmeter-fill{background:var(--blue);height:100%;transition:width .4s var(--ease);border-radius:999px}.zmeter.sm .zmeter-track{height:6px}.zstat{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:800;display:inline-flex}.zstat-icon{font-size:1.05em}.ztabs{background:var(--surface-3);scrollbar-width:none;border-radius:999px;gap:4px;padding:4px;display:flex;overflow-x:auto}.ztabs::-webkit-scrollbar{display:none}.ztab{font-family:var(--font-display);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:none;padding:6px 12px;font-size:.88rem;font-weight:600}.ztab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.zseg{background:var(--surface-3);border-radius:999px;flex-wrap:wrap;gap:3px;padding:3px;display:inline-flex}.zseg button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:999px;padding:5px 11px;font-size:.85rem;font-weight:700}.zseg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.ztoggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-weight:700;display:inline-flex}.ztoggle input{opacity:0;pointer-events:none;position:absolute}.ztoggle-track{background:var(--line-2);border-radius:999px;flex:none;width:42px;height:24px;transition:background .2s;position:relative}.ztoggle-track:after{content:"";width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform .2s var(--spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.ztoggle input:checked+.ztoggle-track{background:var(--ok)}.ztoggle input:checked+.ztoggle-track:after{transform:translate(18px)}.ztoggle input:focus-visible+.ztoggle-track{outline:3px solid var(--focus);outline-offset:2px}.zinput,.zselect,.ztextarea{border-radius:var(--radius-sm);border:2px solid var(--line-2);background:var(--surface);width:100%;min-height:42px;color:var(--ink);padding:.55em .85em;transition:border-color .15s,box-shadow .15s}.zinput:focus,.zselect:focus,.ztextarea:focus{border-color:var(--purple-ink);box-shadow:0 0 0 3px var(--purple-soft);outline:none}.ztextarea{resize:vertical;min-height:90px}.zfield{gap:6px;display:grid}.zfield>span{color:var(--ink-2);font-size:.82rem;font-weight:800}.zfield small{color:var(--ink-3)}.zfield .err{color:var(--bad);font-weight:700}.zkbd{border:1.5px solid var(--line-2);background:var(--surface);min-width:1.7em;font-family:var(--font-mono);text-align:center;color:var(--ink-2);border-bottom-width:3px;border-radius:6px;padding:.05em .45em;font-size:.75rem;display:inline-block}.zmodal-backdrop{background:var(--overlay);padding:var(--gutter);z-index:100;animation:zfade .18s var(--ease);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;display:grid;position:fixed;inset:0}.zmodal{background:var(--surface);border-radius:var(--radius-lg);width:min(560px,100%);max-height:min(88vh,900px);box-shadow:var(--shadow-lg);animation:zpop .28s var(--spring);overscroll-behavior:contain;padding:20px;overflow:auto}.zmodal.wide{width:min(820px,100%)}.zmodal.full{width:min(1100px,100%)}.zmodal-head{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.zmodal-head h2{flex:1;margin:0}@media (max-width:640px){.zmodal-backdrop{align-items:end;padding:0}.zmodal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92vh;padding:18px var(--gutter) calc(18px + env(safe-area-inset-bottom));animation:zslideup .3s var(--ease)}}.zempty{text-align:center;color:var(--ink-3);padding:24px 12px}.zempty .big{margin-bottom:6px;font-size:2.2rem;display:block}.zrow{align-items:center;gap:8px;display:flex}.zrow.wrap{flex-wrap:wrap}.zrow.between{justify-content:space-between}.zcol{gap:10px;display:grid}.zgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;display:grid}.zgrid.tight{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}.zmuted{color:var(--ink-3)}.zsmall{font-size:.85rem}.ztiny{font-size:.75rem}.zgrow{flex:1;min-width:0}.zellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zdivider{background:var(--line);border:0;border-radius:2px;height:2px;margin:12px 0}.znum{font-variant-numeric:tabular-nums}.zdisplay{font-family:var(--font-display)}@keyframes zfade{0%{opacity:0}to{opacity:1}}@keyframes zpop{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:none}}@keyframes zslideup{0%{opacity:.4;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes zwiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes zpulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes zshake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes zstamp{0%{opacity:0;transform:scale(2.4)rotate(-14deg)}60%{opacity:1;transform:scale(.94)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}@keyframes zfloatup{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@keyframes zspin{to{transform:rotate(360deg)}}@keyframes zshimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
