:root{--bg: #fff7ed;--surface: #ffffff;--surface-2: #fef3e7;--border: #f1dcc7;--text: #1c1917;--muted: #57534e;--primary: #c2410c;--primary-hover: #9a3412;--on-primary: #ffffff;--primary-soft: #ffedd5;--link: #0e7490;--teal: #0e7490;--teal-soft: #cffafe;--success: #15803d;--success-soft: #dcfce7;--warn: #a16207;--warn-soft: #fef3c7;--danger: #b91c1c;--danger-soft: #fee2e2;--violet: #6d28d9;--violet-soft: #ede9fe;--seg-0: #0e7490;--seg-1: #c2410c;--seg-2: #6d28d9;--seg-3: #a16207;--seg-4: #15803d;--ring: #c2410c;--shadow: 0 1px 2px rgb(120 53 15 / 6%), 0 6px 20px rgb(120 53 15 / 6%);--font: "Fira Sans", system-ui, -apple-system, sans-serif;--mono: "Fira Code", ui-monospace, monospace;--radius-lg: 20px;--radius: 14px;--radius-sm: 10px;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .2s;--topbar-h: 64px;--z-topbar: 40}@media(prefers-color-scheme:dark){:root{--bg: #14110f;--surface: #1c1917;--surface-2: #262220;--border: #3a332e;--text: #f5f5f4;--muted: #b5aea8;--primary: #fb923c;--primary-hover: #fdba74;--on-primary: #1c1917;--primary-soft: #431407;--link: #67e8f9;--teal: #67e8f9;--teal-soft: #083344;--success: #4ade80;--success-soft: #052e16;--warn: #fcd34d;--warn-soft: #422006;--danger: #fca5a5;--danger-soft: #450a0a;--violet: #c4b5fd;--violet-soft: #2e1065;--seg-0: #22d3ee;--seg-1: #fb923c;--seg-2: #a78bfa;--seg-3: #facc15;--seg-4: #4ade80;--ring: #fb923c;--shadow: none}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 16px)}.day{scroll-margin-top:calc(var(--topbar-h) + 80px)}body{margin:0;font-family:var(--font);font-size:16px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0}a{color:var(--link);text-underline-offset:3px}:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:6px}.icon{flex-shrink:0;vertical-align:-.15em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-60px;z-index:100;padding:10px 16px;background:var(--primary);color:var(--on-primary);border-radius:var(--radius-sm);font-weight:600}.skip-link:focus{top:12px}body:not(.is-open) .skip-link{display:none}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.gate-card{width:min(100%,420px);display:grid;gap:12px;padding:28px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.gate-card h1{font-size:1.75rem;letter-spacing:-.03em}.gate-label{font-weight:600}.gate-card input{min-height:48px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--mono);font-size:1.125rem;letter-spacing:.04em}.gate-error{min-height:1.4em;margin:0;color:var(--danger);font-weight:600}.gate-card .btn{width:100%}.muted{color:var(--muted)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.topbar{position:sticky;top:0;z-index:var(--z-topbar);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--border)}.topbar-inner{max-width:1120px;margin:0 auto;height:var(--topbar-h);padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-weight:700;font-size:1.05rem;color:var(--text);text-decoration:none;white-space:nowrap}.brand span{color:var(--primary)}.topbar nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.topbar nav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;color:var(--muted);font-weight:500;text-decoration:none;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.topbar nav a:hover{color:var(--text);background:var(--surface-2)}.topbar nav a[aria-current=true]{color:var(--primary);background:var(--primary-soft);font-weight:600}.page{max-width:1120px;margin:0 auto;padding:32px 20px 64px;display:grid;gap:56px}.section{display:grid;gap:20px}.section:focus{outline:none}.section-head{display:grid;gap:4px}.section-head h2{font-size:1.6rem;font-weight:700;letter-spacing:-.01em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow)}.overview{display:grid;gap:24px}.hero{display:grid;gap:12px;max-width:72ch}.eyebrow{color:var(--primary);font-weight:600;font-size:.9rem;letter-spacing:.02em}.hero h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;font-weight:700;letter-spacing:-.02em}.trip-map{height:min(62vh,520px);min-height:320px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;isolation:isolate;z-index:0}.map-tools{display:flex}.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.place-card{display:grid;align-content:start;gap:8px;min-width:0;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.place-card.is-on{border-color:var(--primary)}.place-open{display:grid;gap:10px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.place-photo{position:relative;display:block;aspect-ratio:3 / 2;border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}.place-photo img{width:100%;height:100%;object-fit:cover}.place-fallback{display:grid;place-items:center;width:100%;height:100%;color:var(--primary)}.place-n{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-family:var(--mono);font-weight:700}.place-copy{display:grid;gap:4px}.place-when{color:var(--primary);font-size:.85rem;font-weight:700}.place-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}.photo-credit{color:var(--muted);font-size:.8rem}.photo-note{margin:0;color:var(--muted);font-size:.85rem}.map-pin-wrap{background:none;border:0}.map-pin{display:grid;place-items:center;width:32px;height:32px;border:2px solid #fff;border-radius:50%;background:var(--primary);color:var(--on-primary);font-family:var(--mono);font-weight:700;box-shadow:0 2px 8px #00000047}.map-pin.is-on{outline:3px solid var(--primary);outline-offset:2px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.leaflet-popup-content{margin:12px 14px}.leaflet-popup-content p{margin:4px 0 0}.leaflet-container{font:inherit;background:var(--surface-2)}.leaflet-container img{max-width:none;max-height:none}.leaflet-bar a{background:var(--surface);color:var(--text);border-bottom-color:var(--border)}.lead{font-size:1.1rem;color:var(--muted)}.source-note{font-size:.875rem;color:var(--muted)}.stats{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:16px}.card-label{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--muted);margin-bottom:8px}.big-number{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600;line-height:1.2}.big-number span{font-size:1rem;color:var(--muted);font-weight:400}.meter{height:10px;margin:14px 0 10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter span{display:block;height:100%;border-radius:inherit;background:var(--success)}.meter.over span{background:var(--warn)}.status{display:flex;align-items:flex-start;gap:6px;font-size:.925rem;font-weight:500}.status .icon{margin-top:3px}.status.is-over{color:var(--warn)}.status.is-ok{color:var(--success)}.mini-list{list-style:none;display:grid;gap:6px;margin-bottom:12px}.mini-list li{padding-left:14px;position:relative}.mini-list li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--primary)}.text-link{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;font-size:.925rem;text-decoration:none;cursor:pointer;touch-action:manipulation;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform .12s var(--ease)}.btn:hover{background:var(--surface-2);border-color:var(--muted)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{background:transparent}.actions{display:flex;flex-wrap:wrap;gap:8px}.strip{position:relative;height:12px;border-radius:999px;background:var(--surface-2);overflow:hidden}.seg{position:absolute;top:0;bottom:0;border-right:2px solid var(--bg)}.seg-0{background:var(--seg-0)}.seg-1{background:var(--seg-1)}.seg-2{background:var(--seg-2)}.seg-3{background:var(--seg-3)}.seg-4{background:var(--seg-4)}.stay-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.stay-card{display:grid;gap:12px;align-content:start}.stay-card.is-past{opacity:.6}.stay-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.stay-head h3{font-size:1.1rem;font-weight:600;line-height:1.3}.stay-head .muted{font-size:.875rem}.stay-index{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--bg);font-family:var(--mono);font-weight:600}.stay-when{display:grid;gap:2px}.stay-when .k,.place .k{display:inline-block;min-width:2.75rem;margin-right:6px;color:var(--text);font-weight:700}.stay-bill{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--radius);background:var(--primary-soft)}.stay-total{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1}.stay-total span{display:block;margin-top:6px;font-family:var(--font);font-size:.8rem;font-weight:600;color:var(--muted)}.stay-bill .tag{padding:6px 12px;font-size:.9rem}.cancel-open{color:var(--warn);font-weight:600}.field{display:grid;gap:4px;font-size:.875rem;font-weight:600}.field select,.field textarea{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;font-size:1rem;font-weight:400}.field textarea{min-height:72px;padding:10px 12px;resize:vertical}.field textarea::placeholder{color:var(--muted)}.today-card{display:grid;gap:16px;border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary),var(--shadow)}.today-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.today-head h2{font-size:1.35rem;text-transform:capitalize}.essentials{display:grid;gap:12px;margin:0 18px 12px}.today-card .essentials{margin:0}.ess-list{list-style:none;display:grid;gap:8px}.ess-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:var(--radius);background:var(--surface-2)}.ess-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface);color:var(--primary)}.ess-text{display:grid;gap:2px;min-width:0}.ess-text .muted{font-size:.9rem}.ess-links{display:flex;flex-wrap:wrap;gap:4px 16px}.mini-link{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-weight:600}.needs h4{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.95rem}.needs ul,.needs-all,.needs-all ul{list-style:none;display:grid;gap:8px}.need{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border:1px dashed var(--border);border-radius:var(--radius)}.need.is-ready{border-style:solid;border-color:var(--success);background:var(--success-soft)}.need-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--muted)}.need.is-ready .need-icon{background:var(--success);color:var(--surface)}.need-text{display:grid;min-width:0}.need-text span{font-size:.85rem;color:var(--muted)}.need-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.doc-open{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap}.need.is-ready .doc-open{border-color:var(--success);color:var(--success)}.mini-legs{list-style:none;display:grid;gap:10px}.mini-legs li{display:grid}.docs-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}.docs-grid .card{display:grid;gap:12px}.needs-all>li{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:8px;align-items:center}.need-date{font-size:.85rem;color:var(--muted)}.doc-form{display:grid;gap:12px}.doc-pick{position:relative;cursor:pointer}.doc-pick input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.doc-pick:focus-within{outline:3px solid var(--ring);outline-offset:2px}code{font-family:var(--mono);font-size:.85em;overflow-wrap:anywhere}.doc-msg:empty{display:none}.doc-msg{color:var(--success);font-weight:600}.doc-group{display:grid;gap:8px}.doc-group h3{font-size:1rem}.doc-group ul{list-style:none;display:grid;gap:8px}.doc-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.doc-row a{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:0;color:var(--text);font-weight:600}.doc-row a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-day select{min-height:44px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit;font-size:.9rem}.review{display:grid;gap:6px;padding:12px;border-radius:var(--radius);background:var(--surface-2);font-size:.925rem}.review-link{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-weight:600}.review-watch{display:flex;align-items:flex-start;gap:6px;color:var(--muted)}.review-watch .icon{margin-top:4px;color:var(--warn)}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.8125rem;font-weight:600;width:fit-content}.tag-ok,.tag-meal{background:var(--success-soft);color:var(--success)}.tag-nomeal{background:var(--warn-soft);color:var(--warn)}.tag-stay{background:var(--surface-2);color:var(--text)}.tag-travel,.tag-flight{background:var(--teal-soft);color:var(--teal)}.tag-sight{background:var(--success-soft);color:var(--success)}.tag-weekend{background:var(--warn-soft);color:var(--warn)}.tag-city{background:var(--success-soft);color:var(--success)}.tag-move{background:var(--violet-soft);color:var(--violet)}.tag-plain{background:var(--surface-2);color:var(--muted);font-weight:500}.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0}.filters{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:500;cursor:pointer;touch-action:manipulation;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.chip .num{font-size:.8rem;color:var(--muted)}.chip:hover{border-color:var(--muted)}.chip[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.chip[aria-pressed=true] .num{color:inherit;opacity:.75}.days{list-style:none;display:grid;gap:12px}.day{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:border-color var(--dur) var(--ease)}.day.kind-stay,.day.kind-city{border-left-color:var(--success)}.day.kind-travel,.day.kind-flight{border-left-color:var(--teal)}.day.kind-sight{border-left-color:var(--success)}.day.kind-weekend{border-left-color:var(--warn)}.day.kind-prep{border-left-color:var(--primary)}.day.kind-return{border-left-color:var(--teal)}.day.open{border-color:var(--muted)}.day-heading{position:sticky;top:var(--topbar-h);z-index:20;background:var(--surface);font-size:inherit;font-weight:inherit;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 1px 0 var(--border)}.day-toggle,.day-head{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;width:100%;padding:16px 18px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;border-radius:var(--radius-lg);touch-action:manipulation}.day-toggle{cursor:pointer}.day-toggle:hover .day-title{color:var(--primary)}.date-chip{display:grid;justify-items:center;width:60px;padding:8px 0;border-radius:var(--radius);background:var(--surface-2);line-height:1.1}.dow,.mon{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase}.dnum{font-family:var(--mono);font-size:1.5rem;font-weight:600}.day-main{display:grid;gap:6px;min-width:0}.day-title{font-size:1.1rem;font-weight:600;transition:color var(--dur) var(--ease)}.day-title .muted{font-weight:400}.day-plan{margin:0 18px 8px;color:var(--muted)}.day .agenda-tasks{margin:4px 18px 8px}.chev{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--muted);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.day-toggle:hover .chev{background:var(--surface-2)}.day-toggle[aria-expanded=true] .chev{transform:rotate(180deg)}.slots{list-style:none;margin:0 18px 4px}.addons{margin:8px 18px 12px;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2)}.addons h4{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.95rem}.addons ul{list-style:none;display:grid;gap:10px}.addons li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;align-items:start}.slot{display:grid;grid-template-columns:3.5rem 4.5rem minmax(0,1fr);gap:8px 12px;align-items:start;padding:10px 0;border-top:1px solid var(--border)}.slot time{font-family:var(--mono);font-size:.85rem;line-height:1.4}.part{font-size:.8rem;font-weight:600;line-height:1.4;color:var(--primary)}.slot-body{min-width:0}.slot-eat,.slot-link{font-weight:600}.day-block{margin:0 18px;border-top:1px solid var(--border)}.day-block:last-of-type{margin-bottom:8px}.day-block summary{display:flex;align-items:center;gap:8px;min-height:48px;font-weight:600;cursor:pointer;list-style:none}.day-block summary::-webkit-details-marker{display:none}.day-block summary .icon:last-child{margin-left:auto;color:var(--muted);transition:transform var(--dur) var(--ease)}.day-block[open] summary .icon:last-child{transform:rotate(180deg)}.day-block>p,.day-block>ul{margin-bottom:14px}.day-block>p{margin-bottom:10px}.day.is-today{border-color:var(--primary)}.today-dot{display:inline-block;margin-right:6px;padding:0 8px;border-radius:999px;background:var(--primary);color:var(--on-primary);font-size:.75rem;vertical-align:2px}.day-panel{padding:0 18px 18px;animation:reveal .22s var(--ease)}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.detail-col{display:grid;gap:12px;align-content:start}.block{display:grid;gap:8px;padding:16px;border-radius:var(--radius);background:var(--surface-2)}.block-accent{background:var(--teal-soft)}.block h4{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600}.count{margin-left:auto;font-family:var(--mono);font-size:.8rem;font-weight:500;color:var(--muted)}.places,.notes{list-style:none;display:grid;gap:12px}.place{display:grid;grid-template-columns:auto 1fr;gap:10px}.place-icon{color:var(--primary);padding-top:3px}.place-name{display:inline-flex;align-items:center;gap:4px;font-weight:600}.place p,.notes p{color:var(--muted);font-size:.925rem}.source-link{display:inline-flex;align-items:center;gap:4px;font-size:.875rem;font-weight:500}.steps{display:grid;gap:6px;padding-left:20px}.checks{list-style:none;display:grid;gap:2px}.check{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur) var(--ease)}.check:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.check-text{display:grid;gap:4px;min-width:0}.check-line{display:block}.check-line .prio{margin-right:8px;vertical-align:2px}.check-text .muted{display:block;font-size:.9rem}.check input:checked+.check-text{color:var(--muted);text-decoration:line-through}.prio{display:inline-block;padding:0 8px;border-radius:999px;font-size:.75rem;font-weight:700;line-height:1.6}.prio-high{background:var(--danger-soft);color:var(--danger)}.prio-medium{background:var(--warn-soft);color:var(--warn)}.lang-switch{display:flex;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.lang-switch button{min-width:48px;min-height:44px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}.lang-switch button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.say-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.agenda{list-style:none;display:grid;margin:0;padding:0}.agenda-day{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px 16px;align-items:start;padding:20px 0;border-top:1px solid var(--border)}.agenda-day:first-child{border-top:0;padding-top:0}.agenda-day .date-chip{align-self:start}.agenda-day.is-today .date-chip,.agenda-day.is-next .date-chip{background:var(--primary);color:var(--on-primary)}.agenda-day.is-today .dow,.agenda-day.is-today .mon,.agenda-day.is-next .dow,.agenda-day.is-next .mon{color:inherit}.agenda-body{display:grid;gap:8px;min-width:0;padding-bottom:8px}.agenda-body h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:1.15rem}.agenda-tasks{list-style:none;display:grid;gap:16px;margin:4px 0 0;padding:0}.agenda-tasks>li{display:grid;gap:4px;min-width:0}.agenda-tasks .check{padding-left:0;padding-right:0}.prep-phase{display:grid;gap:12px}.prep-phase h3{display:flex;align-items:center;gap:8px;font-size:1.25rem}.prep-line{list-style:none;display:grid;margin:0;padding:0 0 0 18px;border-left:2px solid var(--border)}.prep-step{position:relative;display:grid;gap:4px;padding:0 0 18px 16px}.prep-step:before{content:"";position:absolute;left:-24px;top:8px;width:12px;height:12px;border:2px solid var(--primary);border-radius:50%;background:var(--bg)}.prep-when{margin:0;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.prep-pack-title{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem}.prep-alt{margin:0 0 0 32px;color:var(--muted);font-size:.9rem}.prep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.prep-grid .card{display:grid;gap:12px;align-content:start}.prep-notes{grid-column:1 / -1}.note-list{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}.note-list h4{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:1rem}.note-list p{margin:0 0 8px}.note-list .actions{display:flex;flex-wrap:wrap;gap:12px;margin:0}.prep-grid h3{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:600}.source-list{list-style:none;display:grid;gap:4px}.source-list a{display:inline-flex;align-items:center;gap:4px;min-height:36px}.footer{color:var(--muted);font-size:.875rem;text-align:center}@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}.budget-card{grid-column:1 / -1}.say-grid,.detail-grid,.prep-grid,.note-list,.place-grid,.docs-grid{grid-template-columns:1fr}}@media(max-width:600px){.slot{grid-template-columns:3.5rem 4.2rem minmax(0,1fr)}:root{--topbar-h: 56px}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none}.topbar-inner{height:var(--topbar-h);padding:0 12px}.topbar nav{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-topbar);width:100%;justify-content:space-around;gap:0;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.topbar nav a{flex:1;flex-direction:column;justify-content:center;gap:2px;min-height:56px;padding:0 2px;border-radius:var(--radius-sm);font-size:.75rem}.page{padding:20px 16px calc(96px + env(safe-area-inset-bottom));gap:40px}.day-heading{top:0}.essentials{margin:0 14px 12px}.need{grid-template-columns:28px minmax(0,1fr)}.need-actions{grid-column:2;justify-content:flex-start}.needs-all>li{grid-template-columns:1fr;gap:4px}.doc-row{grid-template-columns:minmax(0,1fr) auto}.doc-row .muted{display:none}.doc-day{grid-column:1}.stay-head{grid-template-columns:auto minmax(0,1fr)}.stay-head .tag{grid-column:2}.stats{grid-template-columns:1fr}.day-block{margin-left:14px;margin-right:14px}.day-toggle,.day-head{grid-template-columns:auto 1fr;gap:12px;padding:14px}.chev{display:none}.date-chip{width:52px}.day-panel{padding:0 14px 14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{.topbar,.toolbar,.skip-link,.actions{display:none}.day-panel[hidden]{display:block}.card,.day{box-shadow:none;break-inside:avoid}}
