:root{color-scheme:light dark;--bg: #f5f1eb;--panel: rgba(255, 255, 255, .78);--panel-strong: #fffdf8;--fg: #1d2227;--muted: #5b6570;--border: rgba(42, 54, 66, .14);--accent: #c84a2e;--accent-soft: rgba(200, 74, 46, .12);--shadow: 0 18px 40px rgba(24, 28, 33, .08)}[data-theme=dark]{--bg: #111519;--panel: rgba(24, 29, 35, .82);--panel-strong: #1a2026;--fg: #eef2f6;--muted: #99a6b2;--border: rgba(180, 194, 208, .14);--accent: #ff7b5a;--accent-soft: rgba(255, 123, 90, .14);--shadow: 0 18px 40px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(circle at top,rgba(200,74,46,.08),transparent 26%),var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;transition:background .2s ease,color .2s ease}button,input{font:inherit}button{color:inherit}#app{min-height:100vh}.boot-message{min-height:100vh;display:grid;place-items:center;padding:2rem;color:var(--muted)}.boot-message-error{color:var(--accent)}.shell-app{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:.75rem;padding:.75rem}.shell-band{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.shell-header,.shell-footer{padding:1rem}.shell-header{display:grid;gap:1rem}.header-top-row{display:flex;align-items:center;justify-content:space-between;gap:.9rem}.header-brand,.header-viewer-controls,.header-title-group,.detail-heading,.timeline-block,.control-cluster,.workspace-selector,.systems-list{display:grid;gap:.45rem}.header-brand{grid-auto-flow:column;align-items:center;justify-content:start;gap:.75rem}.header-brand-icon{width:4rem;height:4rem;border-radius:12px;flex-shrink:0}.header-viewer-controls{display:flex;flex-wrap:wrap;justify-content:end;gap:.45rem}.eyebrow,.control-label,.timeline-status,.system-chip span{color:var(--muted);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:1.45rem;line-height:1.1}h2{font-size:1.15rem}h3{font-size:1rem}.header-status,.detail-copy,.detail-card p{color:var(--muted)}.header-controls,.footer-controls{display:grid;gap:.8rem}.footer-controls{grid-template-columns:auto minmax(0,1fr);align-items:start}.chip-row,.workspace-toggle{display:flex;flex-wrap:wrap;gap:.45rem}.control-chip,.theme-toggle,.workspace-button,.system-chip{border:1px solid var(--border);background:var(--panel-strong);border-radius:14px;padding:.55rem .8rem}.control-chip,.theme-toggle,.workspace-button{cursor:pointer}.control-chip.active,.workspace-button.active,.system-chip.active{border-color:var(--accent);background:var(--accent-soft)}.shell-midsection-band{min-height:0}.shell-split.shell-midsection{min-height:100%;display:grid;grid-template-columns:minmax(6.5rem,7.5rem) auto minmax(0,1fr)}.shell-split-pane{min-width:0}.shell-divider.shell-split-divider{width:1px;background:var(--border)}.systems-rail{padding:.85rem;display:grid;align-content:start;gap:1rem}.workspace-button{min-width:0;flex:1 1 6rem}.systems-list{gap:.55rem}.system-chip{width:100%;text-align:left;display:grid;gap:.15rem;cursor:pointer}.system-chip strong{font-size:.92rem;font-weight:600}.detail-field{padding:.95rem;height:100%;display:grid;align-content:start;gap:.9rem}.detail-field-planner{align-content:stretch;grid-template-rows:minmax(0,1fr)}.detail-card-stack,.live-results-panel,.live-results-grid{display:grid;gap:.75rem}.overview-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem}.overview-metric{background:var(--panel-strong);border:1px solid var(--border);border-radius:14px;padding:.75rem;display:grid;gap:.2rem}.live-results-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.live-result-card{background:var(--panel-strong);border:1px solid var(--border);border-radius:16px;padding:.85rem;display:grid;gap:.25rem}.live-result-title,.live-result-delta,.sparkline-range,.recent-moment-row span,.monitor-card-note{color:var(--muted)}.live-result-value{font-size:1.2rem;line-height:1.1}.sparkline-card,.sparkline-heading{display:grid;gap:.55rem}.sparkline-card{align-content:start}.sparkline{width:100%;height:2.5rem;color:var(--accent)}.detail-card{background:var(--panel-strong);border:1px solid var(--border);border-radius:16px;padding:.9rem;display:grid;gap:.4rem}.planner-form,.planner-grid,.planner-panel,.planner-lane-form,.planner-lane-selector,.planner-day-column,.planner-hour-rows,.planner-editor-body,.planner-editor-settings,.planner-detail-selector{display:grid;gap:.75rem}.planner-day-column{grid-template-rows:auto minmax(0,1fr);min-height:0}.planner-panel{min-height:0;grid-template-rows:minmax(0,1fr) minmax(0,1fr);height:100%}.planner-timeline{height:100%}.planner-timeline,.planner-editor{min-height:0}.planner-editor{grid-template-rows:auto minmax(0,1fr)}.planner-editor-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}.planner-detail-selector{align-content:start;border:1px dashed var(--border);border-radius:12px;color:var(--muted);padding:.75rem}.planner-detail-selector h4,.planner-detail-selector p{margin:0}.planner-add-lane-button{justify-items:center}.planner-timeline-scroll{overflow:auto;min-height:0;height:100%}.planner-timeline-grid{display:grid;grid-template-columns:repeat(var(--planner-day-count, 1),minmax(5.5rem,6.5rem));gap:1.5rem;align-items:stretch;min-width:max-content;height:100%}.planner-day-heading{text-align:center;font-size:.8rem;color:var(--muted);min-height:1.25rem}.planner-day-track{position:relative;width:100%;height:100%;min-height:20rem;border:0;border-radius:.75rem;background:color-mix(in srgb,var(--panel) 70%,transparent);box-shadow:inset 0 0 0 1px var(--border);cursor:pointer;padding:0}.planner-day-line{position:absolute;top:.5rem;bottom:.5rem;left:3.55rem;width:3px;background:#000}.planner-hour-rows{position:absolute;inset:.5rem 0;grid-template-rows:repeat(24,minmax(0,1fr));gap:0;pointer-events:none}.planner-hour-row{display:grid;grid-template-columns:3rem 1rem;align-items:start;min-height:0}.planner-hour-label{color:var(--fg);font-size:.72rem;line-height:1;text-align:right}.planner-hour-check{width:.55rem;border-top:1px solid #000;justify-self:start;margin-left:.55rem}.planner-track-event{position:absolute;left:4.25rem;width:1.1rem;border-radius:.45rem;border:1px solid var(--border);cursor:pointer;z-index:1}.planner-track-event-meal{background:color-mix(in srgb,var(--accent) 45%,transparent)}.planner-track-event-selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.planner-field{display:grid;gap:.35rem}.planner-field input,.planner-field select{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;padding:.6rem .7rem}.planner-note{margin:0}.planner-action-row{display:flex;flex-wrap:wrap;gap:.5rem}.timeline-block{display:grid;gap:.8rem;min-width:0}.timeline-header{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}.timeline-scale{position:relative;min-height:3.7rem;border-top:2px solid var(--fg);margin-top:.9rem}.timeline-scale-label{position:absolute;top:-1.55rem;left:0;color:var(--muted);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.timeline-line{position:absolute;inset:-2px 0 auto;height:2px}.timeline-tick{position:absolute;top:-.45rem;transform:translate(-50%);display:grid;justify-items:center;gap:.2rem}.timeline-tick:first-of-type{transform:translate(0)}.timeline-tick:last-of-type{transform:translate(-100%)}.timeline-tick-mark{width:1px;height:.55rem;background:var(--fg)}.timeline-tick-label{color:var(--muted);font-size:.7rem;white-space:nowrap}.timeline-detail-window{position:absolute;top:-.8rem;left:0;width:max(.15%,.45rem);height:1.6rem;border-left:2px solid var(--accent);border-right:2px solid var(--accent);background:transparent;z-index:3}.timeline-now-marker{position:absolute;top:-.7rem;width:2px;height:1.4rem;background:var(--accent);z-index:2}.timeline-now-marker-lifetime{left:0}.timeline-now-marker-day{left:6.25%}.timeline-scale-day .timeline-meal-track{position:absolute;inset:1.25rem 0 auto}.timeline-lifetime-track{position:absolute;inset:1.15rem 0 auto;min-height:1.7rem}.timeline-lifetime-event{position:absolute;top:0;min-height:.9rem;border:1px solid var(--border);background:var(--panel-strong);overflow:hidden}.timeline-lifetime-event-dense{height:.9rem;background:var(--accent-soft)}.timeline-lifetime-event-rare{height:1.25rem;border-color:var(--accent);background:var(--accent)}.timeline-lifetime-event-past{opacity:.68}.timeline-lifetime-event-upcoming{opacity:.82}.timeline-lifetime-event-label{display:block;padding:.05rem .25rem;color:var(--fg);font-size:.68rem;line-height:1.1;white-space:nowrap}.timeline-lifetime-event-rare .timeline-lifetime-event-label{color:var(--bg)}.timeline-meal-track{position:relative;min-height:3.25rem;padding:.3rem 0}.timeline-meal-event{position:absolute;top:0;display:grid;gap:.1rem;min-width:.75rem;min-height:1.35rem;padding:0;border-radius:3px;border:2px solid var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--bg),0 .15rem .35rem #0000002e;overflow:hidden;z-index:1}.timeline-meal-event-past{opacity:.72}.timeline-meal-event-active{border-color:var(--accent);background:var(--accent)}.timeline-meal-event-upcoming{background:var(--panel-strong)}.timeline-meal-event-label,.timeline-meal-event-time{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;font-size:.75rem;line-height:1.15;white-space:nowrap}.timeline-meal-event-time{color:var(--muted)}.timeline-slider{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}@media(max-width:639px){.shell-split.shell-midsection{grid-template-columns:minmax(0,1fr)}.shell-divider.shell-split-divider{display:none}.systems-rail{overflow-x:auto;grid-auto-flow:column;grid-auto-columns:max-content;align-items:start}.workspace-toggle{flex-direction:column}.workspace-button{flex:1 1 auto;width:100%}.planner-editor-body{grid-template-columns:minmax(0,1fr)}.system-chip{min-width:8.5rem}}@media(min-width:640px){.shell-app{padding:1rem}.shell-header,.shell-footer{padding:1.1rem 1.2rem}.shell-split.shell-midsection{grid-template-columns:minmax(11rem,13rem) auto minmax(0,1fr)}.header-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.live-results-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-bar{grid-template-columns:repeat(5,minmax(0,1fr))}}
