:root{color:#15201e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}.page-shell{width:min(1240px,100% - 48px);margin:0 auto;padding:28px 0 46px}.landing-header,.editor-header{justify-content:space-between;align-items:center;gap:18px;min-height:54px;display:flex}.primary-button,.secondary-button,.danger-button,.ghost-button,.icon-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.primary-button{color:#17312f;background:#f8c35a;min-height:42px;padding:0 16px;box-shadow:0 10px 26px #57411124}.secondary-button{color:#17312f;background:#e8efe9;min-height:42px;padding:0 14px}.danger-button{color:#7f1d1d;background:#f7e2df;min-height:42px;padding:0 14px}.secondary-button:hover,.danger-button:hover,.ghost-button:hover,.icon-button:hover{background:#dce8df}.danger-button:hover{background:#f2ccc7}.primary-button:disabled{cursor:not-allowed;opacity:.48}.ghost-button{color:#31413d;background:#e8efe9;min-height:40px;padding:0 12px}.icon-button{color:#17312f;background:#e8efe9;width:38px;height:38px}.flip-icon{transform:rotate(180deg)}.eyebrow{color:#60716d;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:850}.landing-hero{color:#fff;background:linear-gradient(90deg,#0c1f1de0,#0c1f1d2e),url(https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1800&q=82) 50% 44%/cover;border-radius:8px;align-items:end;min-height:342px;margin:22px 0 28px;padding:34px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 48px #1b2c2821}.landing-hero h1,.trip-form h1{color:#142421;max-width:760px;margin-bottom:0;font-size:clamp(2.6rem,6vw,5.8rem);line-height:.92}.landing-hero h1{color:#fff;text-shadow:0 2px 18px #00000029;max-width:820px}.landing-hero p{color:#edf7f3;max-width:560px;margin:14px 0 0;font-size:1.05rem;line-height:1.65}.landing-hero .eyebrow{color:#f8c35a}.trip-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.new-trip-card,.saved-trip-card{text-align:left;background:#fff;border:1px solid #d9e1d9;border-radius:8px;min-height:210px;transition:transform .16s,border-color .16s,box-shadow .16s}.new-trip-card:hover,.saved-trip-card:hover{border-color:#a8b8ae;transform:translateY(-2px);box-shadow:0 18px 42px #1b2c281a}.new-trip-card{color:#17312f;text-align:center;background:linear-gradient(135deg,#f8c35a2e,#0000 62%),#fff;align-content:center;place-items:center;gap:10px;display:grid}.new-trip-card span{background:#f8c35a;border-radius:8px;place-items:center;width:54px;height:54px;display:inline-grid}.new-trip-card strong{font-size:1.15rem}.new-trip-card small{color:#667570}.saved-trip-card{flex-direction:column;justify-content:space-between;gap:22px;padding:20px;display:flex}.saved-trip-main{grid-template-columns:12px minmax(0,1fr);gap:14px;display:grid}.trip-route-line{background:linear-gradient(#15507c 0 28%,#b07b91 28% 48%,#438b3f 48%);border-radius:999px;width:12px;min-height:88px}.saved-trip-card h2{color:#182824;margin-bottom:8px;font-size:1.35rem}.saved-trip-card p{color:#62716d;margin-bottom:0;line-height:1.5}.saved-trip-meta{flex-wrap:wrap;gap:8px;display:flex}.saved-trip-meta span,.date-summary span,.timeline-heading>span{color:#31413d;background:#eef3ee;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:0 10px;font-size:.88rem;font-weight:700;display:inline-flex}.editor-shell{width:min(1320px,100% - 48px)}.timeline-shell{width:min(1440px,100% - 48px)}.timeline-shell.compare-mode{width:calc(100% - 24px)}.timeline-editor-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding-bottom:22px;display:grid}.trip-title-block{min-width:0}.trip-title-block h1{color:#142421;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:clamp(1.9rem,4vw,3.6rem);line-height:.95;overflow:hidden}.trip-title-block p{color:#60716d;text-transform:uppercase;margin-bottom:0;font-size:.8rem;font-weight:850}.timeline-actions{gap:10px;display:flex}.editor-actions{align-items:center;gap:10px;display:flex}.editor-layout{grid-template-columns:minmax(360px,.85fr) minmax(440px,1fr);align-items:start;gap:22px;padding:34px 0 22px;display:grid}.trip-form,.calendar-panel,.timeline-preview{background:#fff;border:1px solid #dbe2da;border-radius:8px;box-shadow:0 14px 36px #1b2c2812}.trip-form{gap:18px;padding:26px;display:grid}.trip-form h1{font-size:clamp(2.2rem,5vw,4.6rem)}.field{gap:8px;display:grid}.field span{color:#4e615b;font-size:.9rem;font-weight:800}.field input,.field select,.field textarea{color:#15201e;background:#fbfcfa;border:1px solid #d5ddd5;border-radius:8px;outline:0;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.field input,.field select{min-height:46px;padding:0 13px}.field textarea{resize:vertical;min-height:118px;padding:12px 13px;line-height:1.5}.field-hint{color:#687874;min-height:18px;font-size:.78rem;font-weight:700}.field-hint.available{color:#0f766e}.field-hint.invalid,.field-hint.taken,.field-hint.unknown{color:#9f3a54}.date-summary{flex-wrap:wrap;gap:8px;display:flex}.date-summary span{flex-direction:column;align-items:flex-start;gap:1px;min-width:112px;height:auto;padding:9px 11px}.date-summary strong{color:#687874;text-transform:uppercase;font-size:.72rem}.calendar-panel{padding:20px}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.calendar-toolbar h2{color:#17312f;text-transform:capitalize;margin-bottom:0;font-size:1.1rem}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-row{color:#70807b;text-align:center;gap:8px;margin-bottom:8px;font-size:.78rem;font-weight:850}.calendar-grid{gap:8px}.calendar-day{aspect-ratio:1;color:#263733;background:#f4f7f3;border:1px solid #0000;border-radius:8px;min-width:0;font-weight:800}.calendar-day:hover{border-color:#0f766e}.calendar-day.muted{color:#a3ada9;background:#fafbfa}.calendar-day.weekend-date{color:#9d596d}.calendar-day.in-range{color:#17312f;background:#dceee6}.calendar-day.selected{color:#fff;background:#0f766e}.timeline-preview{overflow:hidden}.timeline-shell .timeline-preview{box-shadow:none;background:0 0;border:0}.compare-mode .timeline-preview{border-radius:6px}.timeline-heading{justify-content:flex-end;align-items:center;gap:18px;padding:22px 24px 10px;display:flex}.compare-mode .timeline-heading{display:none}.day-strip{gap:10px;padding:16px 24px 24px;display:grid}.options-strip{grid-template-columns:minmax(0,1fr);display:grid}.options-strip.compare-options{grid-template-columns:none;grid-auto-columns:minmax(460px,1fr);grid-auto-flow:column;gap:10px;padding:10px;overflow-x:auto}.compare-options .trip-option-column{min-width:0}.trip-option-column{background:#fff;border:1px solid #dbe2da;border-radius:8px;padding:10px}.options-strip:not(.compare-options) .trip-option-column{border:0;padding:0}.compare-options .day-strip{padding:10px 0 0}.option-header{justify-content:space-between;align-items:center;gap:10px;min-height:34px;padding:0 0 6px;display:flex}.option-header h2{color:#17312f;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:900}.option-actions{align-items:center;gap:6px;display:flex}.option-cost-table{background:#fff;border:1px solid #dbe2da;border-radius:8px;gap:0;margin-top:10px;font-size:.74rem;display:grid;overflow:hidden}.cost-grid{grid-template-columns:34px minmax(68px,.55fr) repeat(3,minmax(150px,1fr));min-width:640px;display:grid}.cost-grid>*{border-bottom:1px solid #e5ebe4;border-right:1px solid #e5ebe4;min-width:0;padding:7px}.cost-grid>:last-child{border-right:0}.cost-header{color:#53645f;text-transform:uppercase;background:#f4f7f3;font-weight:900}.cost-index,.cost-date{color:#17312f;font-weight:900}.cost-category{gap:5px;display:grid}.sleep-cost-cell{gap:4px;display:grid}.sleep-cost-line{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.sleep-cost-line:not(:disabled){cursor:pointer}.sleep-cost-line:not(:disabled):hover span,.cost-item.clickable .cost-item-main:hover span{text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.sleep-cost-line span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sleep-cost-line strong{flex:none}.cost-category-total{color:#17312f;justify-content:space-between;font-weight:950;display:flex}.cost-item-list,.cost-subitem-list,.cost-item{gap:4px;display:grid}.cost-item-main,.cost-subitem{align-items:center;gap:5px;min-width:0;display:flex}.cost-item.clickable .cost-item-main{cursor:pointer}.cost-item-main span,.cost-subitem span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cost-item-main strong,.cost-subitem strong{flex:none}.cost-subitem{color:#5e6f6a;border-left:2px solid #dbe2da;padding-left:6px}.cost-subitem.selected{color:#17312f;border-left-color:#0f766e;font-weight:850}.cost-item a,.cost-subitem a{color:#0f766e;flex:none;font-weight:900;text-decoration:none}.cost-totals{background:#fbfcfa}.cost-totals strong{color:#17312f}.cost-grand-total{color:#17312f;background:#eef3ee;justify-content:flex-end;align-items:center;gap:12px;padding:9px;font-weight:900;display:flex}.cost-grand-total strong{font-size:1rem}.option-days-chip{color:#17312f;white-space:nowrap;background:#eef3ee;border-radius:8px;align-items:center;min-height:34px;padding:0 10px;font-size:.82rem;font-weight:900;display:inline-flex}.day-row{grid-template-columns:1fr;display:grid}.day-meta{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0;right:0}.day-label,.sleep-chip{pointer-events:auto;align-items:center;min-height:30px;font-size:.84rem;font-weight:850;display:inline-flex}.day-label{color:#17312f;background:#edf2ef;border-radius:8px 8px 0 0;padding:0 11px}.day-row.weekend .day-label{color:#8d4058;background:#f7e7eb}.day-label span{text-transform:lowercase}.sleep-chip{color:#f8fafc;background:#15507c;border-radius:8px 8px 0 0;gap:6px;max-width:min(44vw,360px);padding:0 10px}.sleep-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.time-track{min-width:0;display:grid;position:relative}.timebar{background:#edf2ef;border-radius:0 0 8px 8px;min-height:42px;position:relative;overflow:visible}.time-block{color:#fff;justify-content:center;align-items:center;min-width:1px;font-size:.84rem;font-weight:800;transition:box-shadow .14s,filter .14s;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.time-block>span:not(.block-resize-handle){text-overflow:ellipsis;white-space:nowrap;padding:0 8px;overflow:hidden}.block-title{justify-content:center;align-items:center;gap:5px;min-width:0;display:inline-flex}.block-title>span:not(.block-activity-badge){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.block-activity-badge{color:#17312f;background:#ffffffeb;border-radius:999px;flex:none;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:950;display:inline-grid}.block-time-readout{z-index:3;font-variant-numeric:tabular-nums;pointer-events:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;padding:0 8px;font-size:.76rem;display:grid;position:absolute;inset:0;overflow:hidden}.block-time-readout span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.block-time-start{justify-self:start}.block-time-duration{justify-self:center;font-weight:900}.block-time-end{justify-self:end}.time-block:hover,.time-block.reveal-block-tools,.time-block:focus-within{z-index:3;filter:brightness(1.12)saturate(1.05);box-shadow:0 10px 22px #17312f33}.block-resize-handle,.block-move-handle{z-index:2;opacity:0;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .14s,transform .14s;position:absolute}.block-resize-handle{color:#ffffffb8;cursor:ew-resize;background:0 0;border:0;place-items:center;width:26px;height:34px;display:inline-grid;top:50%;transform:translateY(-50%)scale(.9)}.block-resize-start{left:22px}.block-resize-end{right:22px}.block-move-handle{color:#17312f;cursor:grab;background:#ffffffe6;border:0;border-radius:999px;place-items:center;width:32px;height:24px;display:inline-grid;top:50%;left:50%;transform:translate(-50%,-50%)scale(.86);box-shadow:0 8px 16px #17312f2e}.time-block:hover .block-resize-handle,.time-block:hover .block-move-handle,.time-block.reveal-block-tools .block-resize-handle,.time-block.reveal-block-tools .block-move-handle,.time-block:focus-within .block-resize-handle,.time-block:focus-within .block-move-handle{opacity:1}.time-block.dragging-time-readout .block-resize-handle,.time-block.dragging-time-readout .block-move-handle{opacity:0}.time-block:hover .block-move-handle,.time-block.reveal-block-tools .block-move-handle,.time-block:focus-within .block-move-handle{transform:translate(-50%,-50%)scale(1)}.time-block:hover .block-resize-handle,.time-block.reveal-block-tools .block-resize-handle,.time-block:focus-within .block-resize-handle{transform:translateY(-50%)scale(1)}.block-resize-handle:hover,.block-resize-handle:focus-visible,.block-move-handle:hover,.block-move-handle:focus-visible{color:#fffffff5;box-shadow:none;opacity:1;background:0 0}.insert-zone{z-index:4;width:26px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.add-block-handle{z-index:5;color:#17312f;opacity:0;background:#f8c35a;border:3px solid #fff;border-radius:999px;place-items:center;width:34px;height:34px;transition:opacity .14s,transform .14s;display:inline-grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.86);box-shadow:0 8px 18px #17312f33}.insert-zone:hover .add-block-handle,.insert-zone.reveal-insert-zone .add-block-handle,.add-block-handle:focus-visible{opacity:1;transform:translate(-50%,-50%)scale(1)}.timebar:has(.time-block:hover) .add-block-handle{opacity:0;transform:translate(-50%,-50%)scale(.86)}:is(.timebar:has(.insert-zone:hover) .time-block .block-resize-handle,.timebar:has(.insert-zone:hover) .time-block .block-move-handle){opacity:0}.add-block-handle:focus-visible{outline-offset:2px;outline:3px solid #0f766e40}.block-type-menu{z-index:5;background:#fffffff0;border:1px solid #17312f1a;border-radius:8px;gap:7px;padding:7px;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 16px 34px #17312f33}.block-type-option{color:#fff;border:0;border-radius:6px;place-items:center;width:38px;height:38px;min-height:38px;display:inline-grid}.block-type-option:hover,.block-type-option:focus-visible{filter:brightness(1.08)}.block-type-option:focus-visible{outline-offset:2px;outline:3px solid #f8c35a80}.time-axis{color:#8b9995;height:30px;font-size:.68rem;font-weight:500;line-height:1;position:relative;overflow:hidden}.time-axis-window{inset-block:0;position:absolute;left:0;right:0}.time-axis-window span{text-align:center;position:absolute;bottom:4px;transform:translate(-50%)}.empty-state{color:#63736f;text-align:center;border:1px dashed #cbd6cd;border-radius:8px;place-items:center;min-height:118px;display:grid}.toast{z-index:30;color:#fff7df;background:#17312f;border:1px solid #f8c35a8c;border-radius:8px;max-width:min(420px,100vw - 32px);padding:13px 15px;font-size:.92rem;font-weight:750;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 42px #17312f47}.modal-backdrop{z-index:40;background:#0c181657;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.block-editor-modal{background:#fff;border:1px solid #dbe2da;border-radius:8px;gap:18px;width:min(940px,100vw - 32px);max-height:calc(100vh - 48px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 70px #0c181647}.modal-header,.modal-actions,.block-options-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.block-options-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.modal-header h2,.block-options-heading h3{color:#17312f;margin:0}.modal-header h2{font-size:1.25rem}.block-options-heading h3{font-size:1rem}.block-editor-grid{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(120px,.45fr));gap:12px;display:grid}.block-options-editor{gap:10px;display:grid}.block-option-list{gap:8px;display:grid}.block-option-row{grid-template-columns:28px minmax(150px,1fr) minmax(76px,.25fr) minmax(76px,.25fr) minmax(88px,.3fr) minmax(160px,.75fr) 38px;align-items:center;gap:8px;display:grid}.block-option-row input[type=text],.block-option-row input[type=number],.block-option-row input[inputmode=numeric],.block-option-row input[type=url]{color:#15201e;background:#fbfcfa;border:1px solid #d5ddd5;border-radius:8px;outline:0;width:100%;min-height:38px;padding:0 10px;font-weight:700}.block-option-row input:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.option-radio{place-items:center;display:grid}.modal-actions{justify-content:flex-end}@media (width<=900px){.page-shell,.editor-shell{width:min(100% - 32px,720px);padding-top:18px}.timeline-shell{width:min(100% - 32px,920px)}.timeline-shell.compare-mode{width:calc(100% - 16px)}.options-strip.compare-options{grid-auto-flow:row;grid-auto-columns:unset;grid-template-columns:minmax(0,1fr);padding:10px;overflow-x:visible}.option-cost-table{overflow-x:auto}.landing-hero,.editor-layout,.timeline-editor-header{grid-template-columns:1fr}.timeline-actions{flex-wrap:wrap}.landing-hero{min-height:300px;padding:26px}.landing-hero h1,.trip-form h1{font-size:clamp(2.3rem,13vw,4rem)}.block-editor-grid,.block-option-row{grid-template-columns:1fr}.option-radio{justify-content:start}}@media (width<=560px){.page-shell,.editor-shell{width:min(100% - 24px,460px)}.timeline-shell{width:min(100% - 24px,520px)}.timeline-shell.compare-mode{width:calc(100% - 12px)}.landing-header,.editor-header,.timeline-actions{flex-direction:column;align-items:stretch}.primary-button,.secondary-button,.ghost-button{width:100%}.trip-title-block h1{white-space:normal}.landing-hero{min-height:330px;margin-top:18px}.trip-grid{grid-template-columns:1fr}.trip-form,.calendar-panel{padding:18px}.timeline-heading{padding:18px 18px 12px}.day-strip{padding:14px 18px 18px}.day-meta{flex-direction:column;align-items:flex-start;gap:6px}.sleep-chip{max-width:100%}.calendar-grid,.weekday-row{gap:5px}.toast{bottom:12px;left:12px;right:12px}}
