:root{--bg:#111316;--panel:#171a1e;--panel-2:#1d2126;--line:#303640;--text:#f1f2f4;--muted:#aeb4bd;--soft:#d0d3d8;--accent:#d9825b;--accent-ink:#2b140a;--ok:#7cae8d;--radius:18px;--shadow:0 24px 70px rgba(3,5,8,.22)}
*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;min-height:100dvh}.skip-link{position:fixed;left:16px;top:-80px;background:var(--text);color:var(--bg);padding:10px 14px;z-index:20}.skip-link:focus{top:16px}.topbar{height:76px;padding:0 clamp(16px,4vw,52px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;position:sticky;top:0;background:rgba(17,19,22,.92);backdrop-filter:blur(18px);z-index:10}.brand{display:flex;align-items:center;gap:11px}.brand svg{width:30px;height:30px;fill:none;stroke:var(--accent);stroke-width:1.8}.brand div{display:grid;gap:1px}.brand strong{font-size:14px;letter-spacing:.01em}.brand span{font-size:11px;color:var(--muted)}button,.secondary-action,.text-action{font:inherit}.view-switcher{display:flex;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:999px}.view-button,.filter-button{border:0;color:var(--muted);background:transparent;cursor:pointer}.view-button{padding:7px 14px;border-radius:999px;font-size:12px}.view-button.active{background:var(--text);color:var(--bg)}.progress-compact{justify-self:end;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.progress-compact i{display:block;width:90px;height:4px;border-radius:4px;background:var(--line);overflow:hidden}.progress-compact b{display:block;width:0;height:100%;background:var(--accent);transition:width .35s cubic-bezier(.16,1,.3,1)}.app-shell{display:grid;grid-template-columns:minmax(300px,410px) minmax(0,1fr);min-height:calc(100dvh - 76px)}.trip-rail{padding:clamp(28px,4vw,62px) clamp(18px,3.8vw,58px);border-right:1px solid var(--line);min-width:0}.trip-heading{max-width:440px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--accent);font-weight:700;margin:0 0 14px}.trip-heading h1,.calendar-heading h2{font-size:clamp(34px,4.6vw,66px);letter-spacing:-.055em;line-height:.95;margin:0;font-weight:650}.trip-heading>p:last-child{color:var(--muted);font-size:14px;line-height:1.6;max-width:52ch;margin:20px 0 0}.filters{display:flex;gap:3px;margin:34px 0 18px;overflow:auto;padding-bottom:3px}.filter-button{font-size:11px;padding:7px 10px;border-bottom:1px solid transparent;white-space:nowrap}.filter-button.active{color:var(--text);border-color:var(--accent)}.day-list{display:grid;border-top:1px solid var(--line);max-width:100%}.day-button{appearance:none;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-align:left;padding:13px 10px;cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1),color .25s,background .25s}.day-button:hover{color:var(--accent);transform:translateX(3px)}.day-button:active{transform:translateX(3px) scale(.99)}.day-button.active{color:var(--accent);background:rgba(217,130,91,.08)}.day-number{font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace}.day-name{display:grid;gap:2px}.day-name strong{font-size:13px}.day-name span{font-size:11px;color:var(--muted)}.day-state{width:9px;height:9px;border-radius:50%;border:1px solid var(--line)}.day-state.has-progress{border-color:var(--accent);background:var(--accent)}.day-detail{padding:clamp(28px,5vw,74px);min-width:0}.detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:32px}.detail-date{font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);letter-spacing:.08em}.detail-header h2{font-size:clamp(36px,5vw,70px);letter-spacing:-.055em;line-height:.96;margin:10px 0 15px;max-width:850px}.detail-header p{margin:0;color:var(--soft);line-height:1.6;max-width:68ch}.intensity{width:116px;aspect-ratio:1;border-radius:50%;border:1px solid var(--line);display:grid;place-content:center;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.intensity strong{font:650 24px ui-monospace,SFMono-Regular,Menlo,monospace}.intensity span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.fact{padding:24px 24px 24px 0}.fact+.fact{padding-left:24px;border-left:1px solid var(--line)}.fact span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:8px}.fact strong{font-size:13px;line-height:1.5}.detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,.65fr);gap:44px;margin-top:38px}.section-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 14px}.task-list{border-top:1px solid var(--line)}.task{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:16px 2px;border-bottom:1px solid var(--line);animation:reveal .45s both;animation-delay:calc(var(--index)*45ms)}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.task input{position:absolute;opacity:0}.checkmark{width:21px;height:21px;border-radius:6px;border:1px solid #4a515b;display:grid;place-items:center;cursor:pointer;transition:.2s}.checkmark:after{content:"";width:8px;height:5px;border-left:2px solid var(--bg);border-bottom:2px solid var(--bg);transform:rotate(-45deg) translate(1px,-1px);opacity:0}.task input:checked+.checkmark{background:var(--ok);border-color:var(--ok)}.task input:checked+.checkmark:after{opacity:1}.task input:focus-visible+.checkmark{outline:2px solid var(--accent);outline-offset:3px}.task-copy strong{display:block;font-size:14px}.task-copy span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.task.done .task-copy{opacity:.48}.task.done .task-copy strong{text-decoration:line-through}.priority{font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding-top:4px}.notes-panel{border-left:1px solid var(--line);padding-left:28px}.tips{display:grid;gap:0;margin-bottom:28px}.tip{padding:12px 0;border-bottom:1px solid var(--line)}.tip strong{display:block;font-size:12px;margin-bottom:4px}.tip span{font-size:11px;color:var(--muted);line-height:1.5}.notes-panel label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin-bottom:8px}.notes-panel textarea{width:100%;min-height:140px;resize:vertical;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--text);padding:13px;font:12px/1.5 inherit}.notes-panel textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.save-status{font-size:10px;color:var(--muted);min-height:16px;margin-top:7px}.calendar-view{max-width:1320px;margin:auto;padding:clamp(26px,5vw,70px)}.calendar-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:32px}.calendar-heading h2{font-size:clamp(36px,5vw,68px)}.secondary-action{color:var(--text);border:1px solid var(--line);border-radius:999px;text-decoration:none;padding:10px 14px;font-size:11px;transition:.2s}.secondary-action:hover{border-color:var(--accent);color:var(--accent)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays{color:var(--muted);font-size:9px;letter-spacing:.12em;margin-bottom:7px}.calendar-cell{min-height:128px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--panel);text-align:left;color:inherit}.calendar-cell.active{cursor:pointer}.calendar-cell.active:hover{border-color:var(--accent);transform:translateY(-2px)}.calendar-cell.empty{opacity:.22}.calendar-cell .cal-num{font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}.calendar-cell strong{display:block;font-size:12px;margin-top:18px}.calendar-cell span{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.4}.calendar-cell i{display:block;width:18px;height:2px;background:var(--accent);margin-top:10px}.hidden{display:none!important}footer{border-top:1px solid var(--line);min-height:70px;padding:20px clamp(16px,4vw,52px);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:10px}footer p{margin:0}footer div{display:flex;gap:16px}.text-action{color:var(--muted);border:0;background:transparent;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.text-action:hover{color:var(--text)}.file-action input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;pointer-events:none}dialog{border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);max-width:360px}dialog::backdrop{background:rgba(5,7,9,.74);backdrop-filter:blur(6px)}dialog form{padding:14px}dialog h2{font-size:20px;margin:0 0 8px}dialog p{color:var(--muted);font-size:13px}dialog button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.progress-compact{display:none}.app-shell{grid-template-columns:minmax(0,1fr)}.trip-rail{border-right:0;border-bottom:1px solid var(--line);padding-bottom:20px}.trip-heading h1{font-size:44px}.day-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}.day-button{min-width:160px;scroll-snap-align:start}.day-detail{padding-top:34px}.detail-grid{grid-template-columns:1fr}.notes-panel{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.calendar-cell{min-height:100px}}@media(max-width:640px){.topbar{height:auto;min-height:72px;padding-top:10px;padding-bottom:10px}.brand span{display:none}.view-button{padding:7px 10px}.detail-header{grid-template-columns:1fr}.intensity{width:90px}.facts{grid-template-columns:1fr}.fact+.fact{padding-left:0;border-left:0;border-top:1px solid var(--line)}.calendar-heading{align-items:flex-start;flex-direction:column}.calendar-weekdays{display:none}.calendar-grid{grid-template-columns:1fr}.calendar-cell,.calendar-cell.empty{min-height:auto;opacity:1}.calendar-cell.empty{display:none}.calendar-cell strong{margin-top:8px}.task{grid-template-columns:auto 1fr}.priority{grid-column:2}footer{align-items:flex-start;flex-direction:column}.trip-heading h1{font-size:38px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
