:root{--topbar-height:64px;color:#17201c;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f9f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{--page:#f7f9f6;--text:#18212a;--muted:#64717d;--border:#cbd5df;--subtle-border:#e7edf2;--panel:#fff;--input:#fff;--primary:#0d6f82;--primary-text:#fff;--inverse:#18212a;--inverse-text:#fff;--danger:#b42318;--notice-border:#d09522;--notice-bg:#fff7df;--notice-text:#4a3410;--filled-border:#748391;--key-bg:#d7dee6;--correct:#16865f;--present:#d6b51f;--absent:#59636e;--disabled:#8a97a3;--beta-bg:#0d6f8280;--beta-text:#fff;--activity-0:#e7edf2;--activity-1:#ccebdd;--activity-2:#98d7b9;--activity-3:#5fbf93;--activity-4:#2f9f70;--activity-5:#166b4e}.app-shell[data-theme=dark]{--page:#101515;--text:#f2f6f3;--muted:#b0bac2;--border:#33404a;--subtle-border:#26313a;--panel:#172027;--input:#1c2830;--primary:#2ea6b8;--primary-text:#fff;--inverse:#edf5f0;--inverse-text:#101515;--danger:#ff8a7a;--notice-border:#d7a63a;--notice-bg:#312718;--notice-text:#f8e3a6;--filled-border:#70808e;--key-bg:#6d7781;--correct:#28a06f;--present:#e0c33a;--absent:#4a5561;--disabled:#77838e;--beta-bg:#2ea6b880;--beta-text:#fff;--activity-0:#26313a;--activity-1:#214536;--activity-2:#276a4d;--activity-3:#2f8b64;--activity-4:#34ad7a;--activity-5:#64d79f}*{box-sizing:border-box}body{background:#f7f9f6;min-width:320px;min-height:100svh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{background:var(--page);min-height:100svh;color:var(--text);flex-direction:column;display:flex}.topbar{min-height:var(--topbar-height);border-bottom:1px solid var(--border);grid-template-columns:minmax(92px,auto) 1fr minmax(170px,auto);align-items:center;gap:16px;padding:10px 18px;display:grid}.brand-button{color:var(--text);letter-spacing:0;background:0 0;border:0;align-items:center;gap:8px;font-family:Geist Pixel,Geist Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:26px;font-weight:800;display:inline-flex}.brand-word{line-height:1}.beta-badge{background:var(--beta-bg);color:var(--beta-text);text-transform:lowercase;border-radius:999px;padding:3px 9px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;font-weight:400;line-height:1}.nav-tabs,.auth-mode,.mode-switch{align-items:center;gap:4px;display:inline-flex}.nav-tabs{flex-wrap:wrap;justify-content:center}.nav-tabs button,.auth-mode button,.mode-switch button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;padding:8px 12px;font-weight:700}.nav-tabs button.active,.auth-mode button.active,.mode-switch button.active{border-color:var(--inverse);background:var(--inverse);color:var(--inverse-text)}.nav-tabs .theme-toggle{text-transform:capitalize}.auth-entry{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.auth-entry button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;padding:9px 12px;font-weight:800}.auth-entry button.primary{border-color:var(--primary);background:var(--primary);color:var(--primary-text)}.auth-modal-backdrop{z-index:20;background:#10151573;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.auth-modal{border:1px solid var(--border);background:var(--panel);width:min(100%,390px);color:var(--text);border-radius:8px;gap:16px;padding:18px;animation:.26s cubic-bezier(.2,1.25,.35,1) both auth-modal-in;display:grid;box-shadow:0 24px 70px #00000047}.auth-modal-head{justify-content:space-between;align-items:start;gap:16px;display:flex}.auth-modal-head div{gap:3px;display:grid}.auth-modal-head strong{font-size:22px}.auth-modal-head span{color:var(--muted);font-size:14px}.modal-close{border:1px solid var(--border);background:var(--input);width:32px;height:32px;color:var(--text);border-radius:50%;font-weight:900;line-height:1}.modal-mode{grid-template-columns:1fr 1fr;width:100%;display:grid}.auth-form{gap:12px;display:grid}.auth-form label{color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.auth-form input,.auth-form textarea,.inline-form input{border:1px solid var(--border);background:var(--input);min-width:0;color:var(--text);border-radius:4px;padding:9px 10px}.auth-form textarea{resize:vertical;min-height:112px;line-height:1.35}.auth-form>button,.auth-signed-in button,.inline-form button,.secondary-action,.game-header button{background:var(--primary);color:var(--primary-text);border:0;border-radius:4px;padding:10px 14px;font-weight:800}.auth-message{color:var(--danger);font-size:13px;font-weight:700}.auth-signed-in{justify-content:flex-end;align-items:center;gap:10px;font-size:14px;display:flex}.auth-signed-in .settings-button{border:1px solid var(--border);background:var(--panel);color:var(--text)}.bug-report-modal{width:min(100%,430px)}.report-success{gap:8px;display:grid}.report-success span{color:var(--muted);font-size:14px}.report-success button{background:var(--primary);color:var(--primary-text);border:0;border-radius:4px;justify-self:start;padding:10px 14px;font-weight:800}@keyframes auth-modal-in{0%{opacity:0;transform:translateY(10px)scale(.94)}72%{opacity:1;transform:translateY(-2px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}.notice{border-left:4px solid var(--notice-border);background:var(--notice-bg);width:min(960px,100% - 32px);color:var(--notice-text);border-radius:4px;margin:16px auto 0;padding:10px 12px}.notice.compact{width:100%;margin:0 0 18px}main{flex:1}.app-view-game main{min-height:0}.menu-band,.game-band,.archive-band,.leaderboard-band,.admin-band{width:min(1080px,100% - 32px);margin:0 auto;padding:34px 0}.menu-inner{grid-template-columns:minmax(280px,1fr) minmax(260px,420px);align-items:start;gap:28px;display:grid}.mode-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.mode-tile{border:2px solid var(--border);background:var(--panel);min-height:150px;color:var(--text);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.mode-tile.selected{border-color:var(--primary)}.mode-tile span{font-size:62px;font-weight:900;line-height:1}.mode-tile small{text-transform:uppercase;font-size:15px;font-weight:800}.stats-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:14px;padding:14px 0;display:grid}.stat-item{grid-template-columns:36px 1fr 1fr;align-items:center;gap:10px;display:grid}.stat-item strong{border:2px solid var(--text);place-items:center;height:32px;font-weight:900;display:grid}.stats-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.summary-card{border:1px solid var(--border);background:var(--panel);border-radius:6px;align-content:center;justify-items:center;gap:5px;min-height:74px;padding:10px 8px;display:grid}.summary-card strong{font-size:24px;line-height:1}.summary-card span,.mode-stat-meta,.guess-bar-row{color:var(--muted);font-size:12px}.win-card{grid-row:span 2}.win-ring{background:conic-gradient(var(--correct) var(--win-rate), var(--activity-0) 0);border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.win-ring:before{content:"";background:var(--panel);border-radius:50%;grid-area:1/1;width:34px;height:34px}.win-ring strong{grid-area:1/1;font-size:13px;position:relative}.mode-stats-grid{gap:8px;display:grid}.mode-stat-card{border:1px solid var(--subtle-border);border-radius:6px;gap:8px;padding:10px;display:grid}.mode-stat-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mode-stat-head strong{border:2px solid var(--text);place-items:center;width:28px;height:28px;font-weight:900;display:grid}.mode-stat-head span{font-weight:900}.mini-meter{background:var(--activity-0);border-radius:999px;height:8px;overflow:hidden}.mini-meter i{border-radius:inherit;background:var(--correct);height:100%;display:block}.mode-stat-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;display:grid}.guess-chart{border-top:1px solid var(--subtle-border);gap:10px;padding-top:12px;display:grid}.guess-bars{gap:6px;display:grid}.guess-bar-row{grid-template-columns:16px minmax(0,1fr) 26px;align-items:center;gap:8px;display:grid}.guess-bar-row span{color:var(--text);font-weight:900}.guess-bar-row i{background:var(--present);border-radius:4px;min-width:8px;height:18px}.guess-bar-row strong{color:var(--text);text-align:right;font-size:12px}.activity-panel{border-top:1px solid var(--subtle-border);gap:10px;padding-top:12px;display:grid}.activity-head,.activity-legend{justify-content:space-between;align-items:center;gap:8px;display:flex}.activity-head strong{font-size:14px}.activity-head span,.activity-legend{color:var(--muted);font-size:12px}.activity-grid{grid-template-rows:repeat(7,12px);grid-auto-columns:12px;grid-auto-flow:column;justify-content:start;gap:4px;padding-bottom:2px;display:grid;overflow-x:auto}.activity-cell{background:var(--activity-0);border-radius:3px;width:12px;height:12px}.activity-cell.blank{background:0 0}.activity-cell.level-1{background:var(--activity-1)}.activity-cell.level-2{background:var(--activity-2)}.activity-cell.level-3{background:var(--activity-3)}.activity-cell.level-4{background:var(--activity-4)}.activity-cell.level-5{background:var(--activity-5)}.activity-legend{justify-content:flex-end}.activity-legend i{display:block}.game-band{--game-gap:12px;--keyboard-gap:6px;--key-height:46px;justify-items:center;gap:var(--game-gap);max-width:620px;padding-top:24px;padding-bottom:18px;display:grid}.game-header{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.game-header div{text-align:right;gap:2px;display:grid}.game-header span{color:var(--muted);font-size:13px}.board{--tile-size:clamp(44px, min(12vw, 7.7svh), 56px);grid-template-rows:repeat(6,minmax(0,1fr));gap:5px;width:auto;display:grid}.board-4{grid-template-columns:repeat(4, var(--tile-size))}.board-3{grid-template-columns:repeat(3, var(--tile-size))}.board-5{grid-template-columns:repeat(5, var(--tile-size))}.board-6{grid-template-columns:repeat(6, var(--tile-size))}.board-7{grid-template-columns:repeat(7, var(--tile-size))}.tile{width:var(--tile-size);height:var(--tile-size);border:2px solid var(--border);background:var(--page);color:var(--text);text-transform:uppercase;transform-style:preserve-3d;will-change:transform, background-color, border-color, color;border-radius:4px;place-items:center;font-size:clamp(24px,7vw,38px);font-weight:900;line-height:1;display:grid}.tile.filled{border-color:var(--filled-border)}.tile.correct,.tile.present,.tile.absent{background:var(--tile-bg);color:#fff;border-color:#0000}.tile.correct{--tile-bg:var(--correct)}.tile.present{--tile-bg:var(--present)}.tile.absent{--tile-bg:var(--absent)}.tile.revealing{animation:tile-reveal .64s ease-in-out var(--reveal-delay,0s) both}@keyframes tile-reveal{0%{background:var(--page);border-color:var(--filled-border);color:var(--text);transform:rotateX(0)}49.99%{background:var(--page);border-color:var(--filled-border);color:var(--text);transform:rotateX(90deg)}50%{background:var(--tile-bg);color:#fff;border-color:#0000;transform:rotateX(90deg)}to{background:var(--tile-bg);color:#fff;border-color:#0000;transform:rotateX(0)}}.game-message{min-height:24px;color:var(--text);text-align:center;font-weight:800}.result-modal-backdrop{z-index:25;background:#10151573;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.completion-panel{border:1px solid var(--border);background:var(--panel);width:min(100%,390px);color:var(--text);text-align:center;border-radius:8px;justify-items:center;gap:10px;padding:20px;animation:.26s cubic-bezier(.2,1.25,.35,1) both auth-modal-in;display:grid;box-shadow:0 24px 70px #00000047}.completion-panel strong{font-size:26px;line-height:1}.completion-panel span{font-weight:800}.completion-panel small{color:var(--muted);font-size:13px}.result-chip{color:#fff;border-radius:999px;padding:6px 10px;font-size:14px;line-height:1}.result-chip.won{background:var(--correct)}.result-chip.lost{background:var(--absent)}.share-grid{color:var(--text);letter-spacing:0;white-space:pre;background:0 0;margin:6px 0 0;font-family:inherit;font-size:22px;line-height:1.25}.completion-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.completion-actions button{background:var(--primary);color:var(--primary-text);border:0;border-radius:4px;padding:10px 14px;font-weight:800}.completion-actions button.secondary{background:var(--inverse);color:var(--inverse-text)}.keyboard{gap:var(--keyboard-gap);width:min(100%,560px);display:grid}.key-row{justify-content:center;gap:var(--keyboard-gap);display:flex}.key{min-width:0;max-width:44px;height:var(--key-height);background:var(--key-bg);color:var(--text);border:0;border-radius:4px;flex:1;font-size:14px;font-weight:900}.key.wide{flex:1.5;max-width:70px;font-size:12px}.key.correct,.key.present,.key.absent{color:#fff}.key.correct{background:var(--correct)}.key.present{background:var(--present)}.key.absent{background:var(--absent)}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.section-head h1{margin:0;font-size:28px}.archive-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.archive-item{border:1px solid var(--border);background:var(--panel);color:var(--text);text-align:left;border-radius:6px;align-content:center;gap:4px;min-height:86px;padding:14px;display:grid}.archive-item:hover,.mode-tile:hover{border-color:var(--filled-border)}.empty-state{color:var(--muted)}.feed-list{gap:12px;display:grid}.feed-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:12px;padding:16px;display:grid}.feed-card-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.feed-card-head div{gap:3px;display:grid}.feed-card-head strong{font-size:17px}.feed-card-head span,.feed-card small{color:var(--muted);font-size:13px}.feed-status{background:var(--key-bg);color:var(--text);border-radius:999px;padding:5px 9px;font-weight:900;line-height:1}.feed-status.won{background:var(--correct);color:#fff}.feed-status.lost{background:var(--absent);color:#fff}.feed-grid{color:var(--text);letter-spacing:0;white-space:pre;background:0 0;margin:0;font-family:inherit;font-size:22px;line-height:1.2}.admin-layout{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.admin-panel{border-top:1px solid var(--border);padding-top:16px}.admin-panel h2{margin:0 0 12px;font-size:18px}.inline-form{grid-template-columns:1fr auto;gap:8px;margin-bottom:14px;display:grid}.inline-form.stack{grid-template-columns:1fr 1fr auto}.secondary-action{background:var(--inverse);color:var(--inverse-text);margin-bottom:14px}.word-list,.puzzle-list,.user-list,.bug-report-list{gap:6px;max-height:420px;display:grid;overflow:auto}.word-row,.puzzle-row,.user-row,.bug-report-row{border-bottom:1px solid var(--subtle-border);align-items:center;gap:8px;min-height:42px;display:grid}.word-row{grid-template-columns:minmax(0,1fr) auto auto}.user-row{grid-template-columns:minmax(0,1fr);align-items:start;padding:8px 0}.bug-report-row{align-items:start;padding:10px 0}.bug-report-row.reviewed{opacity:.68}.bug-report-head{justify-content:space-between;gap:12px;display:flex}.bug-report-head strong{color:var(--correct);text-transform:uppercase;font-size:12px}.bug-report-row.reviewed .bug-report-head strong{color:var(--muted)}.bug-report-head span,.bug-report-row p{margin:0}.bug-report-head span{color:var(--muted);font-size:12px}.bug-report-row p{line-height:1.35}.word-row.inactive .word-meta strong{color:var(--disabled);text-decoration:line-through}.word-meta{gap:2px;min-width:0;display:grid}.word-meta span{color:var(--muted);font-size:12px}.answer-toggle{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.user-actions{flex-wrap:wrap;gap:8px;display:flex}.word-row button,.user-actions button,.file-action{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;padding:7px 10px;font-weight:700}.file-action{cursor:pointer}.file-action input{display:none}.puzzle-row{grid-template-columns:1fr 42px 90px 70px}@media (width>=861px){.app-view-game .game-band{--game-gap:clamp(8px, 1.5svh, 12px);--keyboard-gap:clamp(4px, .8svh, 6px);--key-height:clamp(36px, 5.8svh, 44px);align-content:center;min-height:100svh;max-height:100svh;padding-top:clamp(8px,2svh,18px);padding-bottom:clamp(8px,2svh,18px)}.app-view-game .board{--tile-size:clamp(36px, min(12vw, 6.6svh), 52px)}}@media (width>=861px) and (height<=650px){.app-view-game .game-band{--game-gap:6px;--keyboard-gap:4px;--key-height:32px;padding-top:8px;padding-bottom:8px}.app-view-game .board{--tile-size:clamp(30px, min(10vw, 5.8svh), 40px);gap:4px}.app-view-game .tile{font-size:clamp(20px,5svh,30px)}.app-view-game .game-message{min-height:20px;font-size:14px}.app-view-game .key{font-size:12px}.app-view-game .key.wide{font-size:11px}}@media (prefers-reduced-motion:reduce){.auth-modal,.completion-panel{animation:none}}@media (width<=860px){.topbar{grid-template-columns:1fr;justify-items:stretch}.brand-button,.nav-tabs,.auth-entry,.auth-signed-in{justify-self:center}.menu-inner,.admin-layout{grid-template-columns:1fr}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.mode-grid{grid-template-columns:1fr}.mode-tile{min-height:120px}.mode-tile span{font-size:54px}.section-head,.game-header{flex-direction:column;align-items:stretch}.game-header div{text-align:left}.inline-form,.inline-form.stack{grid-template-columns:1fr}.key{height:44px;font-size:12px}}@media (prefers-reduced-motion:reduce){.tile.revealing{animation:none}}
