:root{--paper:#f5f6ef;--white:#fffefa;--ink:#1d3429;--muted:#626e62;--green:#235541;--dark:#204c3b;--border:#e1e6db;--lime:#e3edb1;--leave:#f8e9bb;--weekend:#e8eee2;--holiday:#f6ddd7;--remote:#dcebd8;--work:#e6ebf0;--blocked:#eae5ee;--shadow:0 4px 14px #1c342908;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper)}[hidden]{display:none!important}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6b9f83;outline-offset:3px}h1,h2,h3,p{margin:0}h2{font-size:clamp(1.3rem,2vw,1.65rem);letter-spacing:-.045em}h3{font-size:1rem;letter-spacing:-.02em}small,.sub{color:var(--muted)}.sub{font-size:.91rem}.top{background:var(--white);border-bottom:1px solid var(--border)}.top-inner,.shell{width:min(1272px,calc(100% - 72px));margin:auto}.top-inner{display:flex;justify-content:space-between;align-items:center;min-height:72px;gap:18px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:1.55rem;font-weight:830;letter-spacing:-.065em;line-height:1}.brand small{display:block;font-size:.53rem;letter-spacing:.155em;margin-top:5px;font-weight:750}.brand-dot,.page-heading h1 span{color:#7a9143}.top nav{display:flex;align-items:center;gap:5px}.top nav a{color:var(--muted);text-decoration:none;padding:10px 15px;border-radius:9px;font-size:.87rem;font-weight:700;white-space:nowrap}.top nav a[aria-current]{background:#e9efdf;color:var(--green)}.top nav a:hover,.outline:hover,.square:hover{background:#edf1e6}.family{display:flex;align-items:center;padding:5px 4px 5px 13px;background:none;border:none}.family span{display:grid;place-items:center;margin-left:-7px;width:28px;height:28px;border:2px solid var(--white);border-radius:100%;background:#e4ecbd;font-size:.65rem;font-weight:750}.family span:nth-child(2){background:#f0dacb}.family span:nth-child(3){background:#cfe3d3}.family span:nth-child(4){background:#e9dff3}.family b{padding-left:6px;font-size:.8rem}.page{padding-top:24px}.hero{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:end;justify-content:space-between;gap:16px;padding:29px 32px;border-radius:17px;min-height:192px;color:#fffef7;background:var(--dark)}.hero-art{position:absolute;inset:0;z-index:-1;background:url(/forest.svg) right bottom/auto 122% no-repeat}.hero-content{position:relative}.eyebrow{font-size:.65rem;font-weight:800;letter-spacing:.16em;color:#61715f}.hero .eyebrow{display:flex;gap:9px;align-items:center;color:#e5efba}.hero .eyebrow span{width:7px;height:7px;border-radius:50%;background:#dfecaa;box-shadow:0 0 0 3px #d3e2a426}.hero .eyebrow i{width:13px;height:1px;background:#a9bf98}.hero h1{font-size:clamp(2.3rem,4.4vw,4.45rem);line-height:1.06;letter-spacing:-.068em;margin:9px 0}.hero h1 em{color:#e0eeac;font-family:Georgia,serif;font-weight:500;letter-spacing:-.075em}.hero-content>p:last-child{color:#e5eadc;font-size:.95rem}.hero-stats{display:flex;gap:10px;align-self:end}.hero-stats div{min-width:112px;background:#113628a8;border:1px solid #afc5a45c;padding:10px 13px;border-radius:11px;backdrop-filter:blur(5px)}.hero-stats strong{display:block;font-size:1.54rem;line-height:1.1;color:#e7f0b6}.hero-stats span{font-size:.71rem;white-space:nowrap;color:#f1f1e3}.desk{display:grid;grid-template-columns:minmax(0,2.18fr) minmax(275px,1fr);gap:18px;margin-top:19px;align-items:start}.panel{background:var(--white);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow)}.calendar,.day{padding:19px}.section-top,.below,.page-heading,.modal-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-top h2,.below h2,.modal-top h2{margin-top:4px}.month-actions,.day-buttons,.modal-actions,.chips,.filters{display:flex;gap:6px;align-items:center}.outline,.primary,.square,.danger{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #dbe4d6;border-radius:8px;background:var(--white);padding:8px 12px;text-decoration:none;white-space:nowrap;font-size:.83rem;font-weight:730;min-height:36px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#173e2e}.square{width:36px;padding:0;font-size:1.25rem}.text-btn{border:0;background:none;padding:2px 0;color:var(--green);font-size:.8rem;font-weight:750}.legend{margin:15px 0 13px;display:flex;gap:7px 12px;flex-wrap:wrap;color:var(--muted);font-size:.69rem}.legend span{display:inline-flex;align-items:center;gap:4px}.legend i{width:10px;height:10px;border-radius:3px;border:1px solid #18241712}.leave{background:var(--leave)}.weekend{background:var(--weekend)}.holiday{background:var(--holiday)}.remote{background:var(--remote)}.work{background:var(--work)}.blocked{background:var(--blocked)}.event-dot{background:#2f6b51}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekdays{padding-bottom:5px}.weekdays span{text-align:center;font-size:.66rem;font-weight:800;color:var(--muted)}.cell{display:flex;position:relative;flex-direction:column;align-items:flex-start;min-width:0;height:63px;padding:6px 6px 4px;gap:2px;border:1px solid #1d382412;border-radius:7px;text-align:left}.cell:hover{border-color:#7a9f88}.cell[aria-pressed=true]{border-color:#256146;box-shadow:inset 0 0 0 1px #256146}.cell.outside{background:#f4f4ee;color:#707a71;opacity:.7}.cell .date{font-weight:800;font-size:.84rem;line-height:1}.cell.today .date{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.cell .status{font-size:.57rem;color:#47574d;white-space:nowrap}.cell .event-chip{display:block;margin-top:auto;max-width:100%;border-radius:3px;padding:1px 3px;background:#fffdf3bf;color:#285744;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:750;font-size:.58rem}.cell .event-chip:before{content:"● ";color:#3a7c59}.calendar-foot{display:flex;justify-content:space-between;gap:7px;margin-top:11px;color:var(--muted);font-size:.77rem}.day .section-top{align-items:start}.day-icon{display:grid;place-items:center;background:#edf2de;border-radius:11px;width:39px;height:39px;color:#55764a;font-size:1.3rem}.day .sub{margin-top:4px}.day-status{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:10px 0;border-bottom:1px solid var(--border);margin-bottom:14px}.badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;border-radius:20px;padding:4px 8px;font-size:.68rem;font-weight:790;background:#edf0e6;line-height:1.3}.badge.leave{background:var(--leave)}.badge.holiday{background:var(--holiday)}.badge.remote{background:var(--remote)}.badge.work{background:var(--work)}.badge.blocked{background:var(--blocked)}.badge.home,.badge.rest{background:#e7eedc}.badge.city{background:#f9e9c5}.badge.trip{background:#e3e5f5}.badge.family{background:#f5e2d6}.day-events{display:grid;gap:9px}.agenda{border:1px solid var(--border);border-radius:10px;padding:11px;background:#fafaf4}.agenda h3{margin:6px 0 4px}.agenda p,.event-empty{font-size:.81rem;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}.agenda p{white-space:pre-wrap}.agenda header{display:flex;justify-content:space-between;gap:6px}.agenda .text-btn{font-size:.72rem}.agenda .place-jump{display:inline-block;margin-top:7px}.day-buttons{display:grid;gap:6px;margin-top:14px}.below{margin:24px 0 11px}.featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature{display:flex;align-items:center;gap:11px;padding:12px;text-align:left;width:100%;color:inherit}.feature:hover,.list-item:hover{border-color:#82a68c}.feature p{font-size:.75rem;margin-top:3px}.tile-icon{display:grid;place-items:center;min-width:39px;height:39px;border-radius:10px;background:#eaf0db;color:#315b45;font-size:1.27rem}.feature:nth-child(2) .tile-icon,.list-item:nth-child(3n+2) .tile-icon{background:#f6e8cc}.feature:nth-child(3) .tile-icon,.list-item:nth-child(3n) .tile-icon{background:#e6e4ee}.page-heading{margin:6px 0 19px}.page-heading h1{font-size:clamp(2rem,5vw,3.3rem);letter-spacing:-.065em;line-height:1.08;margin:4px 0 7px}.filters{flex-wrap:wrap;margin-bottom:13px}.filters button[aria-pressed=true],.chips button:hover{background:#e7efda;border-color:#b6cab0}.program-layout{display:grid;grid-template-columns:minmax(275px,1fr) minmax(0,1.52fr);gap:15px;align-items:start}.program-list{display:grid;gap:8px}.list-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:10px;border:1px solid var(--border);background:var(--white);border-radius:10px}.list-item[aria-pressed=true]{border-color:#58816a;background:#f0f4e9}.list-item p{font-size:.77rem;color:var(--muted);margin-top:4px}.list-item .price{margin-left:auto;max-width:39%;text-align:right;font-size:.72rem;color:var(--green);font-weight:780}.program-detail{padding:16px;min-width:0;position:sticky;top:10px}.program-detail h2{margin:5px 0}.program-detail .desc{font-size:.87rem;margin:7px 0;line-height:1.45}.program-detail .place-line{color:var(--muted);font-size:.79rem;overflow-wrap:anywhere}.program-detail .place-line b{color:var(--green)}.map{height:244px;isolation:isolate;background:#e2ecdb;border:1px solid #dfe5d7;border-radius:10px;margin:11px 0 7px}.map-pin{display:grid;place-items:center;border-radius:50%;border:2px solid white;color:#fff;box-shadow:0 1px 4px #0006;font:bold 13px system-ui;background:#286348}.map-pin.target{background:#963f32}.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:9px 0}.route-grid a{padding:7px;border:1px solid var(--border);border-radius:8px;text-decoration:none;font-size:.71rem;color:var(--muted)}.route-grid strong{display:block;font-size:.86rem;color:var(--green)}.route-grid a:hover{background:#edf2e8}.route-note{font-size:.7rem;color:var(--muted)}.price-block{background:#f3f5e9;border-radius:8px;padding:8px 9px;font-size:.78rem;margin:8px 0}.price-block a{font-weight:700}.picker-date{display:flex;flex-wrap:wrap;align-items:end;gap:6px;margin-top:10px}.picker-date label{margin:0}.missions{max-width:720px;padding:20px}.mission-row{display:flex;align-items:start;gap:10px;padding:11px 0;border-bottom:1px solid var(--border);font-size:.92rem}.mission-row:last-child{border:0}.mission-row input{accent-color:var(--green);width:17px;height:17px}.mission-row:has(:checked) span{text-decoration:line-through;color:var(--muted)}#mission-progress{padding-bottom:10px}progress{width:100%;height:8px;accent-color:var(--green)}.footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:22px;padding:14px 0 17px;border-top:1px solid var(--border);font-size:.73rem;color:var(--muted)}.footer span:first-child{display:flex;align-items:center;gap:7px;font-weight:800}.login{width:min(420px,100%);margin:8vh auto;padding:28px;border:1px solid var(--border);border-radius:17px;background:var(--white)}.login h1{margin:6px 0;letter-spacing:-.05em}.login form{margin-top:16px}.login img{margin-bottom:8px}#startup{margin:28px auto;text-align:center;color:var(--muted)}dialog{width:min(510px,calc(100% - 24px));max-height:90dvh;color:var(--ink);background:var(--white);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 18px 60px #10281a44}dialog::backdrop{background:#182c22a1}label{display:grid;gap:4px;margin:8px 0;font-size:.78rem;font-weight:760}input:not([type=checkbox]),textarea,select{display:block;width:100%;min-width:0;border:1px solid #cdd8cb;background:#fff;border-radius:7px;padding:7px 8px;color:var(--ink);min-height:35px;font-size:.86rem}textarea{resize:vertical}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.modal-actions{justify-content:space-between;margin-top:8px}.modal-actions .primary{margin-left:auto}.danger{color:#963f32}.error{font-size:.8rem;color:#963f32}.error:empty{display:none}.chips{flex-wrap:wrap}.chips button{font-size:.7rem;background:#f2f4e9;border:1px solid var(--border);border-radius:18px;padding:5px 8px}#ai-results{margin-top:9px;display:grid;gap:6px}#ai-results .agenda>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}#toast:empty{display:none}#toast{position:fixed;z-index:999;bottom:15px;right:15px;border-radius:8px;background:#244e3b;color:white;padding:10px 13px;font-size:.81rem;max-width:calc(100vw - 30px)}
@media(max-width:950px){.top-inner,.shell{width:calc(100% - 34px)}.hero{padding:23px}.desk{gap:11px}.calendar,.day{padding:13px}.cell{height:56px;padding:5px 4px}.hero-stats div{min-width:94px}}
@media(max-width:720px){.top-inner,.shell{width:calc(100% - 20px)}.top-inner{flex-wrap:wrap;gap:5px;min-height:58px;padding:7px 0}.top nav{order:3;width:100%;justify-content:center}.top nav a{padding:7px 11px;font-size:.76rem}.brand img{width:34px;height:34px}.brand{font-size:1.27rem}.page{padding-top:11px}.hero{padding:16px;min-height:157px;align-items:start;flex-direction:column;gap:11px}.hero-art{background-size:auto 115%;opacity:.66}.hero h1{font-size:clamp(2rem,8.5vw,3rem)}.hero-content>p:last-child{font-size:.78rem}.hero-stats{align-self:start}.hero-stats div{min-width:83px;padding:4px 8px}.hero-stats strong{font-size:1.14rem}.hero-stats span{font-size:.64rem}.desk{grid-template-columns:1fr;margin-top:10px}.cell{height:48px}.cell .status{font-size:.51rem}.cell .event-chip{font-size:.52rem;padding:1px 2px}.calendar-grid,.weekdays{gap:3px}.calendar,.day{padding:10px}.legend{margin:9px 0;font-size:.61rem;gap:4px 8px}.featured{grid-template-columns:1fr;gap:6px}.program-layout{grid-template-columns:1fr}.program-detail{position:static;grid-row:1;padding:12px}.program-list{gap:5px}.page-heading{flex-wrap:wrap}.map{height:210px}.below{margin:16px 0 7px}.footer{margin-top:12px}}
.feature{text-decoration:none}.program-detail{scroll-margin-top:12px}fieldset{border:1px solid var(--border);border-radius:8px;padding:8px;margin:8px 0;min-width:0}.picker-date .primary:disabled{cursor:not-allowed}
@media(max-width:720px){.program-detail{grid-row:auto}.program-list{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.list-item{flex:0 0 240px;scroll-snap-align:start;min-height:64px}.list-item .tile-icon{min-width:29px;height:32px;font-size:1rem}.list-item h3{font-size:.82rem}.list-item .price{font-size:.64rem;max-width:34%}}
.trip-layout{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.45fr);gap:15px;align-items:start}.trip-controls,.trip-results{padding:17px}.trip-controls form>.primary,.trip-results>.primary{margin-top:12px}.trip-controls .sub,.trip-results>.sub{margin:6px 0;line-height:1.45}.trip-results .trip-section{margin:17px 0 7px}.trip-day{margin:9px 0}.trip-day>.eyebrow{margin:6px 0}.trip-warning{margin:8px 0;padding:9px 10px;background:#f8eccb;border-radius:8px;color:#5f4826;font-size:.79rem}.search-status{padding:11px;background:#eef1df;border-radius:8px;color:#3a583f;font-size:.85rem}.web-card{display:grid;gap:4px}.web-card .web-cost{font-weight:770;color:var(--ink)}.source-row,.result-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.source-link{font-size:.76rem;font-weight:740;color:var(--green);overflow-wrap:anywhere}.web-card .result-actions{margin:6px 0 0}.price-block a+a{margin-left:10px}.trip-controls .chips{margin:6px 0}.trip-map{height:280px}.trip-results .agenda>.outline{width:max-content;max-width:100%}
@media(max-width:720px){.trip-layout{grid-template-columns:1fr}.trip-map{height:230px}.top nav{gap:1px}.top nav a{padding:7px 7px;font-size:.73rem}}
