@font-face{font-family:WealthSerif;src:local("Songti SC"),local("STSong")}:root{color:#e9eef6;background:#07111d;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;--panel: rgba(12, 26, 43, .9);--line: rgba(182, 203, 228, .18);--gold: #f2c45f;--cyan: #62d9ff;--red: #ff6f7d;--green: #7ee2a8}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 18% 16%,rgba(83,146,193,.28),transparent 32%),radial-gradient(circle at 90% 18%,rgba(242,196,95,.16),transparent 28%),#07111d}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.landing{--landing-pad: clamp(16px, 3vw, 32px);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);grid-template-rows:minmax(0,1fr);gap:clamp(16px,2.5vw,32px);height:100vh;height:100dvh;min-height:min(640px,100dvh);padding:var(--landing-pad);align-items:stretch}.landing-board{overflow:hidden;min-height:0;height:100%;border:1px solid var(--line);border-radius:8px;background:#02070d}.landing-board img{display:block;width:100%;height:100%;object-fit:contain}.entry-panel,.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 22px 70px #00000052}.entry-panel{align-self:stretch;display:flex;min-height:0;height:100%;flex-direction:column;justify-content:flex-start;overflow-y:auto;padding:28px}@media(min-height:900px)and (min-width:1181px){.entry-panel{justify-content:center}}.eyebrow{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;font-family:WealthSerif,PingFang SC,serif}h1{font-size:38px}h2{font-size:24px}.lead{color:#a9b9c9;line-height:1.7}label{display:grid;gap:8px;margin:14px 0;color:#b8c8d8;font-size:13px}input,select{width:100%;border:1px solid rgba(188,213,239,.2);border-radius:6px;padding:11px 12px;color:#f7fbff;background:#ffffff0f}.field-invalid input{border-color:#ff6f7d;box-shadow:0 0 0 1px #ff6f7d70}.field-error{color:#ff9aa5;font-size:12px;font-weight:800}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;margin:22px 0;border:1px solid var(--line);border-radius:8px}.segmented button,.secondary,.ghost,.icon-button{color:#d7e7f8;background:#ffffff12}.segmented button{border-radius:6px;padding:10px}.segmented .active{border:1px solid rgba(242,196,95,.45);color:#fff8df;background:linear-gradient(135deg,#f2c45f3d,#62d9ff1f),#ffffff12}.primary,.secondary,.danger,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:6px;padding:10px 14px;font-weight:800}.primary{color:#06101b;background:linear-gradient(135deg,var(--gold),#64e1ff)}.learn-now{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid rgba(242,196,95,.82);border-radius:6px;padding:11px 14px;color:#10151c;background:var(--gold);font-weight:900;box-shadow:0 10px 24px #f2c45f2e}.first-action{margin:20px 0 8px}.entry-section{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.entry-section h2{font-size:18px}.entry-section p{margin:6px 0 0;color:#a9b9c9;font-size:13px;line-height:1.6}.create-room-section,.join-room-section{padding-bottom:2px}.danger{color:#fff;background:#ad2b3b}.wide{width:100%;margin-top:10px}.swatches{display:flex;gap:10px;margin:12px 0}.swatches button{width:28px;height:28px;border:2px solid transparent;border-radius:50%}.swatches .selected{border-color:#fff}.app-shell{--shell-pad: clamp(14px, 2vw, 20px);padding:var(--shell-pad)}.game-shell{height:100vh;height:100dvh}.wechat-qr-badge{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));z-index:20;width:clamp(92px,8vw,132px);border:1px solid rgba(255,255,255,.72);border-radius:8px;padding:6px;background:#fff;box-shadow:0 16px 38px #00000057}.wechat-qr-badge img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.wechat-qr-close{position:absolute;top:-10px;right:-10px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.78);border-radius:50%;padding:0;color:#f7fbff;background:#07111deb;box-shadow:0 8px 18px #00000052;line-height:0}.wechat-qr-close:hover{color:#06101b;background:var(--gold)}.wechat-qr-close svg{display:block;flex:0 0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.game-room-meta{display:flex;align-items:center;gap:10px;min-width:0}.game-title{color:#f7fbff;font-family:WealthSerif,PingFang SC,serif;font-size:24px;line-height:1;white-space:nowrap}.room-code{border:1px solid rgba(242,196,95,.3);border-radius:999px;padding:5px 9px;color:var(--gold);background:#f2c45f14;font-size:12px;font-weight:900;white-space:nowrap}.status-strip{display:flex;align-items:center;gap:10px}.game-status-strip{flex-wrap:wrap;gap:8px}.badge{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#dceaff;background:#ffffff0f;font-size:13px}.badge.gold{color:#1b1303;background:var(--gold)}.icon-button{width:38px;height:38px;border-radius:50%}.game-grid{--game-area-height: calc(100vh - (var(--shell-pad) * 2));--game-area-height: calc(100dvh - (var(--shell-pad) * 2));--board-size: min(var(--game-area-height), calc(100vw - 40px) );display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,420px);grid-template-rows:minmax(0,1fr);gap:18px;align-items:stretch;min-height:0}.board-wrap{position:relative;display:grid;place-items:center;overflow:hidden;min-width:0;min-height:0;border:1px solid var(--line);border-radius:8px;background:#02060c;height:var(--game-area-height);max-height:var(--game-area-height)}.board-stage{position:relative;width:min(100%,var(--board-size));max-width:var(--game-area-height);aspect-ratio:1}.board-image{position:relative;z-index:0;display:block;width:100%;height:100%;object-fit:contain}.piece{position:absolute;z-index:3;display:grid;place-items:center;width:34px;height:34px;border:3px solid #fff;border-radius:50%;color:#06101b;font-weight:900;box-shadow:0 8px 22px #00000073;transform-origin:center;transition:left .32s ease,top .32s ease,transform .32s ease}.piece-moving{z-index:4;box-shadow:0 0 0 5px #f2c45f3d,0 14px 34px #0000008c}.piece-current{box-shadow:0 0 0 5px #f2c45f57,0 10px 26px #00000080}.board-help-button{position:absolute;top:12px;right:12px;z-index:6;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(188,213,239,.28);border-radius:50%;color:#dceaff;background:#050c15c7;box-shadow:0 12px 30px #0000005c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.board-help-button:hover,.board-help-button[aria-expanded=true]{color:#06101b;background:var(--gold)}.board-help-popover{position:absolute;top:56px;right:12px;z-index:6;display:grid;gap:7px;width:min(280px,calc(100% - 24px));border:1px solid rgba(188,213,239,.24);border-radius:8px;padding:12px;color:#dceaff;background:#050c15db;box-shadow:0 18px 48px #0000006b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12px}.board-help-popover strong{color:#fff8df;font-size:13px}.board-help-popover span{display:flex;align-items:center;gap:7px;line-height:1.35}.board-help-popover small{color:#a9bed2;line-height:1.4}.legend-piece{flex:0 0 auto;width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:var(--gold)}.side-panel{display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;gap:14px;max-height:var(--game-area-height);overflow:auto;padding-right:4px}.game-side-header{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#0c1a2bb8}@media(min-width:1680px){.game-grid{grid-template-columns:minmax(0,1fr) minmax(400px,460px)}}.info-drawer{display:grid;gap:10px;padding:12px}.drawer-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.drawer-rail button{min-height:34px;border:1px solid rgba(188,213,239,.24);border-radius:6px;padding:8px 6px;color:#dceaff;background:#ffffff0f;font-size:12px;font-weight:900}.drawer-rail button.active,.drawer-rail button:hover{color:#06101b;background:var(--gold)}.drawer-panel{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(52vh,560px);border:1px solid rgba(188,213,239,.22);border-radius:8px;background:#ffffff09}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 14px;color:var(--gold)}.drawer-header strong{font-size:14px}.drawer-close{border-radius:6px;padding:6px 10px;color:#dceaff;background:#ffffff14;font-size:12px;font-weight:900}.drawer-content{overflow:auto;padding:14px}.panel{padding:16px}.embedded-panel{padding:0}.panel.block,.turn-card{display:grid;gap:12px}.goal-panel{background:linear-gradient(135deg,#62d9ff1f,#f2c45f14),var(--panel)}.goal-panel.collapsed{padding-bottom:12px}.goal-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;color:inherit;background:transparent;text-align:left}.goal-toggle .panel-title{margin-bottom:0}.goal-toggle-summary{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#b9cada;font-size:12px;font-weight:900}.goal-main{display:grid;gap:8px;margin-top:12px}.goal-main strong,.result-card strong{color:#fff8df;font-size:16px}.goal-main p,.result-card p{margin:0;color:#b9cada;line-height:1.55;font-size:13px}.goal-progress{display:flex;align-items:flex-start;gap:8px;margin-top:12px;border:1px solid rgba(98,217,255,.24);border-radius:8px;padding:10px 12px;color:#dff7ff;background:#62d9ff14;font-size:13px;line-height:1.45}.goal-progress.ready{border-color:#7ee2a852;color:#dfffea;background:#7ee2a81a}.goal-progress.compact{margin-top:10px;padding:8px 10px}.turn-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.turn-main p,.sheet-header p,.drawn-card p{margin:6px 0 0;color:#9fb2c5;line-height:1.5}.turn-actions{display:grid;gap:10px}.turn-hint{margin:0;border:1px solid rgba(242,196,95,.24);border-radius:8px;padding:10px 12px;color:#d9e4ee;background:#f2c45f14;font-size:13px;line-height:1.5}.turn-chip{flex:0 0 auto;border:1px solid rgba(242,196,95,.35);border-radius:999px;padding:6px 10px;color:var(--gold);background:#f2c45f17;font-size:12px;font-weight:900}.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--gold);font-size:13px;font-weight:900}.players,.coach-stack{display:grid;gap:10px}.player-row{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;border:1px solid transparent;border-radius:8px;padding:10px;background:#ffffff0a}.player-row.current{border-color:var(--gold)}.player-row strong{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bot-tag{border:1px solid rgba(98,217,255,.34);border-radius:999px;padding:2px 6px;color:var(--cyan);background:#62d9ff14;font-size:11px;font-weight:900}.dot{width:12px;height:12px;border-radius:50%}small{display:block;color:#92a5b8}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric{border:1px solid var(--line);border-radius:8px;padding:10px;background:#ffffff0a}.metric strong{display:block;margin-top:4px;color:#f8fbff;font-size:17px}.metric.good strong{color:var(--green)}.metric.bad strong,.report-row.negative b,.asset-row.debt b{color:#ff9aa5}.cash-panel{background:linear-gradient(135deg,#f2c45f2e,#62d9ff14),var(--panel)}.cash-hero{display:grid;gap:6px;margin-bottom:12px}.cash-hero strong{color:#fff8df;font-size:clamp(28px,3vw,42px);line-height:1}.drawn-card,.empty-state{border:1px solid rgba(242,196,95,.28);border-radius:8px;padding:12px;background:#f2c45f14}.drawn-card strong{display:block;margin-top:4px;color:#fff3c6}.empty-state{color:#90a5b8;text-align:center}.empty-state.compact{padding:10px;font-size:13px}.result-panel{border-color:#62d9ff38}.result-panel.good{border-color:#7ee2a84d}.result-panel.warn{border-color:#f2c45f52}.result-card{display:grid;gap:7px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;background:#ffffff0b}.result-card small{color:var(--gold);font-weight:900}.asset-list,.liability-list{display:grid;gap:8px;margin-top:10px}.asset-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:8px;color:#dceaff;font-size:13px}.asset-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.sheet-header svg{color:var(--gold)}.report-group{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.report-title{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--cyan);font-size:12px;font-weight:900}.report-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:5px 0;color:#b9cbdd;font-size:13px}.report-row b{color:#f8fbff}.report-row.total{border-top:1px solid rgba(255,255,255,.12);margin-top:4px;padding-top:8px;font-weight:900}.inline-fields{display:grid;grid-template-columns:1fr auto auto;gap:8px}.no-margin{margin-top:0}.ghost{flex-wrap:wrap;width:100%;font-size:13px}.ghost span{width:100%;color:#9fb2c5;font-weight:500}.coach-player-card{margin-bottom:14px}.coach-player-card .panel{border:1px solid rgba(255,255,255,.08);box-shadow:none}.log-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0}.log-row>div{display:grid;gap:3px;min-width:0}.log-row span{color:#e7f0fb;font-weight:800}.log-row small{line-height:1.35}.log-row time{flex:0 0 auto;color:#7f91a3;font-size:12px}.card-note,.winner,.toast{border-radius:8px;padding:10px 12px;margin-top:12px}.card-note{color:#dbe9f9;background:#62d9ff1a}.winner{color:#211501;background:var(--gold);font-weight:900}.toast{color:#fff;background:#ad2b3be6}.toast.inline{margin:10px 0}.trial-notice{border:1px solid rgba(98,217,255,.22);border-radius:8px;padding:12px;background:#62d9ff12}.trial-notice{margin:0 0 12px;color:#d9edff;font-weight:800}.trial-notice.good{border-color:#7ee2a857;color:#dfffee;background:#7ee2a817}.payment-hint{margin:0 0 10px;border:1px solid rgba(98,217,255,.24);border-radius:6px;padding:8px 10px;color:#d9edff;background:#62d9ff14;font-size:12px;line-height:1.5}.payment-hint.good{border-color:#7ee2a857;color:#dfffee;background:#7ee2a817}.payment-hint.warn{border-color:#f2c45f61;color:#fff3c6;background:#f2c45f1c}.payment-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;padding:24px;background:#04090f9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.payment-modal{position:relative;display:grid;gap:16px;width:min(92vw,390px);border:1px solid rgba(242,196,95,.42);border-radius:8px;padding:22px;background:linear-gradient(145deg,#112031fa,#060d16fa),#0a1624;box-shadow:0 30px 100px #0000009e}.payment-close{position:absolute;top:12px;right:12px;width:36px;height:36px}.payment-copy{padding-right:42px}.payment-copy small{color:var(--gold);font-weight:900}.payment-copy p{margin:10px 0 0;color:#aebfd1;line-height:1.7}.payment-qr-frame{display:grid;place-items:center;width:min(260px,100%);aspect-ratio:1;justify-self:center;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:12px;background:#f7fbff}.payment-qr-frame img{display:block;width:100%;height:100%;object-fit:contain}.payment-qr-frame span{color:#273443;font-weight:900}.payment-status{border:1px solid rgba(98,217,255,.24);border-radius:6px;padding:10px 12px;color:#d9edff;background:#62d9ff14;text-align:center;font-weight:800}.payment-status.good{border-color:#7ee2a857;color:#dfffee;background:#7ee2a817}.payment-actions{display:grid;grid-template-columns:1fr;gap:10px}.play-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px;pointer-events:none}.play-overlay-card{pointer-events:auto;background:#04090f8f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dice-stage,.move-stage{display:grid;justify-items:center;gap:14px;border:1px solid rgba(242,196,95,.38);border-radius:8px;padding:24px 28px;color:#fff8df;background:linear-gradient(145deg,#0e1d2eeb,#050c15f2),#0c1a2bf0;box-shadow:0 28px 90px #00000073}.dice-stage strong,.move-stage strong{font-size:22px}.dice-cube{position:relative;display:grid;grid-template-columns:repeat(3,18px);grid-template-rows:repeat(3,18px);gap:5px;width:88px;height:88px;place-content:center;border:2px solid rgba(255,255,255,.82);border-radius:18px;background:radial-gradient(circle at 28% 22%,#fff,#f2f6ff 28%,#dce6f3 72%),#edf3fb;box-shadow:inset -12px -14px 18px #46536633,inset 8px 8px 14px #fffc,0 18px 38px #0000006b;animation:dice-pop .92s cubic-bezier(.2,.9,.24,1.2)}.pip{display:none;width:13px;height:13px;align-self:center;justify-self:center;border-radius:50%;background:#111a25;box-shadow:inset 1px 1px 2px #ffffff38}.pip-1{grid-area:1 / 1}.pip-2{grid-area:1 / 2}.pip-3{grid-area:1 / 3}.pip-4{grid-area:2 / 2}.pip-5{grid-area:3 / 1}.pip-6{grid-area:3 / 3}.dice-cube[data-face="1"] .pip-4,.dice-cube[data-face="2"] .pip-1,.dice-cube[data-face="2"] .pip-6,.dice-cube[data-face="3"] .pip-1,.dice-cube[data-face="3"] .pip-4,.dice-cube[data-face="3"] .pip-6,.dice-cube[data-face="4"] .pip-1,.dice-cube[data-face="4"] .pip-3,.dice-cube[data-face="4"] .pip-5,.dice-cube[data-face="4"] .pip-6,.dice-cube[data-face="5"] .pip-1,.dice-cube[data-face="5"] .pip-3,.dice-cube[data-face="5"] .pip-4,.dice-cube[data-face="5"] .pip-5,.dice-cube[data-face="5"] .pip-6,.dice-cube[data-face="6"] .pip-1,.dice-cube[data-face="6"] .pip-2,.dice-cube[data-face="6"] .pip-3,.dice-cube[data-face="6"] .pip-5,.dice-cube[data-face="6"] .pip-6,.dice-cube[data-face="6"]:after{display:block}.dice-cube[data-face="6"]:after{content:"";width:13px;height:13px;grid-area:3 / 2;align-self:center;justify-self:center;border-radius:50%;background:#111a25}.move-meter{display:flex;gap:8px}.move-meter span{width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px #f2c45fa6;animation:step-pulse .8s ease both}.move-stage small{color:#a9bed2}.pending-card{display:grid;grid-template-columns:210px minmax(0,340px);overflow:hidden;width:min(92vw,590px);max-height:calc(100vh - 48px);border:1px solid rgba(242,196,95,.46);border-radius:8px;background:linear-gradient(145deg,#131f2dfa,#070d16fa),#0b1725;box-shadow:0 30px 100px #0000009e;animation:card-reveal .44s ease both}.card-art{position:relative;height:300px;overflow:hidden;background:#030812}.card-art img{display:block;width:190%;height:100%;object-fit:cover;object-position:50% 44%;filter:saturate(1.12) contrast(1.05);transform:translate(-24%)}.card-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.28)),radial-gradient(circle at 50% 38%,transparent 38%,rgba(4,8,14,.55))}.payday-art{display:grid;place-items:center;color:#113421;background:radial-gradient(circle at 50% 42%,#ffffffeb,#f2c45fb3 28%,#39be74d1 70%),#39be74}.payday-art svg{position:relative;z-index:1;filter:drop-shadow(0 12px 22px rgba(0,0,0,.24))}.payday-art:after{background:linear-gradient(180deg,transparent,rgba(0,0,0,.18)),radial-gradient(circle at 50% 42%,transparent 40%,rgba(8,45,31,.28))}.flow-art{display:grid;place-items:center;color:#2a1b05;background:radial-gradient(circle at 50% 42%,#fffffff0,#f2c45feb 30%,#ed8037db 72%),#f2c45f}.flow-art svg{position:relative;z-index:1;filter:drop-shadow(0 12px 22px rgba(0,0,0,.24))}.flow-art:after{background:linear-gradient(180deg,transparent,rgba(0,0,0,.16)),radial-gradient(circle at 50% 42%,transparent 42%,rgba(91,48,7,.32))}.job-art{display:grid;place-items:center;color:#092534;background:radial-gradient(circle at 50% 42%,#fffffff0,#62d9ffd1 30%,#35a7ffc7 72%),#62d9ff}.job-art svg{position:relative;z-index:1;filter:drop-shadow(0 12px 22px rgba(0,0,0,.24))}.job-art:after{background:linear-gradient(180deg,transparent,rgba(0,0,0,.16)),radial-gradient(circle at 50% 42%,transparent 42%,rgba(3,35,55,.3))}.card-content{display:grid;align-content:center;gap:12px;overflow:auto;padding:24px}.card-content small{color:var(--gold);font-weight:900}.card-content p{margin:0;color:#c3d2e0;line-height:1.6}.effect-line{border:1px solid rgba(98,217,255,.2);border-radius:8px;padding:10px 12px;color:#dff7ff;background:#62d9ff14;font-size:13px}.card-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin-top:6px}.card-actions button{min-height:58px;justify-content:center;align-items:flex-start;flex-direction:column;gap:4px;text-align:left}.card-actions button small{color:#ffffffb8;font-size:11px;font-weight:700;line-height:1.35}@keyframes dice-pop{0%{transform:translateY(-120px) rotate(-180deg) scale(.72);opacity:0}62%{transform:translateY(8px) rotate(18deg) scale(1.08);opacity:1}to{transform:translateY(0) rotate(0) scale(1)}}@keyframes step-pulse{0%{transform:scale(.4);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes card-reveal{0%{transform:translateY(18px) rotateX(16deg) scale(.92);opacity:0}to{transform:translateY(0) rotateX(0) scale(1);opacity:1}}@media(max-width:1180px){.app-shell{padding:14px}.topbar,.status-strip{align-items:flex-start;flex-wrap:wrap}.game-grid,.landing{grid-template-columns:1fr}.game-grid{--game-area-height: auto;--board-size: min(100%, calc(100vw - 28px) );grid-template-rows:auto auto}.game-shell{height:auto;min-height:100vh;min-height:100dvh}.board-wrap{height:auto}.landing{height:auto;min-height:100vh;min-height:100dvh;grid-template-rows:minmax(280px,46vh) auto}.entry-panel{min-height:0;height:auto;justify-content:flex-start;overflow:visible}.side-panel,.board-wrap{max-height:none}}@media(max-width:680px){.app-shell{--shell-pad: 10px}.game-shell{padding-bottom:calc(152px + env(safe-area-inset-bottom))}.game-grid{--board-size: min( calc(100vw - 20px) , 58vh);gap:12px}.board-wrap{height:min(calc(100vw - 20px),58vh);max-height:58vh}.board-stage{max-width:none}.side-panel{gap:10px;padding-right:0;overflow:visible}.game-side-header{padding:14px}.game-title{font-size:22px}.game-status-strip{gap:8px}.badge{padding:8px 10px}.player-side .turn-card{position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:30;gap:8px;padding:12px;background:#091625f5;box-shadow:0 -14px 42px #0000006b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.player-side .turn-card .panel-title{margin-bottom:4px}.player-side .turn-main{align-items:center}.player-side .turn-main h2{font-size:28px}.player-side .turn-main p{margin-top:2px;font-size:14px;line-height:1.35}.player-side .turn-actions{gap:8px}.player-side .payment-hint,.player-side .turn-hint{margin-bottom:0;padding:8px 10px;font-size:13px;line-height:1.35}.player-side .turn-actions .primary{min-height:46px;font-size:16px}.landing{--landing-pad: 12px;gap:12px;min-height:100vh;min-height:100dvh;grid-template-rows:minmax(220px,40vh) auto}.entry-panel{padding:20px}h1{font-size:32px}.drawer-panel{max-height:56vh}.wechat-qr-badge{display:none}.pending-card{grid-template-columns:1fr}.card-art{height:140px}.card-content{align-content:start;padding:18px}}
