.hall{position:relative;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;color:#fff;font-family:var(--sans)}.hall-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hall-backdrop svg{width:100%;height:100%;display:block}.hall>*:not(.hall-backdrop){position:relative;z-index:1}.hall-top{display:flex;align-items:center;gap:12px;padding:10px 18px;flex-wrap:wrap}.hall-user{display:flex;align-items:center;gap:9px;padding:5px 16px 5px 5px;border-radius:999px;background:linear-gradient(180deg,#3c1c10c7,#28120a99);border:1px solid rgba(255,214,150,.28);box-shadow:0 4px 16px -8px #000000e6;min-width:0}.hall-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:900;background:linear-gradient(150deg,#f6c945,#c97b1e);color:#3a1e00;border:2px solid rgba(255,244,200,.85);flex:0 0 auto}.hall-userinfo{min-width:0}.hall-name{font-size:13.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px;text-shadow:0 1px 3px rgba(0,0,0,.7)}.hall-meta{font-size:10px;color:#ffe2b4ad;font-family:var(--mono)}.hall-coins{display:flex;align-items:center;gap:7px;padding:6px 8px 6px 14px;border-radius:999px;background:linear-gradient(180deg,#3c1c10c7,#28120a99);border:1px solid rgba(255,214,150,.28)}.coin-label{font-size:10px;color:#ffd696cc;letter-spacing:.08em}.hall-coins b{font-family:var(--mono);font-size:15px;color:#ffd76a}.hall-coins .coin-plus{width:20px;height:20px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:13px;font-weight:900;background:#ffd69638;color:#ffd76a;border:none}.hall-coins .coin-plus:hover{background:#ffd69666}.hall-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.hall-btn{padding:7px 12px;border-radius:9px;cursor:pointer;font-size:12px;font-weight:600;background:#3c1c109e;border:1px solid rgba(255,214,150,.22);color:#fff0d6e6;transition:all .14s;position:relative}.hall-btn:hover{border-color:#ffd696b3;color:#ffd76a;background:#502614cc}.hall-btn em{font-style:normal;font-family:var(--mono);font-size:10px;margin-left:4px;color:#ffe2b48c}.hall-btn.ghost{background:transparent}.hall-btn.hot{border-color:#ffd678d9;color:#ffd76a}.hall-main{flex:1;display:grid;grid-template-columns:186px minmax(0,1fr);gap:26px;padding:16px 22px 22px;min-height:0;align-items:start;width:100%;max-width:1180px;margin:0 auto}.hall-left-rail,.hall-right-rail{display:flex;flex-direction:column;gap:8px}.rail-btn{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;cursor:pointer;background:linear-gradient(135deg,#ffffffe6,#ffffffb8);border:1.5px solid rgba(255,244,214,.9);color:#3a2410;transition:all .15s;text-align:left;box-shadow:0 8px 20px -16px #000000f2}.rail-btn:hover{transform:translate(3px);border-color:#f59e0b;box-shadow:0 12px 24px -14px #000000f2}.rail-btn .rail-ico{width:32px;height:32px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;font-size:13px;font-weight:900;background:linear-gradient(160deg,#8b5cf6,#5b21b6);border:2px solid rgba(255,240,210,.75);box-shadow:0 6px 16px -8px #000000f2,inset 0 1px #ffffff59;color:#fff}.rail-btn .rail-ico.gold{background:linear-gradient(160deg,#ffd76a,#d97706);color:#3a1e00}.rail-btn .rail-ico.green{background:linear-gradient(160deg,#4ade80,#15803d)}.rail-btn .rail-ico.red{background:linear-gradient(160deg,#f87171,#b91c1c)}.rail-btn .rail-ico.blue{background:linear-gradient(160deg,#60a5fa,#1d4ed8)}.rail-btn .rail-ico.purple{background:linear-gradient(160deg,#c084fc,#7e22ce)}.rail-btn b{font-size:13px;font-weight:700;line-height:1.25;display:block}.rail-btn small{font-size:10px;color:#3a241099;font-family:var(--mono);line-height:1.2;display:block}.rail-btn.hot .rail-ico{animation:railPulse 2s ease-in-out infinite}@keyframes railPulse{0%,to{box-shadow:0 6px 16px -8px #000000f2,0 0 #ffd6788c}50%{box-shadow:0 6px 16px -8px #000000f2,0 0 0 8px #ffd67800}}.rail-wide .rw-ico{width:24px;height:24px;border-radius:7px;flex:0 0 auto;display:grid;place-items:center;font-size:11px;font-weight:900;background:linear-gradient(160deg,#fde68a,#f59e0b);color:#3a1e00}.rail-wide small{display:block;font-size:9.5px;font-weight:500;color:#3a241099;font-family:var(--mono)}.hall-stage{display:flex;flex-direction:column;gap:14px;min-width:0;align-items:center;justify-content:flex-start;padding-top:6px}.stage-head{text-align:center}.stage-title{font-size:19px;font-weight:900;letter-spacing:.04em;color:#fff7e0;text-shadow:0 2px 10px rgba(80,30,10,.95),0 1px 0 rgba(255,255,255,.3)}.stage-sub{font-size:11px;color:#ffeccdb8;margin-top:3px;text-shadow:0 1px 4px rgba(0,0,0,.8)}.step-bar{display:flex;align-items:center;justify-content:center;gap:7px}.step-dot{width:26px;height:4px;border-radius:2px;background:#fff0d647}.step-dot.on{background:linear-gradient(90deg,#ffe082,#f59e0b);box-shadow:0 0 8px #ffbe3ccc}.game-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:520px;margin:0 auto;width:100%}.game-card{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:14px 15px 46px;border-radius:14px;cursor:pointer;text-align:left;color:#fff;transition:transform .16s,box-shadow .16s;border:2px solid rgba(255,244,214,.8);min-height:132px}.game-card:hover{transform:translateY(-4px) scale(1.015)}.game-card.sc{background:radial-gradient(ellipse 100% 70% at 25% 8%,rgba(120,240,180,.55),transparent 62%),linear-gradient(165deg,#1e7a52,#0d4530 55%,#06281b);box-shadow:0 14px 30px -16px #0a3c28f2,inset 0 1px #ffffff47}.game-card.sgs{background:radial-gradient(ellipse 100% 70% at 25% 8%,rgba(255,150,120,.55),transparent 62%),linear-gradient(165deg,#a83a2c,#6b1c14 55%,#3d0c08);box-shadow:0 14px 30px -16px #5a140af2,inset 0 1px #ffffff47}.game-card .gc-art{position:absolute;right:-12px;top:-12px;width:104px;height:104px;border-radius:50%;opacity:.34;pointer-events:none}.game-card.sc .gc-art{background:radial-gradient(circle at 40% 40%,#b9f6d0 0 18%,transparent 19%),radial-gradient(circle at 66% 58%,#6ee7b7 0 13%,transparent 14%),radial-gradient(circle at 30% 70%,#34d399 0 10%,transparent 11%),radial-gradient(circle at 50% 50%,rgba(190,255,220,.4),transparent 62%)}.game-card.sgs .gc-art{background:radial-gradient(circle at 42% 38%,#ffd0a8 0 16%,transparent 17%),radial-gradient(circle at 68% 60%,#fca5a5 0 12%,transparent 13%),radial-gradient(circle at 28% 68%,#f87171 0 9%,transparent 10%),radial-gradient(circle at 50% 50%,rgba(255,200,180,.4),transparent 62%)}.game-card .gc-tag{align-self:flex-start;font-size:9px;font-family:var(--mono);letter-spacing:.13em;padding:2px 7px;border-radius:5px;background:#0006;color:#ffffffd1;margin-bottom:6px}.game-card .gc-name{font-size:17px;font-weight:900;line-height:1.18;text-shadow:0 2px 6px rgba(0,0,0,.6)}.game-card .gc-name small{display:block;font-size:9px;font-family:var(--mono);letter-spacing:.15em;color:#ffffff8c;font-weight:500;margin-top:2px}.game-card .gc-desc{font-size:10.5px;line-height:1.5;color:#ffffffb8;margin-top:6px}.game-card .gc-meta{font-size:9.5px;font-family:var(--mono);color:#ffffff8c;letter-spacing:.05em;margin-top:4px}.game-card .gc-go{position:absolute;left:14px;bottom:13px;font-size:10.5px;font-weight:800;letter-spacing:.08em;padding:4px 14px;border-radius:999px;background:linear-gradient(180deg,#ffe082,#f0a020);color:#3a1e00;box-shadow:0 4px 12px -6px #000000e6}.mode-choice-list{display:flex;flex-direction:column;gap:9px;max-width:440px;margin:0 auto;width:100%}.mode-choice{display:flex;flex-direction:column;gap:2px;padding:13px 17px;border-radius:12px;cursor:pointer;text-align:left;background:linear-gradient(135deg,#ffffffeb,#ffffffc2);border:2px solid rgba(255,244,214,.85);color:#3a2410;transition:all .15s;box-shadow:0 8px 20px -14px #000000e6}.mode-choice:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px #000000f2;border-color:#f59e0b}.mode-choice b{font-size:14px}.mode-choice em{font-style:normal;font-size:11px;color:#3a24109e}.count-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;max-width:520px;margin:0 auto;width:100%}.count-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:15px 8px;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,#fffffff0,#ffffffc7);border:2px solid rgba(255,244,214,.85);color:#3a2410;transition:all .15s;box-shadow:0 8px 20px -14px #000000e6}.count-btn:hover:not(:disabled){transform:translateY(-3px);border-color:#f59e0b;box-shadow:0 14px 26px -12px #000000f2}.count-btn:disabled{opacity:.45;cursor:default}.count-n{font-family:var(--mono);font-size:23px;font-weight:900;color:#b45309}.count-sub{font-size:10px;color:#3a24109e;white-space:nowrap}.hall-back{align-self:center;padding:7px 16px;border-radius:999px;cursor:pointer;font-size:11.5px;font-weight:600;background:#3c1c10ad;border:1px solid rgba(255,214,150,.32);color:#ffeccde6}.hall-back:hover{border-color:#ffd76a;color:#ffd76a}.quick-start{align-self:center;padding:13px 52px;border-radius:999px;cursor:pointer;font-size:15.5px;font-weight:900;letter-spacing:.12em;color:#3a1e00;background:linear-gradient(180deg,#fff0a8,#ffb020 55%,#e88a00);border:2px solid #fff6d8;box-shadow:0 14px 34px -12px #ffa01e,inset 0 2px #fffc;transition:all .15s}.quick-start:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 20px 44px -12px #ffb428,inset 0 2px #ffffffe6}.quick-start:disabled{opacity:.5;cursor:default;transform:none}@media (max-width: 1024px){.hall-main{grid-template-columns:150px minmax(0,1fr);gap:14px;padding:10px 14px 16px}.rail-btn .rail-ico{width:40px;height:40px;font-size:15px}.rail-btn b{font-size:10.5px}.rail-btn small{display:none}.rail-wide{padding:8px 9px;font-size:11px}.rail-wide small{display:none}}@media (max-width: 760px){.hall-main{grid-template-columns:1fr;padding:8px 12px 14px;gap:10px}.hall-left-rail,.hall-right-rail{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:2px;scrollbar-width:none}.hall-left-rail::-webkit-scrollbar,.hall-right-rail::-webkit-scrollbar{display:none}.rail-btn{flex:0 0 auto;min-width:62px}.rail-wide{flex:0 0 auto;padding:8px 12px}.hall-top{padding:8px 12px;gap:8px}.hall-name{max-width:100px;font-size:12.5px}.hall-actions{width:100%;margin-left:0;justify-content:space-between}.hall-btn{flex:1;text-align:center;padding:7px 4px;font-size:10.5px}.hall-btn em{display:none}.stage-title{font-size:16px}.game-cards{gap:9px}.game-card{min-height:118px;padding:11px 12px 40px}.game-card .gc-name{font-size:14.5px}.game-card .gc-desc{display:none}.count-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:7px}.count-n{font-size:19px}.quick-start{width:100%;padding:13px}}@media (max-width: 420px){.hall-avatar{width:32px;height:32px;font-size:14px}.hall-coins{padding:4px 6px 4px 10px}.hall-coins b{font-size:12.5px}.coin-label,.game-card .gc-tag{display:none}}.side-drawer{position:fixed;top:0;left:0;bottom:0;z-index:60;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1424,#120e18);border-right:1px solid rgba(255,255,255,.12);box-shadow:24px 0 60px -20px #000000f2;animation:drawerInLeft .18s ease-out;overflow:hidden}@keyframes drawerInLeft{0%{transform:translate(-100%);opacity:.6}to{transform:translate(0);opacity:1}}.side-drawer.chat-shell{width:min(560px,94vw)}.side-drawer.chat-shell .chat-body{flex:1;min-height:0;grid-template-columns:170px 1fr}.side-drawer.chat-shell .pm-head,.side-drawer.chat-shell .chat-body{padding-left:16px;padding-right:16px}.side-drawer.chat-shell .chat-msg-list{max-height:none}.side-drawer.rank-shell{width:min(520px,94vw)}.side-drawer.rank-shell .pm-body{flex:1;overflow-y:auto}.friend-drawer{left:0;right:auto;border-left:none;border-right:1px solid rgba(255,255,255,.12);box-shadow:24px 0 60px -20px #000000f2;animation:drawerInLeft .18s ease-out}@media (max-width: 760px){.side-drawer.chat-shell,.side-drawer.rank-shell,.friend-drawer{width:96vw}.side-drawer.chat-shell .chat-body{grid-template-columns:1fr}}.sgs-game{--sgs-gold: var(--gold, #f6c945);--sgs-gold-d: var(--gold-d, #b8891b);--sgs-good: var(--good, #22c55e);--sgs-bad: var(--bad, #ef4444);--sgs-warn: var(--warn, #f59e0b);--sgs-mono: var(--mono, ui-monospace, "JetBrains Mono", Consolas, monospace);--sgs-sans: var(--sans, "Microsoft YaHei", "PingFang SC", system-ui, sans-serif);--sgs-cw: 96px;--sgs-seat-w: 150px;--sgs-radius: 12px;height:100dvh;width:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;overflow:hidden;font-family:var(--sgs-sans);color:#f2f6f4;background:radial-gradient(ellipse 120% 80% at 50% -10%,#1a8f63 0%,transparent 55%),radial-gradient(ellipse 100% 70% at 50% 115%,#0b6244 0%,transparent 60%),linear-gradient(180deg,#0a5b3d,#03221a)}.sgs-game *,.sgs-game *:before,.sgs-game *:after{box-sizing:border-box}.sgs-top{display:flex;align-items:center;gap:10px;padding:8px 16px;flex-wrap:wrap;background:linear-gradient(180deg,#3a2416,#24160d);border-bottom:2px solid #5a3d24;box-shadow:0 6px 20px -8px #000;position:relative;z-index:20}.sgs-brand{display:flex;align-items:baseline;gap:7px}.sgs-brand b{font-size:19px;letter-spacing:.06em;background:linear-gradient(180deg,#ffe9a3,#d9a628);-webkit-background-clip:text;background-clip:text;color:transparent}.sgs-brand span{font-family:var(--sgs-mono);font-size:9.5px;letter-spacing:.22em;color:#a98a5c}.sgs-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:99px;background:#0006;border:1px solid rgba(246,201,69,.28);font-size:11.5px;color:#ffe9a3;white-space:nowrap}.sgs-chip b{font-family:var(--sgs-mono)}.sgs-chip.is-role{font-weight:800;letter-spacing:.04em}.sgs-top-actions{margin-left:auto;display:flex;gap:8px}.sgs-table{position:relative;min-height:0;display:grid;grid-template-columns:var(--sgs-seat-w) minmax(0,1fr) var(--sgs-seat-w);grid-template-rows:auto minmax(0,1fr);gap:6px 8px;padding:12px 14px 0}.sgs-col{display:flex;flex-direction:column;justify-content:space-evenly;gap:8px;min-width:0;min-height:0}.sgs-col-left{grid-column:1;grid-row:1 / span 2;align-items:flex-end}.sgs-col-right{grid-column:3;grid-row:1 / span 2;align-items:flex-start}.sgs-col .sgs-seat{width:100%}.sgs-row-top{grid-column:2;grid-row:1;display:flex;justify-content:center;align-items:flex-start;gap:8px;flex-wrap:nowrap;min-height:0}.sgs-row-top .sgs-seat{width:auto;min-width:0;max-width:var(--sgs-seat-w)}.sgs-seat{position:relative;width:100%;max-width:var(--sgs-seat-w);padding:8px 9px 9px;border-radius:var(--sgs-radius);background:#042016c7;border:1.5px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff12,0 10px 22px -14px #000;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;flex-direction:column;gap:5px;min-width:0}.sgs-seat.is-clickable{cursor:pointer}.sgs-seat.is-clickable:hover{border-color:#f6c94599;box-shadow:0 0 22px -8px #f6c945cc}.sgs-seat.is-current{border-color:var(--sgs-gold);box-shadow:0 0 0 2px #f6c94538,0 0 28px -6px #f6c945b3}.sgs-seat.is-target{border-color:#22d3ee;box-shadow:0 0 0 2px #22d3ee4d,0 0 26px -6px #22d3eecc;transform:translateY(-2px)}.sgs-seat.is-me{border-color:#22d3ee73}.sgs-seat.is-chained{border-style:dashed;border-color:#a855f7a6}.sgs-seat.is-dead{opacity:.55;filter:grayscale(.85)}.sgs-seat.is-empty{display:grid;place-items:center;font-size:12px;color:#fff6}.sgs-seat-tag{position:absolute;top:-9px;left:50%;transform:translate(-50%);font-size:9px;padding:1px 9px;border-radius:99px;background:var(--sgs-gold);color:#2a1c00;font-weight:800;white-space:nowrap;box-shadow:0 2px 8px #00000080;z-index:3}.sgs-seat-tag.is-dead-tag{background:#6b7280;color:#f3f4f6}.sgs-seat-head{display:flex;align-items:center;gap:7px;min-width:0}.sgs-seat-avatar{width:34px;height:34px;flex:none;border-radius:9px;border:1.5px solid rgba(255,255,255,.18);display:grid;place-items:center;line-height:1;box-shadow:inset 0 -3px 8px #00000059}.sgs-seat-avatar b{font-size:16px;font-weight:900;color:#fff}.sgs-seat-avatar span{display:none;font-size:8px;color:#ffffffb3}.sgs-seat-title{min-width:0;flex:1}.sgs-seat-name{font-size:13px;font-weight:900;color:#ffe9a3;line-height:1.2;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sgs-seat-algo{font-size:9.5px;color:#ffffff6b;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sgs-me-mark{font-style:normal;font-size:8.5px;padding:0 4px;border-radius:4px;background:#22d3ee38;color:#67e8f9;font-weight:800}.sgs-chain-mark{font-style:normal;font-size:11px;color:#c4b5fd}.sgs-role{flex:none;display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;padding:2px 5px;border-radius:6px;border:1px solid var(--role-c, rgba(255, 255, 255, .25));background:#00000052;background:color-mix(in srgb,var(--role-c, #888) 18%,transparent);color:var(--role-c, #ddd);font-weight:900;font-size:11px}.sgs-role em{font-style:normal;font-size:7.5px;font-weight:600;opacity:.85;white-space:nowrap}.sgs-role.is-hidden{border-color:#ffffff2e;background:#0000004d;color:#ffffff73}.sgs-hp{display:flex;align-items:center;gap:6px}.sgs-hp-dots{display:flex;gap:2px}.sgs-hp-dot{font-style:normal;font-size:11px;line-height:1;color:#2f4b3f}.sgs-hp-dot.on{color:#ff6b6b;text-shadow:0 0 6px rgba(239,68,68,.8)}.sgs-hp-dot.dying{animation:sgsBlink .9s steps(2) infinite}.sgs-hp-num{font-family:var(--sgs-mono);font-size:12px;font-weight:900;color:#ffe9a3;margin-left:auto}.sgs-hp-num em{font-style:normal;font-size:9px;color:#fff6}.sgs-seat-row{display:flex;align-items:center;gap:6px;font-size:10px;color:#ffffff8c;min-width:0}.sgs-handcount{display:inline-flex;align-items:center;gap:3px;font-family:var(--sgs-mono)}.sgs-handcount b{color:#e2f0e9;font-size:11.5px}.sgs-back-mini{width:9px;height:12px;border-radius:2px;background:linear-gradient(160deg,#2f6b52,#14352a);border:1px solid rgba(246,201,69,.5);display:inline-block}.sgs-distance{margin-left:auto;font-family:var(--sgs-mono);font-size:9.5px;padding:1px 6px;border-radius:99px;background:#00000061;border:1px solid rgba(255,255,255,.1);white-space:nowrap}.sgs-oom{font-family:var(--sgs-mono);font-size:9px;font-weight:900;padding:1px 5px;border-radius:4px;background:#ef444438;border:1px solid rgba(239,68,68,.6);color:#fca5a5}.sgs-equips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.sgs-equip{display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;height:17px;padding:0 2px;border-radius:4px;font-size:8.5px;font-family:var(--sgs-mono);border:1px dashed rgba(255,255,255,.14);color:#ffffff4d;overflow:hidden;white-space:nowrap}.sgs-equip.is-filled{border-style:solid;border-color:#22d3ee73;background:#22d3ee1a;color:#a5f3fc}.sgs-equip b{font-size:8.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgs-equip em{font-style:normal;font-size:7.5px;padding:0 2px;border-radius:3px;background:#f6c94538;color:#ffe9a3;flex:none}.sgs-judge{display:flex;flex-wrap:wrap;gap:3px}.sgs-judge-chip{font-size:8.5px;padding:1px 5px;border-radius:4px;background:#a855f72e;border:1px solid rgba(168,85,247,.5);color:#ddd6fe;white-space:nowrap}.sgs-dead-veil{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:var(--sgs-radius);background:#020c089e;font-size:11px;font-weight:800;color:#ffffffbf;letter-spacing:.08em}.sgs-dead-veil b{font-size:12px}.sgs-seat.is-compact{flex-direction:row;align-items:center;width:auto;max-width:none;min-width:0;padding:6px 12px 6px 7px;border-radius:34px;gap:9px}.sgs-seat.is-compact .sgs-seat-avatar{width:30px;height:30px;border-radius:50%}.sgs-seat.is-compact .sgs-seat-avatar b{font-size:14px}.sgs-seat.is-compact .sgs-seat-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.sgs-seat.is-compact .sgs-seat-name{font-size:12px}.sgs-seat.is-compact .sgs-hp{gap:4px}.sgs-seat.is-compact .sgs-hp-num{margin-left:4px}.sgs-seat.is-compact .sgs-seat-meta{display:flex;align-items:center;gap:8px}.sgs-card{--w: var(--sgs-cw);--kind-color: #c99a2e;width:var(--w);height:calc(var(--w) * 1.4);flex:none;position:relative;display:flex;flex-direction:column;padding:calc(var(--w) * .06) calc(var(--w) * .07);border-radius:calc(var(--w) * .09);background:linear-gradient(168deg,#fdfcf7,#f2eee2 62%,#e6dfcd);border:1px solid #cfcabb;color:#1b1b1f;overflow:hidden;text-align:left;-webkit-user-select:none;user-select:none;box-shadow:0 3px #00000038,0 10px 20px -10px #000c;transition:transform .16s cubic-bezier(.2,.9,.3,1.15),box-shadow .16s,border-color .16s}.sgs-card:before{content:"";position:absolute;inset:0 0 auto 0;height:calc(var(--w) * .045);background:var(--kind-color)}.sgs-card-sm{--w: calc(var(--sgs-cw) * .74)}.sgs-card-lg{--w: calc(var(--sgs-cw) * 1.26)}.sgs-kind-basic{--kind-color: #c99a2e}.sgs-kind-trick{--kind-color: #7c5cd6}.sgs-kind-equip{--kind-color: #1a8f8f}.sgs-card.is-clickable{cursor:pointer}.sgs-card.is-clickable:hover{transform:translateY(-6px);box-shadow:0 16px 26px -12px #000000e6}.sgs-card.is-selected{border-color:var(--sgs-gold);box-shadow:0 0 0 2px #f6c945bf,0 16px 28px -12px #000}.sgs-card.is-disabled{filter:saturate(.35) brightness(.72)}.sgs-card-corner{position:absolute;top:calc(var(--w) * .07);left:calc(var(--w) * .08);display:flex;flex-direction:column;align-items:center;line-height:1;font-family:var(--sgs-mono);font-weight:900;z-index:2}.sgs-card-corner b{font-size:calc(var(--w) * .2)}.sgs-card-corner i{font-size:calc(var(--w) * .145);font-style:normal;margin-top:1px}.sgs-card.is-red{color:#cf2430}.sgs-card.is-black{color:#1f2937}.sgs-card-watermark{position:absolute;right:calc(var(--w) * .04);bottom:calc(var(--w) * .1);font-size:calc(var(--w) * .58);line-height:1;opacity:.07;pointer-events:none}.sgs-card-watermark.is-red{color:#cf2430}.sgs-card-watermark.is-black{color:#1f2937}.sgs-card-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding-top:calc(var(--w) * .2);position:relative;z-index:2;min-height:0}.sgs-card-name{font-size:calc(var(--w) * .205);font-weight:900;line-height:1.1;text-align:center;color:#1b1b1f;letter-spacing:.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sgs-card-algo{font-size:calc(var(--w) * .125);color:#6b6b72;text-align:center;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sgs-card-desc{margin-top:4px;font-size:10px;line-height:1.4;color:#55555c;border-top:1px dashed #d5d0c2;padding-top:4px}.sgs-card-foot{display:flex;align-items:center;justify-content:space-between;gap:2px;margin-top:auto;position:relative;z-index:2;min-height:0}.sgs-card-kind{font-family:var(--sgs-mono);font-size:calc(var(--w) * .105);font-weight:800;color:#4b5563;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgs-kind-tag-equip{color:#0f766e}.sgs-kind-tag-trick{color:#6d28d9}.sgs-kind-tag-basic{color:#92651a}.sgs-card-delayed{flex:none;font-size:calc(var(--w) * .095);padding:0 3px;border-radius:3px;background:#7c5cd62e;color:#5b21b6;font-weight:800}.sgs-card.is-back{background:repeating-linear-gradient(45deg,rgba(246,201,69,.1) 0 5px,transparent 5px 11px),linear-gradient(160deg,#1c4232,#0a2119);border-color:#f6c94573;color:#ffe9a3;display:grid;place-items:center}.sgs-card.is-back:before{background:#f6c9458c}.sgs-card-back{display:flex;flex-direction:column;align-items:center;gap:2px;z-index:2}.sgs-back-mark{font-size:calc(var(--w) * .26);font-weight:900;letter-spacing:.1em;color:#f6c945e6}.sgs-back-sub{font-family:var(--sgs-mono);font-size:calc(var(--w) * .085);letter-spacing:.18em;color:#f6c94580}.sgs-center{grid-column:2;grid-row:2;position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:0;min-width:0;padding:4px 6px 8px;overflow:hidden}.sgs-center:before{content:"";position:absolute;top:6%;right:2%;bottom:6%;left:2%;border-radius:50%/44%;border:2px solid rgba(255,255,255,.06);background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.05),transparent 68%);box-shadow:inset 0 0 80px #0000004d;pointer-events:none}.sgs-phases{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;position:relative;z-index:2}.sgs-phase{display:flex;flex-direction:column;align-items:center;gap:1px;padding:3px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0000004d;font-size:10px;color:#ffffff61;line-height:1.2;transition:.2s}.sgs-phase b{font-weight:800}.sgs-phase em{font-style:normal;font-family:var(--sgs-mono);font-size:7px;letter-spacing:.1em;opacity:.7}.sgs-phase.on{border-color:var(--sgs-gold);background:#f6c94529;color:#ffe9a3;box-shadow:0 0 18px -6px #f6c945e6}.sgs-center-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,34px);flex-wrap:wrap;position:relative;z-index:2;width:100%}.sgs-pile{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:var(--sgs-mono)}.sgs-pile-stack{position:relative;width:42px;height:52px}.sgs-pile-stack span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background:linear-gradient(160deg,#1c4232,#0a2119);border:1px solid rgba(246,201,69,.45);box-shadow:0 3px 8px -4px #000}.sgs-pile-stack span:nth-child(1){transform:translate(5px,5px);opacity:.5}.sgs-pile-stack span:nth-child(2){transform:translate(2.5px,2.5px);opacity:.75}.sgs-pile b{font-size:17px;font-weight:900;color:var(--sgs-gold);line-height:1}.sgs-pile em{font-style:normal;font-size:7.5px;letter-spacing:.2em;color:#ffffff59}.sgs-discard{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:56px}.sgs-discard>em{font-style:normal;font-size:8.5px;letter-spacing:.16em;color:#ffffff59;font-family:var(--sgs-mono)}.sgs-discard-empty{width:calc(var(--sgs-cw) * .74);height:calc(var(--sgs-cw) * .74 * 1.4);border-radius:8px;border:1px dashed rgba(255,255,255,.18);display:grid;place-items:center;font-size:10px;color:#ffffff4d}.sgs-turn{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:84px;max-width:100%;text-align:center}.sgs-turn>em{font-style:normal;font-size:8.5px;letter-spacing:.16em;color:#ffffff59;font-family:var(--sgs-mono)}.sgs-turn>b{font-size:16px;font-weight:900;color:#ffe9a3}.sgs-pending{font-size:10.5px;color:#fcd34d;line-height:1.4}.sgs-pending-bar{position:relative;z-index:2;display:flex;align-items:center;gap:7px;max-width:100%;padding:6px 14px;border-radius:99px;background:#f59e0b24;border:1px solid rgba(245,158,11,.55);color:#fde68a;font-size:11.5px;line-height:1.3;box-shadow:0 0 22px -8px #f59e0be6}.sgs-pending-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sgs-pending-bar b{color:#fff3c4;white-space:nowrap}.sgs-pulse{width:7px;height:7px;flex:none;border-radius:50%;background:#f59e0b;animation:sgsPulse 1.2s ease-in-out infinite}.sgs-lastlog{position:relative;z-index:2;max-width:100%;display:flex;align-items:baseline;gap:5px;font-size:10.5px;line-height:1.4;color:#e2f0e980;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 6px}.sgs-lastlog .t{font-family:var(--sgs-mono);font-size:8.5px;color:#ffffff40}.sgs-bottom{position:relative;z-index:15;display:flex;flex-direction:column;gap:2px;padding:0 12px 8px;min-height:0}.sgs-me-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.sgs-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.sgs-btn{padding:9px 18px;border-radius:10px;font-size:13.5px;font-weight:700;font-family:inherit;color:#fff8e1;background:linear-gradient(180deg,#4a5c52,#2b3a33);border:1px solid rgba(255,255,255,.14);box-shadow:0 3px #16241d,0 6px 14px -6px #000;transition:transform .1s,box-shadow .1s,filter .15s;white-space:nowrap;cursor:pointer}.sgs-btn:hover:not(:disabled){filter:brightness(1.15)}.sgs-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 #16241d}.sgs-btn:disabled{opacity:.32;box-shadow:none;transform:none;cursor:not-allowed}.sgs-btn-primary{color:#2a1c00;background:linear-gradient(180deg,#ffd95e,#e0a419);border-color:#ffe89a;box-shadow:0 3px #8a6410,0 8px 18px -8px #000}.sgs-btn-danger{background:linear-gradient(180deg,#e4574f,#a92f2a);border-color:#ff8a82;color:#fff;box-shadow:0 3px #6d1a16,0 8px 18px -8px #000}.sgs-btn-ghost{background:#00000052;box-shadow:none;border-color:#ffffff1f}.sgs-btn-xs{padding:3px 9px;font-size:11px;border-radius:7px}.sgs-hint{text-align:center;font-size:11.5px;color:#ffffff73;min-height:15px;line-height:1.4}.sgs-hint.is-target{color:#67e8f9}.sgs-hand{--sgs-n: 1;--sgs-n1: 1;padding:22px 2px 2px;overflow-x:auto;overflow-y:hidden;min-height:0}.sgs-hand::-webkit-scrollbar{height:4px}.sgs-hand::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:99px}.sgs-hand-inner{display:flex;align-items:flex-end;justify-content:center;min-width:0;min-height:calc(var(--sgs-cw) * 1.4)}.sgs-hand-card{position:relative;flex:none;transform-origin:bottom center;transition:transform .16s cubic-bezier(.2,.9,.3,1.15),filter .16s}.sgs-hand-card:not(:first-child){margin-left:max(calc(var(--sgs-cw) * -.72),min(0px,calc((100% - var(--sgs-cw)) / var(--sgs-n1) - var(--sgs-cw))))}.sgs-hand-card.is-blocked{filter:saturate(.25) brightness(.62)}.sgs-hand-card.is-blocked .sgs-card{cursor:not-allowed}.sgs-hand-card.is-playable:hover{transform:translateY(-8px);z-index:25}.sgs-hand-card.is-selected{transform:translateY(-14px);z-index:30}.sgs-hand-pick{position:absolute;top:-7px;right:-5px;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:var(--sgs-gold);color:#2a1c00;font-size:10px;font-weight:900;box-shadow:0 2px 6px #0000008c;z-index:2}.sgs-hand-empty{padding:26px 0;font-size:12px;color:#ffffff59}.sgs-log{position:fixed;right:0;top:0;bottom:0;width:min(320px,88vw);display:flex;flex-direction:column;background:linear-gradient(180deg,#061a12fa,#03120cfc);border-left:1px solid rgba(255,255,255,.09);transform:translate(100%);transition:transform .25s ease;z-index:85}.sgs-log.is-open{transform:translate(0)}.sgs-log h4{margin:0;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;font-family:var(--sgs-mono);font-size:10px;letter-spacing:.2em;color:#ffffff73;border-bottom:1px solid rgba(255,255,255,.08)}.sgs-log-list{flex:1;min-height:0;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.sgs-log-line{font-size:11.5px;line-height:1.6;color:#e2f0e99e;word-break:break-word}.sgs-log-line .t{font-family:var(--sgs-mono);font-size:9px;color:#ffffff38;margin-right:5px}.sgs-log-line.is-dim{color:#ffffff47}.sgs-log-play{color:#86efac}.sgs-log-damage{color:#fda4af}.sgs-log-heal{color:#86efac}.sgs-log-judge{color:#c4b5fd}.sgs-log-skill{color:#67e8f9}.sgs-log-death{color:#fb7185;font-weight:700}.sgs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#020c08c2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sgs-result{width:min(420px,100%);padding:26px 24px;border-radius:18px;text-align:center;background:linear-gradient(180deg,#123a2a,#082218);border:1px solid rgba(246,201,69,.35);box-shadow:0 40px 100px -30px #000,inset 0 1px #ffffff14;animation:sgsPop .22s cubic-bezier(.2,.9,.3,1.1)}.sgs-result-title{font-size:24px;font-weight:900;color:#ffe9a3;letter-spacing:.04em}.sgs-result-sub{margin-top:8px;font-size:12.5px}.sgs-result-note{margin-top:16px;font-size:11px;color:#fff6}@keyframes sgsPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@keyframes sgsBlink{50%{opacity:.3}}@keyframes sgsPop{0%{transform:translateY(14px) scale(.97);opacity:0}}@media (prefers-reduced-motion: reduce){.sgs-pulse,.sgs-hp-dot.dying,.sgs-result{animation:none}}@media (min-width: 1180px){.sgs-pile-stack{width:54px;height:68px}.sgs-pile b{font-size:20px}.sgs-discard .sgs-card{--w: calc(var(--sgs-cw) * .92)}.sgs-turn>b{font-size:19px}.sgs-phase{font-size:11px;padding:4px 10px}}@media (max-width: 1180px){.sgs-game{--sgs-cw: 82px;--sgs-seat-w: 132px}.sgs-seat{padding:7px 8px 8px}.sgs-seat-avatar{width:30px;height:30px}.sgs-seat-avatar b{font-size:14px}.sgs-seat-name{font-size:12px}}@media (max-width: 900px){.sgs-game{--sgs-cw: 72px;--sgs-seat-w: 108px}.sgs-table{padding:10px 8px 0;gap:5px 6px}.sgs-seat{gap:4px;border-radius:10px}.sgs-seat-algo,.sgs-role em{display:none}.sgs-role{font-size:10px;padding:2px 5px}.sgs-btn{padding:8px 14px;font-size:12.5px}.sgs-hp-dot{font-size:10px}}@media (max-width: 820px){.sgs-top{padding:6px 10px;gap:6px}.sgs-brand b{font-size:16px}.sgs-brand span{display:none}.sgs-chip{padding:3px 8px;font-size:10.5px}.sgs-table{grid-template-columns:var(--sgs-seat-w) minmax(0,1fr) var(--sgs-seat-w)}.sgs-center{gap:5px;padding:2px 2px 6px}.sgs-phases{gap:3px}.sgs-phase{padding:2px 6px;font-size:9px;border-radius:6px}.sgs-phase em{display:none}.sgs-center-body{gap:12px}.sgs-pile-stack{width:32px;height:40px}.sgs-pile b{font-size:14px}.sgs-turn>b{font-size:13px}.sgs-pending-bar{padding:5px 10px;font-size:10.5px;gap:5px}.sgs-pending-bar b{display:none}.sgs-bottom{padding:0 8px 6px}.sgs-me-row{gap:6px}.sgs-btn{padding:8px 12px;font-size:12px}.sgs-hand{padding-top:18px}.sgs-hand-card.is-selected{transform:translateY(-10px)}.sgs-hand-card.is-playable:hover{transform:none}.sgs-hint{font-size:10.5px}}@media (max-width: 430px){.sgs-game{--sgs-cw: 58px;--sgs-seat-w: 76px}.sgs-table{padding:8px 5px 0;gap:4px 5px}.sgs-seat{padding:5px 5px 6px;gap:3px;border-radius:9px}.sgs-seat-head{gap:4px}.sgs-seat-avatar{width:24px;height:24px;border-radius:7px}.sgs-seat-avatar b{font-size:12px}.sgs-seat-name{font-size:10.5px;gap:2px}.sgs-role{font-size:9px;padding:1px 4px}.sgs-role em{display:none}.sgs-hp{gap:3px}.sgs-hp-dot{font-size:8.5px}.sgs-hp-num{font-size:10px}.sgs-hp-num em{font-size:8px}.sgs-seat-row{font-size:9px;gap:3px}.sgs-handcount b{font-size:10px}.sgs-back-mini{width:7px;height:10px}.sgs-distance{font-size:8px;padding:0 4px}.sgs-equips{gap:2px;grid-template-columns:repeat(2,minmax(0,1fr))}.sgs-equip{height:15px;font-size:7.5px;border-radius:3px}.sgs-equip b{font-size:7.5px}.sgs-equip em{display:none}.sgs-judge-chip{font-size:7.5px;padding:0 3px}.sgs-row-top{gap:4px}.sgs-row-top .sgs-seat{padding-inline:4px}.sgs-row-top .sgs-seat-avatar{display:none}.sgs-role.is-hidden{color:#ffffff4d;border-color:#ffffff1f}.sgs-center-body{gap:8px}.sgs-discard>em{font-size:7.5px}.sgs-turn>em{font-size:7.5px}.sgs-turn>b{font-size:12px}.sgs-pending{display:none}.sgs-pile-stack{width:26px;height:34px}.sgs-pile em{font-size:6.5px}.sgs-me-row{gap:4px}.sgs-seat.is-compact{padding:4px 10px 4px 5px;gap:6px}.sgs-seat.is-compact .sgs-seat-avatar{width:24px;height:24px}.sgs-seat.is-compact .sgs-seat-name{font-size:10.5px}.sgs-actions{gap:5px}.sgs-btn{padding:7px 10px;font-size:11.5px;border-radius:8px}.sgs-hand{padding-top:14px}.sgs-hint{font-size:10px;min-height:13px}.sgs-log{width:100%}}@media (max-width: 360px){.sgs-game{--sgs-cw: 52px;--sgs-seat-w: 68px}.sgs-row-top .sgs-seat{min-width:66px}.sgs-hp-dot{font-size:8px}}@media (max-height: 700px) and (max-width: 900px){.sgs-hand{padding-top:12px}.sgs-bottom{padding-bottom:4px}.sgs-seat.is-compact{padding-block:3px}}.sgs-btn-skill{background:linear-gradient(180deg,#9370db59,#9370db26);border-color:#b496ff8c;color:#e0d4ff;font-weight:700}.sgs-btn-skill:hover:not(:disabled){background:linear-gradient(180deg,#9370db8c,#9370db40);box-shadow:0 0 14px -3px #9370dbb3}.sgs-btn-skill:disabled{opacity:.38}.sgs-result-settle{display:flex;align-items:center;justify-content:center;gap:16px;margin:14px 0 6px;padding:10px 20px;border-radius:12px;font-size:14px}.sgs-result-settle.gain{background:linear-gradient(90deg,#22c55e33,#22c55e0d);border:1px solid rgba(34,197,94,.45)}.sgs-result-settle.lose{background:linear-gradient(90deg,#ef44442e,#ef44440a);border:1px solid rgba(239,68,68,.4)}.sgs-settle-rank{color:#fffc}.sgs-settle-rank b{font-family:var(--mono);font-size:18px;color:var(--gold)}.sgs-settle-coins{font-family:var(--mono);font-size:16px;font-weight:900}.sgs-result-settle.gain .sgs-settle-coins{color:#86efac}.sgs-result-settle.lose .sgs-settle-coins{color:#fca5a5}.sgs-settle-coins em{font-size:11px;font-style:normal;font-weight:500;opacity:.7}.sgs-pick-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:28px 18px;min-height:100dvh;background:radial-gradient(ellipse at 50% 30%,#1b2436,#0c1018 70%)}.sgs-pick-head{text-align:center}.sgs-pick-title{font-size:22px;font-weight:900;letter-spacing:.06em;color:var(--gold);margin-bottom:8px}.sgs-pick-sub{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-size:13px;color:#ffffffb3}.sgs-pick-count{font-family:var(--mono);color:#ffffff80}.sgs-pick-timer{font-family:var(--mono);font-size:15px;font-weight:900;padding:2px 10px;border-radius:8px;background:#ffffff14;color:#fff}.sgs-pick-timer.urgent{background:#ef444440;color:#fca5a5}.sgs-pick-grid{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.sgs-pick-card{position:relative;width:200px;min-height:210px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:18px 16px;border-radius:14px;cursor:pointer;text-align:left;background:linear-gradient(170deg,#ffffff17,#ffffff05);border:1.5px solid rgba(255,255,255,.16);color:#fff;transition:all .16s}.sgs-pick-card:hover:not(:disabled){border-color:var(--gold);transform:translateY(-4px);box-shadow:0 14px 30px -14px #000000e6}.sgs-pick-card.picked{border-color:#4ade80;background:linear-gradient(170deg,#4ade8038,#4ade800d)}.sgs-pick-card.dim{opacity:.35;cursor:default}.sgs-pick-name{font-size:18px;font-weight:900}.sgs-pick-algo{font-size:11px;font-family:var(--mono);letter-spacing:.08em;color:#f6c945d9}.sgs-pick-hp{font-size:13px;color:#f87171;letter-spacing:.08em}.sgs-pick-hp em{font-style:normal;font-size:11px;color:#ffffff80;margin-left:6px}.sgs-pick-hp b{color:var(--gold)}.sgs-pick-skill{font-size:11.5px;line-height:1.55;color:#ffffff9e;border-top:1px solid rgba(255,255,255,.09);padding-top:8px;width:100%}.sgs-pick-skill b{color:#c4b5fd;margin-right:4px}.sgs-pick-mark{position:absolute;top:10px;right:10px;font-size:10px;font-family:var(--mono);font-weight:900;padding:2px 7px;border-radius:6px;background:#4ade80;color:#052e16}.sgs-pick-tip{font-size:12px;color:#ffffff73}@media (max-width: 720px){.sgs-pick-card{width:150px;min-height:180px;padding:13px 12px}.sgs-pick-name{font-size:15px}.sgs-pick-grid{gap:10px}.sgs-pick-title{font-size:18px}}.sgs-result-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px}.sgs-back-btn{padding:10px 34px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:800;letter-spacing:.08em;color:#2a1500;background:linear-gradient(180deg,#ffe082,#f0a020);border:2px solid #fff6d8;box-shadow:0 10px 26px -12px #ffaa28f2,inset 0 1px #ffffffb3;transition:all .15s}.sgs-back-btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px -12px #ffbe32}.sgs-pick-exit{position:absolute;top:16px;right:18px;padding:7px 16px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:600;background:#ffffff14;border:1px solid rgba(255,255,255,.2);color:#ffffffbf}.sgs-pick-exit:hover{border-color:#f87171;color:#fca5a5}.sgs-timer{font-family:var(--mono);font-weight:700}.sgs-timer.urgent{color:#fca5a5;border-color:#f87171b3}:root{--felt-1: #17815a;--felt-2: #0a5b3d;--felt-3: #063827;--felt-4: #03221a;--gold: #f6c945;--gold-d: #b8891b;--wood-1: #3a2416;--wood-2: #24160d;--paper: #fdfcf7;--paper-2: #f0ece0;--ink: #1b1b1f;--ink-2: #4b5563;--good: #22c55e;--bad: #ef4444;--warn: #f59e0b;--seat-bg: rgba(4, 32, 22, .74);--r: 12px;--cw: 156px;--card-w: var(--cw);--card-h: calc(var(--cw) * 1.42);--mini-w: calc(var(--cw) * .76);--mini-h: calc(var(--mini-w) * 1.42);--overlap: calc(var(--cw) * -.16);--mono: ui-monospace, "JetBrains Mono", Consolas, monospace;--sans: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif}@media (min-width: 1700px){:root{--cw: 172px}}@media (min-width: 2000px){:root{--cw: 188px}}@media (max-width: 1300px){:root{--cw: 132px}}@media (max-width: 1050px){:root{--cw: 112px}}@media (max-width: 820px){:root{--cw: 88px}}@media (max-width: 430px){:root{--cw: 78px}}*{box-sizing:border-box}html,body{height:100%;margin:0}#root{height:100dvh}body{font-family:var(--sans);color:#f2f6f4;overflow:hidden;background:radial-gradient(ellipse 120% 80% at 50% -10%,#1a8f63 0%,transparent 55%),radial-gradient(ellipse 100% 70% at 50% 115%,#0b6244 0%,transparent 60%),linear-gradient(180deg,var(--felt-2),var(--felt-4))}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E")}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{cursor:not-allowed}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:8px}.dim{color:#f2f6f480}.tiny{font-size:11px}.btn{padding:11px 22px;border-radius:10px;font-size:14.5px;font-weight:700;color:#fff8e1;background:linear-gradient(180deg,#4a5c52,#2b3a33);border:1px solid rgba(255,255,255,.14);box-shadow:0 3px #16241d,0 6px 14px -6px #000;transition:transform .1s,box-shadow .1s,filter .15s;white-space:nowrap}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #16241d}.btn:disabled{opacity:.3;box-shadow:none;transform:none}.btn.primary{color:#2a1c00;background:linear-gradient(180deg,#ffd95e,#e0a419);border-color:#ffe89a;box-shadow:0 3px #8a6410,0 8px 18px -8px #000}.btn.danger{background:linear-gradient(180deg,#e4574f,#a92f2a);border-color:#ff8a82;color:#fff;box-shadow:0 3px #6d1a16,0 8px 18px -8px #000}.btn.ghost{background:#00000052;box-shadow:none;border-color:#ffffff1f}.btn.sm2{padding:7px 13px;font-size:12.5px;border-radius:8px}.game{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%}.topbar{display:flex;align-items:center;gap:14px;padding:8px 20px;background:linear-gradient(180deg,var(--wood-1),var(--wood-2));border-bottom:2px solid #5a3d24;box-shadow:0 6px 20px -8px #000;position:relative;z-index:20;flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:7px}.brand b{font-size:20px;letter-spacing:.06em;background:linear-gradient(180deg,#ffe9a3,#d9a628);-webkit-background-clip:text;background-clip:text;color:transparent}.brand span{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:#a98a5c}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;background:#0006;border:1px solid rgba(246,201,69,.28);font-size:12px;color:#ffe9a3;white-space:nowrap}.chip b{font-family:var(--mono)}.table{position:relative;min-height:0;display:grid;grid-template-columns:clamp(140px,13vw,210px) minmax(0,1fr) clamp(140px,13vw,210px);grid-template-rows:auto minmax(0,1fr);gap:6px 8px;padding:12px 18px 0}.seat-col{display:flex;flex-direction:column;justify-content:space-evenly;gap:12px;min-width:0}.seat-col.left{grid-column:1;grid-row:1 / span 2;align-items:flex-end}.seat-col.right{grid-column:3;grid-row:1 / span 2;align-items:flex-start}.seat-top{grid-column:2;grid-row:1;display:flex;justify-content:center;align-items:center;gap:16px;min-height:0}.center{grid-column:2;grid-row:2;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.center:before{content:"";position:absolute;top:4%;right:2%;bottom:4%;left:2%;border-radius:50%/46%;border:3px solid rgba(255,255,255,.07);background:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.05),transparent 68%);box-shadow:inset 0 0 90px #0000004d,0 0 60px #00000026;pointer-events:none}.seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:clamp(118px,10vw,148px);padding:11px 10px 12px;border-radius:16px;background:var(--seat-bg);border:2px solid rgba(255,255,255,.1);box-shadow:inset 0 1px #ffffff14,0 10px 22px -14px #000;transition:.25s}.seat.active{border-color:var(--gold);box-shadow:0 0 0 2px #f6c94540,0 0 30px -4px #f6c945a6;transform:translateY(-2px) scale(1.03)}.seat.dead{opacity:.38;filter:grayscale(.9)}.seat.me{border-color:#22d3ee80}.avatar{width:clamp(44px,4vw,56px);height:clamp(44px,4vw,56px);border-radius:50%;display:grid;place-items:center;font-size:clamp(22px,2vw,28px);border:2px solid rgba(255,255,255,.18);box-shadow:inset 0 -4px 10px #00000059}.seat-name{font-size:13px;font-weight:800}.seat-role{font-size:10px;color:#ffffff6b;font-weight:500}.seat-score{font-family:var(--mono);font-size:20px;font-weight:900;color:var(--gold);line-height:1}.seat-score small{font-size:11px;color:#ffffff59}.seat-hearts{display:flex;gap:2.5px;margin-top:3px}.heart{width:5.5px;height:5.5px;border-radius:50%;background:#2b4438}.heart.on{background:linear-gradient(180deg,#ff8f8a,#e44f48);box-shadow:0 0 4px #ef4444bf}.seat-tag{position:absolute;top:-10px;left:50%;transform:translate(-50%);font-size:9.5px;padding:1px 10px;border-radius:99px;background:var(--gold);color:#2a1c00;font-weight:800;white-space:nowrap;box-shadow:0 2px 8px #00000080}.seat-progress{position:absolute;left:10px;right:10px;bottom:4px;height:3.5px;background:#00000073;border-radius:99px;overflow:hidden}.seat-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#ffb703);transition:width .4s}.seat.compact{flex-direction:row;width:auto;min-width:190px;padding:8px 16px 8px 8px;border-radius:42px;gap:10px}.seat.compact .avatar{width:44px;height:44px;font-size:22px}.seat.compact .seat-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.center-head{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px 0 8px;font-size:11px;color:#ffffff6b;font-family:var(--mono);letter-spacing:.14em;flex-wrap:wrap;position:relative;z-index:1}.center-scroll{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:8px 16px 18px;position:relative;z-index:1}.chain-row{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;max-width:100%}.chain-empty{text-align:center;color:#ffffff6b;font-size:14px;line-height:2}.chain-empty .big{font-size:46px;margin-bottom:8px;opacity:.5}.chain-arrow{color:#f6c94580;font-size:17px;font-weight:900}.chain-slot{position:relative;display:flex}.chain-owner{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:9.5px;font-weight:900;color:#fff;padding:1px 7px;border-radius:99px;z-index:3;box-shadow:0 2px 6px #0000008c}.tail-mark{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 16px;border-radius:14px;border:3px dashed rgba(34,211,238,.55);background:#22d3ee14;min-width:96px}.tail-mark.risk{border-color:#f59e0bbf;background:#f59e0b1c}.tail-mark .lbl{font-size:10px;letter-spacing:.14em;color:#ffffff73}.tail-mark .val{font-family:var(--mono);font-size:19px;font-weight:900;color:#22d3ee}.tail-mark.risk .val{color:var(--warn)}.card{width:var(--card-w);height:var(--card-h);flex:none;border-radius:11px;background:var(--paper);color:var(--ink);border:1px solid #cfcabb;box-shadow:0 4px #0003,0 12px 24px -10px #000000bf;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:9px 10px 8px;transition:transform .16s cubic-bezier(.2,.9,.3,1.1),box-shadow .16s,border-color .16s;text-align:left}.card .top-strip{position:absolute;left:0;right:0;top:0;height:6px}.card-domain{font-size:10px;font-weight:800;margin:5px 0 0;display:flex;justify-content:space-between;align-items:center}.card-name{font-size:17px;font-weight:900;line-height:1.18;margin:7px 0 3px}.card-protos{display:flex;align-items:center;gap:5px;margin:8px 0 5px}.card-note{font-size:9.5px;line-height:1.4;color:#6b6b72;margin-top:6px;border-top:1px dashed #d5d0c2;padding-top:5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between}.card-power{font-family:var(--mono);font-size:25px;font-weight:900;color:#0f7a4a;line-height:.95}.card-power small{display:block;font-size:9px;color:var(--ink-2);font-weight:700}.card-bigo{font-family:var(--mono);font-size:11px;font-weight:800;padding:3px 7px;border-radius:5px;background:#e8e4d6;color:#3d3d40}.pb{font-family:var(--mono);font-size:11px;font-weight:900;padding:2.5px 7px;border-radius:5px;white-space:nowrap}.pb.H{background:#0e7490;color:#e0f7ff}.pb.J{background:#1d4ed8;color:#dbeafe}.pb.Q{background:#15803d;color:#dcfce7}.pb.P{background:#6d28d9;color:#ede9fe}.pb.E{background:#c2410c;color:#ffedd5}.pb.C{background:#b91c1c;color:#fee2e2}.pb.big{font-size:13px;padding:4px 10px}.cmark{position:absolute;top:9px;right:9px;font-size:13px;font-weight:900;padding:1px 7px;border-radius:6px;z-index:2}.cmark.star{background:linear-gradient(180deg,#fde68a,#f59e0b);color:#422006}.cmark.bomb{background:linear-gradient(180deg,#fca5a5,#dc2626);color:#fff}.cmark.forced{background:#7c3aed;color:#ede9fe}.card.mini{width:var(--mini-w);height:var(--mini-h);padding:6px 7px 5px;border-radius:8px}.card.mini .top-strip{height:5px}.card.mini .card-name{font-size:12.5px;margin:4px 0 2px;line-height:1.15}.card.mini .card-domain{font-size:8px;margin-top:4px}.card.mini .card-protos{margin:5px 0 3px;gap:4px}.card.mini .pb{font-size:9px;padding:1.5px 5px}.card.mini .card-note{font-size:7.4px;-webkit-line-clamp:2;padding-top:4px;margin-top:4px}.card.mini .card-power{font-size:17px}.card.mini .card-power small{font-size:7.5px}.card.mini .card-bigo{font-size:9px;padding:1.5px 5px}.card.mini .cmark{font-size:10px;padding:0 5px;top:6px;right:6px}.hand-zone{position:relative;z-index:15;padding:0 20px 12px}.hand-top{display:flex;align-items:flex-end;justify-content:center;gap:14px;margin-bottom:4px;flex-wrap:wrap}.hand-row{display:flex;justify-content:center;align-items:flex-end;padding:30px 0 6px;min-height:40px;overflow-x:auto;overflow-y:visible}.hand-row::-webkit-scrollbar{height:5px}.hand-row::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:99px}.hcard{position:relative;flex:none;margin-left:var(--overlap);transition:transform .16s cubic-bezier(.2,.9,.3,1.15),filter .16s;transform-origin:bottom center}.hcard:first-child{margin-left:0}.hcard .card{cursor:pointer}.hcard.bad{filter:saturate(.28) brightness(.65)}.hcard.bad .card{cursor:not-allowed}.hcard.good{z-index:2}.hcard.good:hover{transform:translateY(-22px);z-index:40}.hcard.good:hover .card{box-shadow:0 30px 46px -18px #000000e6}.hcard.sel{transform:translateY(-34px);z-index:50}.hcard.sel .card{border-color:var(--gold);box-shadow:0 0 0 3px #f6c94580,0 30px 50px -16px #000}.hcard.good .card{border-color:#22c55e99}.hand-hint{text-align:center;font-size:12px;color:#ffffff73;min-height:17px;margin-top:2px}.hand-hint.warn{color:#fcd34d}.toasts{position:fixed;top:68px;left:50%;transform:translate(-50%);z-index:80;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:min(540px,92vw)}.toast{display:flex;gap:10px;align-items:flex-start;padding:11px 16px;border-radius:12px;background:#082016f2;border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 34px -12px #000;animation:slideDown .2s ease-out}@keyframes slideDown{0%{transform:translateY(-12px);opacity:0}}.toast.good{border-color:#22c55e99}.toast.bad{border-color:#ef444499}.toast.event{border-color:#a855f7b3;background:#201034f2}.toast.info{border-color:#f6c94580}.toast-icon{font-size:16px;line-height:1.2;flex:none}.toast-title{font-size:13px;font-weight:700;line-height:1.45;color:#eaf6ef}.toast-body{font-size:11px;color:#ffffff8c;margin-top:3px}.logdrawer{position:fixed;right:0;top:0;bottom:0;width:320px;background:linear-gradient(180deg,#061a12fa,#03120cfc);border-left:1px solid rgba(255,255,255,.09);transform:translate(100%);transition:transform .25s ease;display:flex;flex-direction:column;z-index:85}.logdrawer.open{transform:translate(0)}.logdrawer h4{margin:0;padding:12px 14px;font-size:10px;letter-spacing:.2em;color:#ffffff73;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--mono);display:flex;justify-content:space-between;align-items:center}.loglist{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:7px}.logline{font-size:11.5px;line-height:1.6;color:#e2f0e99e}.logline .t{font-family:var(--mono);font-size:9px;color:#ffffff38;margin-right:5px}.logline.deploy{color:#86efac}.logline.break{color:#fda4af}.logline.event{color:#c4b5fd}.logline.combo{color:#67e8f9;font-weight:700}.logline.eliminate{color:#fb7185;font-weight:700}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#020c08c2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade .18s}@keyframes fade{0%{opacity:0}}.modal{width:min(600px,100%);max-height:88vh;overflow-y:auto;background:linear-gradient(180deg,#123a2a,#082218);border:1px solid rgba(246,201,69,.3);border-radius:18px;padding:26px;box-shadow:0 40px 100px -30px #000,inset 0 1px #ffffff14;animation:pop .22s cubic-bezier(.2,.9,.3,1.1)}@keyframes pop{0%{transform:translateY(16px) scale(.97);opacity:0}}.modal h3{margin:0 0 6px;font-size:21px;color:#ffe9a3}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.result-title{font-size:26px;font-weight:900;text-align:center;margin:0}.trophy{font-size:56px;text-align:center;line-height:1;margin-bottom:8px}.score-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:13.5px}.score-table th{text-align:left;font-size:10px;letter-spacing:.14em;color:#fff6;font-family:var(--mono);padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1)}.score-table td{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.06)}.knowledge{margin-top:18px;padding:14px;border-radius:12px;background:#00000047;border:1px solid rgba(255,255,255,.08);max-height:210px;overflow-y:auto}.knowledge h5{margin:0 0 10px;font-size:12px;color:var(--gold);letter-spacing:.08em}.krow{font-size:11.5px;line-height:1.6;color:#e2f0e9b3;margin-bottom:7px}.krow b{color:#fff}.lobby{height:100dvh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:40px 20px 60px}.lobby-inner{width:min(1040px,100%)}.lobby-title{font-size:clamp(44px,8vw,86px);font-weight:900;line-height:.92;margin:0;background:linear-gradient(180deg,#fff3c4 10%,#f6c945 45%,#b8891b 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 12px rgba(0,0,0,.55))}.lobby-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:#f6c945a6;margin-bottom:12px}.lobby-sub{font-size:15px;color:#ffffffad;margin:16px 0 0;max-width:660px;line-height:1.75}.lobby-sub b{color:#fff}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:30px}.mode-card{text-align:left;padding:20px;border-radius:14px;background:#00000057;border:2px solid rgba(255,255,255,.1);transition:.18s}.mode-card:hover{border-color:#f6c9458c;transform:translateY(-2px)}.mode-card.sel{border-color:var(--gold);background:#f6c9451a;box-shadow:0 0 30px -10px #f6c94580}.mode-card h3{margin:0 0 8px;font-size:16px;color:#ffe9a3}.mode-card p{margin:0;font-size:12.5px;color:#ffffff8c;line-height:1.65}.mode-tag{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--gold);margin-bottom:10px;display:block}.num-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.num-chip{padding:11px 22px;border-radius:10px;border:2px solid rgba(255,255,255,.14);background:#0000004d;font-family:var(--mono);font-weight:800;font-size:15px;transition:.15s}.num-chip:hover{border-color:#f6c94580}.num-chip.sel{background:linear-gradient(180deg,#ffd95e,#d9a628);color:#2a1c00;border-color:#ffe89a}.lobby-actions{margin-top:28px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.rule-strip{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.rule-strip div{padding:14px 16px;border-radius:11px;background:#0000004d;border:1px solid rgba(255,255,255,.08)}.rule-strip b{color:var(--gold);display:block;margin-bottom:5px;font-size:12px}.rule-strip span{font-size:12px;color:#ffffff8c;line-height:1.6}.auth{height:100dvh;display:grid;place-items:center;position:relative;overflow:hidden;padding:20px}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 25% 20%,rgba(246,201,69,.16),transparent 45%),radial-gradient(circle at 80% 80%,rgba(34,211,238,.12),transparent 45%);pointer-events:none}.auth-card{position:relative;width:min(430px,100%);background:linear-gradient(180deg,#0c3022f5,#051a12fa);border:2px solid rgba(246,201,69,.35);border-radius:22px;padding:32px 30px;box-shadow:0 40px 90px -30px #000,inset 0 1px #ffffff1a;text-align:center}.auth-logo{margin-bottom:6px}.auth-title{font-size:44px;font-weight:900;line-height:1;background:linear-gradient(180deg,#fff3c4,#f6c945 55%,#b8891b);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-sub{font-family:var(--mono);font-size:10px;letter-spacing:.4em;color:#f6c94599;margin-top:4px}.auth-desc{font-size:12.5px;color:#ffffff80;margin:12px 0 24px}.auth-desc b{color:#f6c945}.auth-label{display:block;text-align:left;font-size:11px;letter-spacing:.12em;color:#ffffff6b;margin:16px 0 8px}.auth-input{width:100%;padding:13px 16px;border-radius:11px;font-size:15px;background:#0006;border:1.5px solid rgba(255,255,255,.14);color:#fff;outline:none;transition:.15s;font-family:inherit}.auth-input:focus{border-color:var(--gold);background:#0000008c}.avatar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.avatar-pick{aspect-ratio:1;border-radius:12px;font-size:24px;border:2px solid rgba(255,255,255,.1);background:#0000004d;transition:.15s;display:grid;place-items:center}.avatar-pick:hover{border-color:#f6c94599;transform:translateY(-2px)}.avatar-pick.sel{border-color:var(--gold);background:#f6c94529;box-shadow:0 0 20px -6px var(--gold)}.auth-btn{width:100%;margin-top:24px;padding:15px;border-radius:12px;font-size:17px;font-weight:900;color:#2a1c00;background:linear-gradient(180deg,#ffd95e,#e0a419);border:1px solid #ffe89a;box-shadow:0 4px #8a6410,0 12px 24px -10px #000;transition:.12s}.auth-btn:hover{filter:brightness(1.08)}.auth-btn:active{transform:translateY(4px);box-shadow:0 0 #8a6410}.auth-err{color:#fca5a5;font-size:12px;margin-top:10px}.auth-tip{font-size:10.5px;color:#ffffff4d;margin:14px 0 0}.hall{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.hall-top{display:flex;align-items:center;gap:18px;padding:12px 24px;background:linear-gradient(180deg,#3a2416f5,#24160dfa);border-bottom:2px solid #5a3d24;box-shadow:0 8px 24px -10px #000}.hall-user{display:flex;align-items:center;gap:12px}.hall-avatar{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:21px;font-weight:900;color:#ffe9a3;background:linear-gradient(160deg,#2e5a45,#16352a);border:2px solid rgba(246,201,69,.5);box-shadow:inset 0 -4px 10px #0006,0 0 16px -6px var(--gold)}.hall-name{font-size:16px;font-weight:900;color:#ffe9a3}.hall-meta{font-size:11px;color:#ffffff6b;margin-top:2px}.hall-coins{display:flex;align-items:center;gap:8px;margin-left:auto;padding:8px 18px;border-radius:99px;background:#00000073;border:1px solid rgba(246,201,69,.35)}.coin-label{font-size:11px;letter-spacing:.16em;color:#f6c945a6}.hall-coins b{font-family:var(--mono);font-size:16px;color:#f6c945}.hall-actions{display:flex;gap:9px}.hall-btn{padding:9px 18px;border-radius:10px;font-size:13px;font-weight:700;background:#00000059;border:1.5px solid rgba(246,201,69,.3);color:#ffe9a3;transition:.15s}.hall-btn:hover{border-color:var(--gold);background:#f6c94524}.hall-btn.ghost{border-color:#ffffff24;color:#fff9}.hall-btn em{font-style:normal;color:var(--gold);font-family:var(--mono);margin-left:3px}.hall-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:26px;padding:26px 30px;overflow-y:auto}.hall-section-title{font-size:11px;letter-spacing:.26em;color:#f6c945b3;margin-bottom:14px;font-family:var(--mono)}.mode-list{display:flex;flex-direction:column;gap:14px}.mode-btn{display:flex;align-items:center;gap:18px;text-align:left;padding:22px 26px;border-radius:18px;background:linear-gradient(135deg,#f6c94529,#00000052 55%);border:2px solid rgba(246,201,69,.42);box-shadow:0 10px 26px -16px #000,inset 0 1px #ffffff1a;transition:.18s;position:relative;overflow:hidden}.mode-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);transform:translate(-120%);transition:transform .5s}.mode-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.012);border-color:var(--gold);box-shadow:0 18px 40px -18px #f6c945a6,inset 0 1px #ffffff26}.mode-btn:hover:after{transform:translate(120%)}.mode-btn:disabled{opacity:.4}.mode-icon{font-size:34px;width:62px;height:62px;flex:none;display:grid;place-items:center;border-radius:16px;background:#00000057;border:1px solid rgba(246,201,69,.28)}.mode-num{font-family:var(--mono);font-size:30px;font-weight:900;line-height:1;width:62px;height:62px;flex:none;display:grid;place-items:center;border-radius:16px;color:#f6c945;background:#00000057;border:1px solid rgba(246,201,69,.28)}.mode-text{display:flex;flex-direction:column;gap:5px;flex:1}.mode-title{font-size:24px;font-weight:900;color:#ffe9a3;letter-spacing:.02em}.mode-sub{font-size:12.5px;color:#ffffff80}.mode-go{font-size:13px;font-weight:800;color:#2a1c00;background:linear-gradient(180deg,#ffd95e,#e0a419);padding:9px 18px;border-radius:99px;flex:none}.hall-tip{margin-top:18px;padding:14px 18px;border-radius:12px;background:#00000047;border-left:3px solid var(--gold);font-size:12.5px;line-height:1.75;color:#fff9}.hall-tip b{color:#ffe9a3}.hall-right{display:flex;flex-direction:column;gap:14px}.side-btn{display:flex;align-items:center;gap:14px;text-align:left;padding:16px 20px;border-radius:14px;background:#00000052;border:1.5px solid rgba(255,255,255,.12);transition:.16s}.side-btn:hover{border-color:#f6c9458c;background:#f6c94514;transform:translate(3px)}.side-icon{font-size:26px;width:48px;height:48px;flex:none;display:grid;place-items:center;border-radius:12px;background:#0000004d}.side-text{display:flex;flex-direction:column;gap:3px}.side-text b{font-size:15px;color:#ffe9a3}.side-text em{font-style:normal;font-size:11.5px;color:#ffffff73}.friend-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:#0000004d;border:1.5px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden}.friend-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;letter-spacing:.16em;color:#ffffff80;font-family:var(--mono)}.mini-link{font-size:11.5px;color:var(--gold)}.friend-list{flex:1;overflow-y:auto;padding:8px}.friend-row{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;transition:.14s}.friend-row:hover{background:#ffffff0d}.friend-av{font-size:19px}.friend-av.big{font-size:28px}.friend-name{font-size:12.5px;color:#ffffffd9;flex:1}.on-dot{width:7px;height:7px;border-radius:50%;background:#37474f}.on-dot.on{background:#22c55e;box-shadow:0 0 6px #22c55ecc}.friend-invite{font-size:11px;padding:4px 10px;border-radius:99px;border:1px solid rgba(246,201,69,.35);color:#ffe9a3}.friend-invite:hover:not(:disabled){background:#f6c94529}.friend-invite:disabled{opacity:.3}.hall-toast{position:fixed;left:50%;bottom:60px;transform:translate(-50%);padding:11px 22px;border-radius:99px;z-index:95;background:#082016f5;border:1px solid rgba(246,201,69,.5);color:#ffe9a3;font-size:13px;box-shadow:0 16px 34px -12px #000;animation:slideDown .2s}.matching{text-align:center}.matching-ring{width:86px;height:86px;margin:0 auto 26px;border-radius:50%;border:4px solid rgba(246,201,69,.18);border-top-color:var(--gold);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.matching-title{font-size:20px;font-weight:900;color:#ffe9a3}.matching-sub{font-size:13px;color:#ffffff73;margin-top:8px}.panel-modal{width:min(560px,100%);max-height:86vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#123a2a,#082218);border:1.5px solid rgba(246,201,69,.32);border-radius:20px;box-shadow:0 40px 90px -30px #000;overflow:hidden;animation:pop .2s cubic-bezier(.2,.9,.3,1.1)}.pm-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.pm-head h3{margin:0;font-size:18px;color:#ffe9a3}.pm-body{padding:18px 22px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.pm-note{font-size:11px;color:#ffffff59;margin:4px 0 0;text-align:center}.friend-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#00000042;border:1px solid rgba(255,255,255,.08)}.friend-sub{font-size:11px;color:#fff6;margin-top:2px}.add-friend{padding:12px;border-radius:11px;font-size:13px;border:1.5px dashed rgba(246,201,69,.4);color:#f6c945d9;transition:.15s}.add-friend:hover{background:#f6c9451a}.tabbar{display:flex;gap:6px;padding:14px 22px 0}.tabbar button{flex:1;padding:10px;border-radius:10px 10px 0 0;font-size:13px;font-weight:700;color:#ffffff73;border-bottom:2px solid transparent}.tabbar button.on{color:#ffe9a3;border-bottom-color:var(--gold);background:#f6c94514}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:11px;letter-spacing:.12em;color:#ffffff6b}.num-row{display:flex;gap:8px;flex-wrap:wrap}.num-row .num-chip{padding:9px 18px;font-size:14px}.code-box{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:11px;background:#0006;border:1.5px solid rgba(246,201,69,.35)}.code-box span{flex:1;font-size:22px;font-weight:900;letter-spacing:.18em;color:#f6c945}.room-input{width:100%;padding:15px;border-radius:11px;text-align:center;font-size:26px;letter-spacing:.4em;background:#0006;border:1.5px solid rgba(255,255,255,.16);color:#ffe9a3;outline:none}.room-input:focus{border-color:var(--gold)}.badge-dot{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-left:6px;padding:0 4px;border-radius:99px;background:#dc2626;color:#fff;font-size:10px;font-weight:800}.friend-empty{padding:14px 12px;font-size:12px;color:#ffffff52;text-align:center}.search-row{display:flex;gap:8px}.search-row .auth-input{flex:1;padding:10px 14px;font-size:13.5px}.sub-block{display:flex;flex-direction:column;gap:9px}.sub-title{font-size:10.5px;letter-spacing:.16em;color:#f6c94599;font-family:var(--mono);margin-top:4px}.friend-av{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;color:#cfe6da;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.friend-av.big{width:38px;height:38px;font-size:16px}@keyframes dealIn{0%{opacity:0;transform:translate3d(var(--deal-x, 0px),var(--deal-y, -32vh),0) rotate(var(--deal-r, 0deg)) scale(.62)}55%{opacity:1}82%{transform:translate3d(0,-6px,0) rotate(calc(var(--deal-r, 0deg) * .06)) scale(1.015)}to{opacity:1;transform:none}}.hcard.deal-in{animation:dealIn .54s cubic-bezier(.22,.78,.3,1.02) backwards;will-change:transform,opacity}.hand-row.dealing{overflow:visible}@keyframes centerIn{0%{opacity:0;transform:translateY(12px) scale(.99)}}.center.deal-fade{animation:centerIn .6s ease-out .12s backwards}@keyframes linkDrop{0%{opacity:0;transform:translateY(12px) scale(.84)}55%{opacity:1;transform:translateY(-4px) scale(1.03)}to{opacity:1;transform:none}}.chain-slot.is-new{animation:linkDrop .4s cubic-bezier(.2,.85,.3,1.06) backwards}@keyframes scorePop{0%{transform:scale(1)}30%{transform:scale(1.24);color:#fff6d0;text-shadow:0 0 14px rgba(246,201,69,.95),0 0 30px rgba(246,201,69,.45)}to{transform:scale(1);text-shadow:none}}.seat-score{animation:scorePop .46s cubic-bezier(.2,.8,.3,1.1);transform-origin:left center}@media (prefers-reduced-motion: reduce){.hcard.deal-in,.center.deal-fade,.chain-slot.is-new,.seat-score{animation:none}}@media (max-width: 820px){.topbar{padding:6px 10px;gap:8px}.brand b{font-size:17px}.brand span{display:none}.chip{padding:4px 9px;font-size:11px;gap:4px}.topbar .row{gap:6px!important}.btn.sm2{padding:8px 12px;font-size:12px;min-height:34px}.table{grid-template-columns:74px minmax(0,1fr) 74px;gap:4px 6px;padding:12px 6px 0}.seat-col{gap:6px;min-height:0}.seat{padding:6px 5px 10px;gap:2px;border-radius:12px;border-width:1.5px}.seat-col .seat{width:100%}.seat-top .seat{width:auto;min-width:84px;padding-inline:10px}.seat.active{transform:none;box-shadow:0 0 0 1.5px #f6c9454d,0 0 18px -6px #f6c945cc}.avatar{width:30px;height:30px;font-size:15px}.seat-name{font-size:10.5px}.seat-score{font-size:15px}.seat-score small{font-size:9px}.seat-tag{font-size:8px;padding:0 6px;top:-8px}.seat-progress{left:5px;right:5px;bottom:3px;height:3px}.center-head{font-size:10px;padding:2px 0 4px;gap:8px}.center-scroll{padding:4px 4px 8px}.chain-row{gap:4px}.chain-arrow{font-size:13px}.chain-owner{font-size:8px;padding:0 5px}.tail-mark{min-width:62px;padding:7px 9px;gap:2px;border-width:2px;border-radius:10px}.tail-mark .lbl{font-size:9px}.tail-mark .val{font-size:14px}.chain-empty{font-size:12px;line-height:1.7}.chain-empty .big{font-size:30px;margin-bottom:4px}.center:before{top:2%;right:0;bottom:2%;left:0}.hand-zone{padding:0 6px 8px}.hand-top{gap:6px;margin-bottom:4px}.seat.compact{min-width:0;width:auto;padding:5px 12px 5px 5px;gap:7px;border-radius:30px}.seat.compact .avatar{width:28px;height:28px;font-size:14px}.seat.compact .seat-name{font-size:10.5px}.hand-top .btn{padding:9px 15px;font-size:13px;min-height:38px}.hand-row{padding:20px 0 4px;justify-content:flex-start}.hand-row>:first-child{margin-left:auto}.hand-row>.hcard:first-child{margin-left:auto}.hand-row>:last-child{margin-right:auto}.hand-row>.hcard:last-child{margin-right:auto}.hcard.good:hover{transform:none}.hcard.sel{transform:translateY(-14px)}.hand-hint{font-size:11px;min-height:15px}.card-name{font-size:12px}.card-note{display:none}.card-domain{font-size:8.5px}.card-power{font-size:18px}.card-bigo{font-size:9px;padding:2px 5px}.logdrawer{width:100%}.overlay{padding:12px}.modal{padding:18px;border-radius:14px}.toasts{top:58px}}@media (max-width: 430px){:root{--overlap: calc(var(--cw) * -.26);--mini-w: calc(var(--cw) * .86)}.table{grid-template-columns:66px minmax(0,1fr) 66px}.seat{padding:5px 4px 9px}.avatar{width:26px;height:26px;font-size:13px}.seat-name{font-size:9.5px}.seat-score{font-size:13px}.hand-top .btn{padding:8px 12px;font-size:12.5px;min-height:36px}.hand-row{padding:16px 0 2px}.hcard.sel{transform:translateY(-10px)}.card{padding:6px 6px 5px}.card-domain{font-size:7.5px}.card-name{font-size:10.5px;line-height:1.15;margin:4px 0 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-protos{margin:4px 0 3px;gap:3px}.card-protos .pb{font-size:8.5px;padding:1px 4px}.card-power{font-size:15px}.card-power small{font-size:7.5px}.card-bigo{font-size:8px;padding:1px 4px}.cmark{font-size:8px;padding:0 4px;top:8px;right:5px}.card.mini{padding:5px 5px 4px}.card.mini .card-name{font-size:9.5px;margin:3px 0 1px}.card.mini .card-domain{font-size:7px}.card.mini .card-protos{margin:4px 0 2px;gap:3px}.card.mini .pb{font-size:7.5px;padding:1px 3px}.card.mini .card-power{font-size:12px}.card.mini .card-power small{font-size:6.5px}.card.mini .card-bigo{font-size:7px;padding:1px 3px}.card.mini .cmark{font-size:7px;padding:0 3px;top:5px;right:4px}.card.mini .card-foot{flex-wrap:wrap;row-gap:1px}}@media (max-width: 360px){:root{--cw: 70px;--overlap: calc(var(--cw) * -.32)}.table{grid-template-columns:60px minmax(0,1fr) 60px}.seat-top .seat{min-width:76px}}@media (max-width: 820px) and (max-height: 700px){.hand-row{padding-top:14px}.hand-top{margin-bottom:0}.center-head{padding:0 0 2px}.seat-col{gap:4px}.hand-zone{padding-bottom:6px}}.hall-btn.hot{border-color:var(--gold);background:linear-gradient(180deg,#f6c94547,#f6c9451f);color:#ffe9a3;animation:hotPulse 2.2s ease-in-out infinite}@keyframes hotPulse{0%,to{box-shadow:0 0 #f6c94500}50%{box-shadow:0 0 16px -2px #f6c9458c}}.rank-mine{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:14px;border-radius:12px;background:linear-gradient(90deg,#f6c94529,#f6c9450a);border:1px solid rgba(246,201,69,.35)}.rank-mine-label{font-size:11px;letter-spacing:.14em;color:#f6c945bf}.rank-mine-num{font-family:var(--mono);font-size:22px;font-weight:900;color:var(--gold)}.rank-mine-sub{font-size:12px;color:#fff9;margin-left:auto}.rank-table{width:100%;border-collapse:collapse;font-size:13px}.rank-table th{text-align:left;font-size:10px;letter-spacing:.14em;color:#fff6;font-family:var(--mono);padding:8px;border-bottom:1px solid rgba(255,255,255,.1)}.rank-table td{padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.05)}.rank-table tr.me td{background:#f6c94514}.rank-badge{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-family:var(--mono);font-size:11px;font-weight:900;background:#ffffff14;color:#ffffffb3}.rank-badge.r1{background:linear-gradient(180deg,#ffe066,#d9a628);color:#2a1c00}.rank-badge.r2{background:linear-gradient(180deg,#e2e8f0,#94a3b8);color:#1e293b}.rank-badge.r3{background:linear-gradient(180deg,#e8b47a,#b06f2e);color:#2a1c00}.settle-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 4px;padding:12px 18px;border-radius:12px;font-size:14px}.settle-bar.gain{background:linear-gradient(90deg,#22c55e2e,#22c55e0a);border:1px solid rgba(34,197,94,.4)}.settle-bar.lose{background:linear-gradient(90deg,#ef444429,#ef444408);border:1px solid rgba(239,68,68,.35)}.settle-rank{color:#fffc}.settle-rank b{font-family:var(--mono);font-size:18px;color:var(--gold)}.settle-coins{font-family:var(--mono);font-size:17px;font-weight:900}.settle-bar.gain .settle-coins{color:#86efac}.settle-bar.lose .settle-coins{color:#fca5a5}.settle-coins .dim{font-size:11px;font-weight:500}.chat-shell{width:min(820px,100%);max-height:min(640px,88vh)}.chat-body{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:14px 16px 16px;min-height:0}.chat-section-title{font-size:10px;letter-spacing:.16em;font-family:var(--mono);color:#fff6;margin-bottom:8px}.chat-users{display:flex;flex-direction:column;min-height:0}.chat-user-list{flex:1;overflow-y:auto;min-height:0;border-right:1px solid rgba(255,255,255,.07);padding-right:12px}.chat-user{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;font-size:13px}.chat-user.me{background:#f6c9451a}.chat-user-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-user-meta{font-size:10px;color:#ffffff59;font-family:var(--mono)}.online-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:#4ade80;box-shadow:0 0 6px #4ade80b3}.online-dot.playing{background:#f6c945;box-shadow:0 0 6px #f6c945b3}.chat-main{display:flex;flex-direction:column;min-height:0}.chat-msg-list{flex:1;overflow-y:auto;min-height:180px;max-height:400px;padding:4px 6px 4px 0;display:flex;flex-direction:column;gap:6px}.chat-msg{font-size:13px;line-height:1.5;word-break:break-word;padding:6px 10px;border-radius:8px;background:#ffffff09}.chat-msg-who{color:var(--gold);font-weight:700;margin-right:8px;font-size:12px}.chat-msg-text{color:#ffffffe0}.chat-input-row{display:flex;gap:8px;margin-top:10px}.chat-input{flex:1;min-width:0}@media (max-width: 700px){.chat-body{grid-template-columns:1fr}.chat-user-list{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);padding-right:0;padding-bottom:8px;max-height:120px}.chat-msg-list{max-height:34vh}}.sgs-mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.sgs-mode-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border-radius:10px;cursor:pointer;background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.12);color:#ffffffd9;transition:all .15s}.sgs-mode-btn:hover{border-color:var(--gold);background:linear-gradient(180deg,#f6c9452e,#f6c9450d);transform:translateY(-1px)}.sgs-mode-n{font-family:var(--mono);font-size:20px;font-weight:900;color:var(--gold)}.sgs-mode-sub{font-size:10px;color:#ffffff73;white-space:nowrap}.diff-row{display:flex;flex-direction:column;gap:8px}.diff-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:10px;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);color:#ffffffe6;transition:all .15s}.diff-btn:hover{border-color:var(--gold);background:#f6c9451f}.diff-btn b{font-size:14px}.diff-btn em{font-size:11px;font-style:normal;color:#ffffff73}.sgs-mode-cell{position:relative;display:flex}.sgs-mode-cell .sgs-mode-btn{flex:1}.sgs-mode-ai{position:absolute;top:-6px;right:-6px;padding:2px 6px;border-radius:8px;cursor:pointer;font-size:9px;font-family:var(--mono);font-weight:900;background:linear-gradient(180deg,#6b8afd,#3b5bdb);border:1px solid rgba(255,255,255,.35);color:#fff;line-height:1.4}.sgs-mode-ai:hover{filter:brightness(1.15)}.game-pick-list{display:flex;flex-direction:column;gap:12px}.game-pick{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:14px;cursor:pointer;text-align:left;background:linear-gradient(135deg,#ffffff12,#ffffff05);border:1px solid rgba(255,255,255,.14);color:#fff;transition:all .16s}.game-pick:hover{border-color:var(--gold);background:linear-gradient(135deg,#f6c94529,#f6c9450a);transform:translateY(-2px);box-shadow:0 8px 24px -12px #000c}.game-pick-badge{flex:0 0 auto;display:grid;place-items:center;width:56px;height:56px;border-radius:12px;font-size:12px;font-weight:900;line-height:1.15;text-align:center;padding:4px}.game-pick-badge.sc{background:linear-gradient(160deg,#2f9e6e,#16714a);color:#e8fff4}.game-pick-badge.sgs{background:linear-gradient(160deg,#b4453c,#7d1f1a);color:#ffe9e7}.game-pick-body{display:flex;flex-direction:column;gap:4px;min-width:0}.game-pick-body b{font-size:15px;letter-spacing:.02em}.game-pick-body em{font-style:normal;font-size:12px;line-height:1.55;color:#fff9}.game-pick-meta{font-size:10px;font-family:var(--mono);letter-spacing:.06em;color:#f6c945bf;margin-top:2px}.hall-back-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}.hall-back{padding:6px 12px;border-radius:8px;cursor:pointer;font-size:12px;font-family:var(--mono);background:#ffffff0f;border:1px solid rgba(255,255,255,.14);color:#ffffffbf}.hall-back:hover{border-color:var(--gold);color:var(--gold)}.hall-current{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--gold)}@media (max-width: 720px){.game-pick{padding:13px 14px;gap:11px}.game-pick-badge{width:46px;height:46px;font-size:10px}.game-pick-body b{font-size:13.5px}.game-pick-body em{font-size:11px}}.hall-note{padding:18px 20px;border-radius:12px;background:#ffffff08;border:1px dashed rgba(255,255,255,.12);font-size:12.5px;color:#ffffff73;line-height:1.7}.mode-choice-list{display:flex;flex-direction:column;gap:10px}.mode-choice{display:flex;flex-direction:column;gap:3px;padding:14px 18px;border-radius:12px;cursor:pointer;text-align:left;background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.13);color:#fff;transition:all .15s}.mode-choice:hover{border-color:var(--gold);background:linear-gradient(135deg,#f6c94526,#f6c9450a);transform:translate(3px)}.mode-choice b{font-size:14.5px}.mode-choice em{font-style:normal;font-size:11.5px;color:#ffffff80}.count-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.count-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 10px;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,#ffffff12,#ffffff05);border:1px solid rgba(255,255,255,.13);color:#fff;transition:all .15s}.count-btn:hover:not(:disabled){border-color:var(--gold);background:linear-gradient(180deg,#f6c94533,#f6c9450d);transform:translateY(-2px)}.count-btn:disabled{opacity:.4;cursor:default}.count-n{font-family:var(--mono);font-size:24px;font-weight:900;color:var(--gold)}.count-sub{font-size:10.5px;color:#ffffff73;white-space:nowrap}.friend-drawer{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(360px,88vw);display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1f2b,#12161f);border-left:1px solid rgba(255,255,255,.12);box-shadow:-20px 0 60px -20px #000000e6;animation:drawerIn .18s ease-out}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}.friend-drawer-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.friend-drawer-head h3{margin:0;font-size:15px}.friend-drawer-body{flex:1;overflow-y:auto;padding:12px 14px}@media (max-width: 720px){.count-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.count-n{font-size:20px}.hall-note{display:none}}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;background:#00000073;animation:maskIn .15s ease-out}@keyframes maskIn{0%{opacity:0}to{opacity:1}}.room-screen{display:flex;gap:18px;width:min(860px,96vw);max-height:88vh;padding:22px;border-radius:16px;background:linear-gradient(170deg,#1b2130,#12161f);border:1px solid rgba(255,255,255,.14)}.room-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.room-head{display:flex;align-items:center;gap:12px}.room-title{font-size:15px;font-weight:800;flex:1}.room-code{margin-left:10px;font-family:var(--mono);font-size:13px;color:var(--gold);letter-spacing:.12em}.room-seats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.room-seat{display:flex;flex-direction:column;gap:6px;padding:13px 14px;border-radius:11px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);min-height:58px}.room-seat.ready{border-color:#4ade80b3;background:#4ade801a}.room-seat.me{border-color:#ffd68299}.room-seat.empty{opacity:.5;border-style:dashed}.room-seat-name{font-size:13px;font-weight:700}.room-seat-tag{font-size:10.5px;color:#ffffff80}.room-seat-tag.on{color:#4ade80;font-weight:700}.room-actions{display:flex;gap:10px;align-items:center}.room-hint{font-size:11.5px;color:#ffffff73;line-height:1.6}.room-side{width:200px;flex:0 0 auto;display:flex;flex-direction:column;gap:8px;border-left:1px solid rgba(255,255,255,.1);padding-left:16px}.room-side-title{font-size:12.5px;font-weight:800;color:#ffffffb3}.room-friend{display:flex;align-items:center;gap:7px}.room-friend-name{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:#ffffff40;flex:0 0 auto}.dot.on{background:#4ade80}.sgs-fx-layer{position:absolute;top:18%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:30}.sgs-fx{padding:7px 18px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.04em;background:#0a0e16e0;border:1.5px solid rgba(255,255,255,.25);color:#fff;white-space:nowrap;animation:sgsFx 2.2s ease-out forwards;box-shadow:0 8px 24px -10px #000000f2}.sgs-fx.k-play{border-color:#ffd682d9;color:#ffd76a}.sgs-fx.k-damage{border-color:#f87171d9;color:#fca5a5}.sgs-fx.k-heal{border-color:#4ade80d9;color:#86efac}.sgs-fx.k-death{border-color:#94a3b8d9;color:#cbd5e1}@keyframes sgsFx{0%{opacity:0;transform:translateY(-14px) scale(.9)}12%{opacity:1;transform:translateY(0) scale(1.04)}22%{transform:scale(1)}78%{opacity:1}to{opacity:0;transform:translateY(-8px)}}@media (max-width: 720px){.room-screen{flex-direction:column;padding:16px}.room-side{width:100%;border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}}
