:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink-0:#130d26;--ink-1:#1c1438;--ink-2:#271c4b;--ink-3:#3a2b6b;--line:#b9aaff24;--text:#f7f2ff;--text-dim:#c0b4e0;--text-faint:#8d7fb8;--text-on-accent:#1a0f33;--sun:#ffd23f;--sun-deep:#c48f00;--tangerine:#ff8a3d;--tangerine-deep:#c0501a;--bubble:#ff5aa8;--bubble-deep:#b0246a;--mint:#3ce3b0;--mint-deep:#138a69;--sky:#5ab8ff;--sky-deep:#2370bd;--grape:#a77bff;--grape-deep:#6236cc;--primary:var(--sun);--primary-deep:var(--sun-deep);--focus:var(--sky);--danger:#ff6b6b;--success:var(--mint);--live:#ff3d6e;--font-script:system-ui;--font-display:"Bricolage Grotesque", "Arial Rounded MT Bold", var(--font-script), system-ui, sans-serif;--font-body:"Figtree", var(--font-script), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.25rem;--fs-xl:clamp(1.375rem, 1.1rem + .9vw, 1.5625rem);--fs-2xl:clamp(1.75rem, 1.3rem + 1.6vw, 2.4rem);--fs-hero:clamp(2.75rem, 1.6rem + 6vw, 5.5rem);--lh-tight:1.05;--lh-snug:1.25;--lh-body:1.55;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--gutter:clamp(1rem, .4rem + 2.6vw, 2.5rem);--max-w:1440px;--header-h:64px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--press:5px;--press-hover:8px;--press-active:1px;--shadow-float:0 18px 48px -12px #050014b3;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.12s;--t-med:.22s;--t-slow:.42s;--z-header:50;--z-popover:80;--z-sheet:100}@media (prefers-reduced-motion:reduce){:root{--t-fast:0s;--t-med:0s;--t-slow:0s}}.accent-sun{--accent:var(--sun);--accent-deep:var(--sun-deep)}.accent-tangerine{--accent:var(--tangerine);--accent-deep:var(--tangerine-deep)}.accent-bubble{--accent:var(--bubble);--accent-deep:var(--bubble-deep)}.accent-mint{--accent:var(--mint);--accent-deep:var(--mint-deep)}.accent-sky{--accent:var(--sky);--accent-deep:var(--sky-deep)}.accent-grape{--accent:var(--grape);--accent-deep:var(--grape-deep)}:root[data-font=jp]{--font-script:"Noto Sans JP"}:root[data-font=kr]{--font-script:"Noto Sans KR"}:root[data-font=sc]{--font-script:"Noto Sans SC"}:root[data-font=tc]{--font-script:"Noto Sans TC"}:root[data-font=arabic]{--font-script:"Noto Sans Arabic"}:root[data-font=hebrew]{--font-script:"Noto Sans Hebrew"}:root[data-font=devanagari]{--font-script:"Noto Sans Devanagari"}:root[data-font=bengali]{--font-script:"Noto Sans Bengali"}:root[data-font=thai]{--font-script:"Noto Sans Thai"}:root[data-font=cyrillic],:root[data-font=greek]{--font-script:"Noto Sans"}:root[data-font=vietnamese]{--font-display:"Noto Sans", system-ui, sans-serif;--font-body:"Noto Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s-4))}body{background-color:var(--ink-0);min-height:100dvh;color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background-image:radial-gradient(#a77bff17 1px,#0000 1.5px);background-size:22px 22px;margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:750;line-height:var(--lh-snug);letter-spacing:-.015em;text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}a{color:inherit;text-underline-offset:.18em;text-decoration-color:#5ab8ff80}img,svg,video,iframe{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--r-xs)}::selection{background:var(--grape);color:var(--text-on-accent)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{inset-inline-start:var(--s-4);top:var(--s-2);z-index:calc(var(--z-header) + 1);padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);background:var(--sun);color:var(--text-on-accent);font-weight:700;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:100%;max-width:var(--max-w);padding-inline:var(--gutter);margin-inline:auto}.page{padding-block:var(--s-5) var(--s-8);gap:var(--s-7);display:grid}.stack{gap:var(--s-4);display:grid}.measure{max-width:62ch}.dim{color:var(--text-dim)}.btn{--accent:var(--primary);--accent-deep:var(--primary-deep);justify-content:center;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border-radius:var(--r-md);background:var(--accent);color:var(--text-on-accent);font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:.005em;white-space:nowrap;box-shadow:0 var(--press) 0 var(--accent-deep);transition:transform var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out), filter var(--t-fast) linear;border:0;font-weight:700;text-decoration:none;display:inline-flex;transform:translateY(0)}.btn:hover{box-shadow:0 calc(var(--press) + 2px) 0 var(--accent-deep);transform:translateY(-2px)}.btn:active{transform:translateY(calc(var(--press) - var(--press-active)));box-shadow:0 var(--press-active) 0 var(--accent-deep)}.btn[disabled]{filter:grayscale(.8)brightness(.7);cursor:not-allowed;transform:none}.btn-lg{min-height:54px;padding:0 var(--s-6);font-size:var(--fs-lg);border-radius:var(--r-lg)}.btn-ghost{justify-content:center;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4);border:2px solid var(--line);border-radius:var(--r-md);color:var(--text);transition:background var(--t-fast) linear, border-color var(--t-fast) linear;background:0 0;font-weight:600;text-decoration:none;display:inline-flex}.btn-ghost:hover{background:var(--ink-2);border-color:var(--ink-3)}.icon-btn{border-radius:var(--r-pill);background:var(--ink-2);width:44px;height:44px;color:var(--text);transition:background var(--t-fast) linear, transform var(--t-fast) var(--ease-out);border:0;place-items:center;padding:0;display:inline-grid}.icon-btn:hover{background:var(--ink-3)}.icon-btn:active{transform:scale(.92)}.icon-btn[disabled]{opacity:.35;cursor:default}.chip{--accent:var(--grape);--accent-deep:var(--grape-deep);border-radius:var(--r-pill);background:var(--ink-2);min-height:36px;color:var(--text);font-size:var(--fs-sm);white-space:nowrap;box-shadow:inset 0 0 0 1.5px var(--line);transition:background var(--t-fast) linear, color var(--t-fast) linear, box-shadow var(--t-fast) linear, transform var(--t-fast) var(--ease-spring);border:0;align-items:center;gap:.4em;padding:0 .9em;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover{background:var(--ink-3)}.chip[aria-pressed=true],.chip[aria-current=page]{background:var(--accent);color:var(--text-on-accent);box-shadow:0 3px 0 var(--accent-deep);transform:translateY(-1px)}.chip-emoji{font-size:1.05em;line-height:1}.badge{border-radius:var(--r-xs);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);font-size:var(--fs-xs);background:#130d26d1;align-items:center;gap:.35em;padding:.2em .55em;font-weight:700;line-height:1.3;display:inline-flex}.badge-live:before{content:"";background:var(--live);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #ff3d6e40}.skeleton{background:var(--ink-2);border-radius:var(--r-sm);position:relative;overflow:hidden}.skeleton:after{content:"";animation:shimmer 1.4s var(--ease-out) infinite;background:linear-gradient(100deg,#0000 20%,#a77bff24 50%,#0000 80%);position:absolute;inset:0;transform:translate(-100%)}.skeleton-text{border-radius:var(--r-xs);height:.9em}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none;display:none}}.panel{padding:var(--s-5);border-radius:var(--r-lg);background:var(--ink-1);box-shadow:inset 0 0 0 1.5px var(--line)}.notice{align-items:center;gap:var(--s-3) var(--s-4);padding:var(--s-4) var(--s-5);border-radius:var(--r-md);background:var(--ink-1);border-inline-start:4px solid var(--tangerine);color:var(--text-dim);flex-wrap:wrap;display:flex}main:focus{outline:none}main#main{min-height:100dvh}[dir=rtl] .icon-dir{transform:scaleX(-1)}[dir=rtl] :is(pre,code,kbd,samp){direction:ltr;unicode-bidi:isolate}[dir=rtl] pre{text-align:left}
