:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4efe6;--ui-gold:#d8b56f;--ui-gold-soft:#d8b56f6b;--ui-gold-faint:#d8b56f2e;--ui-panel:#0a0c0c94;--ui-panel-deep:#070808c2;--ui-panel-warm:#3223146b;--ui-text:#fff2d2f0;--ui-muted:#fff2d294;--ui-shadow:#0000007a;background:#12100d;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}html,body,#game-shell,#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;margin:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#12100d}#game-shell{background:radial-gradient(circle,#1c2f3042,#0000 54%),#050607;position:fixed;inset:0}#app{transform-origin:50%;position:fixed;inset:0}.boot-error{z-index:20;color:var(--ui-text);background:#080807d1;border:1px solid #d8b56f5c;padding:18px 26px;font-size:16px;font-weight:700;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 42px #0000006b}#game-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}button,canvas,.hud,.main-menu,.player-chip,.game-log,.center-info-panel,.duel-mode-panel,.info-overlay,.confirm-overlay,.tile-hint{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#orientation-guard{z-index:20;color:var(--ui-text);background:radial-gradient(circle at 50% 42%,#23383a57,#0000 52%),#050607;place-items:center;padding:24px;display:none;position:fixed;inset:0}.orientation-guard-panel{border:1px solid var(--ui-gold-faint);text-align:center;-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);background:radial-gradient(circle at 50% 0,#d8b56f1a,#d8b56f00 62%),#070808c2;width:min(360px,100vw - 48px);padding:26px 24px 24px;box-shadow:inset 0 1px #ffeebe14,0 24px 70px #0000008a}.orientation-guard-title{font-size:22px;font-weight:800;line-height:1.2}.orientation-guard-text{color:#f8f0e0b3;margin-top:12px;font-size:14px;line-height:1.7}.hud{z-index:2;-webkit-user-select:none;user-select:none;pointer-events:none;align-items:center;gap:12px;display:flex;position:fixed}.hud-top{top:18px;left:22px}.brand{filter:drop-shadow(0 2px 10px #000000d1)drop-shadow(0 0 14px #a012182e);place-items:center;width:84px;height:34px;display:grid}.brand-logo{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.turn,.player-chip{border:1px solid var(--ui-gold-faint);background:linear-gradient(180deg, #ffe2a00e, #0000), var(--ui-panel);-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);color:#f8f0e0e0;box-shadow:inset 0 1px #ffe8b01a,0 12px 30px #00000057}.turn{border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;display:none}.player-chip{z-index:2;color:#fff2d6db;-webkit-user-select:none;user-select:none;pointer-events:none;background:linear-gradient(90deg,#d8b56f1a,#0000 26% 74%,#d8b56f0f),linear-gradient(#ffe9b00f,#00000008),#05080a99;border-color:#d8b56f3d;border-radius:0;grid-template-columns:7px auto;align-items:center;gap:8px;min-width:86px;min-height:30px;padding:7px 12px 7px 11px;font-size:12px;line-height:1;display:inline-grid;position:fixed;box-shadow:inset 0 1px #ffecba1a,inset 0 -1px #d8b56f14,0 0 0 1px #0000006b,0 14px 32px #00000059}.player-chip:before{content:"";background:#d8b56f8c;border-radius:999px;width:7px;height:7px;box-shadow:0 0 10px #d8b56f2e}.player-chip:after{content:attr(data-state-label);color:#ffe8b5ad;border-left:1px solid #d8b56f33;justify-self:end;margin-left:4px;padding-left:8px;font-size:11px;line-height:1;display:none}.player-chip[data-state-label]{grid-template-columns:7px auto auto;min-width:106px}.player-chip[data-state-label]:after{display:block}.player-chip-name{white-space:nowrap;text-shadow:0 1px 8px #000000b8}.player-chip[data-state=current],.player-chip[data-state=attention],.player-chip[data-state=target]{background:linear-gradient(90deg,#d8b56f2e,#0000 30% 70%,#d8b56f1a),linear-gradient(#ffe8ae17,#00000005),#18120a9e;border-color:#d8b56f7a;box-shadow:inset 0 1px #ffecba29,inset 0 -1px #d8b56f24,0 0 18px #d8b56f29,0 16px 34px #00000061}.player-chip[data-state=current]:before,.player-chip[data-state=attention]:before,.player-chip[data-state=target]:before{background:#ddb04fe6;box-shadow:0 0 8px #ddb04f80,0 0 18px #ddb04f38}.player-chip[data-state=protected]{color:#def8f4db;background:linear-gradient(90deg,#4198a62e,#0000 30% 70%,#4198a614),linear-gradient(#b4f4f20e,#00000005),#050e109e;border-color:#66d6dc57;box-shadow:inset 0 1px #bef5f21f,inset 0 -1px #66d6dc1f,0 0 18px #66d6dc1f,0 14px 32px #0000005c}.player-chip[data-state=protected]:before{background:#66d6dcdb;box-shadow:0 0 8px #66d6dc7a,0 0 18px #66d6dc2e}.player-chip[data-state=protected]:after{color:#def8f4ad;border-left-color:#66d6dc33}.player-chip[data-state=eliminated]{color:#d0b8ae8f;background:linear-gradient(90deg,#a0282024,#0000 30% 70%,#a028200f),#05060780;border-color:#d64c3e47;box-shadow:inset 0 1px #ffd2be0e,0 12px 30px #0000004d}.player-chip[data-state=eliminated]:before{background:#d64c3eb3;box-shadow:0 0 10px #d64c3e38}.player-chip[data-state=eliminated]:after{color:#e0968a94;border-left-color:#d64c3e2e}.player-chip[hidden]{display:none!important}.player-top{top:18px;left:50%;transform:translate(-50%)}.player-left{top:50%;left:18px;transform:translateY(-50%)}.player-right{top:50%;right:18px;transform:translateY(-50%)}.actions{z-index:2;border:1px solid var(--ui-gold-faint);background:radial-gradient(circle at 50% 0%, #d8b56f1f, #d8b56f00 58%), linear-gradient(180deg, #ffecb80e, #0000000a), var(--ui-panel-deep);-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);border-radius:0;align-items:center;gap:8px;padding:8px;display:none;position:fixed;bottom:24px;right:24px;box-shadow:inset 0 1px #ffeebe1c,inset 0 -1px #00000052,0 18px 46px #00000070}.debug-controls .actions{display:flex}body:not(.game-mode) .player-chip,body:not(.game-mode) .game-log,body:not(.game-mode) #mobile-log-toggle,body:not(.game-mode) #play-tile,body:not(.game-mode) #turn-countdown,body:not(.game-mode) #game-settings,body:not(.game-mode) .duel-mode-panel,body:not(.game-mode) .center-info-panel{display:none}body.game-mode .player-chip{display:inline-grid}body.game-mode .game-log{display:flex}body.game-mode #play-tile,body.game-mode #game-settings,body.game-mode #turn-countdown:not([hidden]){display:inline-grid}body.game-mode .duel-mode-panel:not([hidden]){display:flex}body.game-mode .center-info-panel:not([hidden]){display:grid}#play-tile{z-index:3;min-width:104px;position:fixed;bottom:58px;left:50%;transform:translate(-50%)}#mobile-log-toggle{z-index:4;min-width:74px;height:34px;padding:0 18px;display:none;position:fixed;bottom:18px;left:18px}#play-tile.is-turn-ready{animation:1.18s ease-in-out infinite play-button-breathe}#play-tile.is-turn-ready:disabled{opacity:.88;background:radial-gradient(circle at 50% 0,#e7b95a26,#e7b95a00 64%),linear-gradient(#ffe4a814,#00000009),#120e0ac2;border-color:#eebe6280}#play-tile.is-play-ready{background:radial-gradient(circle at 50% 0,#f4bf5347,#f4bf5300 64%),linear-gradient(#ffe4a81a,#00000009),#16100ad1;border-color:#f6c768d1;box-shadow:inset 0 1px #ffeebe29,inset 0 -1px #00000057,0 0 0 1px #e8ae4933,0 0 30px #da942a52,0 18px 42px #0000006b}#play-tile.is-play-ready:before,#play-tile.is-play-ready:after{background:linear-gradient(90deg,#e9b75800,#e9b75875)}#play-tile:active{transform:translate(-50%)translateY(1px)}#turn-countdown{z-index:3;color:#fff2d2db;text-align:center;text-shadow:0 2px 8px #000000bd,0 0 12px #d8b56f1f;-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);pointer-events:none;background:radial-gradient(circle at 50% 0,#d8b56f1c,#d8b56f00 62%),linear-gradient(#ffe4a80b,#0000000a),#070808a3;border:1px solid #d8b56f38;place-items:center;min-width:48px;height:38px;padding:0 13px;font-size:14px;font-weight:760;line-height:1;display:grid;position:fixed;bottom:58px;left:calc(50% + 82px);box-shadow:inset 0 1px #ffeebe14,inset 0 -1px #00000047,0 12px 28px #00000047}#turn-countdown.is-danger{color:#ffd7c6f2;border-color:#db544180;box-shadow:inset 0 1px #ffdcbe1a,inset 0 -1px #0000004d,0 0 22px #be372a2e,0 12px 28px #0000004d}#turn-countdown[hidden]{display:none}@keyframes play-button-breathe{0%,to{filter:brightness();box-shadow:inset 0 1px #ffeebe14,inset 0 -1px #00000047,0 0 0 1px #dba5451f,0 0 10px #be842a24,0 12px 28px #0000004d}50%{filter:brightness(1.14);box-shadow:inset 0 1px #ffeebe2e,inset 0 -1px #00000057,0 0 0 1px #e8ae493d,0 0 30px #da942a57,0 18px 44px #0000006b}}@media (prefers-reduced-motion:reduce){#play-tile.is-turn-ready{animation:none;box-shadow:inset 0 1px #ffeebe1a,inset 0 -1px #0000004d,0 0 0 1px #dba5451a,0 0 14px #be842a24,0 12px 28px #00000052}.center-info-panel.is-prompt{animation:none}}.duel-mode-panel{z-index:3;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;gap:10px;padding:0;display:flex;position:fixed;top:calc(50% + 92px);left:50%;transform:translate(-50%)}.duel-mode-panel[hidden]{display:none}.duel-mode-panel button{min-width:96px;height:40px;padding:0 28px;line-height:40px}.duel-mode-panel button:before,.duel-mode-panel button:after{opacity:.62;width:10px}.duel-mode-panel button:before{left:10px}.duel-mode-panel button:after{right:10px}.center-info-panel{z-index:3;-webkit-backdrop-filter:blur(10px)saturate(1.04);backdrop-filter:blur(10px)saturate(1.04);pointer-events:none;background:radial-gradient(at 50% 62%,#d8b56f14,#d8b56f00 66%),linear-gradient(#06070700 0%,#06070778 46%,#040505b3 100%);border:0;border-radius:0;place-items:center;min-width:320px;max-width:min(520px,100vw - 48px);min-height:72px;padding:18px 22px 14px;display:grid;position:fixed;top:calc(50% + 92px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 22px 50px #00000052}.center-info-panel[hidden]{display:none}.center-info-panel.is-prompt{border:1px solid var(--ui-gold-faint);-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);background:radial-gradient(circle at 50% 0,#d8b56f24,#d8b56f00 62%),linear-gradient(#ffe4a812,#00000009),#090a0ab3;width:max-content;min-width:260px;max-width:min(760px,100vw - 72px);min-height:64px;padding:0 58px;animation:1.08s ease-in-out infinite center-prompt-breathe;box-shadow:inset 0 1px #ffeebe1a,inset 0 -1px #0000004d,0 0 0 1px #dba54514,0 0 24px #c6892b24,0 16px 38px #0006}.center-info-panel.is-prompt:before,.center-info-panel.is-prompt:after{content:"";pointer-events:none;background:linear-gradient(90deg,#d8b56f00,#d8b56f5c);width:26px;height:1px;position:absolute;top:50%}.center-info-panel.is-prompt:before{left:16px;transform:translateY(-50%)}.center-info-panel.is-prompt:after{right:16px;transform:translateY(-50%)scaleX(-1)}.center-info-panel.is-prompt .center-info-title{color:#fff0cd;white-space:nowrap;text-shadow:0 2px 10px #000c,0 0 16px #c5893129;font-size:15px;line-height:1.2}.center-info-panel.is-prompt .center-info-rows,.center-info-panel.is-prompt .center-info-action{margin:0;display:none}.center-info-panel.is-result{border:1px solid var(--ui-gold-faint);-webkit-backdrop-filter:blur(15px)saturate(1.06);backdrop-filter:blur(15px)saturate(1.06);pointer-events:auto;background:radial-gradient(circle at 50% 0,#d8b56f17,#d8b56f00 58%),linear-gradient(#ffe4a80b,#0000000a),#070808b8;min-width:340px;top:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffeebe14,inset 0 -1px #00000047,0 0 0 1px #dba5450d,0 18px 42px #00000061,0 0 34px #c6892b14}.center-info-panel.is-result:before,.center-info-panel.is-result:after{content:none}@keyframes center-prompt-breathe{0%,to{filter:brightness();border-color:#d8b56f47;box-shadow:inset 0 1px #ffeebe14,inset 0 -1px #00000047,0 0 0 1px #dba5450f,0 0 16px #c6892b1a,0 14px 34px #0000005c}50%{filter:brightness(1.08);border-color:#eebe628f;box-shadow:inset 0 1px #ffeebe24,inset 0 -1px #00000052,0 0 0 1px #dba5451f,0 0 28px #c6892b33,0 18px 44px #0000006b}}.center-info-title{color:var(--ui-text);text-align:center;text-shadow:0 2px 10px #000000c7;font-size:16px;font-weight:750;line-height:1.35}.center-info-rows{gap:6px;margin-top:10px;display:grid}.center-info-row{color:#f8f0e0d1;text-shadow:0 2px 8px #000000b8;grid-template-columns:minmax(70px,1fr) auto;align-items:center;gap:18px;padding-top:3px;font-size:13px;display:grid}.center-info-row.is-winner{color:#f6d994;font-weight:750}.center-info-row.is-eliminated{color:#f8f0e06b}.center-info-action{border-color:var(--ui-gold-soft);min-width:132px;height:38px;color:var(--ui-text);background:linear-gradient(#d8b56f2e,#50341933),#0c0a08b8;margin-top:14px;padding:0 34px;font-size:14px;box-shadow:inset 0 1px #ffeebe24,0 10px 28px #00000057}.center-info-action[hidden]{display:none}.main-menu{z-index:4;pointer-events:none;padding:0;display:block;position:fixed;inset:0}.main-menu[hidden]{display:none}.main-menu-panel{pointer-events:auto;flex-direction:column;align-items:center;gap:clamp(22px,4vh,44px);width:min(680px,100vw - 48px);display:flex;position:absolute;top:57%;left:50%;transform:translate(-50%,-50%)}.main-menu-brand{opacity:.94;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 10px 24px #000000b8)drop-shadow(0 0 22px #a6161c33);place-items:center;width:clamp(238px,22vw,390px);display:grid}.main-menu-brand-logo{width:100%;height:auto;display:block}.main-menu-actions,.main-menu-player-count{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;justify-content:center;gap:14px;padding:0;display:grid}.main-menu-actions{grid-template-columns:repeat(3,128px)}.main-menu-player-count{grid-template-columns:repeat(4,104px)}.main-menu-actions[hidden],.main-menu-player-count[hidden]{display:none}.main-menu button{border-color:var(--ui-gold-faint);color:#fff6e5e6;background:linear-gradient(#ffe4a80f,#0000000a),#090a0aa8;border-radius:0;justify-content:center;width:100%;min-height:40px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffeebe14,inset 0 -1px #00000047,0 14px 28px #0000003d}.main-menu button:before,.main-menu button:after{content:"";background:linear-gradient(90deg,#d8b56f00,#d8b56f47);width:18px;height:1px;position:absolute;top:50%}.main-menu button:before{left:14px;transform:translateY(-50%)}.main-menu button:after{right:14px;transform:translateY(-50%)scaleX(-1)}.main-menu .menu-primary{color:#fff2d2;border-color:#ecc16f8f}.main-menu .menu-back{color:#fff2d2b8}.main-menu button:disabled{opacity:.34}#game-settings{z-index:3;min-width:92px;position:fixed;top:20px;right:24px}.menu-mode #game-settings{display:none}.info-overlay{z-index:6;pointer-events:auto;background:radial-gradient(circle at 50% 46%,#d8b56f13,#d8b56f00 44%),#00000052;place-items:center;padding:42px 24px;display:grid;position:fixed;inset:0}.info-overlay[hidden]{display:none}.confirm-overlay{z-index:7;pointer-events:auto;background:radial-gradient(circle at 50% 46%,#d8b56f14,#d8b56f00 42%),#0000006b;place-items:center;padding:42px 24px;display:grid;position:fixed;inset:0}.confirm-overlay[hidden]{display:none}.confirm-panel{border:1px solid var(--ui-gold-faint);-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);background:radial-gradient(circle at 50% 0,#d8b56f1c,#d8b56f00 60%),linear-gradient(#ffe4a80d,#0000000a),#070808d1;border-radius:0;width:min(460px,100vw - 48px);padding:24px 26px 22px;box-shadow:inset 0 1px #ffeebe17,inset 0 -1px #0000004d,0 24px 64px #0000009e,0 0 38px #c6892b1a}.confirm-title{color:var(--ui-text);text-align:center;text-shadow:0 2px 10px #000000c7,0 0 18px #c589311f;font-size:19px;font-weight:780;line-height:1.25}.confirm-message{color:#f8f0e0b8;text-align:center;text-shadow:0 2px 8px #000000b8;margin-top:14px;font-size:14px;line-height:1.72}.confirm-actions{justify-content:center;gap:12px;margin-top:22px;display:flex}.confirm-actions button{min-width:132px;height:38px}#confirm-accept{color:#fff2d2;background:radial-gradient(circle at 50% 0,#ffe09626,#ffe09600 60%),#9168323d;border-color:#ecc16f94}.info-panel{border:1px solid var(--ui-gold-faint);-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);background:radial-gradient(circle at 50% 0,#d8b56f1c,#d8b56f00 60%),linear-gradient(#ffe4a80b,#0000000a),#070808c7;border-radius:0;flex-direction:column;width:min(820px,100vw - 48px);max-height:min(720px,100vh - 84px);display:flex;overflow:hidden;box-shadow:inset 0 1px #ffeebe17,inset 0 -1px #0000004d,0 0 0 1px #dba5450d,0 28px 70px #00000094,0 0 44px #c6892b14}.info-panel-header{border-bottom:1px solid #d8b56f24;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px 14px;display:flex}.info-panel-title{color:var(--ui-text);text-shadow:0 2px 10px #000000c7,0 0 18px #c589311f;font-size:20px;font-weight:780;line-height:1}.info-panel-close{min-width:86px;height:34px}.info-panel-body{scrollbar-color:#d8b56f6b #06070757;scrollbar-width:thin;flex:1;min-height:0;padding:20px;overflow:hidden auto}.info-panel-body::-webkit-scrollbar{width:6px}.info-panel-body::-webkit-scrollbar-track{background:#06070757}.info-panel-body::-webkit-scrollbar-thumb{background:#d8b56f57}.info-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.info-tab{color:#fff2d2a3;width:100%;min-width:0;height:38px;padding-inline:22px}.info-tab.is-active{color:#fff2d2;background:radial-gradient(circle at 50% 0,#ffe09626,#ffe09600 60%),#9168323d;border-color:#ecc16f94}.rules-content{background:linear-gradient(#ffe4a808,#00000009),#05060661;border:1px solid #d8b56f21;padding:18px 18px 20px}.rules-content h2{color:#fff2d2f0;margin:0 0 14px;font-size:17px;line-height:1.3}.rules-sections{gap:14px;display:grid}.rules-section{background:linear-gradient(90deg,#d8b56f0d,#d8b56f00 62%);border-left:1px solid #d8b56f38;padding:12px 14px 13px}.rules-section h3{color:#fff2d2eb;margin:0 0 7px;font-size:15px;line-height:1.35}.rules-section p{color:#f8f0e0c7;text-shadow:0 2px 8px #000000ad;margin:0;font-size:14px;line-height:1.72}.settings-list{gap:14px;display:grid}.settings-row{background:linear-gradient(#ffe4a808,#00000009),#05060661;border:1px solid #d8b56f21;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.settings-row.is-child{background:linear-gradient(90deg,#d8b56f0e,#d8b56f00 38%),linear-gradient(#ffe4a806,#0000000a),#04050557;border-left-color:#d8b56f47;margin-left:22px;padding-left:20px}.settings-row.is-disabled{opacity:.62}.settings-label{color:#fff2d2eb;font-size:16px;font-weight:720}.settings-description{color:#f8f0e094;margin-top:6px;font-size:13px;line-height:1.5}.settings-toggle{min-width:84px;height:36px;padding-inline:22px}.settings-toggle:disabled{cursor:default}.settings-choice-group{background:linear-gradient(#ffe4a806,#0000000a),#0304046b;border:1px solid #d8b56f24;grid-auto-flow:column;gap:6px;padding:4px;display:inline-grid}.settings-choice{min-width:70px;height:34px;padding-inline:20px}.settings-action-group{grid-auto-flow:column;gap:8px;display:inline-grid}.settings-action{min-width:124px;height:36px;padding-inline:20px}.settings-range-group{grid-template-columns:180px 48px;align-items:center;gap:12px;min-width:240px;display:grid}.settings-range{width:100%;height:18px;accent-color:var(--ui-gold);cursor:pointer;background:0 0;margin:0}.settings-range::-webkit-slider-runnable-track{background:linear-gradient(90deg,#d8b56f5c,#d8b56f24),#050606ad;border:1px solid #d8b56f33;height:4px;box-shadow:inset 0 1px #ffeebe14,0 8px 18px #00000038}.settings-range::-webkit-slider-thumb{appearance:none;background:linear-gradient(#ffebb0b8,#a9762bd1),#9b6f2b;border:1px solid #f6d284b8;width:14px;height:18px;margin-top:-8px;box-shadow:inset 0 1px #fff6d261,0 0 14px #d8b56f2e,0 6px 14px #00000057}.settings-range::-moz-range-track{background:linear-gradient(90deg,#d8b56f5c,#d8b56f24),#050606ad;border:1px solid #d8b56f33;height:4px}.settings-range::-moz-range-thumb{background:linear-gradient(#ffebb0b8,#a9762bd1),#9b6f2b;border:1px solid #f6d284b8;border-radius:0;width:14px;height:18px;box-shadow:inset 0 1px #fff6d261,0 0 14px #d8b56f2e,0 6px 14px #00000057}.settings-range-value{color:#fff2d2c2;text-align:right;text-shadow:0 2px 8px #000000b8;font-size:13px;line-height:1}.settings-toggle.is-active,.settings-choice.is-active{color:#fff2d2;background:radial-gradient(circle at 50% 0,#ffe09629,#ffe09600 60%),#9168323d;border-color:#ecc16f94}.tile-hint{z-index:5;-webkit-backdrop-filter:blur(16px)saturate(1.06);backdrop-filter:blur(16px)saturate(1.06);pointer-events:none;background:radial-gradient(circle at 50% 0,#d8b56f1a,#d8b56f00 60%),linear-gradient(#ffe4a80a,#00000009),#060707cc;border:1px solid #d8b56f3d;border-radius:0;width:286px;padding:14px 16px 15px;position:fixed;box-shadow:inset 0 1px #ffeebe14,0 18px 42px #0000007a,0 0 28px #c6892b14}.tile-hint[hidden]{display:none}.tile-hint-title{color:#fff2d2f0;text-shadow:0 2px 9px #000000c7;font-size:16px;font-weight:780;line-height:1.25}.tile-hint-meta{color:#d8b56fdb;border-bottom:1px solid #d8b56f1f;margin-top:5px;padding-bottom:9px;font-size:13px;line-height:1.3}.tile-hint-lines{gap:7px;margin-top:10px;display:grid}.tile-hint-line{color:#f8f0e0c2;text-shadow:0 2px 8px #000000b3;font-size:13px;line-height:1.48}.game-log{z-index:2;border:1px solid var(--ui-gold-faint);-webkit-backdrop-filter:blur(15px)saturate(1.06);backdrop-filter:blur(15px)saturate(1.06);pointer-events:auto;background:radial-gradient(circle at 50% 0,#d8b56f17,#d8b56f00 58%),linear-gradient(#ffe4a80b,#0000000a),#070808ad;border-radius:0;flex-direction:column;width:342px;max-width:calc(100vw - 48px);height:196px;padding:12px 16px;display:flex;position:fixed;bottom:24px;left:24px;overflow:hidden;box-shadow:inset 0 1px #ffeebe14,inset 0 -1px #00000047,0 0 0 1px #dba5450d,0 18px 42px #00000061}.game-log-title{color:#fff2d2db;text-align:center;text-shadow:0 2px 8px #000000c7,0 0 14px #c589311f;place-items:center;margin-bottom:9px;font-size:14px;font-weight:750;line-height:1.25;display:grid;position:relative}.game-log-title:before,.game-log-title:after{content:"";background:linear-gradient(90deg,#d8b56f00,#d8b56f57);width:54px;height:1px;position:absolute;top:50%}.game-log-title:before{left:0;transform:translateY(-50%)}.game-log-title:after{right:0;transform:translateY(-50%)scaleX(-1)}.game-log-list{overscroll-behavior:contain;scrollbar-color:#d8b56f6b #06070757;scrollbar-width:thin;flex:1;min-height:0;padding-right:8px;display:block;overflow:hidden auto}.game-log-list::-webkit-scrollbar{width:6px}.game-log-list::-webkit-scrollbar-track{background:#06070757}.game-log-list::-webkit-scrollbar-thumb{background:#d8b56f57}.game-log-entry{color:#f8f0e0ad;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 2px 8px #000000bd;font-size:14px;line-height:1.36;display:block;overflow:hidden}.game-log-entry+.game-log-entry{margin-top:4px}.game-log-entry:last-child{color:#fff2d2eb}.player-count{-webkit-backdrop-filter:blur(14px)saturate(1.04);backdrop-filter:blur(14px)saturate(1.04);background:#06070775;border:1px solid #d8b56f33;border-radius:0;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffeebe14,0 8px 24px #0000003d}.mode-button{background:linear-gradient(#ffe4a80b,#00000009),#0809096b;border:0;border-right:1px solid #d8b56f24;border-radius:0;min-width:48px;height:38px;padding:0 12px;font-size:13px;box-shadow:inset 0 1px #ffeebe0f,inset 0 -1px #00000038}.mode-button:before,.mode-button:after{content:none}.mode-button:last-child{border-right:0}.mode-button.is-active{color:#fff2d2;background:radial-gradient(circle at 50% 0,#ffe09629,#ffe09600 60%),#91683247}.asset-preview .player-chip,.menu-mode .player-chip,.menu-mode .game-log,.menu-mode .actions,.menu-mode #play-tile,.menu-mode #turn-countdown,.menu-mode .duel-mode-panel,.menu-mode .center-info-panel{display:none}.menu-mode .brand{opacity:0}button{border:1px solid var(--ui-gold-faint);min-width:82px;height:38px;color:var(--ui-text);font:inherit;text-align:center;white-space:nowrap;cursor:pointer;text-shadow:0 2px 8px #000000bd;-webkit-backdrop-filter:blur(16px)saturate(1.08);backdrop-filter:blur(16px)saturate(1.08);background:linear-gradient(#ffe4a80f,#0000000a),#090a0aa8;border-radius:0;place-items:center;padding:0 34px;font-size:14px;font-weight:650;line-height:1;transition:border-color .16s,background .16s,box-shadow .16s,opacity .16s;display:inline-grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffeebe14,inset 0 -1px #00000047,0 14px 28px #0000003d}button:before,button:after{content:"";pointer-events:none;background:linear-gradient(90deg,#d8b56f00,#d8b56f47);width:18px;height:1px;position:absolute;top:50%}button:before{left:14px;transform:translateY(-50%)}button:after{right:14px;transform:translateY(-50%)scaleX(-1)}button:hover{background:linear-gradient(#ffe4a816,#00000009),#14110dc7;border-color:#ecc16f85;box-shadow:inset 0 1px #ffeebe24,inset 0 -1px #00000052,0 12px 32px #00000061}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.46}button:focus-visible{outline-offset:3px;outline:2px solid #ecc16f8a}body.is-mobile-landscape #app{--mobile-safe-inline:40px;--mobile-safe-block:16px;--mobile-safe-left:max(var(--mobile-safe-inline), env(safe-area-inset-left,0px));--mobile-safe-right:max(var(--mobile-safe-inline), env(safe-area-inset-right,0px));--mobile-safe-top:max(var(--mobile-safe-block), env(safe-area-inset-top,0px));--mobile-safe-bottom:max(var(--mobile-safe-block), env(safe-area-inset-bottom,0px));--mobile-play-left:clamp(calc(var(--mobile-safe-left) + 98px), calc(50% + clamp(136px, 24vw, 220px)), calc(100vw - var(--mobile-safe-right) - 118px));--mobile-play-bottom:var(--mobile-safe-bottom);width:100%;height:100%;transform:none}body.is-mobile-landscape .hud-top{top:var(--mobile-safe-top);left:var(--mobile-safe-left)}body.is-mobile-landscape .brand{width:66px;height:27px}body.is-mobile-landscape .player-chip{grid-template-columns:5px auto;gap:6px;min-width:62px;min-height:24px;padding:5px 8px;font-size:11px;box-shadow:inset 0 1px #ffecba1a,inset 0 -1px #d8b56f14,0 0 0 1px #0000006b,0 8px 18px #0000004d}body.is-mobile-landscape .player-chip:before{width:5px;height:5px}body.is-mobile-landscape .player-chip[data-state-label]{grid-template-columns:5px auto auto;min-width:88px}body.is-mobile-landscape .player-chip:after{margin-left:2px;padding-left:6px;font-size:10px}body.is-mobile-landscape .player-top{top:var(--mobile-safe-top)}body.is-mobile-landscape .player-left{left:var(--mobile-safe-left)}body.is-mobile-landscape .player-right{right:var(--mobile-safe-right)}body.is-mobile-landscape #game-settings{top:var(--mobile-safe-top);right:var(--mobile-safe-right);min-width:70px;height:30px;padding-inline:16px;font-size:12px}body.is-mobile-landscape #play-tile{left:var(--mobile-play-left);bottom:var(--mobile-play-bottom);min-width:86px;height:36px;padding-inline:22px;font-size:13px;transform:none}body.is-mobile-landscape #play-tile:active{transform:translateY(1px)}body.is-mobile-landscape #turn-countdown{left:calc(var(--mobile-play-left) + 66px);bottom:calc(var(--mobile-safe-bottom) + 26px);border-color:#ecc16f80;min-width:26px;height:22px;padding:0 7px;font-size:11px;box-shadow:inset 0 1px #ffeebe1f,0 0 16px #c6892b2e,0 8px 18px #00000059}body.is-mobile-landscape.game-mode #mobile-log-toggle{left:var(--mobile-safe-left);bottom:var(--mobile-safe-bottom);place-items:center;min-width:66px;height:30px;padding-inline:16px;font-size:12px;display:inline-grid}body.is-mobile-landscape.game-mode .game-log{display:none}body.is-mobile-landscape.game-mode .game-log.is-open{left:var(--mobile-safe-left);bottom:calc(var(--mobile-safe-bottom) + 38px);width:min(430px, 48vw, calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right)));height:min(260px, calc(100dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 54px));z-index:5;padding:9px 11px 10px;display:flex}body.is-mobile-landscape .game-log-title{margin-bottom:7px;font-size:12px}body.is-mobile-landscape .game-log-title:before,body.is-mobile-landscape .game-log-title:after{width:32px}body.is-mobile-landscape .game-log-entry{font-size:11px;line-height:1.42}body.is-mobile-landscape .center-info-panel{top:calc(50% + 8px)}body.is-mobile-landscape .center-info-panel.is-prompt{min-width:240px;max-width:min(520px, calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px));min-height:42px;padding-inline:36px}body.is-mobile-landscape .center-info-panel.is-prompt .center-info-title{font-size:12px;line-height:1.2}body.is-mobile-landscape .center-info-panel.is-result{min-width:min(320px, calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 20px));top:50%}body.is-mobile-landscape .duel-mode-panel{gap:14px;top:calc(50% + 8px)}body.is-mobile-landscape .duel-mode-panel button{min-width:88px;height:40px;padding-inline:24px;font-size:16px;line-height:1}body.is-mobile-landscape .main-menu-panel{gap:16px;width:min(520px,100vw - 36px);top:60%}body.is-mobile-landscape .main-menu-brand{width:clamp(128px,22vw,220px)}body.is-mobile-landscape .main-menu-actions{grid-template-columns:repeat(3,minmax(104px,1fr));gap:10px}body.is-mobile-landscape .main-menu-player-count{grid-template-columns:repeat(4,minmax(82px,1fr));gap:10px}body.is-mobile-landscape .main-menu button{min-height:38px;padding-inline:18px;font-size:13px}body.is-mobile-landscape .info-overlay,body.is-mobile-landscape .confirm-overlay{padding:var(--mobile-safe-top) var(--mobile-safe-right) var(--mobile-safe-bottom) var(--mobile-safe-left)}body.is-mobile-landscape .info-panel{width:min(860px, calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right)));max-height:calc(100dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom))}body.is-mobile-landscape .info-panel-header{padding:10px 12px 8px}body.is-mobile-landscape .info-panel-title{font-size:17px}body.is-mobile-landscape .info-panel-close{min-width:70px;height:30px;padding-inline:16px;font-size:12px}body.is-mobile-landscape .info-panel-body{padding:10px 12px 12px}body.is-mobile-landscape .info-tabs{scrollbar-width:thin;gap:7px;margin-bottom:9px;padding-bottom:4px;display:flex;overflow-x:auto}body.is-mobile-landscape .info-tab{flex:none;width:auto;min-width:86px;height:30px;padding-inline:14px;font-size:12px}body.is-mobile-landscape .rules-content{padding:10px 12px 12px}body.is-mobile-landscape .rules-content h2{margin-bottom:7px;font-size:14px}body.is-mobile-landscape .rules-sections{gap:7px}body.is-mobile-landscape .rules-section{padding:8px 10px}body.is-mobile-landscape .rules-section h3{margin-bottom:4px;font-size:12px}body.is-mobile-landscape .rules-section p{font-size:11px;line-height:1.48}body.is-mobile-landscape .settings-list{gap:7px}body.is-mobile-landscape .settings-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 10px}body.is-mobile-landscape .settings-label{font-size:13px}body.is-mobile-landscape .settings-description{margin-top:4px;font-size:11px;line-height:1.35}body.is-mobile-landscape .settings-toggle{min-width:64px;height:30px;padding-inline:16px;font-size:12px}body.is-mobile-landscape .settings-choice-group{gap:4px;padding:3px}body.is-mobile-landscape .settings-choice{min-width:58px;height:28px;padding-inline:12px;font-size:12px}body.is-mobile-landscape .settings-range-group{grid-template-columns:120px 38px;gap:8px;min-width:164px}body.is-mobile-landscape .settings-range-value{font-size:11px}body.is-mobile-landscape .tile-hint{width:230px;padding:10px 12px}body.is-mobile-short-landscape #app{--mobile-safe-inline:48px;--mobile-safe-block:12px;--mobile-safe-left:max(var(--mobile-safe-inline), env(safe-area-inset-left,0px));--mobile-safe-right:max(var(--mobile-safe-inline), env(safe-area-inset-right,0px));--mobile-safe-top:max(var(--mobile-safe-block), env(safe-area-inset-top,0px));--mobile-safe-bottom:max(var(--mobile-safe-block), env(safe-area-inset-bottom,0px));--mobile-play-left:clamp(calc(var(--mobile-safe-left) + 86px), calc(50% + clamp(118px, 21vw, 182px)), calc(100vw - var(--mobile-safe-right) - 104px));--mobile-play-bottom:var(--mobile-safe-bottom)}body.is-mobile-short-landscape .hud-top{top:var(--mobile-safe-top);left:var(--mobile-safe-left)}body.is-mobile-short-landscape .brand{width:56px;height:23px}body.is-mobile-short-landscape .player-chip{gap:5px;min-width:56px;min-height:22px;padding:4px 7px;font-size:10px}body.is-mobile-short-landscape .player-chip[data-state-label]{min-width:78px}body.is-mobile-short-landscape .player-chip:after{padding-left:5px;font-size:9px}body.is-mobile-short-landscape .player-top{top:var(--mobile-safe-top)}body.is-mobile-short-landscape .player-left{left:var(--mobile-safe-left)}body.is-mobile-short-landscape .player-right{right:var(--mobile-safe-right)}body.is-mobile-short-landscape #game-settings{top:var(--mobile-safe-top);right:var(--mobile-safe-right);min-width:60px;height:28px;padding-inline:14px;font-size:11px}body.is-mobile-short-landscape #play-tile{min-width:78px;height:32px;padding-inline:18px;font-size:12px}body.is-mobile-short-landscape #turn-countdown{left:calc(var(--mobile-play-left) + 58px);bottom:calc(var(--mobile-safe-bottom) + 28px);min-width:24px;height:20px;padding-inline:6px;font-size:10px}body.is-mobile-short-landscape.game-mode #mobile-log-toggle{left:var(--mobile-safe-left);bottom:var(--mobile-safe-bottom);min-width:56px;height:28px;padding-inline:12px;font-size:11px}body.is-mobile-short-landscape.game-mode .game-log.is-open{left:var(--mobile-safe-left);bottom:calc(var(--mobile-safe-bottom) + 36px);width:min(360px, 43vw, calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right)));height:min(208px, calc(100dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 48px));padding:8px 9px 9px}body.is-mobile-short-landscape .game-log-title{margin-bottom:5px;font-size:11px}body.is-mobile-short-landscape .game-log-title:before,body.is-mobile-short-landscape .game-log-title:after{width:26px}body.is-mobile-short-landscape .game-log-entry{font-size:10px;line-height:1.35}body.is-mobile-short-landscape .center-info-panel{top:calc(50% - 6px)}body.is-mobile-short-landscape .center-info-panel.is-prompt{min-width:210px;max-width:min(440px, calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 18px));min-height:36px;padding-inline:28px}body.is-mobile-short-landscape .center-info-panel.is-prompt .center-info-title{font-size:11px}body.is-mobile-short-landscape .duel-mode-panel{gap:10px;top:calc(50% + 4px)}body.is-mobile-short-landscape .duel-mode-panel button{min-width:72px;height:34px;padding-inline:18px;font-size:14px;line-height:1}body.is-mobile-short-landscape .main-menu-panel{gap:12px;top:59%}body.is-mobile-short-landscape .main-menu-brand{width:clamp(108px,18vw,170px)}body.is-mobile-short-landscape .info-overlay,body.is-mobile-short-landscape .confirm-overlay{padding:var(--mobile-safe-top) var(--mobile-safe-right) var(--mobile-safe-bottom) var(--mobile-safe-left)}body.is-mobile-short-landscape .info-panel{width:min(900px, calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right)));max-height:calc(100dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom))}body.is-mobile-short-landscape .info-panel-header{padding:7px 10px 6px}body.is-mobile-short-landscape .info-panel-title{font-size:14px}body.is-mobile-short-landscape .info-panel-close{min-width:58px;height:26px;padding-inline:12px;font-size:11px}body.is-mobile-short-landscape .info-panel-body{padding:7px 10px 9px}body.is-mobile-short-landscape .info-tabs{gap:5px;margin-bottom:7px;padding-bottom:3px}body.is-mobile-short-landscape .info-tab{min-width:72px;height:27px;padding-inline:11px;font-size:11px}body.is-mobile-short-landscape .rules-content{padding:7px 9px 9px}body.is-mobile-short-landscape .rules-content h2{margin-bottom:5px;font-size:12px}body.is-mobile-short-landscape .rules-sections{gap:5px}body.is-mobile-short-landscape .rules-section{padding:6px 8px}body.is-mobile-short-landscape .rules-section h3{margin-bottom:3px;font-size:10.5px}body.is-mobile-short-landscape .rules-section p{font-size:9.8px;line-height:1.38}body.is-mobile-short-landscape .settings-list{gap:5px}body.is-mobile-short-landscape .settings-row{gap:8px;padding:6px 8px}body.is-mobile-short-landscape .settings-row.is-child{margin-left:12px;padding-left:10px}body.is-mobile-short-landscape .settings-label{font-size:11.5px}body.is-mobile-short-landscape .settings-description{margin-top:3px;font-size:9.8px;line-height:1.28}body.is-mobile-short-landscape .settings-toggle{min-width:56px;height:27px;padding-inline:12px;font-size:11px}body.is-mobile-short-landscape .settings-choice-group{gap:3px;padding:3px}body.is-mobile-short-landscape .settings-choice{min-width:52px;height:26px;padding-inline:10px;font-size:11px}body.is-mobile-short-landscape .settings-range-group{grid-template-columns:104px 34px;gap:6px;min-width:142px}body.is-mobile-short-landscape .settings-range-value{font-size:10px}body.is-mobile-short-landscape .tile-hint{width:210px;padding:9px 10px}@media (width<=980px) and (orientation:portrait){#orientation-guard{display:grid}}@media (width<=720px) and (orientation:portrait){.hud-top{top:12px;left:14px}.brand{width:72px;height:29px}.player-left,.player-right,.player-top{display:none}.actions{flex-wrap:wrap;justify-content:flex-end;bottom:14px;right:14px}.duel-mode-panel{top:58vh}.main-menu{padding:0}.main-menu-panel{gap:12px;width:min(520px,100vw - 32px);top:68%;left:50%;transform:translate(-50%,-50%)}.main-menu-brand{width:min(188px,50vw)}.main-menu-actions,.main-menu-player-count{gap:8px}.main-menu-actions{grid-template-columns:repeat(3,minmax(70px,1fr))}.main-menu-player-count{grid-template-columns:repeat(4,minmax(64px,1fr))}.main-menu button{min-height:36px;padding-inline:10px;font-size:12px}.main-menu button:before,.main-menu button:after{content:none}#play-tile{bottom:86px;left:50%}#turn-countdown{min-width:42px;height:34px;font-size:12px;bottom:86px;left:calc(50% + 76px)}#game-settings{min-width:76px;height:34px;padding-inline:16px;font-size:12px;top:12px;right:14px}.info-overlay,.confirm-overlay{padding:22px 14px}.confirm-panel{width:calc(100vw - 28px);padding:20px 18px}.confirm-actions{flex-direction:column;align-items:stretch}.info-panel{width:calc(100vw - 28px);max-height:calc(100vh - 44px)}.info-panel-header{padding:14px}.info-panel-title{font-size:18px}.info-panel-body{padding:14px}.info-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.info-tab{padding-inline:10px;font-size:12px}.settings-row{grid-template-columns:1fr}.settings-row.is-child{margin-left:12px}.settings-toggle{justify-self:start}.settings-range-group{grid-template-columns:minmax(150px,1fr) 46px;width:100%;min-width:0}.settings-action-group{grid-auto-flow:row;justify-self:start}.tile-hint{width:min(286px,100vw - 28px)}button{min-width:76px}}
