:root{--text:#a89e93;--text-h:#f5ede6;--bg:#1c1410;--accent:#ff8a3d;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;font:100%/1.45 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--text:#6b6357;--text-h:#241a12;--bg:#fdfaf7}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{margin:0;font-size:2rem}p{margin:0}code{font-family:ui-monospace,Consolas,monospace;font-size:.8125rem}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid color-mix(in srgb, var(--text) 28%, transparent);background:color-mix(in srgb, var(--text) 8%, transparent);min-height:44px;color:var(--text-h);cursor:pointer;touch-action:manipulation;border-radius:10px;padding:10px 14px}button:disabled{cursor:default;opacity:.45}input,select{border:1px solid color-mix(in srgb, var(--text) 28%, transparent);background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:8px;min-height:44px;padding:8px 10px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.state-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:32px 8px;display:flex}.state-screen h2{margin:0;font-size:1.25rem}.state-detail{opacity:.9;overflow-wrap:anywhere;font-size:.9375rem}.state-hint{opacity:.7;max-width:34ch;font-size:.875rem}.state-action{min-height:48px;margin-top:4px;padding-inline:20px}.state-screen[role=alert]{color:var(--text)}.state-screen[role=alert] h2{color:#ff9b8a}.review{flex-direction:column;flex:1;gap:16px;display:flex}.review-progress{opacity:.75;font-variant-numeric:tabular-nums;justify-content:center;font-size:.875rem;display:flex}.review-card{border:1px solid color-mix(in srgb, var(--text,#f4ede4) 20%, transparent);text-align:center;border-radius:12px;flex:1;justify-content:center;align-items:center;min-height:180px;padding:20px 16px;display:flex}.review-card .card-surface{width:100%}.reveal{width:100%;min-height:52px;font-size:1.0625rem}.grade-bar{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.grade{border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:6px 2px;display:flex}.grade-label{font-size:.875rem;font-weight:600}.grade-interval{opacity:.75;font-variant-numeric:tabular-nums;font-size:.75rem}.grade-1{border-color:#ff9b8a99}.grade-4{border-color:#8ad6a099}.review-actions{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.review-actions button{min-height:44px;font-size:.8125rem}.review-actions button:disabled{opacity:.4}.review-status{text-align:center;opacity:.8}.review-done{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.review-done h2{margin:0}.review-done button{width:100%;min-height:48px}.review-done .ghost,.note-editor .ghost{opacity:.8;background:0 0}.note-editor{flex-direction:column;gap:12px;display:flex}.note-editor label{flex-direction:column;gap:4px;font-size:.875rem;display:flex}.note-editor textarea{min-height:72px;font:inherit;resize:vertical;border-radius:8px;padding:8px}.note-editor-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.note-editor-actions button{min-height:44px}.pulse{flex-direction:column;flex:1;gap:16px;display:flex}.pulse-progress{opacity:.75;font-variant-numeric:tabular-nums;justify-content:center;gap:10px;font-size:.875rem;display:flex}.pulse-last{opacity:.9;font-weight:600}.pulse-card{border:1px solid color-mix(in srgb, var(--text,#f4ede4) 20%, transparent);text-align:center;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;border-radius:16px;flex:1;justify-content:center;align-items:center;min-height:220px;padding:24px 16px;display:flex;position:relative}.pulse-card:not([style*=translate]){transition:transform .18s ease-out}.pulse-card[data-leaning=pass]{border-color:#8ad6a0b3}.pulse-card[data-leaning=fail]{border-color:#ff9b8ab3}.pulse-card .card-surface{width:100%}.pulse-card-preview{opacity:.55;touch-action:auto}.pulse-hint{letter-spacing:.08em;text-transform:uppercase;pointer-events:none;border-radius:999px;padding:4px 10px;font-size:.8125rem;font-weight:700;position:absolute;top:12px}.pulse-hint-fail{color:#ff9b8a;border:1px solid;left:12px}.pulse-hint-pass{color:#8ad6a0;border:1px solid;right:12px}.pulse-actions,.pulse-tray{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pulse-actions:has(.pulse-reveal){grid-template-columns:1fr}.pulse-tray{grid-template-columns:repeat(3,1fr)}.pulse-actions button,.pulse-tray button{border-radius:12px;min-height:56px;font-size:1.0625rem}.pulse-fail{border-color:#ff9b8a99}.pulse-pass{border-color:#8ad6a099}.pulse-status{text-align:center;opacity:.8}.pulse-done{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.pulse-done h2{margin:0;font-size:1.75rem}.pulse-tally{opacity:.85;font-variant-numeric:tabular-nums}.pulse-done button{width:100%;min-height:52px}.pulse-done .ghost{opacity:.8;background:0 0}@media (prefers-reduced-motion:reduce){.pulse-card{transition:none}}.home{flex-direction:column;flex:1;gap:16px;display:flex}.home-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-header h1{margin:0;font-size:1.75rem}.home-banner{background:color-mix(in srgb, var(--text,#f4ede4) 8%, transparent);border:1px solid color-mix(in srgb, var(--text,#f4ede4) 18%, transparent);border-radius:10px;margin:0;padding:12px 14px;font-size:.875rem;line-height:1.45}.home-cta{border-color:#ffb27ab3;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-height:76px;padding:14px;font-size:1.1875rem;font-weight:600;display:flex}.home-cta-time{opacity:.8;font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:400}.home-pulse{border-radius:12px;min-height:56px;font-size:1.0625rem}.home-pulse:disabled{opacity:.45}.home-pulse-sub{opacity:.75;font-size:.875rem}.home-chip{text-align:center;opacity:.85;border:1px dashed color-mix(in srgb, var(--text,#f4ede4) 30%, transparent);background:0 0;border-radius:999px;min-height:44px;margin:0;padding:10px 12px;font-size:.875rem}.home-clear{text-align:center;padding:20px 0}.home-clear-title{margin:0 0 4px;font-size:1.25rem;font-weight:600}.home-clear-sub{opacity:.75;margin:0}.home-nav{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.home-nav button{background:0 0;min-height:44px;font-size:.9375rem}.home-status{text-align:center;opacity:.8}.streak-ring{flex-direction:column;align-items:center;gap:2px;display:flex}.streak-ring-track{stroke:color-mix(in srgb, var(--text,#f4ede4) 16%, transparent)}.streak-ring-fill{stroke:#ffb27a;transition:stroke-dashoffset .4s ease-out}.streak-ring-count{fill:var(--text,#f4ede4);font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700}.streak-ring-label{opacity:.7;font-size:.75rem}.streak-ring-freeze{opacity:.85}@media (prefers-reduced-motion:reduce){.streak-ring-fill{transition:none}}.home-banner-action{text-align:left;width:100%;color:inherit;font-size:.875rem}.app-shell{box-sizing:border-box;max-width:480px;min-height:100svh;padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));flex-direction:column;align-items:stretch;gap:16px;margin:0 auto;display:flex}.app-shell>h1,.app-shell>p{text-align:center}.import-panel{border:1px solid color-mix(in srgb, var(--text,#f4ede4) 20%, transparent);text-align:left;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.import-panel h2{margin:0;font-size:1.125rem}.import-picker{flex-direction:column;gap:8px;display:flex}.import-picker input[type=file]{border:1px dashed color-mix(in srgb, var(--text,#f4ede4) 35%, transparent);border-radius:8px;min-height:44px;padding:10px}.import-picker input[type=file]:disabled{opacity:.5}.import-generation{opacity:.7}.import-reconstruction{grid-template-columns:1fr auto;gap:4px 12px;margin:0;display:grid}.import-reconstruction>div{display:contents}.import-reconstruction dt{opacity:.8}.import-reconstruction dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.import-warnings{opacity:.85;margin:4px 0 0;padding-left:18px;font-size:.875rem}[role=alert]{color:#ff9b8a}.start-session{min-height:52px;font-size:1.0625rem}.start-pulse{border-color:#ffb27ab3;border-radius:14px;min-height:64px;font-size:1.25rem;font-weight:600}.sprint-picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sprint-picker button{min-height:44px;font-size:.875rem}.app-loading{text-align:center;opacity:.75;padding:32px 0}
