:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;--bg: #141b18;--surface: #1b2521;--surface-2: #25312c;--line: #364941;--text: #f7f7fb;--muted: #a7aec4;--accent: #85f2c5;--accent-2: #55cfa2;--danger: #ff7385;--warning: #ffb15f;--lead: #57efbd;--trail: #ff6f82;--even: #9aa9a2;--quiet: #98a8a0;--accent-ink: #09251c;--backdrop: #0b100ecc;--game-zone-glow: #263a32;--rules-bg: #141b18d9;--countdown-bg: #141b18e8;--game-overlay-bg: #141b18f2;--match-board-bg: #101713aa;--tug-track: #0e1512;--tug-line: #40594f;--focus-ring: #fff;--result-score: #85f2c5;--stacker-scene-glow: #294139;--stacker-scene-edge: #121b17;--stacker-chip-bg: #0d1511bb;--stacker-chip-line: #ffffff24;--crystal-border: #83e5be;--crystal-top: #62d6aa;--crystal-middle: #2eb684;--crystal-bottom: #147151;--crystal-highlight: #ddfff1b8;--crystal-shade: #073c2b99;--crystal-text-shadow: #063426cc;--radius: 20px}@media (prefers-color-scheme: light){:root{color-scheme:light;--bg: #e4ece8;--surface: #f1f5f3;--surface-2: #d8e4de;--line: #a5b9af;--text: #14211b;--muted: #4d6259;--accent: #066b4f;--accent-2: #146b51;--danger: #b4233c;--warning: #9a4b00;--lead: #066b4f;--trail: #b4233c;--even: #4f5d57;--quiet: #4c5f56;--accent-ink: #fff;--backdrop: #17201dcc;--game-zone-glow: #d3e2db;--rules-bg: #f1f5f3f2;--countdown-bg: #e4ece8f2;--game-overlay-bg: #e4ece8f2;--match-board-bg: #d5e1dbcc;--tug-track: #cfddd6;--tug-line: #789086;--focus-ring: #14211b;--result-score: #157a5b;--stacker-scene-glow: #d3e2db;--stacker-scene-edge: #b6cac0;--stacker-chip-bg: #f1f5f3d9;--stacker-chip-line: #14211b33}}*{box-sizing:border-box}html,body{width:100%;margin:0;min-height:100%;overflow-x:hidden;background:var(--bg);color:var(--text)}body{min-width:320px;min-height:100dvh}body:has(#app>.game-page-fixed-ui){display:grid;place-items:center}button,input,textarea{font:inherit}button{color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.qr-unavailable{display:grid;place-items:center;background:var(--surface-2)!important;color:var(--text)}.qr-fallback{margin:0;padding:8px;font-size:13px;font-weight:700;line-height:1.35;text-align:center}[data-achievement-level]{--medal-dark:#70401f;--medal-mid:#b87333;--medal-light:#e0a46a}[data-achievement-level=silver]{--medal-dark:#66717c;--medal-mid:#abb4bd;--medal-light:#eef2f5}[data-achievement-level=gold]{--medal-dark:#9b6a08;--medal-mid:#e4b52e;--medal-light:#fff0a3}.achievement-medal{position:relative;box-sizing:border-box;width:22px;height:22px;flex:0 0 22px;border:2px solid var(--medal-dark);border-radius:50%;background:radial-gradient(circle at 35% 28%,var(--medal-light) 0 18%,var(--medal-mid) 45% 68%,var(--medal-dark) 100%);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--medal-light),transparent 35%),0 2px 4px #0005}.achievement-medal:before,.achievement-medal:after{content:"";position:absolute;top:14px;width:7px;height:10px;background:var(--medal-mid);border:1px solid var(--medal-dark)}.achievement-medal:before{left:2px;transform:rotate(12deg)}.achievement-medal:after{right:2px;transform:rotate(-12deg)}.achievement-medal i{position:absolute;inset:5px;transform:rotate(45deg);border:1px solid color-mix(in srgb,var(--medal-dark),transparent 20%);background:var(--medal-light)}#app{min-height:100dvh}#app:has(>.game-page){display:grid;height:100dvh;min-height:0;grid-template-rows:auto minmax(0,1fr)}#app:has(>.game-page-fixed-ui){width:360px;height:648px;min-height:648px;margin:auto;grid-template-rows:48px 600px;aspect-ratio:5 / 9;zoom:min(1.0833333333,calc(100vw/360px),calc(100dvh/648px))}#app:has(>.game-page-fixed-ui)>.app-header{height:48px;min-height:48px}.storage-warning{padding:8px 14px;border-bottom:1px solid var(--danger);background:color-mix(in srgb,var(--danger),transparent 86%);color:var(--text);text-align:center;font-size:12px}.app-header{position:sticky;z-index:30;top:0;width:100%;max-width:100vw;display:flex;align-items:center;gap:8px;min-height:48px;padding:max(5px,env(safe-area-inset-top)) 10px 5px;border-bottom:1px solid color-mix(in srgb,var(--line),transparent 22%);background:color-mix(in srgb,var(--bg),transparent 7%);backdrop-filter:blur(16px)}.brand-button,.header-button{border:0;background:transparent;cursor:pointer}.header-button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:5px;border-radius:11px}.brand-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:12px;color:var(--accent)}.brand-button:hover{background:var(--surface-2)}.brand-mark{width:24px;height:24px}.nickname-button{max-width:min(30vw,150px);overflow:hidden;padding:5px 7px;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.nickname-button span:last-child{overflow:hidden;text-overflow:ellipsis}.header-spacer{flex:1;min-width:0}.header-button{padding:7px 5px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em}.header-button:hover,.header-button:focus-visible{background:var(--surface-2);color:var(--text)}.header-icon{display:inline-grid;flex:0 0 16px;width:16px;height:16px;place-items:center}.header-icon svg{width:100%;height:100%}.contact-picker,.settings-picker{position:relative;display:inline-flex}.contact-button,.settings-button{position:relative;display:grid;flex:0 0 30px;width:30px;height:30px;padding:0;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--quiet);cursor:pointer}.contact-button:hover,.contact-button:focus-visible,.contact-button[aria-expanded=true],.settings-button:hover,.settings-button:focus-visible,.settings-button[aria-expanded=true]{background:var(--surface-2);color:var(--text)}.contact-button .header-icon,.settings-button .header-icon{width:19px;height:19px}.settings-unread-dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border:1px solid var(--bg);border-radius:50%;background:var(--danger)}.settings-button[data-unread=false] .settings-unread-dot{display:none}.language-picker{position:relative;display:inline-flex}.language-menu{position:absolute;z-index:40;top:calc(100% + 7px);right:0;width:max-content;min-width:150px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 16px 42px #0009}.language-menu button{display:grid;width:100%;min-height:42px;grid-template-columns:35px 1fr;align-items:center;padding:7px 10px;border:0;border-radius:9px;background:transparent;cursor:pointer;text-align:left}.language-menu button:hover,.language-menu button:focus-visible{outline:none;background:var(--surface-2)}.language-menu button[aria-selected=true]{color:var(--accent)}.language-menu strong{font-size:12px;letter-spacing:.05em}.language-menu span{color:var(--text);font-size:13px}.contact-menu{position:absolute;z-index:40;top:calc(100% + 7px);right:0;width:180px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 16px 42px #0009}.contact-menu button{display:grid;width:100%;min-height:42px;grid-template-columns:28px 1fr;gap:7px;align-items:center;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.contact-menu button:hover,.contact-menu button:focus-visible{outline:none;background:var(--surface-2)}.contact-channel-icon{display:grid;width:20px;height:20px;place-items:center;color:var(--accent)}.contact-channel-icon svg{width:100%;height:100%}.settings-menu{position:absolute;z-index:40;top:calc(100% + 7px);right:0;width:230px;padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 16px 42px #0009}.settings-section-title{padding:7px 10px 4px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em}.settings-menu hr{height:1px;margin:6px 8px;border:0;background:var(--line)}.settings-row{display:grid;width:100%;min-height:38px;grid-template-columns:minmax(0,1fr) 72px;gap:14px;align-items:center;padding:7px 10px;border:0;border-radius:9px;background:transparent;cursor:pointer;text-align:left}.settings-row:hover,.settings-row:focus-visible{outline:none;background:var(--surface-2)}.settings-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-value{width:100%;min-width:0;color:var(--accent);text-align:right;white-space:nowrap}.settings-row[data-setting=exit]:hover,.settings-row[data-setting=exit]:focus-visible{color:var(--danger)}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;align-items:safe center;padding:20px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--backdrop)}.modal-card{width:min(100%,410px);padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 24px 80px #0008}.modal-card h2{margin:0 0 16px;font-size:20px}.version-dialog{position:relative;max-height:min(78dvh,680px);overflow:auto}.version-close{position:sticky;z-index:1;top:0;float:right;display:grid;width:34px;height:34px;margin:-8px -8px 4px 10px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text);cursor:pointer;font-size:23px;line-height:1}.copyright-info{clear:both;text-align:center}.copyright-info h2{color:var(--accent)}.copyright-product{margin:0 0 8px;color:var(--text);font-size:16px;font-weight:800}.copyright-notice{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.modal-card input[type=text]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text)}.disclaimer{margin:13px 0;color:var(--muted);font-size:13px;line-height:1.5}.confirm-row{display:flex;gap:9px;align-items:flex-start;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.action-button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);cursor:pointer;font-weight:700}.action-button.primary{border-color:transparent;background:var(--accent);color:var(--accent-ink)}.action-button.danger{border-color:color-mix(in srgb,var(--danger),transparent 50%);color:var(--danger)}.action-button:disabled{cursor:not-allowed;opacity:.45}.empty-state{padding:28px 16px;color:var(--muted);text-align:center}@media (max-width: 370px){.app-header{gap:3px;padding-inline:7px}.nickname-button{max-width:82px;padding-inline:4px}.header-button{padding-inline:3px;font-size:11px}}
