:root{--radius:14px;--radius-sm:10px;--sidebar-w:248px;--sidebar-w-collapsed:72px;line-height:1.5}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0}a{color:var(--link)}.admin-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);color:var(--sidebar-ink);flex-direction:column;flex-shrink:0;gap:4px;height:100dvh;padding:20px 14px;transition:width .22s cubic-bezier(.32,.72,0,1),padding .22s cubic-bezier(.32,.72,0,1);display:flex;position:sticky;top:0}.brand{color:var(--sidebar-active);flex:1;align-items:center;gap:10px;min-width:0;margin-bottom:8px;padding:10px 12px;font-size:15px;font-weight:700;display:flex}.brand-label,.nav-label{text-overflow:ellipsis;white-space:nowrap;transition:opacity .15s;overflow:hidden}.sidebar-collapse,.mobile-collapse-toggle{display:none}.nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-section);padding:14px 12px 6px;font-size:10px;font-weight:700}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--sidebar-ink);align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--nav-hover-bg);color:var(--sidebar-active)}.nav-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active);font-weight:600}.nav-icon{opacity:1;width:18px;height:18px;color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-link.active .nav-icon{opacity:1}.sidebar-foot{border-top:1px solid var(--sidebar-border);flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;font-size:12px;display:flex}.admin-meta strong{color:var(--sidebar-active);font-size:13px;display:block}.admin-meta span{color:var(--sidebar-muted);display:block}.sidebar-foot .link-quiet{color:var(--sidebar-muted)}.sidebar-foot .btn-ghost{color:var(--sidebar-muted);padding-left:12px}.main{flex:1;width:100%;max-width:1440px;padding:28px 36px 48px;overflow:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-header-actions{flex-shrink:0;gap:10px;display:flex}.page-title{letter-spacing:-.02em;margin:0 0 6px;font-size:26px;font-weight:800}.page-sub{color:var(--text-secondary);max-width:56ch;margin:0;font-size:14px}.section-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 0 16px;font-size:13px;font-weight:700}.cards{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px;margin-bottom:24px;display:grid}.cards--hub,.cards--hub-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card-link{color:inherit;height:100%;text-decoration:none;display:block}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);box-sizing:border-box;height:100%;min-height:96px;padding:18px 20px;transition:border-color .15s,box-shadow .15s}.stat-card-link:hover .stat-card{border-color:var(--primary);box-shadow:var(--shadow-md)}.stat-card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;max-width:100%;font-size:11px;font-weight:600;line-height:1.25}.stat-card-body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.stat-card .value{color:var(--primary-deep);letter-spacing:-.02em;margin-top:0;font-size:30px;font-weight:800;line-height:1.1}.stat-card--danger .value{color:var(--danger)}.stat-hint{color:var(--muted);margin-top:4px;font-size:12px;display:block}.module-grid{gap:16px;margin-bottom:24px;display:grid}.module-grid--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.module-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px}.module-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.module-title{margin:0;font-size:15px;font-weight:700}.module-foot{color:var(--ink-mute);margin:12px 0 0;font-size:12px}.mgmt-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:28px;display:grid}.mgmt-tile{color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:block}.mgmt-tile:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.mgmt-tile-icon{margin-bottom:10px;font-size:22px}.mgmt-tile h3{margin:0 0 6px;font-size:15px}.mgmt-tile p{color:var(--ink-soft);margin:0;font-size:13px}.health-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.health-metric{color:var(--text-secondary);font-size:14px}.mini-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.mini-stat-value{color:var(--text);font-size:24px;font-weight:800;display:block}.mini-stat-label{color:var(--ink-mute);font-size:12px}.rank-list,.activity-list{margin:0;padding:0;list-style:none}.rank-list li,.activity-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.rank-list li:last-child,.activity-list li:last-child{border-bottom:none}.rank-num{background:var(--primary-wash);width:22px;height:22px;color:var(--primary-deep);border-radius:6px;place-items:center;font-size:11px;font-weight:700;display:grid}.rank-label{flex:1}.rank-value{color:var(--text-secondary);font-weight:700}.activity-primary{font-weight:600;display:block}.activity-meta{color:var(--muted);font-size:12px;display:block}.empty-text{color:var(--muted);margin:0;font-size:14px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:auto}.table-wrap--flush{box-shadow:none;background:0 0;border:none}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:12px 16px}th{background:var(--surface-alt);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}tbody tr:hover td{background:var(--bg-elevated)}.cell-muted{color:var(--muted);font-size:12px}.empty-cell{text-align:center;color:var(--muted);padding:32px!important}.btn,.btn-secondary,.btn-ghost{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600}.btn{background:var(--primary-deep);color:var(--btn-fg)}.btn:hover{filter:brightness(1.05)}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border-strong)}.btn-ghost{color:var(--text-secondary);text-align:left;background:0 0}.link-quiet{color:var(--link);font-size:13px;font-weight:600;text-decoration:none}.link-quiet:hover{color:var(--link-hover);text-decoration:underline}.input,.select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;margin-bottom:12px;padding:10px 12px;font-family:inherit;font-size:14px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .input{max-width:280px;margin:0}.error-banner{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px;font-size:14px}.success-banner{background:var(--success-bg);color:var(--success);border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px;font-size:14px}.badge{background:var(--primary-wash);color:var(--primary-deep);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.badge.muted{background:var(--badge-muted-bg);color:var(--badge-muted-fg)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.status-badge{border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.status-badge:before{content:"";border-radius:50%;width:8px;height:8px}.status-badge--ok{background:var(--success-bg);color:var(--success)}.status-badge--ok:before{background:var(--success)}.status-badge--error{background:var(--danger-bg);color:var(--danger)}.status-badge--error:before{background:var(--danger)}.status-badge--warn{background:var(--warn-bg);color:var(--warn)}.status-badge--warn:before{background:var(--warn)}.status-badge--muted{background:var(--surface-alt);color:var(--text-secondary)}.status-badge--muted:before{background:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:22px}.panel h3{margin:0 0 12px;font-size:16px}.login-page{background:var(--bg);place-items:center;min-height:100vh;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:min(420px,92vw);box-shadow:var(--shadow-md);border-radius:18px;padding:36px}.login-card h1{margin:12px 0 4px;font-size:24px}.login-card p{color:var(--ink-soft);margin:0 0 20px;font-size:14px}.form-row label{color:var(--ink-mute);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.challenge-row{grid-template-columns:1fr 80px 80px auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.checkbox-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.game-editor label{color:var(--ink-mute);margin-bottom:4px;font-size:12px;display:block}.editor-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.editor-grid .input,.editor-grid .select{margin-bottom:0}.loading-block{color:var(--ink-mute);align-items:center;gap:12px;padding:40px;font-size:14px;display:flex}.loading-spinner{border:2px solid var(--border);border-top-color:var(--primary-deep);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{background:var(--overlay-backdrop);z-index:100;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:min(640px,100%);max-height:90vh;overflow:auto}.modal-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.form-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.form-grid label{color:var(--ink-mute);flex-direction:column;gap:4px;font-size:12px;display:flex}.form-grid .full-width{grid-column:1/-1}.btn-primary{background:var(--primary-deep);color:var(--btn-fg);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:9px 16px;font-weight:600}.row-actions{flex-wrap:wrap;gap:6px;display:flex}td.row-actions{vertical-align:middle;white-space:nowrap;display:table-cell}td.row-actions .btn,td.row-actions .btn-ghost{vertical-align:middle;display:inline-flex}.games-catalog-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-alt) 40%, transparent)}.games-catalog-table tbody tr:hover td{background:var(--bg-elevated)}.leaderboards-page{flex-direction:column;gap:16px;display:flex}.leaderboard-hero{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:var(--radius);background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 14%, transparent), transparent 34%), var(--surface);box-shadow:var(--shadow-sm);justify-content:space-between;gap:18px;margin-bottom:16px;padding:20px 22px;display:flex}.leaderboard-eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:inline-flex}.leaderboard-hero-title{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:800}.leaderboard-hero-sub{color:var(--ink-soft);margin:6px 0 0;font-size:14px}.leaderboard-hero-stats{grid-template-columns:repeat(3,minmax(90px,1fr));gap:10px;min-width:min(420px,100%);display:grid}.leaderboard-hero-stats span{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface2) 78%, transparent);min-height:76px;color:var(--ink-mute);flex-direction:column;justify-content:center;padding:12px 14px;font-size:12px;display:flex}.leaderboard-hero-stats strong{color:var(--text);font-size:22px;line-height:1.1}.leaderboard-tabs{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:4px;width:fit-content;margin-bottom:16px;padding:4px;display:inline-flex}.leaderboard-tab{border:1px solid var(--border);background:var(--surface2);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.leaderboard-tab:hover:not(:disabled){color:var(--text);background:var(--surface-alt);border-color:var(--border-strong)}.leaderboard-tab.active{color:var(--accent-on);background:var(--primary-deep);border-color:var(--primary-deep)}.leaderboard-table table{min-width:780px}.leaderboard-rank{background:var(--surface-alt);min-width:42px;height:30px;color:var(--ink-soft);border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.leaderboard-rank--podium{background:var(--primary-wash);color:var(--primary-deep)}.leaderboard-player{flex-direction:column;min-width:0;display:flex}.leaderboard-player-name{width:fit-content;font-weight:700;text-decoration:none}.leaderboard-player-id{text-overflow:ellipsis;white-space:nowrap;max-width:260px;display:block;overflow:hidden}.leaderboard-score{color:var(--accent-hover);font-size:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-content{flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex}.mobile-topbar,.mobile-bottom-nav,.nav-backdrop{display:none}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.sidebar-close{display:none}.sidebar-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:hidden auto}@media (width>=901px){.sidebar-collapse{width:30px;height:30px;color:color-mix(in srgb, var(--sidebar-ink) 72%, transparent);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;place-items:center;padding:0;font-family:inherit;transition:background .15s,color .15s;display:grid}.sidebar-collapse:hover{background:color-mix(in srgb, var(--sidebar-active) 12%, transparent);color:var(--sidebar-active)}.sidebar-collapse:focus-visible{outline:2px solid color-mix(in srgb, var(--sidebar-active) 55%, transparent);outline-offset:2px}.sidebar-collapse-icon{pointer-events:none;justify-content:center;align-items:center;display:flex}.sidebar-collapse-icon svg{transition:transform .22s cubic-bezier(.32,.72,0,1);display:block}.admin-shell.sidebar-collapsed .sidebar{width:var(--sidebar-w-collapsed);padding:16px 8px}.admin-shell.sidebar-collapsed .brand{flex:none;justify-content:center;width:100%;margin-bottom:4px;padding:8px 4px}.admin-shell.sidebar-collapsed .brand-label,.admin-shell.sidebar-collapsed .nav-section-label,.admin-shell.sidebar-collapsed .nav-label,.admin-shell.sidebar-collapsed .admin-meta{display:none}.admin-shell.sidebar-collapsed .sidebar-top{flex-direction:column;align-items:center;gap:6px}.admin-shell.sidebar-collapsed .nav-link{justify-content:center;gap:0;padding:10px 8px}.admin-shell.sidebar-collapsed .nav-section{margin-bottom:4px}.admin-shell.sidebar-collapsed .sidebar-foot-link,.admin-shell.sidebar-collapsed .sidebar-foot-btn{justify-content:center;width:100%;padding:10px 8px}.admin-shell.sidebar-collapsed .sidebar-foot{align-items:center}.admin-shell.sidebar-collapsed .sidebar-collapse-icon svg{transform:rotate(180deg)}.admin-shell.sidebar-collapsed .sidebar-collapse{width:34px;height:34px}}.btn-ghost--block{text-align:left;border-radius:var(--radius-sm);width:100%;padding:10px 12px}.btn-ghost--block:hover{background:var(--nav-hover-bg)}.table-scroll-hint{display:none}@media (width<=900px){.admin-shell{flex-direction:row}.mobile-topbar{z-index:40;padding:max(10px, env(safe-area-inset-top)) 12px 10px 16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:12px;display:flex;position:sticky;top:0}.menu-toggle{border-radius:var(--radius-sm);background:var(--surface-alt);cursor:pointer;border:none;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;width:44px;height:44px;margin:-6px 0 -6px -6px;padding:10px;display:flex}.menu-toggle-bar{background:var(--ink);border-radius:1px;width:20px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-open .menu-toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.nav-open .menu-toggle-bar:nth-child(2){opacity:0}.nav-open .menu-toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-topbar-title{flex-direction:column;min-width:0;line-height:1.25;display:flex}.mobile-topbar-app{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);font-size:11px;font-weight:700}.mobile-topbar-page{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;overflow:hidden}.nav-backdrop{z-index:48;background:var(--overlay-backdrop);opacity:0;pointer-events:none;cursor:pointer;border:none;margin:0;padding:0;transition:opacity .25s;display:block;position:fixed;inset:0}.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.sidebar{z-index:50;width:min(300px,88vw);max-width:100%;height:100dvh;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));padding-left:max(14px, env(safe-area-inset-left));transition:transform .28s cubic-bezier(.32,.72,0,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:8px 0 32px #0003}.nav-open .sidebar{transform:translate(0)}.sidebar-close{border-radius:var(--radius-sm);background:var(--nav-hover-bg);width:40px;height:40px;color:var(--sidebar-active);cursor:pointer;border:none;flex-shrink:0;place-items:center;font-size:18px;display:grid}.brand{flex:1;min-width:0;margin-bottom:0}.brand-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-shell.sidebar-collapsed.nav-open .brand-label,.admin-shell.sidebar-collapsed.nav-open .nav-section-label,.admin-shell.sidebar-collapsed.nav-open .nav-label,.admin-shell.sidebar-collapsed.nav-open .admin-meta{display:block}.admin-shell.sidebar-collapsed.nav-open .nav-link{justify-content:flex-start;gap:10px;padding:10px 12px}.admin-shell.sidebar-collapsed.nav-open .sidebar{width:min(300px,88vw);padding-top:max(16px, env(safe-area-inset-top));padding-left:max(14px, env(safe-area-inset-left));padding-right:14px;padding-bottom:max(16px, env(safe-area-inset-bottom))}.sidebar-foot{padding-bottom:env(safe-area-inset-bottom);flex-shrink:0}.main{padding:16px max(16px, env(safe-area-inset-right)) calc(88px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex:1}.mobile-bottom-nav{z-index:38;padding:6px max(8px, env(safe-area-inset-left)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));background:color-mix(in srgb, var(--surface) 92%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);justify-content:space-around;align-items:stretch;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #00000014}.mobile-bottom-nav-item{max-width:88px;min-height:52px;color:var(--ink-mute);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-family:inherit;font-size:10px;font-weight:700;text-decoration:none;transition:background .15s,color .15s;display:flex}.mobile-bottom-nav-item .nav-icon{opacity:.72}.mobile-bottom-nav-item.active,.mobile-bottom-nav-item--menu.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent)}.mobile-bottom-nav-item.active .nav-icon,.mobile-bottom-nav-item--menu.active .nav-icon{opacity:1}.mobile-bottom-nav-item--menu{appearance:none}.page-header{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:20px}.page-header-actions{width:100%}.page-header-actions .btn,.page-header-actions .btn-secondary{justify-content:center;width:100%;min-height:44px}.page-title{font-size:22px}.cards,.cards--hub,.cards--hub-4{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px 16px}.stat-card .value{font-size:24px}.module-grid--2,.mgmt-grid{grid-template-columns:1fr}.mini-stats{grid-template-columns:1fr;gap:16px}.mini-stat-value{font-size:20px}.health-row{flex-direction:column;align-items:flex-start}.toolbar{flex-direction:column;align-items:stretch}.toolbar .input{width:100%;max-width:none;min-height:44px;margin-bottom:0}.toolbar .btn,.toolbar .btn-secondary,.toolbar .btn-ghost{text-align:center;width:100%;min-height:44px}.table-wrap{border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch}.table-wrap:not(.table-wrap--stack):before{content:"Swipe to see more columns →";color:var(--ink-mute);margin:0 0 8px;padding:0 4px;font-size:12px;display:block}.table-wrap--stack{overflow:visible}.table-wrap--stack:before{display:none}.table-wrap--stack table{width:100%;min-width:0}.table-wrap--stack thead{display:none}.table-wrap--stack tbody tr{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);align-items:stretch;margin-bottom:12px;display:flex;overflow:hidden}.table-wrap--stack tbody tr:nth-child(2n){background:var(--surface-alt)}.table-wrap--stack tbody tr:has(.empty-cell){box-shadow:none;background:0 0;border:none}.table-wrap--stack td{border:none;border-right:1px solid var(--border);text-align:left;background:0 0;flex:auto;min-width:0;padding:11px 14px;display:block}.table-wrap--stack td:last-child{border-right:none}.table-wrap--stack td:before{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);margin-bottom:4px;font-size:10px;font-weight:700;line-height:1.35;display:block}.table-wrap--stack td:not([data-label]):before,.table-wrap--stack td[data-label=""]:before{display:none}.table-wrap--stack td.td-actions,.table-wrap--stack td.row-actions{background:0 0;padding:11px 14px;display:block}.table-wrap--stack td.td-actions .row-actions,.table-wrap--stack td.row-actions .row-actions{flex-flow:wrap;align-items:center;gap:8px;display:flex}.table-wrap--stack td.td-actions:before,.table-wrap--stack td.row-actions:before{display:none}.table-wrap--stack td.td-actions .btn,.table-wrap--stack td.row-actions .btn{justify-content:center;width:100%;min-height:40px}.table-wrap--stack td.row-actions .btn-ghost.danger{color:var(--danger)}.table-wrap--stack td.empty-cell{text-align:center;color:var(--ink-mute);padding:20px 14px;display:block}.table-wrap--stack td.empty-cell:before{display:none}.table-wrap:not(.table-wrap--stack) table{min-width:520px;font-size:13px}.table-wrap--stack table{font-size:14px}th,td{padding:10px 12px}.challenge-row{grid-template-columns:1fr;gap:10px}.form-grid,.editor-grid{grid-template-columns:1fr}.panel{padding:16px}.login-card{border-radius:var(--radius);padding:28px 22px}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:92dvh;margin:0}.modal-actions{flex-direction:column-reverse}.modal-actions .btn,.modal-actions .btn-ghost,.modal-actions .btn-primary{width:100%;min-height:44px}.module-head{flex-direction:column;align-items:flex-start}.leaderboard-hero{flex-direction:column;padding:16px}.leaderboard-hero-stats{grid-template-columns:1fr;min-width:0}.leaderboard-tabs{width:100%;display:flex}.leaderboard-tab{flex:1}.rank-list li,.activity-list li{flex-wrap:wrap}.btn,.btn-secondary{min-height:44px}}@media (width<=400px){.cards{grid-template-columns:1fr}.stat-card .value{font-size:28px}}.user-detail-page{--user-accent:color-mix(in srgb, var(--accent) 76%, var(--accent-2))}.user-detail-page--refreshing{opacity:.72;pointer-events:none;transition:opacity .15s}.user-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.detail-skeleton{flex-direction:column;gap:16px;display:flex}.detail-skeleton-hero{border-radius:var(--radius);height:140px}.detail-skeleton-stats{border-radius:var(--radius);height:96px}.detail-skeleton-panel{border-radius:var(--radius);height:280px}.user-detail-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px;display:grid}.user-hero{border-color:color-mix(in srgb, var(--user-accent) 22%, var(--border));background:radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--user-accent) 13%, transparent), transparent 36%), linear-gradient(135deg, color-mix(in srgb, var(--surface2) 72%, transparent), var(--surface));grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:stretch;gap:20px;margin-bottom:20px;padding:24px;display:grid;position:relative;overflow:hidden}.user-hero:after{content:"";background:color-mix(in srgb, var(--accent-2) 10%, transparent);filter:blur(2px);pointer-events:none;border-radius:999px;width:260px;height:260px;position:absolute;top:-120px;right:-80px}.user-hero-content,.user-hero-aside{z-index:1;position:relative}.user-hero-main{align-items:flex-start;gap:20px;display:flex}.user-hero-text{min-width:0}.user-hero-kicker,.panel-kicker{color:var(--accent-hover);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800;display:inline-flex}.user-avatar{width:72px;height:72px;color:var(--btn-fg);background:linear-gradient(145deg, color-mix(in srgb, var(--accent-hover) 82%, #fff), var(--accent)), var(--primary-wash);border:1px solid color-mix(in srgb, var(--accent) 38%, var(--border));box-shadow:0 16px 34px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:22px;flex-shrink:0;place-items:center;font-size:22px;font-weight:800;display:grid}.user-hero-name{letter-spacing:-.04em;margin:0 0 2px;font-size:clamp(26px,3vw,34px);font-weight:800;line-height:1.05}.user-hero-email{color:var(--text-secondary);margin:0 0 14px;font-size:14px}.user-hero-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.user-meta-chips{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.user-mobile-actions{display:none}.copy-chip{border:1px solid color-mix(in srgb, var(--border) 80%, var(--user-accent));background:color-mix(in srgb, var(--surface2) 78%, transparent);min-width:0;color:var(--text);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;max-width:100%;padding:10px 12px;font-family:inherit;font-size:12px;transition:border-color .15s,background .15s,transform .15s;display:inline-flex}.copy-chip:hover{border-color:color-mix(in srgb, var(--user-accent) 55%, var(--border));background:color-mix(in srgb, var(--surface-raised) 88%, transparent);transform:translateY(-1px)}.copy-chip-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.copy-chip-value{color:var(--ink);text-overflow:ellipsis;max-width:260px;font-size:11px;overflow:hidden}.copy-chip-action{color:var(--primary);flex-shrink:0;margin-left:auto;font-weight:600}.user-hero-aside{gap:10px;display:grid}.user-quick-stat{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 70%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.user-quick-stat span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.user-quick-stat strong{color:var(--text);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.user-detail-split{grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:16px;margin-bottom:20px;display:grid}.user-moderation,.user-achievements-panel,.user-activity-panel{border-color:color-mix(in srgb, var(--border) 82%, var(--user-accent))}.user-moderation{background:linear-gradient(180deg, color-mix(in srgb, var(--surface2) 38%, transparent), transparent 48%), var(--surface);min-height:240px}.user-mod-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.user-mod-actions .btn{min-height:38px}.btn-danger-soft{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 28%, var(--border))}.btn-danger-soft:hover:not(:disabled){background:var(--danger-bg)}.panel-head-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-head-row h3{margin:0;font-size:17px}.user-achievements-panel{padding-bottom:14px}.user-achievement-list{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.user-achievement-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;font-size:13px;display:flex}.user-achievement-list li:last-child{border-bottom:none}.user-achievement-id{color:var(--ink);text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-activity-panel{margin-bottom:24px;padding:0;overflow:hidden}.user-activity-head{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface2) 48%, transparent);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.user-activity-head h3{margin:0;font-size:17px}.user-detail-tabs{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.user-detail-tab{border:1px solid var(--border);background:var(--surface2);min-height:36px;color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.user-detail-tab:hover{border-color:var(--border-strong);color:var(--text)}.user-detail-tab-count{background:var(--surface-alt);min-width:20px;height:20px;color:var(--text-secondary);border-radius:999px;place-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-grid}.user-detail-tab.active .user-detail-tab-count{background:color-mix(in srgb, var(--btn-fg) 22%, var(--primary-deep));color:var(--btn-fg)}.panel-toolbar{margin-bottom:12px;padding:16px 20px 0}.user-activity-panel [role=tabpanel]{padding:16px 20px 20px}.user-activity-panel [role=tabpanel] .panel-toolbar{margin-bottom:0;padding:0 0 12px}.user-activity-panel [role=tabpanel]>.table-wrap,.user-sync-tab>.table-wrap,.user-sync-tab>.empty-state,.user-activity-panel [role=tabpanel]>.empty-state,.user-activity-panel [role=tabpanel] .daily-groups{margin:0}.user-activity-panel .table-wrap{border-radius:var(--radius-sm);box-shadow:none}.user-activity-panel table th,.user-activity-panel table td{padding:11px 14px}.user-sync-tab .user-sync-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute);margin:20px 0 10px;font-size:13px;font-weight:700}.user-sync-tab .user-sync-heading:first-of-type{margin-top:0}.user-sync-summary{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.daily-groups{flex-direction:column;gap:14px;display:flex}.daily-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface2) 38%, transparent);overflow:hidden}.daily-group-head{background:var(--surface-alt);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.daily-group-head h4{margin:0;font-size:14px;font-weight:700}.daily-group-list{margin:0;padding:0;list-style:none}.daily-group-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.daily-group-list li:last-child{border-bottom:none}.campaign-progress-panel{margin:0}.campaign-progress-summary{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.campaign-show-empty{color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:inline-flex}.campaign-progress-hint{margin:8px 0 0;font-size:14px}.campaign-game-list{flex-direction:column;gap:12px;display:flex}.campaign-game-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface2) 42%, transparent);overflow:hidden}.campaign-game-card-summary{cursor:pointer;padding:12px 14px 10px;list-style:none}.campaign-game-card-summary::-webkit-details-marker{display:none}.campaign-game-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.campaign-game-card-title h4{margin:0 0 2px;font-size:15px;font-weight:700}.campaign-game-card-id{color:var(--ink-mute);font-family:ui-monospace,monospace;font-size:11px}.campaign-game-card-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.campaign-game-card-pct{color:var(--accent);text-align:right;min-width:2.5rem;font-size:13px;font-weight:700}.campaign-game-card-bar{background:var(--surface-alt);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.campaign-game-card-bar-fill{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:999px;height:100%;display:block}.campaign-game-card-body{border-top:1px solid var(--border);padding:0 14px 14px}.campaign-game-empty{color:var(--ink-mute);margin:12px 0 0;font-size:13px}.campaign-grid-legend{color:var(--ink-mute);flex-wrap:wrap;align-items:center;gap:10px 14px;margin:12px 0 10px;font-size:11px;display:flex}.campaign-level-grid{flex-wrap:wrap;gap:5px;max-height:220px;padding:2px 0 8px;display:flex;overflow-y:auto}.campaign-level-cell{border:1px solid var(--border);background:var(--surface-alt);min-width:28px;height:26px;color:var(--ink-mute);border-radius:6px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.campaign-level-cell--stars1{background:color-mix(in srgb, var(--warn) 22%, var(--surface));border-color:color-mix(in srgb, var(--warn) 45%, var(--border));color:var(--ink)}.campaign-level-cell--stars2{background:color-mix(in srgb, var(--accent) 20%, var(--surface));border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--ink)}.campaign-level-cell--stars3{background:color-mix(in srgb, var(--success) 24%, var(--surface));border-color:color-mix(in srgb, var(--success) 45%, var(--border));color:var(--ink)}.campaign-level-table-wrap{border-radius:var(--radius-sm);box-shadow:none;margin-top:8px}@media (width<=900px){.user-activity-head{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.user-activity-panel [role=tabpanel]{padding:14px 16px 18px}.user-detail-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:6px;margin:0 -2px;padding:2px 0 6px;overflow-x:auto}.user-detail-tabs::-webkit-scrollbar{display:none}.user-detail-tab{flex-shrink:0;min-height:44px;padding:10px 14px}.user-detail-actions{flex-direction:column}.user-detail-actions .btn,.user-detail-actions .btn-secondary{justify-content:center;width:100%;min-height:44px}.user-mod-actions{flex-direction:column}.user-mod-actions .btn{width:100%;min-height:44px}.campaign-progress-summary{flex-direction:column;align-items:stretch}.campaign-show-empty{align-items:center;min-height:44px;margin-left:0}.campaign-level-grid{max-height:160px}.campaign-game-card-summary{padding:12px}.campaign-game-card-meta{justify-content:flex-start;width:100%}.pagination-toolbar{bottom:calc(70px + env(safe-area-inset-bottom));z-index:12;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-top:16px;padding:12px;position:sticky}.user-hero,.user-hero-aside{grid-template-columns:1fr}.user-hero .user-meta-chips{display:none}.user-mobile-actions{margin-top:-8px;margin-bottom:16px;display:block}.user-mobile-actions .user-meta-chips{margin-top:0}.user-detail-split{grid-template-columns:1fr}.user-detail-stats.cards--hub{grid-template-columns:repeat(2,minmax(0,1fr))}.user-activity-head{flex-direction:column}.user-detail-tabs{justify-content:flex-start}}@media (width<=1180px) and (width>=901px){.user-detail-stats.cards--hub{grid-template-columns:repeat(3,minmax(0,1fr))}}html[data-theme=warm],html:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1520;--bg-elevated:#101e30;--surface:#162438;--surface2:#1c2e48;--surface-alt:#243858;--surface-raised:#2c4268;--border:#3a5272;--border-strong:#5a7aa8;--text:#f2f3f7;--text-secondary:#c8d4e8;--muted:#a8b8d0;--subtle:#8898b8;--accent:#f0a030;--accent-hover:#f8b840;--accent-2:#4a9ee8;--accent-3:#80c8a8;--accent-dim:#f0a03029;--accent-glow:#f0a03047;--accent-on:#0f1d35;--ambient-a:#f0a0301f;--ambient-b:#4a9ee81a;--grid-line:#f2f3f70d;--danger:#f07060;--warning:#f0a030;--success:#60c880;--btn-fg:#0f1d35;--primary:var(--accent);--primary-deep:#c47820;--primary-wash:#f0a0302e;--link:#f8b840;--link-hover:#f2f3f7;--focus-ring:#f0a03080;--sidebar-bg:#090f18;--sidebar-ink:#c8d4e8;--sidebar-active:#f2f3f7;--sidebar-muted:#a8b8d0;--sidebar-section:#6878a0;--sidebar-border:#1c2e48;--sidebar-active-bg:#f0a03029;--nav-hover-bg:#ffffff12;--theme-switch-bg:#0c1520;--theme-switch-border:#3a5272;--chrome-bg:#090f18f7;--overlay:#0009;--overlay-backdrop:#040810bf;--badge-muted-bg:#1c2e48;--badge-muted-fg:#c8d4e8;--phone-bg:#f7f8fb;--phone-ink:#0e1a36;--phone-muted:#8892ad;--phone-surface:#fff;--phone-border:#e3e7ef;--phone-primary:#1f3a78;--phone-primary-deep:#0c1e4d;--phone-primary-wash:#e6ecf8;--shadow-sm:0 1px 2px #0000003d;--shadow-md:0 10px 28px #00000052;--shadow-lg:0 20px 56px #0000006b;--danger-bg:#f0a09829;--success-bg:#a8c8b829;--warn-bg:#e8c07829}html[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080a10;--bg-elevated:#0e121a;--surface:#141a26;--surface2:#1c2434;--surface-alt:#242e42;--surface-raised:#2c3850;--border:#3a4660;--border-strong:#5a78a8;--text:#f4f7fc;--text-secondary:#d4dced;--muted:#b8c4dc;--subtle:#94a4c0;--accent:#9eceff;--accent-hover:#b8dcff;--accent-2:#7ee8c4;--accent-3:#c4b8f0;--accent-dim:#9eceff2e;--accent-glow:#9eceff47;--accent-on:#0a0e14;--ambient-a:#9eceff24;--ambient-b:#7ee8c41f;--grid-line:#f4f7fc0f;--danger:#f8a8a0;--warning:#ecd088;--success:#7ee8c4;--btn-fg:#0a0e14;--primary:var(--accent);--primary-deep:#6ca8ec;--primary-wash:#9eceff33;--link:#b8dcff;--link-hover:#f4f7fc;--focus-ring:#7ee8c473;--sidebar-bg:#060810;--sidebar-ink:#d4dced;--sidebar-active:#f4f7fc;--sidebar-muted:#b8c4dc;--sidebar-section:#94a4c0;--sidebar-border:#3a4660;--sidebar-active-bg:#9eceff33;--nav-hover-bg:#ffffff14;--theme-switch-bg:#0e121a;--theme-switch-border:#3a4660;--chrome-bg:#080a10f7;--overlay:#0000008c;--overlay-backdrop:#04060cbf;--badge-muted-bg:#1c2434;--badge-muted-fg:#d4dced;--shadow-sm:0 1px 2px #00000042;--shadow-md:0 10px 28px #0000005c;--shadow-lg:0 20px 56px #00000075;--danger-bg:#f8a8a029;--success-bg:#7ee8c429;--warn-bg:#ecd08829}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#ddd8cf;--bg-elevated:#e6e1d8;--surface:#fcfaf7;--surface2:#f2ede5;--surface-alt:#e8e2d8;--surface-raised:#ded8ce;--border:#c4bcb0;--border-strong:#9a8874;--text:#1a1612;--text-secondary:#3d3832;--muted:#524a42;--subtle:#6e665c;--accent:#7a5c34;--accent-hover:#946c3c;--accent-2:#2d6b52;--accent-3:#5a4c78;--accent-dim:#7a5c3424;--accent-glow:#7a5c3433;--accent-on:#fffdf9;--ambient-a:#2d6b521a;--ambient-b:#7a5c3414;--grid-line:#1a161212;--danger:#b83830;--warning:#8a6418;--success:#2d6b52;--btn-fg:#fffdf9;--primary:var(--accent);--primary-deep:#624a28;--primary-wash:#7a5c3429;--link:#624a28;--link-hover:#7a5c34;--focus-ring:#2d6b5252;--sidebar-bg:#242018;--sidebar-ink:#ece6dc;--sidebar-active:#fcfaf7;--sidebar-muted:#d4ccc0;--sidebar-section:#b8aea3;--sidebar-border:#4a4238;--sidebar-active-bg:#946c3c47;--nav-hover-bg:#ffffff1a;--theme-switch-bg:#1a1612;--theme-switch-border:#4a4238;--chrome-bg:#ddd8cff5;--overlay:#1a16126b;--overlay-backdrop:#1a161280;--badge-muted-bg:#e8e2d8;--badge-muted-fg:#3d3832;--danger-bg:#fce8e6;--success-bg:#e2f0ea;--warn-bg:#f5eed8;--shadow-sm:0 1px 2px #1a161214, 0 2px 6px #1a16120d;--shadow-md:0 4px 16px #1a16121a;--shadow-lg:0 16px 44px #1a161229}html[data-theme]{--ink:var(--text);--ink-soft:var(--text-secondary);--ink-mute:var(--muted);color:var(--text);background:var(--bg);font-family:Space Grotesk,system-ui,sans-serif}html[data-theme] body{color:var(--text);background:var(--bg)}html[data-theme] a{color:var(--link)}html[data-theme] a:hover{color:var(--link-hover)}html[data-theme] .main,html[data-theme] .admin-content{background:var(--bg);color:var(--text)}html[data-theme] .page-title,html[data-theme] .mobile-topbar-title,html[data-theme] .mobile-topbar-page{color:var(--text)}html[data-theme] .page-sub,html[data-theme] .section-heading,html[data-theme] .module-foot,html[data-theme] .mgmt-tile p{color:var(--text-secondary)}html[data-theme] .stat-card .label{color:var(--muted)}html[data-theme] .stat-card,html[data-theme] .module-card,html[data-theme] .mgmt-tile,html[data-theme] .table-wrap,html[data-theme] .panel,html[data-theme] .record-card{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm);color:var(--text)}html[data-theme] .stat-card .value{color:var(--accent-hover)}html[data-theme] table,html[data-theme] .data-table{color:var(--text)}html[data-theme] table th,html[data-theme] .data-table th{color:var(--text-secondary);background:var(--surface-alt);border-color:var(--border)}html[data-theme] table td,html[data-theme] .data-table td{color:var(--text);border-color:var(--border);background:0 0}html[data-theme] table tbody tr:hover td,html[data-theme] .data-table tbody tr:hover td{background:var(--surface-alt)}html[data-theme] .cell-muted{color:var(--muted)}html[data-theme] .record-card-title{color:var(--text)}html[data-theme] .record-card-meta,html[data-theme] .record-card-meta span{color:var(--text-secondary)}html[data-theme] input,html[data-theme] select,html[data-theme] textarea,html[data-theme] .input,html[data-theme] .search-bar input,html[data-theme] .toolbar select{background:var(--surface2);border-color:var(--border);color:var(--text)}html[data-theme] input::placeholder,html[data-theme] .search-bar input::placeholder{color:var(--subtle);opacity:1}html[data-theme] input:focus,html[data-theme] select:focus,html[data-theme] textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring);outline:none}html[data-theme] .btn{background:var(--primary-deep);color:var(--btn-fg)}html[data-theme] .btn-primary{background:linear-gradient(180deg, var(--accent-hover) 0%, var(--accent) 100%);color:var(--accent-on);border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border-strong))}html[data-theme] .btn-primary:hover:not(:disabled){filter:brightness(1.05)}html[data-theme] .btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border-strong)}html[data-theme] .btn-ghost{color:var(--text-secondary)}html[data-theme] .btn-ghost:hover:not(:disabled){background:var(--surface2);color:var(--text)}html[data-theme] .badge{background:var(--accent-dim);color:var(--accent-hover);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border))}html[data-theme] .badge.muted{background:var(--badge-muted-bg);color:var(--badge-muted-fg);border:1px solid var(--border)}html[data-theme] .link-quiet{color:var(--link)}html[data-theme] .link-quiet:hover{color:var(--link-hover)}html[data-theme] .nav-section-label{color:var(--sidebar-section)}html[data-theme] .admin-meta span,html[data-theme] .sidebar-foot .link-quiet,html[data-theme] .sidebar-foot .btn-ghost{color:var(--sidebar-muted)}html[data-theme] .sidebar-foot .link-quiet:hover,html[data-theme] .sidebar-foot .btn-ghost:hover{color:var(--sidebar-active)}html[data-theme] .nav-link{color:var(--sidebar-ink)}html[data-theme] .nav-link:hover,html[data-theme] .nav-link.active{color:var(--sidebar-active)}html[data-theme] .empty-state-desc,html[data-theme] .form-hint,html[data-theme] .stat-hint{color:var(--muted)}html[data-theme] .empty-state-title{color:var(--text)}html[data-theme] .panel-kicker,html[data-theme] .user-hero-kicker{color:var(--accent-hover)}html[data-theme] .status-badge--ok{color:var(--success)}html[data-theme] .status-badge--error{color:var(--danger)}html[data-theme] .status-badge--warn{color:var(--warning)}html[data-theme] .status-badge--muted{color:var(--text-secondary)}html[data-theme] .modal-backdrop{background:var(--overlay-backdrop)}html[data-theme] .user-detail-tab{color:var(--text-secondary)}html[data-theme] .user-detail-tab:hover{color:var(--text)}html[data-theme] .user-detail-tab.active{background:var(--primary-deep);border-color:var(--primary-deep);color:var(--btn-fg)}html[data-theme] .leaderboard-tab{color:var(--text-secondary)}html[data-theme] .leaderboard-tab.active{color:var(--accent-on)}html[data-theme=light] table tbody tr:hover td{background:var(--bg-elevated)}html[data-theme=light] .btn-ghost:hover:not(:disabled),html[data-theme=light] .theme-switch--floating button:hover:not(.active){background:var(--surface-alt)}html[data-theme=light] .stat-card .value{color:var(--accent-hover)}.theme-switch-wrap{flex-direction:column;gap:6px;display:flex}.theme-switch-wrap--sidebar{width:100%}.theme-switch-wrap--compact{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.theme-compact-btn{border:1px solid var(--theme-switch-border);background:var(--theme-switch-bg);cursor:pointer;border-radius:8px;place-items:center;width:40px;height:32px;padding:0;font-family:inherit;transition:background .15s,border-color .15s;display:grid}.theme-compact-btn.active{background:var(--sidebar-active-bg);border-color:var(--border-strong)}.theme-compact-btn:hover:not(.active){background:var(--nav-hover-bg)}.theme-switch-label{letter-spacing:.1em;text-transform:uppercase;color:var(--sidebar-section);font-size:10px;font-weight:700}.theme-switch{border-radius:12px;gap:3px;padding:4px;font-family:inherit;display:flex}.theme-switch button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;padding:8px 6px;font-family:inherit;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:flex}.theme-switch-text{white-space:nowrap;font-size:11px;font-weight:600;line-height:1}.theme-swatch{width:10px;height:10px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sidebar-active) 28%, transparent);border-radius:50%;flex-shrink:0}.theme-switch--sidebar{background:var(--theme-switch-bg);border:1px solid var(--theme-switch-border);width:100%}.theme-switch--sidebar button{color:var(--sidebar-ink)}.theme-switch--sidebar button:hover:not(.active){color:var(--sidebar-active);background:var(--nav-hover-bg)}.theme-switch--sidebar button.active{background:var(--sidebar-active-bg);border-color:var(--border-strong);color:var(--sidebar-active);box-shadow:var(--shadow-sm)}.theme-switch--sidebar button.active .theme-swatch{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--sidebar-active) 40%, transparent), 0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.theme-switch-wrap--floating{width:auto}.theme-switch--floating{background:var(--surface2);border:1px solid var(--border-strong);width:auto;box-shadow:var(--shadow-sm);display:inline-flex}.theme-switch--floating button{min-width:72px;color:var(--muted);flex-direction:row;flex:0 auto;gap:6px;padding:8px 12px}.theme-switch--floating button:hover:not(.active){color:var(--text);background:var(--nav-hover-bg)}.theme-switch--floating button.active{background:var(--accent-dim);border-color:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent-hover);box-shadow:none}.page-shell{flex-direction:column;min-height:calc(100dvh - 120px);display:flex}.page-shell-sticky{flex-shrink:0;margin-bottom:16px}.page-shell-scroll{flex:1;min-height:0}.page-shell-footer{border-top:1px solid var(--border);flex-shrink:0;margin-top:16px;padding-top:12px}.page-sub-compact{margin-top:2px}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-primary{background:linear-gradient(180deg, var(--accent-hover) 0%, var(--accent) 100%);color:var(--btn-fg);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-glow.btn-primary{box-shadow:0 0 28px var(--accent-glow)}.btn-ghost{border-color:var(--border);color:var(--muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface2);color:var(--text)}.btn-ghost.danger{color:var(--danger)}.btn-sm{padding:6px 12px;font-size:12px}.btn-add{white-space:nowrap}.search-bar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.search-bar input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);min-width:200px;color:var(--text);flex:1;padding:11px 14px;font-size:14px}.field label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input,.field select,.field textarea,.ui-textarea{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);width:100%;color:var(--text);padding:10px 12px;font-family:inherit;font-size:14px}.ui-textarea.mono{font-family:ui-monospace,monospace;font-size:12px}.form-section{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:18px}.form-section:last-of-type{border-bottom:none}.form-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 12px;font-size:11px;font-weight:700}.form-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.form-section-head .form-section-title{margin-bottom:0}.form-hint{color:var(--muted);margin:0 0 10px;font-size:12px;line-height:1.45}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.checkbox-field{color:var(--text);cursor:pointer;align-items:center;gap:10px;font-size:14px;display:flex}.checkbox-field input{width:auto}.details-toggle{text-align:left;width:100%;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:10px 0;font-family:inherit;font-size:13px;font-weight:600}.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);border-radius:var(--radius-sm);margin:0 0 12px;padding:10px 14px;font-size:13px}.modal-backdrop{z-index:100;background:var(--overlay);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border-strong);width:100%;max-width:520px;max-height:min(92dvh,900px);box-shadow:var(--shadow-lg);border-radius:20px;padding:28px 24px;overflow:auto}.modal h2{letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:800}.modal-sub{color:var(--muted);margin:0 0 20px;font-size:14px}.modal-xl{max-width:1100px}.modal-level{flex-direction:column;max-height:min(94dvh,920px);padding:0;display:flex;overflow:hidden}.modal-level-head{flex-shrink:0;padding:22px 24px 0}.modal-level-body{flex:1;min-height:0;padding:0 24px 24px;overflow:auto}.level-editor-layout{align-items:start;gap:24px;display:grid}@media (width>=900px){.level-editor-layout{grid-template-columns:1fr min(340px,38%)}}.level-editor-form{min-width:0}.level-editor-preview-col{position:sticky;top:0}.preview-tabs{gap:6px;margin-bottom:12px;display:flex}.preview-tab{border:1px solid var(--border);background:var(--surface2);color:var(--muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 10px;font-family:inherit;font-size:12px;font-weight:600}.preview-tab.active{background:var(--accent-dim);border-color:var(--border-strong);color:var(--accent)}.phone-frame{background:linear-gradient(145deg,#2a2638,#14121f);border-radius:28px;width:100%;max-width:300px;margin:0 auto;padding:10px;box-shadow:0 0 0 1px #ffffff14,0 20px 50px #00000073}.phone-notch{background:#0a0810;border-radius:0 0 14px 14px;width:88px;height:22px;margin:0 auto 8px}.phone-screen{background:var(--phone-bg);color:var(--phone-ink);border-radius:20px;flex-direction:column;min-height:420px;max-height:520px;font-family:Space Grotesk,system-ui,sans-serif;display:flex;overflow:hidden}.phone-status{color:var(--phone-muted);justify-content:space-between;padding:8px 16px 4px;font-size:11px;font-weight:600;display:flex}.phone-appbar{border-bottom:1px solid var(--phone-border);align-items:center;gap:8px;padding:4px 12px 10px;display:flex}.phone-appbar-back{background:var(--phone-surface);border:1px solid var(--phone-border);border-radius:8px;flex-shrink:0;width:28px;height:28px}.phone-appbar-title{text-align:center;color:var(--phone-ink);flex:1;margin-right:28px;font-size:15px;font-weight:700}.phone-body{flex:1;padding:14px;overflow:auto}.phone-card{background:var(--phone-surface);border:1px solid var(--phone-border);border-radius:14px;margin-bottom:14px;padding:12px 14px;box-shadow:0 2px 8px #0e1a360f}.phone-card-row{align-items:center;gap:10px;display:flex}.phone-glyph{font-size:22px}.phone-progress-track{background:#eef1f6;border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.phone-progress-fill{background:var(--phone-primary-deep);border-radius:3px;width:35%;height:100%}.phone-level-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.phone-level-cell{aspect-ratio:1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.phone-level-cell.done{background:var(--phone-primary-wash);color:var(--phone-primary-deep)}.phone-level-cell.open{background:var(--phone-surface);color:var(--phone-ink);border:1px solid var(--phone-border)}.phone-level-cell.current{background:var(--phone-primary-deep);color:#fff;box-shadow:0 4px 14px #0c1e4d40}.phone-level-cell.locked{color:var(--phone-muted);background:#eef1f6;font-size:12px}.phone-level-stars{letter-spacing:1px;color:var(--phone-primary-deep);margin-top:2px;font-size:7px}.phone-game-header{text-align:center;padding:8px 0 12px}.phone-game-title{margin:0;font-size:16px;font-weight:800}.phone-game-sub{color:var(--phone-muted);margin:4px 0 0;font-size:11px}.phone-stats{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:10px;display:flex}.phone-stat-pill{background:var(--phone-surface);border:1px solid var(--phone-border);color:var(--phone-muted);border-radius:20px;padding:4px 8px;font-size:10px;font-weight:600}.queens-board{aspect-ratio:1;gap:2px;max-width:100%;margin:0 auto;display:grid}.queens-cell{aspect-ratio:1;border-radius:4px;min-height:0}.wordle-board{flex-direction:column;align-items:center;gap:5px;padding:8px 0;display:flex}.wordle-row{gap:5px;display:flex}.wordle-tile{background:var(--phone-surface);border:2px solid #d2d8e4;border-radius:4px;width:28px;height:28px}.wordle-tile.filled{border-color:#8892ad;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.wordle-hint{text-align:center;color:var(--phone-muted);margin-top:8px;font-size:11px}.sudoku-board{aspect-ratio:1;background:var(--phone-ink);border-radius:6px;gap:1px;max-width:100%;margin:0 auto;padding:2px;display:grid}.sudoku-cell{background:var(--phone-surface);aspect-ratio:1;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.sudoku-cell.given{color:var(--phone-primary-deep);background:#eef1f6}.sudoku-cell.thick-r{border-right:2px solid var(--phone-ink)}.sudoku-cell.thick-b{border-bottom:2px solid var(--phone-ink)}.spelling-layout{flex-direction:column;align-items:center;gap:6px;padding:12px 0;display:flex}.spelling-row{gap:6px;display:flex}.spelling-hex{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);width:36px;height:40px;color:var(--phone-ink);background:#eef1f6;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.spelling-hex.center{background:var(--phone-primary-deep);color:#fff;transform:scale(1.08)}.puzzle-generic{text-align:center;padding:24px 16px}.puzzle-generic-icon{margin-bottom:8px;font-size:40px}.puzzle-generic-type{text-transform:uppercase;letter-spacing:.08em;color:var(--phone-muted);font-size:12px;font-weight:700}.puzzle-generic-meta{color:var(--phone-ink);margin-top:12px;font-size:13px;line-height:1.5}.puzzle-generic-meta dt{color:var(--phone-muted);margin-top:8px;font-size:11px;font-weight:600}.puzzle-generic-meta dd{margin:2px 0 0;font-family:ui-monospace,monospace}.preview-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;margin-bottom:10px;font-size:11px;font-weight:600}.preview-caption{text-align:center;color:var(--phone-muted);margin:8px 0 0;font-size:11px;line-height:1.35}.preview-board-wrap{flex-direction:column;align-items:center;width:100%;display:flex}.phone-body--game{gap:10px}.phone-game-board{justify-content:center;align-items:flex-start;width:100%;min-height:0;max-height:320px;padding:4px 0;display:flex;overflow:auto}.queens-board--preview{width:min(100%,240px)}.crossword-board{background:var(--phone-ink);border-radius:6px;gap:2px;width:min(100%,200px);margin:0 auto;padding:2px;display:grid}.crossword-cell{aspect-ratio:1;background:var(--phone-surface);color:var(--phone-ink);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.crossword-cell.blocked{background:#2a3142}.crossword-cell.filled{color:var(--phone-primary-deep)}.nonogram-preview{width:100%;overflow:auto}.nonogram-layout{gap:4px;max-width:100%;margin:0 auto;display:grid}.nonogram-corner{min-width:28px;min-height:28px}.nonogram-col-clues{grid-auto-flow:column;gap:2px;display:grid}.nonogram-clue-col,.nonogram-clue-row{color:var(--phone-muted);justify-content:flex-end;align-items:center;gap:2px;min-height:14px;font-size:8px;font-weight:700;display:flex}.nonogram-clue-col{flex-direction:column;justify-content:flex-end}.nonogram-row-clues{gap:2px;display:grid}.nonogram-grid{background:var(--phone-border);border:1px solid var(--phone-border);gap:1px;display:grid}.nonogram-cell{aspect-ratio:1;background:var(--phone-surface);min-width:12px;min-height:12px}.nonogram-cell.filled{background:#3d4a62}.maze-board{background:var(--phone-border);border-radius:6px;gap:1px;width:min(100%,220px);margin:0 auto;padding:2px;display:grid}.maze-cell{aspect-ratio:1;min-width:10px;min-height:10px}.maze-cell.wall{background:#3d4a62}.maze-cell.path{background:var(--phone-surface)}.maze-cell.start{background:color-mix(in srgb, var(--success) 35%, var(--phone-surface))}.maze-cell.goal{background:color-mix(in srgb, var(--accent) 30%, var(--phone-surface))}.kenken-board{border:2px solid #6b7a90;border-radius:4px;gap:0;width:min(100%,180px);margin:0 auto;display:grid;overflow:hidden}.kenken-cell{aspect-ratio:1;min-width:28px;min-height:28px}.skyscraper-preview{width:min(100%,200px);margin:0 auto}.sky-top,.sky-bottom{grid-auto-flow:column;justify-content:center;gap:2px;padding:2px 24px;display:grid}.sky-mid{align-items:stretch;gap:4px;display:flex}.sky-left,.sky-right{flex-direction:column;justify-content:space-around;gap:2px;width:18px;display:flex}.sky-clue{color:var(--phone-muted);text-align:center;font-size:9px;font-weight:700}.sky-grid{background:var(--phone-ink);border-radius:4px;flex:1;gap:1px;padding:2px;display:grid}.sky-cell{aspect-ratio:1;background:var(--phone-surface);min-width:22px}.futoshiki-board{background:var(--phone-ink);border-radius:6px;gap:2px;width:min(100%,180px);margin:0 auto;padding:2px;display:grid}.futoshiki-cell{aspect-ratio:1;background:var(--phone-surface);justify-content:center;align-items:center;min-width:24px;display:flex;position:relative}.futoshiki-ineq{color:var(--phone-muted);font-size:10px;font-weight:700;position:absolute;bottom:0;right:1px}.wordsearch-board{background:var(--phone-border);border-radius:6px;gap:1px;width:min(100%,240px);margin:0 auto;padding:2px;display:grid}.wordsearch-cell{aspect-ratio:1;background:var(--phone-surface);color:var(--phone-ink);justify-content:center;align-items:center;min-width:14px;font-size:9px;font-weight:700;display:flex}.binary-board{gap:2px;width:min(100%,200px);margin:0 auto;display:grid}.binary-cell{aspect-ratio:1;border-radius:4px;justify-content:center;align-items:center;min-width:24px;font-size:11px;font-weight:700;display:flex}.binary-cell.v0{color:#b8860b;background:#fff8e8}.binary-cell.v1{color:#3d4a62;background:#eef1f8}.pipes-board{gap:4px;width:min(100%,160px);margin:0 auto;display:grid}.pipe-cell{aspect-ratio:1;background:var(--phone-surface);border:1px solid var(--phone-border);border-radius:4px;min-width:32px;position:relative}.pipe-arm{background:var(--phone-muted);opacity:.2;position:absolute}.pipe-arm.on{background:var(--phone-primary-deep);opacity:1}.pipe-arm.t{width:3px;height:35%;top:4px;left:50%;transform:translate(-50%)}.pipe-arm.b{width:3px;height:35%;bottom:4px;left:50%;transform:translate(-50%)}.pipe-arm.l{width:35%;height:3px;top:50%;left:4px;transform:translateY(-50%)}.pipe-arm.r{width:35%;height:3px;top:50%;right:4px;transform:translateY(-50%)}.zip-preview{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.zip-board-frame{border:1px solid var(--phone-border);background:var(--phone-surface);width:min(100%,220px);box-shadow:var(--phone-shadow,0 4px 16px #0000001f);border-radius:14px;margin:0 auto;position:relative;overflow:hidden}.zip-grid{z-index:1;display:grid;position:relative}.zip-path-svg{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.zip-cell{aspect-ratio:1;background:var(--phone-surface);border-right:1px solid var(--phone-border);border-bottom:1px solid var(--phone-border);justify-content:center;align-items:center;min-width:0;min-height:36px;display:flex;position:relative}.zip-cell:nth-child(5n){border-right:none}.zip-grid>.zip-cell:nth-last-child(-n+5){border-bottom:none}.zip-cell.in-path{background:color-mix(in srgb, var(--zip-cell-color,var(--phone-primary)) 18%, var(--phone-surface))}.zip-dot{aspect-ratio:1;width:62%;color:var(--phone-ink);background:var(--phone-surface-alt,var(--phone-surface));border:2px solid color-mix(in srgb, var(--phone-ink) 22%, transparent);z-index:3;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(9px,2.8vw,12px);font-weight:800;display:flex;position:relative}.zip-dot.filled{color:#fff;background:var(--zip-cell-color,var(--phone-primary-deep));border-color:#0000}.zip-path-dot{aspect-ratio:1;background:var(--zip-cell-color,var(--phone-primary));z-index:3;border-radius:50%;width:28%;position:relative}.zip-caption{text-align:center;max-width:220px}:root,[data-theme=warm]{--zip-seg-0:#3d5a80;--zip-seg-1:#3fa67a;--zip-seg-2:#e07a4a;--zip-seg-3:#d8447d;--zip-seg-4:#c89a3a;--zip-seg-5:#3aa3b8}.path-board{gap:2px;width:min(100%,200px);margin:0 auto;display:grid}.path-cell{aspect-ratio:1;background:var(--phone-surface);border:1px solid var(--phone-border);color:var(--phone-muted);border-radius:4px;justify-content:center;align-items:center;min-width:22px;font-size:10px;font-weight:700;display:flex}.path-cell.waypoint{background:var(--phone-primary-wash);color:var(--phone-primary-deep)}.numbered-board{gap:2px;width:min(100%,200px);margin:0 auto;display:grid}.numbered-cell{aspect-ratio:1;background:var(--phone-surface);border:1px solid var(--phone-border);color:var(--phone-primary-deep);border-radius:3px;justify-content:center;align-items:center;min-width:22px;font-size:11px;font-weight:700;display:flex}.puzzle-generic--seed{padding:12px 8px}.seed-grid-board{gap:2px;width:min(100%,160px);margin:8px auto 4px;display:grid}.seed-grid-cell{aspect-ratio:1;border-radius:3px;min-width:16px}.seed-grid-cell.tone-0{background:#eef1f6}.seed-grid-cell.tone-1{background:color-mix(in srgb, var(--accent) 25%, #eef1f6)}.seed-grid-cell.tone-2{background:color-mix(in srgb, var(--accent) 45%, #eef1f6)}.seed-grid-cell.tone-3{background:color-mix(in srgb, var(--accent) 65%, #eef1f6)}.seed-editor-callout{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 6%, var(--surface));color:var(--text);margin-bottom:14px;padding:12px 14px;font-size:13px;line-height:1.5}.seed-editor-callout p{margin:0 0 8px}.seed-editor-callout p:last-child{margin-bottom:0}.seed-editor-callout code{font-size:12px}.seed-editor-callout-note{color:var(--muted);font-size:12px}.login-page{min-height:100dvh;padding:24px;padding-top:max(72px, calc(env(safe-area-inset-top) + 56px));background:var(--bg);color:var(--text);justify-content:center;align-items:center;display:flex;position:relative}.login-theme-bar{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:20;position:fixed}.login-ambient{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-ambient .orb{filter:blur(80px);opacity:.45;border-radius:50%;position:absolute}.orb-a{background:var(--ambient-a);width:320px;height:320px;top:10%;left:5%}.orb-b{background:var(--ambient-b);width:280px;height:280px;bottom:15%;right:10%}.login-page:before{content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 70%);mask-image:radial-gradient(#000,#0000 70%)}.login-split{z-index:1;align-items:center;gap:32px;width:100%;max-width:960px;display:grid;position:relative}@media (width>=800px){.login-split{grid-template-columns:1fr 400px;gap:48px}}.login-hero{display:none}@media (width>=800px){.login-hero{display:block}}.login-eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin:20px 0 12px;font-size:11px;font-weight:600}.login-headline{letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(36px,6vw,48px);font-weight:800;line-height:1.05}.login-headline span{background:linear-gradient(135deg, var(--accent), var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.login-lead{color:var(--muted);max-width:400px;margin:0 0 24px;font-size:15px;line-height:1.6}.login-features{margin:0;padding:0;list-style:none}.login-features li{color:var(--muted);padding:10px 0 10px 20px;font-size:14px;position:relative}.login-features li:before{content:"◆";color:var(--accent);font-size:8px;position:absolute;top:14px;left:0}.login-card{background:var(--surface);border:1px solid var(--border-strong);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border-radius:24px;margin:0 auto;padding:32px 28px}.login-badge{text-transform:uppercase;letter-spacing:1px;background:var(--accent-dim);color:var(--accent);border:1px solid var(--border-strong);border-radius:6px;margin-bottom:16px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-block}.login-card h2{margin:0 0 6px;font-size:24px;font-weight:800}.login-card-sub{color:var(--muted);margin:0 0 24px;font-size:14px}.login-field{margin-bottom:14px}.login-submit{width:100%;margin-top:8px}.login-error{margin-bottom:12px}.login-mobile-header{align-items:center;gap:14px;margin-bottom:8px;display:flex}@media (width>=800px){.login-mobile-header{display:none}}.login-mobile-eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin:0;font-size:10px}.login-mobile-title{margin:2px 0 0;font-size:18px;font-weight:800}.game-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.game-chip{border:1px solid var(--border);background:var(--surface2);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.game-chip:hover{color:var(--text);border-color:var(--border-strong)}.game-chip.active{background:var(--accent);border-color:var(--accent);color:var(--btn-fg);box-shadow:0 2px 10px var(--accent-glow)}html[data-theme=light] .game-chip.active{color:var(--btn-fg)}.record-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:16px}.record-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.record-card-title{font-size:15px;font-weight:700}.record-card-meta{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.record-card-actions{gap:8px;display:flex}.badge{border-radius:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.badge-ok{background:var(--accent-dim);color:var(--accent)}.badge-off{background:var(--surface2);color:var(--muted)}.empty-state{text-align:center;color:var(--muted);padding:48px 24px}.empty-state-hint{margin:0;font-size:13px}html[data-theme] th{color:var(--muted)!important;background:var(--surface-alt)!important}html[data-theme] td{color:var(--text)!important}html[data-theme] .page-sub{color:var(--muted)!important}html[data-theme] .success-banner{background:var(--success-bg);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 35%, transparent)}html[data-theme] .error-banner{background:var(--danger-bg);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent)}.puzzle-data-section{border-bottom:none}.puzzle-editor-block{margin-bottom:12px}.inline-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.level-editor-actions{flex-wrap:wrap}.queens-edit-board,.sudoku-edit-board,.grid-edit-board{background:var(--surface2);border:1px solid var(--border);border-radius:10px;gap:3px;max-width:320px;margin:12px auto;padding:6px;display:grid}.grid-edit-cell{aspect-ratio:1;background:var(--surface);color:var(--text);cursor:pointer;border:none;justify-content:center;align-items:center;min-height:26px;padding:0;font-size:12px;font-weight:700;display:flex;position:relative}.grid-edit-cell:hover{filter:brightness(.96)}.editor-toolbar{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.binary-edit-cell.v1{background:var(--accent-dim);color:var(--accent)}.nonogram-edit-filled{background:var(--phone-ink,#1a1a2e)}.maze-edit-wall{background:#3d4a5c}.maze-edit-path{background:var(--surface)}.maze-edit-start,.maze-edit-goal{color:var(--accent);font-weight:800}.zip-edit-dot{background:var(--accent-dim);color:var(--accent);border-radius:50%}.pipe-edit-cell{min-height:36px;position:relative}.pipes-edit-board .pipe-arm{opacity:.2}.pipes-edit-board .pipe-arm.on{opacity:1;background:var(--accent)}.digit-edit-given{background:var(--accent-dim);color:var(--accent)}.path-edit-waypoint{background:var(--accent-dim);color:var(--accent);border-radius:50%}.letter-edit-cell{letter-spacing:0;font-size:11px}.mini-edit-block{background:var(--phone-ink,#1a1a2e)}.queens-edit-cell{aspect-ratio:1;cursor:pointer;border:none;border-radius:4px;min-height:32px;position:relative}.queens-edit-cell[data-queens-active="1"]{outline:2px solid var(--accent);outline-offset:1px;z-index:1}.queens-edit-label{color:#00000059;font-size:9px;font-weight:700;position:absolute;bottom:2px;right:3px}.region-palette{justify-content:center;gap:8px;margin-bottom:10px;display:flex}.region-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:28px;height:28px;padding:0}.region-swatch:hover{transform:scale(1.08)}.sudoku-edit-cell{aspect-ratio:1;background:var(--surface);color:var(--text);cursor:pointer;border:none;min-height:28px;font-size:14px;font-weight:700}.sudoku-edit-cell.given{background:var(--accent-dim);color:var(--accent)}.sudoku-edit-cell.thick-r{border-right:2px solid var(--muted)}.sudoku-edit-cell.thick-b{border-bottom:2px solid var(--muted)}.form-grid-seed{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.field-hint{color:var(--muted);margin-top:4px;font-size:11px;display:block}.spelling-letter-row{grid-template-columns:repeat(3,1fr)}@media (width>=600px){.spelling-letter-row{grid-template-columns:repeat(6,1fr)}}.levels-toolbar-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.levels-toolbar-row select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);color:var(--text);padding:8px 12px;font-size:13px}.publish-toggle{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.publish-toggle input{width:auto}.hide-desktop{display:block}.show-desktop{display:none}@media (width>=768px){.hide-desktop{display:none}.show-desktop{display:block}}.toast-banner{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:200;box-shadow:var(--shadow-lg);border-radius:12px;max-width:min(360px,100vw - 32px);padding:12px 18px;font-size:14px;font-weight:600;animation:.25s toast-in;position:fixed}.toast-success{background:var(--success-bg);color:var(--success);border:1px solid color-mix(in srgb, var(--success) 40%, transparent)}.toast-error{background:var(--danger-bg);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.game-picker{margin-bottom:20px;position:relative}.game-picker--loading .game-picker-hero{opacity:.92}.game-picker-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--surface)), var(--surface));border:1px solid var(--border-strong);box-shadow:var(--shadow-md);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;transition:opacity .2s,border-color .2s;display:flex}.game-picker--loading .game-picker-hero{border-color:color-mix(in srgb, var(--accent) 35%, var(--border-strong))}.game-picker-hero-main{align-items:center;gap:16px;min-width:0;animation:.22s ease-out game-picker-enter;display:flex}@keyframes game-picker-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.game-picker-loading-label{color:var(--muted);font-style:italic}@media (prefers-reduced-motion:reduce){.game-picker-hero-main{animation:none}}.game-picker-glyph{background:var(--accent-dim);border:1px solid var(--border-strong);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:28px;display:flex}.game-picker-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:11px;font-weight:700}.game-picker-name{letter-spacing:-.02em;color:var(--text);margin:4px 0 0;font-size:22px;font-weight:800}.game-picker-meta{color:var(--muted);margin:6px 0 0;font-size:13px}.game-picker-meta strong{color:var(--text)}.game-picker-hero-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.game-picker-arrow{min-width:40px;padding-left:10px;padding-right:10px}.game-picker-trigger{white-space:nowrap}.game-picker-quick{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.game-picker-quick-btn{border:1px solid var(--border);background:var(--surface2);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.game-picker-quick-btn:hover{border-color:var(--border-strong);color:var(--text)}.game-picker-quick-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.game-picker-quick-btn{transition:background .15s,border-color .15s,transform .15s}.game-picker-quick-btn:active:not(:disabled){transform:scale(.97)}.game-picker-quick-glyph{font-size:14px}.game-picker-quick-label{text-overflow:ellipsis;white-space:nowrap;max-width:88px;overflow:hidden}.game-picker-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);border-radius:14px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}.game-picker-search{border-bottom:1px solid var(--border);padding:12px}.game-picker-search input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);width:100%;color:var(--text);padding:10px 12px;font-size:14px}.game-picker-list{max-height:320px;overflow-y:auto}.game-picker-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface-alt);padding:10px 14px 6px;font-size:10px;font-weight:700;position:sticky;top:0}.game-picker-option{width:100%;color:var(--text);text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:12px;padding:10px 14px;font-family:inherit;display:flex}.game-picker-option:hover,.game-picker-option.active{background:var(--accent-dim)}.game-picker-option-glyph{text-align:center;width:32px;font-size:20px}.game-picker-option-text{flex:1;min-width:0}.game-picker-option-name{font-size:14px;font-weight:600;display:block}.game-picker-option-id{color:var(--muted);font-family:ui-monospace,monospace;font-size:11px;display:block}.game-picker-empty{text-align:center;color:var(--muted);margin:0;padding:24px;font-size:14px}.levels-filter-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:14px 16px}.levels-mini-stats{color:var(--muted);margin-bottom:12px;font-size:13px}.levels-mini-stats strong{color:var(--text)}.levels-mini-stats-sep{opacity:.5;margin:0 6px}.levels-search{align-items:center;position:relative}.levels-search .search-icon{color:var(--muted);pointer-events:none;font-size:16px;position:absolute;left:14px}.levels-search input{padding-left:40px!important}.levels-filter-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);min-width:160px;color:var(--text);padding:10px 12px;font-family:inherit;font-size:14px}.levels-table-wrap{border-radius:14px;overflow:hidden}.levels-table tbody tr{transition:background .12s}.levels-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--surface-alt) 40%, transparent)}.levels-col-num{color:var(--accent);width:56px;font-weight:700}.levels-col-title{font-weight:600}.levels-table .row-actions{white-space:nowrap}.levels-list-panel{animation:.2s ease-out levels-list-enter}@keyframes levels-list-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.levels-list-panel--refreshing{opacity:.55;pointer-events:none;transition:opacity .15s}.levels-list-skeleton{animation:.2s ease-out levels-list-enter}.record-card-skeleton{border-radius:12px;min-height:88px;margin-bottom:10px}.levels-row-skeleton{border-radius:6px;height:36px}.levels-table-wrap--loading tbody td{padding:6px 8px}@media (prefers-reduced-motion:reduce){.levels-list-panel,.levels-list-skeleton{animation:none}}.levels-table .row-actions .btn{margin-left:4px}.diff-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.diff-easy{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.diff-medium{background:color-mix(in srgb, var(--warning) 18%, transparent);color:var(--warning)}.diff-hard{background:color-mix(in srgb, var(--danger) 18%, transparent);color:var(--danger)}@media (width<=900px){.game-picker-hero{flex-direction:column;align-items:stretch}.game-picker-hero-actions{justify-content:space-between}.levels-page-actions{flex-wrap:wrap}.levels-page-actions .btn{flex:1;min-width:120px}}@media (width<=899px){.level-editor-preview-col{position:static}.phone-frame{max-width:280px}}.sidebar-foot-link,.sidebar-foot-btn{align-items:center;gap:8px;display:inline-flex}.sidebar-foot-btn .nav-icon,.sidebar-foot-link .nav-icon{width:14px;height:14px}.ops-hero{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--success) 28%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--success) 10%, var(--surface)) 0%, var(--surface) 55%);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:18px 22px;display:flex}.ops-hero--warn{border-color:color-mix(in srgb, var(--danger) 35%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--danger) 8%, var(--surface)) 0%, var(--surface) 60%)}.ops-hero--live{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, var(--surface)) 0%, var(--surface) 60%)}.ops-hero-main{align-items:flex-start;gap:14px;min-width:0;display:flex}.ops-hero-aside{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.ops-hero-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.ops-hero-sub{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.45}.ops-hero-ts{color:var(--muted);font-size:11px}.ops-pulse{background:var(--success);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 22%, transparent);border-radius:50%;flex-shrink:0;margin-top:5px;animation:2.2s ease-in-out infinite ops-pulse}.ops-pulse--warn{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb, var(--danger) 20%, transparent)}@keyframes ops-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.92)}}.stat-card--icon{flex-direction:row;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.stat-card--icon .stat-card-icon{flex-shrink:0;align-self:center}.stat-card--icon .stat-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.stat-card--icon .label{margin:0}.stat-card--icon .value{color:var(--accent-hover);margin:0;font-size:28px;line-height:1.1}.stat-card--icon .stat-hint{margin:0}.stat-card-chevron{color:var(--text-secondary);opacity:0;flex-shrink:0;align-self:center;margin-left:auto;font-size:16px;font-weight:600;transition:opacity .15s,transform .15s;transform:translate(-4px)}.stat-card-link:hover .stat-card-chevron{opacity:.7;transform:translate(0)}.stat-card--zero .value{color:var(--text-secondary)}.stat-card--zero.stat-card--icon .stat-card-icon{opacity:.9}.stat-card-icon{background:color-mix(in srgb, var(--accent) 12%, var(--surface2));width:48px;height:48px;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-card--danger .stat-card-icon{background:color-mix(in srgb, var(--danger) 12%, var(--surface2));color:var(--danger);border-color:color-mix(in srgb, var(--danger) 22%, var(--border))}.stat-card-link:hover .stat-card{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.metrics-section{margin-bottom:28px}.metrics-section-head{margin-bottom:14px}.metrics-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0;font-size:13px;font-weight:700}.metrics-section-desc{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.4}.cards--metrics{margin-bottom:0}.cards--metrics-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cards--metrics-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards--metrics-2{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-page .hub-content{max-width:1200px}.hub-alert-strip{max-width:280px;margin-bottom:24px}.dashboard-main-col{min-width:0}.dashboard-side-panel{flex-direction:column;min-height:220px;display:flex}.dashboard-side-panel .empty-state{flex:1;justify-content:center}.monitoring-charts .module-card{min-height:240px}.mgmt-tile-icon{background:var(--accent-dim);width:42px;height:42px;color:var(--accent);border-radius:11px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.dashboard-split{grid-template-columns:1fr minmax(280px,360px);align-items:start;gap:20px;display:grid}.dashboard-side-panel{position:sticky;top:16px}.module-card--accent{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 6%, var(--surface)) 0%, var(--surface) 100%)}.metric-dl{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 0;padding:0;display:grid}.metric-dl>div{border-radius:var(--radius-sm);background:var(--surface2);border:1px solid var(--border);padding:10px 12px}.metric-dl dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:11px;font-weight:600}.metric-dl dd{color:var(--text);margin:4px 0 0;font-size:20px;font-weight:800}.mini-stats--large .mini-stat-value{color:var(--text);font-size:28px}.bar-chart{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.bar-chart-row{grid-template-columns:minmax(0,1fr) minmax(80px,1.4fr) auto;align-items:center;gap:10px 14px;display:grid}.bar-chart-label{min-width:0}.bar-chart-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;display:block;overflow:hidden}.bar-chart-sub{color:var(--muted);margin-top:2px;font-family:ui-monospace,monospace;font-size:11px;display:block}.bar-chart-track{background:var(--surface2);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.bar-chart-fill{background:linear-gradient(90deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 70%, var(--primary-deep)) 100%);border-radius:999px;height:100%;transition:width .35s;display:block}.bar-chart-value{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.activity-list--timeline li{padding-left:18px;position:relative}.activity-list--timeline li:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%;position:absolute;top:15px;left:0}.hub-content{transition:opacity .2s;position:relative}.hub-content--refreshing{opacity:.55;pointer-events:none}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface2) 0%, color-mix(in srgb, var(--surface2) 70%, var(--surface-raised)) 50%, var(--surface2) 100%);background-size:200% 100%;animation:1.2s ease-in-out infinite skeleton-shimmer}.hub-skeleton .skeleton{border-radius:var(--radius)}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.page-content-loading{min-height:160px;position:relative}.page-content-loading--refreshing>:not(.page-load-overlay){opacity:.55;pointer-events:none;transition:opacity .15s}.page-load-overlay{z-index:2;background:color-mix(in srgb, var(--surface) 82%, transparent);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.page-load-overlay-label{color:var(--muted);font-size:13px;font-weight:600}.table-skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px}.table-skeleton-head{border-bottom:1px solid var(--border);gap:12px;margin-bottom:4px;padding-bottom:12px;display:grid}.table-skeleton-row{align-items:center;gap:12px;padding:12px 0;display:grid}.table-skeleton-row+.table-skeleton-row{border-top:1px solid var(--border)}.table-skeleton-th{border-radius:6px;height:12px}.table-skeleton-td{height:32px}.table-skeleton-row .table-skeleton-td:first-child{max-width:72%}.skeleton-page-header{height:72px;margin-bottom:20px}.skeleton-ops-hero{height:88px;margin-bottom:22px}.skeleton-stat-card{height:96px}.skeleton-heading{width:180px;height:20px;margin:8px 0 16px}.skeleton-metrics-head{width:220px;height:36px;margin-bottom:14px}.skeleton-mgmt-tile{height:120px}.skeleton-module-card{height:200px;margin-bottom:0}.skeleton-module-card--tall{height:240px}.empty-state{text-align:center;border-radius:var(--radius-sm);background:var(--surface2);border:1px dashed var(--border-strong);flex-direction:column;justify-content:center;align-items:center;min-height:140px;padding:28px 20px;display:flex}.empty-state--compact{min-height:100px;padding:20px 16px}.empty-state-icon{background:var(--accent-dim);width:48px;height:48px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.empty-state--compact .empty-state-icon{width:40px;height:40px;margin-bottom:8px}.empty-state-title{color:var(--text);margin:0;font-size:15px;font-weight:700}.empty-state-desc{color:var(--muted);max-width:32ch;margin:6px 0 0;font-size:13px;line-height:1.45}.empty-state-action{margin-top:14px}.daily-page-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:24px;display:grid}.daily-control-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:18px 20px}.daily-content{min-height:200px;position:relative}.daily-content--refreshing>:not(.page-load-overlay){opacity:.5;pointer-events:none;transition:opacity .15s}.daily-control-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.daily-control-title-block{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.daily-control-date{letter-spacing:-.02em;color:var(--text);margin:0;font-size:18px;font-weight:800;line-height:1.25}.daily-control-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--accent-dim);color:var(--accent);border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.daily-date-nav{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.daily-date-nav .btn.active{background:var(--accent-dim);color:var(--accent)}.daily-date-input{flex-shrink:0;max-width:168px}.daily-control-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.daily-stat-chips{flex-wrap:wrap;gap:8px;display:flex}.daily-stat-chip{color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;display:inline-flex}.daily-stat-chip strong{color:var(--text);font-weight:800}.daily-toolbar{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.daily-challenge-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.daily-challenge-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:12px 14px;transition:border-color .15s,box-shadow .15s}.daily-challenge-card:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--border))}.daily-challenge-row{grid-template-columns:auto minmax(160px,1fr) 88px 108px auto;align-items:center;gap:12px 14px;display:grid}.daily-challenge-rank{align-items:center;gap:6px;display:flex}.daily-challenge-grip{color:var(--muted);opacity:.45}.daily-challenge-order{background:var(--surface2);width:22px;height:22px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:800;display:grid}.daily-challenge-glyph{flex-shrink:0;font-size:26px;line-height:1}.daily-challenge-main{min-width:0}.daily-challenge-select{width:100%;min-width:0;font-weight:600}.daily-challenge-main-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-top:6px;display:flex}.daily-challenge-meta{color:var(--muted);font-size:12px}.daily-challenge-meta--warn{color:var(--danger)}.daily-field{flex-direction:column;gap:4px;min-width:0;display:flex}.daily-field>span{color:var(--muted);font-size:11px;font-weight:600}.daily-field .input{width:100%;min-width:0}.daily-reward-input{position:relative}.daily-reward-input .input{padding-right:36px}.daily-reward-suffix{color:var(--muted);pointer-events:none;font-size:11px;font-weight:600;position:absolute;bottom:50%;right:10px;transform:translateY(50%)}.daily-level-link{color:var(--accent);white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.daily-level-link:hover{text-decoration:underline}.daily-challenge-actions{flex-direction:column;gap:4px;display:flex}.btn-icon{border:1px solid var(--border);background:var(--surface2);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:14px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--accent-dim);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-icon--danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.daily-add-card{border-radius:var(--radius);border:1px dashed color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent-dim) 40%, var(--surface2));align-items:center;gap:14px;margin-top:14px;padding:14px 16px;display:flex}.daily-add-card-icon{width:36px;height:36px;color:var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-shrink:0;place-items:center;font-size:22px;font-weight:300;line-height:1;display:grid}.daily-add-card-field{flex:1;min-width:0}.daily-add-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.daily-add-card-field .select{width:100%}.daily-empty-inline{text-align:center;color:var(--muted);border-radius:var(--radius);border:1px dashed var(--border);background:var(--surface2);padding:28px 20px;font-size:14px}.daily-empty-inline p{margin:0}.daily-empty-hint{opacity:.9;font-size:13px;margin-top:8px!important}.daily-preview-wrap{margin-bottom:16px}.daily-preview-caption{color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:600}.daily-phone{justify-content:center;display:flex}.daily-phone-bezel{background:linear-gradient(160deg,#2a2622 0%,#1a1816 100%);border-radius:28px;width:100%;max-width:320px;padding:10px 10px 14px;box-shadow:0 20px 40px #0000002e,inset 0 1px #ffffff14}.daily-phone-notch{background:#ffffff26;border-radius:999px;width:72px;height:5px;margin:0 auto 8px}.daily-phone-screen{background:var(--phone-bg,#f5f0e8);border-radius:20px;min-height:280px;overflow:hidden}.daily-phone-header{background:linear-gradient(145deg, var(--phone-primary-deep) 0%, var(--phone-primary) 100%);color:#fff;padding:16px 16px 12px}.daily-phone-title{letter-spacing:-.02em;font-size:22px;font-weight:800;display:block}.daily-phone-date{opacity:.9;margin-top:4px;font-size:12px;font-weight:500;display:block}.daily-phone-progress{background:var(--surface,#fff);border:1px solid var(--border,#00000014);border-radius:12px;margin:12px 16px 0;padding:10px 12px;box-shadow:0 2px 8px #0000000a}.daily-phone-progress-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#8a8278);font-size:10px;font-weight:700;display:block}.daily-phone-progress-value{color:var(--text,#2c2824);margin-top:2px;font-size:13px;font-weight:700;display:block}.daily-phone-section{align-items:center;gap:8px;padding:14px 16px 8px;display:flex}.daily-phone-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#8a8278);white-space:nowrap;font-size:10px;font-weight:700}.daily-phone-section-rule{background:var(--border,#0000001a);flex:1;height:1px}.daily-preview-empty{color:var(--muted,#8a8278);text-align:center;background:#00000008;border-radius:10px;margin:0 16px 16px;padding:14px;font-size:13px}.daily-preview-list{flex-direction:column;gap:8px;margin:0;padding:0 12px 16px;list-style:none;display:flex}.daily-preview-item{background:var(--surface,#fff);border:1px solid var(--border,#00000014);border-radius:12px;align-items:center;gap:10px;padding:10px 10px 10px 8px;display:flex;box-shadow:0 2px 6px #0000000a}.daily-preview-order{background:var(--surface2,#ebe6dc);width:20px;height:20px;color:var(--muted,#8a8278);border-radius:50%;flex-shrink:0;place-items:center;font-size:10px;font-weight:800;display:grid}.daily-preview-glyph{flex-shrink:0;font-size:24px;line-height:1}.daily-preview-body{flex:1;min-width:0}.daily-preview-name{color:var(--text,#2c2824);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;display:block;overflow:hidden}.daily-preview-sub{color:var(--muted,#8a8278);margin-top:2px;font-size:11px;display:block}.daily-preview-play{color:#fff;background:var(--phone-primary,#6b5344);border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:700}.daily-tips-list{color:var(--muted);margin:0;padding-left:18px;font-size:13px;line-height:1.55}.daily-tips-list li+li{margin-top:10px}.daily-tips-list strong{color:var(--text);font-weight:700}.daily-aside{position:sticky;top:16px}.daily-editor-skeleton{flex-direction:column;gap:10px;display:flex}.daily-summary-skeleton{border-radius:var(--radius-sm);height:52px}.daily-challenge-card-skeleton{border-radius:var(--radius);height:72px}.daily-add-skeleton{border-radius:var(--radius);height:64px}.daily-preview-skeleton{margin-bottom:16px}.daily-preview-skeleton-bezel{border-radius:28px;min-height:320px;padding:12px}.daily-preview-skeleton-header{border-radius:16px;height:80px;margin-bottom:12px}.daily-preview-skeleton-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.daily-preview-skeleton-item{border-radius:12px;height:56px}@media (width<=1100px){.daily-challenge-row{grid-template-rows:auto auto;grid-template-columns:auto 1fr auto}.daily-challenge-main{grid-column:2/-1}.daily-field{grid-column:span 1}.daily-challenge-actions{flex-direction:row;grid-area:1/3/span 2;align-self:start}}@media (width<=1000px){.daily-page-layout{grid-template-columns:1fr}.daily-aside{position:static}.daily-control-foot{flex-direction:column;align-items:stretch}.daily-toolbar{margin-left:0}.daily-phone-bezel{max-width:100%}}@media (width<=640px){.daily-challenge-row{grid-template-columns:1fr}.daily-challenge-rank{justify-content:flex-start}.daily-challenge-actions{flex-direction:row;grid-area:auto/1;justify-content:flex-end}.daily-field{grid-column:1}}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px}.settings-card--wide{grid-column:1/-1}.settings-card-head{gap:14px;margin-bottom:18px;display:flex}.settings-card-icon{background:var(--accent-dim);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-card-title{color:var(--text);margin:0;font-size:16px;font-weight:700}.settings-card-desc{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.45}.settings-card-actions{align-items:center;gap:12px;margin-top:12px;display:flex}.settings-saved{color:var(--success);font-size:13px;font-weight:600}.settings-foot{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.45}.settings-foot a{color:var(--accent);word-break:break-all}.settings-dl{gap:10px;margin:0;padding:0;display:grid}.settings-dl>div{border-radius:var(--radius-sm);background:var(--surface2);border:1px solid var(--border);padding:10px 12px}.settings-dl dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:11px;font-weight:600}.settings-dl dd{color:var(--text);margin:4px 0 0;font-size:14px;font-weight:600}.settings-link-btn{margin-top:14px}.settings-links{flex-wrap:wrap;gap:10px;display:flex}.settings-quick-link{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);color:var(--text);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.settings-quick-link:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}@media (width<=1100px){.cards--hub,.cards--hub-4,.cards--metrics-4{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-split{grid-template-columns:1fr}.dashboard-side-panel{position:static}.metric-dl{grid-template-columns:1fr}.bar-chart-row{grid-template-rows:auto auto;grid-template-columns:1fr auto}.bar-chart-track{grid-column:1/-1}.settings-grid{grid-template-columns:1fr}}.confirm-dialog-backdrop{z-index:200;background:#00000059;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow-md);padding:22px 24px}.confirm-dialog-title{margin:0 0 8px;font-size:18px;font-weight:800}.confirm-dialog-message{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.field-row{grid-template-columns:1fr 120px;gap:12px;display:grid}.pagination-toolbar{justify-content:center;margin-top:16px}.pagination-label{color:var(--text-secondary);font-size:13px;font-weight:600}.btn-danger{background:var(--danger);color:#fff;border:none}
