.hw{display:flex;flex-direction:column;gap:12px}.hw-stage{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 12px 12px;border-radius:var(--radius);background:var(--surface-2);touch-action:pan-y;user-select:none}.hw-frame{min-height:196px;display:grid;place-items:center}.hw-say{min-height:2.6em;margin:0;text-align:center;font-size:1.05rem;font-weight:800;line-height:1.3;color:var(--text);text-wrap:balance}.hw-board{display:grid;gap:3px;justify-content:center;align-items:center}.hw-board.hw-tiles{gap:5px}.hw-cell{width:var(--hw-size);height:var(--hw-size);display:grid;place-items:center;border-radius:6px;background:var(--surface);border:1px solid var(--border);font-weight:900;font-size:calc(var(--hw-size) * .48);line-height:1;color:var(--text);transition:background .25s var(--ease),color .25s var(--ease)}.hw-tiles .hw-cell{width:auto;min-width:var(--hw-size);padding:0 8px;font-size:.85rem}.hw-clue{display:grid;place-items:center;min-width:18px;height:var(--hw-size);font-weight:900;font-size:.9rem;color:var(--muted)}.hw-board>.hw-clue:nth-child(-n+50){height:auto;min-height:18px}.hw-new{animation:hw-pop .45s var(--ease-bounce)}.hw-hi{box-shadow:0 0 0 3px var(--warn);animation:hw-ring 1.2s ease-in-out infinite}@keyframes hw-pop{0%{transform:scale(.4);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes hw-ring{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--warn) 55%,transparent)}}.hw-plain{background:none;border-color:transparent}.hw-word{background:var(--surface)}.hw-sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.hw-good{background:var(--good);color:#fff;border-color:var(--good)}.hw-warn{background:var(--warn);color:#1c1606;border-color:var(--warn)}.hw-bad{background:var(--bad);color:#fff;border-color:var(--bad)}.hw-ghost{background:none;border:2px dashed var(--border)}.hw-dim{opacity:.35}.hw-big{font-size:calc(var(--hw-size) * .62)}.hw-wall{background:var(--fa-wall, #262b36);color:var(--fa-wall-ink, #fff);border-color:transparent}.hw-lit{background:color-mix(in srgb,var(--fa-glow, #ffcf6b) 55%,var(--surface))}.hw-lamp{background:color-mix(in srgb,var(--fa-glow, #ffcf6b) 55%,var(--surface));color:var(--fa-lamp, #f5b02e);font-size:calc(var(--hw-size) * .95);text-shadow:0 0 8px var(--fa-glow, #ffcf6b)}.hw-lamp.hw-bad{color:#fff}.hw-dotm{color:var(--muted)}.hw-water{background:color-mix(in srgb,#3b8fd9 18%,var(--surface));color:#3b8fd9;font-size:calc(var(--hw-size) * .7)}.hw-ship{background:var(--fl-ship, #1f3a5f);border-color:transparent}html.dark .hw-ship{background:#8fb8e8}.hw-sl{border-radius:50% 6px 6px 50%}.hw-sr{border-radius:6px 50% 50% 6px}.hw-st{border-radius:50% 50% 6px 6px}.hw-sb{border-radius:6px 6px 50% 50%}.hw-s1{border-radius:50%}.hw-given{background:var(--surface)}.hw-put{color:#2f6df6}html.dark .hw-put{color:#8fb0ff}.hw-br{margin-right:7px}.hw-bb{margin-bottom:7px}.hw-on{background:#ffd34d;border-color:#e0a316;box-shadow:0 0 12px #ffc4008c}.hw-off{background:var(--surface-3)}html.cb .hw-on:after{content:"☀";color:#6b4a00}.hw-peg{border-radius:50%;color:#ffffffeb;font-size:calc(var(--hw-size) * .55);border-color:transparent}.hw-pc0{background:var(--co-c0, #e5484d)}.hw-pc2{background:var(--co-c2, #f5c542);color:#4a3800}.hw-pc3{background:var(--co-c3, #3aa45b)}.hw-pc4{background:var(--co-c4, #3b73d9)}.hw-pc5{background:var(--co-c5, #8b5cf6)}.hw-pc6{background:var(--co-c6, #ec6fad)}.hw-kx{background:var(--co-exact, #2f9e55);border-color:transparent;border-radius:50%;transform:scale(.5)}.hw-kp{background:none;border:4px solid var(--co-partial, #e3a008);border-radius:50%;transform:scale(.5)}.hw-k0{background:var(--surface-3);border-color:transparent;border-radius:50%;transform:scale(.35)}.hw-card{min-width:calc(var(--hw-size) * 1.6)!important;height:calc(var(--hw-size) * 1.15);font-size:1.7rem!important;letter-spacing:.02em}.hw-pick{box-shadow:0 0 0 3px var(--good)}.hw-nope{box-shadow:0 0 0 3px var(--bad);animation:hw-shake .4s var(--ease)}@keyframes hw-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.hw-cr{color:#d64545}.hw-cg{color:#3f9d5a}.hw-cp{color:#8a5cf6}.hw-g0{background:#f9df6d;color:#141a2a;border-color:transparent}.hw-g1{background:#a0c35a;color:#141a2a;border-color:transparent}.hw-g2{background:#b0c4ef;color:#141a2a;border-color:transparent}.hw-g3{background:#ba81c5;color:#141a2a;border-color:transparent}.hw-sil{background:var(--text);opacity:.85;border-color:transparent}.hw-tri{background:none;border-color:transparent;font-size:calc(var(--hw-size) * 1.05)}.hw-t1{color:#e5533d}.hw-t2{color:#2f6df6}.hw-t3{color:#3f9d5a}.hw-t4{color:#e0a316}.hw-nav{display:flex;align-items:center;justify-content:center;gap:6px}.hw-arrow,.hw-toggle{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:var(--surface-2);color:var(--text);font-size:1.4rem;font-weight:900;line-height:1;cursor:pointer}.hw-toggle{font-size:.8rem;margin-left:8px}.hw-dots{display:flex;gap:2px}.hw-dot{width:24px;height:40px;border:0;background:none;cursor:pointer;display:grid;place-items:center}.hw-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--border);transition:width .2s var(--ease)}.hw-dot[aria-current=true]:before{background:var(--text);width:18px;border-radius:4px}.hw-rules summary{cursor:pointer;font-weight:800;color:var(--muted);font-size:.9rem;padding:4px 0}.hw-rules-body{padding-top:8px}.hw-rules-body p{margin:0 0 10px}@media(prefers-reduced-motion:reduce){.hw-new,.hw-hi{animation:none}}.hw-span{grid-column:1 / -1}.hw-rows{display:flex;flex-direction:column;align-items:stretch;gap:6px}.hw-row{display:flex;justify-content:center;gap:6px}.hw-rows .hw-cell.hw-span{flex:1 1 100%}.hw-cell.hw-span{width:auto;height:auto;min-height:36px;padding:6px 12px;font-size:.9rem;text-transform:none;letter-spacing:0}.in-intro{margin:0 0 14px;color:var(--muted);font-size:15px;line-height:1.45}.in-intro b{color:var(--text)}.in-phone{position:relative;width:168px;height:268px;margin:0 auto 16px;border:4px solid var(--text);border-radius:28px;background:var(--surface-2);overflow:hidden}.in-scene{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;animation:in-scene var(--in-loop, 12s) ease-in-out infinite both}.in-sheet{justify-content:flex-end}.in-drop{align-items:flex-end}.in-bar{display:flex;align-items:center;gap:6px;padding:8px;background:var(--surface);border-bottom:1px solid var(--border)}.in-bar.bottom{margin-top:auto;border-bottom:0;border-top:1px solid var(--border)}.in-url{flex:1;height:28px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;overflow:hidden;white-space:nowrap}.in-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:var(--accent-ink)}.in-rot{display:flex;transform:rotate(90deg)}.in-tap{animation:in-tap 1.5s ease-in-out infinite}.in-line{height:10px;margin:16px 12px 0;border-radius:4px;background:var(--border)}.in-line.short{width:60%;margin-top:8px}.in-card{height:56px;margin:8px 12px 0;border-radius:10px;background:var(--accent-soft)}.in-panel{margin:0;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:14px 14px 0 0;box-shadow:var(--shadow)}.in-drop .in-panel{width:86%;margin:8px 6px 0 0;border-radius:12px}.in-grab{width:32px;height:4px;margin:0 auto 8px;border-radius:2px;background:var(--border)}.in-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;color:var(--muted);font-size:12px}.in-row.hot{background:var(--accent-soft);color:var(--text);font-weight:700;outline:2px solid var(--accent);outline-offset:-2px;animation:in-tap 1.5s ease-in-out infinite}.in-row.hot svg{color:var(--accent)}.in-blank{width:14px;height:14px;border-radius:4px;background:var(--border);flex:none}.in-grid{display:grid;grid-template-columns:repeat(3,36px);justify-content:center;gap:12px;padding:22px 12px 0}.in-tile,.in-app{width:36px;height:36px;border-radius:10px}.in-tile{background:var(--border)}.in-app{animation:in-icon var(--in-loop, 12s) ease-out infinite both;box-shadow:0 0 0 2px var(--accent)}.in-done{position:absolute;inset:auto 8px 16px;padding:6px 8px;border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:11px;font-weight:700;text-align:center}.in-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.45}.in-steps li{display:flex;align-items:flex-start;gap:12px}.in-n{flex:none;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-soft);color:var(--text);font-weight:800;font-size:14px}.in-ic{display:inline-flex;vertical-align:-2px;color:var(--accent)}.in-actions{display:flex;justify-content:center}.in-invite{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;width:min(420px,calc(100% - 24px));box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:center;padding:14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transform:translate(-50%);animation:in-up .35s var(--ease) both}.in-invite.out{animation:in-down .25s ease-in both}.in-invite img{border-radius:10px}.in-invite-text{display:flex;flex-direction:column;gap:2px}.in-invite-text small{color:var(--muted);font-size:14px}.in-invite-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}.in-invite-actions .sh-btn{min-height:44px}@keyframes in-scene{0%,5%{opacity:0;transform:translateY(6px)}9%,30%{opacity:1;transform:translateY(0)}36%,to{opacity:0;transform:translateY(-4px)}}@keyframes in-tap{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes in-icon{0%,8%{opacity:0;transform:scale(.4)}13%{opacity:1;transform:scale(1.12)}16%,to{opacity:1;transform:scale(1)}}@keyframes in-up{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}@keyframes in-down{to{opacity:0;transform:translate(-50%,24px)}}@media(prefers-reduced-motion:reduce){.in-phone{display:none}.in-invite,.in-invite.out{animation:none}}
