:root{--bg: #f3f2f2;--panel: #fbfaf8;--panel-2: #ffffff;--border: #dcd7ce;--divider: #e7e3db;--text: #201f1d;--dim: #6e6a62;--ink: #201f1d;--ink-2: #4a463f;--seal: #b68235;--seal-2: #8a6224;--tint: rgba(182, 130, 53, .08);--tint-2: rgba(182, 130, 53, .16);--green: #5b7a52;--radius: 4px;--ctl-h: 40px;--cell: 32px;--stone: 29px;--board-card-w: calc(var(--cell) * 15 + 30px);--serif: "Noto Serif KR", "Gowun Batang", Batang, serif;--shadow-sm: 0 1px 2px rgba(32, 31, 29, .06);--shadow-md: 0 2px 10px rgba(32, 31, 29, .08)}*{box-sizing:border-box}::selection{background:#b6823538}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{height:100%;overflow:hidden}#root{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}body{font-family:var(--serif);margin:0;color:var(--text);font-variant-numeric:tabular-nums;background:var(--bg)}main{max-width:1080px;margin:0 auto;padding:8px 14px 48px}a{color:var(--seal-2)}a:hover{color:var(--seal)}header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:4px 0 8px;border-bottom:1px solid var(--text);margin-bottom:6px}h1{font-size:1.45rem;margin:0;letter-spacing:.2em;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:8px}h1:after{content:none}h1:before{content:none}.hdr-icon{height:38px;width:38px;display:block;border-radius:9px}.me{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-left:auto}.hdr-actions{margin-left:auto;display:flex;align-items:center;gap:3px}.me-row{display:flex;gap:6px;align-items:center;margin:0 0 6px;min-width:0}.me-row .chip{min-width:0;overflow:hidden;text-overflow:ellipsis}.me-row .chip.mono{flex:0 1 auto;display:block;line-height:26px}.me-row{flex-wrap:nowrap;max-width:100%;overflow:hidden}.me-row .chip.gold,.me-row .chip:last-child{flex:0 0 auto}.me .chip,.me-row .chip{display:inline-flex;align-items:center;gap:5px;height:28px;font-size:.78rem;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--dim);white-space:nowrap}.me .chip.gold,.me-row .chip.gold{color:var(--seal-2);border-color:var(--seal);font-weight:600}.mono{font-family:Consolas,monospace}.card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin:10px 0;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.columns>.card:hover{border-color:#cbc4b7;box-shadow:var(--shadow-md)}.columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-auto-rows:1fr;gap:14px}.columns>.card{margin:0}h2,h3{margin:0 0 14px;font-size:1.04rem;letter-spacing:.05em;font-weight:700;display:flex;align-items:center;gap:4px}h2 .jay-coin,h3 .jay-coin,.title-nowrap .jay-coin{margin-right:0}h2{padding-bottom:10px;border-bottom:1px solid var(--divider)}h3{margin-top:22px;font-size:.95rem}h3 small{font-weight:400;letter-spacing:0}.title-nowrap{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex:0 0 auto}h2:before,h3:before{content:none}.card p{margin:7px 0;line-height:1.7}.opponent p{margin:4px 0}button{margin:2px;padding:0 16px;height:var(--ctl-h);min-width:72px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;vertical-align:middle;cursor:pointer;border-radius:var(--radius);border:1px solid var(--ink-2);background:transparent;color:var(--ink);font-size:.87rem;font-family:var(--serif);font-weight:600;letter-spacing:.03em;transition:border-color .15s,color .15s,background .15s}button:hover:enabled{border-color:var(--seal);color:var(--seal-2);background:var(--tint)}button:active:enabled{background:var(--tint-2)}button:focus-visible,input:focus-visible{outline:2px solid var(--seal);outline-offset:2px}button:disabled{cursor:default;opacity:.45}input{padding:0 12px;height:var(--ctl-h);min-width:0;margin:2px;vertical-align:middle;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-family:var(--serif);font-size:.9rem;transition:border-color .15s,box-shadow .15s}input:focus{outline:none;border-color:var(--seal);box-shadow:0 0 0 3px var(--tint)}label{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}input[type=number]{width:110px;text-align:right}.btn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}.btn-grid button{width:100%;min-width:0;margin:0}.btn-grid button,.field-col>button,button.full,.card.game .actions button{height:auto;min-height:var(--ctl-h);padding-top:4px;padding-bottom:4px;white-space:normal}.btn-grid.stone-select button{padding:0 8px;font-size:.83rem}.btn-grid.stone-select{grid-template-columns:repeat(3,minmax(0,1fr))}.btn-grid.levels{grid-template-columns:repeat(5,minmax(0,1fr))}.btn-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.btn-grid.enter-grid button{white-space:normal;height:auto;min-height:var(--ctl-h);padding:8px 12px;line-height:1.3;text-align:center}.card>label{display:flex;align-items:center;gap:10px;margin:8px 0}.card>label input{flex:1;min-width:0;margin:0}.input-row{display:flex;gap:8px;align-items:center;margin:8px 0}.input-row input{flex:1;min-width:0;margin:0;text-align:center}.input-row button{flex:0 0 calc(50% - 4px);min-width:0;margin:0}.field-col{display:flex;flex-direction:column;gap:8px;align-items:stretch;max-width:420px;margin:8px 0}.field-col label{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px}.field-col .field-name{color:var(--dim);font-size:.86rem}.field-col input{width:100%;margin:0}.field-col input[type=number]{width:100%}.field-col>button{margin:2px 0 0 106px;width:calc(100% - 106px)}button.full{width:100%;margin:8px 0 0}button.selected{border-color:var(--seal);color:var(--seal-2);font-weight:700;background:var(--tint);box-shadow:inset 0 0 0 1px var(--seal)}.room-no{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;margin-right:8px;border-radius:999px;border:1px solid var(--ink-2);color:var(--ink-2);font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;flex:none}.card ul li>.room-no+*{margin-left:0}.card ul li{justify-content:flex-start}.card ul li>button{margin-left:auto}.room-no-banner{display:flex;align-items:center;gap:14px;margin:10px 0 0;padding:10px 14px;border:1px solid var(--seal);border-radius:var(--radius);background:var(--tint);color:var(--seal-2)}.room-no-banner .rn-num{display:flex;flex-direction:column;align-items:center;line-height:1.05;flex:none;padding-right:14px;border-right:1px solid var(--seal)}.room-no-banner .rn-label{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85}.room-no-banner .rn-code{font-size:1.55rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.1em}.room-no-banner .rn-hint{font-size:.82rem;line-height:1.45;color:var(--ink-2)}.error{color:#9c3a26;font-weight:700}.warn{color:var(--seal-2);font-weight:700}.note{color:var(--dim);font-size:.84rem}.deposit-progress{display:flex;align-items:baseline;gap:8px;margin:10px 0 0;padding:10px 12px;border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);background:var(--panel);font-size:.88rem}.deposit-progress.pending{border-left-color:var(--ink-2);color:var(--ink)}.deposit-progress.done{border-left-color:var(--green);color:var(--green);font-weight:700}.deposit-progress.error{border-left-color:#9c3a26}.dp-dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--ink-2);align-self:center;animation:dp-pulse 1.2s ease-in-out infinite}@keyframes dp-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.oneline{overflow:hidden;text-overflow:ellipsis}.join-notice{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:10px 12px;border:1px solid var(--green);border-left-width:3px;border-radius:var(--radius);background:color-mix(in srgb,var(--green) 12%,var(--panel));color:var(--green);font-weight:700;font-size:.9rem;animation:jn-pop .35s ease-out}.join-notice .jn-icon{flex:none}.join-notice.left-notice{border-color:var(--warn, #c99a2e);background:color-mix(in srgb,var(--warn, #c99a2e) 12%,var(--panel));color:var(--warn, #c99a2e)}.presence-line{margin:6px 0 0;font-weight:600}.game-abandon-note{margin:0;font-weight:600;font-size:.85rem}.onboard-deposit{max-width:560px;margin:10px auto}@keyframes jn-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fund-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.fund-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);min-width:0}.fund-item.ok{border-color:var(--seal);background:var(--tint)}.fund-label{color:var(--dim);font-size:.78rem;white-space:nowrap}.fund-value{font-size:1.05rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.fund-item.ok .fund-value{color:var(--seal-2)}.fund-value em{font-style:normal;color:var(--dim);font-size:.8rem;margin-left:4px;font-weight:400}@media(max-width:600px){.fund-summary{grid-template-columns:1fr;gap:8px}.fund-item{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}}code{background:var(--panel);border:1px solid var(--border);padding:1px 6px;border-radius:3px;color:var(--ink);font-family:Consolas,monospace;font-size:.9em}table{border-collapse:collapse;margin-top:8px;width:100%}table td{padding:6px 0;border-bottom:1px solid var(--divider)}table td:first-child{padding-right:26px;color:var(--dim)}table td:last-child{text-align:right;min-width:110px;font-weight:600}table tr:last-child td{border-bottom:none}.card ul{list-style:none;padding:0;margin:6px 0}.card ul li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid var(--divider)}.card ul li:last-child{border-bottom:none}.onboarding{color:var(--dim);font-size:.87rem;line-height:1.75;padding-left:20px}.onboarding li::marker{color:var(--seal-2);font-weight:700}.start-hero{max-width:560px;margin:5vh auto 0;padding:44px 36px 30px;text-align:center}.start-badge{display:inline-block;margin:0 0 14px;padding:4px 16px;border:1px solid var(--seal);border-radius:999px;color:var(--seal-2);font-size:.8rem;letter-spacing:.14em}.start-hero .start-title{display:block;margin:0 0 10px;font-size:2.6rem;font-weight:500;letter-spacing:.28em;text-indent:.28em;color:var(--ink)}.start-tagline{margin:0 0 24px;color:var(--ink-2)}.start-cta{height:48px;padding:0 32px;font-size:1.02rem;font-weight:700;color:var(--seal-2);border:1px solid var(--seal);background:var(--tint)}.start-cta:hover:enabled{background:var(--tint-2);color:var(--seal-2)}.start-hero h3{justify-content:center;margin-top:28px}.start-hero .onboarding{text-align:left}.clocks{display:flex;gap:10px;font-size:1.06rem;margin-bottom:12px}.clocks span{min-width:118px;display:inline-flex;align-items:center;justify-content:center;padding:7px 18px;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-2);font-family:Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--dim);transition:color .2s,border-color .2s,background .2s}.clocks .active{font-weight:700;color:var(--seal-2);border-color:var(--seal);background:var(--tint)}.game-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.game-head .clocks{margin-bottom:0}.stake-chip{display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);color:var(--dim);font-size:.9rem;font-weight:700;white-space:nowrap}.stake-chip.bet{color:var(--seal-2);border-color:var(--seal)}.board{display:grid;grid-template-columns:repeat(15,var(--cell));background:#eadfc4;border:2px solid var(--ink);border-radius:var(--radius);padding:10px;width:fit-content;box-shadow:var(--shadow-md);position:relative}.board:after{content:"";position:absolute;right:6px;bottom:6px;width:16px;height:16px;border-radius:3px;border:1.5px solid rgba(182,130,53,.5);transform:rotate(-5deg);pointer-events:none}.cell{position:relative;width:var(--cell);height:var(--cell);min-width:0;margin:0;padding:0;background:transparent;border:none;border-radius:0;display:flex;align-items:center;justify-content:center;transition:none;box-shadow:none;font-family:var(--serif)}.cell:hover:enabled{transform:none;box-shadow:none;border:none}.cell:disabled{opacity:1;box-shadow:none}.cell:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;background:#4a4234;pointer-events:none}.cell:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;margin-left:-.5px;background:#4a4234;pointer-events:none}.cell:nth-child(15n+1):before{left:50%}.cell:nth-child(15n):before{right:50%}.cell:nth-child(-n+15):after{top:50%}.cell:nth-child(n+211):after{bottom:50%}.cell:nth-child(49),.cell:nth-child(57),.cell:nth-child(113),.cell:nth-child(169),.cell:nth-child(177){background:radial-gradient(circle at center,#4a4234 3px,transparent 3.5px)}.cell:enabled{cursor:pointer}.cell:enabled:hover{background:radial-gradient(circle at center,rgba(58,52,42,.16) 11px,transparent 13px)}.stone{position:relative;z-index:1;width:var(--stone);height:var(--stone);border-radius:50%;box-shadow:0 2px 4px #3c342473;animation:stone-place .28s cubic-bezier(.2,.9,.3,1.2) both}@keyframes stone-place{0%{transform:scale(1.45);opacity:0;filter:blur(1.5px)}60%{opacity:1;filter:blur(0)}to{transform:scale(1)}}.stone.black{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.4) 0%,transparent 13%),#000;box-shadow:0 3px 6px #00000080}.stone.white{background:radial-gradient(circle at 30% 25%,#ffffff 0%,transparent 38%),#fdfdfa;border:2px solid #2c2820;box-shadow:0 3px 6px #00000059,inset 0 -3px 5px #2c282026}.cell.last .stone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:9px;height:9px;border-radius:50%;background:var(--seal)}.cell.last .stone.black:after{background:var(--seal)}.forbidden-mark{position:relative;z-index:1;color:#9c3a26;font-size:15px;font-weight:800}.result{margin-top:12px;padding:16px 18px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--green);animation:result-in .4s ease-out both}@keyframes result-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.result h3{font-size:1.14rem;color:var(--green);margin-top:0}.actions{margin-top:10px}.result .field-col{max-width:none}.result .field-col>button,.result>button{width:100%;min-width:0;margin:8px 0 0}.game{width:fit-content}.help-btn{min-width:0;width:36px;height:36px;padding:0;border-radius:var(--radius);font-weight:700;font-size:1rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#201f1d66;display:flex;align-items:flex-start;justify-content:center;padding:60px 14px 20px;overflow-y:auto;animation:result-in .2s ease-out both}.modal-card{width:100%;max-width:460px;margin:0}.help-modal{max-width:580px;width:100%;max-height:86vh;overflow-y:auto;margin:0}.help-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.help-head h2{margin:0;border-bottom:none;padding-bottom:0}.lang-toggle{display:inline-flex;gap:4px}.lang-toggle button{min-width:0;height:30px;padding:0 12px;font-size:.8rem}.help-body h3{margin-top:18px}.help-body p{margin:6px 0;line-height:1.75;font-size:.92rem}.help-modal>.full{margin-top:16px}.connect-btn{border-color:var(--seal);color:var(--seal-2);background:var(--tint);font-weight:700;letter-spacing:.06em}.connect-btn:hover:enabled{background:var(--tint-2);color:var(--seal-2);border-color:var(--seal)}.risk-lock-banner{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:10px 0;padding:12px 16px;border:1px solid var(--seal);border-left:4px solid var(--seal-2);border-radius:var(--radius);background:var(--tint)}.risk-lock-banner .rlb-text{font-weight:600;flex:1 1 260px}.risk-lock-banner .rlb-btn{flex:none;font-weight:700;border-color:var(--seal);color:var(--seal-2);background:var(--tint-2)}.risk-lock-banner .rlb-btn:hover:enabled{background:var(--seal);color:#fff}.risk-lock-banner .rlb-err{color:#9c3a26;font-size:.82rem;flex-basis:100%}.logout-btn{height:36px;min-width:0;padding:0 14px;font-size:.78rem;letter-spacing:.04em;opacity:.75}.logout-btn:hover:enabled{opacity:1}.jay-coin{height:1.05em;width:auto;vertical-align:-.18em;display:inline-block;margin-right:.35em}.copy-btn{height:26px;min-width:0;padding:0 10px;font-size:.74rem;vertical-align:middle}.refresh-btn{margin-left:auto;height:28px;min-width:0;padding:0 12px;font-size:.76rem;letter-spacing:0}.room-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.room-pager button{height:28px;min-width:0;padding:0 12px;font-size:.76rem}.room-pager button:disabled{opacity:.4;cursor:default}.room-pager .note{margin:0}.refuse-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:2px;flex-wrap:nowrap;white-space:nowrap;font-size:.8rem;font-weight:400;letter-spacing:0;color:var(--dim);cursor:pointer}.refuse-toggle input{width:auto;height:auto;margin:0}@media(max-width:600px){:root{--cell: min(32px, calc((100vw - 38px) / 15));--stone: calc(var(--cell) - 3px);--ctl-h: 44px}main{padding:10px 8px 30px}h1{font-size:1.25rem;letter-spacing:.12em}.hdr-icon{height:32px;width:32px;border-radius:7px}header{flex-wrap:nowrap;gap:8px}.hdr-actions{flex:0 0 auto}.help-btn{width:32px;height:32px}.help-btn svg{width:18px;height:18px}.logout-btn,.connect-btn{height:32px;padding:0 10px;font-size:.72rem}.me-row .chip{padding:0 8px}.me-row .chip.mono{min-width:56px}.cell{width:var(--cell);height:var(--cell)}.cell:enabled:hover{background:radial-gradient(circle at center,rgba(58,52,42,.16) 8px,transparent 9px)}.stone.white{border-width:1.5px}.cell.last .stone:after{width:7px;height:7px}.forbidden-mark{font-size:12px}.clocks{font-size:.98rem}.clocks span{min-width:100px;padding:6px 12px}.columns{grid-template-columns:1fr}.game-layout{flex-direction:column;align-items:center}.game-side{flex:none;width:var(--board-card-w);max-width:100%;min-width:0}}@media(prefers-reduced-motion:reduce){.stone,.result{animation:none}.card,button,.clocks span{transition:none}}button.btn-primary{border-color:var(--seal);color:var(--seal-2);background:var(--tint);font-weight:700}button.btn-primary:hover:enabled{background:var(--tint-2)}button.btn-primary.blink{animation:btn-blink 1.05s ease-in-out infinite}@keyframes btn-blink{0%,to{background:var(--tint);box-shadow:0 0 color-mix(in srgb,var(--seal) 45%,transparent)}50%{background:var(--tint-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--seal) 22%,transparent)}}@media(prefers-reduced-motion:reduce){button.btn-primary.blink{animation:none}}.lobby{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.lobby-main,.lobby-side{display:flex;flex-direction:column;gap:14px}.lobby .card{margin:0}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}.quick-grid button{width:100%;min-width:0;margin:0;height:64px;font-size:1.05rem;flex-direction:column;gap:2px;padding:0 8px}.quick-grid button small{font-size:.68rem;font-weight:400;color:var(--dim);letter-spacing:.04em}.practice-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr);gap:10px;align-items:stretch;margin:8px 0}.practice-row>button{width:100%;min-width:0;margin:0;font-size:1rem;font-weight:700}.seg{display:flex;gap:0;min-width:0}.seg button{flex:1;margin:0;min-width:0;border-radius:0;padding:0 12px;font-size:1rem;font-weight:700;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px}.seg button.selected{box-shadow:none;border-left-width:1px;margin-left:-1px;z-index:1}.seg button:first-child.selected{margin-left:0}.stone.ghost{opacity:.5}.cell.pending{background:radial-gradient(circle at center,rgba(182,130,53,.28) 55%,transparent 60%)}.mini-stone{width:18px;height:18px;border-radius:50%;display:inline-block;flex:0 0 auto;box-shadow:0 1px 2px #00000059}.mini-stone.black{background:radial-gradient(circle at 35% 30%,#6f6f6f,#1c1c1c 55%,#000 90%)}.mini-stone.white{background:radial-gradient(circle at 35% 30%,#fff,#ececec 55%,#c9c9c9 95%);border:1px solid #b9b3a8}.mini-stone.random{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),transparent 55%),linear-gradient(105deg,#1c1c1c 49.5%,#f2f2f2 50.5%);border:1px solid #b9b3a8}.seg button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.seg button:last-child{border-radius:0 var(--radius) var(--radius) 0}.seg button+button{border-left-width:0}.seg button.selected{border-left-width:1px}.seg button.selected+button{border-left-width:0}.color-seg{width:100%;margin:8px 0}@media(max-width:960px){.practice-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.practice-row>button{grid-column:1 / -1}}@media(max-width:700px){.practice-row{grid-template-columns:1fr}.practice-row>button{grid-column:auto}}.wallet-balance{margin:2px 0 0;height:var(--ctl-h);padding:0 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:10px}.wallet-balance .wb-label{color:var(--dim);font-size:.8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-balance .num{flex:0 0 auto;font-size:1.05rem;font-weight:600;letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.wallet-balance .unit{font-size:.8rem;color:var(--dim);margin-left:5px;font-weight:400}.wallet-balance+.wallet-balance{margin-top:8px}.wallet-balance.chain{background:transparent}.wallet-balance.chain .num{color:var(--ink-2)}.wallet-sub{color:var(--dim);font-size:.82rem;margin:8px 0 10px;text-align:right}.game-layout{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start}.game-layout>.card{margin:0}.board-actions{display:grid;margin-top:10px}.side-actions{display:none}.stake-bar{display:flex;gap:8px;justify-content:center;align-items:center;width:100%;flex-basis:100%}.stake-bar .stake-chip{height:36px;padding:0 18px;font-size:.95rem}.game-layout.in-play{display:grid;grid-template-columns:min-content minmax(260px,340px);grid-template-rows:auto auto 1fr;grid-template-areas:"stakebar stakebar" "board clocks" "board controls";gap:16px;align-items:start}.game-layout.in-play>.stake-bar{grid-area:stakebar}.game-layout.in-play>.card.game{grid-area:board;margin:0}.game-layout.in-play>.player-bar{grid-area:clocks}.game-layout.in-play>.game-side{grid-area:controls}.player-bar{display:flex;flex-direction:column;gap:10px}.game-side{flex:1 1 260px;min-width:260px;max-width:340px;display:flex;flex-direction:column;gap:10px}.player-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2)}.player-row .who{display:flex;align-items:center;gap:8px;min-width:0}.player-row .name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-row .rating{color:var(--dim);font-size:.82rem}.player-row .clock{font-family:Consolas,monospace;font-variant-numeric:tabular-nums;font-size:1.25rem;padding:4px 12px;border-radius:var(--radius);border:1px solid var(--border);color:var(--dim)}.player-row.active{border-color:var(--seal)}.player-row.active .clock{border-color:var(--seal);color:var(--seal-2);background:var(--tint);font-weight:700}.stone-dot{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:0 1px 2px #0000004d}.stone-dot.black{background:#000}.stone-dot.white{background:#fdfdfa;border:1.5px solid #2c2820}.invite-box{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px dashed var(--seal);border-radius:var(--radius);background:var(--tint)}.invite-box .code{flex:1;font-family:Consolas,monospace;font-size:1.5rem;letter-spacing:.24em;color:var(--seal-2);font-weight:700;text-align:center}.invite-box button{margin:0;white-space:nowrap;flex:none}.player-row.empty{border-style:dashed;color:var(--dim)}.player-row.empty .name{font-weight:400;color:var(--dim)}.game-side .stake-chip{width:100%;justify-content:center;height:36px;border-radius:var(--radius)}.card.game{position:relative}.board-result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#201f1d59;border-radius:inherit;cursor:pointer}.board-result-overlay .bro-card{background:var(--panel-2);border:2px solid var(--seal);border-radius:var(--radius);padding:14px 22px;font-weight:700;font-size:1.05rem;color:var(--ink);box-shadow:0 8px 30px #0000004d;text-align:center;max-width:90%;display:flex;flex-direction:column;gap:4px}.board-result-overlay .bro-hint{font-weight:400;font-size:.72rem;color:var(--dim)}.card.game .actions{margin:10px 4px 4px;display:flex;gap:8px}.card.game .actions button{flex:1;margin:0;min-width:0}@media(max-width:860px){.lobby{grid-template-columns:minmax(0,1fr)}.lobby-main,.lobby-side{min-width:0}.lobby .card{min-width:0;max-width:100%}input,select,textarea{font-size:16px}.card.game,.board{padding:3px}.game-layout:not(.in-play){flex-direction:column;align-items:center}.game-layout:not(.in-play)>.game-side{flex:none;width:var(--board-card-w);max-width:100%;min-width:0}.game-layout.in-play{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;grid-template-areas:"stakebar" "clocks" "board" "controls";justify-items:center;gap:12px}.game-layout.in-play>.player-bar,.game-layout.in-play>.game-side{width:var(--board-card-w);max-width:100%;min-width:0}.game-layout.in-play>.player-bar{flex-direction:row;gap:8px}.game-layout.in-play>.player-bar .player-row{flex:1;min-width:0;padding:8px 10px}.game-layout.in-play>.player-bar .player-row .clock{font-size:1.05rem;padding:3px 8px}}label:has(>.field-name){display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px;margin:8px 0}label:has(>.field-name) input{width:100%;margin:0}label:has(>.field-name)+button{margin:2px 0 0 106px;width:calc(100% - 106px)}
