.sleep-debt-recovery-planner{--n-paper: #fffdf7;--n-surface: #f7f0e4;--n-ink: #24221f;--n-muted: #716b62;--n-line: #d8cbb8;--n-gold: #b47c2f;--n-moon: #e7be65;--n-sage: #628b70;--n-coral: #c66d5b;--n-shadow: rgba(52, 40, 26, .12);display:grid;gap:1.25rem;color:var(--n-ink);background:var(--n-paper);border:1px solid var(--n-line);border-radius:1.5rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 1rem 2.5rem var(--n-shadow)}.theme-dark .sleep-debt-recovery-planner{--n-paper: #1c1b19;--n-surface: #27231f;--n-ink: #f3eadb;--n-muted: #bdb09e;--n-line: #53483b;--n-gold: #e4b35b;--n-moon: #e9c778;--n-sage: #8db69a;--n-coral: #e28a76;--n-shadow: rgba(0, 0, 0, .35)}.planner-intro{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid var(--n-line);padding-bottom:1rem}.planner-intro p,.control-hint,.guidance p,.recovery-note p,.rest-note p,.disclaimer{margin:0;line-height:1.55}.planner-intro p{max-width:42rem;font-size:1.05rem}.offline-mark{color:var(--n-muted);font-size:.82rem;white-space:nowrap}.planner-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(11rem,.8fr) minmax(10rem,.7fr);gap:1rem}.control-block,.night-log{background:var(--n-surface);border:1px solid var(--n-line);border-radius:1rem;padding:1rem}.control-block--target{grid-row:span 2}.control-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-weight:700}.control-heading output,.night-log__meta{color:var(--n-gold);font-size:.82rem}.target-inputs{display:grid;grid-template-columns:minmax(0,1fr) 5rem auto;align-items:center;gap:.7rem;margin-top:1.1rem}input[type=range]{accent-color:var(--n-gold);width:100%}input[type=number]{width:100%;min-height:2.75rem;border:1px solid var(--n-line);border-radius:.65rem;background:var(--n-paper);color:var(--n-ink);padding:.55rem .6rem;font:inherit}input:focus-visible,button:focus-visible{outline:3px solid var(--n-gold);outline-offset:2px}.control-hint{color:var(--n-muted);font-size:.82rem;margin-top:.7rem}.preset-row,.horizon-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}button{border:1px solid var(--n-line);border-radius:999px;background:var(--n-paper);color:var(--n-ink);cursor:pointer;font:inherit;padding:.55rem .75rem}button:hover,button.is-active{border-color:var(--n-gold);background:var(--n-gold);color:var(--n-paper)}.night-log{grid-column:1 / -1}.night-list{display:grid;grid-template-columns:repeat(7,minmax(5.3rem,1fr));gap:.6rem;margin-top:.75rem}.night-entry{display:grid;gap:.35rem;min-width:0}.night-entry__name{font-weight:700}.night-entry__hint{color:var(--n-muted);font-size:.72rem}.night-entry__field{display:grid;grid-template-columns:1fr;gap:.25rem}.night-entry__field span{color:var(--n-muted);font-size:.72rem}.reset-button{justify-self:start;background:transparent}.planner-result{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:1rem;align-items:start}.ledger-column{display:grid;gap:1rem;align-content:start}.ledger-scene,.result-core,.result-stats,.result-guidance{border:1px solid var(--n-line);border-radius:1rem;background:var(--n-surface);padding:1rem}.ledger-scene{display:grid;align-content:center;min-height:12rem}.sleep-ledger{width:100%;height:auto;overflow:visible}.ledger-caption{display:flex;justify-content:space-between;color:var(--n-muted);font-size:.78rem}.result-core{display:grid;gap:1rem}.result-core__headline{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem}.result-core__headline strong{font-size:clamp(2rem,5vw,3.5rem);line-height:1;text-align:right}.result-badge{border:1px solid var(--n-gold);border-radius:999px;color:var(--n-gold);font-size:.75rem;padding:.3rem .5rem}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.result-stats div{border-top:1px solid var(--n-line);padding-top:.55rem}.result-stats span{display:block;color:var(--n-muted);font-size:.75rem}.result-stats strong{display:block;margin-top:.2rem;font-size:1.15rem}.guidance,.recovery-note,.rest-note{border-top:1px solid var(--n-line);padding-top:.8rem}.guidance h3,.recovery-note h3,.rest-note h3{margin:0 0 .35rem;font-size:.92rem}.guidance p,.recovery-note p,.rest-note p{color:var(--n-muted);font-size:.85rem}.disclaimer{color:var(--n-muted);font-size:.75rem}@media(max-width:760px){.planner-intro,.planner-result{grid-template-columns:1fr;display:grid}.offline-mark{white-space:normal}.planner-controls{grid-template-columns:1fr}.control-block--target{grid-row:auto}.night-log{overflow-x:auto}.night-list{min-width:40rem}.planner-result{display:grid}}
