@layer foundation{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--theme-ink:var(--lightningcss-light,#26354b)var(--lightningcss-dark,#e8eff5);--theme-muted:var(--lightningcss-light,#66758a)var(--lightningcss-dark,#aab7c2);--theme-page:var(--lightningcss-light,#f3efe7)var(--lightningcss-dark,#111820);--theme-paper:var(--lightningcss-light,#fffdf6f0)var(--lightningcss-dark,#18222df5);--theme-surface:var(--lightningcss-light,#fffdf9)var(--lightningcss-dark,#1b2632);--theme-surface-translucent:var(--lightningcss-light,#fffdf6a6)var(--lightningcss-dark,#1c2833e0);--theme-surface-soft:var(--lightningcss-light,#e8f3df)var(--lightningcss-dark,#293c34);--theme-border:var(--lightningcss-light,#51697b2e)var(--lightningcss-dark,#b1cbda33);--theme-control-border:var(--lightningcss-light,#bfd0c4)var(--lightningcss-dark,#526574);--theme-input:var(--lightningcss-light,#ffffffc7)var(--lightningcss-dark,#0c141dc7);--theme-orange:var(--lightningcss-light,#d98946)var(--lightningcss-dark,#f0ad6b);--theme-action-ink:var(--lightningcss-light,#a9561f)var(--lightningcss-dark,#f0ad6b);--theme-green:var(--lightningcss-light,#5c9c63)var(--lightningcss-dark,#477f52);--theme-green-accent:var(--lightningcss-light,#5c9b66)var(--lightningcss-dark,#8bcf95);--theme-purple:var(--lightningcss-light,#8570bf)var(--lightningcss-dark,#c0aff4);--theme-purple-ink:var(--lightningcss-light,#705aa8)var(--lightningcss-dark,#c0aff4);--theme-green-hover:var(--lightningcss-light,#4e8f59)var(--lightningcss-dark,#3f7449);--theme-green-shadow:var(--lightningcss-light,#40794d)var(--lightningcss-dark,#294b30);--theme-secondary-ink:var(--lightningcss-light,#52705c)var(--lightningcss-dark,#bdd0c2);--theme-focus:var(--lightningcss-light,#d8753e)var(--lightningcss-dark,#ffb36a);--theme-error:var(--lightningcss-light,#a33f2b)var(--lightningcss-dark,#ff9b87);--theme-frame-start:var(--lightningcss-light,#c5eff2)var(--lightningcss-dark,#172b36);--theme-frame-middle:var(--lightningcss-light,#dff7e5)var(--lightningcss-dark,#1a302c);--theme-frame-end:var(--lightningcss-light,#f8e8bd)var(--lightningcss-dark,#342b22);--theme-glow:var(--lightningcss-light,#ffffff38)var(--lightningcss-dark,#8bcdd614);--theme-shadow:var(--lightningcss-light,#39526324)var(--lightningcss-dark,#00000061);--theme-soft-shadow:var(--lightningcss-light,#5069681a)var(--lightningcss-dark,#0000003d);--theme-mode-green:var(--lightningcss-light,#e5f3dc)var(--lightningcss-dark,#243b2d);--theme-mode-green-border:var(--lightningcss-light,#c5e2b9)var(--lightningcss-dark,#426a4c);--theme-mode-orange:var(--lightningcss-light,#fff0d9)var(--lightningcss-dark,#412f22);--theme-mode-orange-border:var(--lightningcss-light,#f5d5a4)var(--lightningcss-dark,#725039);--theme-mode-purple:var(--lightningcss-light,#eee8fa)var(--lightningcss-dark,#302a45);--theme-mode-purple-border:var(--lightningcss-light,#d5c9ee)var(--lightningcss-dark,#574b7d);--theme-icon-surface:var(--lightningcss-light,#fffdf6)var(--lightningcss-dark,#17222d);--theme-current-row:var(--lightningcss-light,#f3f1df)var(--lightningcss-dark,#34362d);--theme-rank-muted:var(--lightningcss-light,#9ba5aa)var(--lightningcss-dark,#8e9ba5);--theme-rank-accent:var(--lightningcss-light,#dc9b43)var(--lightningcss-dark,#efb467);--theme-empty:var(--lightningcss-light,#aab3b5)var(--lightningcss-dark,#71808b);--theme-cloud:var(--lightningcss-light,#ffffff6b)var(--lightningcss-dark,#a9dce21a);--theme-avatar-border:var(--lightningcss-light,#efbd6a)var(--lightningcss-dark,#c58c4e);--theme-avatar-background:var(--lightningcss-light,#ffe8a9)var(--lightningcss-dark,#4a3924);--theme-avatar-ink:var(--lightningcss-light,#a66a38)var(--lightningcss-dark,#ffd095);--theme-player-surface:var(--lightningcss-light,#ffffff6b)var(--lightningcss-dark,#ffffff0f);--theme-turn-border:var(--lightningcss-light,#f0d19e)var(--lightningcss-dark,#785a34);--theme-turn-background:var(--lightningcss-light,#fff2d8)var(--lightningcss-dark,#3e3020);--theme-turn-ink:var(--lightningcss-light,#875b37)var(--lightningcss-dark,#f6d7a7);--theme-badge-green:var(--lightningcss-light,#e4f1df)var(--lightningcss-dark,#263d2d);--theme-badge-green-ink:var(--lightningcss-light,#46734d)var(--lightningcss-dark,#91d09b);--theme-badge-orange:var(--lightningcss-light,#fff0d4)var(--lightningcss-dark,#443323);--theme-badge-orange-ink:var(--lightningcss-light,#94602f)var(--lightningcss-dark,#f0b879);--theme-badge-red:var(--lightningcss-light,#f7dfda)var(--lightningcss-dark,#492b2a);--theme-badge-red-ink:var(--lightningcss-light,#9a4131)var(--lightningcss-dark,#ff9f8e);color:var(--theme-ink);background:var(--theme-page);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit;border:0}button:not(:disabled){cursor:pointer}button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px}.app-shell{place-items:center;min-height:100vh;padding:0;display:grid}.auth-form{text-align:left;gap:1rem;display:grid}.auth-form label{color:var(--theme-ink);gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.auth-form input{border:1px solid var(--theme-control-border);background:var(--theme-input);min-height:2.75rem;color:var(--theme-ink);font:inherit;border-radius:.6rem;padding:.65rem .75rem}.auth-form>.ui-button{margin-top:.25rem}.auth-switch{color:var(--theme-muted);font-size:.9rem}.auth-switch button,.text-button{color:var(--theme-action-ink);background:0 0;padding:0;font-weight:700;text-decoration:underline}.text-button{margin:1.25rem auto 0;display:block}.eyebrow{color:var(--theme-orange);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem;font-weight:750}h1{color:var(--theme-ink);letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,9vw,4rem);line-height:1}.auth-panel h1{font-size:clamp(2rem,8vw,3rem)}.intro{color:var(--theme-muted);margin:1rem 0 2rem}.connection-message{color:var(--theme-orange);text-align:center;margin:-.75rem 0 1rem;font-size:.9rem;font-weight:650}.matchmaking-indicator{border:3px solid var(--theme-border);border-top-color:var(--theme-orange);border-radius:50%;width:3rem;height:3rem;margin:2.5rem auto;animation:.9s linear infinite matchmaking-spin}@keyframes matchmaking-spin{to{transform:rotate(360deg)}}.auth-form [role=alert],.game-panel>[role=alert]{color:var(--theme-error);margin:-.75rem 0 1rem;font-size:.9rem;font-weight:650}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.game-board{border-collapse:separate;border-spacing:0;table-layout:fixed;margin:0 auto;overflow:hidden}.game-board td{width:6.666%;padding:0}.cell-button{aspect-ratio:1;color:#6a462473;background:0 0;border-radius:50%;place-items:center;width:100%;padding:0;font-size:clamp(.65rem,4vw,1.4rem);line-height:1;display:grid;position:relative}.cell-button:before,.cell-button:after{z-index:0;content:"";pointer-events:none;position:absolute}.cell-button:before{width:100%;height:1px}.cell-button:after{width:1px;height:100%}.cell-button>span{z-index:1;position:relative}.cell-button>img{z-index:1;object-fit:contain;filter:drop-shadow(0 1px 1px #0000004d);width:82%;max-width:1.8rem;height:82%;max-height:1.8rem;image-rendering:pixelated;position:relative}.cell-button:disabled{cursor:default}@media (width<=35rem){.actions button{flex:8rem}}@media (prefers-reduced-motion:reduce){.actions button,.matchmaking-indicator{transition:none;animation:none}}}@layer components{.app-frame{isolation:isolate;background:radial-gradient(circle at 14% 30%, var(--theme-glow) 0 4rem, transparent 4.1rem), radial-gradient(circle at 90% 12%, var(--theme-glow) 0 6rem, transparent 6.1rem), linear-gradient(160deg, var(--theme-frame-start) 0%, var(--theme-frame-middle) 56%, var(--theme-frame-end) 100%);width:100%;min-height:100vh;color:var(--theme-ink);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.app-frame:before,.app-frame:after{z-index:-1;background:var(--theme-glow);content:"";filter:blur(1px);border-radius:50%;width:12rem;height:12rem;position:absolute}.app-frame:before{top:8%;left:-4rem}.app-frame:after{top:18%;right:-4rem}.app-frame>.home-page{z-index:1;background:0 0;min-height:0;position:relative}.app-header{z-index:3;justify-content:flex-end;align-items:center;min-height:5rem;padding:1.25rem clamp(1.25rem,5vw,4.8rem);display:flex;position:relative}.account-menu{position:relative}.account-trigger{border:1px solid var(--theme-border);background:var(--theme-surface-translucent);max-width:min(18rem,100vw - 2rem);min-height:3.15rem;color:var(--theme-ink);box-shadow:0 .35rem 1rem var(--theme-soft-shadow);border-radius:999px;align-items:center;gap:.65rem;padding:.35rem .9rem .35rem .4rem;font-size:.85rem;font-weight:800;transition:background-color .15s,transform .15s;display:inline-flex}.account-trigger:hover{background:var(--theme-surface);transform:translateY(-1px)}.account-trigger-guest{padding-inline:1rem}.account-avatar{border:2px solid var(--theme-avatar-border);background:var(--theme-avatar-background);width:2.35rem;height:2.35rem;color:var(--theme-avatar-ink);border-radius:.75rem;flex:0 0 2.35rem;place-items:center;font-size:.8rem;font-weight:900;display:grid;overflow:hidden}.account-avatar img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.account-username{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-menu-panel{z-index:5;border:1px solid var(--theme-border);background:var(--theme-surface);width:min(19rem,100vw - 2rem);box-shadow:0 1rem 2.5rem var(--theme-shadow);color:var(--theme-ink);border-radius:1rem;max-height:calc(100dvh - 5.5rem);padding:.85rem;position:absolute;top:calc(100% + .55rem);right:0;overflow-y:auto}.theme-picker,.omok-set-picker,.avatar-picker{border:0;min-width:0;margin:0;padding:0}.theme-picker legend,.omok-set-picker legend,.avatar-picker legend{color:var(--theme-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem;padding:0;font-size:.7rem;font-weight:850}.omok-set-picker,.avatar-picker{border-top:1px solid var(--theme-border);margin-top:.8rem;padding-top:.65rem}.omok-set-options{gap:.35rem;display:grid}.omok-set-option{cursor:pointer;min-width:0}.omok-set-option-content{border:1px solid var(--theme-border);background:var(--theme-surface-translucent);border-radius:.65rem;grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:.55rem;min-width:0;min-height:3rem;padding:.35rem .5rem;display:grid}.omok-set-preview{justify-content:center;align-items:center;display:flex}.omok-set-preview img{object-fit:contain;width:1.8rem;height:1.8rem;image-rendering:pixelated}.omok-set-preview img+img{margin-left:-.25rem}.omok-set-option-content small{color:var(--theme-muted);text-overflow:ellipsis;font-size:.62rem;font-weight:800;line-height:1.25;overflow:hidden}.omok-set-option input:checked+.omok-set-option-content{border-color:var(--theme-orange);background:var(--theme-mode-orange);box-shadow:inset 0 0 0 1px var(--theme-orange)}.omok-set-option input:focus-visible+.omok-set-option-content{outline:3px solid var(--theme-focus);outline-offset:2px}.avatar-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.avatar-option{cursor:pointer;min-width:0}.avatar-option-content{border:1px solid var(--theme-border);background:var(--theme-surface-translucent);border-radius:.65rem;place-items:center;min-width:0;height:4.25rem;padding:.25rem;display:grid}.avatar-option-content img{object-fit:contain;width:2.65rem;height:2.65rem;image-rendering:pixelated}.avatar-option-content small{width:100%;color:var(--theme-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-weight:800;overflow:hidden}.avatar-option input:checked+.avatar-option-content{border-color:var(--theme-orange);background:var(--theme-mode-orange);box-shadow:inset 0 0 0 1px var(--theme-orange)}.avatar-option input:focus-visible+.avatar-option-content{outline:3px solid var(--theme-focus);outline-offset:2px}.avatar-picker:disabled .avatar-option{cursor:wait;opacity:.7}.avatar-picker-error{color:var(--theme-danger,#b33a2f);margin:.55rem 0 0;font-size:.68rem;font-weight:700}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;display:grid}.theme-option{cursor:pointer;min-width:0}.theme-option span{border:1px solid var(--theme-border);background:var(--theme-surface-translucent);color:var(--theme-muted);text-align:center;border-radius:.55rem;padding:.45rem .3rem;font-size:.72rem;font-weight:800;display:block}.theme-option input:checked+span{border-color:var(--theme-orange);background:var(--theme-mode-orange);color:var(--theme-ink)}.theme-option input:checked+span:before{content:"✓";margin-right:.25rem}.theme-option input:focus-visible+span{outline:3px solid var(--theme-focus);outline-offset:2px}.ui-button{min-height:2.75rem;font:inherit;border:0;border-radius:.7rem;padding:.65rem 1rem;font-weight:700;transition:background-color .15s,transform .15s}.ui-button-primary{background:var(--theme-green);color:#fff;box-shadow:0 .25rem 0 var(--theme-green-shadow)}.ui-button-secondary{border:1px solid var(--theme-control-border);background:var(--theme-surface-translucent);color:var(--theme-secondary-ink)}.ui-button-text{min-height:auto;color:var(--theme-action-ink);background:0 0;padding:0;font-weight:800}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button-primary:hover:not(:disabled){background:var(--theme-green-hover)}.ui-button-secondary:hover:not(:disabled){background:var(--theme-surface-soft)}.account-menu-actions{border-top:1px solid var(--theme-border);gap:.2rem;margin-top:.8rem;padding-top:.65rem;display:grid}.account-menu-actions .ui-button{width:100%;min-height:2.4rem;color:var(--theme-action-ink);text-align:left;border-radius:.55rem;padding:.5rem .65rem}.account-menu-actions .ui-button:hover:not(:disabled){background:var(--theme-surface-soft)}.app-frame>:not(.app-header):not(.home-page):not(.app-footer){z-index:1;align-self:center;position:relative}.app-footer{z-index:1;color:var(--theme-muted);letter-spacing:.06em;justify-self:center;padding:.5rem 1rem .75rem;font-size:.65rem;font-weight:700;position:relative}.app-frame .themed-panel{border:1px solid var(--theme-border);background:var(--theme-paper);width:min(100% - 2rem,48rem);box-shadow:0 1.5rem 3rem var(--theme-shadow);color:var(--theme-ink);border-radius:1.4rem;margin:0 auto}.app-frame .auth-panel{max-width:30rem;padding:clamp(1.5rem,5vw,3rem)}.app-frame .game-panel{padding:clamp(1rem,3vh,1.75rem)}.app-frame .online-panel{text-align:center}.app-frame .eyebrow{color:var(--theme-orange)}.app-frame h1,.app-frame h2{color:var(--theme-ink)}.app-frame input:focus-visible{outline:3px solid var(--theme-focus);outline-offset:2px;border-color:var(--theme-focus)}.app-frame .auth-form input{border-color:var(--theme-control-border);background:var(--theme-input);border-radius:.7rem}.app-frame .matchmaking-indicator{border-color:var(--theme-border);border-top-color:var(--theme-orange)}.app-frame .game-board{background:#e0b276;border:.35rem solid #a96f43;border-radius:.7rem;width:min(100%,36rem,max(14rem,100dvh - 21rem));margin-bottom:1rem;box-shadow:0 .8rem 1.5rem #4a3b2833,inset 0 0 0 1px #ffffff40}.app-frame .cell-button:before,.app-frame .cell-button:after{background:#6a46248c}.app-frame .cell-button:hover:not(:disabled){background:#ffffff38}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.player-hud{grid-template-columns:minmax(0,1fr) minmax(7rem,auto) minmax(0,1fr);align-items:stretch;gap:.65rem;width:min(100%,36rem);margin:0 auto .85rem;display:grid}.match-player{border:2px solid var(--theme-border);background:var(--theme-player-surface);border-radius:.9rem;align-items:center;gap:.65rem;min-width:0;padding:.55rem .65rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.match-player-white{text-align:right;flex-direction:row-reverse}.match-player-active{border-color:var(--theme-orange);transform:translateY(-1px);box-shadow:0 .3rem .8rem #d9894629}.match-player-avatar{border:2px solid var(--theme-avatar-border);background:var(--theme-avatar-background);width:2.6rem;height:2.6rem;color:var(--theme-avatar-ink);border-radius:.8rem;flex:0 0 2.6rem;place-items:center;font-size:.85rem;font-weight:900;display:grid;overflow:hidden}.match-player-avatar img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.match-player-info{gap:.25rem;min-width:0;display:grid}.match-player-info>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.match-player-meta{color:var(--theme-muted);white-space:nowrap;align-items:center;gap:.3rem;font-size:.65rem;display:flex}.match-player-white .match-player-meta{justify-content:flex-end}.match-player-meta small{color:var(--theme-secondary-ink);text-overflow:ellipsis;font-size:.6rem;overflow:hidden}.match-player-piece{object-fit:contain;filter:drop-shadow(0 1px 1px #00000040);width:1.1rem;height:1.1rem;image-rendering:pixelated;flex:0 0 1.1rem}.turn-indicator{border:1px solid var(--theme-turn-border);background:var(--theme-turn-background);color:var(--theme-turn-ink);text-align:center;border-radius:.9rem;align-content:center;justify-items:center;padding:.5rem .65rem;display:grid}.turn-indicator strong{font-size:.78rem;line-height:1.2}.turn-indicator span{color:var(--theme-orange);margin-top:.2rem;font-size:.72rem;font-weight:900}@media (width<=35rem){.app-header{min-height:4.25rem;padding:.9rem 1rem}.account-trigger{font-size:.78rem}.account-avatar{border-radius:.65rem;flex-basis:2rem;width:2rem;height:2rem;font-size:.7rem}.player-hud{grid-template-columns:minmax(0,1fr) minmax(5.5rem,auto) minmax(0,1fr);gap:.35rem}.match-player{gap:.4rem;padding:.4rem}.match-player-avatar{border-radius:.65rem;flex-basis:2rem;width:2rem;height:2rem;font-size:.68rem}.match-player-info>strong,.turn-indicator strong{font-size:.68rem}.match-player-color-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.turn-indicator{padding:.4rem}}@media (prefers-reduced-motion:reduce){.account-trigger,.match-player{transition:none}}}@layer pages{.app-frame .admin-panel{width:min(100% - 2rem,68rem);margin-block:1rem;padding:clamp(1.25rem,4vw,2.5rem)}.admin-header{justify-content:space-between;align-items:start;gap:2rem;display:flex}.admin-header h1{font-size:clamp(2rem,6vw,3.5rem)}.admin-header>.ui-button{flex:none;margin-top:.35rem}.admin-intro{max-width:38rem;color:var(--theme-muted);margin:.75rem 0 0}.admin-search{gap:.4rem;max-width:35rem;margin-top:2rem;display:grid}.admin-search label,.admin-ban-form label{color:var(--theme-ink);font-size:.85rem;font-weight:800}.admin-search-controls{gap:.65rem;display:flex}.admin-search input,.admin-ban-form select,.admin-ban-form textarea{border:1px solid var(--theme-control-border);background:var(--theme-input);width:100%;min-width:0;color:var(--theme-ink);font:inherit;border-radius:.7rem}.admin-search input,.admin-ban-form select{min-height:2.75rem;padding:.6rem .75rem}.admin-search input{flex:auto}.admin-ban-form textarea{resize:vertical;min-height:7rem;padding:.7rem .75rem}.admin-search input:focus-visible,.admin-ban-form select:focus-visible,.admin-ban-form textarea:focus-visible{border-color:var(--theme-focus);outline:3px solid var(--theme-focus);outline-offset:2px}.admin-messages{min-height:2.75rem;padding-block:.75rem}.admin-messages p,.admin-message[role=alert]{margin:0;font-size:.9rem;font-weight:700}.admin-message{color:var(--theme-muted)}.admin-message.admin-error{color:var(--theme-error)}.admin-workspace{grid-template-columns:minmax(16rem,.72fr) minmax(0,1.45fr);align-items:start;gap:clamp(1rem,3vw,2rem);display:grid}.admin-ban-panel,.admin-directory{border:1px solid var(--theme-border);background:var(--theme-player-surface);border-radius:1rem;min-width:0}.admin-ban-panel{padding:1.15rem}.admin-ban-panel h2,.admin-directory h2{margin:0;font-size:1.1rem}.admin-ban-panel>p{color:var(--theme-muted);margin:.45rem 0 1rem;font-size:.82rem}.admin-ban-form{gap:.55rem;display:grid}.admin-reason-heading{justify-content:space-between;margin-top:.4rem;display:flex}.admin-reason-heading span{color:var(--theme-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.admin-ban-form .admin-danger-button{background:#b5533f;margin-top:.45rem;box-shadow:0 .25rem #80392d}.admin-ban-form .admin-danger-button:hover:not(:disabled){background:#9e4635}.admin-directory{overflow:hidden}.admin-directory-header{border-bottom:1px solid var(--theme-border);justify-content:space-between;align-items:center;padding:1rem 1.15rem;display:flex}.admin-directory-header>span{color:var(--theme-muted);font-size:.78rem;font-weight:750}.admin-user-list{max-height:min(38rem,62vh);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.admin-user-card{border-bottom:1px solid var(--theme-border);gap:.55rem;padding:1rem 1.15rem;display:grid}.admin-user-card:last-child{border-bottom:0}.admin-user-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-user-heading>strong{overflow-wrap:anywhere;min-width:0}.admin-badges{flex:none;gap:.35rem;display:flex}.admin-badge{background:var(--theme-badge-green);color:var(--theme-badge-green-ink);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.2rem .45rem;font-size:.68rem;font-weight:850}.admin-badge-role{background:var(--theme-badge-orange);color:var(--theme-badge-orange-ink)}.admin-badge-banned{background:var(--theme-badge-red);color:var(--theme-badge-red-ink)}.admin-created,.admin-ban-details p{color:var(--theme-muted);margin:0;font-size:.78rem}.admin-ban-details{background:var(--theme-badge-red);border-radius:.65rem;gap:.25rem;padding:.65rem .75rem;display:grid}.admin-ban-details p:first-child{color:var(--theme-ink);overflow-wrap:anywhere}.admin-user-card>.ui-button{justify-self:start;min-height:2.3rem;padding-block:.45rem}.admin-empty{color:var(--theme-muted);text-align:center;margin:0;padding:2.5rem 1rem}.admin-panel .ui-button:disabled,.admin-panel input:disabled,.admin-panel select:disabled,.admin-panel textarea:disabled{cursor:not-allowed;opacity:.58}@media (width<=45rem){.app-frame .admin-panel{margin-block:.5rem 1rem}.admin-header{gap:1rem}.admin-workspace{grid-template-columns:1fr}.admin-user-list{max-height:none}}@media (width<=30rem){.admin-header{display:grid}.admin-header>.ui-button{justify-self:start;margin-top:0}.admin-search-controls{display:grid}.admin-search-controls .ui-button{width:100%}.admin-user-heading{flex-direction:column;align-items:start}}.home-page{--ink:var(--theme-ink);--muted:var(--theme-muted);isolation:isolate;width:100%;color:var(--ink);position:relative;overflow:hidden}.home-content{z-index:2;padding:2rem 4.8rem 3rem;position:relative}.home-hero{min-height:0;padding:1rem 0 2.5rem;display:block}.hero-copy{z-index:1;max-width:38rem;position:relative}.home-page .eyebrow{color:var(--theme-orange);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .45rem;font-size:.68rem;font-weight:900}.home-page h1,.home-page h2{margin:0;line-height:1}.home-page h1{color:var(--ink);letter-spacing:-.07em;white-space:nowrap;font-size:clamp(3.2rem,8vw,6rem)}.home-page h2{letter-spacing:-.04em;font-size:1.65rem}.home-main-grid{grid-template-columns:minmax(0,1fr) minmax(22rem,.9fr);align-items:start;gap:1rem;display:grid}.home-left-column{gap:1rem;display:grid}.adventure-board,.leaderboard-card,.rules-card{border:1px solid var(--theme-border);background:var(--theme-paper);box-shadow:0 .8rem 1.8rem var(--theme-soft-shadow);border-radius:1.2rem}.adventure-board{padding:1.6rem}.section-heading,.leaderboard-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.play-options{grid-template-columns:1fr;gap:.75rem;margin-top:1rem;display:grid}.adventure-board>.play-options{grid-auto-rows:1fr}.play-option{text-align:left;border:2px solid #0000;border-radius:.85rem;align-items:center;gap:.75rem;min-width:0;min-height:4rem;padding:.85rem 1rem;transition:transform .15s,box-shadow .15s;display:flex}.play-option:hover:not(:disabled){box-shadow:0 .5rem 1rem var(--theme-soft-shadow);transform:translateY(-3px)}.play-option:disabled{cursor:not-allowed;opacity:.58}.play-option-green{border-color:var(--theme-mode-green-border);background:var(--theme-mode-green)}.play-option-orange{border-color:var(--theme-mode-orange-border);background:var(--theme-mode-orange)}.play-option-purple{border-color:var(--theme-mode-purple-border);background:var(--theme-mode-purple)}.play-icon{background:var(--theme-icon-surface);width:2.3rem;height:2.3rem;color:var(--theme-green-accent);border-radius:.7rem;flex:0 0 2.3rem;place-items:center;font-size:1.2rem;display:grid}.play-icon img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.play-option-orange .play-icon{color:var(--theme-orange)}.play-option-purple .play-icon{color:var(--theme-purple)}.play-text{flex:1;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .5rem;min-width:0;display:grid}.play-text strong{grid-area:1/1;font-size:.88rem}.play-text small{color:var(--theme-muted);text-overflow:ellipsis;white-space:nowrap;grid-area:2/1/auto/-1;font-size:.68rem;overflow:hidden}.adventure-board>.play-options .play-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.play-meta{border:1px solid var(--theme-mode-purple-border);background:var(--theme-icon-surface);color:var(--theme-purple-ink);white-space:nowrap;border-radius:999px;grid-area:1/2;justify-self:end;padding:.15rem .4rem;font-size:.62rem;font-weight:850;line-height:1.25}.play-arrow{color:var(--theme-muted);flex:none;font-size:1.1rem}.npc-dialog{width:min(100% - 2rem,32rem);max-height:min(80vh,42rem);color:var(--theme-ink);background:0 0;border:0;border-radius:1.25rem;padding:0;overflow:hidden}.npc-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b131c8f}.npc-dialog-panel{max-height:inherit;overscroll-behavior:contain;border:1px solid var(--theme-border);border-radius:inherit;background:var(--theme-paper);box-shadow:0 1.5rem 4rem var(--theme-shadow);padding:1.4rem;overflow:auto}.npc-dialog-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.npc-dialog-header h2{letter-spacing:-.04em;font-size:1.65rem}.npc-dialog-header p{color:var(--theme-muted);margin:.35rem 0 0;font-size:.78rem}.npc-dialog-close{border:1px solid var(--theme-border);background:var(--theme-icon-surface);width:2.25rem;height:2.25rem;color:var(--theme-muted);border-radius:999px;flex:0 0 2.25rem;place-items:center;font-size:1.2rem;line-height:1;display:grid}.npc-dialog-close:hover{background:var(--theme-surface-soft);color:var(--theme-ink)}.npc-dialog .npc-options{margin-top:1.2rem}.npc-options .play-icon{overflow:hidden}.npc-options .play-icon img{width:2.3rem;max-width:100%;height:2.3rem;max-height:100%}.npc-options .play-text strong{white-space:normal}.rules-card{padding:1.2rem 1.6rem}.rules-card h2{font-size:1.25rem}.rules-card p:not(.eyebrow){color:var(--muted);margin:.8rem 0 0;font-size:.8rem;line-height:1.55}.leaderboard-card{min-height:100%;position:relative;overflow:hidden}.leaderboard-content{padding:1.2rem}.leaderboard-list{gap:.15rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.leaderboard-list li{border-radius:.45rem;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:2rem;padding:.42rem .5rem;font-size:.78rem;display:grid}.rank{color:var(--theme-rank-muted);font-size:.7rem}.leaderboard-list li:nth-child(-n+3) .rank{color:var(--theme-rank-accent);font-weight:900}.leaderboard-current{background:var(--theme-current-row)}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-list strong{color:var(--theme-orange);font-size:.75rem}.leaderboard-empty-row{color:var(--theme-empty)}.leaderboard-error{color:var(--theme-error);margin:.8rem 0 0;font-size:.75rem}.leaderboard-error+.leaderboard-list{margin-top:.5rem}.home-sky,.home-cloud{z-index:-1;position:absolute}.home-sky{background:var(--theme-glow);filter:blur(1px);border-radius:50%;width:8rem;height:8rem}.home-sky-left{top:22%;left:-4rem}.home-sky-right{width:12rem;height:12rem;top:5%;right:-3rem}.home-cloud{background:var(--theme-cloud);border-radius:2rem;width:8rem;height:1.8rem}.home-cloud:before,.home-cloud:after{background:inherit;content:"";border-radius:50%;width:3.2rem;height:3.2rem;position:absolute;bottom:0}.home-cloud:before{left:1.2rem}.home-cloud:after{width:2.4rem;height:2.4rem;right:1rem}.home-cloud-one{top:10rem;left:4%}.home-cloud-two{top:5rem;right:3%;transform:scale(.65)}.home-page button:focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px}@media (width<=58rem){.home-content{padding:1rem 2rem 2.5rem}.home-main-grid{grid-template-columns:1fr}.leaderboard-card{min-height:0}}@media (width<=40rem){.home-content{padding:1rem 1.25rem 2rem}.home-hero{padding:1rem 0 2rem}.hero-copy{padding-top:1rem}.home-hero h1{white-space:normal}.home-main-grid{gap:.75rem}.adventure-board{padding:1.1rem}.npc-dialog{border-radius:1.25rem 1.25rem 0 0;width:100%;max-width:none;max-height:85dvh;margin:0;inset:auto 0 0}.npc-dialog-panel{padding:1.2rem 1.1rem calc(1.2rem + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0}}@media (prefers-reduced-motion:reduce){.play-option{transition:none}}}@layer utilities;
