html,body,#root{width:100%;min-width:100%;min-height:100%;margin:0}html,body{background:#fafafa}:is(html:has(.app[data-theme=dark]),body:has(.app[data-theme=dark])){background:#111}:is(html:has(.app[data-theme=light]),body:has(.app[data-theme=light])){background:#fafafa}body{overflow-x:hidden}#root{min-height:100vh}:root{--background:#fafafa;--surface:#fff;--text:#1f2933;--muted:#6b7280;--border:#d7dce1;--border-strong:#9aa3ad;--button:#f3f4f6;--button-hover:#e8eaed;--focus:#1f2933;--error:#9f1d1d}.app[data-theme=dark]{--background:#111;--surface:#181818;--text:#f2f2f2;--muted:#a0a0a0;--border:#333;--border-strong:#555;--button:#242424;--button-hover:#303030;--focus:#f2f2f2;--error:#ff6b6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--background);color:var(--text);margin:0}.app{background:var(--background);width:100%;min-width:100%;min-height:100vh;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex-direction:column;justify-content:center;align-items:center;padding:2rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;position:relative;overflow-x:hidden}.home-app{justify-content:flex-start;padding-top:1.5rem}h1{letter-spacing:-.03em;color:var(--text);margin:0 0 2.5rem;font-size:2rem;font-weight:500}.brand-lockup{flex-direction:column;align-items:center;gap:.35rem;width:5.6rem;display:flex;position:absolute;top:1.25rem;left:1.5rem}.brand-logo{object-fit:cover;border-radius:999px;width:4.8rem;height:4.8rem;display:block;box-shadow:0 .9rem 2rem #0f172a1f}.app[data-theme=dark] .brand-logo{box-shadow:0 .9rem 2.25rem #00000080}.brand-title{letter-spacing:-.03em;color:var(--text);margin:0;font-size:1.12rem;font-weight:500;line-height:1}.updates-panel{z-index:20;width:14.5rem;max-width:calc(100vw - 3rem);color:var(--text);position:absolute;top:8.65rem;left:1.5rem}.updates-title{min-width:7rem;color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.5rem;margin:0;padding:.35rem .7rem;font-size:.9rem;font-weight:600;line-height:1;display:inline-flex}.updates-title:hover{background:var(--button-hover)}.updates-panel-open .updates-title{border-bottom:0;border-radius:.5rem .5rem 0 0}.updates-toggle-icon{color:var(--muted);font-size:.9rem;line-height:1}.updates-list{background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:0 .65rem .65rem;flex-direction:column;gap:.7rem;height:clamp(14rem,100vh - 15rem,34rem);max-height:calc(100vh - 15rem);padding:.7rem .75rem;display:flex;overflow-y:auto;box-shadow:0 .9rem 2rem #0f172a14}.update-item{flex-direction:column;gap:.15rem;font-size:.78rem;line-height:1.32;display:flex}.update-date{white-space:nowrap;color:var(--text);font-size:.72rem;font-weight:650;line-height:1.2;display:block}.update-description{color:var(--muted);display:block}.app[data-theme=dark] .updates-list{box-shadow:0 .9rem 2rem #00000061}button{cursor:pointer;color:var(--text);background:var(--button);border:1px solid var(--border-strong);border-radius:.35rem;padding:.65rem 1.1rem;font-family:inherit;font-size:1rem;font-weight:500}button:hover{background:var(--button-hover)}button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input{color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:.25rem;font-family:inherit}.auth-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:24px;font-size:.95rem;display:flex}.home-app .auth-bar{margin-top:6.9rem;margin-bottom:1.1rem}.start-panel{flex-direction:column;align-items:stretch;gap:1.25rem;width:min(48rem,94vw);display:flex}.settings-table{flex-direction:column;gap:.35rem;display:flex}.settings-header,.settings-row{grid-template-columns:3rem 10rem 1fr;align-items:center;column-gap:1rem;display:grid}.settings-header{color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:.4rem;font-size:.85rem;font-weight:600}.settings-row{min-height:2.6rem}.settings-row input[type=checkbox]{appearance:none;cursor:pointer;background:var(--surface);border:1px solid var(--border-strong);border-radius:.2rem;place-content:center;width:1.05rem;height:1.05rem;margin:0;display:grid}.settings-row input[type=checkbox]:before{content:"";background:var(--background);clip-path:polygon(14% 44%,0 65%,45% 100%,100% 18%,82% 0%,40% 62%);width:.55rem;height:.55rem;transform:scale(0)}.settings-row input[type=checkbox]:checked{background:var(--text);border-color:var(--text)}.settings-row input[type=checkbox]:checked:before{transform:scale(1)}.operation-name{font-size:1rem;font-weight:500}.operation-note{color:var(--muted);font-size:.95rem}.range-expression{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:1rem;display:flex}.range-small-input{text-align:center;width:4.5rem;padding:.35rem;font-size:.95rem}.time-setting-row{align-items:center;gap:.7rem;margin-top:.5rem;font-size:1rem;display:flex}.time-input{text-align:center;width:5rem;padding:.35rem;font-size:.95rem}.start-actions{flex-wrap:wrap;justify-content:flex-end;gap:.8rem;display:flex}.start-button{align-self:flex-end}.secondary-button{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.secondary-button:hover{background:var(--button-hover)}.theme-toggle-row{justify-content:center;margin-top:.25rem;display:flex}.theme-toggle-button{color:var(--muted);border:1px solid var(--border);background:0 0;padding:.45rem .8rem;font-size:.9rem}.theme-toggle-button:hover{background:var(--button-hover);color:var(--text)}.countdown-screen{text-align:center}.countdown-number{letter-spacing:-.04em;font-size:5rem;font-weight:500;line-height:1}.countdown-label{color:var(--muted);margin-top:1rem;font-size:1.1rem}.game{text-align:center;flex-direction:column;align-items:center;gap:2.25rem;display:flex}.session-status{z-index:20;color:var(--text);font-variant-numeric:tabular-nums;pointer-events:none;justify-content:space-between;gap:1rem;font-size:1.05rem;display:flex;position:fixed;top:1.25rem;left:1.5rem;right:1.5rem}.session-status span{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.45rem .8rem;box-shadow:0 8px 24px #00000014}.question{letter-spacing:-.04em;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:2rem;margin:0;font-size:4.25rem;font-weight:500;line-height:1;display:flex}.answer-input{text-align:center;font-variant-numeric:tabular-nums;width:12rem;margin:0;padding:.55rem;font-size:2rem}.answer-input:focus{outline:2px solid var(--focus);outline-offset:2px}.stop-session-button{color:var(--muted);border:1px solid var(--border);background:0 0;margin-top:.25rem;padding:.45rem .9rem;font-size:.9rem}.stop-session-button:hover{background:var(--button-hover);color:var(--text)}.results{text-align:center;background:var(--surface);border:1px solid var(--border-strong);width:min(42rem,94vw);color:var(--text);border-radius:.85rem;flex-direction:column;align-items:center;gap:1.5rem;padding:2.25rem;display:flex;overflow:hidden;box-shadow:0 18px 50px #0f172a1f}.app[data-theme=dark] .results{box-shadow:0 18px 50px #0000008c}.results h2{color:var(--text);margin:0;font-size:1.6rem;font-weight:500}.result-grid{grid-template-columns:repeat(2,minmax(8rem,1fr));gap:2rem;width:100%;display:grid}.result-number{letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--text);font-size:4.5rem;font-weight:500;line-height:1}.result-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text);font-size:2.7rem;font-weight:500;line-height:1}.result-label{color:var(--muted);margin:.35rem 0 0;font-size:1.05rem}.results button{margin-top:.5rem}.timing-section{text-align:left;width:100%}.timing-section h3{color:var(--text);margin-bottom:.75rem;font-size:1rem;font-weight:600}.timing-list{flex-direction:column;gap:0;width:100%;display:flex}.timing-item{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;width:100%;color:var(--text);grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.65rem 0;display:grid}.timing-item span:first-child{overflow-wrap:anywhere;min-width:0}.timing-item span:last-child{white-space:nowrap;color:var(--text)}.error{color:var(--error);margin-top:1rem}.progress-screen{flex-direction:column;gap:1.5rem;width:min(48rem,94vw);display:flex}.progress-header{justify-content:space-between;align-items:center;display:flex}.progress-header h2{letter-spacing:-.03em;margin:0;font-size:1.6rem;font-weight:500}.empty-progress{color:var(--muted)}.progress-grid{text-align:center;grid-template-columns:repeat(4,minmax(7rem,1fr));gap:1.2rem;display:grid}.progress-number{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:500;line-height:1}.progress-grid p{color:var(--muted);margin:.4rem 0 0}.progress-section{text-align:left}.progress-section h3{margin-bottom:.75rem;font-size:1rem;font-weight:600}.session-list{flex-direction:column;gap:0;display:flex}.session-row{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;grid-template-columns:1fr 7rem 7rem;gap:1rem;padding:.65rem 0;display:grid}.progress-filters{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.progress-filters label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.progress-filters input{padding:.35rem;font-size:.95rem}.progress-tabs{gap:.8rem;display:flex}.tab-button{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.active-tab{background:var(--button);border-color:var(--text)}.score-chart-card{border:1px solid var(--border);background:var(--surface);padding:1rem;overflow-x:auto}.score-chart{width:100%;min-width:36rem;height:auto}.chart-axis{stroke:var(--text);stroke-width:1.25px}.chart-grid-line{stroke:var(--border);stroke-width:1px}.chart-line{fill:none;stroke:var(--text);stroke-width:2px}.chart-point{fill:var(--text)}.chart-y-label,.chart-x-label{fill:var(--muted);font-size:.8rem}.feedback-footer{z-index:30;color:var(--muted);background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;padding:.45rem .75rem;font-size:.85rem;position:fixed;bottom:1rem;left:1.25rem;box-shadow:0 10px 28px #0f172a14}.feedback-footer a{color:var(--text);text-decoration:none}.feedback-footer a:hover{text-decoration:underline}.app[data-theme=dark] .feedback-footer{box-shadow:0 10px 28px #00000059}@media (width<=700px){.app{padding:1.25rem}.home-app{padding-top:1.1rem}.brand-lockup{width:auto;margin-bottom:1rem;position:static}.brand-logo{width:4.2rem;height:4.2rem}.brand-title{font-size:1.05rem}.home-app .auth-bar{margin-top:0}.updates-panel{width:min(28rem,94vw);max-width:100%;margin-bottom:1rem;position:static}.updates-list{height:auto;max-height:10rem}.settings-header,.settings-row{grid-template-columns:2.5rem 8rem 1fr;column-gap:.7rem}.question{gap:1.25rem;font-size:3.25rem}.progress-grid{grid-template-columns:repeat(2,1fr)}.session-row{grid-template-columns:1fr;gap:.25rem}.start-actions{justify-content:stretch}.start-actions button{flex:1}.session-status{font-size:.9rem;top:.75rem;left:.75rem;right:.75rem}.session-status span{padding:.4rem .65rem}.results{width:min(34rem,94vw);padding:1.4rem}.result-grid{grid-template-columns:1fr;gap:1.25rem}.timing-item{grid-template-columns:1fr;gap:.25rem}.timing-item span:last-child{white-space:normal}.feedback-footer{padding:.4rem .6rem;font-size:.78rem;bottom:.75rem;left:.75rem}}.profile-name-panel{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;width:min(48rem,94vw);margin:0 0 1.25rem;padding:.85rem 1rem;display:flex;box-shadow:0 .7rem 1.5rem #0f172a0d}.profile-name-copy{flex-direction:column;gap:.2rem;display:flex}.profile-name-copy h2{margin:0;font-size:1rem;font-weight:650}.profile-name-copy p,.profile-name-status,.profile-name-error{color:var(--muted);margin:0;font-size:.86rem}.profile-name-error{color:var(--error)}.profile-name-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.profile-name-input{width:min(16rem,60vw);padding:.7rem .8rem;font-size:.95rem}.app[data-theme=dark] .profile-name-panel{box-shadow:0 .7rem 1.5rem #00000059}@media (width<=720px){.profile-name-panel{flex-direction:column;align-items:stretch;gap:.85rem}.profile-name-controls{justify-content:stretch}.profile-name-input{width:100%}}
