@layer tokens,base,layout,components,features,responsive,utilities;@layer tokens{:root{--bg-main: #F6F1E8;--bg-soft: #EFE7DA;--bg-card: #FFF9F0;--bg-board: #FAF5EC;--surface-1: #FFFDF8;--surface-2: #F3EBDD;--surface-3: #E8DDCC;--border-light: #D8CCB8;--border-medium: #C2B49C;--text-primary: #3A342D;--text-secondary: #6B6256;--text-muted: #928878;--player1: #D97757;--player1-soft: rgba(217,119,87,.18);--player2: #6E8B5B;--player2-soft: rgba(110,139,91,.18);--grid-line: #BFAF97;--grid-dot: #7A6D5A;--grid-hover: #D97757;--success: #6E8B5B;--danger: #C65D4B;--warning: #D9A441;--shadow-soft: 0 6px 18px rgba(72, 54, 34, .1);--shadow-card: 0 12px 24px rgba(72, 54, 34, .12)}}@layer base{html,body{height:100%}*{box-sizing:border-box}.hidden{display:none!important}body{margin:0;color:var(--text-primary);font-family:Avenir Next,Nunito,Segoe UI,sans-serif;background:radial-gradient(900px 560px at 100% 0%,rgba(232,221,204,.45),transparent 60%),radial-gradient(760px 520px at 0% 100%,rgba(243,235,221,.45),transparent 58%),var(--bg-main);overflow-x:hidden}.match-page{overflow:hidden}.wrap{width:min(1320px,100%);margin:0 auto;padding:clamp(12px,1.8vw,18px)}h1{font-size:clamp(1.7rem,3.4vw,2.45rem);margin:0;letter-spacing:.02em;text-transform:uppercase}.muted{color:var(--text-secondary)}}@layer features{.brand-title{display:inline-flex;align-items:center;gap:10px;margin:0}.brand-icon{width:38px;height:38px;display:block;border-radius:10px;box-shadow:0 0 0 1px #c2b49ccc,0 4px 10px #48362226}.brand-wordmark{display:inline-block;font-size:clamp(1.65rem,3.4vw,2.3rem);font-weight:900;line-height:1;letter-spacing:.035em;color:var(--text-primary)}.whoami{margin:0 0 8px;color:var(--text-secondary);font-weight:700;min-height:26px;display:inline-flex;align-items:center;gap:8px}.whoami.auth-loading{color:var(--text-muted)}.whoami.auth-error{color:var(--danger)}.auth-spinner{width:20px;height:20px;border-radius:8px;display:inline-grid;place-items:center;background:var(--surface-1);border:1px solid var(--border-light);box-shadow:0 1px 4px #4836221a}.auth-spinner-logo{width:14px;height:14px;display:block;animation:authSpin 1.25s linear infinite}@keyframes authSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body.auth-pending #lobbyScreen{min-height:calc(100svh - 160px);display:grid;place-items:center}body.web-auth-choice-open #lobbyScreen{display:none!important}body.auth-pending .hud,body.auth-pending .mode-tabs-panel,body.auth-pending .lobby-card,body.auth-pending .lobby-main>h2,body.auth-pending .howto-pills,body.auth-pending #multiplayerGate,body.auth-pending #gameScreen{display:none!important}body.auth-pending .tutorial-card{border:0;box-shadow:none;background:transparent;width:min(520px,92vw);min-height:220px;display:grid;place-items:center}body.auth-pending .whoami.auth-loading{margin:0;font-size:1rem}body.auth-pending .auth-spinner{width:34px;height:34px;border-radius:12px}body.auth-pending .auth-spinner-logo{width:24px;height:24px}.panel{background:linear-gradient(180deg,var(--surface-1),var(--surface-2));border:1px solid var(--border-light);border-radius:16px;padding:14px;box-shadow:var(--shadow-card)}.lobby-screen{display:grid;gap:10px}.mode-tabs-panel{--lobby-tab-min-height: 280px;padding:10px 12px 12px}.mode-tabs{display:flex;background:var(--surface-2);border-radius:12px;padding:3px;gap:4px}.mode-tab{flex:1 1 0;min-width:0;padding:7px 12px;border-radius:9px;border:0;background:transparent;box-shadow:none}.mode-tab>span:not(.tab-ico){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-tab.active{background:var(--surface-1);border:1px solid var(--border-light)}.solo-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light);display:grid;gap:10px;min-height:var(--lobby-tab-min-height)}.solo-left,.solo-right{min-width:0}.stats-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light);min-height:var(--lobby-tab-min-height)}.solo-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.solo-stats-locked-panel{grid-column:1 / -1;display:grid;gap:10px;align-content:center;min-height:112px;padding:14px;border:1px dashed rgba(194,180,156,.72);border-radius:12px;background:#fffdf8ad;color:var(--text-secondary);text-align:center}.solo-stats-locked-panel strong{color:var(--text-primary);font-size:1rem;font-weight:900}.solo-stats-locked-panel p{max-width:540px;margin:0 auto;font-size:.84rem;line-height:1.35}.solo-stats-locked-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:420px;width:100%;margin:0 auto}.solo-stats-locked-actions .web-auth-provider-btn{min-height:38px;font-size:.7rem}.solo-record-card{display:grid;gap:8px;margin-top:2px;padding:8px;border:1px solid rgba(216,204,184,.72);border-radius:12px;background:linear-gradient(180deg,#fffdf8b8,#f6efe594);box-shadow:0 1px #ffffffa8 inset}.solo-stats-wrap,.solo-history-wrap{min-width:0}.badges-panel{display:grid;min-width:0}.achievement-profile-card{display:grid;gap:12px;min-height:100%;align-content:start;padding:10px;border:1px solid rgba(216,204,184,.72);border-radius:12px;background:linear-gradient(180deg,#fffdf8c2,#f6efe58a);box-shadow:inset 0 1px #ffffff8c}.badge-overview{display:grid;min-width:0}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;min-width:0;width:100%}.badge-token{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;min-height:44px;padding:5px;border:1px solid var(--border-light);border-radius:12px;background:#fffdf8c2;color:var(--text-muted);box-shadow:0 1px #ffffffad inset}.badge-token.unlocked{color:var(--text-primary);border-color:#c2b49ce0;background:linear-gradient(180deg,#fff4e7,#f2dfc8)}.badge-token.locked{opacity:.58;filter:grayscale(.72)}.badge-token.selected{outline:2px solid rgba(72,54,34,.46);outline-offset:2px}.badge-token-icon{font-size:1.2rem;font-weight:900;line-height:1}.badge-token-progress{position:absolute;left:6px;right:6px;bottom:5px;height:3px;overflow:hidden;border-radius:999px;background:#4836221f}.badge-token-progress span{display:block;height:100%;border-radius:inherit;background:var(--success)}.badge-detail{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:9px 10px;border:1px solid var(--border-light);border-radius:12px;background:#fffdf8a8}.badge-detail-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f2dfc8;color:var(--text-primary);font-size:1.9rem;font-weight:900}.badge-detail>div{display:grid;gap:2px;min-width:0}.badge-detail strong{min-width:0;overflow:hidden;color:var(--text-primary);font-size:.9rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.badge-detail span,.badge-detail em{color:var(--text-secondary);font-size:.78rem;font-weight:700;font-style:normal}.badge-detail-icon{font-size:1.2rem!important;font-weight:900!important}.badge-detail span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-detail em{color:var(--text-muted)}.badge-locked{display:grid;gap:10px;justify-items:center;padding:18px 14px;color:var(--text-secondary);text-align:center}.badge-locked strong{color:var(--text-primary);font-size:.98rem;font-weight:900}.badge-locked span:not(.badge-big-icon){max-width:420px;font-size:.82rem;line-height:1.35}.badge-locked-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:420px;width:100%;margin-top:2px}.badge-locked-actions .web-auth-provider-btn{min-height:38px;font-size:.7rem}.badge-big-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f2dfc8d1;font-size:1.2rem}.solo-stat-chip{min-width:0;border:1px solid var(--border-light);border-radius:10px;padding:6px 7px;background:#fffdf8b8;box-shadow:0 1px #ffffffb8 inset;display:grid;grid-template-rows:auto auto;gap:2px}.solo-stat-chip strong{margin-top:0;color:var(--text-primary);font-size:.96rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solo-stat-chip.streak-positive strong{color:var(--success);text-shadow:0 0 12px rgba(110,139,91,.2)}.solo-stat-chip.solo-stat-locked strong{color:var(--text-muted)}.solo-stat-chip span{color:var(--text-muted);font-size:.64rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solo-history{display:grid;gap:5px;padding-top:2px}.solo-history-title{color:var(--text-muted);font-size:.68rem;font-weight:700}.solo-history-empty{padding:10px 8px;border-radius:10px;border:1px dashed rgba(194,180,156,.55);background:#fffdf899;color:var(--text-muted);font-size:.78rem}.solo-history-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:5px 7px;border-radius:8px;background:#fffdf89e;color:var(--text-secondary);font-size:.74rem}.solo-history-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solo-history-row strong{color:var(--text-primary);font-size:.78rem}.solo-history-result{font-weight:800}.solo-history-replay-btn{min-height:26px;padding:4px 7px;border-radius:8px;color:var(--text-primary);background:#ffffff9e;border-color:#c2b49c94;box-shadow:inset 0 0 0 1px #ffffff57;font-size:.68rem;font-weight:800}.solo-history-replay-btn:hover:not(:disabled){background:#ffffffd1}.solo-history-row.win .solo-history-result{color:var(--success)}.solo-history-row.loss .solo-history-result{color:var(--danger)}.solo-history-row.draw .solo-history-result{color:var(--text-muted)}.solo-live-card{display:grid;gap:6px;padding:8px;border:1px solid var(--border-light);border-radius:12px;background:#fffdf8a8}.solo-live-card h3{margin:0;color:var(--text-muted);font-size:.72rem;font-weight:700}.solo-live-list{display:grid;gap:5px}.solo-live-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;font-size:.76rem}.solo-live-name{min-width:0;overflow:hidden;color:var(--text-primary);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.solo-live-meta{color:var(--text-muted);font-size:.7rem;text-transform:capitalize}.solo-live-watch{min-height:28px;padding:4px 10px;font-size:.72rem}.tutorial-card{padding-bottom:12px}.lobby-card{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light);min-height:var(--lobby-tab-min-height)}.multi-left,.multi-right{min-width:0}@media(min-width:900px){.solo-panel{grid-template-columns:1.15fr .85fr;align-items:start;gap:12px 14px}.solo-left{display:flex;flex-direction:column;gap:10px;min-height:0}.solo-left #soloStartBtn{margin-top:auto}.solo-record-card.solo-right{height:auto;align-content:start}.solo-history-wrap .solo-history{max-height:220px;overflow:auto}.lobby-card{display:grid;grid-template-columns:1.05fr .95fr;align-items:start;gap:12px 14px}#multiplayerGate{grid-column:1 / -1}.multi-left{grid-column:1}.multi-right{grid-column:2;display:flex;flex-direction:column;gap:10px;min-height:0}.multi-right .lobby-side{margin-top:0}.multi-right .cta-row{grid-template-columns:1fr;margin-top:0}.multi-right .lobby-status-row{margin-top:auto}}.lobby-main h2{margin:4px 0 8px}.lobby-main ol{margin:6px 0 0 20px}.app-purpose{max-width:720px;margin:10px auto 0;padding:10px 12px;border:1px solid rgba(216,204,184,.72);border-radius:12px;background:#fffdf8a8;color:var(--text-secondary);text-align:left}.app-purpose h2{margin:0 0 6px;color:var(--text-primary);font-size:.96rem;line-height:1.2}.app-purpose p{margin:6px 0 0;font-size:.78rem;line-height:1.35}.app-purpose a{color:#5c7f78;font-weight:800}.lobby-side{border:1px solid var(--border-light);border-radius:14px;padding:8px;background:linear-gradient(180deg,#fbf6ee,#f2e9dc)}.lobby-head{display:flex;justify-content:space-between;align-items:center}.lobby-head h3{margin:0;font-size:1rem}.ready-pill{border-radius:9px;padding:4px 10px;font-size:.78rem;border:1px solid var(--border-medium);background:#fff8ee;color:var(--text-secondary)}.mode-toggle{display:inline-flex;flex:0 0 auto;gap:2px;padding:2px;border:1px solid var(--border-light);border-radius:9px;background:#fffdf8b8;box-shadow:0 1px #ffffffb8 inset;width:100%}.mode-choice{min-height:32px;min-width:0;padding:5px 9px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);box-shadow:none;text-align:center;font:inherit;font-size:.78rem;font-weight:700;flex:1 1 0}.mode-choice.active{color:var(--text-primary);background:linear-gradient(180deg,#fff4e7,#f2dfc8);box-shadow:0 1px #ffffffbf inset,0 3px 9px #48362214}.match-settings{min-width:0;border:1px solid var(--border-light);border-radius:9px;background:#fffdf88a;transition:background .16s ease,box-shadow .16s ease,border-color .16s ease}.match-settings summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:6px 9px;color:var(--text-secondary);font-size:.82rem;font-weight:700;list-style:none}.match-settings summary::-webkit-details-marker{display:none}.match-settings summary:after{content:"";flex:0 0 auto;width:5px;height:5px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .15s ease}.match-settings[open] summary:after{transform:rotate(225deg)}.match-settings-summary{margin-left:auto;color:var(--text-muted);font-size:.76rem;font-weight:700;white-space:nowrap}.match-pool-selector{margin-bottom:8px}.multiplayer-options{display:grid;grid-template-columns:1fr;gap:7px;padding:0 10px 10px}.config-group{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;width:100%;min-width:0}.config-label{flex:0 0 auto;font-size:.9rem;color:var(--text-secondary);font-weight:700}.segmented-control{display:flex;justify-content:stretch;gap:4px;flex-wrap:nowrap;min-width:0;width:100%}.segmented-control.connected{gap:0;padding:2px;border:1px solid var(--border-light);border-radius:10px;background:#fffdf8b8;box-shadow:0 1px #ffffffb8 inset}.segmented-control.connected .setting-chip{border:0;border-radius:8px;box-shadow:none;background:transparent}.segmented-control.connected .setting-chip.active{background:linear-gradient(180deg,#fff4e7,#f2dfc8)}.mode-toggle .mode-choice.active{background:linear-gradient(180deg,#fff4e7,#f2dfc8)!important;box-shadow:0 1px #ffffffbf inset,0 3px 9px #48362214;color:var(--text-primary)}.setting-chip,.team-cycle{width:auto;flex:1 1 0;min-height:32px;padding:5px 9px;border-radius:9px;border:1px solid var(--border-medium);background:#fff8eee6;color:var(--text-primary);font:inherit;font-size:.78rem;text-align:center}.team-cycle{max-width:96px!important}.setting-chip.active,.team-cycle.assigned{background:#f2dfc8;border-color:#d977574d;box-shadow:0 1px #ffffffb3 inset}.setting-chip:disabled,.team-cycle:disabled{opacity:.78}.lobby{margin:8px 0;padding:8px;border:1px solid var(--border-light);border-radius:12px;background:var(--surface-1)}#lobbyList{display:grid;gap:8px}.lobby-row{display:flex;justify-content:space-between;align-items:center;padding:8px;border-radius:10px;background:#fffdf8f2}.lobby-row.lobby-placeholder{border:1px dashed rgba(194,180,156,.65);background:#fffdf8b3;color:var(--text-muted)}.lobby-avatar-wrap.lobby-avatar-placeholder{display:inline-grid;place-items:center;color:#928878f2;font-weight:800;font-size:.9rem}.lobby-row .pill{padding:4px 8px;border-radius:9px;font-size:.8rem;border:1px solid var(--border-medium);color:var(--text-secondary)}.host-marker{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid rgba(217,119,87,.28);background:#f2dfc8;color:var(--text-primary);font-size:.68rem;font-weight:900;line-height:1;box-shadow:0 1px #ffffffb8 inset}button{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border-medium);background:linear-gradient(180deg,#f7ece0,#ebddca);color:var(--text-primary);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;cursor:pointer;transition:transform .08s ease,filter .12s ease,box-shadow .12s ease}button:hover:not(:disabled){filter:brightness(1.02);box-shadow:0 0 0 1px #c2b49ca6 inset}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.56;cursor:not-allowed}.cta-row{display:grid;grid-template-columns:1.25fr .85fr;gap:8px;align-items:stretch;margin-top:8px}.btn-primary{background:linear-gradient(90deg,#e8b49e,#d98a6d);color:#2f2721;box-shadow:0 0 0 1px #d9775752 inset,0 6px 14px #d9775738}.btn-secondary{background:linear-gradient(180deg,#f6efe4,#ebdfce);color:var(--text-primary);border-color:var(--border-medium);font-size:.92rem;font-weight:700}.support-link-inline{display:inline-block;font-size:.82rem;color:var(--text-secondary);text-decoration:none;border-bottom:1px dashed var(--border-medium);padding-bottom:1px;margin-top:8px}.support-link-inline:hover{color:var(--text-primary)}.legal-link-row{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;color:var(--text-secondary);font-size:.78rem}.legal-link{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid rgba(139,126,107,.38)}.legal-link:hover{color:var(--text-primary);border-bottom-color:var(--border-medium)}.hud{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.tags{position:relative}.tags>span{padding:6px 10px;border-radius:9px;background:var(--surface-1);border:1px solid var(--border-light);font-size:.84rem;color:var(--text-secondary)}.audio-toggle{width:auto;min-width:100px;padding:6px 12px;border-radius:9px;border:1px solid var(--border-light);background:var(--surface-1);color:var(--text-secondary);font-size:.84rem;font-weight:700;box-shadow:none}.audio-toggle:hover:not(:disabled){box-shadow:none;background:#fffaf1}.audio-toggle.icon-only{min-width:0;width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:0;position:relative;border-radius:10px;line-height:1;text-align:center}.audio-toggle.icon-only .icon-glyph{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:1;transform:translateY(0)}.audio-icon-svg{display:block;width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.audio-icon-svg path:not(:first-child){fill:none}.tutorial-icon-svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.settings-panel{position:absolute;right:0;top:calc(100% + 8px);width:240px;padding:10px;border-radius:12px;border:1px solid var(--border-light);background:var(--surface-1);box-shadow:var(--shadow-soft);z-index:25}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--text-primary)}.settings-close-btn{min-width:0;width:38px;height:38px;padding:0;border-radius:10px;font-size:0;line-height:1}.settings-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 2px;color:var(--text-secondary);font-size:.9rem}.settings-profile-section{display:grid;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid var(--border-light)}.settings-profile-head{color:var(--text-primary);font-size:.84rem;font-weight:800}.settings-profile-field{display:grid;gap:5px;color:var(--text-secondary);font-size:.72rem;font-weight:700}.settings-profile-field input{width:100%;min-height:34px;border:1px solid var(--border-light);border-radius:8px;padding:0 9px;color:var(--text-primary);background:#fffdf8c7;font:inherit;font-size:.86rem;outline:none}.settings-profile-field input:focus{border-color:var(--player1);box-shadow:0 0 0 3px #d9775724}.settings-profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.settings-profile-save-btn,.settings-profile-logout-btn{min-width:0;padding:7px 8px;font-size:.78rem}.settings-profile-save-btn{border-color:#307f666b;background:#307f661f;color:#2f6f5c}.settings-profile-save-btn:hover:not(:disabled){background:#307f662e}.settings-profile-logout-btn{border-color:#b44c4161;background:#b44c411a;color:#9f3f36}.settings-profile-logout-btn:hover:not(:disabled){background:#b44c4129}.settings-level-btn{min-width:74px;padding:5px 8px}.board-wrap{position:relative;border:none;border-radius:16px;background:linear-gradient(180deg,#fffaf1,var(--bg-board));min-height:0;margin-top:2rem;padding:4rem;overflow:hidden;box-shadow:none}.score-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.match-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:6px}.action-confirm-pie{width:18px;height:18px;border-radius:50%;display:inline-block;flex:0 0 auto;background:conic-gradient(var(--warning) var(--deg),rgba(107,98,86,.18) 0deg);border:1px solid rgba(217,164,65,.4)}.match-actions.confirm-pass .match-rewind-btn,.match-actions.confirm-pass .match-resign-btn,.match-actions.confirm-pass .match-confirm-resign-btn,.match-actions.confirm-rewind .match-pass-btn,.match-actions.confirm-rewind .match-resign-btn,.match-actions.confirm-rewind .match-confirm-resign-btn,.match-actions.confirm-resign .match-pass-btn,.match-actions.confirm-resign .match-rewind-btn,.match-actions.confirm-resign .match-resign-btn{display:none!important}.match-actions.confirm-pass .match-pass-btn,.match-actions.confirm-rewind .match-rewind-btn,.match-actions.confirm-resign .match-confirm-resign-btn{flex:1 1 auto;min-width:0}.match-pass-btn,.match-rewind-btn,.match-resign-btn,.match-confirm-resign-btn{width:auto;min-width:96px;padding:6px 10px;font-size:.82rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;vertical-align:middle}.match-pass-btn.confirming,.match-rewind-btn.confirming,.match-resign-btn.confirming,.match-confirm-resign-btn{border-color:var(--warning);box-shadow:0 0 0 1px #d9a4414d inset}.btn-label{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1}}@layer features{.first-run-tutorial{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 18px) 18px calc(env(safe-area-inset-bottom,0px) + 18px)}.first-run-tutorial.hidden{display:none!important}body.tutorial-open{overflow:hidden}.web-profile-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 18px) 18px calc(env(safe-area-inset-bottom,0px) + 18px)}.web-profile-modal.hidden{display:none!important}body.web-profile-open{overflow:hidden}.web-profile-scrim{position:absolute;inset:0;background:#2a231c75}.web-profile-dialog{position:relative;width:min(390px,100%);display:grid;gap:16px;padding:22px;border:1px solid rgba(194,180,156,.82);border-radius:16px;background:#fffdf8fa;box-shadow:0 22px 56px #2a231c3d}.web-profile-dialog.auth-choice{width:min(420px,100%);gap:16px;padding:24px}.web-profile-hero{display:flex;align-items:center;justify-content:center;gap:12px}.web-profile-brand{display:flex;align-items:center;color:var(--text-primary);font-weight:900;letter-spacing:0;text-transform:uppercase;font-size:clamp(1.35rem,2.3vw,1.85rem);gap:8px}.web-profile-mark{width:30px;height:30px;border-radius:8px;box-shadow:0 0 0 1px #c2b49ccc,0 4px 10px #48362226}.web-profile-main{display:grid;gap:12px}.web-profile-dialog h2{margin:0;font-size:1.35rem}.web-profile-dialog.auth-choice #webProfileTitle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.web-profile-dialog.auth-choice .web-profile-copy{margin-top:0}.web-profile-copy{margin:6px 0 0;color:var(--text-secondary);font-size:.98rem;line-height:1.45;text-align:center}.web-profile-field{display:grid;gap:6px;color:var(--text-secondary);font-size:.78rem;font-weight:700}.web-profile-field input{width:100%;min-height:44px;border:1px solid rgba(194,180,156,.92);border-radius:8px;padding:0 12px;color:var(--text-primary);background:#ffffffdb;font:inherit;font-size:1rem;outline:none}.web-profile-field input:focus{border-color:var(--player1);box-shadow:0 0 0 3px #d9775729}.web-profile-dialog .btn-primary{width:100%}.web-profile-divider{position:relative;height:1px;background:#c2b49c9e;text-align:center;margin:5px 0}.web-profile-divider span{position:relative;top:-9px;padding:0 8px;color:var(--text-secondary);background:#fffdf8fa;font-size:.75rem}.web-profile-auth-actions{display:grid;gap:8px}.web-profile-dialog.auth-choice .web-profile-auth-actions{width:100%}.web-profile-dialog.auth-choice .web-profile-field,.web-profile-dialog.auth-choice .btn-primary,.web-profile-dialog.name-choice .web-profile-brand span,.web-profile-dialog.name-choice .web-profile-brand:after,.web-profile-dialog.name-choice .web-profile-divider,.web-profile-dialog.name-choice .web-profile-auth-actions{display:none}.web-profile-legal{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:.78rem}.web-profile-legal a{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid rgba(139,126,107,.38)}.web-profile-legal a:hover{color:var(--text-primary);border-bottom-color:var(--border-medium)}.web-auth-provider-btn{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:4px;padding:0 12px;font-size:.88rem;font-weight:700;line-height:1.25;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.web-auth-provider-btn:hover{transform:translateY(-1px)}.web-auth-provider-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #5d78ff42}.web-auth-provider-icon{width:18px;height:18px;display:inline-flex;flex:0 0 18px;align-items:center;justify-content:center}.web-auth-provider-icon svg{width:18px;height:18px;display:block}.web-auth-provider-discord{background:#5865f2;border-color:#5865f2;color:#fff}.web-auth-provider-discord:hover{background:#4752c4;border-color:#4752c4}.web-auth-provider-discord .web-auth-provider-icon svg{fill:currentColor}.web-auth-provider-google{background:#fff;border-color:#747775;color:#1f1f1f;font-family:Roboto,Arial,sans-serif;font-weight:500}.web-auth-provider-google:hover{background:#f8fafd;border-color:#747775}.web-auth-provider-guest{background:#f08b563d;border-color:#d9775794;color:var(--text-primary);font-weight:900}.web-auth-provider-guest:hover{background:#f08b5652}.web-login-btn{width:auto;padding:0 10px;font-size:.76rem;font-weight:700}@media(max-width:520px){.web-profile-dialog.auth-choice{width:min(390px,100%);max-height:100%;overflow:auto}}.tutorial-scrim{position:absolute;inset:0;border:0;background:radial-gradient(520px 360px at 50% 28%,rgba(255,249,240,.3),transparent 72%),#2a231c61}.tutorial-dialog{position:relative;width:min(440px,100%);max-height:min(620px,100%);display:grid;gap:14px;padding:18px;overflow:auto;overscroll-behavior:contain;border:1px solid rgba(194,180,156,.82);border-radius:18px;background:linear-gradient(180deg,#fffdf8fa,#f6efe5fa);box-shadow:0 22px 56px #2a231c3d,0 1px #ffffffb8 inset}.tutorial-dialog:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:radial-gradient(circle,rgba(122,109,90,.55) 1px,transparent 1.5px);background-size:18px 18px;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}.tutorial-close{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border:1px solid rgba(216,204,184,.84);border-radius:11px;background:#fffdf8e0;color:var(--text-secondary)}.tutorial-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.tutorial-demo{position:relative;min-height:164px;border:1px solid rgba(216,204,184,.68);border-radius:15px;background:radial-gradient(180px 110px at 52% 42%,rgba(217,119,87,.1),transparent 70%),linear-gradient(180deg,#f3ebddc7,#fffdf88f);box-shadow:0 1px #ffffffb8 inset,0 10px 22px #48362214}.tutorial-demo-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--grid-dot);box-shadow:0 0 0 4px #fffdf8d1,0 2px 4px #4836222e}.tutorial-demo-dot-1{left:26%;top:28%}.tutorial-demo-dot-2{left:50%;top:28%}.tutorial-demo-dot-3{left:74%;top:28%}.tutorial-demo-dot-4{left:26%;top:68%}.tutorial-demo-dot-5{left:50%;top:68%}.tutorial-demo-dot-6{left:74%;top:68%}.tutorial-demo-box{position:absolute;left:calc(26% + 5px);top:calc(28% + 5px);width:calc(24% - 1px);height:calc(40% - 1px);border-radius:7px;background:#d9775700;transform:scale(.96);transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.tutorial-demo[data-step="2"] .tutorial-demo-box{background:#d9775733;box-shadow:0 0 0 1px #d9775738 inset;transform:scale(1)}.tutorial-demo-edge{position:absolute;display:block;border:0;border-radius:999px;background:var(--grid-line);transition:opacity .16s ease,transform .16s ease,background .16s ease,box-shadow .16s ease}.tutorial-demo-edge-a,.tutorial-demo-edge-c{left:calc(26% + 5px);width:calc(24% - 1px);height:6px;transform:translateY(-50%)}.tutorial-demo-edge-a{top:calc(28% + 5px)}.tutorial-demo-edge-c{top:calc(68% + 5px)}.tutorial-demo-edge-b{left:calc(26% + 5px);top:calc(28% + 5px);width:6px;height:40%;transform:translate(-50%)}.tutorial-demo-edge-a,.tutorial-demo-edge-b,.tutorial-demo-edge-c{opacity:0}.tutorial-demo[data-step="1"] .tutorial-demo-edge-a,.tutorial-demo[data-step="1"] .tutorial-demo-edge-b,.tutorial-demo[data-step="1"] .tutorial-demo-edge-c,.tutorial-demo[data-step="2"] .tutorial-demo-edge-a,.tutorial-demo[data-step="2"] .tutorial-demo-edge-b,.tutorial-demo[data-step="2"] .tutorial-demo-edge-c{opacity:1;background:#8fb6e9}.tutorial-demo-edge-action{background:var(--player1);cursor:pointer;box-shadow:0 0 0 6px #d9775726,0 0 18px #d9775738;animation:tutorialLinePulse 1.3s ease-in-out infinite}.tutorial-demo-edge-action:after{content:"";position:absolute;inset:-12px;border:2px solid rgba(217,119,87,.24);border-radius:999px}.tutorial-demo[data-step="0"] .tutorial-demo-edge-action{left:calc(50% + 5px);top:calc(28% + 5px);width:calc(24% - 1px);height:8px;transform:translateY(-50%)}.tutorial-demo[data-step="1"] .tutorial-demo-edge-action,.tutorial-demo[data-step="2"] .tutorial-demo-edge-action{left:calc(50% + 5px);top:calc(28% + 5px);width:8px;height:40%;transform:translate(-50%)}.tutorial-demo[data-step="2"] .tutorial-demo-edge-action{cursor:default;animation:none;box-shadow:none}.tutorial-demo-callout{position:absolute;z-index:2;display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgba(217,119,87,.32);border-radius:999px;background:#fffdf8f0;color:var(--text-primary);font-size:.74rem;font-weight:800;line-height:1;box-shadow:0 5px 14px #4836221f,0 1px #ffffffb8 inset;pointer-events:none;transition:left .18s ease,top .18s ease,transform .18s ease}.tutorial-demo-callout:after{content:"";position:absolute;left:50%;bottom:-7px;width:10px;height:10px;border-right:1px solid rgba(217,119,87,.32);border-bottom:1px solid rgba(217,119,87,.32);background:#fffdf8f0;transform:translate(-50%) rotate(45deg)}.tutorial-demo[data-step="0"] .tutorial-demo-callout{left:56%;top:10%;transform:translate(-50%)}.tutorial-demo[data-step="1"] .tutorial-demo-callout{left:57%;top:43%;transform:translateY(-50%)}.tutorial-demo[data-step="1"] .tutorial-demo-callout:after{left:-4px;right:auto;bottom:50%;transform:translateY(50%) rotate(135deg)}.tutorial-demo[data-step="2"] .tutorial-demo-callout{left:38%;top:47%;border-color:#6e8b5b57;color:var(--success);transform:translate(-50%,-50%)}.tutorial-demo[data-step="2"] .tutorial-demo-callout:after{display:none}.tutorial-copy{position:relative;z-index:1;display:grid;gap:5px}.tutorial-kicker{margin:0;color:var(--text-muted);font-size:.72rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.tutorial-copy h2{margin:0;font-size:clamp(1.35rem,3.2vw,1.65rem);line-height:1.1}.tutorial-copy p:last-child{margin:0;color:var(--text-secondary);font-size:.96rem;line-height:1.45}.tutorial-progress{position:relative;z-index:1;display:inline-flex;justify-content:center;gap:7px}.tutorial-progress-dot{width:7px;height:7px;border-radius:50%;background:#92887852}.tutorial-progress-dot.active{width:18px;border-radius:999px;background:var(--player1)}.tutorial-actions{position:relative;z-index:1;display:grid;grid-template-columns:.78fr 1.22fr;gap:8px}.tutorial-actions .btn-primary,.tutorial-actions .btn-secondary{min-height:44px}@keyframes tutorialLinePulse{0%,to{box-shadow:0 0 0 5px #d977571f,0 0 16px #d977572e}50%{box-shadow:0 0 0 9px #d9775733,0 0 22px #d9775747}}@media(max-width:560px){.first-run-tutorial{align-items:end;padding:calc(env(safe-area-inset-top,0px) + 14px) 12px calc(env(safe-area-inset-bottom,0px) + 14px)}.tutorial-dialog{padding:14px;border-radius:16px;gap:11px}.tutorial-demo{min-height:136px}}@media(prefers-reduced-motion:reduce){.tutorial-demo-edge-action{animation:none}}}@layer features{.board-canvas{position:relative;width:100%;max-width:920px;aspect-ratio:1 / 1;height:auto;margin:4px auto 0}.dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--grid-dot);box-shadow:0 0 0 1px #ffffff8c;transform:translate(-50%,-50%)}.edge{position:absolute;cursor:pointer;border-radius:7px;background:#bfaf97b8;transition:background-color .12s ease,box-shadow .12s ease,opacity .12s ease}.edge.preview{opacity:.95;background:#d97757c2}.edge.h{height:9px;transform:translateY(-50%)}.edge.v{width:9px;transform:translate(-50%)}.edge.last-move{outline:3px solid rgba(58,52,45,.34);box-shadow:0 0 0 3px #ffffffb8,0 0 22px #d97757b8;filter:saturate(1.15) brightness(1.12);animation:lastMovePulse 1.05s ease-in-out 3}.edge.h.last-move{height:11px}.edge.v.last-move{width:11px}@keyframes lastMovePulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.25)}}.claimed{position:absolute;border-radius:10px;background-size:cover;background-position:center;overflow:hidden;animation:none}.claimed-new{animation:claimPulse .22s cubic-bezier(.22,.8,.29,1.2)}.claimed:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff9f026,#3a342d47)}@keyframes claimPulse{0%{transform:scale(.86);opacity:.3}to{transform:scale(1);opacity:1}}.turn-bonus{color:var(--warning);font-weight:700;text-shadow:0 0 8px rgba(217,164,65,.3)}.result-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#3a342d42}.result-overlay.hidden{display:none}.result-card{width:min(92%,420px);border:1px solid var(--border-medium);border-radius:16px;padding:18px;background:linear-gradient(180deg,#fffdf8,#f5ecde);text-align:center;box-shadow:var(--shadow-card)}.result-card h2{margin:0 0 8px}.result-card p{margin:0 0 14px;color:var(--text-secondary)}.score-card{min-width:0;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 8px;border-radius:12px;background:linear-gradient(180deg,#fffdf8,#f2e9db);border:2px solid var(--border-light)}.score-card-main{min-width:0;display:flex;align-items:center;gap:10px}.score-card-text{min-width:0}.score-card-text strong,.score-card-text p{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-count{flex:0 0 auto;min-width:64px;text-align:right;color:var(--text-secondary);font-size:.88rem;font-weight:800}.score-meta{display:inline-flex;align-items:center;gap:8px}.turn-timer{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--turn-color) 40%,var(--border-light) 60%);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--turn-color) 14%,#fffdf8 86%),color-mix(in srgb,var(--turn-color) 22%,#f2e9db 78%));color:var(--text-primary);font-size:.82rem;font-weight:850;font-variant-numeric:tabular-nums;line-height:1;box-shadow:0 1px #ffffffb8 inset,0 3px 8px color-mix(in srgb,var(--turn-color) 14%,transparent);--turn-color: var(--warning)}.turn-count{display:inline-block;min-width:2.1em;text-align:center}.turn-timer.urgent{border-color:#c65d4b6b;background:linear-gradient(180deg,#fff0e6,#efc6b3);color:#7d3529;animation:timerUrgentPulse .8s ease-in-out infinite}@keyframes timerUrgentPulse{0%,to{transform:scale(1);box-shadow:0 1px #ffffffb8 inset,0 3px 8px #c65d4b29}50%{transform:scale(1.04);box-shadow:0 1px #ffffffc7 inset,0 4px 12px #c65d4b42}}.score-card.active{box-shadow:0 0 0 1px #ffffffb3 inset,0 0 0 3px #d977572e}.active-turn-name{animation:activeNamePulse 1.15s ease-in-out infinite}@keyframes activeNamePulse{0%,to{opacity:1}50%{opacity:.44}}.status-banner{margin-top:6px;min-height:28px;border-radius:10px;padding:6px 10px;background:var(--surface-1);border:1px solid var(--border-light);color:var(--text-secondary);font-size:.9rem;text-align:center}.score-card img{width:30px;height:30px;border-radius:9px;object-fit:cover}.score-card p{margin:0;font-size:.85rem;color:var(--text-secondary)}.pass-used-badge{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border:1px solid rgba(194,180,156,.58);border-radius:999px;background:linear-gradient(180deg,#fff9f0eb,#eee2d0e0);color:#7b7061;font-size:.68rem;font-weight:800;line-height:1.35;vertical-align:1px}.resigned-badge{color:var(--danger);font-size:.78rem;font-weight:700}.disconnected-badge{color:#8a7f70;font-size:.78rem;font-weight:700}.disconnected-badge:before{content:"\26d4  ";font-size:.72rem}.match-shell{height:calc(100svh - 20px);max-height:calc(100svh - 20px);display:grid;grid-template-rows:auto auto auto 1fr auto;gap:4px;padding-top:6px;padding-bottom:6px;margin:5rem auto}:root{--bg-main: #f6f1e8;--bg-soft: #efe6d8;--bg-card: #fffaf1;--bg-board: #f7efe1;--surface-1: #fffdf8;--surface-2: #f6efdf;--surface-3: #ecdfca;--border-light: #d7c8b0;--text-primary: #342f29;--text-secondary: #62594e;--text-muted: #8f8476;--shadow-soft: 0 8px 20px rgba(75, 54, 35, .08);--shadow-card: 0 16px 32px rgba(75, 54, 35, .12)}.wrap{width:min(1220px,100%);padding:clamp(10px,1.4vw,16px)}.panel{border:1px solid color-mix(in srgb,var(--border-light) 55%,transparent);border-radius:18px;padding:14px;background:linear-gradient(180deg,var(--surface-1),var(--surface-2))}.lobby-screen{gap:8px}.tutorial-card{padding:12px 14px}.lobby-main h2{margin:2px 0 8px;font-size:1.2rem;line-height:1.1;text-align:center}.whoami{font-size:.9rem;min-height:22px;margin-bottom:6px}.howto-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.howto-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:8px 10px;font-size:.84rem;font-weight:700;color:var(--text-secondary);background:#ffffff85;box-shadow:inset 0 0 0 1px #d7c8b061}.lobby-side{border:none;border-radius:12px;padding:8px;background:#ffffff6b}.lobby{margin:8px 0 0;padding:8px;border:none;background:#ffffff8f}.lobby-row{border-radius:10px;background:#ffffffb8;padding:7px 9px}.lobby-row .pill,.ready-pill{border:none;background:#ffffffad;color:var(--text-secondary)}#status{margin:7px 0 0;font-size:.86rem;color:var(--text-muted)}.cta-row{gap:8px;margin-top:8px}button{border:none;min-height:42px;font-size:.9rem;letter-spacing:.01em;transition:transform .12s ease,box-shadow .14s ease,filter .14s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 18px #4b362324}button:active:not(:disabled){transform:translateY(0)}.btn-primary{background:linear-gradient(180deg,#e2ad94,#d48466);color:#2d241f;box-shadow:0 10px 18px #d2815f38}.btn-primary.ready-pulse{animation:readyPulse 1.7s ease-in-out infinite}@keyframes readyPulse{0%,to{box-shadow:0 10px 18px #d2815f2e}50%{box-shadow:0 0 0 5px #d2815f1a,0 10px 18px #d2815f38}}.btn-secondary{background:#ffffffad;color:var(--text-primary);box-shadow:inset 0 0 0 1px #c2b49c70}#gameScreen{min-height:0}.score-grid{gap:10px;margin-top:6px}.score-card{position:relative;border:none;border-radius:14px;background:#ffffffa3;padding:8px 10px;box-shadow:inset 0 0 0 1px #d7c8b06b}.score-card:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:9px;background:color-mix(in srgb,var(--player-color, #d7c8b0) 80%,white 20%);opacity:.75}.score-card.active{box-shadow:inset 0 0 0 1px #d7c8b059,0 0 0 4px color-mix(in srgb,var(--player-color, #d7c8b0) 18%,transparent)}.score-count{color:var(--text-primary);font-size:.84rem}.score-bump{animation:scorePop .35s ease}@keyframes scorePop{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}.match-actions{margin-top:8px;margin-bottom:4px}.status-banner{border:none;background:#fff9;color:var(--text-secondary);font-size:.86rem;min-height:30px;display:flex;align-items:center;justify-content:center;padding:7px 10px;box-shadow:inset 0 0 0 1px #d7c8b066}.status-banner.bonus{animation:bonusToastIn .24s ease-out}.turn-bonus{color:#a1722f;font-weight:800;text-shadow:none}.thinking-dots{display:inline-block;width:1.4em;overflow:hidden;vertical-align:bottom;animation:thinkingDots 1.1s steps(4,end) infinite}@keyframes thinkingDots{0%{width:0}to{width:1.4em}}@keyframes bonusToastIn{0%{transform:translateY(-5px);opacity:.55}to{transform:translateY(0);opacity:1}}.board-wrap{margin-top:10px;padding:clamp(14px,2vw,26px);border-radius:18px;background:linear-gradient(180deg,#fffaf1,#f8efe1);box-shadow:inset 0 0 0 1px #d7c8b06b}.board-canvas{margin-top:0}.edge{transition:background-color .11s ease,box-shadow .14s ease,opacity .12s ease,transform 80ms ease}.edge.preview{opacity:.98;box-shadow:0 0 0 2px #ffffff61,0 0 10px #d977577a}.claimed{animation:none}.claimed-new{animation:claimPulse .22s cubic-bezier(.22,.8,.29,1.2)}.result-overlay{background:#342f2940;backdrop-filter:blur(2px)}.result-card{position:relative;display:grid;gap:10px;border:none;border-radius:18px;background:linear-gradient(180deg,#fffdf8,#f4ebdc);box-shadow:0 28px 55px #4b36233d;padding:20px;animation:modalIn .22s ease-out;overflow:hidden}.result-card:before{content:"";position:absolute;inset:-30% -20% auto;height:80px;background:radial-gradient(circle,rgba(255,255,255,.7),transparent 65%);animation:confettiShimmer 1.2s ease-out}@keyframes modalIn{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes confettiShimmer{0%{transform:translateY(-24px);opacity:0}30%{opacity:1}to{transform:translateY(0);opacity:0}}.result-card h2{font-size:1.35rem;font-weight:900;color:var(--text-primary)}.result-card p{font-size:.9rem;margin:0 0 2px;color:var(--text-muted)}.result-replay-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-guest-save-prompt{display:grid;gap:9px;border:1px solid rgba(210,196,174,.78);border-radius:12px;padding:11px;background:#fffaf1b8}.result-guest-save-prompt.hidden{display:none!important}.result-guest-save-prompt p{margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.35}.result-achievement-summary{margin:0 0 14px;padding:10px 12px;border:1px solid rgba(210,196,174,.78);border-radius:8px;background:#fffaf1b8;color:var(--text-secondary);font-size:.9rem;line-height:1.35}.result-achievement-summary strong{color:var(--text-primary);font-weight:900}.result-achievement-summary.hidden{display:none!important}.result-save-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-save-discord-btn,.result-save-google-btn{width:100%;min-height:38px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;font-size:.82rem}.result-icon-btn,.result-primary-btn,.result-discord-btn,.result-secondary-btn{width:100%;min-height:44px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;line-height:1}.result-icon-btn{padding:0 12px;color:var(--text-secondary);background:#ffffff94;border-color:#d2c4aeb8;box-shadow:inset 0 0 0 1px #fff6}.result-icon-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffffc7}.result-btn-icon{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.result-btn-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.result-btn-icon svg path:first-child:last-child{fill:currentColor;stroke:none}.result-primary-btn{color:var(--text-primary);background:linear-gradient(180deg,#f3e5cf,#ead9bf);border-color:#d4bc9ab8}.result-discord-btn{color:#fff;background:#5865f2;border-color:#5865f273;box-shadow:0 10px 18px #5865f22e}.result-secondary-btn{color:var(--text-primary);background:#ffffffad;border-color:#d2c4aeb8}.support-link-inline{font-size:.78rem;color:var(--text-muted);border-bottom-color:#8f847666}.replay-modal{position:fixed;inset:0;z-index:2400;display:grid;place-items:center;padding:clamp(12px,3vw,28px)}.replay-modal.hidden{display:none}.replay-modal-scrim{position:absolute;inset:0;border:0;border-radius:0;background:#2e28227a;box-shadow:none}.replay-modal-dialog{position:relative;width:min(92vw,520px);display:grid;gap:12px;padding:14px;border-radius:18px;background:linear-gradient(180deg,#fffdf8,#f4ebdc);box-shadow:0 28px 60px #2d221847}.replay-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.replay-modal-head h2{margin:0;font-size:1rem;font-weight:900}.replay-modal-image{width:100%;object-fit:contain;border-radius:12px;background:#ffffff94;box-shadow:inset 0 0 0 1px #d2c4ae9e}body.replay-open{overflow:hidden}.match-shell{margin:0 auto;height:calc(100svh - 10px);max-height:calc(100svh - 10px);gap:6px;padding-top:4px;padding-bottom:6px}:root{--bg-main: #eee5d7;--bg-card: #fffbf4;--bg-board: #f4eee3;--surface-1: #fffdf8;--surface-2: #f7f0e2;--border-light: #d5c4ab;--text-primary: #332e28;--text-secondary: #5f564a;--text-muted: #8a7f70}.match-shell{padding-top:max(env(safe-area-inset-top),16px);margin-top:0}.wrap{padding-top:max(env(safe-area-inset-top),16px);padding-bottom:max(env(safe-area-inset-bottom),10px)}.hud{margin-top:2px;margin-bottom:2px}.brand-icon{width:38px;height:38px;border-radius:10px}.brand-wordmark{font-size:clamp(1.45rem,2.8vw,2rem);letter-spacing:.03em}.panel{padding:12px}.whoami{font-size:.85rem;font-weight:600}.lobby-main h2{font-size:1.1rem;margin-bottom:6px}.howto-pills{gap:6px}.howto-pill{padding:6px 8px;font-size:.78rem;font-weight:600;border-radius:10px}.lobby-row{padding:6px 8px}button{min-height:38px;font-size:.86rem}.game-meta-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:8px}.status-banner{margin-top:0;min-height:34px;border-radius:10px;font-size:.84rem;font-weight:600}.match-actions{margin-top:0;margin-bottom:0;gap:6px}.match-pass-btn,.match-rewind-btn,.match-resign-btn,.match-confirm-resign-btn{min-width:84px;min-height:34px;padding:5px 9px;font-size:.78rem}.match-resign-btn{background:#ffffff80;color:var(--text-secondary);box-shadow:inset 0 0 0 1px #c2b49c57}.score-grid{margin-top:5px;gap:8px}.score-card{padding:7px 9px}.score-card img{width:34px;height:34px;border-radius:10px;box-shadow:0 1px 4px #342f292e}.score-card-text strong{font-weight:700;font-size:.96rem}.score-card p{font-size:.78rem;color:var(--text-muted)}.active-turn-name:after{content:" YOUR TURN";display:inline-block;margin-left:6px;padding:2px 6px;border-radius:9px;background:color-mix(in srgb,var(--player-color, #d7c8b0) 24%,white 76%);color:color-mix(in srgb,var(--player-color, #8a7f70) 62%,#4f463c 38%);font-size:.62rem;font-weight:800;letter-spacing:.04em;vertical-align:middle;animation:turnBadgePulse 1.1s ease-in-out infinite}@keyframes turnBadgePulse{0%,to{opacity:1}50%{opacity:.58}}.board-wrap{margin-top:8px;padding:clamp(12px,1.8vw,20px);background:#f4eee3;border-radius:16px;box-shadow:inset 0 1px #ffffff9e,inset 0 0 0 1px #cdbea875,0 4px 18px #0000000a}.edge{border-radius:6px}.edge.preview{box-shadow:0 0 0 1px #ffffff73,0 0 6px #d9775757}.edge.last-move{outline:2px solid rgba(58,52,45,.24);box-shadow:0 0 0 2px #fff9,0 0 10px #d9775775}.edge-draw{animation:lineDrawIn .18s ease-out}@keyframes lineDrawIn{0%{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.claimed{border-radius:9px;animation:none}.claimed-new{animation:claimPulse .19s cubic-bezier(.22,.8,.29,1.2)}.claimed:after{background:linear-gradient(180deg,#fff9f014,#3a342d33)}.result-card h2{font-size:1.45rem;line-height:1.15}.result-card p{font-size:.84rem}.hud{position:relative;justify-content:center;z-index:1200;isolation:isolate}.brand-title{margin:0 auto}.tags{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1300}.settings-panel{position:fixed!important;right:calc(var(--sair) + 10px)!important;top:calc(max(var(--sait),18px) + 34px)!important;z-index:5000!important}.score-grid,.game-meta-row,.board-wrap{position:relative;z-index:1}.lobby-screen{align-content:start;max-width:960px;margin:0 auto}.lobby-status-row{margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:8px}.lobby-status-row #status{margin:0}.lobby-status-row .support-link-inline{margin-top:0;white-space:nowrap;flex:0 0 auto}.score-card{border:2px solid color-mix(in srgb,var(--player-color, #d7c8b0) 82%,white 18%)}.score-card:before,.active-turn-name:after{display:none!important;content:none!important}.active-turn-name{animation:activeNamePulse 1.15s ease-in-out infinite}}@layer features{:root{--sait: var(--discord-safe-area-inset-top, env(safe-area-inset-top));--saib: var(--discord-safe-area-inset-bottom, env(safe-area-inset-bottom));--sail: var(--discord-safe-area-inset-left, env(safe-area-inset-left));--sair: var(--discord-safe-area-inset-right, env(safe-area-inset-right));--activity-pad-x: clamp(8px, 1.2vw, 14px);--activity-pad-bottom: clamp(8px, 1.2vw, 14px);--activity-safe-top: max(var(--sait), 18px);--activity-safe-bottom: max(var(--saib), 10px)}body{padding-left:var(--sail);padding-right:var(--sair);padding-top:0;padding-bottom:0}.wrap{padding-top:max(var(--sait),18px);padding-bottom:max(var(--saib),10px)}.match-shell{padding-top:max(var(--sait),18px)}.lobby-screen{max-width:none;width:100%;margin:0}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.048;background-image:repeating-linear-gradient(0deg,rgba(122,109,90,.16) 0 1px,transparent 1px 160px),repeating-linear-gradient(90deg,rgba(122,109,90,.14) 0 1px,transparent 1px 160px),radial-gradient(circle at 1px 1px,rgba(122,109,90,.28) 0 1.3px,transparent 1.55px);background-size:160px 160px,160px 160px,160px 160px;background-position:0 0,0 0,0 0;animation:boardDrift 60s ease-in-out infinite alternate}@keyframes boardDrift{0%{transform:translateZ(0)}to{transform:translate3d(10px,-8px,0)}}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(1100px 680px at 50% 0%,rgba(255,255,255,.48),transparent 62%),radial-gradient(1200px 820px at 50% 100%,rgba(72,54,34,.1),transparent 58%),repeating-linear-gradient(0deg,rgba(72,54,34,.028) 0 1px,transparent 1px 6px);background-size:100% 100%,100% 100%,100% 100%;background-position:0 0,0 0,0 0;opacity:.42}@media(update:slow){body:before{animation:none}}@media(max-width:900px),(prefers-reduced-motion:reduce){body:before{animation:none}}.wrap{position:relative;z-index:1;width:min(1400px,100%);padding:var(--activity-safe-top) var(--activity-pad-x) max(var(--activity-safe-bottom),var(--activity-pad-bottom))}.match-shell{gap:5px}.hud{margin-bottom:2px;padding:0 2px}.brand-title{gap:8px}.brand-icon{width:34px;height:34px;border-radius:9px}.brand-wordmark{font-size:clamp(1.5rem,3vw,2.1rem)}.audio-toggle.icon-only{width:36px;height:36px;min-width:36px;padding:0;border-radius:10px;background:linear-gradient(180deg,#fffdf8eb,#f3ebdde6);box-shadow:0 1px #ffffffb8 inset,0 4px 10px #48362214}.panel{padding:12px;border-radius:14px;border:1px solid rgba(216,204,184,.62);box-shadow:0 8px 18px #4836221a;background:linear-gradient(180deg,#fffdf8e0,#f6efe5d1)}.lobby-screen{gap:8px}.tutorial-card{padding:9px 12px;margin-top:12px}.lobby-main h2{margin:0 0 5px;font-size:1rem;line-height:1.05}.howto-pills{display:flex;justify-content:center;gap:0;padding:5px 10px}.howto-pill{border:0;background:transparent;box-shadow:none;padding:0;color:var(--text-secondary);font-size:.78rem;font-weight:650;white-space:nowrap}.howto-pill+.howto-pill:before{content:"\2022";margin:0 9px;color:var(--text-muted);font-weight:600}@media(min-width:900px){.tutorial-card{padding:8px 14px}.lobby-main h2{font-size:.86rem;margin:0 0 2px;color:var(--text-muted);font-weight:650}.howto-pills{padding:0}.howto-pill{font-size:.78rem;font-weight:650}}.mode-tabs-panel{padding:9px 11px 11px}.mode-tab{color:var(--text-muted);font-weight:650;transition:transform .12s ease,background .14s ease,color .14s ease,box-shadow .14s ease;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px}.tab-ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:currentColor;opacity:.72}.tab-ico svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mode-tab.active{color:var(--text-primary);box-shadow:0 1px #ffffffb8 inset,0 3px 8px #48362212}.mode-tab.active .tab-ico{opacity:.9}.solo-panel{margin-top:12px;padding-top:12px;gap:8px}.primary-bar{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.primary-bar .bar-ico{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.primary-bar .bar-ico svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.btn-ico{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.btn-ico svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.lobby-actions{display:flex;gap:8px;margin-top:8px}.lobby-actions button{width:100%;flex:1 1 auto;padding:7px 10px;font-size:.84rem}.lobby-cta{margin-top:10px}@media(min-width:900px){.lobby-cta{grid-column:1 / -1}}.help-row{margin-top:5px;text-align:center}@media(min-width:900px){details.match-settings>summary{display:flex;cursor:default;padding:2px 2px 8px;color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}details.match-settings>summary:after{display:none}details.match-settings:not([open])>:not(summary){display:block}details.match-settings{padding-top:8px}}@media(min-width:900px){.wrap{width:min(1180px,calc(100% - 48px));padding-left:24px;padding-right:24px}.lobby-screen{max-width:1120px;margin:0 auto;gap:12px;min-height:min(720px,calc(100svh - var(--activity-safe-top) - var(--activity-safe-bottom) - 28px));grid-template-rows:auto auto 1fr}.panel{padding:16px}.mode-tabs-panel{padding:14px 14px 16px}.mode-tabs{width:min(820px,100%);margin:0 auto}.solo-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;gap:16px 18px;align-items:stretch;min-height:clamp(390px,52svh,600px)}.solo-panel .solo-left,.solo-panel .solo-right{margin-top:0}.solo-panel .primary-bar{grid-column:1 / -1;margin-top:8px;align-self:end;min-height:46px;max-height:52px}.solo-left,.solo-right{min-height:0}.solo-left{display:flex;flex-direction:column}.solo-left details.match-settings{flex:1 1 auto}.solo-right{display:flex;flex-direction:column}.solo-right .solo-history-wrap{flex:1 1 auto}.lobby-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;gap:16px 18px;align-items:stretch;min-height:clamp(390px,52svh,600px)}.multi-left,.multi-right{min-height:0}.multi-left{display:flex;flex-direction:column}.multi-left .match-settings{flex:1 1 auto}.multi-right{display:flex;flex-direction:column}.multi-right .lobby-side{flex:1 1 auto}.multi-right .primary-bar{margin-top:10px}.lobby-card .primary-bar{align-self:end;min-height:46px;max-height:52px}.match-settings,.lobby-side,.solo-record-card{padding:12px}}.lobby-side{display:flex;flex-direction:column}.lobby-side .lobby{flex:1 1 auto}.lobby-side .lobby-actions{margin-top:8px}.solo-stat-chip{padding:5px 7px;border-radius:9px;background:linear-gradient(180deg,#fffdf8d6,#f7efe4c7);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.solo-stat-chip:hover{transform:translateY(-1px);border-color:#d977573d;box-shadow:0 1px #ffffffb8 inset,0 5px 12px #48362214}.solo-stat-chip span{font-size:.62rem;font-weight:650}.solo-stat-chip strong{margin-top:1px;font-size:.92rem;line-height:1.1}.solo-stat-chip:nth-child(3) strong{color:var(--success);text-shadow:0 0 10px rgba(110,139,91,.18)}.solo-stat-chip.streak-positive strong{color:var(--success);text-shadow:0 0 10px rgba(110,139,91,.18)}.match-settings[open]{background:#fffdf8c7;border-color:#c2b49ce6;box-shadow:0 5px 14px #48362212}.match-settings summary{min-height:32px;font-size:.78rem;font-weight:650;position:relative;overflow:hidden}.match-settings-summary{display:inline-flex;align-items:center;gap:0;color:var(--text-muted);font-size:.72rem;font-weight:600}.match-settings-summary>span{display:inline-flex;align-items:center;white-space:nowrap}.match-settings-summary>span+span:before{content:"\2022";margin:0 6px;color:#928878b8}.multiplayer-options{gap:6px;padding:0 9px 9px}.config-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;min-width:0}.config-meta{color:var(--text-muted);font-size:.74rem;font-weight:600;white-space:nowrap;flex:0 0 auto}.config-label{font-size:.78rem;font-weight:650}.setting-chip,.team-cycle,.mode-choice{transition:transform .12s ease,background .14s ease,box-shadow .14s ease,border-color .14s ease}.mode-choice:before{display:inline-block;margin-right:5px;color:var(--text-muted);font-size:.72rem}.mode-choice.active:before{color:#d97757bf}.lobby-head h3{font-size:.96rem}.ready-pill{font-weight:600}.lobby{padding:7px;border-radius:11px}#lobbyList{gap:6px}.lobby-row{position:relative;padding:7px 8px;border:1px solid rgba(216,204,184,.34);box-shadow:0 1px #ffffffad inset;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.lobby-row:hover{transform:translateY(-1px);box-shadow:0 1px #ffffffb8 inset,0 5px 12px #48362212}.lobby-row.is-ready{border-color:#6e8b5b38;background:linear-gradient(180deg,#fffdf8f5,#f6faf1e6)}.lobby-row.is-disconnected{opacity:.72}.lobby-player{min-width:0;display:inline-flex;align-items:center;gap:8px}.lobby-avatar-wrap{width:28px;height:28px;border-radius:10px;overflow:hidden;border:1px solid rgba(216,204,184,.58);background:#fffdf8b8;box-shadow:0 1px #ffffff9e inset;flex:0 0 auto}.lobby-avatar{width:100%;height:100%;display:block;object-fit:cover}.lobby-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-presence{width:11px;height:11px;flex:0 0 auto;border-radius:50%;background:var(--player-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 22%,transparent),0 0 10px color-mix(in srgb,var(--player-color) 28%,transparent)}.is-ready .player-presence{animation:readyPulse 1.5s ease-in-out infinite}@keyframes readyPulse{0%,to{box-shadow:0 0 0 2px #6e8b5b2e,0 0 8px #6e8b5b2e}50%{box-shadow:0 0 0 5px #6e8b5b0f,0 0 14px #6e8b5b3d}}.status-pill.ready{color:var(--success);border-color:#6e8b5b47;background:#6e8b5b14}.status-pill.waiting{font-weight:600}.btn-primary{background:linear-gradient(180deg,#efb79f,#df8f70);border-color:#c65d4b57;box-shadow:0 1px #ffffff85 inset,0 8px 16px #d9775733,0 0 0 1px #d977572e}.btn-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.015);box-shadow:0 1px #ffffff9e inset,0 10px 18px #d977573d,0 0 0 1px #d9775738}.btn-primary:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #ffffff6b inset,0 4px 10px #d977572e}.btn-secondary:hover:not(:disabled),.setting-chip:hover:not(:disabled),.team-cycle:hover:not(:disabled),.mode-choice:hover:not(:disabled){transform:translateY(-1px)}.trace-hover{position:relative;overflow:hidden}.trace-hover:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,transparent 0 8%,rgba(217,119,87,.35) 18%,rgba(217,119,87,.22) 52%,transparent 72%),radial-gradient(circle at 14% 50%,rgba(217,119,87,.38) 0 2px,transparent 3px);opacity:0;transform:translate(-22%);transition:opacity .16s ease,transform .22s ease;mix-blend-mode:multiply}.trace-hover:hover:before,.trace-hover:focus-visible:before{opacity:.85;transform:translate(22%)}.status-pill{transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.status-pill.ready{box-shadow:0 0 0 1px #6e8b5b1a inset,0 0 12px #6e8b5b1a}}@layer responsive{@media(max-width:900px){.wrap{--activity-pad-x: 8px;--activity-pad-bottom: 8px}.hud{align-items:center;flex-direction:row;gap:8px;flex-wrap:nowrap}.brand-title{min-width:0}.brand-wordmark{font-size:clamp(1.35rem,5.6vw,2rem)}.tags{justify-content:flex-end;flex-wrap:nowrap}.howto-pills{grid-template-columns:repeat(3,minmax(0,1fr))}.score-grid,.game-meta-row{grid-template-columns:1fr}.game-meta-row{gap:6px}.cta-row{grid-template-columns:1fr 1fr}.board-wrap{padding:14px}.board-canvas{max-width:640px}.match-shell{height:calc(100svh - 6px);max-height:calc(100svh - 6px)}.match-actions{justify-content:flex-end}.settings-panel{position:fixed;left:auto;right:12px;top:58px;width:min(230px,calc(100vw - 24px));max-width:calc(100vw - 24px);z-index:1200}}@media(min-width:901px)and (max-height:900px){body.match-page{overflow-y:auto}.wrap{--activity-pad-bottom: 84px;padding-top:max(var(--sait),10px);padding-bottom:max(var(--activity-safe-bottom),var(--activity-pad-bottom))}.match-shell{gap:4px;padding-top:max(var(--sait),10px)}.hud{margin-bottom:0}.brand-icon{width:30px;height:30px;border-radius:8px}.brand-wordmark{font-size:clamp(1.35rem,2.3vw,1.85rem)}.audio-toggle.icon-only{width:32px;height:32px;min-width:32px}.lobby-screen{gap:8px;min-height:0;grid-template-rows:auto auto}.panel{padding:12px}.tutorial-card{padding:6px 12px}.lobby-main h2{font-size:.8rem;margin-bottom:1px}.howto-pill{font-size:.72rem}.mode-tabs-panel{--lobby-tab-min-height: 260px;display:flex;flex-direction:column;min-height:0;max-height:calc(100svh - var(--activity-safe-top) - var(--activity-pad-bottom) - 96px);padding:10px 12px 12px}.solo-panel,.lobby-card,.stats-panel{gap:10px 12px;min-height:0;overflow:hidden}.solo-panel .primary-bar,.lobby-card .primary-bar{min-height:40px;max-height:44px;margin-top:4px}.match-settings,.lobby-side,.solo-record-card{padding:10px}.solo-panel .solo-left,.solo-panel .solo-right{min-height:0;overflow:auto}.solo-panel .solo-left{overscroll-behavior:contain}.solo-panel .solo-left details.match-settings{flex:0 0 auto}.solo-live-card{flex:0 0 auto}.lobby-card:not(.hidden){flex:1 1 auto;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.lobby-card .multi-left,.lobby-card .multi-right{min-height:0;overflow:hidden}.lobby-card .match-settings,.lobby-card .lobby-side{min-height:0;overflow:auto}.lobby-card .lobby-side{overscroll-behavior:contain}.multiplayer-options{gap:8px}.setting-chip,.team-cycle{min-height:30px;padding-top:4px;padding-bottom:4px}.solo-stat-chip{padding:5px 6px}.solo-history-row,.lobby-row{padding-top:4px;padding-bottom:4px}}@media(min-width:901px)and (max-height:760px){.wrap{--activity-pad-bottom: 96px;width:min(1180px,calc(100% - 28px));padding-left:14px;padding-right:14px}.tutorial-card{padding:5px 10px}.mode-tabs-panel{--lobby-tab-min-height: 240px;max-height:calc(100svh - var(--activity-safe-top) - var(--activity-pad-bottom) - 76px);padding:8px 10px 10px}.solo-panel,.lobby-card{gap:8px 10px}.solo-panel .primary-bar,.lobby-card .primary-bar{min-height:38px;max-height:42px}}@media(max-width:560px){:root{--activity-safe-top: calc(max(var(--sait), 24px) + 16px) }h1{font-size:clamp(1.25rem,4.4svh,1.62rem)}.match-shell{gap:clamp(3px,.7svh,6px);padding-top:var(--activity-safe-top)}.wrap{padding:var(--activity-safe-top) clamp(4px,.9svh,8px) max(var(--activity-safe-bottom),clamp(4px,.9svh,8px))}.hud{margin-bottom:clamp(1px,.4svh,3px)}.brand-title{margin:0 auto 0 0}.tags{position:static;right:auto;top:auto;transform:none;flex:0 0 auto;gap:5px}.web-login-btn{min-width:0;min-height:clamp(30px,5svh,34px);padding:0 8px;border-radius:9px;font-size:.7rem}.brand-icon{width:clamp(26px,4.4svh,31px);height:clamp(26px,4.4svh,31px);border-radius:8px}.brand-wordmark{font-size:clamp(1.18rem,4.4svh,1.62rem)}.audio-toggle.icon-only{width:clamp(30px,5svh,34px);height:clamp(30px,5svh,34px);min-width:clamp(30px,5svh,34px);border-radius:9px}.audio-toggle.icon-only .icon-glyph,.audio-icon-svg{width:16px;height:16px}.settings-panel{right:calc(var(--sair) + 8px)!important;top:calc(max(var(--sait),22px) + 30px)!important;width:min(220px,calc(100vw - 16px - var(--sail) - var(--sair)))!important}.panel{padding:clamp(7px,1.2svh,10px);border-radius:13px}.tutorial-card{padding:clamp(5px,.9svh,8px) 9px}.lobby-main h2{font-size:clamp(.78rem,2.1svh,.9rem);margin-bottom:clamp(2px,.45svh,4px)}.howto-pills{grid-template-columns:repeat(3,minmax(0,1fr));padding:clamp(2px,.5svh,4px) 7px;gap:4px}.howto-pill{font-size:clamp(.75rem,1.55svh,.66rem);padding:3px 4px;border-radius:7px;white-space:nowrap}.howto-pill+.howto-pill:before{margin:0 6px}.mode-tabs{padding:2px}.mode-tab{padding:clamp(5px,1.1svh,7px) 10px;gap:4px;font-size:clamp(.68rem,1.65svh,.78rem)}.mode-tab>span:not(.tab-ico){max-width:74px}.mode-tabs-panel{--lobby-tab-min-height: 220px;display:flex;flex-direction:column;max-height:none;min-height:0;overflow:visible;padding:clamp(6px,1.1svh,8px) 9px clamp(7px,1.1svh,10px)}.solo-panel{margin-top:8px;padding-top:8px;gap:8px}.solo-record-card{padding:7px;gap:7px}.badge-overview{min-width:0}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}.badge-token{min-height:38px;border-radius:10px}.badge-token-icon{font-size:1.2rem}.badge-detail{grid-template-columns:36px minmax(0,1fr);padding:8px}.badge-detail-icon{width:36px;height:36px;border-radius:10px;font-size:1.2rem}.solo-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.solo-stat-chip{padding:4px 5px;border-radius:9px}.solo-stat-chip span{font-size:.58rem}.solo-stat-chip strong{font-size:.72rem}.solo-settings{order:0}.solo-history-row{grid-template-columns:42px minmax(0,1fr) auto auto;gap:6px;font-size:.68rem}.solo-history-time{display:none}.lobby-card{margin-top:clamp(5px,.9svh,8px);padding-top:clamp(7px,1svh,10px)}.lobby-card:not(.hidden){display:flex;flex-direction:column;min-height:0;overflow:visible}.multi-left,.multi-right{min-height:0}.multi-left{flex:0 1 auto;overflow:visible}.multi-right{flex:1 1 auto;min-height:0;overflow:visible}details.match-settings[open]>:not(summary){max-height:none;overflow:visible}.match-settings{margin:clamp(3px,.55svh,6px) 0 clamp(4px,.7svh,8px)}.match-settings summary{align-items:center;padding:clamp(4px,.8svh,5px) 8px;font-size:clamp(.72rem,1.8svh,.78rem)}.match-settings-summary{max-width:58%;min-width:0;overflow:hidden;text-align:right;white-space:nowrap;font-size:clamp(.66rem,1.7svh,.72rem)}.match-settings-summary>span{min-width:0}.multiplayer-options{align-items:stretch;gap:clamp(4px,.8svh,7px);padding:0 7px clamp(6px,.9svh,8px)}.config-group{align-items:flex-start;display:flex;justify-content:space-between;width:100%;gap:clamp(3px,.55svh,6px)}.config-label{padding-top:0;font-size:clamp(.68rem,1.75svh,.8rem)}.setting-chip,.team-cycle{min-height:clamp(26px,4.1svh,32px);padding:clamp(3px,.7svh,5px) 8px;font-size:clamp(.72rem,1.9svh,.78rem)}.mode-toggle{flex:0 0 auto}.mode-choice{min-width:64px;padding:4px 9px;font-size:.78rem}.lobby-side{border:0;background:transparent;min-height:0;overflow:visible;padding:clamp(2px,.45svh,4px) 0 0}.lobby-head{padding:0 2px}.lobby-head h3{font-size:clamp(.82rem,2.1svh,.95rem)}.ready-pill{padding:3px 8px;font-size:clamp(.68rem,1.75svh,.78rem)}.lobby-side .lobby{min-height:0;max-height:none;overflow:visible;margin:clamp(4px,.65svh,8px) 0;padding:clamp(4px,.65svh,6px)}#lobbyList{gap:clamp(4px,.75svh,8px)}.lobby-row{padding:clamp(4px,.75svh,7px);border-radius:9px}.lobby-avatar-wrap{width:clamp(23px,3.8svh,28px);height:clamp(23px,3.8svh,28px);border-radius:8px}.lobby-player{gap:6px}.lobby-player-name{font-size:clamp(.82rem,2.2svh,1rem)}.status-pill{font-size:clamp(.68rem,1.8svh,.78rem)}.lobby-status-row{flex-wrap:wrap;gap:6px}.lobby-status-row .support-link-inline{margin-left:auto;font-size:.75rem}.lobby-actions{margin-top:clamp(4px,.7svh,8px)}.lobby-actions button,.primary-bar{min-height:clamp(34px,5.8svh,44px);padding:clamp(7px,1.2svh,10px) 10px}.lobby-cta{flex:0 0 auto;margin-top:clamp(6px,1svh,10px)}.segmented-control{max-width:none;justify-content:stretch}.score-card{padding:7px 8px}.score-card strong{font-size:.92rem}.score-card p{font-size:.8rem}.score-card img{width:38px;height:38px}.dot{width:8px;height:8px}.edge.h{height:8px}.edge.v{width:8px}.cta-row{grid-template-columns:1fr}.board-wrap{margin-top:8px;padding:10px;border-radius:14px}.board-canvas{width:min(100%,420px)}.result-card{width:min(94vw,390px);padding:16px}.status-banner{font-size:.82rem;min-height:28px}.match-pass-btn,.match-rewind-btn,.match-resign-btn,.match-confirm-resign-btn{min-height:36px}}@media(max-width:560px)and (max-height:780px){.wrap{padding:4px 6px}.hud{margin-bottom:1px}.brand-icon{width:25px;height:25px}.brand-wordmark{font-size:1.12rem}.audio-toggle.icon-only{width:29px;height:29px;min-width:29px}.web-login-btn{min-height:29px;padding:0 7px;font-size:.66rem}.tutorial-card{padding:4px 8px}.lobby-main h2{font-size:.76rem;margin-bottom:1px}.howto-pills{padding:1px 6px}.howto-pill{font-size:.54rem}.mode-tabs-panel{padding:5px 8px 6px}.mode-tab{padding:4px 8px}.lobby-card{margin-top:4px;padding-top:6px}.match-settings summary{padding:3px 7px}.multiplayer-options{gap:3px;padding:0 6px 5px}.config-group{gap:2px}.setting-chip,.team-cycle{min-height:25px;padding:2px 7px}.lobby-head h3{font-size:.78rem}.lobby-side .lobby{margin:3px 0;padding:3px}#lobbyList{gap:3px}.lobby-row{padding:3px 5px}.lobby-avatar-wrap{width:22px;height:22px}.lobby-player-name{font-size:.78rem}.lobby-actions button,.primary-bar{min-height:32px;padding:6px 9px}.lobby-cta{margin-top:5px}}@media(prefers-reduced-motion:reduce){body:before,body:after,.is-ready .player-presence{animation:none}*,*:before,*:after{transition-duration:.01ms!important;scroll-behavior:auto!important}}}
