:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f6f3ed;color:#1f2933;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}button{font:inherit}button{cursor:pointer}.app-shell{width:min(1440px,calc(100% - 32px));min-height:100vh;margin:0 auto;padding:24px 0 32px}.app-shell.summary-view{padding-top:18px;padding-bottom:20px}.topbar{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 0 16px;border-bottom:1px solid #d8d1c5}.topbar h1{margin:0;font-size:2rem;line-height:1}.topbar-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:10px;font-size:.9rem;color:#52616b}.topbar-meta span{min-height:32px;display:inline-flex;align-items:center;border:1px solid #d8d1c5;border-radius:6px;padding:0 10px;background:#fffdfa}.topbar-meta .playtest-badge{border-color:#9a3412;color:#7c2d12;background:#fff1e7;font-weight:800}.eyebrow{margin:0 0 6px;color:#7a4f25;font-size:.75rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.status-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0}.progress-cell{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #d8d1c5;border-radius:6px;padding:8px 10px;background:#fffdfa}.progress-cell span{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:50%;background:#ede6d9;font-weight:800}.progress-cell small{color:#52616b;white-space:nowrap}.progress-cell.active{border-color:#0f6b78}.progress-cell.correct span{color:#fff;background:#23764d}.progress-cell.missed span{color:#fff;background:#a83f39}.progress-cell.locked{color:#798691}.game-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.9fr);gap:16px;align-items:start}.code-surface,.answer-surface,.start-panel,.summary,.empty-state{border:1px solid #d8d1c5;border-radius:8px;background:#fffdfa}.start-screen{min-height:calc(100vh - 112px);display:grid;place-items:center;padding:24px 0}.start-panel{width:min(640px,100%);padding:22px}.start-panel h2{margin:0 0 14px;font-size:2rem;line-height:1.1}.start-panel ul{display:grid;gap:8px;margin:0 0 18px;padding-left:22px;color:#40505a;line-height:1.5}.code-surface{overflow:hidden}.file-tabs{display:flex;gap:6px;min-height:48px;overflow-x:auto;padding:8px;border-bottom:1px solid #d8d1c5;background:#eee7db}.file-tab{flex:0 0 auto;min-height:32px;border:1px solid #d8d1c5;border-radius:6px;padding:0 10px;color:#33414a;background:#fffdfa}.file-tab.selected{border-color:#0f6b78;color:#063f49;background:#dff2f2}.code-heading{min-height:42px;display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #d8d1c5;color:#52616b;font-size:.85rem}.code-block{min-height:560px;max-height:calc(100vh - 190px);margin:0;overflow:auto;background:#162026;color:#e7edf0;font-family:Cascadia Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9rem;line-height:1.55;tab-size:4}.code-line{display:grid;grid-template-columns:48px max-content;min-width:max-content}.line-number{position:sticky;left:0;padding:0 12px;color:#8ea0aa;text-align:right;-webkit-user-select:none;user-select:none;background:#11191f;border-right:1px solid #2b3840}.line-text{padding:0 16px;white-space:pre}.answer-surface{padding:16px}.challenge-meta{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:16px;align-items:start}.challenge-meta h2{margin:0;font-size:1.35rem;line-height:1.2}.timer{min-height:78px;display:grid;place-items:center;border:1px solid #d8d1c5;border-radius:8px;background:#f6f3ed}.timer span{font-size:1.45rem;font-weight:800}.timer small{color:#52616b}.timer-track{height:8px;overflow:hidden;margin:16px 0;border-radius:999px;background:#e5ded2}.timer-fill{height:100%;background:#0f6b78;transition:width .12s linear}.options{display:grid;gap:10px}.option-button{min-height:64px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;width:100%;border:1px solid #d8d1c5;border-radius:8px;padding:10px;color:#1f2933;text-align:left;background:#fff}.option-button span{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;background:#33414a;font-weight:800}.option-button strong{overflow-wrap:anywhere}.option-button:not(:disabled):hover{border-color:#0f6b78;background:#f5fbfb}.option-button.right{border-color:#23764d;background:#e5f4ea}.option-button.right span{background:#23764d}.option-button.wrong{border-color:#a83f39;background:#f9e7e5}.option-button.wrong span{background:#a83f39}.option-button.muted{color:#65737e;background:#f6f3ed}.feedback{margin-top:14px;border:1px solid #d8d1c5;border-radius:8px;padding:14px;background:#f6f3ed}.feedback.correct{border-color:#9bc9aa}.feedback.missed{border-color:#d99b95}.feedback h3,.summary-row h3{margin:0 0 8px;font-size:1rem}.feedback p,.summary-row p,.summary-heading p,.empty-state p{margin:0 0 10px;color:#40505a;line-height:1.5}.primary-action{min-height:42px;border:0;border-radius:8px;padding:0 14px;color:#fff;background:#0f6b78;font-weight:800}.app-footer{flex:0 0 auto;display:flex;justify-content:center;padding:12px 0 0}.privacy-link{min-height:32px;border:0;padding:0 8px;color:#52616b;background:transparent;font-size:.85rem;text-decoration:underline;text-underline-offset:3px}.privacy-link:hover{color:#0f6b78}.privacy-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#1620267a}.privacy-dialog{width:min(520px,100%);border:1px solid #d8d1c5;border-radius:8px;padding:18px;background:#fffdfa;box-shadow:0 18px 48px #16202633}.privacy-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.privacy-heading h2{margin:0;font-size:1.35rem;line-height:1.2}.privacy-close{width:36px;height:36px;border:1px solid #d8d1c5;border-radius:6px;color:#33414a;background:#fff;font-weight:800}.privacy-dialog p,.privacy-dialog li{color:#40505a;line-height:1.5}.privacy-dialog p{margin:0 0 10px}.privacy-dialog ul{display:grid;gap:8px;margin:0 0 16px;padding-left:22px}.summary,.empty-state{padding:20px}.summary{padding:14px 18px}.empty-state{margin-top:16px}.empty-state h2,.summary-heading h2{margin:0 0 10px;font-size:2rem;line-height:1.1}.summary-heading{display:flex;flex-wrap:wrap;align-items:end;gap:4px 14px}.summary-heading .eyebrow{flex:0 0 100%;margin-bottom:0}.summary-heading h2{margin-bottom:0}.summary-heading p{margin-bottom:3px}.summary-list{display:grid;gap:8px;margin-top:12px}.summary-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;border:1px solid #d8d1c5;border-radius:8px;padding:10px 12px;background:#fff}.summary-row.correct{border-left:6px solid #23764d}.summary-row.missed{border-left:6px solid #a83f39}.summary-index{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;color:#fff;background:#33414a;font-weight:800}.summary-answers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 16px}.summary-row h3{margin-bottom:6px}.summary-row p{margin-bottom:6px;line-height:1.38}.summary-row .summary-explanation{margin-bottom:0}@media(min-width:961px){.app-shell.challenge-view{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-top:18px;padding-bottom:18px}.challenge-view .topbar{flex:0 0 auto;padding-bottom:12px}.challenge-view .topbar h1{font-size:1.85rem}.challenge-view .eyebrow{margin-bottom:4px}.challenge-view .status-strip{flex:0 0 auto;margin:12px 0}.challenge-view .progress-cell{min-height:42px;padding:7px 10px}.challenge-view .game-layout{flex:1 1 auto;min-height:0;align-items:stretch;overflow:hidden}.challenge-view .code-surface{min-height:0;display:flex;flex-direction:column}.challenge-view .file-tabs{flex:0 0 auto;min-height:42px;padding:6px}.challenge-view .file-tab{min-height:30px}.challenge-view .code-heading{flex:0 0 auto;min-height:36px;padding:8px 12px}.challenge-view .code-block{flex:1 1 auto;min-height:0;max-height:none}.challenge-view .answer-surface{min-height:0;overflow:auto}.challenge-view .app-footer{padding-top:10px}}@media(max-width:960px){.app-shell{width:min(100% - 20px,720px);padding-top:14px}.topbar{align-items:start;flex-direction:column}.topbar-meta{justify-content:start}.status-strip{grid-template-columns:repeat(5,minmax(44px,1fr))}.progress-cell{min-height:52px;flex-direction:column;justify-content:center}.game-layout{grid-template-columns:minmax(0,1fr)}.code-block{min-height:360px;max-height:52vh;font-size:.82rem}.answer-surface{padding:12px}.start-screen{min-height:auto;place-items:start}}@media(max-width:560px){.topbar h1{font-size:1.75rem}.challenge-meta{grid-template-columns:minmax(0,1fr)}.start-panel{padding:16px}.start-panel h2{font-size:1.55rem}.timer{min-height:58px;display:flex;justify-content:space-between;padding:0 12px}.code-line{grid-template-columns:40px max-content}.line-number{padding:0 8px}.line-text{padding:0 12px}}
