:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf7f2;--surface:#fff;--text:#22201c;--muted:#6b6560;--line:#e4ded5;--accent:#b5542d;--accent-ink:#fff;--accent-soft:#f6e4d8;--ok:#3b7a57;--warn:#9a6b00;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--serif:Georgia, "Times New Roman", serif;--gutter:16px;--tap:44px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17161a;--surface:#222126;--text:#ece8e1;--muted:#a39d95;--line:#38363c;--accent:#e07a4b;--accent-ink:#1a0d06;--accent-soft:#3a2a21;--ok:#6fb98f;--warn:#e0b24a}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17161a;--surface:#222126;--text:#ece8e1;--muted:#a39d95;--line:#38363c;--accent:#e07a4b;--accent-ink:#1a0d06;--accent-soft:#3a2a21;--ok:#6fb98f;--warn:#e0b24a}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.5}a{color:var(--accent)}h1,h2,h3{font-weight:650;line-height:1.2}h1{margin:0 0 .5rem;font-size:1.6rem}h2{margin:1.5rem 0 .5rem;font-size:1.25rem}h3{margin:1rem 0 .4rem;font-size:1.05rem}p{margin:.5rem 0}button,input,select,textarea{font:inherit;color:inherit}.shell{flex-direction:column;min-height:100dvh;display:flex}.nav a.brand{font-family:var(--serif);color:var(--text);min-width:0;padding:0;font-size:1.1rem;display:none}.main{width:100%;max-width:760px;padding:16px var(--gutter) 96px;flex:1;margin:0 auto}.nav{z-index:5;background:var(--surface);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{min-height:var(--tap);min-width:64px;color:var(--muted);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 4px;font-size:.72rem;line-height:1.1;text-decoration:none;display:flex}.nav a.active{color:var(--accent)}.nav a .ico{font-size:1.35rem;line-height:1}@media (min-width:720px){.nav{border-top:0;border-bottom:1px solid var(--line);justify-content:center;gap:12px;padding:6px 140px;position:relative}.nav a.brand{left:var(--gutter);display:inline-flex;position:absolute;top:0;bottom:0}.nav a:not(.brand){flex-direction:row;gap:6px;font-size:.9rem}.main{padding-bottom:32px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:12px 0;padding:14px 16px}.card>*+*{margin-top:12px}.card>:last-child{margin-bottom:0}.card>h2:first-child,.card>h3:first-child,.card>p:first-child{margin-top:0}.card.soft{background:var(--accent-soft);border-color:#0000}.muted{color:var(--muted)}.small{font-size:.9rem}.row{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.btn{text-align:center;min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer;color:inherit;justify-content:center;align-items:center;padding:8px 16px;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{background:0 0}.btn:disabled{opacity:.5;cursor:default}.btn.sm{min-height:36px;padding:4px 10px;font-size:.9rem}.field{flex-direction:column;gap:4px;margin:0;display:flex}.field+.field,.field+.row,.row+.field,.row+.row{margin-top:12px}.field>p{margin:0}.field label{color:var(--muted);font-size:.9rem}input[type=text],input[type=date],input[type=number],select,textarea{min-height:var(--tap);border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;padding:8px 10px}textarea{resize:vertical;min-height:96px}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;min-height:32px;padding:2px 10px;font-size:.85rem;display:inline-flex}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);padding:12px 0}.list li:first-child{padding-top:4px}.list li:last-child{border-bottom:0;padding-bottom:4px}.list+.row,.list+.field,.list+p{margin-top:12px}.dream{grid-template-columns:2.2rem 1fr auto;align-items:start;gap:8px;display:grid}.dream .num{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}.dream .meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.dream.chosen .text{font-weight:650}.dream.achieved .text{color:var(--muted);text-decoration:line-through}.score{text-align:center;width:3.2rem}.notice{border-left:4px solid var(--warn);background:var(--surface);border-radius:0 8px 8px 0;padding:8px 12px}.takeaway{font-family:var(--serif);border-left:4px solid var(--accent);margin:16px 0;padding:6px 14px;font-size:1.15rem}.main>h1:first-child{margin-top:4px}.main>h1+p{margin-top:0}.content h2{border-bottom:1px solid var(--line);padding-bottom:4px}.content ul,.content ol{padding-left:1.3rem}.content li{margin:4px 0}.content blockquote{border-left:3px solid var(--line);color:var(--muted);margin:8px 0;padding:4px 12px}.content table{border-collapse:collapse;width:100%;margin:10px 0 16px;font-size:.95rem}.content th,.content td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 8px 8px 0}.content th{color:var(--muted);font-size:.85rem;font-weight:650}.content th:first-child,.content td:first-child{white-space:nowrap;width:3em;color:var(--muted);font-variant-numeric:tabular-nums}.content>p:first-child{margin-top:0}details{margin:8px 0}details summary{cursor:pointer;min-height:var(--tap);color:var(--accent);align-items:center;font-weight:600;display:flex}details>*+*{margin-top:12px}details.card>summary{margin:-6px 0}.progress{gap:4px;display:flex}.progress span{background:var(--line);border-radius:3px;flex:1;height:6px}.progress span.on{background:var(--accent)}.visually-hidden{position:absolute;left:-9999px}.sheet{display:none}@media print{@page{margin:14mm}body{color:#000;background:#fff;font-size:11pt}.nav,.no-print{display:none!important}.main{max-width:none;padding:0}.sheet{page-break-after:always;display:block}.sheet:last-child{page-break-after:auto}.sheet h1{font-family:var(--serif);margin-bottom:4mm;font-size:20pt}.sheet table{border-collapse:collapse;width:100%}.sheet th,.sheet td{text-align:left;vertical-align:top;border:1px solid #333;padding:2.2mm 2mm}.sheet .lines{border-bottom:1px solid #888;height:9mm}.sheet .box{border:1px solid #333;min-height:30mm;margin:2mm 0 4mm;padding:2mm}}.sheet-preview .sheet{color:#000;border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin:12px 0;padding:16px;display:block}.sheet-preview .sheet table{border-collapse:collapse;width:100%}.sheet-preview .sheet th,.sheet-preview .sheet td{text-align:left;vertical-align:top;border:1px solid #555;padding:4px 6px}.sheet-preview .sheet .lines{border-bottom:1px solid #888;height:28px}.sheet-preview .sheet .box{border:1px solid #555;min-height:90px;margin:6px 0 12px;padding:6px}.matrix{margin:12px 0}.matrix .axis-x{color:var(--muted);text-align:center;grid-template-columns:5.5em 1fr 1fr;gap:6px;margin-bottom:4px;font-size:.8rem;display:grid}.matrix .axis-row{grid-template-columns:5.5em 1fr 1fr;gap:6px;margin-bottom:6px;display:grid}.matrix .axis-y{color:var(--muted);align-items:center;font-size:.8rem;display:flex}.matrix .cell{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:96px;padding:8px}.matrix .cell.now{border-color:var(--accent)}.matrix .cell.plan{background:var(--accent-soft);border-color:#0000}.matrix .cell-title{margin-bottom:6px;font-size:.9rem;font-weight:650}@media (max-width:420px){.matrix .axis-x,.matrix .axis-row{grid-template-columns:4em 1fr 1fr}}html{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}textarea{scrollbar-width:thin}.stepper{align-items:center;gap:8px;display:inline-flex}.stepper input{text-align:center;width:4.5em}.stepper .btn{min-width:var(--tap);padding:0;font-size:1.2rem}input[type=number]:not(.stepper input){appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.datefield{display:block;position:relative}.datefield-btn{width:100%;min-height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.datefield-btn.empty>span:first-child{color:var(--muted)}.datefield-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.datefield-ico{opacity:.7}.datepop{z-index:20;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);padding:8px 10px 10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000024}.datepop .rdp-root{--rdp-accent-color:var(--accent);--rdp-accent-background-color:var(--accent-soft);--rdp-today-color:var(--accent);--rdp-day-height:40px;--rdp-day-width:40px;--rdp-day_button-height:38px;--rdp-day_button-width:38px;--rdp-day_button-border-radius:8px;--rdp-selected-border:2px solid var(--accent);color:var(--text);font-size:.95rem}.datepop .rdp-selected .rdp-day_button{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.datepop .rdp-caption_label{text-transform:capitalize;font-weight:650}.datepop .rdp-weekday{color:var(--muted);text-transform:lowercase;font-size:.75rem}.datepop .rdp-chevron{fill:var(--text)}.datepop-foot{margin-top:6px}.unsaved{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.save-error{margin-bottom:12px}.save-error .btn{margin-left:4px}.letter-text{white-space:pre-wrap;font-family:var(--serif);border-left:4px solid var(--accent);overflow-wrap:anywhere;margin:8px 0 12px;padding:6px 14px}
