:root{--brand-rose: #f0b4b0;--brand-rose-mid: #b96b66;--brand-rose-deep: #7a3630;--brand-ink: #23201b;--brand-paper: #f6f0e4;--l-ground: #f4f2ee;--l-card: #fdfcfa;--l-chip: #fbf8f2;--l-ink: #23201b;--l-ink-soft: #5a5344;--l-ink-faint: #746c5d;--l-edge: #e3ded4;--l-edge-strong: #d8d1c3;--l-sunken: #efece5;--l-accent-text: var(--brand-rose-deep);--l-accent-soft: rgba(240, 180, 176, .3);--l-hat: var(--brand-rose);--l-danger: #d1381f;--l-good: #4a6b3f;--l-tick: rgba(240, 180, 176, .45);--l-tick-edge: var(--brand-rose-mid);--l-focus: 0 0 0 3px rgba(122, 54, 48, .32);--l-grain: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%22120%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.75%22 numOctaves=%222%22 stitchTiles=%22stitch%22/%3E%3CfeColorMatrix values=%220 0 0 0 0.35 0 0 0 0 0.3 0 0 0 0 0.22 0 0 0 0.07 0%22/%3E%3C/filter%3E%3Crect width=%22120%22 height=%22120%22 filter=%22url(%23n)%22/%3E%3C/svg%3E");--d-ground: #23201b;--d-card: #2b2823;--d-chip: rgba(244, 242, 238, .05);--d-ink: #f4f2ee;--d-ink-soft: #b5ac98;--d-ink-faint: #948a78;--d-edge: rgba(244, 242, 238, .12);--d-edge-strong: rgba(244, 242, 238, .2);--d-sunken: #1c1a15;--d-accent-text: var(--brand-rose);--d-accent-soft: rgba(240, 180, 176, .16);--d-hat: var(--brand-rose);--d-danger: #ed5a48;--d-good: #9cbf8e;--d-tick: rgba(240, 180, 176, .28);--d-tick-edge: rgba(240, 180, 176, .55);--d-focus: 0 0 0 3px rgba(240, 180, 176, .32);--d-grain: none;--font: "Kladdle Roman", Georgia, serif;--font-mono: "Kladdle Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 13px;--text-md: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 26px;--text-4xl: 32px;--text-display: 40px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-xs: 3px;--radius-sm: 8px;--radius-md: 11px;--radius-lg: 12px;--motion: .16s;--masthead: 34px;--top-inset: var(--space-4);--mark-inset: var(--space-5);color-scheme:light;--ground: var(--l-ground);--card: var(--l-card);--raised: var(--l-card);--chip-bg: var(--l-chip);--ink: var(--l-ink);--ink-soft: var(--l-ink-soft);--ink-faint: var(--l-ink-faint);--edge: var(--l-edge);--edge-strong: var(--l-edge-strong);--sunken: var(--l-sunken);--accent: var(--brand-rose);--accent-text: var(--l-accent-text);--accent-soft: var(--l-accent-soft);--hat: var(--l-hat);--danger: var(--l-danger);--good: var(--l-good);--good-soft: var(--l-good);--tick-done: var(--l-tick);--tick-done-edge: var(--l-tick-edge);--focus-ring: var(--l-focus);--grain: var(--l-grain)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground: var(--d-ground);--card: var(--d-card);--raised: var(--d-card);--chip-bg: var(--d-chip);--ink: var(--d-ink);--ink-soft: var(--d-ink-soft);--ink-faint: var(--d-ink-faint);--edge: var(--d-edge);--edge-strong: var(--d-edge-strong);--sunken: var(--d-sunken);--accent-text: var(--d-accent-text);--accent-soft: var(--d-accent-soft);--hat: var(--d-hat);--danger: var(--d-danger);--good: var(--d-good);--good-soft: var(--d-good);--tick-done: var(--d-tick);--tick-done-edge: var(--d-tick-edge);--focus-ring: var(--d-focus);--grain: var(--d-grain)}}:root[data-theme=dark]{color-scheme:dark;--ground: var(--d-ground);--card: var(--d-card);--raised: var(--d-card);--chip-bg: var(--d-chip);--ink: var(--d-ink);--ink-soft: var(--d-ink-soft);--ink-faint: var(--d-ink-faint);--edge: var(--d-edge);--edge-strong: var(--d-edge-strong);--sunken: var(--d-sunken);--accent-text: var(--d-accent-text);--accent-soft: var(--d-accent-soft);--hat: var(--d-hat);--danger: var(--d-danger);--good: var(--d-good);--good-soft: var(--d-good);--tick-done: var(--d-tick);--tick-done-edge: var(--d-tick-edge);--focus-ring: var(--d-focus);--grain: var(--d-grain)}*{box-sizing:border-box}html,body{height:100%;overflow:hidden}body{margin:0;background:var(--ground);color:var(--ink-soft);font-family:var(--font);font-size:var(--text-2xl);line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:inherit;touch-action:manipulation}input,textarea,select{font-size:var(--text-lg)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.app{position:fixed;top:0;bottom:0;left:0;right:0;max-width:520px;margin:0 auto;padding-top:env(safe-area-inset-top);display:flex;flex-direction:column}.frame{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;padding-top:env(safe-area-inset-top)}.app.wide{position:static;max-width:none;flex:1;min-width:0;padding-top:0}.app.wide .enter{max-width:760px;margin:0 auto}.app.wide .enter.full{max-width:none}.enter.fill:has(>.plan){height:100%}.plan{display:flex;flex-direction:column;min-height:0;height:100%}.plan-nav{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.plan-nav .range{font-size:var(--text-2xl);color:var(--ink)}.plan-nav .steps{display:flex;gap:var(--space-1);flex:none}.plan-nav .steps button{height:36px;min-width:36px;padding:0 var(--space-3);background:none;border:1px solid var(--edge);border-radius:var(--radius-sm);color:var(--ink-faint);font-family:inherit;font-size:var(--text-lg);line-height:1;cursor:pointer;transition:color var(--motion)}.plan-nav .steps .here{font-family:var(--font-mono);font-size:var(--text-sm)}.plan-nav .steps button:hover{color:var(--ink);border-color:var(--edge-strong)}.plan-row{flex:1;min-height:0;display:flex;align-items:stretch;gap:var(--space-4);overflow-x:auto}.plan-week{flex:1;min-width:640px;min-height:0}.enter.fill{display:flex;flex-direction:column;min-height:100%}.enter.fill>*{flex:1;min-height:0;display:flex;flex-direction:column}.screen{flex:1;overflow-y:auto;padding:var(--top-inset) var(--space-5) var(--space-4);scrollbar-width:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.screen::-webkit-scrollbar{display:none}.tabbar{display:flex;border-top:1px solid var(--edge);padding-bottom:env(safe-area-inset-bottom);background:var(--ground)}.tabbar button{flex:1;background:none;border:none;padding:18px 0 15px;min-height:62px;font-family:var(--font-mono);font-size:var(--text-xl);color:var(--ink-faint);cursor:pointer;transition:color .15s}.tabbar button.active{color:var(--accent-text)}.masthead{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:calc(env(safe-area-inset-top) + var(--top-inset)) var(--mark-inset) 0;pointer-events:none}.masthead>*{pointer-events:auto}.enter{animation:enter .17s ease-out}@keyframes enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.enter{animation:none}}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{border:1px solid var(--edge);background:var(--chip-bg);color:var(--ink-soft);border-radius:var(--radius-sm);padding:5px 11px;font-size:var(--text-md);cursor:pointer;display:inline-flex;align-items:center;gap:7px}.chip .dot{width:8px;height:8px;border-radius:50%}.chip.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.chip.ghost{background:none;border-style:dashed;color:var(--ink-faint)}.obj-chip{border:1px solid var(--edge-strong);background:none;color:var(--ink-soft);border-radius:var(--radius-sm);padding:6px 13px;font-family:inherit;font-size:var(--text-md);font-style:italic;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.obj-chip:before{content:"◎";font-style:normal;color:var(--ink-faint);font-size:var(--text-xs)}.obj-chip.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.obj-chip.selected:before{color:var(--accent-text)}.obj-chip.ghost{border-style:dashed;color:var(--ink-faint)}.check-btn{border:none;background:none;color:var(--accent-text);cursor:pointer;padding:6px;display:inline-flex;align-items:center;flex:none}.check-btn svg{width:21px;height:21px}.check-btn:disabled{color:var(--ink-faint);opacity:.4;cursor:default}.inline-input{display:block;background:transparent;border:none;border-bottom:1px solid var(--accent);padding:0;font-family:inherit;font-size:inherit;line-height:inherit;color:var(--ink);width:100%;min-width:0;border-radius:0}.inline-static{border-bottom:1px solid transparent}.inline-input:focus{outline:none}.big-input{width:100%;border:1px solid var(--edge-strong);border-radius:var(--radius-md);background:var(--ground);color:var(--ink);padding:13px 15px;font-family:inherit;font-size:var(--text-2xl);resize:none;min-height:58px}.big-input::placeholder{color:var(--ink-faint);opacity:.45;font-style:italic}.big-input:focus{border-color:var(--accent)}.small-input{background:var(--ground);color:var(--ink);border:1px solid var(--edge-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-lg);padding:7px 11px}.small-input:focus{outline:none;border-color:var(--accent)}.field{display:flex;align-items:center;width:100%;border:1px solid var(--edge-strong);border-radius:var(--radius-md);background:var(--ground)}.field.small{border-radius:var(--radius-sm)}.field:focus-within{border-color:var(--accent)}.field:has(>.big-input:focus-visible),.field:has(>.small-input:focus-visible){box-shadow:var(--focus-ring)}.field>.big-input:focus-visible,.field>.small-input:focus-visible{box-shadow:none;border-radius:inherit}.field>.big-input,.field>.small-input,.field>.big-input:focus,.field>.small-input:focus{flex:1;min-width:0;border-color:transparent;background:none;border-radius:inherit}.field-go{flex:none;align-self:stretch;display:flex;align-items:center;background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--text-md);color:var(--ink-faint);white-space:nowrap;padding:0 15px}.field.small .field-go{font-size:var(--text-sm);padding:0 11px}.field-go:hover:not(:disabled){color:var(--accent-text)}.field-go:disabled{opacity:.45;cursor:default}.field-go .key{font-family:var(--font-mono);padding-left:5px}.section-label{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-faint);margin:var(--space-6) 2px var(--space-1)}.fold{display:flex;align-items:center;gap:8px;width:100%;margin:22px 0 2px;padding:11px 2px 7px;background:none;border:none;border-top:1px solid var(--edge);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-faint);text-align:left;cursor:pointer;transition:color var(--motion)}.fold:hover{color:var(--ink-soft)}.fold .marker{margin-left:auto;font-size:var(--text-xs)}@media(max-width:759px){.app{padding-top:calc(env(safe-area-inset-top) + var(--masthead))}}@media(min-width:760px){:root{--mark-inset: var(--space-5)}}
