:root{--font-display: "Unbounded", "Manrope", system-ui, sans-serif;--font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg: #08080d;--bg-glow: #131627;--panel: #121219;--panel-2: #1a1a25;--board: #0c0c13;--board-line: #22222f;--pad: #16161e;--pad-line: #262633;--pad-primary: #0a3540;--pad-danger: #3a0d13;--text: #f2f5ff;--dim: #8d92a8;--c-primary: #22d3ee;--c-secondary: #f43f7a;--c-danger: #ff3d3d;--c-warn: #ffc233;--c-action: #35e884;--c-hero: #a78bfa;--c-last: #ffffff;--shade: #04060b;color-scheme:dark}:root[data-theme=ember]{--bg: #0c0805;--bg-glow: #221108;--panel: #191009;--panel-2: #241811;--board: #120b06;--board-line: #2b1b10;--pad: #1c130c;--pad-line: #332216;--pad-primary: #3d2410;--pad-danger: #3d0f0f;--text: #fbf3ea;--dim: #a28d77;--c-primary: #ff9a3c;--c-secondary: #ff4d6d;--c-danger: #ff2e2e;--c-warn: #ffd166;--c-action: #ffb020;--c-hero: #ff7b54;--c-last: #ffffff}:root[data-theme=violet]{--bg: #0a0613;--bg-glow: #1e1140;--panel: #140d24;--panel-2: #1d1433;--board: #0d0819;--board-line: #2b1f4a;--pad: #160f28;--pad-line: #30224f;--pad-primary: #2f1a63;--pad-danger: #40102e;--text: #f5efff;--dim: #9b8ac4;--c-primary: #b06cff;--c-secondary: #ff5cc0;--c-danger: #ff4070;--c-warn: #ffd166;--c-action: #5cf0b4;--c-hero: #5cd6ff;--c-last: #ffffff}:root[data-theme=jade]{--bg: #03110c;--bg-glow: #0a2b1c;--panel: #0a1b13;--panel-2: #11281c;--board: #07160f;--board-line: #193425;--pad: #0c1e15;--pad-line: #1d3d2a;--pad-primary: #0d4030;--pad-danger: #3d1512;--text: #edfaf1;--dim: #7ba892;--c-primary: #21c98b;--c-secondary: #ff4d6d;--c-danger: #ff4a34;--c-warn: #ffcf5c;--c-action: #b8f25c;--c-hero: #ffc247;--c-last: #ffffff}:root[data-theme=slate]{color-scheme:light;--shade: #464e63;--bg: #e9ecf1;--bg-glow: #ffffff;--panel: #f5f7fa;--panel-2: #e4e8ef;--board: #f0f2f6;--board-line: #b9c1cf;--pad: #ffffff;--pad-line: #cbd3e0;--pad-primary: #cdb1dc;--pad-danger: #eeaba7;--text: #1c2333;--dim: #6b7488;--c-primary: #7b2d8b;--c-secondary: #c2185b;--c-danger: #c0261f;--c-warn: #8f5a00;--c-action: #0f7a63;--c-hero: #4a2d8f;--c-last: #101623}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:-20%;right:-20%;bottom:0;left:-20%;pointer-events:none;z-index:-2;background:radial-gradient(1100px 620px at 50% 0%,var(--bg-glow) 0%,color-mix(in srgb,var(--bg-glow) 45%,transparent) 38%,transparent 72%),repeating-linear-gradient(90deg,color-mix(in srgb,var(--c-primary) 7%,transparent) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,color-mix(in srgb,var(--c-primary) 7%,transparent) 0 1px,transparent 1px 64px);animation:sky-drift 24s linear infinite}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.05 0.05 0.05 0 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E"),radial-gradient(620px 380px at 50% 8%,color-mix(in srgb,var(--c-hero) 9%,transparent),color-mix(in srgb,var(--c-hero) 4%,transparent) 45%,transparent 72%);animation:sky-pulse 9s ease-in-out infinite}@keyframes sky-drift{to{background-position:0 0,64px 0,0 64px}}@keyframes sky-pulse{50%{opacity:.45}}#app{max-width:1060px;margin:0 auto;padding:16px;min-height:100%}.screen{display:flex;flex-direction:column;gap:14px;padding-top:8px}.screen.screen-enter{animation:screen-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes screen-in{0%{opacity:0;transform:translateY(12px)}}.screen.center{align-items:center;text-align:center;padding-top:8vh}.screen.stack{position:relative;align-items:center;justify-content:center;min-height:calc(100dvh - 32px);padding-top:40px}.screen.stack>.back-btn{position:absolute;top:4px;left:0}.screen.stack>.screen-title,.screen.stack>.hint{max-width:560px;text-align:center}.title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,6.5vw,3rem);line-height:1.05;letter-spacing:.02em;text-wrap:balance;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--c-primary) 42%,transparent))}.title-ink{background:linear-gradient(100deg,var(--c-primary) 0%,var(--c-hero) 38%,var(--c-secondary) 62%,var(--c-primary) 100%);background:linear-gradient(100deg in oklch shorter hue,var(--c-primary) 0%,var(--c-hero) 38%,var(--c-secondary) 62%,var(--c-primary) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:title-shimmer 11s ease-in-out infinite}@keyframes title-shimmer{50%{background-position:100% 0}}.subtitle{color:var(--dim);letter-spacing:.04em}.screen-title{font-family:var(--font-display);font-weight:600;font-size:1.25rem;letter-spacing:.01em}.hint{color:var(--dim);font-size:.9rem}.rank-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;text-align:left;background:radial-gradient(120% 140% at 12% 0%,color-mix(in srgb,var(--c-hero) 16%,transparent),transparent 60%),linear-gradient(150deg,var(--panel-2),var(--panel));border:1px solid color-mix(in srgb,var(--c-hero) 38%,var(--panel));border-radius:16px;padding:18px 32px 18px 22px;margin:10px 0;color:inherit;font:inherit;box-shadow:0 0 10px color-mix(in srgb,var(--c-hero) 26%,transparent),inset 0 1px color-mix(in srgb,#fff 12%,transparent),0 6px 12px color-mix(in srgb,var(--shade) 60%,transparent);transition:box-shadow .18s ease,transform .18s ease}.rank-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 38%,color-mix(in srgb,#fff 18%,transparent) 50%,transparent 62%);transform:translate(-130%);animation:card-shine 6.5s ease-in-out infinite;pointer-events:none}@keyframes card-shine{0%,72%{transform:translate(-130%)}92%,to{transform:translate(130%)}}.rank-card:hover,.rank-card:focus-visible{transform:translateY(-3px);box-shadow:0 0 12px color-mix(in srgb,var(--c-hero) 42%,transparent),inset 0 1px color-mix(in srgb,#fff 16%,transparent),0 8px 12px color-mix(in srgb,var(--shade) 65%,transparent)}.rank-card-text{display:flex;flex-direction:column;gap:3px}.rank-name{font-family:var(--font-display);font-size:1.35rem;font-weight:800;letter-spacing:.01em;color:var(--c-warn);text-shadow:0 0 11px color-mix(in srgb,var(--c-warn) 60%,transparent)}.rank-sub{color:var(--dim);font-size:.85rem}.rank-hint{color:var(--c-primary);font-size:.8rem;font-weight:600;margin-top:4px}.medal{display:inline-flex;line-height:0;filter:drop-shadow(0 2px 5px color-mix(in srgb,var(--bg) 70%,transparent))}.rank-grid{display:flex;flex-direction:column;gap:6px;max-width:560px}.rank-row{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,color-mix(in srgb,#fff 3%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--dim) 16%,var(--panel));border-radius:12px;padding:7px 16px 7px 12px;min-width:0;box-shadow:inset 0 1px color-mix(in srgb,#fff 6%,transparent);transition:transform .14s ease,border-color .14s ease}.rank-row:hover{transform:translate(3px);border-color:color-mix(in srgb,var(--c-primary) 40%,transparent)}.rank-no{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:700;color:var(--dim);min-width:26px;text-align:right}.rank-row.here{border-color:var(--c-primary);box-shadow:0 0 9px color-mix(in srgb,var(--c-primary) 32%,transparent)}.rank-text{display:flex;flex:1;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.rank-title{font-family:var(--font-display);font-size:.88rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-points{font-family:var(--font-mono);font-size:.78rem;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}button{font-family:inherit;color:inherit;cursor:pointer;border:none;background:none}.big-btn{position:relative;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--c-primary) 24%,var(--panel)),color-mix(in srgb,var(--c-primary) 10%,var(--panel)));border:1px solid var(--c-primary);color:var(--text);font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:.06em;padding:15px 48px;border-radius:13px;box-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 36%,transparent),inset 0 1px color-mix(in srgb,#fff 22%,transparent),inset 0 -10px 18px color-mix(in srgb,var(--shade) 45%,transparent);transition:box-shadow .18s ease,transform .12s ease}.big-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,#fff 26%,transparent) 50%,transparent 65%);transform:translate(-120%);transition:transform .55s ease}.big-btn:hover:after,.big-btn:focus-visible:after{transform:translate(120%)}.big-btn:hover{transform:translateY(-2px);box-shadow:0 0 12px color-mix(in srgb,var(--c-primary) 56%,transparent),inset 0 1px color-mix(in srgb,#fff 28%,transparent),inset 0 -10px 18px color-mix(in srgb,var(--bg) 45%,transparent)}.big-btn:active{transform:translateY(1px)}.big-btn:disabled{opacity:.35;cursor:default;box-shadow:none}.big-btn.ghost{background:transparent;border:1px solid color-mix(in srgb,var(--dim) 45%,transparent);color:var(--dim);box-shadow:none}.back-btn{align-self:flex-start;color:var(--dim);font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.06em;padding:6px 10px 6px 0;transition:color .14s ease,transform .14s ease}.back-btn:hover{color:var(--c-primary);transform:translate(-3px)}:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;border-radius:6px}.menu-list{display:flex;flex-direction:column;gap:12px;max-width:440px;width:100%}.menu-btn,.level-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:linear-gradient(180deg,color-mix(in srgb,#fff 4%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--dim) 25%,var(--panel));border-left:3px solid var(--c-primary);border-radius:12px;padding:15px 18px;text-align:left;box-shadow:inset 0 1px color-mix(in srgb,#fff 8%,transparent),0 5px 12px color-mix(in srgb,var(--shade) 55%,transparent);transition:box-shadow .16s ease,background .16s ease,transform .16s ease}.menu-btn:after,.level-btn:after{content:"›";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--dim);font-size:1.2rem;transition:transform .16s ease,color .16s ease}.level-btn:after{content:""}.menu-btn:hover:after{color:var(--c-primary);transform:translate(3px,-50%)}.menu-list>.menu-btn:nth-of-type(1){border-left-color:var(--c-secondary)}.menu-list>.menu-btn:nth-of-type(2){border-left-color:var(--c-primary)}.menu-list>.menu-btn:nth-of-type(3){border-left-color:var(--c-action)}.menu-list>.menu-btn:nth-of-type(4){border-left-color:var(--c-warn)}.menu-btn.locked,.crew-chip.locked{filter:grayscale(1);opacity:.55;cursor:not-allowed}.menu-btn.locked:hover,.crew-chip.locked:hover{transform:none;border-color:color-mix(in srgb,var(--dim) 30%,transparent)}.menu-btn.locked .lock-mark{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1rem}.crew-chip.locked .lock-mark{font-size:.7rem}.menu-btn:hover,.level-btn:hover{background:var(--panel-2);transform:translateY(-2px);box-shadow:inset 0 1px color-mix(in srgb,#fff 10%,transparent),0 6px 12px color-mix(in srgb,var(--shade) 55%,transparent),0 0 10px color-mix(in srgb,var(--c-primary) 26%,transparent)}.menu-btn-label{font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:.04em}.menu-btn-desc{color:var(--dim);font-size:.85rem}.level-row{display:flex;gap:10px}.level-row.hidden{display:none}.level-btn{flex:1;align-items:center;text-align:center}.level-row .level-btn:nth-of-type(1){border-left-color:var(--c-action)}.level-row .level-btn:nth-of-type(2){border-left-color:var(--c-warn)}.level-row .level-btn:nth-of-type(3){border-left-color:var(--c-danger)}.theme-block{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:8px}.theme-row{display:flex;gap:12px}.theme-dot{width:34px;height:34px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 8px color-mix(in srgb,var(--text) 15%,transparent)}.theme-dot.active{border-color:var(--text);box-shadow:0 0 12px color-mix(in srgb,var(--text) 45%,transparent)}.pref-row{display:flex;gap:10px;align-items:center;margin-top:4px}.pref{display:flex;gap:4px}.pref-btn{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--dim);background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 22%,transparent);border-radius:8px;padding:5px 11px;transition:color .14s ease,border-color .14s ease}.pref-btn.active{color:var(--c-primary);border-color:var(--c-primary)}.pref-btn:hover{color:var(--text)}.copy-link{margin-top:-4px}.code-input{background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 40%,var(--panel));border-radius:12px;color:var(--c-primary);font-size:2rem;letter-spacing:.35em;text-align:center;text-transform:uppercase;padding:14px 10px;width:min(320px,90vw);outline:none;text-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 50%,transparent)}.code-input:focus{border-color:var(--c-primary);box-shadow:0 0 9px color-mix(in srgb,var(--c-primary) 38%,transparent)}.room-code{font-size:2.4rem;font-weight:800;letter-spacing:.3em;color:var(--c-warn);text-shadow:0 0 12px color-mix(in srgb,var(--c-warn) 65%,transparent);background:var(--panel);border:1px dashed color-mix(in srgb,var(--dim) 55%,transparent);border-radius:12px;padding:14px 26px;-webkit-user-select:all;user-select:all}.spinner{width:42px;height:42px;border:4px solid var(--panel-2);border-top-color:var(--c-primary);border-radius:50%;animation:spin .9s linear infinite;box-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 34%,transparent)}@keyframes spin{to{transform:rotate(360deg)}}.tutorial{display:flex;flex-direction:column;gap:12px;max-width:560px;line-height:1.5}.tutorial ul{padding-left:20px;display:flex;flex-direction:column;gap:6px}.tutorial-shape{align-self:center;width:min(240px,70vw)}.game-header{display:flex;align-items:center;gap:12px}.status{flex:1;font-weight:600;font-size:.95rem}.header-right{display:flex;align-items:center;gap:8px}.room-chip{background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 25%,var(--panel));border-radius:8px;color:var(--dim);font-size:.8rem;letter-spacing:.15em;padding:4px 8px}.arcade-link{align-self:flex-start;color:color-mix(in srgb,var(--dim) 70%,var(--text));font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;padding:4px 2px;text-decoration:none;transition:color .15s ease}.arcade-link:hover,.arcade-link:focus-visible{color:var(--c-primary)}.icon-btn{background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 45%,var(--panel));border-radius:8px;color:color-mix(in srgb,var(--dim) 70%,var(--text));cursor:pointer;font-size:.85rem;line-height:1;padding:5px 7px;transition:border-color .15s ease,color .15s ease}.icon-btn:hover,.icon-btn:focus-visible{border-color:color-mix(in srgb,var(--c-primary) 45%,transparent);color:var(--text)}.icon-btn.active{color:var(--text)}.countdown{min-width:44px;text-align:right;color:var(--c-warn);text-shadow:0 0 12px color-mix(in srgb,var(--c-warn) 60%,transparent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem}.room-chip{font-family:var(--font-mono)}.score-bar{display:flex;align-items:center;justify-content:center;gap:14px}.score-chip{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;font-size:1.05rem;padding:7px 18px;border-radius:11px;background:linear-gradient(180deg,color-mix(in srgb,#fff 5%,var(--panel)),var(--panel))}.score-chip.me{color:var(--c-primary);border:1px solid var(--c-primary);text-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 60%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--c-primary) 20%,transparent)}.score-chip.foe{color:var(--c-secondary);border:1px solid var(--c-secondary);text-shadow:0 0 10px color-mix(in srgb,var(--c-secondary) 60%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--c-secondary) 20%,transparent)}.score-vs{color:var(--dim)}.score-chip .combo{color:var(--c-warn);text-shadow:0 0 8px color-mix(in srgb,var(--c-warn) 70%,transparent);animation:combo-pulse .8s ease-in-out infinite}@keyframes combo-pulse{50%{opacity:.6}}.board-wrap.on-fire .grid{border-color:var(--c-warn);animation:fire-pulse .9s ease-in-out infinite}@keyframes fire-pulse{0%,to{box-shadow:0 0 6px color-mix(in srgb,var(--c-warn) calc(24% + 6% * var(--fire, 2)),transparent)}50%{box-shadow:0 0 12px color-mix(in srgb,var(--c-warn) calc(36% + 9% * var(--fire, 2)),transparent)}}.crew-screen{gap:14px}.crew-chip{display:flex;align-items:center;gap:8px;background:var(--panel-2);border:1px solid color-mix(in srgb,var(--dim) 22%,transparent);border-radius:999px;padding:5px 14px 5px 8px;color:inherit;cursor:pointer;font:inherit}.crew-chip:hover{border-color:color-mix(in srgb,var(--c-action) 55%,transparent)}.crew-chip-name{font-family:var(--font-display);font-weight:600;font-size:.9rem}.crew-chip-rank,.crew-chip-empty{font-size:.74rem;color:var(--dim)}.banner svg{display:block;filter:drop-shadow(0 2px 6px rgb(0 0 0 / .35))}.crew-card{display:flex;align-items:center;gap:14px;width:100%;background:var(--panel-2);border:1px solid color-mix(in srgb,var(--dim) 22%,transparent);border-radius:14px;padding:14px}.crew-card-text{display:flex;flex-direction:column;gap:2px}.crew-name{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.crew-rank{font-size:.86rem;color:var(--c-action)}.crew-points{font-family:var(--font-mono);font-size:.76rem;color:var(--dim)}.crew-block{display:flex;flex-direction:column;gap:8px;width:100%;background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 16%,transparent);border-radius:12px;padding:12px}.block-title{margin:0;font-family:var(--font-display);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.crew-member,.found-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:9px;background:var(--panel-2)}.crew-member.leader{border:1px solid color-mix(in srgb,var(--c-action) 40%,transparent)}.dot{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--dim) 50%,transparent);flex:none}.dot.online{background:var(--c-action);box-shadow:0 0 8px var(--c-action)}.member-text,.found-text{display:flex;flex-direction:column;flex:1;min-width:0}.member-name,.found-name{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-rank,.found-sub{font-size:.72rem;color:var(--dim)}.member-points{font-family:var(--font-mono);font-size:.82rem;font-variant-numeric:tabular-nums}.leader-tag{font-size:.62rem;letter-spacing:.08em;color:var(--c-action)}.tiny-btn{font-family:var(--font-display);font-size:.6rem;letter-spacing:.06em;padding:4px 7px;border-radius:6px;border:1px solid color-mix(in srgb,var(--dim) 34%,transparent);background:transparent;color:var(--dim);cursor:pointer}.tiny-btn:hover{color:var(--fg);border-color:var(--c-action)}.tiny-btn.danger:hover,.small-btn.danger:hover,.big-btn.danger{border-color:var(--c-danger);color:var(--c-danger)}.find-row{display:flex;gap:8px;align-items:center}.code-input.wide{flex:1;letter-spacing:normal;text-align:left;font-family:var(--font-body);font-size:.95rem}.found-pending{font-size:.72rem;color:var(--dim)}.banner-editor{display:flex;gap:12px;align-items:flex-start}.banner-controls{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.banner-row{display:flex;align-items:center;gap:8px}.banner-label{font-size:.7rem;color:var(--dim);width:3.6rem;flex:none}.banner-choices{display:flex;flex-wrap:wrap;gap:4px}.banner-chip{width:1.5rem;height:1.5rem;border-radius:6px;border:1px solid color-mix(in srgb,var(--dim) 30%,transparent);background:transparent;color:var(--dim);font-family:var(--font-mono);font-size:.68rem;cursor:pointer}.banner-chip.active{border-color:var(--c-action);color:var(--c-action);background:color-mix(in srgb,var(--c-action) 16%,transparent)}.hue-slider{flex:1;accent-color:var(--c-action)}.danger-block{border-color:color-mix(in srgb,var(--c-danger) 26%,transparent)}.warn{margin:0;font-size:.82rem;color:var(--c-danger)}.queue-pips{display:flex;gap:6px}.pip{width:10px;height:10px;border-radius:50%;border:1px solid color-mix(in srgb,var(--dim) 45%,transparent)}.pip.on{background:var(--c-action);border-color:var(--c-action);box-shadow:0 0 8px var(--c-action)}.lobby-screen{gap:14px}.lobby-sides{display:flex;align-items:flex-start;gap:14px;width:100%}.lobby-side{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0;background:var(--panel-2);border:1px solid color-mix(in srgb,var(--dim) 20%,transparent);border-radius:12px;padding:12px 10px}.lobby-side.mine{border-color:color-mix(in srgb,var(--c-action) 45%,transparent)}.lobby-crew-name{font-family:var(--font-display);font-weight:700}.lobby-crew-rank{font-size:.72rem;color:var(--dim);margin-bottom:4px}.lobby-member{display:flex;align-items:baseline;gap:6px;width:100%;font-size:.8rem;opacity:.55}.lobby-member.ready{opacity:1}.lobby-tick{font-family:var(--font-mono);color:var(--dim);width:.8rem}.lobby-member.ready .lobby-tick{color:var(--c-action)}.lobby-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-rank{font-size:.68rem;color:var(--dim)}.lobby-vs{font-family:var(--font-display);font-size:1.1rem;color:var(--dim);align-self:center}.lobby-count{font-family:var(--font-mono);color:var(--c-action)}.clock-row{display:flex;align-items:baseline;justify-content:center;gap:10px}.clock{font-family:var(--font-mono);font-size:1.05rem;font-variant-numeric:tabular-nums}.clock.me{color:var(--c-action)}.clock.foe{color:var(--c-danger)}.clock-label{font-size:.62rem;letter-spacing:.12em;color:var(--dim)}.match-strip{display:flex;flex-direction:column;gap:6px;width:100%;background:var(--panel-2);border:1px solid color-mix(in srgb,var(--dim) 20%,transparent);border-radius:12px;padding:8px 10px}.match-tally{display:flex;align-items:baseline;justify-content:center;gap:10px;font-family:var(--font-mono);font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}.tally-me{color:var(--c-action)}.tally-foe{color:var(--c-danger)}.tally-label{font-family:var(--font-body);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--dim)}.match-boards{display:flex;flex-direction:column;gap:2px}.board-row{display:grid;grid-template-columns:1.1rem 1fr auto 1fr 1.1rem;align-items:center;gap:8px;padding:3px 6px;border-radius:7px;font-size:.78rem}.board-row.mine{background:color-mix(in srgb,var(--c-action) 14%,transparent);font-weight:700}.board-row.won .board-mark{color:var(--c-action)}.board-row.lost .board-mark{color:var(--c-danger)}.board-row.won,.board-row.lost{opacity:.72}.board-no,.board-mark{font-family:var(--font-mono);color:var(--dim);text-align:center}.board-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-name.foe{text-align:right;color:var(--dim)}.board-kills{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.match-dice{text-align:center;font-size:.72rem;color:var(--dim)}.overlay-panel.wide{max-width:30rem}.match-boards.result{width:100%;gap:3px;margin:4px 0}.career-card{display:flex;flex-direction:column;gap:8px;width:100%;background:var(--panel-2);border:1px solid color-mix(in srgb,var(--dim) 22%,transparent);border-radius:12px;padding:12px 14px}.career-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-weight:700}.career-delta{font-family:var(--font-mono);font-size:1.15rem;font-variant-numeric:tabular-nums}.career-delta.up{color:var(--c-action)}.career-delta.down{color:var(--c-danger)}.career-note{color:var(--dim);font-size:.78rem;text-align:left}.career-rank{display:flex;align-items:center;gap:10px;border-top:1px solid color-mix(in srgb,var(--dim) 18%,transparent);padding-top:8px}.career-rank-text{display:flex;flex-direction:column;align-items:flex-start;flex:1}.career-rank-name{font-family:var(--font-display);font-weight:600;font-size:.95rem}.career-points{font-family:var(--font-mono);font-size:.76rem;color:var(--dim)}.career-move{font-size:.78rem;font-weight:700}.career-move.up{color:var(--c-action)}.career-move.down{color:var(--c-danger)}.final-score{color:var(--c-warn);font-weight:700;text-shadow:0 0 10px color-mix(in srgb,var(--c-warn) 50%,transparent)}.boards{display:flex;gap:26px;justify-content:center;align-items:flex-start}.board-wrap{flex:1;max-width:470px;display:flex;flex-direction:column;gap:8px}.board-title{font-size:.95rem;color:var(--dim);font-weight:600;letter-spacing:.06em}.grid{position:relative;display:grid;grid-template-columns:clamp(14px,2.4vw,22px) repeat(10,1fr);gap:3px;width:100%;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--c-primary) 5%,transparent),transparent 70%),var(--board);border:1px solid var(--board-line);border-radius:14px;padding:9px;box-shadow:inset 0 0 26px color-mix(in srgb,var(--bg) 65%,transparent),inset 0 1px color-mix(in srgb,#fff 7%,transparent),0 6px 12px color-mix(in srgb,var(--shade) 55%,transparent)}.grid:before,.grid:after{content:"";position:absolute;width:16px;height:16px;border:2px solid color-mix(in srgb,var(--c-primary) 45%,transparent);pointer-events:none}.grid:before{top:5px;left:5px;border-right:none;border-bottom:none;border-radius:8px 0 0}.grid:after{right:5px;bottom:5px;border-left:none;border-top:none;border-radius:0 0 8px}.board-foe .grid:has(.cell.clickable){border-color:color-mix(in srgb,var(--c-action) 45%,var(--board-line));box-shadow:inset 0 0 26px color-mix(in srgb,var(--bg) 65%,transparent),inset 0 1px color-mix(in srgb,#fff 7%,transparent),0 0 11px color-mix(in srgb,var(--c-action) 28%,transparent)}.grid-label{display:flex;align-items:center;justify-content:center;color:var(--dim);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.02em}.cell{aspect-ratio:1;background:var(--pad);border:1px solid var(--pad-line);border-radius:5px;position:relative;transition:background .12s ease,box-shadow .12s ease}.cell.plane{background:var(--pad-primary);border-color:var(--c-primary);box-shadow:inset 0 0 10px color-mix(in srgb,var(--c-primary) 55%,transparent),0 0 9px color-mix(in srgb,var(--c-primary) 35%,transparent)}.cell.nose{box-shadow:inset 0 0 0 2.5px var(--c-secondary),inset 0 0 12px color-mix(in srgb,var(--c-secondary) 60%,transparent),0 0 10px color-mix(in srgb,var(--c-secondary) 45%,transparent)}.cell.killed{background:var(--pad-danger);border-color:var(--c-danger);box-shadow:inset 0 0 12px color-mix(in srgb,var(--c-danger) 75%,transparent),0 0 10px color-mix(in srgb,var(--c-danger) 40%,transparent)}.cell.miss:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:26%;height:26%;border-radius:50%;background:var(--dim);box-shadow:0 0 7px color-mix(in srgb,var(--dim) 50%,transparent)}.cell.wound:after{content:"✕";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--c-warn);text-shadow:0 0 9px color-mix(in srgb,var(--c-warn) 90%,transparent);font-size:clamp(12px,2.4vw,20px);font-weight:800}.cell.last{outline:2px solid var(--c-last);outline-offset:-1px;z-index:3;animation:shot-kick .3s cubic-bezier(.36,.07,.19,.97) 1,pad-pulse 1.1s ease-in-out infinite}@keyframes shot-kick{0%,to{transform:translate(0) scale(1)}15%{transform:translate(-2px,1.5px) scale(1.16)}38%{transform:translate(2px,-1.5px) scale(1.1)}60%{transform:translate(-1.5px,-1px) scale(1.05)}82%{transform:translate(1px,1px) scale(1.02)}}.cell.last:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid var(--c-last);border-radius:6px;animation:shot-ring .6s ease-out 1 forwards;pointer-events:none}@keyframes shot-ring{0%{transform:scale(1);opacity:.9}to{transform:scale(2.6);opacity:0}}@keyframes pad-pulse{0%,to{box-shadow:0 0 6px color-mix(in srgb,var(--c-last) 35%,transparent)}50%{box-shadow:0 0 12px color-mix(in srgb,var(--c-last) 80%,transparent)}}.cell.preview{background:color-mix(in srgb,var(--c-primary) 20%,var(--pad));border-color:color-mix(in srgb,var(--c-primary) 50%,var(--pad-line));box-shadow:inset 0 0 9px color-mix(in srgb,var(--c-primary) 22%,transparent)}.cell.preview-nose{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--c-secondary) 65%,transparent),inset 0 0 9px color-mix(in srgb,var(--c-secondary) 22%,transparent)}.cell.preview-bad{background:color-mix(in srgb,var(--c-danger) 16%,var(--pad));border-color:color-mix(in srgb,var(--c-danger) 45%,var(--pad-line))}.cell.clickable{cursor:pointer}.cell.clickable:hover{background:color-mix(in srgb,var(--c-action) 14%,var(--pad));border-color:var(--c-action);transform:scale(1.08);z-index:2;box-shadow:0 0 11px color-mix(in srgb,var(--c-action) 52%,transparent),inset 0 0 8px color-mix(in srgb,var(--c-action) 22%,transparent)}.cell.clickable:hover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(var(--c-action),var(--c-action)) center / 1.5px 46% no-repeat,linear-gradient(var(--c-action),var(--c-action)) center / 46% 1.5px no-repeat;opacity:.75}.history{min-height:20px;display:flex;flex-wrap:wrap;gap:6px 14px}.history-line{font-family:var(--font-mono);font-size:.76rem;color:var(--dim);font-variant-numeric:tabular-nums}.history-line.dim{opacity:.4}.setup-controls{display:flex;flex-direction:column;gap:12px;align-items:center}.setup-row{display:flex;gap:18px;align-items:center;justify-content:center}.setup-row .mini-grid{width:108px}.setup-info{display:flex;flex-direction:column;gap:10px;max-width:320px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.small-btn{background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 25%,var(--panel));border-radius:8px;font-size:.8rem;font-weight:700;letter-spacing:.06em;padding:8px 12px}.small-btn:hover{background:var(--panel-2);border-color:var(--c-primary);box-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 25%,transparent)}.mini-grid{display:grid;gap:2px;width:100%;background:var(--board);border:1px solid var(--board-line);border-radius:8px;padding:5px}.mini-cell{aspect-ratio:1;background:var(--pad);border-radius:2px}.mini-cell.plane{background:var(--pad-primary);box-shadow:inset 0 0 6px color-mix(in srgb,var(--c-primary) 60%,transparent),0 0 5px color-mix(in srgb,var(--c-primary) 35%,transparent)}.mini-cell.nose{box-shadow:inset 0 0 0 2px var(--c-secondary),0 0 6px color-mix(in srgb,var(--c-secondary) 50%,transparent)}.swipe-hint{display:none;text-align:center;color:var(--dim);font-size:.8rem}.overlay{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:14px;pointer-events:none}.overlay-panel{pointer-events:auto;background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 40%,var(--panel));border-radius:16px;box-shadow:0 8px 12px color-mix(in srgb,var(--shade) 62%,transparent),0 0 10px color-mix(in srgb,var(--c-primary) 24%,transparent);padding:20px 26px;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.lobby-screen{gap:16px}.lobby-frame{display:grid;grid-template-columns:1fr minmax(220px,268px) 1fr;gap:14px;align-items:start;width:100%}.team-col{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 18%,transparent);border-radius:14px;padding:12px}.team-col.mine{border-color:color-mix(in srgb,var(--c-action) 40%,transparent)}.team-col.foe{border-color:color-mix(in srgb,var(--c-danger) 26%,transparent)}.team-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--dim) 16%,transparent)}.team-title{display:flex;flex-direction:column;flex:1;min-width:0}.team-name{font-family:var(--font-display);font-weight:700;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-sub{font-size:.7rem;color:var(--c-hero)}.team-count{font-family:var(--font-mono);font-size:.72rem;color:var(--dim);background:var(--panel-2);border-radius:999px;padding:3px 9px}.team-seats{display:flex;flex-direction:column;gap:4px}.seat{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;border-radius:10px;background:var(--panel-2);border:1px solid transparent;text-align:left;color:inherit;font:inherit}.seat.waiting{opacity:.6}.seat.ready{border-color:color-mix(in srgb,var(--c-action) 34%,transparent)}.seat.just-ready{animation:seat-ready .4s ease-out}@keyframes seat-ready{0%{transform:translate(-4px);border-color:var(--c-action)}}.seat.you{background:color-mix(in srgb,var(--c-action) 12%,var(--panel-2))}.seat.empty{background:transparent;border:1px dashed color-mix(in srgb,var(--dim) 26%,transparent)}.seat.action{border:1px dashed color-mix(in srgb,var(--c-primary) 42%,transparent);background:color-mix(in srgb,var(--c-primary) 7%,transparent);cursor:pointer}.seat.action:hover{background:color-mix(in srgb,var(--c-primary) 15%,transparent)}.seat-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none}.seat.empty .seat-avatar,.seat.action .seat-avatar,.seat.bot .seat-avatar{border-radius:50%;background:color-mix(in srgb,var(--dim) 14%,transparent)}.seat-glyph{color:var(--dim);font-size:.9rem}.seat.action .seat-glyph{color:var(--c-primary)}.seat-text{display:flex;flex-direction:column;flex:1;min-width:0}.seat-name{font-weight:600;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat.empty .seat-name{color:var(--dim);font-weight:500}.seat-rank{font-size:.68rem;color:var(--dim)}.seat-crown{margin-left:5px;color:var(--c-warn);font-size:.72rem}.seat-tick{font-family:var(--font-mono);color:var(--dim);width:1rem;text-align:center}.seat.ready .seat-tick{color:var(--c-action)}.seat-x{border:none;background:transparent;color:var(--dim);font-size:.7rem;padding:2px 4px;cursor:pointer}.seat-x:hover{color:var(--c-danger)}.seat-dots{display:inline-flex;gap:3px;margin-top:3px}.seat-dots i{width:4px;height:4px;border-radius:50%;background:var(--dim);animation:seat-dot 1.2s ease-in-out infinite}.seat-dots i:nth-child(2){animation-delay:.15s}.seat-dots i:nth-child(3){animation-delay:.3s}@keyframes seat-dot{50%{opacity:.2}}.centre-card{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 18%,transparent);border-radius:14px;padding:12px}.centre-thumb{position:relative;width:min(100%,210px);margin:0 auto;border-radius:10px;overflow:hidden;line-height:0}.board-thumb svg{width:100%;height:auto;display:block}.thumb-tag,.thumb-code{position:absolute;top:6px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;padding:3px 7px;border-radius:6px;background:color-mix(in srgb,var(--shade) 74%,transparent);color:var(--text);line-height:1.2}.thumb-tag{left:6px}.thumb-code{right:6px;color:var(--c-warn)}.code-box{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--c-warn) 10%,var(--panel-2));border:1px solid color-mix(in srgb,var(--c-warn) 40%,transparent);color:inherit;font:inherit;cursor:pointer}.code-box:hover{border-color:var(--c-warn)}.code-label{font-size:.56rem;letter-spacing:.14em;color:var(--dim)}.code-line{display:flex;align-items:center;gap:10px}.code-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;letter-spacing:.22em;color:var(--c-warn);text-align:center}.code-copy{color:var(--dim);font-size:.9rem}.hint.copied{color:var(--c-action)}.ring{position:relative;width:78px;height:78px}.ring svg{width:100%;height:100%;display:block}.ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.ring-count{font-family:var(--font-mono);font-size:1rem;font-weight:700}.ring-label{font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.ring.full .ring-count{color:var(--c-action)}.centre-facts{display:flex;gap:18px;justify-content:center;width:100%}.fact{display:flex;flex-direction:column;align-items:center;gap:2px}.fact-label{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.fact-value{font-size:.78rem;font-weight:600;text-align:center}.lobby-screen .btn-row,.lobby-screen>.big-btn,.lobby-screen>.level-row{width:min(100%,430px);margin:0 auto}.lobby-screen .btn-row .big-btn{flex:1}@media(max-width:859px){.lobby-frame{grid-template-columns:1fr}.centre-card{order:-1}}.chat-toggle{position:fixed;right:16px;bottom:16px;z-index:55;width:46px;height:46px;border-radius:50%;border:1px solid color-mix(in srgb,var(--c-primary) 50%,transparent);background:var(--panel-2);color:var(--text);font-size:1.1rem;cursor:pointer;box-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 26%,transparent)}.chat-toggle.hidden{display:none}.chat-panel{position:fixed;right:16px;bottom:16px;z-index:56;display:none;flex-direction:column;width:min(320px,calc(100vw - 32px));height:min(380px,60vh);background:var(--panel);border:1px solid color-mix(in srgb,var(--dim) 26%,transparent);border-radius:14px;overflow:hidden;box-shadow:0 8px 12px color-mix(in srgb,var(--shade) 60%,transparent)}.chat-panel.shown{display:flex}.chat-head{display:flex;align-items:stretch;gap:2px;padding:4px 4px 0;background:var(--panel-2)}.chat-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 6px;border:none;background:transparent;color:var(--dim);font-family:var(--font-display);font-size:.68rem;letter-spacing:.08em;border-bottom:2px solid transparent;cursor:pointer}.chat-tab.active{color:var(--c-primary);border-bottom-color:var(--c-primary)}.chat-tab.locked{opacity:.4;cursor:not-allowed}.chat-badge{display:none;min-width:16px;padding:0 4px;border-radius:999px;background:var(--c-danger);color:#fff;font-family:var(--font-mono);font-size:.6rem;line-height:16px;text-align:center}.chat-badge.on{display:inline-block}.chat-toggle .chat-badge{position:absolute;top:-2px;right:-2px}.chat-close{border:none;background:transparent;color:var(--dim);font-size:.8rem;padding:0 8px;cursor:pointer}.chat-body{flex:1;min-height:0;display:flex}.chat-feed{flex:1;min-height:0;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:5px}.chat-feed.hidden{display:none}.chat-line{font-size:.8rem;line-height:1.35;overflow-wrap:anywhere}.chat-line.system{color:var(--dim);font-style:italic;font-size:.72rem}.chat-who{display:inline-flex;align-items:center;gap:4px;vertical-align:-3px;margin-right:5px;padding:0;border:none;background:transparent;color:var(--c-hero);font:inherit;font-weight:700;cursor:pointer}.chat-line.mine .chat-who{color:var(--c-action)}.chat-who .medal{filter:none}.chat-text{color:var(--text)}.chat-note{display:none;padding:5px 10px;font-size:.7rem;color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 10%,transparent)}.chat-note.shown{display:block}.chat-form{display:flex;align-items:center;gap:6px;padding:7px 8px;border-top:1px solid color-mix(in srgb,var(--dim) 18%,transparent)}.chat-input{flex:1;min-width:0;background:var(--panel-2);border:1px solid color-mix(in srgb,var(--dim) 26%,transparent);border-radius:8px;padding:7px 9px;color:var(--text);font-family:var(--font-body);font-size:.82rem}.chat-input:focus{outline:none;border-color:var(--c-primary)}.chat-counter{font-family:var(--font-mono);font-size:.66rem;color:var(--dim);min-width:1.6rem;text-align:right}@media(max-width:859px){.chat-panel{right:0;left:0;bottom:0;width:100%;height:55vh;border-radius:14px 14px 0 0}}.beta-badge{position:fixed;left:12px;bottom:12px;z-index:60;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;color:var(--c-warn);background:color-mix(in srgb,var(--c-warn) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--c-warn) 45%,transparent);border-radius:999px;padding:4px 10px;pointer-events:none}.toast{position:fixed;top:14px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--c-primary);border-radius:10px;color:var(--text);font-size:.9rem;padding:10px 18px;z-index:50;box-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 38%,transparent);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media(max-width:859px)and (orientation:portrait){.boards.show-mine .board-foe,.boards.show-foe .board-mine{display:none}.swipe-hint{display:block}}@media(max-width:859px){.board-wrap{max-width:min(94vw,58vh);margin:0 auto}.status{font-size:.85rem}.overlay{position:static;padding:0}.overlay-panel{width:100%}}@media(orientation:landscape)and (max-height:560px){.screen{padding:6px 10px 10px;gap:8px}.game-header{margin-bottom:2px}.boards{gap:12px;align-items:flex-start}.board-wrap{max-width:min(46vw,calc(100vh - 116px));gap:4px}.board-title{font-size:.72rem;letter-spacing:.04em}.board-wrap .history{display:none}.screen:has(.setup-controls) .board-wrap{max-width:min(44vw,calc(100vh - 168px))}.setup-controls{flex-direction:row;align-items:center;justify-content:center;gap:12px}.setup-row{gap:10px}.setup-info{gap:6px}.setup-row .mini-grid{width:60px}.btn-row{flex-wrap:nowrap;max-width:none;gap:6px}.small-btn{padding:6px 9px;font-size:.66rem;letter-spacing:.04em;white-space:nowrap}.big-btn{padding:10px 22px;font-size:.85rem}.hint,.swipe-hint{display:none}.score-bar{gap:10px;font-size:.8rem}.chat-toggle{width:38px;height:38px;right:10px;bottom:10px}}.status{display:flex;align-items:center;gap:8px;transition:color .18s ease,opacity .18s ease}.turn-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--dim);transition:background .18s ease,box-shadow .18s ease}.status--mine{color:var(--c-action)}.status--mine .turn-dot{background:var(--c-action);box-shadow:0 0 8px color-mix(in srgb,var(--c-action) 75%,transparent)}.status--theirs{color:var(--dim)}.status--wait{color:var(--c-warn)}.status--wait .turn-dot{background:var(--c-warn)}.board-wrap{transition:opacity .2s ease,filter .2s ease}.board-wrap.is-idle{opacity:.55;filter:saturate(.65)}.turn-bar{height:3px;border-radius:2px;background:color-mix(in srgb,var(--dim) 18%,transparent);overflow:hidden;margin:2px 0 6px}.turn-bar-fill{display:block;height:100%;width:0;border-radius:2px;background:var(--dim);transition:width .5s linear,background .18s ease}.turn-bar--mine .turn-bar-fill{background:var(--c-action)}.turn-bar--wait .turn-bar-fill{background:var(--c-warn)}.turn-bar--over{opacity:0}@keyframes turn-flash{0%{box-shadow:0 0 color-mix(in srgb,var(--c-action) 0%,transparent)}35%{box-shadow:0 0 12px color-mix(in srgb,var(--c-action) 70%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--c-action) 0%,transparent)}}.turn-flash{animation:turn-flash .6s ease-out}.duel-clock{display:flex;align-items:baseline;gap:5px;font-family:var(--font-mono);font-size:.82rem;font-variant-numeric:tabular-nums;color:var(--dim)}.clk-mine{font-weight:700;color:var(--dim);transition:color .18s ease}.duel-clock.is-mine .clk-mine{color:var(--c-action)}.clk-sep{opacity:.5}@media(prefers-reduced-motion:reduce){.score-chip .combo,.board-wrap.on-fire .grid,.cell.last,.cell.last:before,.spinner,.screen.screen-enter,.title-ink,.rank-card:after,.seat.just-ready,.seat-dots i,.toast,.turn-flash,body:before,body:after{animation:none}.big-btn,.menu-btn,.level-btn,.rank-card,.rank-row,.status,.turn-dot,.clk-mine,.board-wrap,.turn-bar-fill,.cell.clickable:hover{transition:none;transform:none}}
