:root{color:#1d2825;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f7f3eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#2f6f5f17,#0000 300px),#f7f3eb;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,520px);min-height:100vh;padding:max(18px, env(safe-area-inset-top)) 16px max(22px, env(safe-area-inset-bottom));margin:0 auto}.topbar{grid-template-columns:48px 1fr;align-items:center;gap:12px;margin-bottom:22px;display:grid}.brand-mark,.icon-button{color:#fff;background:#2f6f5f;border:0;border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.icon-button{cursor:pointer}.eyebrow{color:#6f7771;margin:0 0 2px;font-size:13px}h1,h2,p{margin:0}h1{color:#16221f;letter-spacing:0;font-size:24px;line-height:1.18}h2{color:#26322f;letter-spacing:0;font-size:17px;line-height:1.2}.stack{gap:14px;display:grid}.hero-band,.sleep-intent{color:#fff;background:#2f6f5f;border-radius:8px;gap:8px;padding:18px;display:grid}.hero-band p,.sleep-intent p{color:#ffffffc7;font-size:14px}.hero-band strong,.sleep-intent strong{max-width:15em;font-size:22px;line-height:1.22}.dashboard-button{color:#1d2825;text-align:left;cursor:pointer;background:#ffffffb8;border:1px solid #1d28251a;border-radius:8px;grid-template-columns:48px 1fr;align-items:center;gap:13px;width:100%;min-height:88px;padding:14px;display:grid;box-shadow:0 10px 28px #2f6f5f14}.dashboard-button strong,.choice-button strong{margin-bottom:5px;font-size:18px;line-height:1.15;display:block}.dashboard-button small,.choice-button small{color:#6f7771;font-size:13px;line-height:1.25;display:block}.button-icon{color:#2f6f5f;background:#e8efe7;border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.choice-group{gap:10px;display:grid}.section-title{color:#2f6f5f;align-items:center;gap:8px;display:flex}.choice-grid{gap:10px;display:grid}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.four,.choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-button{color:#1d2825;text-align:left;cursor:pointer;background:#ffffffb3;border:1px solid #1d28251f;border-radius:8px;align-content:start;min-height:94px;padding:14px 12px;display:grid;position:relative}.choice-button.selected{background:#dfeee9;border-color:#2f6f5f;box-shadow:inset 0 0 0 1px #2f6f5f}.checkmark{color:#2f6f5f;position:absolute;top:10px;right:10px}.soft-note{color:#7d3f31;background:#d95f471a;border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.5}.time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.time-fields label{gap:7px;min-width:0;display:grid}.time-fields span{color:#56615c;font-size:13px}.time-fields input{color:#1d2825;background:#ffffffc7;border:1px solid #1d282524;border-radius:8px;width:100%;min-height:54px;padding:0 12px}.finish-button{color:#2b271a;cursor:pointer;background:#f5c451;border:1px solid #1d28251f;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:58px;padding:0 16px;font-weight:700;display:flex}.finish-button.selected{color:#fff;background:#2f6f5f}.feedback-pop{z-index:10;color:#2f6f5f;pointer-events:none;background:#f7f3ebb8;place-content:center;gap:12px;animation:.9s both pop-fade;display:grid;position:fixed;inset:0}.feedback-pop svg{color:#fff;background:#2f6f5f;border-radius:50%;justify-self:center;width:64px;height:64px;padding:14px;box-shadow:0 18px 40px #2f6f5f38}.feedback-pop strong{font-size:22px}.segment-control{background:#1d282514;border-radius:8px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.segment-control button{color:#56615c;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:42px;font-weight:700}.segment-control button.active{color:#2f6f5f;background:#fff;box-shadow:0 6px 18px #2f6f5f1a}.calendar-nav{grid-template-columns:42px 1fr 42px auto;align-items:center;gap:8px;display:grid}.calendar-nav button{color:#2f6f5f;cursor:pointer;background:#ffffffb8;border:1px solid #1d28251a;border-radius:8px;place-items:center;min-height:42px;display:grid}.calendar-nav strong{color:#26322f;text-align:center;min-width:0;font-size:18px}.calendar-nav .today-button{color:#fff;background:#2f6f5f;min-width:56px;padding:0 12px;font-weight:700}.calendar-panel{background:#ffffffb8;border:1px solid #1d282514;border-radius:8px;gap:14px;padding:16px;display:grid;box-shadow:0 10px 28px #2f6f5f14}.calendar-panel h2{text-align:center;font-size:22px}.calendar-week-header{color:#26322f;text-align:center;grid-template-columns:repeat(7,1fr);font-size:14px;font-weight:700;display:grid}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 6px;display:grid}.week-grid{gap:10px;display:grid}.calendar-day{color:#1d2825;align-content:start;min-height:76px;padding:7px 4px;display:grid}.week-grid .calendar-day{background:#2f6f5f0f;border-radius:8px;grid-template-columns:42px 1fr;align-items:center;min-height:58px;padding:10px}.calendar-day.muted{color:#c6c8c3}.day-number{text-align:center;min-height:22px;font-size:15px;display:block}.week-grid .day-number{font-size:20px;font-weight:700}.day-tags{justify-items:center;gap:3px;margin-top:7px;display:grid}.week-grid .day-tags{grid-auto-flow:column;justify-content:start;margin-top:0}.day-tags em{color:#fff;text-align:center;text-overflow:clip;white-space:nowrap;border-radius:4px;max-width:none;padding:2px 4px;font-size:10px;font-style:normal;line-height:1.25;overflow:visible}.day-tags em.good{background:#2f6f5f}.day-tags em.bad{background:#d95f47}.calendar-day.checked .day-number{color:#2f6f5f;font-weight:800}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.year-month{gap:8px;min-width:0;display:grid}.year-month strong{color:#56615c;font-size:13px}.mini-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.mini-day{aspect-ratio:1;background:#1d282514;border-radius:3px}.mini-day.muted{opacity:.22}.mini-day.checked{background:#2f6f5f}@keyframes pop-fade{0%{opacity:0;transform:scale(.94)}18%{opacity:1;transform:scale(1)}76%{opacity:1}to{opacity:0;transform:scale(1.02)}}@media (width<=380px){.app-shell{padding-left:12px;padding-right:12px}.choice-grid.three,.choice-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-button{min-height:76px}.calendar-panel{padding:12px}.month-grid{gap:6px 3px}.calendar-day{min-height:68px}.calendar-nav{grid-template-columns:40px 1fr 40px}.calendar-nav .today-button{grid-column:1/-1}}
