@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg:#08090b;--bg-raised:#0e0f13;--surface:#121319;--surface-hover:#181a22;--surface-strong:#1d1f29;--text-main:#f5f6f8;--text-secondary:#b5b9c3;--text-muted:#858a96;--border:#ffffff14;--border-strong:#ffffff24;--accent-purple:#7c6cff;--accent-purple-hover:#9185ff;--accent-purple-soft:#7c6cff24;--accent-teal:#49d6b4;--accent-pink:#f68;--accent-orange:#ff9f43;--accent-indigo:#7c6cff;--gold:#f5c451;--danger:#ff5f6d;--success:#49d6b4;--glass-bg:#ffffff06;--glass-border:#ffffff14;--glass-hover:#ffffff0f;--card-bg:#121319;--nav-bg:#0d0e12;--shadow-dialog:0 28px 80px #0000008c, 0 0 0 1px #ffffff0d;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f4f7;--bg-raised:#fff;--surface:#fff;--surface-hover:#f7f7fa;--surface-strong:#eceef4;--text-main:#171820;--text-secondary:#656a76;--text-muted:#9297a2;--border:#12141b17;--border-strong:#12141b29;--accent-purple-soft:#6655ee1a;--glass-bg:#ffffffbd;--glass-border:#12141b17;--glass-hover:#12141b0d;--card-bg:#fff;--nav-bg:#fffffff0;--shadow-dialog:0 28px 80px #1718202e, 0 0 0 1px #12141b0f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background:var(--bg);overscroll-behavior:none;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text-main);background:radial-gradient(circle at 58% -20%, #7c6cff1a, transparent 36rem), var(--bg);overflow-x:hidden}body:before{z-index:-1;content:"";pointer-events:none;opacity:.28;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}#root{min-height:100vh}button,input{font:inherit}button{border:1px solid var(--border);min-height:44px;color:var(--text-main);background:var(--surface);cursor:pointer;border-radius:8px;transition:background-color .16s,border-color .16s,color .16s,transform .16s,opacity .16s}button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,[role=button]:focus-visible,input:focus-visible{outline:2px solid var(--accent-purple);outline-offset:3px}h1,h2,h3,h4{letter-spacing:-.035em;text-wrap:balance;font-weight:600}p{text-wrap:pretty}img{max-width:100%;display:block}.glass{border:1px solid var(--border);background:var(--glass-bg);border-radius:12px}.animate-fade-in{animation:.22s ease-out both fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-container{min-height:100vh}.connection-banner{z-index:3000;color:#fff;font-family:var(--font-mono);letter-spacing:.06em;border-bottom:1px solid #ffffff1f;padding:9px 16px;position:fixed;inset:0 0 auto;background:var(--danger)!important;font-size:.72rem!important;font-weight:500!important}.content{justify-content:center;align-items:center;min-height:100vh;padding:96px 24px 112px;display:flex}.top-bar{top:max(16px, env(safe-area-inset-top));z-index:120;border:1px solid var(--border);background:color-mix(in srgb, var(--nav-bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;align-items:center;gap:8px;min-height:48px;padding:6px;display:flex;position:fixed;left:16px;right:16px;box-shadow:0 10px 40px #0000002e}.stat-item{min-height:36px;color:var(--text-secondary);font-family:var(--font-mono);white-space:nowrap;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 10px;font-size:.75rem;font-weight:500;display:inline-flex}.stat-item.glass{background:0 0}.stat-item.clickable{cursor:pointer}.stat-item.clickable:hover{color:var(--text-main);background:var(--surface-hover)}.stat-group{gap:2px;margin-left:auto;display:flex}.plus-btn{background:var(--accent-purple-soft);width:18px;height:18px;color:var(--accent-purple-hover);border-radius:5px;place-items:center;font-family:Inter,sans-serif;font-size:.9rem;line-height:1;display:grid}.profile-btn-wrapper{background:0 0;border:0;border-radius:9px;width:44px;min-height:44px;padding:0;position:relative}.profile-img{border:1px solid var(--border-strong);background:var(--surface-strong);object-fit:cover;border-radius:9px;width:40px;height:40px;margin:2px}.settings-badge{border:2px solid var(--nav-bg);background:var(--surface-strong);border-radius:5px;place-items:center;width:17px;height:17px;display:grid;position:absolute;bottom:-3px;right:-3px}.bottom-nav{right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:110;border:1px solid var(--border);background:color-mix(in srgb, var(--nav-bg) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;grid-template-columns:repeat(5,1fr);align-items:stretch;height:68px;padding:5px;display:grid;position:fixed;left:12px;box-shadow:0 18px 50px #0000004d}.nav-item{min-width:0;min-height:56px;color:var(--text-muted);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;display:flex;position:relative}.nav-item:hover:not(:disabled){color:var(--text-main);background:var(--surface-hover);border:0}.nav-item.active{color:var(--text-main)}.nav-icon,.nav-label{z-index:2;position:relative}.nav-label{font-family:var(--font-mono);letter-spacing:.02em;font-size:.64rem}.nav-item.active .nav-icon{color:#fff}.bubble{z-index:1;background:var(--accent-purple-soft);border:1px solid #7c6cff52;border-radius:9px;position:absolute;inset:0}.home-screen{text-align:left;width:min(100%,1080px)}.home-hero{max-width:700px;margin-bottom:54px}.home-eyebrow,.page-eyebrow{color:var(--accent-purple-hover);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:16px;font-size:.7rem;font-weight:500;display:inline-flex}.home-eyebrow:before,.page-eyebrow:before{content:"";background:var(--accent-purple);border-radius:2px;width:7px;height:7px;box-shadow:0 0 16px #7c6cff99}.home-screen h1{color:var(--text-main);letter-spacing:-.075em;margin-bottom:18px;font-size:clamp(3.25rem,8vw,6.25rem);font-weight:600;line-height:.88}.home-subtitle{max-width:580px;color:var(--text-secondary);font-size:clamp(1rem,2.4vw,1.22rem);line-height:1.65}.button-group{grid-template-columns:1fr;gap:12px;display:grid}.btn-primary{border:1px solid var(--border);min-height:48px;color:var(--text-main);background:var(--surface);border-radius:8px;padding:0 18px;font-size:.88rem;font-weight:500}.btn-primary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.btn-primary.human,.btn-primary.ai{text-align:left;grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-content:center;gap:8px 16px;min-height:154px;padding:24px;display:grid;position:relative;overflow:hidden}.btn-primary.human{color:#fff;background:linear-gradient(145deg,#7c6cff38,#7c6cff0f);border-color:#7c6cff57}.btn-primary.ai{color:var(--text-main);background:var(--surface)}.mode-icon{border:1px solid var(--border);background:var(--bg-raised);width:44px;height:44px;color:var(--accent-purple-hover);border-radius:10px;grid-row:1/3;place-items:center;display:grid}.mode-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.mode-copy strong{letter-spacing:-.02em;font-size:1.16rem;font-weight:600}.mode-copy small{color:var(--text-secondary);font-size:.86rem;font-weight:400;line-height:1.45}.mode-arrow{color:var(--text-muted);align-self:center;font-size:1.3rem}.home-status{color:var(--text-muted);font-family:var(--font-mono);flex-wrap:wrap;gap:10px 22px;margin-top:24px;font-size:.74rem;display:flex}.status-online{color:var(--text-secondary)}.status-online:before{content:"";background:var(--success);border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block;box-shadow:0 0 10px #49d6b4a6}.shop-screen,.leaderboard-screen,.profile-screen,.battle-screen{width:min(100%,980px)}.leaderboard-screen>h2,.profile-screen>h2,.battle-screen>h2{margin-bottom:12px;font-size:clamp(2rem,5vw,3.4rem)}.page-intro{max-width:580px;color:var(--text-secondary);margin-bottom:34px;line-height:1.6}.battle-screen{text-align:left}.battle-icon{width:58px;height:58px;color:var(--accent-purple-hover);background:var(--accent-purple-soft);border:1px solid #7c6cff4d;border-radius:12px;place-items:center;margin-bottom:26px;display:grid}.battle-screen .button-group{max-width:430px;margin-top:30px}.room-summary{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:430px;margin-top:16px;padding:16px}.room-summary strong{font-family:var(--font-mono);color:var(--accent-purple-hover)}.room-summary p+p{color:var(--text-secondary);margin-top:5px;font-size:.82rem}.leaderboard-list{flex-direction:column;gap:6px;margin-top:28px;display:flex}.rank-item{background:var(--surface);border-radius:8px;grid-template-columns:44px 42px 1fr;align-items:center;gap:14px;min-height:68px;padding:11px 16px;transition:border-color .16s,background-color .16s;display:grid}.rank-item:hover{border-color:var(--border-strong);background:var(--surface-hover)}.rank-num{color:var(--text-muted);font-family:var(--font-mono);font-size:.76rem}.rank-item:nth-child(-n+3) .rank-num{color:var(--gold)}.rank-avatar{border:1px solid var(--border);background:var(--surface-strong);object-fit:cover;border-radius:9px;width:42px;height:42px}.rank-info{justify-content:space-between;align-items:center;gap:12px;display:flex}.rank-name{font-size:.9rem;font-weight:500}.rank-xp{color:var(--text-muted);font-family:var(--font-mono);font-size:.68rem}.profile-screen{text-align:left}.guest-notice{background:var(--accent-purple-soft);border-color:#7c6cff4d;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;padding:16px 18px;display:flex}.guest-notice p{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.google-button{background:var(--surface);flex:none;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.google-button img{width:16px;height:16px}.profile-header{grid-template-columns:88px 1fr;align-items:center;column-gap:20px;margin-bottom:28px;display:grid}.large-avatar{border:1px solid var(--border-strong);background:var(--surface);object-fit:cover;border-radius:16px;grid-row:1/4;width:88px;height:88px;padding:6px}.profile-header h2{font-size:1.8rem}.text-accent-teal{color:var(--text-secondary);font-family:var(--font-mono);font-size:.72rem}.text-accent-pink{color:var(--accent-purple-hover)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat-box{background:var(--surface);border-radius:8px;grid-template-rows:1fr auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;min-height:116px;padding:18px;display:grid}.stat-val{font-family:var(--font-mono);grid-column:2;font-size:1.8rem;font-weight:500}.stat-label{color:var(--text-muted);grid-column:1/3;font-size:.72rem}.collection-title{letter-spacing:-.01em;margin:36px 0 14px;font-size:1rem}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;display:grid}.inventory-card{aspect-ratio:1;background:var(--surface);cursor:pointer;border-radius:9px;place-items:center;display:grid;position:relative;overflow:hidden}.inventory-card:hover{border-color:var(--border-strong);background:var(--surface-hover)}.inventory-card.active{border-color:var(--accent-purple);box-shadow:0 0 0 2px var(--accent-purple-soft)}.inventory-card img{object-fit:contain;width:68%;height:68%}.shop-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex;background:0 0!important;border:0!important;margin-bottom:34px!important;padding:0!important}.shop-header h2{margin:0!important;font-size:clamp(2.2rem,5vw,4rem)!important}.shop-header p{color:var(--text-secondary);margin-top:8px!important;font-size:.95rem!important}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:16px;display:grid}.shop-card{background:var(--surface);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:stretch;gap:10px;min-height:310px;padding:12px;display:flex;position:relative;overflow:hidden}.shop-card:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-2px)}.shop-item-img{aspect-ratio:1.25;border:1px solid var(--border);background:var(--bg-raised);object-fit:contain;border-radius:7px;width:100%;padding:18px}.shop-card h4{letter-spacing:-.01em;margin-top:3px;font-size:.93rem}.shop-card p{color:var(--text-secondary);font-family:var(--font-mono);align-items:center;gap:6px;font-size:.7rem;display:flex}.shop-card button{width:100%;margin-top:auto}.rarity-tag{z-index:2;border:1px solid var(--border-strong);color:#fff;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:#08090bd6;border-radius:5px;padding:4px 7px;font-size:.55rem;font-weight:500;position:absolute;top:20px;right:20px}.rarity-tag[data-rarity=Rare]{color:#8fb9ff}.rarity-tag[data-rarity=Epic]{color:#b7a9ff}.rarity-tag[data-rarity=Legendary],.rarity-tag[data-rarity=God]{color:var(--gold)}.btn-teal,.btn-pink,.btn-orange,.btn-purple,.start-btn,.btn-buy-sm,.btn-action-lg{border-color:var(--accent-purple);color:#fff;background:var(--accent-purple)}.btn-teal:hover:not(:disabled),.btn-pink:hover:not(:disabled),.btn-orange:hover:not(:disabled),.btn-purple:hover:not(:disabled),.start-btn:hover:not(:disabled),.btn-buy-sm:hover:not(:disabled),.btn-action-lg:hover:not(:disabled){border-color:var(--accent-purple-hover);background:var(--accent-purple-hover)}.btn-gray,.cancel-btn,.btn-cancel,.btn-close-white,.close-btn{border-color:var(--border);color:var(--text-secondary);background:var(--surface)}.modal{border:1px solid var(--border);width:min(100%,460px);max-height:calc(100vh - 40px);color:var(--text-main);background:var(--bg-raised);box-shadow:var(--shadow-dialog);border-radius:14px;padding:28px;overflow-y:auto}.content>.modal{margin:auto}.modal h2,.modal h3{margin-bottom:16px}.toggle-group,.pill-group{grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0 24px;display:grid}.toggle-btn,.pill-btn,.diff-btn{border:1px solid var(--border);min-height:44px;color:var(--text-secondary);background:var(--surface);border-radius:7px;padding:0 12px;font-size:.8rem;font-weight:500}.toggle-btn.active,.pill-btn.active,.diff-btn.active{color:#fff;background:var(--accent-purple-soft);box-shadow:none;border-color:#7c6cff75;transform:none}.difficulty-list{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px;display:grid}.modal-actions{grid-template-columns:1fr 1.5fr;gap:8px;margin-top:28px;display:grid}.game-screen{flex-direction:column;align-items:center;gap:28px;width:min(100%,980px);display:flex}.game-info-panel{flex-direction:column;align-items:center;width:100%;display:flex}.game-header{align-items:center;gap:10px;width:100%;margin-bottom:24px;display:flex}.back-btn,.reset-icon-btn{border:1px solid var(--border);background:var(--surface);border-radius:8px;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.spacer{flex:1}.mode-badge{max-width:100%;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:7px 10px;font-size:.61rem;overflow:hidden}.players{grid-template-columns:minmax(90px,1fr) 28px minmax(90px,1fr);align-items:center;gap:8px;width:100%;margin-bottom:18px;display:grid}.player-card{min-width:0;color:var(--text-muted);opacity:.65;border:1px solid #0000;border-radius:8px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.player-card.active{color:var(--text-main);background:var(--accent-purple-soft);opacity:1;border-color:#7c6cff59;transform:none}.player-card img{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:42px;height:42px;margin:0;padding:3px}.player-card p{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.symbol{font-family:var(--font-mono);font-size:1rem;font-weight:500}.vs{color:var(--text-muted);font-family:var(--font-mono);text-align:center;font-size:.62rem}.turn-indicator{min-height:28px;color:var(--accent-purple-hover);font-family:var(--font-mono);text-align:center;margin:4px 0 16px;font-size:.72rem;font-weight:500}.winner-text{color:var(--text-main);text-shadow:none;font-size:1rem}.grid-container{aspect-ratio:1;border:1px solid var(--border);background:var(--bg-raised);border-radius:14px;gap:clamp(6px,1.4vw,10px);width:min(100%,470px);padding:clamp(8px,2vw,14px);display:grid;box-shadow:0 24px 70px #00000047}.square{aspect-ratio:1;border:1px solid var(--border);min-height:0;color:var(--text-main);background:var(--surface);font-family:var(--font-mono);border-radius:clamp(6px,1.5vw,10px);place-items:center;padding:0;font-size:clamp(1.5rem,7vw,3.6rem);font-weight:500;display:grid}.square:hover:not(:disabled){background:var(--surface-hover);border-color:#7c6cff59}.char.X{color:#f2f3f7}.char.O{color:var(--accent-purple-hover)}.square.winning{border-color:var(--accent-purple);box-shadow:0 0 28px #7c6cff52;color:#fff!important;background:var(--accent-purple)!important}.square.winning .char{color:#fff}.settings-modal h2{margin-bottom:22px}.setting-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:64px;margin-bottom:8px;padding:10px 12px;display:flex}.setting-label{color:var(--text-secondary);align-items:center;gap:10px;font-size:.84rem;font-weight:500;display:flex}.toggle-pill{min-height:36px;padding:0 12px;font-size:.72rem}.toggle-switch{background:var(--surface-strong);border:0;border-radius:999px;align-items:center;width:46px;min-height:26px;padding:2px;display:flex}.toggle-switch.on{background:var(--accent-purple);justify-content:flex-end}.toggle-switch.off{justify-content:flex-start}.toggle-switch .handle{background:#fff;border-radius:50%;width:22px;height:22px}.close-btn{width:100%;margin-top:12px}.modal-overlay,.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#030406c7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border);width:min(100%,460px);max-height:calc(100vh - 40px);color:var(--text-main);background:var(--bg-raised);box-shadow:var(--shadow-dialog);text-align:left;border-radius:14px;padding:28px;overflow-y:auto}.modal-title,.modal-title-dark,.item-title{color:var(--text-main);margin-bottom:8px;font-size:1.45rem;font-weight:600}.wallet-status,.item-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.55}.btn-stack{gap:8px;margin-top:22px;display:grid}.btn-stack button,.full-width,.btn-action-lg,.btn-close-white{width:100%}.config-section{margin-top:24px}.config-label{color:var(--text-secondary);font-size:.74rem;font-weight:500;display:block}.input-group{margin:18px 0}.token-input{border:1px solid var(--border);width:100%;min-height:52px;color:var(--text-main);background:var(--surface);font-family:var(--font-mono);text-align:center;text-transform:uppercase;border-radius:8px;padding:0 14px;font-size:1rem}.gem-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:22px 0;display:grid}.gem-card{border:1px solid var(--border);background:var(--surface);box-shadow:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.gem-amount,.item-price{color:var(--text-main);font-family:var(--font-mono);align-items:center;gap:6px;font-size:1rem;font-weight:500;display:flex}.gem-label,.token-cost{color:var(--text-muted);font-size:.68rem}.btn-buy-sm{width:100%;margin-top:8px}.item-preview-large{border:1px solid var(--border);background:var(--surface);border-radius:12px;place-items:center;width:132px;height:132px;margin:0 auto 22px;display:grid}.item-preview-large img{object-fit:contain;width:76%;height:76%}.item-title,.item-price,.item-desc{text-align:center;justify-content:center}.btn-action-lg{margin-top:22px}.btn-close-white{margin-top:8px}.searching-loader{justify-content:center;margin:16px 0 24px;display:flex}.loader-icon{width:84px;height:84px;color:var(--accent-purple-hover);background:var(--accent-purple-soft);box-shadow:none;border:1px solid #7c6cff59;border-radius:18px;place-items:center;display:grid}.mb-4{margin-bottom:1rem}.opacity-70{opacity:.7}@media (width>=900px){.app-container{grid-template-columns:210px minmax(0,1fr);display:grid}.bottom-nav{width:194px;height:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:14px;flex-direction:column;justify-content:flex-start;gap:3px;padding:72px 8px 8px;display:flex;inset:16px auto 16px 16px}.bottom-nav:before{content:"NOUGHTLINE";color:var(--text-main);font-family:var(--font-mono);letter-spacing:.08em;font-size:.72rem;font-weight:500;position:absolute;top:25px;left:18px}.bottom-nav:after{content:"";border:2px solid var(--accent-purple);border-radius:2px;width:8px;height:8px;position:absolute;top:22px;right:18px}.nav-item{flex-direction:row;justify-content:flex-start;gap:12px;min-height:46px;padding:0 12px}.nav-icon{width:18px;height:18px}.nav-label{font-size:.76rem}.top-bar{top:max(16px, env(safe-area-inset-top));box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;left:226px;right:16px}.content{grid-column:2;min-width:0;padding:104px 48px 56px}.button-group{grid-template-columns:repeat(2,1fr)}.game-screen{grid-template-columns:minmax(360px,500px) minmax(260px,330px);justify-content:center;align-items:center;gap:clamp(36px,6vw,78px);display:grid}.grid-container{grid-area:1/1}.game-info-panel{grid-area:1/2}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}@media (width>=1240px){.content{padding-inline:72px}.shop-screen,.leaderboard-screen,.profile-screen,.battle-screen,.home-screen,.game-screen{width:min(100%,1120px)}}@media (width<=899px){.top-bar{min-height:56px}.top-bar button.stat-item,.profile-btn-wrapper{min-height:44px}}@media (width<=600px){.content{align-items:flex-start;padding:96px 16px 100px}.top-bar{top:max(10px, env(safe-area-inset-top));left:10px;right:10px}.top-bar>.stat-item:not(.glass){display:none}.stat-group{flex:1;margin-left:0}.stat-group .stat-item{flex:1;justify-content:center}.home-screen{padding-top:7vh}.home-hero{margin-bottom:34px}.home-screen h1{font-size:clamp(3.5rem,18vw,4.7rem)}.home-subtitle{font-size:1rem}.btn-primary.human,.btn-primary.ai{min-height:128px;padding:18px}.modal-overlay,.modal-backdrop{align-items:flex-end;padding:10px}.modal,.modal-content{border-radius:14px;max-height:88vh;padding:22px}.guest-notice{flex-direction:column;align-items:stretch}.google-button{width:100%}.shop-header{flex-direction:column;align-items:flex-start}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-card{min-height:260px;padding:9px}.shop-item-img{padding:10px}.rarity-tag{top:14px;right:14px}.game-screen{gap:18px}.game-info-panel{order:2}.grid-container{order:1}.game-header{margin-bottom:14px}.players{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.player-card{grid-template-columns:34px 1fr;gap:7px;padding:7px}.player-card img{width:34px;height:34px}.player-card .symbol{display:none}.gem-grid{grid-template-columns:1fr 1fr}.inventory-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=380px){.nav-label{display:none}.bottom-nav{height:58px}.nav-item{min-height:46px}.content{padding-bottom:82px}.mode-copy small{display:none}.btn-primary.human,.btn-primary.ai{min-height:96px}.gem-grid{grid-template-columns:1fr}}.recovery-toast{z-index:2500;border:1px solid var(--border-strong);max-width:min(380px,100vw - 36px);color:var(--text-main);background:var(--bg-raised);box-shadow:var(--shadow-dialog);border-radius:9px;align-items:center;gap:14px;padding:11px 12px 11px 14px;font-size:.78rem;display:flex;position:fixed;top:76px;right:18px}.recovery-toast button{width:28px;min-height:28px;color:var(--text-secondary);background:0 0;border:0;padding:0;font-size:1.1rem}.room-summary-actions,.share-actions{gap:8px;margin-top:14px;display:grid}.room-summary-actions{grid-template-columns:1fr 1fr}.share-actions{grid-template-columns:repeat(3,1fr)}.player-card.disconnected{border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 7%, transparent);opacity:.82}.player-card.disconnected img{opacity:.5}.player-connection-state{color:var(--danger);font-family:var(--font-mono);grid-area:2/2;font-size:.58rem}.turn-indicator.paused{color:#f6b84b}.disconnect-countdown{background:#f6b84b14;border:1px solid #f6b84b59;border-radius:6px;align-items:center;min-height:28px;padding:0 10px;display:inline-flex}.modal-heading-icon{width:38px;height:38px;color:var(--accent-purple-hover);background:var(--accent-purple-soft);border:1px solid #7c6cff59;border-radius:9px;place-items:center;margin-bottom:18px;display:grid}.modal-description{color:var(--text-secondary);margin-bottom:22px;font-size:.82rem;line-height:1.55}.room-code-input{border:1px solid var(--border);width:100%;min-height:52px;color:var(--text-main);background:var(--surface);font-family:var(--font-mono);border-radius:8px;margin-top:8px;padding:0 13px;font-size:.86rem}.room-code-input:focus{outline:2px solid var(--accent-purple-soft);border-color:var(--accent-purple)}.room-code-input[aria-invalid=true]{border-color:var(--danger)}.form-error{color:var(--danger);margin-top:9px;font-size:.72rem;line-height:1.45}.invite-code-panel{border:1px solid var(--border);background:var(--surface);border-radius:9px;flex-direction:column;gap:7px;padding:16px;display:flex}.invite-code-label{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem}.invite-code-panel strong{color:var(--text-main);font-family:var(--font-mono);letter-spacing:.04em;font-size:1.2rem}.invite-url{color:var(--text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.share-actions{margin-top:10px}.share-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.share-feedback{min-height:18px;color:var(--success);margin-top:8px;font-size:.7rem}.share-feedback.error{color:var(--danger)}.btn-danger{background:var(--danger);color:#fff;min-height:44px;box-shadow:0 8px 24px color-mix(in srgb, var(--danger) 28%, transparent);border:1px solid #f77;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 82%, #000)}.btn-danger:focus-visible{outline-offset:3px;box-shadow:0 0 0 6px color-mix(in srgb, var(--danger) 55%, transparent);outline:2px solid #fff}.modal-heading-icon.danger{border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent)}.game-action-error{color:var(--danger);font-family:var(--font-mono);text-align:center;margin:0;font-size:.72rem}.cancelled-status{border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);min-height:28px;color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);border-radius:6px;align-items:center;padding:0 10px;display:inline-flex}@media (width<=600px){.app-container:has(.recovery-toast) .content{padding-top:154px}.recovery-toast{max-width:none;top:70px;left:12px;right:12px}.room-summary-actions,.share-actions{grid-template-columns:1fr}.player-card{grid-template-rows:auto auto}}.modal-content.multiplayer-menu{width:min(100%,440px);color:var(--text-main);background:var(--bg-raised);text-align:left}.multiplayer-menu .modal-title{color:var(--text-main);margin-bottom:6px}.multiplayer-menu .btn-stack{margin-top:22px}.multiplayer-menu .config-section+.config-section{margin-top:18px}.multiplayer-menu .pill-group{margin-bottom:0}
