@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-yellow-200: #FEF3C7;--color-yellow-300: #F59E0B;--color-yellow-400: #F59E0B;--color-yellow-500: #F59E0B;--color-lime-200: #FEF3C7;--color-emerald-100: oklch(95% .052 163.051);--color-emerald-300: #10B981;--color-emerald-500: #10B981;--color-emerald-600: #047857;--color-emerald-700: #047857;--color-emerald-800: #047857;--color-emerald-900: #064E3B;--color-emerald-950: #064E3B;--color-white: #fff;--spacing: .25rem;--font-weight-semibold: 600;--font-weight-black: 900;--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.static{position:static}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.grid{display:grid}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.text-center{text-align:center}.font-black{--tw-font-weight: var(--font-weight-black);font-weight:var(--font-weight-black)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-emerald-800\/70{color:color-mix(in srgb,#047857 70%,transparent)}@supports (color: color-mix(in lab,red,red)){.text-emerald-800\/70{color:color-mix(in oklab,var(--color-emerald-800) 70%,transparent)}}.text-emerald-950{color:var(--color-emerald-950)}.dark\:text-emerald-100\/70:where(.dark,.dark *){color:color-mix(in srgb,oklch(95% .052 163.051) 70%,transparent)}@supports (color: color-mix(in lab,red,red)){.dark\:text-emerald-100\/70:where(.dark,.dark *){color:color-mix(in oklab,var(--color-emerald-100) 70%,transparent)}}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}}:root{--gridking-background: #064E3B;--gridking-primary: #047857;--gridking-bright: #10B981;--gridking-accent: #F59E0B;--gridking-accent-dark: #D97706;--gridking-accent-light: #FEF3C7}:root{--surface: #f7f5ef;--surface-raised: #ffffff;--surface-muted: #ece9df;--text: #173f34;--text-muted: #64766f;--line: #d8ddd8;--danger: #b42318}*{box-sizing:border-box}html{min-width:320px;background:var(--surface)}body{margin:0;min-height:100dvh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:var(--surface)}button,a,input{font:inherit;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gridking-accent);outline-offset:2px}.dark{--surface: #0d352b;--surface-raised: #123f34;--surface-muted: #194b3f;--text: #f5f2e8;--text-muted: #a8beb5;--line: #2b5b4f}app-board,app-panel,app-scrollable-container,app-section-heading,app-player-strip,app-menu-tile,app-choice-card,app-setting-toggle,app-error-message,app-stat-card,app-ranking-row{display:block}app-board{width:100%;flex:0 0 auto}app-button{display:inline-block}app-button.ui-button-host-full{display:block;width:100%}app-button.ui-button-host-tab{display:flex;flex:1}.eyebrow{margin:0;color:var(--gridking-primary);font-size:.68rem;font-weight:800;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.dark .eyebrow{color:var(--gridking-bright)}.ui-button{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:.4rem;padding:.6rem 1rem;font-size:.875rem;font-weight:750;line-height:1;cursor:pointer;transition:background-color .1s,border-color .1s,color .1s}.ui-button:disabled{cursor:not-allowed;opacity:.52}.ui-button-full{width:100%}.ui-button-primary{color:#fff;background:var(--gridking-primary)}.ui-button-primary:hover:not(:disabled){background:var(--gridking-background)}.ui-button-secondary{border-color:var(--line);color:var(--text);background:var(--surface-raised)}.ui-button-secondary:hover:not(:disabled){background:var(--surface-muted)}.ui-button-danger{border-color:#e7b8b3;color:var(--danger);background:#fff8f7}.dark .ui-button-danger{border-color:#7f3933;color:#fecaca;background:#4b211d}.ui-button-ghost{color:var(--gridking-primary);background:transparent}.ui-button-tab{min-height:2.35rem;flex:1;border-radius:.3rem;padding:.5rem .7rem;color:var(--text-muted);background:transparent}.ui-button-tab.ui-button-active{color:#fff;background:var(--gridking-primary)}.ui-button-spinner{width:.9rem;aspect-ratio:1;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .65s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-panel{border:1px solid var(--line);border-radius:.55rem;padding:1.25rem;background:var(--surface-raised)}.ui-panel-compact{padding:.75rem}.error-message{margin:.75rem 0 0;border-left:3px solid #dc2626;border-radius:.25rem;padding:.65rem .75rem;color:#991b1b;background:#fef2f2;font-size:.8rem;font-weight:650}.dark .error-message{color:#fecaca;background:#4b211d}.segmented-control{display:flex;border:1px solid var(--line);border-radius:.42rem;padding:.2rem;background:var(--surface-muted)}.field-label{display:block;margin:0 0 1rem;color:var(--text);font-size:.75rem;font-weight:750}.field-input{display:block;width:100%;min-height:2.75rem;margin-top:.4rem;border:1px solid var(--line);border-radius:.38rem;padding:.6rem .75rem;color:var(--text);background:var(--surface-raised);outline:0}.field-input:focus{border-color:var(--gridking-primary);box-shadow:0 0 0 2px #0478571f}.app-layout{min-height:100dvh}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:13.5rem;flex-direction:column;padding:1rem .75rem;color:#fff;background:var(--gridking-background)}.brand{display:flex;align-items:center;gap:.65rem;padding:.25rem .35rem 1.4rem;color:#fff;font-size:1.05rem;font-weight:850;letter-spacing:-.02em}.brand-mark{display:grid;width:2rem;aspect-ratio:1;place-items:center;border-radius:.35rem;color:var(--gridking-background);background:var(--gridking-accent);font-size:.9rem;font-weight:900}.main-nav{display:grid;gap:.2rem}.main-nav a{display:flex;min-height:2.7rem;align-items:center;gap:.7rem;border-radius:.4rem;padding:.55rem .65rem;color:#ffffffad;font-size:.86rem;font-weight:650}.main-nav a:hover{color:#fff;background:#ffffff12}.main-nav a.nav-active{color:#fff;background:var(--gridking-primary)}.nav-icon{display:grid;width:1.25rem;place-items:center;font-size:1.05rem}.sidebar-profile{display:flex;min-width:0;align-items:center;gap:.65rem;margin-top:auto;border-top:1px solid rgb(255 255 255 / .12);padding:.9rem .35rem .1rem}.sidebar-profile>span:last-child{min-width:0}.sidebar-profile strong,.sidebar-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile strong{font-size:.82rem}.sidebar-profile small{margin-top:.1rem;color:#ffffff8c;font-size:.66rem}.profile-avatar{display:grid;width:2.2rem;flex:0 0 auto;aspect-ratio:1;place-items:center;border-radius:.35rem;color:var(--gridking-background);background:var(--gridking-accent);font-size:.8rem;font-weight:850}.app-content{min-height:100dvh;margin-left:13.5rem}.topbar{position:sticky;top:0;z-index:20;display:flex;min-height:4.5rem;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem clamp(1rem,3vw,2rem);background:#f7f5eff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dark .topbar{background:#0d352bf5}.topbar h1{margin:.12rem 0 0;color:var(--text);font-size:1.35rem;font-weight:800;letter-spacing:-.025em;line-height:1.15}.topbar-subtitle{margin:.12rem 0 0;color:var(--text-muted);font-size:.72rem}.rating-pill{display:flex;align-items:center;gap:.35rem;border:1px solid #e4bd66;border-radius:.38rem;padding:.45rem .65rem;color:#5d4508;background:#fff5d6;font-size:.78rem;font-weight:800}.dark .rating-pill{border-color:#8c6b1f;color:#fef3c7;background:#55420f}.page-content{width:100%;max-width:74rem;margin:0 auto;padding:clamp(1rem,3vw,2rem)}.mobile-nav{display:none}.content-heading{margin-bottom:1.25rem}.content-heading h2{margin:.25rem 0 0;color:var(--text);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.035em}.section-description{max-width:36rem;margin:.4rem 0 0;color:var(--text-muted);font-size:.88rem}.text-center{text-align:center}.text-center .section-description{margin-inline:auto}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.menu-tile{display:flex;min-height:7.5rem;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:.55rem;padding:1.1rem;color:var(--text);background:var(--surface-raised)}.menu-tile:hover{border-color:var(--gridking-primary);background:#f6fbf8}.dark .menu-tile:hover{background:var(--surface-muted)}.menu-tile .tile-icon{display:grid;width:3rem;flex:0 0 auto;aspect-ratio:1;place-items:center;border-radius:.4rem;color:#fff;background:var(--gridking-primary);font-size:1.4rem}.menu-tile-yellow .tile-icon{color:var(--gridking-background);background:var(--gridking-accent)}.menu-tile-cream .tile-icon{color:var(--gridking-background);background:var(--gridking-accent-light)}.menu-tile-dark .tile-icon{background:var(--gridking-background)}.tile-copy{display:flex;min-width:0;flex:1;flex-direction:column}.menu-tile strong{font-size:1rem;font-weight:800}.menu-tile small{margin-top:.22rem;color:var(--text-muted);font-size:.76rem}.menu-tile b{color:var(--text-muted);font-size:1.1rem}.setup-layout{width:100%;max-width:46rem;margin:2vh auto 0;text-align:center}.setup-layout-narrow{max-width:38rem}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.choice-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card{display:flex;width:100%;min-height:9rem;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;text-align:center}.choice-card:hover:not(:disabled){border-color:var(--gridking-primary)}.choice-card-selected{border-color:var(--gridking-primary);background:#eef8f3;box-shadow:inset 0 0 0 1px var(--gridking-primary)}.dark .choice-card-selected{background:var(--surface-muted)}.choice-card-icon{color:var(--gridking-primary);font-size:1.65rem;line-height:1}.choice-card strong{color:var(--text);font-size:1rem;font-weight:800}.choice-card small{color:var(--text-muted);font-size:.72rem}.play-as-label{margin:1.5rem 0 .55rem;font-size:.75rem;font-weight:750}.color-selector{width:100%;max-width:18rem;margin:0 auto 1.25rem}.queue-state{width:100%;max-width:24rem;margin:8vh auto 0;text-align:center}.queue-state .ui-panel{display:grid;justify-items:center;gap:.8rem}.queue-state h2{margin:0;color:var(--text);font-size:1.35rem;font-weight:800}.queue-state p{margin:-.35rem 0 .35rem;color:var(--text-muted);font-size:.82rem}.queue-spinner{width:2rem;aspect-ratio:1;border:3px solid var(--line);border-top-color:var(--gridking-primary);border-radius:50%;animation:ui-spin .7s linear infinite}.game-layout{display:flex;width:min(100%,46rem,calc(100dvh - 17rem));margin-inline:auto;flex-direction:column;gap:.6rem}.game-board{width:100%;min-width:0}.player-strip{display:flex;min-height:3.25rem;align-items:center;gap:.65rem;margin-bottom:.55rem;border:1px solid var(--line);border-radius:.45rem;padding:.45rem .55rem;color:var(--text);background:var(--surface-raised)}.player-copy{display:block;min-width:0;flex:1}.player-strip small,.player-strip strong{display:block}.player-strip small{color:var(--text-muted);font-size:.6rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.player-strip strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.player-strip b{border-radius:.3rem;padding:.3rem .45rem;color:#5d4508;background:#fff5d6;font-size:.72rem}.game-panel{width:100%}.game-panel .ui-panel{display:flex;min-height:3.5rem;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.55rem .65rem}.game-panel-copy{min-width:0;flex:1}.game-panel-copy h2{margin:.08rem 0 0;color:var(--text);font-size:.9rem;font-weight:800}.game-panel-copy>p:last-of-type{margin:.08rem 0 0;overflow:hidden;color:var(--text-muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.game-panel app-error-message{flex-basis:100%}.game-panel .error-message{margin-top:0}.game-panel app-button{flex:0 0 auto}.game-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:.4rem}.game-notice{margin:-.3rem 0 0;border-radius:.35rem;padding:.55rem .7rem;color:var(--text-muted);background:var(--surface-muted);font-size:.7rem}.clock-row{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.45rem}.game-clock{display:flex;min-height:2.6rem;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:.4rem;padding:.4rem .6rem;color:var(--text-muted);background:var(--surface-raised)}.game-clock small{font-size:.62rem;font-weight:750;text-transform:uppercase}.game-clock strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.05rem}.game-clock-active{border-color:var(--gridking-primary)}.game-clock-active strong{color:var(--gridking-primary)}.game-clock-low strong{color:#b42318}.move-history{border:1px solid var(--line);border-radius:.5rem;background:var(--surface-raised)}.move-history>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:.55rem .7rem}.move-history>header strong{font-size:.78rem}.move-history>header small,.move-history-empty{color:var(--text-muted);font-size:.65rem}.move-history-empty{margin:0;padding:.8rem}.move-list{display:grid;max-height:8.5rem;grid-template-columns:repeat(4,minmax(0,1fr));overflow:auto;padding:.35rem}.move-list button{display:flex;align-items:center;gap:.25rem;border:0;border-radius:.25rem;padding:.38rem .4rem;color:var(--text);background:transparent;cursor:pointer;text-align:left}.move-list button:hover,.move-list button.move-selected{background:var(--surface-muted)}.move-list button span,.move-list button small{color:var(--text-muted);font-size:.58rem}.move-list button strong{font-size:.66rem}.captured-pieces{display:inline-flex;gap:.1rem}.captured-pieces i{display:block;width:.35rem;aspect-ratio:1;border-radius:50%}.captured-pieces i.captured-red{background:#e11d48}.captured-pieces i.captured-black{background:#1e293b}.personality-selector{width:100%;max-width:34rem;margin:0 auto .35rem}.selector-help{min-height:1rem;margin:0 auto .75rem;color:var(--text-muted);font-size:.66rem}.board-frame{display:grid;width:100%;height:auto;aspect-ratio:1 / 1;flex:0 0 auto;grid-template:repeat(8,minmax(0,1fr)) / repeat(8,minmax(0,1fr));overflow:hidden;border:.35rem solid var(--gridking-background);border-radius:.35rem;background:var(--gridking-background)}.board-square{position:relative;display:grid;width:100%;height:100%;min-width:0;min-height:0;place-items:center;border:0;padding:8%}.board-square:disabled{opacity:1}.light-square{background:var(--gridking-accent-light)}.dark-square{background:var(--gridking-bright);cursor:pointer}.dark-square:nth-child(4n+2),.dark-square:nth-child(4n+3){background:var(--gridking-primary)}.move-target:after{content:"";position:absolute;width:24%;aspect-ratio:1;border-radius:50%;background:var(--gridking-accent);animation:pulse-target .5s infinite alternate}.selected-square{box-shadow:inset 0 0 0 clamp(.16rem,.7vw,.3rem) var(--gridking-accent)}.piece{position:relative;z-index:1;display:grid;width:76%;aspect-ratio:1;place-items:center;border:clamp(.1rem,.4vw,.22rem) solid;border-radius:50%;transition:transform .08s ease-out;will-change:transform}.board-square:not(:disabled):hover .piece{transform:translateY(-3%)}.red-piece{border-color:#881337;background:#e11d48}.black-piece{border-color:#020617;background:#1e293b}.crown{color:var(--gridking-accent);font-size:clamp(.7rem,3.4vw,1.8rem);line-height:1}@keyframes pulse-target{to{transform:scale(1.18)}}.leaderboard-layout{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:1rem;align-items:start}.profile-card{text-align:center}.profile-card-avatar{display:grid;width:3.5rem;margin:0 auto;aspect-ratio:1;place-items:center;border-radius:.45rem;color:var(--gridking-background);background:var(--gridking-accent);font-size:1.2rem;font-weight:850}.profile-card h2{margin:.8rem 0 .1rem;color:var(--text);font-size:1.15rem;font-weight:800}.profile-card>.ui-panel>p{margin:0;color:var(--text-muted);font-size:.75rem}.profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin-top:1rem}.stat{border:1px solid var(--line);border-radius:.35rem;padding:.55rem .25rem;background:var(--surface)}.stat strong,.stat small{display:block}.stat strong{color:var(--text);font-size:.95rem;font-weight:800}.stat small{margin-top:.12rem;color:var(--text-muted);font-size:.55rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.leaderboard-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:.8rem}.leaderboard-header h2{margin:.2rem 0 0;color:var(--text);font-size:1.2rem;font-weight:800}.leaderboard-header>span:last-child{color:var(--gridking-primary);font-size:1.3rem}.loading-state{padding:2rem;color:var(--text-muted);text-align:center}.rank-row{display:flex;min-height:3.25rem;align-items:center;gap:.7rem;border-bottom:1px solid var(--line);padding:.45rem .35rem}.rank-row:last-child{border-bottom:0}.rank-row.current-player{border-radius:.35rem;background:#eef8f3}.dark .rank-row.current-player{background:var(--surface-muted)}.rank-number{display:grid;width:1.7rem;flex:0 0 auto;aspect-ratio:1;place-items:center;border-radius:.3rem;color:var(--text-muted);background:var(--surface-muted);font-size:.68rem;font-weight:800}.rank-player{display:block;min-width:0;flex:1}.rank-player strong,.rank-player small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-player strong{color:var(--text);font-size:.78rem}.rank-player small{color:var(--text-muted);font-size:.65rem}.rank-rating{color:var(--text);font-size:.78rem}.scrollable-container{max-width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gridking-primary) transparent}.settings-layout{width:100%;max-width:38rem}.settings-list{display:grid;gap:.5rem}.setting-row{display:flex;width:100%;min-height:4rem;align-items:center;justify-content:space-between;gap:1rem;border:0;border-bottom:1px solid var(--line);padding:.65rem .2rem;color:var(--text);background:transparent;cursor:pointer;text-align:left}.setting-row:last-child{border-bottom:0}.setting-row span:first-child{display:flex;min-width:0;flex-direction:column}.setting-row strong{font-size:.86rem}.setting-row small{margin-top:.2rem;color:var(--text-muted);font-size:.7rem}.toggle{position:relative;width:2.25rem;height:1.25rem;flex:0 0 auto;border-radius:1rem;background:#aeb9b4}.toggle i{position:absolute;top:.15rem;left:.15rem;width:.95rem;aspect-ratio:1;border-radius:50%;background:#fff;transition:transform .12s}.toggle-on{background:var(--gridking-primary)}.toggle-on i{transform:translate(1rem)}.settings-note{margin:.75rem 0 1.25rem;color:var(--text-muted);font-size:.72rem}.global-invite{position:fixed;right:1rem;bottom:1rem;z-index:70;display:grid;width:min(22rem,calc(100vw - 2rem));gap:.25rem;border:1px solid var(--gridking-primary);border-radius:.5rem;padding:.85rem;color:var(--text);background:var(--surface-raised);box-shadow:0 .8rem 2rem #064e3b33}.global-invite strong{font-size:.85rem}.global-invite small{color:var(--text-muted);font-size:.68rem}.global-invite>span{display:flex;justify-content:end;gap:.4rem;margin-top:.35rem}.global-invite button{border:1px solid var(--line);border-radius:.3rem;padding:.4rem .65rem;color:var(--text);background:var(--surface);cursor:pointer;font-size:.7rem;font-weight:750}.global-invite button.accept{border-color:var(--gridking-primary);color:#fff;background:var(--gridking-primary)}.panel-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:.75rem}.panel-heading h2,.panel-title{margin:.2rem 0 0;color:var(--text);font-size:1.1rem;font-weight:800}.panel-heading>small{display:grid;width:1.7rem;aspect-ratio:1;place-items:center;border-radius:.3rem;color:var(--text-muted);background:var(--surface-muted);font-size:.68rem;font-weight:800}.empty-state{margin:.5rem 0;padding:1rem;color:var(--text-muted);font-size:.76rem;text-align:center}.friends-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1rem;align-items:start}.friends-sidebar{display:grid;gap:1rem}.friend-list{display:grid}.friend-row{display:flex;min-width:0;align-items:center;gap:.65rem;border-bottom:1px solid var(--line);padding:.65rem 0}.friend-row:last-child{border-bottom:0}.friend-copy{display:block;min-width:0;flex:1}.friend-copy strong,.friend-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-copy strong{font-size:.78rem}.friend-copy small{color:var(--text-muted);font-size:.63rem}.presence-dot{width:.55rem;aspect-ratio:1;border-radius:50%;background:#9ca3af}.presence-dot.online{background:var(--gridking-bright)}.presence-dot.in-game{background:var(--gridking-accent)}.friend-actions{display:flex;align-items:center;gap:.3rem}.friend-actions .ui-button{min-height:2rem;padding:.35rem .55rem;font-size:.66rem}.icon-action{border:0;padding:.3rem;color:var(--text-muted);background:transparent;cursor:pointer;font-size:1rem}.friend-search{display:flex;gap:.4rem;margin-top:.8rem}.friend-search .field-input{min-height:2.65rem;margin:0}.search-results{display:grid;margin-top:.5rem}.search-results>div,.request-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--line);padding:.55rem 0}.search-results span,.request-row>span:first-child{min-width:0}.search-results strong,.search-results small,.request-row strong,.request-row small{display:block}.search-results strong,.request-row strong{font-size:.72rem}.search-results small,.request-row small{color:var(--text-muted);font-size:.6rem}.request-row>span:last-child{display:flex;gap:.2rem}.request-row .ui-button,.search-results .ui-button{min-height:2rem;padding:.35rem .5rem;font-size:.64rem}.puzzle-layout{display:flex;width:100%;min-height:calc(100dvh - 8.5rem);flex-direction:column;align-items:center;gap:.65rem}.puzzle-layout>.game-board{width:min(100%,44rem,calc(100dvh - 15rem))}.puzzle-panel{width:min(100%,44rem)}.puzzle-panel .ui-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1rem;padding:.7rem .85rem}.puzzle-panel .eyebrow,.puzzle-panel h2,.puzzle-panel p{grid-column:1}.puzzle-panel h2{margin:.15rem 0;color:var(--text);font-size:1rem;font-weight:800}.puzzle-panel p{margin:0;color:var(--text-muted);font-size:.7rem}.puzzle-streak{grid-column:2;grid-row:1 / 4;display:flex;align-items:baseline;gap:.35rem;margin-top:0;border-left:1px solid var(--line);padding-left:1rem}.puzzle-streak strong{color:var(--gridking-primary);font-size:1.45rem}.puzzle-streak small{color:var(--text-muted)}.puzzle-feedback{grid-column:1 / -1;margin-top:.55rem;border-radius:.35rem;padding:.5rem .6rem;background:var(--surface-muted)}.puzzle-feedback.correct{color:var(--gridking-primary);background:#ecfdf5}.history-list{display:grid;gap:.45rem;max-width:48rem}.history-row{display:flex;width:100%;align-items:center;gap:.75rem;border:1px solid var(--line);border-radius:.45rem;padding:.7rem;color:var(--text);background:var(--surface-raised);cursor:pointer;text-align:left}.history-row:hover{border-color:var(--gridking-primary)}.history-result{display:grid;width:2rem;aspect-ratio:1;place-items:center;border-radius:.3rem;color:#fff;background:#b42318;font-size:.72rem;font-weight:850}.history-result.win{background:var(--gridking-primary)}.history-row>span:nth-child(2){min-width:0;flex:1}.history-row strong,.history-row small{display:block}.history-row strong{font-size:.8rem;text-transform:capitalize}.history-row small{margin-top:.1rem;color:var(--text-muted);font-size:.64rem}.history-row b{color:var(--text-muted)}.replay-layout{display:grid;grid-template-columns:minmax(0,min(100%,39rem,calc(100dvh - 11rem))) minmax(16rem,21rem);gap:1rem;align-items:start;justify-content:center}.replay-controls{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:.55rem}.replay-controls .ui-button{min-height:2.1rem;padding:.35rem .55rem}.replay-controls strong{min-width:4rem;color:var(--text-muted);font-size:.7rem;text-align:center}.replay-sidebar{display:grid;gap:.6rem}.replay-meta{margin:.3rem 0 0;color:var(--text-muted);font-size:.7rem;text-transform:capitalize}.analysis-card{display:grid;gap:.2rem;margin-top:1rem;border-left:3px solid var(--gridking-primary);border-radius:.25rem;padding:.6rem .7rem;background:var(--surface-muted)}.analysis-card strong{color:var(--gridking-primary);font-size:.8rem;text-transform:capitalize}.analysis-card span,.analysis-card small{color:var(--text-muted);font-size:.66rem}.analysis-card[data-classification=mistake],.analysis-card[data-classification=blunder]{border-color:#b42318}.analysis-card[data-classification=mistake] strong,.analysis-card[data-classification=blunder] strong{color:#b42318}.achievements-panel{grid-column:1 / -1}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.achievement{display:flex;align-items:center;gap:.65rem;border:1px solid var(--line);border-radius:.4rem;padding:.65rem}.achievement>span{display:grid;width:1.8rem;aspect-ratio:1;place-items:center;border-radius:50%;color:#fff;background:var(--gridking-primary);font-size:.7rem}.achievement strong,.achievement small{display:block}.achievement strong{font-size:.75rem}.achievement small{color:var(--text-muted);font-size:.62rem}.auth-layout{display:grid;min-height:100dvh;grid-template-columns:minmax(0,1fr) minmax(22rem,30rem);background:var(--surface)}.auth-hero{position:relative;display:flex;min-height:100dvh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(1.5rem,5vw,4rem);color:#fff;background:var(--gridking-background)}.auth-brand{padding:0}.auth-message{position:relative;z-index:1;max-width:38rem}.auth-message .eyebrow{color:var(--gridking-accent)}.auth-hero h1{margin:.7rem 0 0;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:850;letter-spacing:-.06em;line-height:.9}.auth-hero h1 span{color:var(--gridking-accent)}.auth-message>p:last-child{max-width:30rem;margin:1rem 0 0;color:#ffffffa6;font-size:.95rem}.auth-board{position:absolute;right:-5rem;bottom:-7rem;display:grid;width:min(38vw,28rem);aspect-ratio:1;grid-template:repeat(8,1fr) / repeat(4,1fr);overflow:hidden;border:.4rem solid #033a2d;border-radius:.35rem;opacity:.16;transform:rotate(-8deg)}.auth-board span{background:var(--gridking-accent-light)}.auth-board span.preview-dark{background:var(--gridking-bright)}.auth-form-side{display:grid;min-height:100dvh;place-items:center;padding:clamp(1rem,4vw,2.5rem)}.auth-card{width:100%;max-width:25rem}.auth-card .ui-panel{padding:clamp(1.25rem,4vw,1.75rem)}.auth-card h2{margin:.3rem 0 0;color:var(--text);font-size:1.45rem;font-weight:800;letter-spacing:-.03em}.auth-tabs{margin:1.25rem 0}@media(max-width:800px){.app-sidebar{display:none}.app-content{margin-left:0;padding-bottom:4.25rem}.topbar{min-height:3.8rem;padding:.55rem .85rem}.topbar .eyebrow,.topbar-subtitle{display:none}.topbar h1{margin:0;font-size:1.08rem}.page-content{padding:.85rem}.mobile-nav{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgb(255 255 255 / .12);padding:.2rem max(.2rem,env(safe-area-inset-right)) max(.2rem,env(safe-area-inset-bottom)) max(.2rem,env(safe-area-inset-left));color:#ffffff94;background:var(--gridking-background)}.mobile-nav a{display:grid;min-height:3.4rem;place-items:center;align-content:center;gap:.12rem;border-radius:.3rem;color:#ffffffb8;font-size:.95rem;line-height:1}.mobile-nav a.nav-active{color:var(--gridking-accent);background:#ffffff0f}.mobile-nav small{font-size:.52rem;font-weight:750;letter-spacing:.01em;line-height:1.15}.dashboard-grid{grid-template-columns:1fr;gap:.55rem}.menu-tile{min-height:5.5rem;padding:.8rem}.choice-grid-three{grid-template-columns:1fr}.choice-card{min-height:5rem;flex-direction:row;justify-content:flex-start;padding:.8rem;text-align:left}.choice-card-icon{width:2rem}.choice-card small{margin-left:auto}.game-layout{width:min(100%,calc(100dvh - 17.5rem))}.game-panel-copy>p:last-of-type{display:none}.leaderboard-layout,.friends-layout,.replay-layout{grid-template-columns:1fr}.puzzle-layout{min-height:calc(100dvh - 8rem)}.puzzle-layout>.game-board{width:min(100%,calc(100dvh - 14rem));margin-inline:auto}.replay-board{width:min(100%,calc(100dvh - 9rem));margin-inline:auto}.friend-actions{flex-wrap:wrap;justify-content:end}.move-list{grid-template-columns:repeat(3,minmax(0,1fr))}.global-invite{right:.6rem;bottom:4.2rem}.profile-card .ui-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.8rem;text-align:left}.profile-card-avatar{grid-row:1 / 3;margin:0}.profile-card h2{margin:0}.profile-stats{grid-column:1 / -1;width:100%}.auth-layout{display:block}.auth-hero{min-height:12rem;padding:1.25rem}.auth-message{margin-top:2rem}.auth-hero h1{font-size:clamp(2.2rem,12vw,3.3rem)}.auth-message>p:last-child{display:none}.auth-board{width:15rem;right:-6rem;bottom:-7rem}.auth-form-side{min-height:auto;padding:1rem}}@media(max-width:800px)and (max-height:520px){.app-content{padding-bottom:3.75rem}.topbar{min-height:3.25rem}.page-content{padding:.5rem}.mobile-nav a{min-height:3rem}.game-layout{width:min(100%,calc(100dvh - 14rem));gap:.4rem}.player-strip{min-height:2.65rem;margin-bottom:.35rem;padding-block:.3rem}.game-panel .ui-panel{min-height:2.8rem;padding-block:.35rem}.game-panel-copy .eyebrow{display:none}}@media(max-width:460px){.choice-grid{grid-template-columns:1fr}.rating-pill{padding:.4rem .5rem}.game-panel .ui-panel{gap:.5rem}.game-panel .ui-button{min-height:2.35rem;padding-inline:.7rem}.game-actions{width:100%}.puzzle-panel .ui-panel{grid-template-columns:1fr}.puzzle-streak{grid-column:1;grid-row:auto;margin-top:.55rem;border-top:1px solid var(--line);border-left:0;padding-top:.55rem;padding-left:0}.personality-selector{display:grid;grid-template-columns:repeat(2,1fr)}.move-list,.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-row{align-items:flex-start;flex-wrap:wrap}.friend-actions{width:100%;padding-left:2.85rem;justify-content:start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-font-weight: initial}}}
