:root{--surface-1:#fff;--page-plane:#ecece7;--text-primary:#1b2420;--text-secondary:#586059;--text-muted:#8a9189;--gridline:#e1e3da;--accent:#1c6b57;--accent-dim:#155847;--accent-track:#e6f1ec;--accent-line:#cfe3d9;--border:#e1e3da;--danger:#b23b33;--display:"Bricolage Grotesque", "Inter", sans-serif;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--radius:8px;--radius-lg:16px;--shadow:0 1px 2px #1b24200a, 0 8px 24px #1b24200f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page-plane);color:var(--text-primary);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}#root{min-height:100vh}button{font-family:inherit}h1,h2,h3,p{margin:0}.app-shell{flex-direction:column;align-items:center;min-height:100vh;padding:0 20px 64px;display:flex}.site-header{align-items:center;width:100%;max-width:720px;margin-bottom:32px;padding:26px 0 22px;display:flex}.brand{font-family:var(--display);letter-spacing:-.01em;color:var(--text-primary);font-size:18px;font-weight:600}.brand-accent{color:var(--accent);font-weight:700}.app-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:720px;box-shadow:var(--shadow);padding:40px}@media (width<=640px){.app-card{padding:24px}}.eyebrow{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:14px;font-size:11px;font-weight:700;display:flex}.eyebrow:after{content:"";background:var(--border);flex:1;height:1px}.headline{font-family:var(--display);letter-spacing:-.01em;margin-bottom:16px;font-size:clamp(22px,4vw,28px);font-weight:600;line-height:1.25}.subhead{color:var(--text-secondary);margin-bottom:20px;font-size:15px;line-height:1.6}.honesty-nudge{color:var(--text-secondary);background:var(--accent-track);border:1px solid var(--accent-line);border-radius:10px;margin-bottom:28px;padding:14px 16px;font-size:13.5px;line-height:1.55}.btn{font-family:var(--sans);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-dim)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{color:var(--text-secondary);border:1px solid var(--gridline);background:0 0}.btn-secondary:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-row{justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.progress-wrap{margin-bottom:28px}.progress-label{color:var(--text-muted);justify-content:space-between;margin-bottom:8px;font-size:12.5px;display:flex}.progress-track{background:var(--gridline);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .2s}.section-framing{color:var(--text-primary);margin-bottom:24px;font-size:15px;line-height:1.6}.rating-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.rating-btn{border:1px solid var(--gridline);background:var(--surface-1);min-width:34px;height:44px;color:var(--text-primary);font-family:var(--sans);cursor:pointer;border-radius:8px;flex:1 1 0;font-size:14px;font-weight:600;transition:all .18s}.rating-btn:hover{border-color:var(--accent)}.rating-btn.selected{background:var(--accent);border-color:var(--accent);color:#fff}.rating-scale-labels{color:var(--text-muted);justify-content:space-between;margin-bottom:20px;font-size:11.5px;display:flex}.ladder-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:13px;font-weight:600}.ladder-toggle:hover{color:var(--accent-dim);text-decoration:underline}.ladder-box{background:var(--accent-track);border:1px solid var(--accent-line);color:var(--text-secondary);border-radius:10px;margin-bottom:20px;padding:14px 16px;font-size:13px;line-height:1.55}.ladder-row{gap:8px;margin-bottom:8px;display:flex}.ladder-row:last-child{margin-bottom:0}.ladder-row .tag{color:var(--accent-dim);flex:none;min-width:46px;font-weight:700}.hours-input-row{margin-bottom:8px}.hours-input-label{color:var(--text-secondary);margin-bottom:8px;font-size:13.5px;display:block}.hours-input{width:120px;font-family:var(--sans);border:1px solid var(--gridline);background:var(--surface-1);color:var(--text-primary);border-radius:8px;padding:9px 12px;font-size:14px}.hours-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-track);outline:none}.score-hero{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.score-number{font-family:var(--display);font-size:48px;font-weight:700;line-height:1}.score-max{color:var(--text-muted);font-size:20px}.band-label{font-family:var(--display);color:var(--accent);margin-bottom:10px;font-size:16px;font-weight:600}.band-description{color:var(--text-secondary);margin-bottom:8px;font-size:15px;line-height:1.6}.hours-total{color:var(--text-muted);margin-bottom:28px;font-size:13.5px}.chart-wrap{margin-bottom:8px}.chart-row{align-items:center;gap:12px;padding:6px 0;display:flex}.chart-row-label{color:var(--text-secondary);flex:0 0 220px;font-size:13px}@media (width<=640px){.chart-row-label{flex-basis:130px;font-size:12px}}.chart-row-track{background:var(--gridline);border-radius:4px;flex:auto;height:16px;position:relative}.chart-row-fill{background:var(--accent);border-radius:4px;min-width:4px;height:100%}.chart-row-value{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;flex:0 0 34px;font-size:13px}.form-field{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:13.5px;display:block}.form-input{width:100%;font-family:var(--sans);border:1px solid var(--gridline);background:var(--surface-1);color:var(--text-primary);border-radius:8px;padding:10px 12px;font-size:14px}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-track);outline:none}.form-error{color:var(--danger);margin-top:16px;font-size:13px}.section-pips{gap:4px;margin-bottom:20px;display:flex}.section-pip{background:var(--gridline);border-radius:2px;flex:1 1 0;height:4px}.section-pip.done{background:var(--accent)}
