:root{--bg:#f7f2e9;--paper:#fffdf8;--paper-soft:#fff6e8;--panel-elevated:#fff;--ink:#262219;--muted:#736b59;--line:#dfd4bd;--hero-start:#fffdf8;--hero-end:#eef6ea;--timer-focus-start:#fffdf8;--timer-focus-end:#edf7ed;--timer-short-start:#fffdf8;--timer-short-end:#f2f7fb;--timer-long-start:#fffdf8;--timer-long-end:#faf2e5;--timer-face-bg:#f5faf5;--timer-face-border:#cfdccf;--secondary-bg:#d8e7d9;--secondary-ink:#1f4a32;--danger-bg:#f7ddd6;--danger-ink:#9a402b;--chip-bg:#f7efe2;--chip-border:#d8ccb3;--stats-border:#e5dac6;--subtle-border:#c4b89f;--notice-bg:#25342a;--notice-ink:#fff;--status-bg:#eff8ef;--status-border:#c7d9c8;--status-ink:#224e34;--modal-backdrop:#1a181273;--brand:#2f6d4a;--brand-strong:#1f4a32;--warn:#9a402b;--shadow:0 10px 30px #2e24121f;--radius:18px;--font-main:"Avenir Next", "Segoe UI", sans-serif;--font-display:"Palatino", "Book Antiqua", serif}:root[data-theme=night]{--bg:#0f1418;--paper:#182028;--paper-soft:#1e2932;--panel-elevated:#202b34;--ink:#ebf2f6;--muted:#a7b6c3;--line:#2f3d49;--hero-start:#1a2430;--hero-end:#213033;--timer-focus-start:#1d2831;--timer-focus-end:#19342d;--timer-short-start:#1d2831;--timer-short-end:#202b3d;--timer-long-start:#1d2831;--timer-long-end:#332b22;--timer-face-bg:#121a22;--timer-face-border:#30404c;--secondary-bg:#2b3b46;--secondary-ink:#d9e9f2;--danger-bg:#4a2f32;--danger-ink:#ffd8d8;--chip-bg:#23303b;--chip-border:#3b4c59;--stats-border:#354552;--subtle-border:#465867;--notice-bg:#d8f6e0;--notice-ink:#183023;--status-bg:#203640;--status-border:#355767;--status-ink:#d6f0ff;--modal-backdrop:#03080c9e;--brand:#82b6d4;--brand-strong:#cfe7f7;--warn:#f3b0a5;--shadow:0 18px 45px #00000073}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-main);color:var(--ink);background:radial-gradient(circle at top right, color-mix(in srgb, var(--paper-soft) 70%, transparent) 0%, transparent 40%), radial-gradient(circle at left center, color-mix(in srgb, var(--brand) 22%, transparent) 0%, transparent 38%), var(--bg)}#app{max-width:1160px;margin:0 auto;padding:20px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em}button,input,select,textarea{font:inherit}.layout{grid-template-columns:1.25fr 1fr;align-items:start;gap:18px;display:grid}.column{min-width:0}.stack{gap:14px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.modal-backdrop{background:var(--modal-backdrop);z-index:30;position:fixed;inset:0}.meal-modal{z-index:40;width:min(560px,100vw - 24px);max-height:calc(100vh - 24px);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.hero{background:linear-gradient(120deg, var(--hero-start), var(--hero-end))}.hero-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.theme-picker{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.theme-picker select{width:auto;min-width:110px;padding:6px 10px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--brand-strong);font-size:.75rem}.field{gap:6px;display:grid}.field span{color:var(--muted);font-size:.85rem}.switch-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.switch-row input[type=checkbox]{width:auto;accent-color:var(--brand)}input,select,textarea{border:1px solid color-mix(in srgb, var(--line) 70%, #ccbfa7 30%);background:color-mix(in srgb, var(--paper) 88%, #fff 12%);width:100%;color:var(--ink);border-radius:10px;padding:9px 10px}button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:8px 14px}button.secondary{background:var(--secondary-bg);color:var(--secondary-ink)}button.danger{background:var(--danger-bg);color:var(--danger-ink)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.split{justify-content:space-between}.muted{color:var(--muted)}.meal-filter{width:auto;min-width:170px}.meal-card{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 75%, var(--panel-elevated) 25%);border-radius:14px;gap:10px;padding:12px;display:grid}.meal-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.meal-card-head h3{flex:1}.meal-chip{border:1px solid var(--chip-border);background:var(--chip-bg);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.78rem}.meal-card small{color:var(--muted)}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stats div{border:1px solid var(--stats-border);border-radius:10px;gap:4px;padding:8px;display:grid}.stats span{color:var(--muted);font-size:.75rem}.session-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.session-row{border:1px solid color-mix(in srgb, var(--line) 65%, #ece3d4 35%);background:color-mix(in srgb, var(--paper) 93%, #fffdf9 7%);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px;font-size:.92rem;display:grid}.timer-panel{text-align:center;border-width:2px;border-color:color-mix(in srgb, var(--brand) 45%, var(--line) 55%)}.phase-focus{background:linear-gradient(160deg, var(--timer-focus-start), var(--timer-focus-end))}.phase-short-break{background:linear-gradient(160deg, var(--timer-short-start), var(--timer-short-end))}.phase-long-break{background:linear-gradient(160deg, var(--timer-long-start), var(--timer-long-end))}.timer-face{color:var(--brand-strong);border:1px solid var(--timer-face-border);background:var(--timer-face-bg);border-radius:16px;padding:12px;font-family:Courier New,monospace;font-size:clamp(2rem,8vw,3.6rem)}.timer-meta{color:var(--muted);justify-content:space-between;font-size:.85rem;display:flex}.status-badge{text-transform:capitalize;border:1px solid var(--status-border);background:var(--status-bg);color:var(--status-ink);border-radius:999px;padding:2px 9px}.collapsible{gap:10px}.collapsible summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.collapsible summary::-webkit-details-marker{display:none}.collapsible summary:after{content:"+";color:var(--muted);font-size:1.2rem;line-height:1}.collapsible[open] summary:after{content:"-"}.column:last-child .timer-panel{z-index:5;position:sticky;top:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.subtle-box{border:1px dashed var(--subtle-border);border-radius:10px;padding:10px}.notice{background:var(--notice-bg);color:var(--notice-ink);box-shadow:var(--shadow);border-radius:12px;padding:10px 14px;position:fixed;bottom:16px;right:16px}@media (width<=940px){.layout,.grid-2{grid-template-columns:1fr}.hero-top{flex-direction:column;align-items:flex-start}.meal-card-head{flex-direction:column;align-items:stretch}.meal-chip{align-self:flex-start}.session-row{grid-template-columns:1fr}.timer-meta{flex-direction:column;gap:4px}.column:last-child .timer-panel{position:static}}
