@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap";:root{--bg: #021f33;--bg-panel: #07324a;--bg-muted: #0d425d;--line: #0d6f93;--text: #d7f2ef;--text-muted: #95cac2;--accent: #1d86a5;--accent-strong: #2ca8c9;--error: #ff8c8c;--slider-track: #0a4158;--slider-fill: #2ca8c9;--slider-thumb: #d7f2ef}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Roboto,sans-serif;background:radial-gradient(circle at top,#033b59 0%,var(--bg) 55%);color:var(--text)}h1,h2,h3,h4,h5,h6,strong{font-weight:400}.admin-shell{max-width:1420px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:10px}.auth-shell{min-height:100vh;max-width:540px;justify-content:center;padding-top:20px;padding-bottom:20px}.auth-card{padding:22px 22px 18px;background:radial-gradient(120% 150% at 0% 0%,color-mix(in srgb,var(--accent),transparent 70%),transparent 52%),radial-gradient(120% 150% at 100% -10%,color-mix(in srgb,var(--accent-strong),transparent 82%),transparent 56%),linear-gradient(180deg,color-mix(in srgb,var(--bg-panel),#0a3b54 22%),color-mix(in srgb,var(--bg-panel),#041f34 16%));box-shadow:0 18px 44px #00000059,inset 0 1px #ffffff0f}.auth-brand{margin-bottom:16px}.auth-brand h1{margin:0;font-size:clamp(2rem,5vw,2.35rem);letter-spacing:-.02em}.auth-brand p{margin:8px 0 0;color:var(--text-muted);font-size:.96rem}.auth-mark{display:inline-block;font-size:.7rem;font-weight:400;letter-spacing:.14em;color:var(--text-muted);margin-bottom:10px}.auth-form{display:grid;gap:14px;margin-top:4px}.auth-field{display:grid;gap:7px}.auth-field span{font-size:.82rem;color:var(--text-muted);letter-spacing:.02em}.auth-field input{min-height:46px;border-radius:10px;border-color:color-mix(in srgb,var(--line),#58c0d8 22%);background:color-mix(in srgb,var(--bg),#062840 10%);padding:10px 12px}.auth-field input:focus{outline:2px solid color-mix(in srgb,var(--accent-strong),white 8%);outline-offset:0;border-color:color-mix(in srgb,var(--accent-strong),white 4%)}.auth-submit{width:100%;justify-self:stretch;min-height:46px;border-radius:10px;font-size:1rem;letter-spacing:.01em;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-strong),white 6%),var(--accent));border-color:color-mix(in srgb,var(--accent-strong),#a8ebf8 18%)}.auth-form button{margin-top:2px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.status-column{display:grid;gap:6px}.header-menu-bar{display:grid;justify-items:end;gap:6px}.header-auth-row{display:inline-flex;align-items:center;gap:6px}.header-auth-email{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:var(--text-muted)}.header-auth-button{min-height:30px;padding:4px 10px}.admin-header h1{margin:0;font-size:clamp(1.5rem,3vw,2rem)}.admin-header p{margin:4px 0 0;color:var(--text-muted)}.status-chip{padding:6px 10px;border-radius:10px;border:1px solid transparent;font-weight:400;font-size:.83rem}.status-ok{background:#0f4d2d;border-color:#1f8a53}.status-error{background:#5b2020;border-color:#a43d3d}.status-warn{background:#5a4620;border-color:#a4883d}.toolbar-card,.panel-card{background:color-mix(in srgb,var(--bg-panel),transparent 12%);border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;align-content:start;gap:8px}.toolbar-row{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.toolbar-row label{display:grid;gap:4px;font-size:.83rem}input[type=date],input[type=email],input[type=text],input[type=number],select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--text);padding:7px 9px;border-radius:8px;min-height:34px}button{border:1px solid var(--line);background:var(--accent);color:var(--text);border-radius:8px;padding:6px 10px;font-weight:400;cursor:pointer;transition:background-color .12s ease,border-color .12s ease;min-height:34px}button:hover:enabled{background:var(--accent-strong)}button:disabled{opacity:.5;cursor:default}.admin-grid{display:grid;gap:10px;grid-template-columns:minmax(340px,1fr) minmax(380px,1.3fr)}.panel-card h2{margin:0}.panel-subtitle{margin:2px 0 8px;color:var(--text-muted);font-size:.84rem;line-height:1.32}.panel-subtitle.compact{margin:4px 0 0}.admin-access-inline{gap:4px}.admin-access-inline .panel-subtitle{margin:0}.admin-access-inline .error-text{margin-top:0}.collapsible-group{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg-panel),transparent 8%);overflow:hidden}.collapsible-group-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;cursor:pointer;background:color-mix(in srgb,var(--bg-muted),transparent 26%)}.collapsible-group-summary::-webkit-details-marker{display:none}.collapsible-group-title-wrap{display:grid;gap:2px}.collapsible-group-title{font-size:.9rem;letter-spacing:.03em;text-transform:uppercase}.collapsible-group-subtitle{font-size:.78rem;color:var(--text-muted)}.collapsible-group-state{font-size:.9rem;transition:transform .14s ease}.collapsible-group[open] .collapsible-group-state{transform:rotate(0)}.collapsible-group:not([open]) .collapsible-group-state{transform:rotate(-90deg)}.collapsible-group-content{display:grid;gap:10px;padding:10px}.schedule-list{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:50vh}.schedule-head,.schedule-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1fr)}.schedule-head{background:var(--bg-muted);position:sticky;top:0;z-index:1}.schedule-head span,.schedule-row>*{padding:8px;border-right:1px solid var(--line)}.schedule-head span:last-child,.schedule-row>*:last-child{border-right:0}.schedule-row{border-top:1px solid color-mix(in srgb,var(--line),transparent 35%)}.date-cell{font-weight:400}.slot-button{width:100%;min-height:46px;display:grid;gap:2px;align-content:center;justify-items:center;border-radius:0;border:0;border-left:1px solid color-mix(in srgb,var(--line),transparent 35%);background:color-mix(in srgb,var(--accent),#01263f 45%)}.slot-button[data-solved=true]{background:#05293f}.slot-button.slot-selected{outline:2px solid #7fd7e8;outline-offset:-2px}.slot-label{font-size:.78rem;letter-spacing:.03em}.slot-subtitle{font-size:.68rem;color:var(--text-muted)}.slot-empty{display:grid;place-items:center;color:var(--text-muted)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:6px;margin-bottom:8px}.metric-card{border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg-muted),transparent 25%);padding:6px;min-height:50px}.metric-label{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.metric-value{font-weight:400;margin-top:3px;font-size:.9rem}.panel-card h3{margin:10px 0 5px}.analytics-header{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:8px}.analytics-layout{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:8px}.analytics-block{border:1px solid color-mix(in srgb,var(--line),transparent 25%);border-radius:10px;background:color-mix(in srgb,var(--bg-muted),transparent 34%);padding:8px;min-width:0}.analytics-block h3{margin:0 0 6px}.analytics-block-span{grid-column:1 / -1}.analytics-table{border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:320px}.analytics-table-row{display:grid;grid-template-columns:minmax(98px,1fr) repeat(4,minmax(82px,1fr));align-items:center;gap:8px;padding:7px 8px;border-top:1px solid color-mix(in srgb,var(--line),transparent 35%);font-size:.8rem}.analytics-table-row:first-child{border-top:0}.analytics-table-head{position:sticky;top:0;z-index:1;background:var(--bg-muted);font-size:.72rem;font-weight:400;letter-spacing:.03em;text-transform:uppercase}.analytics-table-row-friction{grid-template-columns:minmax(150px,2fr) minmax(130px,1.3fr) repeat(5,minmax(72px,.8fr))}.analytics-puzzle-id{font-family:Roboto,sans-serif;font-size:.72rem;overflow-wrap:anywhere}.operations-row{display:flex;flex-wrap:wrap;gap:6px}.payload-pre{margin:0;padding:8px;border:1px solid var(--line);border-radius:8px;max-height:210px;overflow:auto;background:#01263f;font-size:.78rem}.payload-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px}.empty-state{padding:12px;text-align:center;color:var(--text-muted)}.checkbox-label{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg-muted),transparent 30%);font-size:.82rem}.checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0}.generator-controls-shell{margin-top:6px;border:1px solid color-mix(in srgb,var(--line),transparent 25%);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--bg-muted),transparent 35%);display:grid;gap:8px}.generator-preset-row{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.criteria-active-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.criteria-active-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.criteria-active-chip{display:inline-flex;align-items:center;min-height:1.8rem;border-radius:999px;padding:.2rem .58rem;border:1px solid var(--line);font-size:.78rem;font-weight:400;color:var(--text);background:color-mix(in srgb,var(--bg-muted),transparent 28%)}.criteria-active-chip-saved{border-color:color-mix(in srgb,#3ecf8e,var(--line) 58%);background:color-mix(in srgb,#0f4d2d,transparent 12%)}.criteria-active-chip-custom{border-color:color-mix(in srgb,#d9aa4d,var(--line) 58%);background:color-mix(in srgb,#5a4620,transparent 20%)}.generator-profile-row{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.solved-setup-word-input{flex:1 1 320px;min-width:min(100%,320px)}.solved-setup-word-input textarea{resize:vertical;min-height:96px;width:100%}.solved-word-list{display:grid;gap:8px}.solved-word-group{border:1px solid color-mix(in srgb,var(--line),transparent 22%);border-radius:10px;background:color-mix(in srgb,var(--bg-muted),transparent 36%);padding:8px;display:grid;gap:7px}.solved-word-group-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.solved-word-group-head h3{margin:0;font-size:.96rem}.solved-variant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:7px}.solved-variant-card{border:1px solid color-mix(in srgb,var(--line),transparent 24%);border-radius:9px;background:color-mix(in srgb,var(--bg),transparent 10%);padding:7px;display:grid;gap:6px;text-align:left;cursor:pointer}.solved-variant-card:hover{background:color-mix(in srgb,var(--bg-muted),transparent 24%)}.solved-variant-card:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-strong),transparent 10%);outline-offset:1px}.solved-variant-card-selected{border-color:color-mix(in srgb,var(--accent-strong),var(--line) 28%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-strong),transparent 42%)}.solved-variant-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:400;letter-spacing:.04em}.solved-variant-metrics{display:grid;gap:2px;font-size:.72rem;color:var(--text-muted)}.solved-variant-actions{display:flex;justify-content:flex-end}.solved-variant-actions button{font-size:.72rem;padding:4px 8px}.generator-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px}.difficulty-controls-card{border:1px solid color-mix(in srgb,var(--line),transparent 20%);border-radius:8px;background:color-mix(in srgb,var(--bg),transparent 8%);padding:7px;margin:0;min-width:0;display:grid;gap:6px}.difficulty-controls-card legend{padding:0 6px;color:var(--text);font-size:.8rem;letter-spacing:.03em;text-transform:uppercase}.criteria-group-list,.dual-slider-control{display:grid;gap:6px}.dual-slider-header{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;color:var(--text-muted)}.dual-slider-wrap{position:relative;height:28px}.dual-slider-track{position:absolute;top:50%;left:0;right:0;height:6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line),transparent 20%);transform:translateY(-50%)}.dual-slider-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;z-index:1}.dual-slider-input-max{z-index:2}.dual-slider-input::-webkit-slider-runnable-track{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;height:6px}.dual-slider-input::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;pointer-events:auto;width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--line),transparent 20%);background:var(--slider-thumb);cursor:pointer;margin-top:-5px}.dual-slider-input::-moz-range-track{background:transparent;height:6px}.dual-slider-input::-moz-range-progress{background:transparent}.dual-slider-input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--line),transparent 20%);background:var(--slider-thumb);cursor:pointer}.single-slider-grid{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:6px}.single-slider-control{display:grid;gap:3px}.single-slider-head{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--text-muted)}.single-slider-control input[type=range]{width:100%;margin:0;accent-color:var(--slider-fill)}.word-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.word-review-card{border:1px solid color-mix(in srgb,var(--line),transparent 22%);border-radius:8px;background:color-mix(in srgb,var(--bg-muted),transparent 35%);padding:7px;display:grid;gap:6px}.word-review-word{font-size:1rem;font-weight:400;letter-spacing:.08em}.word-review-status-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.word-review-status-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:2px 8px;min-width:68px;font-size:.65rem;font-weight:400;letter-spacing:.04em;background:color-mix(in srgb,var(--bg),transparent 16%)}.word-review-status-allow{border-color:color-mix(in srgb,#3ecf8e,var(--line) 45%);background:color-mix(in srgb,#0f4d2d,transparent 14%)}.word-review-status-block{border-color:color-mix(in srgb,#ff8c8c,var(--line) 45%);background:color-mix(in srgb,#7a2020,transparent 16%)}.word-review-actions{display:flex;flex-wrap:wrap;gap:6px}.word-review-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.word-review-header-row h2{margin:0}.word-review-header-actions{display:flex;flex-wrap:wrap;gap:6px}.word-review-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:8px}.word-review-toolbar label{display:grid;gap:4px;min-width:140px;font-size:.8rem}.word-review-compact-grid{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg-muted),transparent 32%);max-height:460px;overflow:auto;padding:6px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.word-review-compact-card{border:1px solid color-mix(in srgb,var(--line),transparent 24%);border-radius:7px;background:color-mix(in srgb,var(--bg),transparent 16%);padding:4px 5px;display:flex;align-items:center;justify-content:space-between;gap:4px;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.word-review-compact-card.is-pending{border-color:color-mix(in srgb,var(--accent-strong),var(--line) 48%)}.word-review-compact-card.is-allow{border-color:color-mix(in srgb,#3ecf8e,var(--line) 36%);background:color-mix(in srgb,#0f4d2d,transparent 20%)}.word-review-compact-card.is-block{border-color:color-mix(in srgb,#ff8c8c,var(--line) 44%);background:color-mix(in srgb,#7a2020,transparent 24%)}.word-review-compact-card.is-disabled{cursor:default;opacity:.68}.word-review-compact-word{font-size:.76rem;font-weight:400;letter-spacing:.08em;white-space:nowrap}.word-review-compact-actions{display:inline-flex;gap:4px}.word-review-compact-action{min-width:22px;height:22px;padding:0 4px;line-height:1;border-radius:6px;font-size:.8rem;font-weight:400}.word-review-compact-action-allow.is-active{border-color:color-mix(in srgb,#3ecf8e,var(--line) 45%);background:color-mix(in srgb,#0f4d2d,transparent 14%)}.word-review-compact-action-block{border-color:color-mix(in srgb,#ff8c8c,var(--line) 60%)}.word-review-context-menu{position:fixed;z-index:1500;min-width:260px;border:1px solid color-mix(in srgb,var(--line),transparent 18%);border-radius:8px;background:color-mix(in srgb,var(--bg-elevated),var(--bg) 20%);box-shadow:0 8px 24px #00000047;padding:4px}.word-review-context-menu button{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:var(--text);border-radius:6px;padding:7px 9px;font-size:.78rem}.word-review-context-menu button:hover{border-color:color-mix(in srgb,var(--line),transparent 18%);background:color-mix(in srgb,var(--bg),transparent 14%)}.word-review-queue{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:280px}.word-review-queue-row{display:grid;grid-template-columns:minmax(84px,100px) minmax(96px,116px) 1fr;align-items:center;gap:8px;padding:7px 8px;border-top:1px solid color-mix(in srgb,var(--line),transparent 35%)}.word-review-queue-row:first-child{border-top:0}.word-review-queue-actions{justify-content:flex-end}.word-review-list{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:240px}.word-review-list-row{display:grid;grid-template-columns:minmax(84px,100px) minmax(74px,90px) 1fr auto;align-items:center;gap:8px;padding:7px 8px;border-top:1px solid color-mix(in srgb,var(--line),transparent 35%)}.word-review-list-row:first-child{border-top:0}.word-review-list-word{font-weight:400;letter-spacing:.08em}.word-review-list-note{color:var(--text-muted);font-size:.8rem;overflow-wrap:anywhere}.streak-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px}.streak-target-card{border:1px solid color-mix(in srgb,var(--line),transparent 18%);border-radius:8px;background:color-mix(in srgb,var(--bg-muted),transparent 32%);padding:7px;display:grid;gap:5px}.streak-target-card.is-inactive{opacity:.72}.streak-target-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.86rem}.streak-target-card p{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.35}.streak-target-card-meta{text-transform:uppercase;letter-spacing:.03em}.streak-target-presets{display:flex;flex-wrap:wrap;gap:5px}.streak-target-preset{min-height:28px;padding:4px 8px;font-size:.76rem;background:color-mix(in srgb,var(--accent),var(--bg) 45%)}.streak-target-preset.is-selected{border-color:color-mix(in srgb,var(--accent-strong),white 24%);background:color-mix(in srgb,var(--accent-strong),var(--bg) 30%)}.achievement-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px}.achievement-editor-grid label{display:grid;gap:4px;font-size:.8rem}.achievement-editor-span{grid-column:1 / -1}.feature-flags-header-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px}.feature-flag-highlight-card{border:1px solid color-mix(in srgb,var(--line),transparent 20%);border-radius:10px;background:color-mix(in srgb,var(--bg-muted),transparent 34%);padding:8px;display:grid;gap:6px}.feature-flag-highlight-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.feature-flag-highlight-head h3{margin:0}.feature-flag-list{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:280px}.feature-flag-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:8px;padding:7px 8px;border-top:1px solid color-mix(in srgb,var(--line),transparent 35%)}.feature-flag-row:first-child{border-top:0}.feature-flag-key-wrap{display:grid;gap:2px;min-width:0}.feature-flag-row-meta{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.feature-flag-row-description{font-size:.78rem;color:var(--text-muted);overflow-wrap:anywhere}.danger-zone-card{border-color:color-mix(in srgb,var(--error),var(--line) 70%)}.warning-button{background:color-mix(in srgb,#5a4620,var(--accent) 18%);border-color:color-mix(in srgb,#d9aa4d,var(--line) 60%)}.warning-button:hover:enabled{background:color-mix(in srgb,#6b5427,var(--accent-strong) 18%)}.danger-button{background:color-mix(in srgb,#7a2020,var(--accent) 20%);border-color:color-mix(in srgb,#ff8c8c,var(--line) 60%)}.danger-button:hover:enabled{background:color-mix(in srgb,#922727,var(--accent-strong) 18%)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.gallery-card{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg-muted),transparent 32%);padding:8px;display:grid;gap:6px}.gallery-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.gallery-checkbox{display:inline-flex;align-items:center;gap:6px}.gallery-checkbox input[type=checkbox]{width:16px;height:16px;margin:0}.gallery-checkbox-disabled{opacity:.72}.gallery-title{font-size:.86rem;font-weight:400;color:var(--text)}.gallery-pill-group{display:inline-flex;align-items:center;gap:6px}.gallery-pill{font-size:.64rem;font-weight:400;letter-spacing:.04em;padding:3px 6px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--accent),#03253f 50%)}.gallery-pill-open{background:#0f4d2d;border-color:#1f8a53}.gallery-pill-locked{background:#5a4620;border-color:#a4883d}.gallery-id{font-size:.7rem;color:var(--text-muted);overflow-wrap:anywhere}.gallery-target{display:inline-flex;align-items:baseline;gap:6px;padding:2px 0 0}.gallery-target-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.gallery-target-word{font-size:.92rem;font-weight:400;letter-spacing:.08em;color:var(--text)}.solve-path{margin-top:6px;border:1px solid color-mix(in srgb,var(--line),transparent 25%);border-radius:8px;background:color-mix(in srgb,var(--bg-muted),transparent 30%);padding:6px 8px}.solve-path-header{font-size:.78rem;font-weight:400;color:var(--text);margin-bottom:4px}.solve-path-compact summary{cursor:pointer;font-size:.76rem;font-weight:400;color:var(--text)}.solve-path-list{margin:4px 0 0;padding-left:18px;display:grid;gap:3px}.solve-path-list li{display:flex;align-items:baseline;gap:6px;font-size:.75rem;color:var(--text-muted)}.solve-path-list code{font-size:.72rem;font-weight:400;color:var(--text);background:color-mix(in srgb,var(--bg),transparent 22%);border:1px solid color-mix(in srgb,var(--line),transparent 30%);border-radius:5px;padding:1px 4px}.generation-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#000,transparent 35%);z-index:1400;display:grid;place-items:center;padding:14px}.generation-modal{width:min(1120px,100%);max-height:calc(100vh - 28px);overflow:auto;border:1px solid color-mix(in srgb,var(--line),transparent 12%);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--bg-panel),#001826 18%);box-shadow:0 18px 44px #00000061;display:grid;gap:8px}.generation-modal-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px}.generation-modal-head h3{margin:0}.generation-progress-track{height:8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line),transparent 20%);background:color-mix(in srgb,var(--bg),transparent 12%);overflow:hidden}.generation-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width .12s ease}.generation-summary-grid{margin-bottom:0}.generation-current-card{border:1px solid color-mix(in srgb,var(--line),transparent 22%);border-radius:8px;background:color-mix(in srgb,var(--bg-muted),transparent 34%);padding:8px;display:grid;gap:6px}.generation-current-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.84rem}.generation-current-detail-grid,.generation-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;font-size:.76rem;color:var(--text-muted)}.generation-miss-list{margin:0;font-size:.76rem;color:var(--error)}.generation-alert-slot{min-height:44px;display:grid;align-content:start;gap:2px}.generation-message-line{min-height:16px}.generation-row-list{border:1px solid color-mix(in srgb,var(--line),transparent 20%);border-radius:8px;overflow:auto;max-height:36vh}.generation-row{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(90px,.8fr) minmax(84px,.8fr) minmax(80px,.8fr) minmax(80px,.8fr) minmax(220px,1.8fr);align-items:center;gap:8px;padding:7px 8px;border-top:1px solid color-mix(in srgb,var(--line),transparent 35%);font-size:.76rem}.generation-row:first-child{border-top:0}.generation-row-head{position:sticky;top:0;z-index:1;background:var(--bg-muted);font-size:.7rem;font-weight:400;letter-spacing:.03em;text-transform:uppercase}.generation-status{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:999px;padding:2px 6px;font-size:.65rem;font-weight:400;letter-spacing:.04em;width:fit-content}.generation-status-running{background:color-mix(in srgb,#5a4620,transparent 22%);border-color:color-mix(in srgb,#a4883d,var(--line) 55%)}.generation-status-completed{background:color-mix(in srgb,#0f4d2d,transparent 12%);border-color:color-mix(in srgb,#1f8a53,var(--line) 55%)}.generation-status-failed{background:color-mix(in srgb,#7a2020,transparent 16%);border-color:color-mix(in srgb,#ff8c8c,var(--line) 55%)}.generation-failure-summary{border:1px solid color-mix(in srgb,var(--line),transparent 20%);border-radius:8px;background:color-mix(in srgb,var(--bg-muted),transparent 34%);padding:8px;display:grid;gap:6px}.generation-failure-summary-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.generation-failure-summary-head h4{margin:0;font-size:.9rem}.generation-failure-summary-head span{color:var(--text-muted);font-size:.78rem}.generation-failure-list{display:grid;gap:6px;max-height:20vh;overflow:auto}.generation-failure-item{border:1px solid color-mix(in srgb,var(--line),transparent 28%);border-radius:8px;background:color-mix(in srgb,var(--bg),transparent 8%);padding:7px 8px;display:grid;gap:4px}.generation-failure-title{font-size:.78rem;font-weight:400}.generation-failure-item p{margin:0;font-size:.75rem;color:var(--text-muted)}.generation-failure-misses{color:var(--error)}.board-preview{border:1px solid color-mix(in srgb,var(--line),transparent 25%);border-radius:8px;background:#01263f;padding:6px}.board-preview-small{padding:6px}.board-preview-large{padding:8px}.board-preview-svg{width:100%;height:auto;display:block}.board-preview-svg text{text-anchor:middle;dominant-baseline:middle;font-family:Roboto,sans-serif;user-select:none;-webkit-user-select:none}.board-cap-letter,.board-cell-letter{fill:#9ac9c1}.board-cap-number,.board-cell-number{fill:#1b7891}.board-cell-summary{fill:#01263f}.board-text-letter{fill:#022038;font-weight:400;letter-spacing:.04em}.board-text-number{fill:#a8d7cf;font-weight:400;letter-spacing:.04em}.board-text-summary{fill:#1b7891;font-weight:400;letter-spacing:0}.board-summary-ring{fill:none;stroke:currentColor;color:#9ac9c1;stroke-width:1.8px}.theme-toolbar-row{display:flex;flex-wrap:wrap;align-items:end;gap:6px}.theme-toolbar-row label{display:grid;gap:4px;font-size:.83rem}.theme-import-label{display:inline-grid;gap:4px}.theme-import-label input[type=file]{min-height:34px}.theme-studio-grid{display:grid;grid-template-columns:minmax(380px,1.1fr) minmax(380px,.9fr);gap:10px}.theme-editor-pane{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;min-width:0;align-content:start}.theme-group{border:1px solid color-mix(in srgb,var(--line),transparent 20%);border-radius:10px;background:color-mix(in srgb,var(--bg),transparent 8%);padding:7px;margin:0;min-width:0}.theme-group.theme-group-derived{grid-column:1 / -1}.theme-group legend{padding:0 6px;color:var(--text);font-size:.82rem;font-weight:400;letter-spacing:.03em;text-transform:uppercase}.theme-group-summary{margin:2px 0 6px;font-size:.7rem;line-height:1.3;color:color-mix(in srgb,var(--text-muted),transparent 8%)}.theme-field-list{display:grid;gap:5px}.theme-field-row{border:1px solid color-mix(in srgb,var(--line),transparent 35%);border-radius:8px;background:color-mix(in srgb,var(--bg-muted),transparent 38%);padding:5px;display:grid;gap:5px}.theme-field-meta{display:grid;gap:1px}.theme-field-label{font-size:.76rem;font-weight:400;color:var(--text);line-height:1.2}.theme-field-description{font-size:.68rem;color:var(--text-muted);line-height:1.25}.theme-field-var{font-size:.63rem;color:var(--text-muted);opacity:.9}.theme-field-inputs{display:grid;grid-template-columns:36px minmax(0,1fr);gap:5px;align-items:center}.theme-field-inputs input[type=color]{width:36px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--bg);padding:2px}.theme-field-swatch{width:36px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--bg-muted)}.theme-field-inputs input[readonly],.theme-field-inputs input:disabled{background:color-mix(in srgb,var(--bg),var(--bg-muted) 22%);color:color-mix(in srgb,var(--text),transparent 18%);cursor:default}.theme-derived-groups{display:grid;gap:6px}.theme-derived-source{border:1px solid color-mix(in srgb,var(--line),transparent 40%);border-radius:8px;padding:6px;background:color-mix(in srgb,var(--bg-muted),transparent 52%);display:grid;gap:5px}.theme-derived-source h4{margin:0;font-size:.72rem;letter-spacing:.02em;color:var(--text)}.theme-derived-list{display:grid;gap:4px}.theme-derived-item{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(120px,auto);gap:6px;align-items:center;border:1px solid color-mix(in srgb,var(--line),transparent 55%);border-radius:7px;padding:4px 5px;background:color-mix(in srgb,var(--bg),transparent 18%)}.theme-derived-swatch{width:24px;height:24px;border-radius:6px;border:1px solid color-mix(in srgb,var(--line),transparent 35%)}.theme-derived-meta{display:grid;gap:1px;min-width:0}.theme-derived-value{font-size:.64rem;color:var(--text-muted);font-family:Roboto,sans-serif;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-preview-pane{display:grid;gap:10px;min-width:0}.theme-preview-pane h3{margin:0}.theme-preview-canvas{border:1px solid color-mix(in srgb,var(--line),transparent 20%);border-radius:12px;padding:10px;background:radial-gradient(circle at top,color-mix(in srgb,var(--preview-app-end),var(--preview-app-start) 30%) 0%,var(--preview-app-start) 62%);color:var(--preview-text);display:grid;gap:8px;font-family:Roboto,sans-serif}.theme-preview-header{display:flex;justify-content:space-between;align-items:center}.theme-preview-logo{font-size:1.08rem;letter-spacing:.14em;font-weight:400;color:var(--preview-letter-bg);text-transform:uppercase}.theme-preview-icons{display:inline-flex;gap:7px;font-weight:400;color:var(--preview-letter-bg);font-size:.98rem}.theme-preview-info{display:grid;justify-items:center;gap:2px}.theme-preview-word{font-size:1.9rem;font-weight:400;letter-spacing:.2em;color:var(--preview-letter-bg);text-transform:uppercase;line-height:1}.theme-preview-strip{display:inline-flex;align-items:center;justify-content:center;gap:.58rem;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--preview-letter-bg)}.theme-preview-stars{display:inline-flex;align-items:center;position:relative}.theme-preview-stars-filled{color:var(--preview-letter-bg)}.theme-preview-stars-empty{position:absolute;top:0;right:0;bottom:0;left:0;color:color-mix(in srgb,var(--preview-letter-bg) 48%,transparent)}.theme-preview-timer{font-size:2.1rem;font-weight:400;line-height:1;color:var(--preview-text-muted)}.theme-preview-board-shell{border:1px solid color-mix(in srgb,var(--preview-line),transparent 25%);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--preview-board-bg),var(--preview-panel) 14%)}.theme-preview-board-svg{width:100%;height:auto;display:block}.theme-preview-board-svg text{text-anchor:middle;dominant-baseline:middle;font-family:Roboto,sans-serif;font-weight:400;-webkit-user-select:none;user-select:none}.theme-preview-board-letter-fill{fill:var(--preview-letter-bg)}.theme-preview-board-number-fill{fill:var(--preview-number-bg)}.theme-preview-summary-cell{fill:color-mix(in srgb,var(--preview-board-bg) 86%,var(--preview-number-bg) 14%)}.theme-preview-board-letter-text{fill:var(--preview-letter-text);font-size:12px;letter-spacing:.03em}.theme-preview-board-number-text{fill:var(--preview-number-text);font-size:12px;letter-spacing:.03em}.theme-preview-summary-text{fill:var(--preview-number-bg);font-size:12px;letter-spacing:.02em}.theme-preview-summary-ring{fill:none;stroke-width:2.2;vector-effect:non-scaling-stroke}.theme-preview-summary-ring.is-correct{stroke:var(--preview-letter-bg)}.theme-preview-summary-ring.is-present{stroke:var(--preview-warning)}.theme-preview-summary-ring.is-neutral{stroke:var(--preview-neutral)}.theme-preview-hint-row{border:1px solid color-mix(in srgb,var(--preview-line),transparent 30%);border-radius:8px;overflow:hidden;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.theme-preview-hint-head{background:color-mix(in srgb,var(--preview-number-bg),var(--preview-accent-2) 8%);color:var(--preview-number-text);min-height:22px;display:grid;place-items:center;font-size:.74rem;font-weight:400}.theme-preview-hint-cell{background:color-mix(in srgb,var(--preview-board-bg),var(--preview-panel) 20%);color:var(--preview-accent-2);min-height:28px;display:grid;place-items:center;font-size:.86rem;font-weight:400}.theme-preview-modal{border:1px solid color-mix(in srgb,var(--preview-line),transparent 26%);border-radius:10px;padding:8px;background:color-mix(in srgb,var(--preview-panel),var(--preview-board-bg) 10%);box-shadow:0 10px 24px var(--preview-overlay);display:grid;gap:6px}.theme-preview-modal strong{font-size:.9rem}.theme-preview-modal p{margin:0;font-size:.78rem;color:color-mix(in srgb,var(--preview-text),transparent 20%)}.theme-preview-modal button{justify-self:start;background:var(--preview-accent);border-color:color-mix(in srgb,var(--preview-accent-2),var(--preview-line) 65%)}.theme-css-output{border:1px solid color-mix(in srgb,var(--line),transparent 22%);border-radius:10px;background:color-mix(in srgb,var(--bg-muted),transparent 36%);padding:8px;display:grid;gap:6px}.theme-css-output-head{display:flex;justify-content:space-between;align-items:center}.theme-css-output textarea{width:100%;min-height:170px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);padding:8px;resize:vertical;font-family:Roboto,sans-serif;font-size:.74rem;line-height:1.35}.theme-token-strategy{border:1px solid color-mix(in srgb,var(--line),transparent 25%);border-radius:10px;background:color-mix(in srgb,var(--bg-muted),transparent 38%);padding:8px;display:grid;gap:6px}.theme-token-strategy h4{margin:0;font-size:.86rem}.theme-token-strategy p{margin:0;font-size:.78rem;color:var(--text-muted)}.theme-token-map{display:grid;gap:4px}.theme-token-map-row{border:1px solid color-mix(in srgb,var(--line),transparent 35%);border-radius:8px;padding:6px;display:grid;gap:2px}.theme-token-map-row code{font-size:.71rem;color:var(--text)}.theme-token-map-row span{font-size:.72rem;color:var(--text-muted);overflow-wrap:anywhere}.error-text{margin:8px 0 0;color:var(--error)}@media(max-width:980px){.admin-shell{padding:10px}.header-menu-bar{justify-items:start;width:100%}.header-auth-row{width:100%;justify-content:space-between}.header-auth-email{max-width:min(72vw,420px)}.admin-grid,.analytics-layout,.theme-studio-grid{grid-template-columns:1fr}.generation-row{grid-template-columns:minmax(140px,1.2fr) minmax(84px,.8fr) minmax(76px,.7fr) minmax(76px,.7fr) minmax(76px,.7fr) minmax(180px,1.4fr)}.word-review-compact-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:680px){.auth-shell{max-width:100%;padding:12px}.auth-card{padding:18px 14px 14px}.auth-brand h1{font-size:1.85rem}.word-review-queue-row{grid-template-columns:minmax(74px,90px) minmax(88px,104px) 1fr}.word-review-compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-flag-row{grid-template-columns:minmax(0,1fr);gap:6px}.analytics-table-row{grid-template-columns:minmax(92px,1fr) repeat(4,minmax(74px,1fr));font-size:.75rem}.analytics-table-row-friction{grid-template-columns:minmax(130px,1.7fr) minmax(102px,1.2fr) repeat(5,minmax(66px,.8fr))}.theme-derived-item{grid-template-columns:24px minmax(0,1fr)}.theme-derived-value{grid-column:1 / -1;text-align:left;padding-left:2px}.generation-modal-overlay{padding:8px}.generation-row{grid-template-columns:minmax(132px,1.2fr) minmax(74px,.7fr) minmax(70px,.7fr) minmax(70px,.7fr) minmax(70px,.7fr) minmax(150px,1fr);font-size:.72rem}}@media(max-width:520px){.word-review-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
