[hidden]{display:none!important}:root{--indigo: #3D54B6;--blue: #7489E6;--periwinkle: #8799E9;--orange: #FF9419;--pink: #F3A4FB;--yellow: #FFC628;--coral: #EE7B6A;--mint: #4FB59A;--indigo-face: #bcc8eb;--indigo-edge: #16204f;--indigo-text: #070c27;--blue-face: #d0daf9;--blue-edge: #303a66;--blue-text: #151b34;--orange-face: #ffdec2;--orange-edge: #713f05;--orange-text: #3a1e01;--pink-face: #fce3ff;--pink-edge: #6c4670;--pink-text: #372239;--yellow-face: #ffeec8;--yellow-edge: #71560c;--yellow-text: #3a2b03;--coral-face: #fed6ce;--coral-edge: #69332b;--coral-text: #361712;--mint-face: #cbe7de;--mint-edge: #1e4e42;--mint-text: #0b261f;--bg: #f4f4f6;--surface: #ffffff;--card: #ffffff80;--card-strong: #ffffffb8;--ink: #111113;--muted: #1111139e;--line: #0000001a;--outline: #2a2a35;--edge-n: #d4d4dc;--raise-n: 0 4px 0 var(--edge-n);--r-xs: 4px;--r-sm: 8px;--r-md: 14px;--r-lg: 20px;--r-pill: 999px;--radius: var(--r-lg);--shadow: 0 8px 32px #252c4b1a;--on-ink: #ffffff;--solid-edge: var(--indigo-edge);--accent-text: var(--indigo);--timer: var(--indigo);--focus: var(--indigo);--hover: #eef1fc;--hover-faint: #f7f8fe;--track: #e8e8ee;--sunken: #ececf0;--sunken-hi: #f5f5f8;--edge-mid: #c9c9d3;--edge-strong: #b9b9c3;--faint: #8a8a93;--tab-text: #63636b;--text-2: #55555c;--text-body: #3b3b42;--text-dim: #b4b4bc;--disabled-face: #e6e6ea;--disabled-edge: #d2d2d8;--disabled-text: #6e6e76;--glass: #ffffffcc;--glass-strong: #ffffffe0;--bg-glass: #f4f4f6e6;--grid-line: #0000000b;--prompt-bg: #fffdf4;--danger: #a3261a;--danger-edge: #c2412f;--ok: #1e6b3a;--toast-action: #c9d3f7;color-scheme:light}:root[data-theme=dark]{--indigo-face: #2b3468;--indigo-edge: #7186e0;--indigo-text: #e3e8ff;--blue-face: #283252;--blue-edge: #7d90dc;--blue-text: #e2e8ff;--orange-face: #4a2e12;--orange-edge: #d98a3a;--orange-text: #ffe8d1;--pink-face: #43284a;--pink-edge: #c48ccf;--pink-text: #fbe6ff;--yellow-face: #463914;--yellow-edge: #d4aa3e;--yellow-text: #fff2cc;--coral-face: #4a2822;--coral-edge: #d6806f;--coral-text: #ffe1db;--mint-face: #1c3c33;--mint-edge: #4fa98f;--mint-text: #d9f4eb;--bg: #1c1c24;--surface: #262630;--card: #ffffff0a;--card-strong: #ffffff14;--ink: #ececf1;--muted: #ececf1a3;--line: #ffffff1f;--edge-n: #3e3e4c;--shadow: 0 8px 32px #00000066;--on-ink: #1c1c24;--solid-edge: #1b2350;--accent-text: #a9b8f5;--timer: #8a9cf0;--focus: #a9b8f5;--hover: #2e3450;--hover-faint: #2a2e44;--track: #1c1c24;--sunken: #30303a;--sunken-hi: #3a3a46;--edge-mid: #50505e;--edge-strong: #5e5e6c;--faint: #8d8d99;--tab-text: #a6a6b1;--text-2: #b4b4bf;--text-body: #d6d6de;--text-dim: #5e5e6c;--disabled-face: #30303a;--disabled-edge: #3a3a46;--disabled-text: #7b7b87;--glass: #262630d9;--glass-strong: #262630e6;--bg-glass: #1c1c24e6;--grid-line: #ffffff17;--prompt-bg: #2a2516;--danger: #ff8f80;--danger-edge: #e0705f;--ok: #6fd39a;--toast-action: #3d54b6;color-scheme:dark}:root[data-theme=dark] .game .art:before{content:"";position:absolute;z-index:-1;left:-24px;top:50%;width:200px;height:170px;transform:translateY(-50%);background:radial-gradient(closest-side,#ffffff30,#ffffff14 55%,transparent)}:root[data-theme=dark] svg.illo{background:radial-gradient(closest-side,#ffffff2a,#ffffff10 60%,transparent);border-radius:50%}:root[data-theme=dark] .wheel-pointer{border-top-color:var(--ink)}:root[data-theme] body{transition:background-color .25s,color .25s}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Nunito,PingFang TC,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;line-height:1.6}:root:is(:lang(en),:lang(de),:lang(fr),:lang(es)) body{font-family:Nunito,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.wrap{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:48px 0 96px}h1{font-size:clamp(28px,5vw,44px);margin:0 0 8px;letter-spacing:-.01em}h2{font-size:24px;margin:72px 0 6px}h3{font-size:16px;margin:0 0 14px}.lead,.note{color:var(--muted);margin:0 0 20px}.note{font-size:14px}.eyebrow{font-size:13px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}code{font-size:12px;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.stack{display:grid;gap:16px}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.cell{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.cell>code{padding-left:2px}.decided{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.decided span{font-size:13px;padding:4px 12px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line)}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.sw{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--card-strong)}.sw .chip-color{height:84px;display:flex;align-items:flex-end;padding:10px 12px;font-weight:800}.sw .scale{display:grid;grid-template-columns:repeat(5,1fr);height:22px}.sw .meta{padding:8px 12px 12px;font-size:13px}.sw .meta b{display:block;font-size:14px}.tag-new{font-size:11px;background:var(--ink);color:var(--on-ink);border-radius:var(--r-pill);padding:1px 7px;margin-left:4px;vertical-align:2px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-weight:600}.table-scroll{overflow-x:auto}.dot{display:inline-block;width:12px;height:12px;border-radius:var(--r-xs);vertical-align:-1px;margin-right:6px;border:1px solid var(--line)}.pass{color:var(--ok);font-weight:700}.btn{--face: var(--blue-face);--edge: var(--blue-edge);--text: var(--blue-text);--depth: 4px;--h: 48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h);padding:0 22px;border-radius:var(--r-md);border:2px solid var(--edge);background:var(--face);color:var(--text);font:inherit;font-weight:800;font-size:16px;white-space:nowrap;box-shadow:0 var(--depth) 0 var(--edge);margin-bottom:var(--depth);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .08s,box-shadow .08s,filter .15s}.btn svg{width:20px;height:20px;flex:none}.btn:hover:not(:disabled),.btn.is-hover{transform:translateY(-2px);box-shadow:0 calc(var(--depth) + 2px) 0 var(--edge);filter:brightness(1.05) saturate(1.1)}:root[data-theme=dark] .btn:hover:not(:disabled),:root[data-theme=dark] .btn.is-hover{filter:brightness(1.2)}.btn:active:not(:disabled),.btn.is-pressed{transform:translateY(var(--depth));box-shadow:0 0 0 var(--edge)}.btn:focus-visible,.btn.is-focus{outline:3px solid var(--focus);outline-offset:3px}.btn-solid{--face: var(--indigo);--edge: var(--solid-edge);--text: #fff}.btn-secondary{--face: var(--surface);--edge: var(--blue-edge);--text: var(--blue-text)}.btn-ghost{--face: transparent;--edge: transparent;--text: var(--blue-text);--depth: 0px}.btn-ghost:hover:not(:disabled),.btn-ghost.is-hover,:root[data-theme=dark] .btn-ghost:hover:not(:disabled){--face: var(--hover);filter:none;transform:none;box-shadow:none}.btn-danger{--face: var(--coral-face);--edge: var(--coral-edge);--text: var(--coral-text)}.btn-lg{--h: 56px;font-size:18px;padding:0 28px;border-radius:var(--r-md);--depth: 5px}.btn-sm{--h: 36px;font-size:14px;padding:0 14px;border-radius:var(--r-md);--depth: 3px}.btn-block{width:100%}.btn-icon{width:var(--h);padding:0}.btn-round{border-radius:var(--r-pill)}.fab{--h: 64px;width:64px;border-radius:var(--r-pill);padding:0;--depth: 5px}.fab svg{width:28px;height:28px}.btn:disabled,.btn.is-disabled{--face: var(--disabled-face);--edge: var(--disabled-edge);--text: var(--disabled-text);--depth: 0px;transform:translateY(4px);cursor:not-allowed;filter:none}.btn.is-loading{pointer-events:none}.bounce-dots{display:inline-flex;gap:3px;margin-left:2px}.bounce-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:bounce-dot 1s ease-in-out infinite}.bounce-dots i:nth-child(2){animation-delay:.15s}.bounce-dots i:nth-child(3){animation-delay:.3s}@keyframes bounce-dot{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.btn.g-indigo{--face: var(--indigo-face);--edge: var(--indigo-edge);--text: var(--indigo-text)}.btn.g-orange{--face: var(--orange-face);--edge: var(--orange-edge);--text: var(--orange-text)}.btn.g-pink{--face: var(--pink-face);--edge: var(--pink-edge);--text: var(--pink-text)}.btn.g-yellow{--face: var(--yellow-face);--edge: var(--yellow-edge);--text: var(--yellow-text)}.btn.g-coral{--face: var(--coral-face);--edge: var(--coral-edge);--text: var(--coral-text)}.btn.g-mint{--face: var(--mint-face);--edge: var(--mint-edge);--text: var(--mint-text)}.chip{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:var(--r-pill);border:2px solid var(--edge-n);box-shadow:0 3px 0 var(--edge-n);background:var(--surface);color:var(--ink);font:inherit;font-weight:700;font-size:14px;cursor:pointer}.chip:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--blue-edge);box-shadow:0 3px 0 var(--blue-edge);background:var(--hover-faint)}.chip[aria-pressed=true]{background:var(--blue-face);border-color:var(--blue-edge);color:var(--blue-text);box-shadow:0 3px 0 var(--blue-edge)}.chip svg{width:16px;height:16px}.segmented{display:inline-flex;padding:4px;gap:4px;border-radius:var(--r-md);background:var(--track)}.segmented button{height:40px;padding:0 16px;border-radius:calc(var(--r-md) - 4px);border:0;background:transparent;font:inherit;font-weight:700;font-size:14px;color:var(--text-2);cursor:pointer}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 2px 0 var(--edge-mid)}:root[data-theme=dark] .segmented button[aria-pressed=true]{background:#3a3a48;color:#fff;box-shadow:0 2px #14141a}.choice{--sel-face: var(--blue-face);--sel-edge: var(--blue-edge);--sel-text: var(--blue-text);--face: var(--surface);--edge: var(--edge-n);--text: var(--ink);--mark: var(--faint);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:136px;padding:16px 8px;margin-bottom:4px;border:2px solid var(--edge);border-radius:var(--r-lg);background:var(--face);color:var(--text);box-shadow:0 4px 0 var(--edge);font:inherit;cursor:pointer;transition:transform .08s,box-shadow .08s,background .15s,border-color .15s}.choice:hover:not(:disabled){border-color:var(--sel-edge)}.choice:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 var(--edge)}.choice:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.choice[aria-pressed=true],.choice.is-selected{--face: var(--sel-face);--edge: var(--sel-edge);--text: var(--sel-text);--mark: var(--sel-edge)}.choice:after{content:"";position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:50%;border:2px solid var(--edge-mid);background:var(--surface) no-repeat center / 16px}.choice[aria-pressed=true]:after,.choice.is-selected:after{border-color:var(--edge);background-color:var(--edge);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.choice:disabled{cursor:default}.choice:disabled:not([aria-pressed=true]):not(.is-selected){opacity:.45}.choice .choice-icon{display:block;color:var(--mark)}.choice .choice-icon svg{display:block;width:44px;height:44px}.choice .choice-name{font-size:18px;font-weight:900;text-align:center}.choice .choice-sub{font-size:13px;font-weight:700;opacity:.75;font-variant-numeric:tabular-nums}.choice.c-blue{--sel-face: var(--blue-face);--sel-edge: var(--blue-edge);--sel-text: var(--blue-text)}.choice.c-coral{--sel-face: var(--coral-face);--sel-edge: var(--coral-edge);--sel-text: var(--coral-text)}.choice.c-mint{--sel-face: var(--mint-face);--sel-edge: var(--mint-edge);--sel-text: var(--mint-text)}.choice.c-pink{--sel-face: var(--pink-face);--sel-edge: var(--pink-edge);--sel-text: var(--pink-text)}.choice.c-orange{--sel-face: var(--orange-face);--sel-edge: var(--orange-edge);--sel-text: var(--orange-text)}.choice.c-yellow{--sel-face: var(--yellow-face);--sel-edge: var(--yellow-edge);--sel-text: var(--yellow-text)}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.buzz-btn{--face: #e0503c;--edge: #8f2f22;--text: #fff;--depth: 10px;display:grid;place-items:center;width:min(260px,70vw);aspect-ratio:1;margin:0 auto var(--depth);padding:16px;border-radius:50%;border:3px solid var(--edge);background:var(--face);color:var(--text);box-shadow:0 var(--depth) 0 var(--edge);font:inherit;font-size:clamp(30px,9vw,42px);font-weight:900;line-height:1.1;text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .06s,box-shadow .06s,background .15s}.buzz-btn:active:not(:disabled),.buzz-btn.is-pressed{transform:translateY(var(--depth));box-shadow:0 0 0 var(--edge)}.buzz-btn:focus-visible{outline:3px solid var(--focus);outline-offset:6px}.buzz-btn:disabled{--face: var(--disabled-face);--edge: var(--edge-mid);--text: var(--disabled-text);--depth: 4px;transform:translateY(6px);cursor:not-allowed}.buzz-btn.is-counting{font-size:clamp(64px,18vw,96px);font-variant-numeric:tabular-nums}.buzz-btn.is-done{--face: var(--coral-face);--edge: var(--coral-edge);--text: var(--coral-text)}.game-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.game{position:relative;overflow:hidden;border:2px solid var(--edge-n);border-radius:var(--radius);padding:18px 16px 20px;display:flex;flex-direction:column;gap:8px;isolation:isolate;background-color:var(--surface);background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;box-shadow:var(--raise-n);transition:transform .15s,box-shadow .15s;cursor:pointer}.game:hover{transform:translateY(-3px);box-shadow:0 7px 0 var(--edge-n),var(--shadow)}.game .art{position:relative;z-index:1;height:104px;display:grid;place-items:center start}.game .art svg{height:100px;width:auto}.game .w-row{position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;display:block;opacity:.13;pointer-events:none;z-index:-1}.game h4,.game h3{margin:0;font-size:20px;position:relative}.game p{margin:0;font-size:14px;color:var(--muted);position:relative}.game h3,.game h4,.game p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.game h3,.game h4{-webkit-line-clamp:2;line-clamp:2;line-height:1.25}.game p{-webkit-line-clamp:3;line-clamp:3}.game .tags{display:flex;flex-wrap:nowrap;gap:5px;margin-top:auto;padding-top:4px;position:relative;min-width:0}.game .tags span{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;white-space:nowrap;font-size:12px;padding:2px 6px;border-radius:var(--r-pill);background:var(--surface);border:2px solid var(--edge-n)}.game .tags span:last-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;display:block}.game .tags svg{width:12px;height:12px;flex:none;color:var(--text-2);vertical-align:-2px}.tool-grid{grid-template-columns:1fr}@media (min-width: 900px){.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.tool-grid .tool-card{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto auto;-moz-column-gap:20px;column-gap:20px;row-gap:4px;align-content:center;padding:16px}.tool-grid .tool-card .art{grid-row:1 / span 2;height:88px;place-items:center}.tool-grid .tool-card .art svg{height:84px}.tool-grid .tool-card h3,.tool-grid .tool-card p{align-self:start}.tool-grid .tool-card p{display:block;-webkit-line-clamp:unset;line-clamp:none;overflow:visible}.pattern-box{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);position:relative;min-height:280px;display:grid;place-items:center;background:var(--surface)}.pattern-box .label{position:relative;background:var(--glass-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:14px 24px;border-radius:var(--r-md);font-weight:800;font-size:22px;box-shadow:var(--shadow)}.pattern-box svg.tiles{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.flip{animation:flip 2.4s cubic-bezier(.6,0,.3,1) infinite}.flip use{animation:flip-color 9.6s steps(1) infinite}@keyframes flip{0%,25%{transform:rotateY(0)}50%,75%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}@keyframes flip-color{0%{fill:var(--blue)}9.375%{fill:var(--orange)}21.875%{fill:var(--pink)}34.375%{fill:var(--yellow)}46.875%{fill:var(--mint)}59.375%{fill:var(--coral)}71.875%{fill:var(--indigo)}84.375%{fill:var(--periwinkle)}96.875%{fill:var(--blue)}}.loader-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.loader-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.stage{height:150px;width:100%;display:grid;place-items:center;perspective:500px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line)}.loader-card p{margin:0;font-size:13px;color:var(--muted)}.flip-big{width:72px;height:58px}.flip-row{display:flex;gap:0;perspective:600px}.flip-row svg{width:36px;height:29.3px;display:block}.loading-text{font-weight:700;font-size:14px;color:var(--muted);margin-top:10px;display:inline-flex;align-items:baseline}@media (prefers-reduced-motion: reduce){.flip,.flip use,.bounce-dots i{animation:none}}.toc{position:sticky;top:0;z-index:20;margin:24px -16px 0;padding:10px 16px;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.toc a{flex:none;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;padding:6px 12px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line)}.toc a:hover{background:var(--blue-face)}h2[id]{scroll-margin-top:70px}.sub{font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}.type-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}.type-row:last-child{border-bottom:0}.t-display{font-size:clamp(32px,6vw,48px);font-weight:900;line-height:1.15;letter-spacing:-.01em}.t-h1{font-size:32px;font-weight:800;line-height:1.25}.t-h2{font-size:24px;font-weight:800;line-height:1.3}.t-h3{font-size:19px;font-weight:800;line-height:1.4}.t-body{font-size:16px;line-height:1.7}.t-small{font-size:14px;line-height:1.6;color:var(--muted)}.t-caption{font-size:12px;letter-spacing:.04em;color:var(--muted)}.t-num{font-size:40px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.04em}.space-bars{display:grid;gap:8px}.space-bars div{display:flex;align-items:center;gap:12px;font-size:13px}.space-bars span{height:14px;border-radius:var(--r-xs);background:var(--blue-face);border:1px solid var(--blue-edge)}.token-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.token-tiles div{height:80px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:12px;color:var(--muted);text-align:center}.field{display:grid;gap:6px;max-width:360px;width:100%}.field label{font-weight:800;font-size:14px}.field .help{font-size:13px;color:var(--muted)}.field .error-msg{font-size:13px;color:var(--danger);font-weight:700;display:flex;gap:4px;align-items:center}.input,.select,.textarea{width:100%;height:52px;padding:0 16px;border-radius:var(--r-md);border:2px solid var(--edge-n);background:var(--surface);color:var(--ink);font:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:104px;padding:12px 16px;resize:vertical;line-height:1.6}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23303a66' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:44px}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--faint)}.input::placeholder,.textarea::placeholder{color:var(--faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 4px #3d54b62e}.input.is-error{border-color:var(--danger-edge);box-shadow:0 0 0 4px #ee7b6a33}.input:disabled{background:var(--sunken);color:var(--disabled-text)}.code-input{display:flex;gap:10px}.code-input input{width:60px;height:72px;text-align:center;border-radius:var(--r-md);border:2px solid var(--blue-edge);background:var(--surface);box-shadow:0 4px 0 var(--blue-edge);font:inherit;font-size:32px;font-weight:900;text-transform:uppercase;color:var(--blue-text)}.code-input input:focus{outline:none;background:var(--blue-face)}.stepper{display:inline-flex;align-items:center;gap:0;border:2px solid var(--blue-edge);border-radius:var(--r-md);background:var(--surface);box-shadow:0 4px 0 var(--blue-edge);overflow:hidden}.stepper button{width:52px;height:52px;border:0;background:var(--blue-face);color:var(--blue-text);font-size:24px;font-weight:900;cursor:pointer}.stepper button:active{filter:brightness(.95)}:root[data-theme=dark] .stepper button{background:#3a4680}:root[data-theme=dark] .stepper button:hover{background:#46549a}.stepper output{min-width:64px;text-align:center;font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}.switch{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-weight:700}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{width:56px;height:32px;border-radius:var(--r-pill);background:var(--edge-n);border:2px solid var(--edge-strong);position:relative;transition:background .2s,border-color .2s}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px #0000002e;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.switch input:checked+.track{background:var(--indigo);border-color:var(--indigo-edge)}.switch input:checked+.track:after{transform:translate(24px)}.switch input:focus-visible+.track{outline:3px solid var(--focus);outline-offset:3px}.check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;min-height:44px}.check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;margin:0;border:2px solid var(--edge-strong);background:var(--surface);border-radius:var(--r-sm);display:grid;place-items:center;cursor:pointer;transition:background .15s}.check input[type=radio]{border-radius:50%}.check input:checked{background:var(--indigo);border-color:var(--indigo-edge)}.check input[type=checkbox]:checked:after{content:"";width:12px;height:7px;border:solid #fff;border-width:0 0 3px 3px;transform:rotate(-45deg) translate(1px,-1px)}.check input[type=radio]:checked:after{content:"";width:10px;height:10px;border-radius:50%;background:#fff}.check input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:360px;height:10px;border-radius:var(--r-pill);background:linear-gradient(var(--indigo),var(--indigo)) 0/var(--p, 50%) 100% no-repeat,#e1e1e7}.range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid var(--indigo);box-shadow:0 3px 0 var(--indigo-edge);cursor:pointer}.range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--indigo);cursor:pointer}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:3px 10px;border-radius:var(--r-pill);border:1.5px solid currentColor}.badge.solid{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.badge.b-new{background:var(--coral-face);color:var(--coral-text);border-color:var(--coral-edge)}.badge.b-live{background:var(--mint-face);color:var(--mint-text);border-color:var(--mint-edge)}.badge.b-host{background:var(--yellow-face);color:var(--yellow-text);border-color:var(--yellow-edge)}.badge.b-info{background:var(--blue-face);color:var(--blue-text);border-color:var(--blue-edge)}.badge .live-dot{width:7px;height:7px;border-radius:50%;background:#1f8a5b;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.count-badge{min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--coral);color:#2a0f0a;font-size:12px;font-weight:900;display:inline-grid;place-items:center;border:2px solid var(--surface)}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:18px;border:2px solid var(--outline);position:relative;flex:none}.avatar.sm{width:32px;height:32px;font-size:13px}.avatar.lg{width:72px;height:72px;font-size:28px}.avatar .status{position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;border-radius:50%;background:#2fa36b;border:2px solid var(--surface)}.avatar .status.off{background:#a5a5ae}.avatar[data-food]{overflow:hidden;padding:0}.avatar.initial{color:#22222c;font-weight:900;line-height:1}.avatar-option.is-initial{display:grid;place-items:center;border:2px solid var(--outline);font-weight:900;font-size:22px;color:#22222c}.avatar[data-food]>svg{width:100%;height:100%;display:block;border-radius:50%}.avatar-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;max-width:360px}.avatar-option{padding:0;aspect-ratio:1;border-radius:50%;border:0;background:none;cursor:pointer;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.avatar-option svg{width:100%;height:100%;display:block;border-radius:50%;border:2px solid var(--outline);box-sizing:border-box}.avatar-option:hover{transform:scale(1.08)}.avatar-option[aria-checked=true]{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--blue-edge);transform:translateY(-2px)}.avatar-option:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.avatar-stack{display:flex}.avatar-stack .avatar{margin-left:-10px;border-color:var(--surface);box-shadow:0 0 0 2px var(--outline)}.avatar-stack .avatar:first-child{margin-left:0}.navbar{position:relative;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 16px;border-radius:var(--r-lg);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--edge-n);box-shadow:var(--raise-n)}.wordmark{flex:none;display:inline-flex;align-items:center;gap:6px;font-family:Fredoka,Nunito,system-ui,sans-serif;font-weight:700;font-size:26px;line-height:1;letter-spacing:-.01em;color:var(--indigo-edge);text-decoration:none}.wordmark svg{width:34px;height:27.7px;flex:none;transform:translateY(-1px)}.navbar .brand{margin-right:8px}.nav-links{flex:1;min-width:0;display:flex;gap:4px;align-items:center}.nav-links a,.nav-more>button{flex:none;height:44px;display:inline-flex;align-items:center;gap:4px;padding:0 14px;border-radius:var(--r-md);border:2px solid transparent;background:none;color:var(--ink);font:inherit;font-weight:800;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap}.nav-links a:hover,.nav-more>button:hover{background:var(--hover)}.nav-links a[aria-current=page]{background:var(--blue-face);color:var(--blue-text);border-color:var(--blue-edge);box-shadow:0 3px 0 var(--blue-edge)}.nav-more{position:relative;flex:none}.nav-more>button svg{width:16px;height:16px;transition:transform .2s}.nav-more>button[aria-expanded=true] svg{transform:rotate(180deg)}.nav-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:200px;padding:8px;display:grid;gap:2px;background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n),var(--shadow);border-radius:var(--r-lg);z-index:5}.nav-menu[hidden]{display:none}.nav-menu a{padding:10px 12px;border-radius:var(--r-md);color:var(--ink);font-weight:700;text-decoration:none}.nav-menu a:hover{background:var(--hover)}.nav-actions{flex:none;display:flex;align-items:center;gap:8px;margin-left:auto}.lang{height:44px;border-radius:var(--r-md);border:2px solid var(--edge-n);box-shadow:0 3px 0 var(--edge-n);background:var(--surface);padding:0 12px;font:inherit;font-weight:800;font-size:14px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin-bottom:3px}.lang svg{width:16px;height:16px}.theme-switch{display:inline-flex;gap:2px;padding:3px;height:44px;border-radius:var(--r-md);border:2px solid var(--edge-n);box-shadow:0 3px 0 var(--edge-n);background:var(--surface);margin-bottom:3px}.theme-switch button{width:34px;border:0;border-radius:calc(var(--r-md) - 5px);background:none;color:var(--muted);display:grid;place-items:center;cursor:pointer}.theme-switch button:hover{color:var(--ink);background:var(--hover)}.theme-switch button[aria-pressed=true]{background:#dfe5fb;color:var(--indigo-edge)}:root[data-theme=dark] .theme-switch button[aria-pressed=true]{background:#5263b8;color:#fff}.theme-switch button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.theme-switch svg{width:18px;height:18px}.nav-burger{display:none}.nav-host{container-type:inline-size}@container (max-width: 520px){.nav-links,.nav-actions .btn-solid{display:none}.nav-burger{display:inline-flex}}.appbar{display:flex;align-items:center;gap:8px;height:60px;padding:0 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.appbar .title{flex:1;text-align:center;font-weight:800;font-size:17px}.appbar .btn-icon{--h: 44px}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--line);overflow-x:auto;overflow-y:hidden}.tabs button{flex:none;padding:12px 16px;border:0;border-radius:var(--r-md) var(--r-md) 0 0;background:none;font:inherit;font-weight:800;font-size:15px;color:var(--tab-text);cursor:pointer;border-bottom:5px solid transparent;margin-bottom:-2px}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--blue-text);background:var(--blue-face);border-bottom-color:var(--blue-edge)}.crumbs{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--muted);flex-wrap:wrap}.link,.crumbs a,.footer-demo a{color:var(--blue-text);font-weight:700;text-decoration:none;text-underline-offset:4px;text-decoration-thickness:2px;border-radius:var(--r-xs);transition:color .15s}.link:hover,.crumbs a:hover,.footer-demo a:hover{color:var(--accent-text);text-decoration-line:underline}.link:active,.crumbs a:active,.footer-demo a:active{color:var(--indigo-edge)}.link:focus-visible,.crumbs a:focus-visible,.footer-demo a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.footer-demo{border-top:2px solid var(--line);padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;font-size:14px;color:var(--muted)}.footer-demo .links{display:flex;gap:16px;flex-wrap:wrap}.room-code-card{display:grid;gap:16px;justify-items:center;text-align:center;background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);border-radius:var(--r-lg);padding:24px;max-width:340px}.room-code{display:flex;gap:8px}.room-code span{width:54px;height:66px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--blue-face);border:2px solid var(--blue-edge);box-shadow:0 4px 0 var(--blue-edge);font-size:34px;font-weight:900;color:var(--blue-text)}.qr{width:156px;height:156px;border-radius:var(--r-md);border:2px solid var(--edge-n);padding:10px;background:#fff}.player-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:420px}.player{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);margin-bottom:4px}.player .name{font-weight:800;flex:1;display:flex;align-items:center;gap:8px}.player.is-me{border-color:var(--blue-edge);box-shadow:0 4px 0 var(--blue-edge);background:var(--blue-face)}.player.is-offline{opacity:.6}.player .kick{--h: 36px}.alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-md);border:2px solid var(--a-edge);box-shadow:0 4px 0 var(--a-edge);font-size:15px;margin-bottom:4px}.alert svg{width:22px;height:22px;flex:none;margin-top:1px}.alert b{display:block}.alert.info{background:var(--blue-face);--a-edge: var(--blue-edge);color:var(--blue-text)}.alert.success{background:var(--mint-face);--a-edge: var(--mint-edge);color:var(--mint-text)}.alert.warning{background:var(--yellow-face);--a-edge: var(--yellow-edge);color:var(--yellow-text)}.alert.error{background:var(--coral-face);--a-edge: var(--coral-edge);color:var(--coral-text)}.toast-zone{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;display:grid;gap:8px;width:min(420px,calc(100% - 32px))}.toast{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 18px;border-radius:var(--r-md);background:var(--ink);color:var(--on-ink);font-weight:700;box-shadow:0 10px 30px #0000003d;animation:toast-in .35s cubic-bezier(.34,1.56,.64,1)}.toast span{flex:1}.toast button{background:none;border:0;color:var(--toast-action);font:inherit;font-weight:800;cursor:pointer;padding:6px 8px}@keyframes toast-in{0%{transform:translateY(20px) scale(.96);opacity:0}}.progress{height:14px;border-radius:var(--r-pill);background:var(--sunken);border:2px solid var(--outline);overflow:hidden;max-width:420px}.progress>div{height:100%;width:var(--p);background:repeating-linear-gradient(-45deg,var(--blue),var(--blue) 10px,var(--periwinkle) 10px,var(--periwinkle) 20px);border-right:2px solid var(--outline);transition:width .4s}.timer-ring{position:relative;width:120px;height:120px}.timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-ring .num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:34px;font-weight:900;font-variant-numeric:tabular-nums}.timer-ring.is-urgent .num{color:var(--danger);animation:urgent .5s ease-in-out infinite alternate}.timer-ring .track{stroke:var(--sunken)}.timer-ring .arc{stroke:var(--timer);transition:stroke .2s}.timer-ring.is-urgent .arc{stroke:#d4685a}@keyframes urgent{to{transform:scale(1.12)}}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,var(--sunken) 0%,var(--sunken-hi) 40%,var(--sunken) 80%) 0 0/300% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-150% 0}}.empty{text-align:center;display:grid;justify-items:center;gap:10px;padding:28px 16px;border:2px dashed var(--edge-strong);border-radius:var(--r-lg);background:var(--surface)}.empty svg.illo{width:120px}.empty h4{margin:0;font-size:18px}.empty p{margin:0;color:var(--muted);font-size:14px}.tip{position:relative;display:inline-block}.tip .bubble{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--ink);color:var(--on-ink);font-size:13px;font-weight:700;padding:6px 10px;border-radius:var(--r-sm);white-space:nowrap;pointer-events:none}.tip .bubble:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:var(--ink)}dialog.modal{border:2px solid var(--outline);border-radius:var(--r-lg);padding:0;width:min(400px,calc(100% - 32px));box-shadow:0 20px 60px #0000004d;background:var(--surface);color:var(--ink)}dialog.modal::backdrop{background:#11111366;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog.modal .m-body{padding:28px 24px 8px;text-align:center;display:grid;gap:8px;justify-items:center}dialog.modal .m-body svg.illo{width:96px}dialog.modal h4{margin:0;font-size:20px}dialog.modal p{margin:0;color:var(--muted)}dialog.modal .m-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px 24px 24px}dialog.sheet{margin:auto 0 0;width:100%;max-width:100%;border:0;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:12px 20px 28px;box-shadow:0 -10px 40px #0000002e;background:var(--surface);color:var(--ink)}dialog.sheet::backdrop{background:#11111355}dialog.sheet .grabber{width:44px;height:5px;border-radius:var(--r-pill);background:var(--edge-strong);margin:0 auto 14px}dialog.sheet h4{margin:0 0 12px;font-size:18px}dialog.sheet .sheet-list{display:grid;gap:8px}dialog.sheet .sheet-list button{text-align:left;justify-content:flex-start}.player-frame{max-width:380px;border-radius:var(--r-lg);border:2px solid var(--outline);background:var(--bg);padding:16px;display:grid;gap:14px;box-shadow:0 6px 0 var(--outline)}.step-dots{display:flex;gap:6px;justify-content:center}.step-dots i{width:10px;height:10px;border-radius:var(--r-pill);background:var(--edge-strong);transition:width .25s,background .25s}.step-dots i.on{width:28px;background:var(--indigo)}.step-card{background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);border-radius:var(--r-lg);padding:18px;text-align:center;display:grid;gap:8px;justify-items:center}.step-card .step-no{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.step-card svg.illo{width:140px}.step-card h4{margin:0;font-size:20px}.step-card p{margin:0;color:var(--muted)}.step-nav{display:flex;justify-content:space-between;align-items:center}.prompt-card{background:var(--prompt-bg);border:2px solid var(--yellow-edge);border-radius:var(--r-lg);padding:20px 22px;box-shadow:0 4px 0 var(--yellow-edge);max-width:520px;font-size:19px;line-height:1.8;position:relative}.prompt-card .say{position:absolute;top:-13px;left:18px;background:var(--yellow);color:var(--yellow-text);border:2px solid var(--yellow-edge);font-size:12px;font-weight:900;padding:1px 10px;border-radius:var(--r-pill)}.prompt-card mark{background:var(--yellow-face);color:inherit;padding:0 3px;border-radius:var(--r-xs)}:root[data-theme=dark] .prompt-card .say{color:#3a2b03}.wheel-wrap{position:relative;width:220px;height:220px}.wheel{width:100%;height:100%;transition:transform 3.2s cubic-bezier(.17,.67,.21,1)}.wheel-pointer{position:absolute;z-index:2;top:-6px;left:50%;transform:translate(-50%);width:0;height:0;border:14px solid transparent;border-top:22px solid var(--outline);filter:drop-shadow(0 2px 0 #0003)}.wheel-result{min-height:28px;font-weight:800;text-align:center}.metronome{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.beats{display:flex;gap:8px}.beats i{width:26px;height:26px;border-radius:50%;background:var(--sunken);border:2px solid var(--outline)}.beats i.on{background:var(--orange);transform:scale(1.15)}.beats i.on.accent{background:var(--coral)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;max-width:420px}.podium .col{flex:1;display:grid;justify-items:center;gap:6px}.podium .block{width:100%;border:2px solid var(--blue-edge);border-bottom-width:6px;border-radius:var(--r-md) var(--r-md) var(--r-xs) var(--r-xs);display:grid;place-items:center;font-size:28px;font-weight:900;color:var(--ink)}.podium .name{font-weight:800;font-size:14px}.rank-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-width:420px;counter-reset:rank 3}.rank-list li{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);border-radius:var(--r-md);font-weight:700;margin-bottom:4px}.rank-list li:before{counter-increment:rank;content:counter(rank);width:28px;font-weight:900;color:var(--muted)}.rank-list li .score{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:900}.faq{display:grid;gap:8px;max-width:640px}.faq details{background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);border-radius:var(--r-md);padding:0 18px;margin-bottom:4px}.faq details[open]{border-color:var(--blue-edge);box-shadow:0 4px 0 var(--blue-edge)}.faq summary{list-style:none;cursor:pointer;padding:16px 0;font-weight:800;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:22px;line-height:1;color:var(--blue-text);transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{margin:0 0 16px;color:var(--muted)}.demo-grid{display:grid;gap:16px}@media (min-width: 760px){.demo-grid.two{grid-template-columns:1fr 1fr}}.faq details{transition:border-color .15s,box-shadow .15s,background-color .15s}.faq details:hover{border-color:var(--blue-edge);box-shadow:0 4px 0 var(--blue-edge);background:var(--hover-faint)}.faq summary:hover{color:var(--blue-text)}body{line-height:1.6}a.btn{text-decoration:none}.page{width:min(1120px,calc(100% - 32px));margin:0 auto}section{padding:48px 0}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:20px}.section-head h2{margin:0;font-size:clamp(24px,4vw,32px);font-weight:900}.section-head p{margin:4px 0 0;color:var(--muted)}.kicker{font-size:13px;font-weight:900;letter-spacing:.14em;color:var(--blue-text);text-transform:uppercase}.top{position:sticky;top:10px;z-index:30;margin-top:10px}.hero{display:grid;gap:28px;align-items:center;padding:48px 0 24px}@media (min-width: 880px){.hero{grid-template-columns:1.05fr 1fr}}.hero h1{margin:10px 0 14px;font-size:clamp(36px,6.4vw,60px);line-height:1.15;font-weight:900;letter-spacing:-.01em;text-wrap:balance}.hero h1:not(:lang(zh)){font-size:clamp(30px,4.2vw,46px)}.hero h1:lang(ja){word-break:auto-phrase;font-size:clamp(28px,3.8vw,42px)}.hero h1>span{display:block}:lang(ko){word-break:keep-all}.hero .lead{font-size:clamp(16px,2.2vw,19px);color:var(--muted);max-width:30em;margin:0 0 24px}.hero .cta{display:flex;flex-wrap:wrap;gap:12px}.hero .trust{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:22px;font-size:14px;font-weight:700;color:var(--text-2)}.hero .trust span{display:inline-flex;align-items:center;gap:6px}:root[data-theme=dark] #hero-tiles use{fill:#252a3c}:root[data-theme=dark] .plan-step.is-empty .mini use{fill:var(--edge-mid)}.hero .trust svg{width:18px;height:18px;color:var(--mint-edge)}html,body{overflow-x:clip}.hero{position:relative;isolation:isolate}.hero-bg{position:absolute;z-index:-1;top:-96px;bottom:-160px;left:50%;width:100vw;transform:translate(-50%);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 15%,#0009 50%,transparent 92%);mask-image:linear-gradient(to bottom,#000 15%,#0009 50%,transparent 92%)}.hero-bg svg{width:100%;height:100%;display:block}.hero-art{position:relative}.hero-art svg{width:100%;height:auto;display:block;max-width:460px;margin:0 auto;overflow:visible}.hero-art .h-hop,.hero-art .h-pop,.hero-art .h-wiggle,.hero-art .h-float{transform-box:fill-box}.hero-art .h-hop{transform-origin:50% 100%;animation:h-hop 4.5s cubic-bezier(.3,.7,.4,1) infinite}@keyframes h-hop{0%,14%,to{transform:translateY(0) scale(1)}3%{transform:translateY(0) scale(1.06,.94)}7%{transform:translateY(-16px) scale(.97,1.04)}11%{transform:translateY(0) scale(1.04,.96)}}.hero-art .h-pop{transform-origin:20% 100%;animation:h-pop 3.2s ease-in-out infinite}@keyframes h-pop{0%,40%,to{transform:scale(1)}10%{transform:scale(1.12) rotate(-3deg)}20%{transform:scale(.97)}}.hero-art .h-wiggle{transform-origin:50% 100%;animation:h-wiggle 1.6s ease-in-out infinite}@keyframes h-wiggle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.hero-art .h-float{transform-origin:50% 50%;animation:h-float 3.6s ease-in-out infinite}@keyframes h-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(12deg)}}@media (prefers-reduced-motion: reduce){.hero-art .h-hop,.hero-art .h-pop,.hero-art .h-wiggle,.hero-art .h-float{animation:none}}.bubble{position:absolute;display:grid;place-items:center;background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);border-radius:var(--r-lg);padding:10px;animation:bob 4s ease-in-out infinite}.bubble svg{width:100%;height:auto}.bubble small{font-weight:800;font-size:13px;margin-top:-2px}.bubble.b1{width:38%;left:7%;top:7%}.bubble.b2{width:36%;right:7%;top:18%;animation-delay:-1.3s}.bubble.b3{width:36%;left:32%;bottom:6%;animation-delay:-2.6s}@keyframes bob{50%{transform:translateY(-8px)}}@media (prefers-reduced-motion: reduce){.bubble{animation:none}}.finder{display:grid;gap:18px;padding:22px;border-radius:var(--r-lg);background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n)}.finder-row{display:grid;gap:8px}@media (min-width: 760px){.finder-row{grid-template-columns:150px 1fr;align-items:center}}.finder-row>b{font-size:15px}.finder-row .row{gap:8px}.finder .segmented,.plan .segmented{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));width:100%;max-width:560px}.finder .segmented button,.plan .segmented button{height:auto;min-height:40px;padding:6px;line-height:1.25}.finder-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-top:2px solid var(--line);padding-top:16px}.result-count{font-weight:800}.result-count em{font-style:normal;color:var(--blue-text);font-size:22px;font-variant-numeric:tabular-nums}.results{margin-top:18px}.game{text-decoration:none;color:inherit}.game .purpose{position:absolute;top:14px;right:14px;z-index:2}.game.soon{cursor:default;border-style:dashed;box-shadow:none}.game.soon:hover{transform:none;box-shadow:none}.game.soon .art{opacity:.85}.badge.b-soon{background:var(--sunken);color:var(--text-2);border-color:var(--edge-strong)}.game .flash{animation:pop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.94);opacity:.3}}.plan{display:grid;gap:18px;padding:22px;border-radius:var(--r-lg);background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n)}.plan-steps{display:grid;gap:12px}@media (min-width: 760px){.plan-steps{grid-template-columns:repeat(3,1fr)}}.plan-step{position:relative;display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;padding:12px;border-radius:var(--r-md);border:2px solid var(--edge-n);box-shadow:var(--raise-n);background:var(--surface);margin-bottom:4px}.plan-step .mini{width:72px;height:58px;border-radius:var(--r-md);background:var(--bg);display:grid;place-items:center;overflow:hidden}.plan-step .mini svg{width:100%;height:auto}.plan-step .stage-label{font-size:12px;font-weight:900;letter-spacing:.08em}.plan-step h4{margin:0;font-size:17px}.plan-step .min{font-size:13px;color:var(--muted);font-weight:700}.plan-step.s1 .stage-label{color:var(--orange-text)}.plan-step.s2 .stage-label{color:var(--pink-text)}.plan-step.s3 .stage-label{color:var(--mint-text)}.plan-step.is-empty{border-style:dashed;box-shadow:none}.plan-total{font-weight:800}.feature{display:grid;gap:20px;align-items:center;padding:24px;border-radius:var(--r-lg);border:2px solid var(--indigo-edge);box-shadow:0 4px 0 var(--indigo-edge);background:var(--indigo-face);position:relative;overflow:hidden;isolation:isolate}@media (min-width: 760px){.feature{grid-template-columns:220px 1fr auto}}.feature .art-box{background:var(--surface);border-radius:var(--r-lg);border:2px solid var(--indigo-edge);padding:8px}.feature h3{margin:0 0 6px;font-size:24px;color:var(--indigo-text)}.feature p{margin:0;color:var(--indigo-text);opacity:.85}.feature .w-row{position:absolute;left:0;right:0;bottom:0;width:100%;opacity:.1;z-index:-1}.guides{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.guide{display:grid;gap:8px;padding:20px;border-radius:var(--r-lg);background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);text-decoration:none;color:inherit;transition:transform .15s}.guide:hover{transform:translateY(-3px)}.guide>.badge{justify-self:start}.guide h4{margin:0;font-size:18px;line-height:1.45}.guide p{margin:0;color:var(--muted);font-size:14px}.guide .link{margin-top:6px}.site-footer{margin-top:40px;padding:28px 0 48px;border-top:2px solid var(--line);font-size:14px;color:var(--muted)}.site-footer .links{display:flex;flex-wrap:wrap;gap:18px}.site-footer .link{font-size:14px}.nav-links{justify-content:center}.nav-cta{--h: 44px;--depth: 3px;padding:0 14px;font-size:14px;gap:6px;border-radius:var(--r-md);margin-bottom:3px}.nav-cta svg{width:16px;height:16px}.nav-cta:focus:not(:focus-visible){outline:none}@container (max-width: 520px){.nav-cta{display:none}}.more-row{display:flex;justify-content:center;margin-top:18px}.more-row svg{width:18px;height:18px}.plan .plan-steps{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.plan .plan-step{flex:1 1 260px;text-decoration:none;color:inherit}.plan-arrow{font-size:24px;font-weight:900;color:var(--muted)}@media (max-width: 640px){.plan-arrow{width:100%;text-align:center;transform:rotate(90deg)}}.party{display:grid;gap:20px;padding:24px;border-radius:var(--r-lg);background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n)}.party-steps{display:grid;gap:12px;counter-reset:step}@media (min-width: 760px){.party-steps{grid-template-columns:repeat(4,1fr)}}.party-step{padding:14px;border-radius:var(--r-md);background:var(--bg)}.party-step b{display:block;margin-bottom:4px}.party-step b:before{counter-increment:step;content:counter(step) "．";color:var(--blue-text)}.party-step span{font-size:14px;color:var(--muted)}.site-footer{display:grid;gap:28px}.footer-grid{display:grid;gap:28px 24px;grid-template-columns:1fr}@media (min-width: 760px){.footer-grid{grid-template-columns:1.6fr repeat(3,1fr)}}.footer-brand{grid-column:1 / -1;display:grid;gap:10px;align-content:start}@media (min-width: 760px){.footer-brand{grid-column:auto}}.footer-brand p{margin:0;color:var(--muted)}.footer-col{display:grid;gap:10px;align-content:start;justify-items:start}.footer-col h4{margin:0 0 2px;font-size:13px;letter-spacing:.1em;color:var(--muted)}.footer-col .link{font-size:15px}.footer-bottom{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-top:18px;border-top:2px solid var(--line)}.footer-controls{display:flex;align-items:center;gap:10px}.page-head{padding:24px 0 8px}.page-head .crumbs+h1{margin-top:8px}.page-head h1{margin:0 0 8px;font-size:clamp(30px,5vw,44px);font-weight:900}.page-head p{margin:0;color:var(--muted);max-width:36em}.guide-filter{margin:20px 0}.guide .meta{font-size:13px;color:var(--muted);font-weight:700}.nav-links a[aria-current=page]{background:none;border-color:transparent;box-shadow:none;color:var(--accent-text)}.nav-links a[aria-current=page]:hover{background:var(--hover)}dialog.sheet:focus{outline:none}.sheet-list a[aria-current=page]{color:var(--accent-text)}.plan-step .mini svg{--ill-sw: 2px}.feature.mint{background:var(--mint-face);border-color:var(--mint-edge);box-shadow:0 4px 0 var(--mint-edge)}.feature.mint .art-box{border-color:var(--mint-edge)}.feature.mint h3,.feature.mint p{color:var(--mint-text)}.feature .art-box{max-width:220px;width:100%;justify-self:center}.is-disabled{cursor:not-allowed}.link.is-disabled{color:var(--faint);font-weight:700}.link.is-disabled:hover{text-decoration:none;color:var(--faint)}.guide.is-disabled{cursor:default}.guide.is-disabled:hover{transform:none}.guide.is-disabled .badge.b-soon{justify-self:start}.lang-wrap{position:relative}.lang-wrap .nav-menu{right:0;min-width:160px}.lang-wrap .nav-menu a[aria-current=page]{color:var(--accent-text);font-weight:800}.article{max-width:760px}.article section{margin-bottom:28px}.article h3{font-size:20px;margin:0 0 10px}.article p{margin:0 0 12px;color:var(--text-body);line-height:1.85}.feature .note{font-size:13px;opacity:.75;margin-top:8px}.flow{display:grid;gap:0;margin:0;padding:0;list-style:none}.flow li{position:relative;display:grid;grid-template-columns:64px 1fr;gap:16px;padding-bottom:22px}.flow li:before{content:"";position:absolute;left:31px;top:40px;bottom:0;width:2px;background:var(--edge-n)}.flow li:last-child:before{display:none}.flow .when{width:64px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;font-size:13px;font-weight:900;border:2px solid var(--edge-n);background:var(--surface);text-align:center;line-height:1.1}.flow .when.w1{background:var(--orange-face);border-color:var(--orange-edge);color:var(--orange-text)}.flow .when.w2{background:var(--pink-face);border-color:var(--pink-edge);color:var(--pink-text)}.flow h3{margin:6px 0;font-size:18px}.flow p{margin:0 0 8px;color:var(--muted)}.flow .prompt-card{font-size:16px;padding:16px 18px;margin-top:14px}.nav-more.lang-wrap>button.lang{height:44px;padding:0 12px;border:2px solid var(--edge-n);box-shadow:0 3px 0 var(--edge-n);background:var(--surface);font-size:14px;border-radius:var(--r-md);margin-bottom:3px}.nav-more.lang-wrap>button.lang:hover{background:var(--hover)}.nav-more.lang-wrap>button.lang svg{transform:none}.guide h3{margin:0;font-size:18px;line-height:1.45}.lang-wrap.up .nav-menu{top:auto;bottom:calc(100% + 10px)}#faq .faq{max-width:none}#faq .faq p{color:var(--text-body);line-height:1.85}.faq-wrap{display:grid;gap:20px;align-items:start}.faq-art{order:-1;max-width:260px;justify-self:center;width:100%}.faq-art svg{width:100%;height:auto;display:block;overflow:visible}@media (min-width: 900px){.faq-wrap{grid-template-columns:1fr 340px;gap:40px}.faq-art{order:0;max-width:none;position:sticky;top:130px}}.faq-art .h-hop,.faq-art .h-pop,.faq-art .h-wiggle,.faq-art .h-float{transform-box:fill-box}.faq-art .h-hop{transform-origin:50% 100%;animation:h-hop 4.5s cubic-bezier(.3,.7,.4,1) infinite}.faq-art .h-pop{transform-origin:30% 100%;animation:h-pop 3.2s ease-in-out infinite}.faq-art .h-wiggle{transform-origin:50% 100%;animation:h-wiggle 1.6s ease-in-out infinite}.faq-art .h-float{transform-origin:50% 50%;animation:h-float 3.6s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.faq-art *{animation:none!important}}.footer-mail{justify-self:start;display:inline-flex;align-items:center;gap:6px;font-size:15px}.footer-mail svg{width:18px;height:18px;flex:none}.tools-page main>section,.tool-page main>section{padding:40px 0}.tools-page main>section{padding-top:20px}.tool-page main>section.tool-how,.tool-page main>section.tool-used{padding:20px 0 40px}.tool-page .page-head{padding:24px 0 0}.tool-page main>section.tool-section{padding:16px 0 40px}@media (max-width: 480px){.tool-page .tool-panel{padding:16px 14px;gap:12px}.tool-page .page-head .crumbs{display:none}.tool-page .page-head{padding-top:16px}.tool-page .page-head h1{font-size:28px;margin:0 0 4px}.tool-page .page-head p{font-size:14px}.tool-page main>section.tool-section{padding-top:12px}.tool-page:is(:lang(zh),:lang(ja),:lang(ko)) .slot{--row: 104px}.tool-page .theme-grid .choice{min-height:0;padding-top:10px;padding-bottom:10px}.tool-page .tool-h{margin-bottom:8px}}.tool-panel{padding:20px;display:grid;gap:16px;justify-items:center}.tool-panel>*{width:100%;max-width:520px}.tool-h{margin:0 0 12px;font-size:18px}.tool-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px}.tool-controls .field-label{font-size:14px;font-weight:800;color:var(--text-2)}.tool-beats{width:auto}.tool-beats button{min-width:48px}.tool-speed{width:auto}.tool-speed button{min-width:52px;padding:0 10px;font-variant-numeric:tabular-nums}.tool-recorder{width:100%}.tool-names-pick{display:grid;gap:14px}.tool-page .namer .stage-choose>.btn-secondary,.tool-page .namer .need-more,.tool-page .namer .all-done{display:none}.tool-panel .prose ol{margin:0}.about-page main>section,.legal-page main>section{padding:24px 0 40px}.about-page .about-story{padding-bottom:8px}.about-story .panel,.legal .panel,.about-contact .panel{max-width:760px}.feedback{display:grid;gap:20px}.feedback .field-wide{max-width:none}.feedback .label{font-weight:800;font-size:14px}.fb-types{flex-wrap:wrap;gap:8px}.fb-types .chip{white-space:nowrap}.fb-types input{position:absolute;opacity:0;width:1px;height:1px}.fb-types .chip:has(input:checked){background:var(--blue-face);border-color:var(--blue-edge);color:var(--blue-text);box-shadow:0 3px 0 var(--blue-edge)}.fb-types .chip:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.fb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.combo{position:relative}.combo .input{width:100%}.combo-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;margin:0;padding:6px;list-style:none;max-height:264px;overflow-y:auto;background:var(--surface);border:2px solid var(--edge-n);border-radius:var(--r-md);box-shadow:var(--raise-n),var(--shadow)}.combo-list li{padding:10px 12px;border-radius:calc(var(--r-md) - 6px);cursor:pointer;font-weight:700}.combo-list li:hover,.combo-list li.is-active{background:var(--hover-faint)}.combo-list li[aria-selected=true]{background:var(--blue-face);color:var(--blue-text)}.combo-list .combo-empty{cursor:default;color:var(--muted);font-weight:600}.combo-list .combo-empty:hover{background:none}.fb-submit{display:grid;gap:10px;justify-items:start}.fb-submit p{margin:0}.fb-done{display:grid;gap:16px;justify-items:start}.about-mail{margin:16px 0 0;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.legal .prose h2{margin:28px 0 8px;font-size:19px}.woohop-game #site-nav{display:none}:where(.woohop-game main) section{padding:0}.woohop-game .game-main,.woohop-game .game-bar-host{max-width:720px;margin-left:auto;margin-right:auto}.woohop-game .game-main{padding-bottom:40px}.woohop-game[data-game-mode=play] .site-footer{display:none}.game-bar-host{position:sticky;top:10px;z-index:30;margin-top:10px}.game-bar{container-type:inline-size;height:64px;padding:0 8px;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--edge-n);border-radius:var(--r-lg);box-shadow:var(--raise-n)}.game-bar .btn-icon{--h: 44px;flex:none}.game-bar .title{flex:0 1 auto;min-width:0;padding-left:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:900;text-align:left;color:var(--ink);text-decoration:none;border-radius:var(--r-sm)}.game-bar .title:hover{color:var(--accent-text)}.game-bar .title:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.game-tabs{flex:none;margin-left:auto;display:flex;gap:4px}.game-tabs a,.game-tabs button{height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 14px;border:0;border-radius:var(--r-md);background:none;color:var(--ink);font:inherit;font-weight:800;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap}.game-tabs a:hover,.game-tabs button:hover{background:var(--hover)}.game-tabs a[aria-current=page],.sheet-list a[aria-current=page]{color:var(--accent-text)}.game-tabs .tab-count{font-size:12px;font-weight:800;padding:0 8px;border-radius:var(--r-pill);background:var(--coral-face);color:var(--coral-text)}.game-tabs .tab-count:empty{display:none}.game-menu{flex:none}.game-menu>.btn{padding:0;width:44px;height:44px;margin:0}.game-menu>.btn svg{width:22px;height:22px;transform:none!important}.nav-report{display:flex;align-items:center;gap:8px}.nav-report .nav-icon{flex:none;width:18px;height:18px}.game-menu .nav-menu .nav-report{position:relative;margin-top:9px;color:var(--text-2)}.game-menu .nav-menu .nav-report:before{content:"";position:absolute;left:8px;right:8px;top:-6px;height:2px;border-radius:1px;background:var(--line)}.sheet-list .nav-report{justify-content:center;color:var(--text-2)}.game-bar-spacer{width:44px;flex:none;display:none}@container (max-width: 560px){.game-bar{gap:2px}.game-tabs{gap:0}.game-tabs a,.game-tabs button{padding:0 9px;font-size:14px}.game-bar .title{font-size:16px}}.game-tabs .tab-icon{display:none;width:22px;height:22px}.game-bar.is-compact #game-settings .tab-icon,.game-bar.is-tight .tab-rules .tab-icon{display:block}.game-bar.is-compact #game-settings .tab-text,.game-bar.is-tight .tab-rules .tab-text{display:none}.game-bar.is-compact #game-settings,.game-bar.is-tight .tab-rules{padding:0 10px}@container (max-width: 560px){.game-tabs .tab-icon{display:block}.game-tabs .tab-text{display:none}.game-tabs .tab-rules,.game-tabs #game-settings{padding:0 10px}}[data-game-mode=play] .game-tabs,[data-game-mode=play] .game-menu{display:none}[data-game-mode=play] .game-bar-spacer{display:block}[data-game-mode=play][data-game-settings] .game-tabs{display:flex}[data-game-mode=play][data-game-settings] .tab-rules{display:none}[data-game-mode=play][data-game-settings] #game-settings{padding:0 10px}[data-game-mode=play][data-game-settings] #game-settings .tab-icon{display:block}[data-game-mode=play][data-game-settings] #game-settings .tab-text{display:none}.game-bar-badge{display:none;flex:none;margin-right:6px}[data-game-mode=play] .game-bar-badge:not(:empty){display:inline-flex}[data-game-mode=play] .game-bar-badge:not(:empty)~.game-bar-spacer{display:none}.game-music svg{width:22px;height:22px}.game-music .music-off{display:none}.game-music[aria-pressed=false]{color:var(--muted)}.game-music[aria-pressed=false] .music-off{display:inline}[data-game-mode=play] .game-bar.has-music .game-bar-spacer{display:none}[data-game-mode=play] .game-bar .title{flex:1;text-align:center;padding-left:0;pointer-events:none}.woohop-game{--game-edge: var(--blue-edge)}.woohop-game .view{display:flex;flex-direction:column;gap:16px}.woohop-game .view[hidden]{display:none}.game-main .page-head{padding:28px 0 4px}.game-main .page-head h1{font-size:clamp(28px,6vw,40px);line-height:1.25;text-wrap:balance;margin:8px 0}.game-main .page-head p{max-width:40em}.game-main .page-head .crumbs{margin-bottom:4px}.game-main .page-head h1>span{display:block}.h1-name{font-size:1.15em}.h1-line{color:var(--accent-text);font-size:.78em;margin-top:2px}.sr-colon{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.game-main h1:lang(ja){word-break:auto-phrase}.panel{background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);border-radius:var(--r-lg);padding:22px 24px 24px;margin-bottom:4px}@media (min-width: 760px){.panel{padding:28px 32px 32px}}.panel h2{margin:0;font-size:19px;font-weight:900}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.counter{font-size:14px;font-weight:800;color:var(--game-edge);font-variant-numeric:tabular-nums}.woohop-game .hint{margin:12px 0 0;font-size:14px;color:var(--muted)}.form-error{margin:0;padding:12px 14px;border-radius:var(--r-md);border:2px solid var(--coral-edge);background:var(--coral-face);color:var(--coral-text);font-weight:700}.panel .form-error{margin-top:14px}.field-label{display:block;margin:14px 0 8px;font-size:14px;font-weight:800}.field-label-gap{margin-top:18px}.rules-link{margin:4px 0 0;text-align:center}dialog.modal h2{margin:0 0 4px;font-size:20px}dialog.modal .m-one{grid-template-columns:1fr}.seg{display:grid;gap:4px;padding:4px;border-radius:var(--r-md);background:var(--track)}.seg-3{grid-template-columns:repeat(3,1fr)}.seg-4{grid-template-columns:repeat(4,1fr)}.seg-5{grid-template-columns:repeat(5,1fr)}.seg-item{position:relative;display:flex;align-items:center;justify-content:center;height:44px;padding:0 4px;border-radius:calc(var(--r-md) - 4px);font-size:14px;font-weight:700;color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:background .12s,color .12s}.seg-item input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.seg-item:hover{color:var(--ink)}.seg-item:has(input:checked){background:var(--surface);color:var(--ink);font-weight:800;box-shadow:0 2px 0 var(--edge-mid)}:root[data-theme=dark] .seg-item:has(input:checked){background:#3a3a48;color:#fff;box-shadow:0 2px #14141a}.seg-item:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.seg-item:has(input:disabled){color:var(--text-dim);cursor:not-allowed}.game-rules{display:flex;flex-direction:column;gap:20px}.prose h2{margin-bottom:10px}.prose ol,.prose ul{margin:0;padding-left:1.4em;display:grid;gap:8px}.prose li{line-height:1.8}.prose p{margin:0 0 12px;color:var(--text-body);line-height:1.85}.prose p:last-child{margin-bottom:0}.rules-facts{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.rules-facts li{display:grid;gap:2px;padding:14px 16px;border-radius:var(--r-md);background:var(--surface);border:2px solid var(--edge-n)}.rules-facts span{font-size:13px;font-weight:800;color:var(--game-edge);letter-spacing:.04em}.rules-facts b{font-size:16px;line-height:1.45}.rules-facts .rules-time{grid-column:1 / -1;gap:6px}.rules-time table{border-collapse:collapse;width:100%;max-width:420px}.rules-time th,.rules-time td{padding:6px 0;border-bottom:1px solid var(--line);font-size:16px;text-align:left;white-space:normal}.rules-time tr:last-child th,.rules-time tr:last-child td{border-bottom:0}.rules-time th{font-weight:700;color:var(--muted);width:45%}.rules-time td{font-weight:900}.rules-time small{font-size:14px;color:var(--muted)}.rules-lead .prompt-card{margin:18px 0;max-width:none;font-size:18px}.rules-back{margin:8px 0 0;text-align:center}.lead-head{display:grid;gap:6px;justify-items:center;text-align:center;margin:20px 0 0}.lead-head .step-dots i.done{background:var(--indigo);opacity:.45}.lead-head .step-no{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--muted);margin-top:4px}.lead-title{margin:0;font-size:26px;font-weight:900}.lead-head .lead-say mark{font-weight:900}.lead-head.no-say .lead-say{display:none}.lead-head .lead-say{max-width:none;width:100%;margin-top:12px;text-align:left;font-size:18px}#view-setup .lead-head{margin-top:8px}.rule-cards{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}.rule-card{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;padding:12px 16px 12px 8px;background:var(--surface);border:2px solid var(--edge-n);box-shadow:var(--raise-n);border-radius:var(--r-lg)}.rule-card .illo{width:112px;height:auto;overflow:visible}.rule-card h3{margin:0 0 4px;font-size:18px;font-weight:900}.rule-card p{margin:0;color:var(--muted);line-height:1.6}.leader-slot{display:grid;gap:14px;justify-items:center;width:100%}.leader-slot>.btn{width:100%;max-width:420px}.slot{--row: 104px;position:relative;width:100%;max-width:420px;margin-top:6px;padding:10px;border:2px solid var(--outline);border-radius:var(--r-lg);background:var(--yellow);box-shadow:0 6px 0 var(--outline)}.slot-window{position:relative;height:calc(var(--row) * 3);overflow:hidden;border:2px solid var(--outline);border-radius:var(--r-md);background:var(--surface)}.slot-window:before,.slot-window:after{content:"";position:absolute;left:0;right:0;pointer-events:none}.slot-window:before{z-index:0;top:var(--row);height:var(--row);background:var(--yellow-face);border-block:2px dashed var(--yellow-edge)}.slot-window:after{z-index:2;top:0;right:0;bottom:0;left:0;background:linear-gradient(var(--surface),transparent 34%,transparent 66%,var(--surface))}.slot:before,.slot:after{content:"";position:absolute;z-index:2;top:50%;width:0;height:0;border:10px solid transparent;transform:translateY(-50%)}.slot:before{left:-2px;border-left:14px solid var(--outline)}.slot:after{right:-2px;border-right:14px solid var(--outline)}.slot-reel{position:relative;z-index:1;list-style:none;margin:0;padding:0;will-change:transform}.slot-reel li{height:var(--row);display:grid;place-content:center;justify-items:center;gap:6px;padding:0 18px;text-align:center;font-size:18px;font-weight:800;line-height:1.3;color:var(--muted);text-wrap:balance}.slot-reel li.on{color:var(--ink);font-size:21px;font-weight:900}.slot-kind{font-size:12px;font-weight:900;line-height:1;padding:3px 10px;border-radius:var(--r-pill);border:2px solid var(--blue-edge);background:var(--blue-face);color:var(--blue-text)}.slot-do .slot-kind{border-color:var(--coral-edge);background:var(--coral-face);color:var(--coral-text)}.slot-text{display:block}.slot.is-spinning .slot-reel li{filter:blur(.5px)}@media (prefers-reduced-motion: reduce){.slot-reel{transition:none!important}}:root[data-theme=dark] .slot{background:#a8861c}.slot-mode{width:100%;max-width:420px}.slot-mode.is-locked{opacity:.55;pointer-events:none}.slot-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (max-width: 480px){.slot{--row: 120px;padding:8px}.slot-reel li{padding:0 10px;font-size:16px}.slot-reel li.on{font-size:19px}}dialog.modal .m-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}dialog.modal .m-actions .btn{min-width:0;white-space:normal;line-height:1.2;text-wrap:balance}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.theme-grid .choice{min-width:0;min-height:92px;padding:16px 8px;gap:2px}.theme-grid .choice-name{max-width:100%;padding-inline:16px;line-height:1.25;overflow-wrap:break-word}.theme-grid .choice-sub{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-grid .choice:after{top:6px;right:6px;width:18px;height:18px;background-size:11px}@media (min-width: 560px){.theme-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.namer .name-card{display:grid;gap:14px;padding:20px;text-align:center;margin-top:0}.namer .name-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.namer .name-turn{font-size:22px;font-weight:900}.namer .reroll{justify-self:end;margin-top:-6px}.namer .name-card .name-stage{display:none;gap:12px}.namer .name-card[data-stage=choose] .stage-choose,.namer .name-card[data-stage=own] .stage-own,.namer .name-card[data-stage=reveal] .stage-reveal{display:grid}.namer .draw-btn{--h: 80px;font-size:24px;border-radius:var(--r-lg)}.namer .deck{display:block;width:190px;height:auto;margin:0 auto 4px;overflow:visible;animation:deck-float 2.4s ease-in-out infinite}.namer .deck .deck-top{transform-box:fill-box;transform-origin:center}.namer .deck.is-drawing{animation:none}.namer .deck.is-drawing .deck-top{animation:card-fly .38s cubic-bezier(.5,0,.7,.4) forwards}@keyframes deck-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes card-fly{to{transform:translateY(-90px) rotate(14deg) scale(1.08);opacity:0}}.namer .drawn-card{padding:18px 14px 20px;border:2px solid var(--mint-edge);border-radius:var(--r-lg);background:var(--mint-face);box-shadow:0 5px 0 var(--mint-edge);animation:card-flip .5s cubic-bezier(.2,1.3,.4,1) 1}.namer .drawn-card.pop{animation:card-flip .5s cubic-bezier(.2,1.3,.4,1) 1}@keyframes card-flip{0%{transform:perspective(600px) rotateY(90deg) scale(.85)}to{transform:none}}.namer .reveal-hint{margin:0;color:var(--muted);font-size:15px;font-weight:700;text-wrap:balance}@media (prefers-reduced-motion: reduce){.namer .deck,.namer .deck .deck-top,.namer .drawn-card{animation:none!important}}.namer .pool-empty{margin:0}.namer .pass-row{display:flex;align-items:stretch;gap:10px;margin-top:4px}.namer .pass-row .pass-bar:not(.pass-redraw){flex:1;min-width:0}.namer .pass-bar{--h: 72px;font-size:19px;padding-inline:14px;border-radius:var(--r-lg);white-space:normal;line-height:1.3}.namer .pass-redraw{flex:none;padding:0 18px;font-size:16px;white-space:nowrap}.namer .own-say{max-width:none;margin-top:12px;text-align:left;font-size:18px}.namer .you-are{margin:0;color:var(--mint-text);font-weight:800;opacity:.8}.namer .drawn-name{margin:0;font-size:clamp(36px,11vw,56px);font-weight:900;line-height:1.2;word-break:keep-all;overflow-wrap:anywhere;color:var(--mint-text)}.namer .named{margin-top:20px;padding:0}.namer .named h2{margin:0 0 8px;color:var(--muted);font-weight:800}.namer .named-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.namer .named-chip{display:inline-flex;align-items:center;gap:2px;padding:4px 4px 4px 12px;border-radius:var(--r-pill);border:2px solid var(--edge-n);background:var(--surface);font-weight:800}.namer .chosen-remove{flex:none;width:28px;height:28px;border:0;border-radius:var(--r-pill);background:none;color:var(--muted);cursor:pointer;font-size:13px}.namer .chosen-remove:hover{background:var(--coral-face);color:var(--coral-text)}.namer .need-more{margin-top:16px;text-align:center;background:none;border:0;padding:0;color:var(--muted);font-weight:700}.namer .all-done{margin-top:8px}@media (min-width: 760px){.namer .name-card{padding:28px 36px}}.metro{display:grid;gap:16px;justify-items:center;width:100%}.metro-beats{gap:14px}.metro-beats i{width:44px;height:44px;transition:transform .06s,background .06s}.metro-beats i.on{background:var(--orange);transform:scale(1.18)}.metro-beats i.accent.on{background:var(--coral)}.metro-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}.metro-tempo output{min-width:96px;font-size:18px}.metro-auto{min-height:44px}.metro-toggle{max-width:420px}.metro-intro{display:flex;justify-content:center;gap:8px;min-height:52px;align-items:center;flex-wrap:wrap}.metro-intro span{display:grid;place-items:center;height:44px;padding:0 14px;border-radius:var(--r-md);border:2px solid var(--edge-n);background:var(--sunken);font-size:18px;font-weight:900;color:var(--muted);transition:transform .08s,background .08s}.metro-intro span.on{background:var(--orange);border-color:var(--orange-edge);color:var(--ink);transform:translateY(-4px) scale(1.08)}.metro-beats{min-height:52px;align-items:center}.metro-intro[hidden],.metro-beats[hidden]{display:none}@media (prefers-reduced-motion: reduce){.metro-intro span{transition:none}.metro-intro span.on{transform:none}}@media (prefers-reduced-motion: reduce){.metro-beats i{transition:none}.metro-beats i.on{transform:none}}.recorder{display:grid;gap:12px}.rec-btn .rec-dot{width:12px;height:12px;border-radius:50%;background:var(--coral-edge);flex:none}.rec-btn.btn-solid .rec-dot{background:var(--coral)}.rec-btn.btn-danger .rec-dot{border-radius:3px}.recorder .progress{max-width:none}.recorder .progress>div{transition:none}.rec-meter{display:flex;align-items:center;gap:10px}.rec-meter .progress{flex:1}.rec-time{flex:none;min-width:3.6em;text-align:right;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.rec-time:empty{display:none}.rec-status{margin:-4px 0 0;font-size:13px;color:var(--muted)}.rec-status:empty{display:none}.rec-plays{display:flex;flex-wrap:wrap;gap:10px}.rec-plays .btn{flex:1 1 0;min-width:120px}.rec-plays .is-reverse{flex-grow:2}.rec-plays svg{width:18px;height:18px}.is-reverse svg{transform:scaleX(-1)}.btn.is-playing svg{display:none}.btn.is-playing:before{content:"";width:12px;height:12px;border-radius:3px;background:var(--coral-edge);flex:none}.rec-plays:empty{display:none}.avalon-app{--game-edge: var(--indigo-edge)}:root[data-theme=dark] .avalon-app{--game-edge: var(--accent-text)}#root{min-height:100vh}.game-main .panel h2{margin-bottom:14px}.avalon-stepper button:disabled{opacity:.35;cursor:not-allowed}.team-split{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.team-split .badge{font-size:14px;padding:4px 12px}.role-chips{display:flex;flex-wrap:wrap;gap:8px}.role-chips .chip{margin-bottom:3px}.role-chips .chip:disabled{cursor:default;opacity:1}.role-chips+.form-error{margin-top:14px}.voice-status{margin:0 0 14px;color:var(--muted);font-weight:700}.voice-player{display:grid;gap:12px}.voice-player>.btn-lg{margin-bottom:5px}.voice-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.voice-controls .btn{min-width:0;padding:0 8px;white-space:normal;line-height:1.2;margin-bottom:4px}.voice-player .field-label{margin:4px 0 0}.voice-script{white-space:pre-line;max-width:none;line-height:1.9;font-size:17px;margin-top:18px}
