:root{--bg: #070b17;--bg-2: #0d1428;--panel: rgba(255, 255, 255, .045);--panel-2: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .11);--line-strong: rgba(255, 255, 255, .22);--ink: #eaf0ff;--ink-dim: #98a6c8;--ink-faint: #66739a;--cyan: #4fe3d0;--violet: #9b8cff;--pink: #ff87c2;--amber: #ffc861;--good: #56e39f;--bad: #ff6b81;--radius: 16px;--radius-sm: 10px;--shadow: 0 18px 40px -18px rgba(0, 0, 0, .85);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Noto Sans Thai,ui-sans-serif,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(1200px 700px at 12% -10%,rgba(155,140,255,.22),transparent 60%),radial-gradient(1000px 600px at 92% 8%,rgba(79,227,208,.16),transparent 62%),radial-gradient(900px 800px at 50% 110%,rgba(255,135,194,.14),transparent 60%),linear-gradient(180deg,#070b17,#0a1020 55%,#060a14)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.5;background-image:radial-gradient(1.4px 1.4px at 18% 22%,#fff,transparent),radial-gradient(1.2px 1.2px at 71% 12%,#cfe6ff,transparent),radial-gradient(1.6px 1.6px at 42% 68%,#fff,transparent),radial-gradient(1.1px 1.1px at 86% 54%,#e9d5ff,transparent),radial-gradient(1.3px 1.3px at 27% 84%,#d7fff6,transparent),radial-gradient(1px 1px at 62% 38%,#fff,transparent),radial-gradient(1.2px 1.2px at 9% 57%,#fff,transparent),radial-gradient(1.4px 1.4px at 94% 88%,#fff,transparent);animation:twinkle 7s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.28}to{opacity:.62}}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}input,select{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.62em 1.15em;border-radius:999px;background:var(--panel-2);border:1px solid var(--line-strong);font-weight:700;font-size:.92rem;line-height:1.2;transition:transform .14s ease,box-shadow .18s ease,background .18s ease,filter .18s ease;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1.5px);background:#ffffff21}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--violet));border-color:transparent;color:#06111a;box-shadow:0 10px 26px -10px #4fe3d0bf}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#6cf0df,#ab9dff);filter:brightness(1.05)}.btn-warn{background:linear-gradient(135deg,var(--amber),var(--pink));border-color:transparent;color:#2a1400}.btn-danger{background:#ff6b8129;border-color:#ff6b8180;color:#ffd0d8}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink-dim)}.btn-sm{padding:.4em .8em;font-size:.78rem}.btn-lg{padding:.8em 1.6em;font-size:1.05rem}.btn-block{width:100%}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);padding:.8rem .9rem .45rem}.pill{display:inline-flex;align-items:center;gap:.3em;padding:.2em .62em;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);font-size:.72rem;font-weight:700}.pill.good{background:#56e39f24;border-color:#56e39f66;color:#a8f5cd}.pill.bad{background:#ff6b8124;border-color:#ff6b816b;color:#ffc2cb}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.good-text{color:var(--good)}.bad-text{color:var(--bad)}.dim{color:var(--ink-dim)}.faint{color:var(--ink-faint)}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#ffffff3d}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}:root{--chrome-h: 168px}.game{display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:14px;height:100vh;height:100dvh;padding:14px}.game-main{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.game-side{display:flex;flex-direction:column;gap:10px;min-height:0}.board-wrap{flex:1;display:grid;place-items:center;min-height:0}.board-loading{width:max(260px,min(100%,calc(100vh - var(--chrome-h))));width:max(260px,min(100%,calc(100dvh - var(--chrome-h))));aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--ink-dim);font-size:.92rem;border-radius:22px;background:#060a168c;border:1px solid var(--line)}.board-canvas{display:block;width:max(260px,min(100%,calc(100vh - var(--chrome-h))));width:max(260px,min(100%,calc(100dvh - var(--chrome-h))));aspect-ratio:1;touch-action:manipulation;cursor:pointer}.actionbar{display:flex;align-items:center;gap:14px;padding:10px 14px;flex-wrap:wrap}.ab-turn{display:flex;align-items:center;gap:10px;min-width:0}.ab-ava{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;font-size:22px;flex:none;box-shadow:0 0 0 2px #fff3}.ab-who{display:flex;flex-direction:column;min-width:0}.ab-who strong{font-size:1rem;display:flex;align-items:center;gap:6px}.ab-who .tiny{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ab-buttons{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.ab-side{display:flex;gap:6px}.sound-toggle{display:inline-flex;gap:4px}.btn.muted{opacity:.45;text-decoration:line-through}.end-btn{position:relative;overflow:hidden;isolation:isolate}.end-btn.counting{border-color:var(--cyan);color:var(--ink)}.end-fill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#4fe3d06b,#9b8cff6b);transform-origin:right center}.bot-tag{font-size:.6rem;font-weight:900;letter-spacing:.1em;padding:.1em .4em;border-radius:4px;background:#9b8cff40;color:#cfc6ff}.tiny{font-size:.72rem}.player-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:8px;flex:none;max-height:40vh;overflow-y:auto}.pcard{position:relative;display:flex;flex-direction:column;gap:6px;padding:9px 10px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease}.pcard:hover{background:var(--panel-2);transform:translateY(-1px)}.pcard.active{border-color:var(--tk);box-shadow:0 0 0 1px var(--tk),0 8px 22px -12px var(--tk)}.pcard.selected{background:#ffffff1c}.pcard.out{opacity:.42;filter:grayscale(.8)}.pcard-top{display:flex;align-items:center;gap:7px}.pcard-ava{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:16px;background:var(--tk);flex:none}.pcard-id{display:flex;flex-direction:column;min-width:0;line-height:1.2}.pcard-id strong{font-size:.82rem;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard-id .faint{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard-cash{margin-left:auto;font-size:.78rem;font-weight:800;white-space:nowrap}.pcard-bar{display:block;height:5px;border-radius:999px;background:#ffffff1a;overflow:hidden}.pcard-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--good));transition:width .4s ease}.pcard-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.68rem}.pcard-badges{display:flex;gap:2px;font-size:.78rem}.pcard-out{position:absolute;inset:auto 8px 8px auto;font-size:.62rem;font-weight:900;letter-spacing:.08em;color:var(--bad)}.tileinfo{display:flex;flex-direction:column;gap:8px;padding:11px 12px;flex:none;border-color:var(--line-strong);animation:pop .22s cubic-bezier(.3,1.4,.55,1)}.tileinfo-head{display:flex;align-items:center;gap:9px}.tileinfo-emoji{font-size:1.6rem;line-height:1;flex:none}img.tileinfo-emoji{width:2.6rem;height:2.6rem;object-fit:contain;-webkit-user-select:none;user-select:none}.tileinfo-id{display:flex;flex-direction:column;min-width:0;line-height:1.3;flex:1}.tileinfo-id b{font-size:.92rem}.tileinfo-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tileinfo-stats span{display:flex;flex-direction:column;gap:1px;padding:6px 9px;border-radius:8px;background:#00000047}.tileinfo-stats b{font-size:.84rem}.rent-table span.now{border-color:var(--amber);background:#ffc86124}.tileinfo-owner{display:flex;align-items:center;gap:7px;font-size:.8rem}.tileinfo-dot{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;font-size:14px;flex:none}.side-tabs{display:flex;gap:6px;flex:none}.side-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);font-size:.82rem;font-weight:700;color:var(--ink-dim);transition:all .16s ease}.side-tabs button.on{background:#9b8cff2e;border-color:#9b8cff73;color:var(--ink)}.side-body{flex:1;min-height:0;display:flex}.statement-card,.log{flex:1;overflow-y:auto;min-height:0}.statement{padding:12px;display:flex;flex-direction:column;gap:12px}.st-head{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:2px solid}.st-ava{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;font-size:20px;flex:none}.st-id{display:flex;flex-direction:column;line-height:1.25;min-width:0}.st-id strong{font-size:.95rem}.st-id .faint{font-size:.72rem}.st-cash{margin-left:auto;font-size:1.05rem;font-weight:900}.st-goal{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:var(--radius-sm);background:#4fe3d014;border:1px solid rgba(79,227,208,.22)}.st-goal-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.82rem;font-weight:700}.st-goal-bar{height:8px;border-radius:999px;background:#00000059;overflow:hidden}.st-goal-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--good));box-shadow:0 0 12px var(--cyan);transition:width .45s ease}.st-block{display:flex;flex-direction:column;gap:3px}.st-block h4{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:3px}.st-row{display:flex;justify-content:space-between;gap:10px;font-size:.82rem;padding:2px 0}.st-row.sub{font-size:.76rem;color:var(--ink-dim);padding-left:8px}.st-row.strong{font-weight:800;border-top:1px solid var(--line);margin-top:3px;padding-top:5px}.st-payday{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-weight:800}.st-payday strong{font-size:1.1rem}.st-payday.good{background:#56e39f1f;border:1px solid rgba(86,227,159,.32);color:#b6f5d6}.st-payday.bad{background:#ff6b811f;border:1px solid rgba(255,107,129,.32);color:#ffc8d0}.eff-list,.global-effects{display:flex;flex-wrap:wrap;gap:5px}.global-effects{padding:0 10px 8px}.eff{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:.7rem;font-weight:700;border:1px solid}.eff.good{background:#56e39f21;border-color:#56e39f5c;color:#b6f5d6}.eff.bad{background:#ff6b8121;border-color:#ff6b8161;color:#ffc8d0}.eff b{opacity:.7}.holding{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:9px;background:#ffffff0a;border:1px solid var(--line);flex-wrap:wrap}.holding.mortgaged{opacity:.55}.holding-chip{width:4px;align-self:stretch;border-radius:999px;flex:none}.holding-main{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.holding-main b{font-size:.79rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.holding-cf{font-size:.74rem;font-weight:800;white-space:nowrap}.holding-actions{display:flex;gap:4px;width:100%}.holding-actions .btn{flex:1}.log-list{list-style:none;display:flex;flex-direction:column;gap:2px;padding:0 8px 10px}.log-item{position:relative;display:flex;gap:8px;padding:7px 9px;border-radius:9px;font-size:.78rem;line-height:1.35;background:#ffffff08;border-left:2px solid transparent}.log-item.good{background:#56e39f14;border-left-color:var(--good)}.log-item.bad{background:#ff6b8114;border-left-color:var(--bad)}.log-item.big{background:#9b8cff21;border-left-color:var(--violet);font-weight:700}.log-emoji{flex:none;font-size:.95rem}.log-text{min-width:0}.log-dot{position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:999px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#040710b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fade .2s ease}@keyframes fade{0%{opacity:0}}.modal{position:relative;width:min(100%,580px);max-height:min(88vh,900px);overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:24px;background:linear-gradient(165deg,#131b32,#0b1120);border:1px solid var(--line-strong);box-shadow:0 32px 80px -24px #000000f2,inset 0 1px #ffffff14;animation:pop .28s cubic-bezier(.3,1.4,.55,1)}@keyframes pop{0%{transform:translateY(16px) scale(.94);opacity:0}}.modal.tone-good{border-color:#56e39f66;box-shadow:0 32px 80px -24px #000000f2,0 0 60px -18px #56e39f80}.modal.tone-bad{border-color:#ff6b816b;box-shadow:0 32px 80px -24px #000000f2,0 0 60px -18px #ff6b8180}.modal.tone-weird{border-color:#9b8cff73;box-shadow:0 32px 80px -24px #000000f2,0 0 60px -18px #9b8cff8c}.modal-head{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.modal-emoji{font-size:3.4rem;line-height:1;filter:drop-shadow(0 6px 16px rgba(0,0,0,.6));animation:float 3.2s ease-in-out infinite}.modal-art{width:5.6rem;height:5.6rem;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.62));animation:float 3.2s ease-in-out infinite;-webkit-user-select:none;user-select:none}.modal-art.is-emoji{width:auto;height:auto;font-size:3.4rem;line-height:1}.win-emoji{font-size:4.6rem}@keyframes float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}.modal-kicker{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.modal-head h2{font-size:1.5rem;font-weight:900;line-height:1.2}.modal-text{text-align:center;font-size:.92rem;line-height:1.6;color:var(--ink-dim)}.modal-text b{color:var(--ink)}.center{text-align:center}.big-amount{text-align:center;font-size:2.5rem;font-weight:900;letter-spacing:-.02em}.modal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding-top:4px}.bot-thinking{font-size:.85rem;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.opt{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:var(--radius-sm);background:#ffffff0b;border:1px solid var(--line)}.opt-title{font-weight:800;font-size:.88rem;margin-bottom:2px}.opt-line{font-size:.78rem;color:var(--ink-dim);display:flex;justify-content:space-between;gap:6px}.rent-table{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.rent-table span{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 3px;border-radius:8px;background:#ffffff0a;border:1px solid var(--line);text-align:center}.rent-table b{font-size:.8rem}.deal-grid{display:grid;gap:10px}.deal-grid.two{grid-template-columns:1fr 1fr}.deal-card{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--radius-sm);background:linear-gradient(160deg,#ffc8611a,#ffffff08);border:1px solid rgba(255,200,97,.28)}.deal-top{display:flex;align-items:center;gap:9px}.deal-top span{display:flex;flex-direction:column;line-height:1.25;min-width:0}.deal-emoji{font-size:1.9rem;flex:none}.deal-text{font-size:.78rem;line-height:1.5;color:var(--ink-dim)}.deal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px}.deal-stats span{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:8px;background:#00000047}.deal-stats b{font-size:.85rem}.payday-rows{display:grid;gap:5px}.payday-rows span{display:flex;justify-content:space-between;gap:10px;font-size:.85rem;padding:6px 10px;border-radius:8px;background:#ffffff0a}.raise{display:flex;flex-direction:column;gap:8px}.raise-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 13px;border-radius:var(--radius-sm);background:#ff6b8121;border:1px solid rgba(255,107,129,.38);font-weight:800;font-size:.86rem}.raise-head strong{font-size:1.3rem}.raise-head.ok{background:#56e39f1f;border-color:#56e39f61}.raise-list{display:flex;flex-direction:column;gap:5px;max-height:42vh;overflow-y:auto;padding-right:2px}.raise-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;background:#ffffff0b;border:1px solid var(--line)}.raise-chip{width:4px;align-self:stretch;border-radius:999px;flex:none}.raise-emoji{font-size:1.15rem;flex:none}.raise-main{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}.raise-main b{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.raise-amt{font-size:.85rem;font-weight:800;white-space:nowrap}.shield-note{text-align:center;padding:9px;border-radius:var(--radius-sm);background:#4fe3d021;border:1px solid rgba(79,227,208,.35);font-size:.84rem;font-weight:700}.win-modal{width:min(100%,720px)}.standings{display:flex;flex-direction:column;gap:6px}.stand{display:grid;grid-template-columns:30px 34px minmax(0,1.4fr) repeat(3,minmax(0,1fr));align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid var(--line)}.stand.win{background:#ffc8611f;border-color:#ffc86166}.stand.out{opacity:.45}.stand-rank{font-size:1.1rem;text-align:center}.stand-ava{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;font-size:18px}.stand-id,.stand-nums{display:flex;flex-direction:column;min-width:0;line-height:1.25}.stand-id b{font-size:.88rem}.stand-nums b{font-size:.82rem}.rules-modal{width:min(100%,720px)}.rules-body{display:flex;flex-direction:column;gap:16px}.rules-body section{display:flex;flex-direction:column;gap:6px}.rules-body h3{font-size:.95rem;font-weight:800}.rules-body p,.rules-body li{font-size:.84rem;line-height:1.65;color:var(--ink-dim)}.rules-body ul{display:flex;flex-direction:column;gap:5px;padding-left:18px}.rules-body b{color:var(--ink)}.setup-scroll{height:100vh;overflow-y:auto}.setup{max-width:880px;margin:0 auto;padding:40px 20px 60px;display:flex;flex-direction:column;gap:18px}.setup-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.hero-badge{padding:6px 14px;border-radius:999px;background:#9b8cff29;border:1px solid rgba(155,140,255,.4);font-size:.76rem;font-weight:700;letter-spacing:.04em}.setup-hero h1{display:flex;flex-direction:column;gap:4px;font-size:clamp(3rem,11vw,5.2rem);font-weight:900;letter-spacing:.14em;line-height:.95;background:linear-gradient(120deg,var(--cyan),var(--violet) 48%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 8px 30px rgba(155,140,255,.4))}.setup-hero h1 small{font-size:.9rem;font-weight:700;letter-spacing:.3em;color:var(--ink-faint);-webkit-text-fill-color:var(--ink-faint)}.setup-hero p{max-width:620px;font-size:.92rem;line-height:1.7;color:var(--ink-dim)}.setup-hero p b{color:var(--cyan)}.setup-card{padding-bottom:14px}.setup-card-actions{display:flex;gap:6px}.rows{display:flex;flex-direction:column;gap:10px;padding:0 14px}.setup-row{display:flex;flex-direction:column;gap:9px;padding:12px;border-radius:var(--radius-sm);background:#ffffff09;border:1px solid var(--line)}.setup-row-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.setup-ava{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;font-size:21px;flex:none}.setup-row-head input{flex:1;min-width:110px;padding:9px 12px;border-radius:999px;background:#00000052;border:1px solid var(--line);font-size:.9rem;font-weight:600}.setup-row-head input:focus{outline:none;border-color:var(--cyan)}.seg{display:flex;gap:2px;padding:2px;border-radius:999px;background:#00000052;border:1px solid var(--line)}.seg button{padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700;color:var(--ink-faint);white-space:nowrap;transition:all .15s ease}.seg button.on{background:linear-gradient(135deg,var(--cyan),var(--violet));color:#06111a}.chr-picker{display:flex;gap:5px;flex-wrap:wrap}.chr{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;font-size:19px;background:#ffffff0d;border:1px solid var(--line);transition:all .15s ease}.chr:hover:not(:disabled){transform:translateY(-2px) scale(1.06)}.chr.on{background:var(--tk);border-color:#fff;box-shadow:0 0 0 2px var(--tk)}.chr:disabled{opacity:.2}.prof-select select{width:100%;padding:9px 12px;border-radius:var(--radius-sm);background:#00000057;border:1px solid var(--line);font-size:.86rem;font-weight:600}.prof-select select:focus{outline:none;border-color:var(--cyan)}.prof-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.prof-info span{display:flex;flex-direction:column;gap:1px;padding:7px 9px;border-radius:8px;background:#00000042}.prof-info b{font-size:.86rem}.perk{font-size:.76rem;line-height:1.5;color:var(--amber)}.settings{display:flex;flex-direction:column;gap:10px;padding:0 14px}.switch,.field{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:var(--radius-sm);background:#ffffff09;border:1px solid var(--line);cursor:pointer}.switch input{width:20px;height:20px;flex:none;accent-color:var(--cyan);cursor:pointer}.switch span,.field>span{display:flex;flex-direction:column;gap:2px;font-size:.86rem;min-width:0}.switch em,.field em{line-height:1.45}.field{flex-wrap:wrap}.field .seg{margin-left:auto}.setup-go{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding-top:6px}.hero-tools{display:flex;justify-content:center;gap:8px}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-tabs button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:13px 10px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);font-weight:800;font-size:.95rem;color:var(--ink-dim);transition:all .16s ease}.mode-tabs button:hover{background:var(--panel-2)}.mode-tabs button.on{background:#9b8cff2e;border-color:#9b8cff80;color:var(--ink);box-shadow:0 10px 26px -16px var(--violet)}.lobby-hero{gap:10px}.room-code{display:flex;gap:8px}.room-code span{width:clamp(48px,12vw,68px);height:clamp(58px,15vw,84px);display:grid;place-items:center;border-radius:14px;background:linear-gradient(160deg,#4fe3d029,#9b8cff1a);border:1px solid rgba(79,227,208,.4);font-size:clamp(1.8rem,6vw,2.6rem);font-weight:900;letter-spacing:0;color:var(--cyan);text-shadow:0 0 22px rgba(79,227,208,.5)}.invite{display:flex;gap:8px;padding:0 14px;flex-wrap:wrap}.invite input{flex:1;min-width:180px;padding:10px 13px;border-radius:999px;background:#00000059;border:1px solid var(--line);font-size:.82rem;color:var(--ink-dim)}.invite input:focus{outline:none;border-color:var(--cyan);color:var(--ink)}.invite-hint{padding:8px 14px 0;line-height:1.5}.join-box{display:flex;gap:8px;padding:0 14px;flex-wrap:wrap}.code-input{flex:1;min-width:150px;padding:12px 16px;border-radius:var(--radius-sm);background:#00000059;border:1px solid var(--line);font-size:1.5rem;font-weight:900;letter-spacing:.35em;text-align:center;text-transform:uppercase}.code-input:focus{outline:none;border-color:var(--cyan)}.seats{display:flex;flex-direction:column;gap:9px;padding:0 14px}.seat{display:flex;flex-direction:column;gap:8px;padding:11px 12px;border-radius:var(--radius-sm);background:#ffffff09;border:1px solid var(--line)}.seat.me{border-color:var(--tk);background:#ffffff0f}.seat-head{display:flex;align-items:center;gap:9px}.seat-id{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}.seat-id strong{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:.92rem}.seat input,.seat select{width:100%;padding:9px 12px;border-radius:var(--radius-sm);background:#00000057;border:1px solid var(--line);font-size:.86rem;font-weight:600}.seat input:focus,.seat select:focus{outline:none;border-color:var(--cyan)}.me-tag,.host-tag{font-size:.6rem;font-weight:900;letter-spacing:.08em;padding:.15em .45em;border-radius:4px}.me-tag{background:#4fe3d040;color:#b6f7ee}.host-tag{background:#ffc86138;color:#ffe0a6}.dot{width:9px;height:9px;border-radius:999px;flex:none}.dot.on{background:var(--good);box-shadow:0 0 9px var(--good)}.dot.off{background:var(--bad);animation:pulse 1.3s ease-in-out infinite}.pill.waiting{padding:.6em 1.1em;font-size:.86rem;animation:pulse 1.8s ease-in-out infinite}.net-error{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;font-size:.86rem;background:#ff6b811f;border-color:#ff6b816b;color:#ffc8d0}.lobby-waiting{min-height:70vh;justify-content:center}.lobby-status{display:flex;flex-direction:column;align-items:center;gap:14px;padding:36px 24px;text-align:center}.spinner{width:42px;height:42px;border-radius:999px;border:3px solid rgba(255,255,255,.14);border-top-color:var(--cyan);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1180px){body{overflow:auto}.game{grid-template-columns:minmax(0,1fr);height:auto;min-height:100vh;min-height:100dvh}.board-canvas,.board-loading{width:min(100%,68vh);width:min(100%,68dvh)}.player-strip{max-height:none}.statement-card,.log{max-height:70vh;max-height:70dvh}}@media (max-width: 620px){.game{padding:10px;gap:10px}.board-canvas,.board-loading{width:min(100%,58vh);width:min(100%,58dvh);border-radius:14px}.opt-grid,.deal-grid.two{grid-template-columns:1fr}.modal{padding:20px 16px;border-radius:18px}.big-amount{font-size:2rem}.stand{grid-template-columns:26px 30px minmax(0,1fr) minmax(0,1fr)}.stand-nums:nth-last-child(-n+1){display:none}.actionbar{padding:9px 10px;flex-wrap:wrap;gap:8px}.ab-buttons{width:100%;margin-left:0;flex-wrap:wrap}.ab-buttons .btn{flex:1 1 auto}}@media (max-height: 560px) and (orientation: landscape){:root{--chrome-h: 108px}.game{padding:8px;gap:8px;height:auto;min-height:100vh;min-height:100dvh}.board-canvas,.board-loading{width:min(100%,calc(100vh - var(--chrome-h)));width:min(100%,calc(100dvh - var(--chrome-h)))}.actionbar{padding:6px 10px}.player-strip{max-height:none}}@media (max-height: 420px){:root{--chrome-h: 96px}.board-canvas,.board-loading{width:max(240px,min(100%,calc(100vh - var(--chrome-h))));width:max(240px,min(100%,calc(100dvh - var(--chrome-h))))}}
