:root{font-family:var(--body);color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at -10% 0,#d4ee90 0%,#0000 33%),radial-gradient(circle at 100% 0,#ffd0e0 0%,#0000 30%),linear-gradient(#f0f9e0,#e8f4d4);margin:0}#root{border:1px solid var(--line);border-radius:var(--radius-container);background:color-mix(in oklab, var(--surface), white 3%);width:min(1200px,100% - 48px);box-shadow:var(--elev-root);margin:24px auto;overflow:clip}a,button,input,select,textarea{font-family:var(--body)}button{border:0}a:focus-visible,button:focus-visible{outline:3px solid color-mix(in oklab, var(--brand), black 8%);outline-offset:2px}h1,h2,h3,p{margin:0}code{background:var(--surface-alt);border-radius:6px;padding:1px 5px;font-size:.9em}.muted{color:var(--muted)}.eyebrow{font:700 .76rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in oklab, var(--ink), white 28%);margin:0}.top-nav{z-index:50;border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--surface), transparent 8%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 44px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand-mark{width:34px;height:34px;font:700 14px/1 var(--display);background:linear-gradient(135deg, var(--brand), var(--brand-soft));color:var(--ink);border-radius:10px;place-items:center;display:inline-grid}.brand-copy{flex-direction:column;line-height:1.1;display:flex}.brand-copy strong{font:700 1rem/1 var(--display);letter-spacing:.02em;color:var(--ink)}.brand-copy span{font:500 .78rem/1.2 var(--body);color:var(--muted)}.nav-links{align-items:center;gap:18px;display:inline-flex}.nav-links>a:not(.primary-cta){color:var(--ink);font:600 .92rem/1 var(--body);opacity:.85;text-decoration:none;transition:opacity .16s}.nav-links>a:not(.primary-cta):hover,.nav-links>a:not(.primary-cta):focus-visible,.nav-links>a.active{opacity:1}.nav-links>a.active{text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:6px;text-decoration-thickness:3px}.account-email{color:var(--muted);font:600 .85rem/1 var(--body)}.primary-cta,.secondary-cta,.danger-cta{border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;font:700 .92rem/1 var(--body);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s;display:inline-flex}.primary-cta{color:var(--ink);background:linear-gradient(135deg, var(--brand), #d4f040);padding:12px 20px;box-shadow:0 10px 20px -14px #508200a6}.primary-cta:hover,.primary-cta:focus-visible{transform:translateY(-1px);box-shadow:0 16px 24px -16px #508200d9}.primary-cta.compact{padding:10px 16px}.secondary-cta{color:var(--ink);background:var(--surface-alt);border-color:var(--line-strong);padding:10px 15px}.secondary-cta:hover,.secondary-cta:focus-visible{background:#e0f0c0}.danger-cta{color:#fff;background:var(--danger);padding:10px 16px}.danger-link{color:var(--danger);font:700 .88rem/1 var(--body);cursor:pointer;background:0 0;padding:6px 4px}.danger-link:hover{text-decoration:underline}.primary-cta:disabled,.secondary-cta:disabled,.danger-cta:disabled{opacity:.6;cursor:not-allowed;transform:none}.icon-button{border-radius:var(--radius-pill);background:var(--surface-alt);width:30px;height:30px;color:var(--muted);cursor:pointer;place-items:center;font-size:1.2rem;line-height:1;display:grid}.icon-button:hover{color:var(--ink);background:#e0f0c0}.page-message{text-align:center;justify-items:center;gap:14px;padding:80px 24px;display:grid}.page-message h1{font:700 1.6rem/1.2 var(--display)}.page-message-body{max-width:46ch;color:var(--muted);font:500 .95rem/1.5 var(--body);justify-items:center;gap:16px;display:grid}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=1279px){.top-nav{padding-inline:28px}}@media (width<=640px){#root{border:0;border-radius:0;width:100%;margin:0}.top-nav{padding:14px 16px}.account-email{display:none}}.app-main{padding:32px 44px 52px}.page{gap:28px;animation:.32s both rise-in;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-title{font:700 clamp(1.7rem, 2.6vw, 2.4rem) / 1.05 var(--display);letter-spacing:-.025em;margin-top:8px}.back-link{color:var(--muted);font:600 .88rem/1 var(--body);justify-self:start;text-decoration:none}.back-link:hover{color:var(--ink)}.empty-state{border-radius:var(--radius-section);box-shadow:var(--elev-soft);background:radial-gradient(circle at 90% 0,#cce870 0%,#0000 40%),linear-gradient(160deg,#f4fce0,#dff5b0 56%,#eaf9d8);align-items:center;gap:28px;padding:32px;display:flex}.empty-state>div{justify-items:start;gap:12px;max-width:52ch;display:grid}.empty-state h2{font:700 1.4rem/1.2 var(--display)}.empty-state p{color:#344018;font:500 .98rem/1.55 var(--body)}.trip-group{gap:14px;display:grid}.group-title{font:700 .8rem/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.trip-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.trip-card,.trip-header{background:linear-gradient(150deg, color-mix(in oklab, var(--lane,var(--brand)), var(--ink) 35%), color-mix(in oklab, var(--lane,var(--brand)), var(--ink) 75%));color:#fff;position:relative;overflow:hidden}.trip-cover{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.trip-card{border-radius:var(--radius-card);border:1px solid var(--line);min-height:210px;box-shadow:var(--elev-card);text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.trip-card:hover,.trip-card:focus-visible{border-color:var(--line-strong);box-shadow:var(--elev-soft);transform:translateY(-2px)}.trip-card.status-past{opacity:.85}.trip-card-lane{background:var(--lane);flex:0 0 8px;position:relative}.trip-card-body{text-shadow:0 1px 2px #0a100280;background:linear-gradient(#0a100214,#0a100266 45%,#0a1002d6);flex-direction:column;flex:1;justify-content:flex-end;gap:6px;min-width:0;padding:16px 18px 18px;display:flex;position:relative}.trip-card-top{text-shadow:none;flex-wrap:wrap;gap:6px;margin-bottom:auto;display:flex}.trip-card-name{font:700 1.15rem/1.2 var(--display);overflow-wrap:anywhere}.trip-card-destination,.trip-card-dates{color:#ffffffe0;font:500 .88rem/1.4 var(--body)}.status-chip{border-radius:var(--radius-pill);background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);font:700 .72rem/1.2 var(--body);padding:4px 9px;display:inline-block}.status-chip.status-ongoing{background:color-mix(in oklab, var(--brand), white 50%);border-color:var(--brand-soft);color:var(--ink)}.status-chip.status-upcoming{background:color-mix(in oklab, var(--pink), white 82%);border-color:color-mix(in oklab, var(--pink), white 50%);color:#8a2440}.archived-toggle{gap:16px;display:grid}.trip-header{border-radius:var(--radius-section);border:1px solid var(--line);border-left:10px solid var(--lane,var(--brand));min-height:230px;box-shadow:var(--elev-card);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding:26px 28px;display:flex}.trip-header:after{content:"";pointer-events:none;background:linear-gradient(#0a10024d,#0a1002d6);position:absolute;inset:0}.trip-header-main,.trip-header-actions{z-index:1;position:relative}.trip-header-main{text-shadow:0 1px 2px #0a100280}.trip-header .eyebrow{color:#ffffffe0}.trip-header .danger-link{color:#ffc2b3}.trip-header-meta{color:#ffffffe6;font:600 .92rem/1.4 var(--body);flex-wrap:wrap;gap:6px 16px;margin-top:10px;display:flex}.trip-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.trip-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.trip-aside{gap:16px;display:grid;position:sticky;top:100px}.aside-card{border-radius:var(--radius-card);border:1px solid var(--line);background:var(--surface);gap:10px;padding:18px;display:grid}.aside-card h2{font:700 1rem/1.2 var(--display)}.aside-card h3{font:700 .76rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stats{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.stats div{background:var(--surface-alt);border-radius:12px;padding:10px 12px}.stats dt{color:var(--muted);font:600 .78rem/1.2 var(--body)}.stats dd{font:700 1.4rem/1 var(--display);margin:4px 0 0}.cost-list{font:700 1.05rem/1.3 var(--display);gap:4px;margin:0;padding:0;list-style:none;display:grid}.trip-notes{white-space:pre-wrap;color:var(--muted);font:500 .9rem/1.55 var(--body)}.pax-soon{background:linear-gradient(165deg,#eef9d4,#e4f5c0);border-color:#c0dc80;grid-template-columns:56px 1fr;align-items:center}.pax-soon p{color:#344018;font:500 .85rem/1.45 var(--body)}.timeline{gap:14px;margin:0;padding:0;list-style:none;display:grid}.day{border-radius:var(--radius-card);border:1px solid var(--line);background:var(--surface);overflow:hidden}.day.today{border-color:var(--brand-soft);box-shadow:0 0 0 2px color-mix(in oklab, var(--brand), white 50%)}.day.outside{background:0 0;border-style:dashed}.day-header{border-bottom:1px solid var(--line);background:var(--surface-alt);align-items:baseline;gap:12px;padding:12px 16px;display:flex}.day-header h3{font:700 1rem/1.2 var(--display)}.day-label{color:var(--muted);font:600 .8rem/1.2 var(--body);flex:1}.add-button{border-radius:var(--radius-pill);color:var(--muted);font:700 .82rem/1 var(--body);cursor:pointer;background:0 0;padding:4px 8px}.add-button:hover,.add-button:focus-visible{background:color-mix(in oklab, var(--brand), white 60%);color:var(--ink)}.day-empty{color:color-mix(in oklab, var(--muted), white 30%);font:500 .88rem/1.4 var(--body);padding:14px 16px}.entries{margin:0;padding:0;list-style:none}.entry+.entry{border-top:1px solid color-mix(in oklab, var(--line), white 40%)}.entry-button{width:100%;color:var(--ink);text-align:left;font:inherit;background:0 0;grid-template-columns:70px 34px minmax(0,1fr);align-items:start;gap:12px;padding:12px 16px;display:grid}button.entry-button{cursor:pointer}button.entry-button:hover{background:color-mix(in oklab, var(--surface-alt), white 30%)}button.entry-button:focus-visible{outline-offset:-3px}.entry-time{font:700 .9rem/1.1 var(--body);font-variant-numeric:tabular-nums;gap:2px;padding-top:7px;display:grid}.entry-zone{color:var(--muted);font:600 .7rem/1 var(--body)}.entry-icon{background:var(--surface-alt);width:34px;height:34px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.entry-icon.type-flight{background:color-mix(in oklab, var(--trip-sky), white 75%);color:#1f5f80}.entry-icon.type-stay{background:color-mix(in oklab, var(--trip-lavender), white 75%);color:#4b3482}.entry-icon.type-transport{background:color-mix(in oklab, var(--trip-teal), white 75%);color:#18664f}.entry-icon.type-activity{background:color-mix(in oklab, var(--brand), white 65%);color:#3c5200}.entry-icon.type-food{background:color-mix(in oklab, var(--trip-coral), white 75%);color:#8a3418}.edge-end .entry-icon{opacity:.6}.entry-body{gap:4px;min-width:0;padding-top:5px;display:grid}.entry-title{font:700 .98rem/1.3 var(--body);overflow-wrap:anywhere}.entry-edge{color:var(--muted);font-weight:600}.entry-meta{color:var(--muted);font:500 .84rem/1.4 var(--body);flex-wrap:wrap;gap:4px 14px;display:flex}.entry-ref{font-variant-numeric:tabular-nums;letter-spacing:.02em}.item-icon{flex:none}@media (width<=1279px){.app-main{padding-inline:28px}}@media (width<=900px){.trip-layout{grid-template-columns:1fr}.trip-aside{position:static}}@media (width<=640px){.app-main{padding:20px 16px 32px}.empty-state{flex-direction:column;align-items:flex-start;padding:24px}.trip-header{padding:20px}.entry-button{grid-template-columns:56px 30px minmax(0,1fr);gap:10px;padding:12px}.entry-icon{width:30px;height:30px}}.auth-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2e262073;place-items:center;padding:24px;animation:.16s rise-in;display:grid;position:fixed;inset:0}.auth-modal{background:var(--surface);border:1px solid var(--line);width:min(380px,100%);box-shadow:var(--elev-soft);border-radius:20px;padding:32px;position:relative}.auth-modal h2{font:700 1.3rem/1.2 var(--display);margin-bottom:20px;padding-right:24px}.auth-close{background:var(--surface-alt);width:28px;height:28px;color:var(--muted);cursor:pointer;border-radius:999px;place-items:center;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:16px;right:16px}.auth-close:hover{background:#efe6d6}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{font:600 .85rem/1 var(--body);color:var(--muted);flex-direction:column;gap:6px;display:flex}.auth-field input{font:500 .95rem/1 var(--body);color:var(--ink);border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;padding:11px 14px}.auth-field input:focus-visible{outline:3px solid color-mix(in oklab, var(--brand), black 8%);outline-offset:1px}.auth-form .primary-cta{text-align:center;width:100%;margin-top:4px}.auth-form .primary-cta:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-error{color:#b3402a;font:600 .85rem/1.4 var(--body);margin:0}.auth-status{color:var(--muted);font:500 .92rem/1.5 var(--body)}.auth-switch{flex-direction:column;gap:8px;margin-top:20px;display:flex}.auth-switch button{color:var(--muted);font:600 .82rem/1 var(--body);cursor:pointer;background:0 0;align-self:flex-start;padding:0;text-decoration:underline}.auth-switch button:hover{color:var(--ink)}.landing-main{gap:38px;padding:38px 44px 52px;display:grid}.hero{grid-template-columns:1.4fr .9fr;align-items:stretch;gap:26px;display:grid}.hero-copy{box-shadow:var(--elev-soft);background:radial-gradient(circle at 90% 0,#cce870 0%,#0000 40%),radial-gradient(circle at 15% 10%,#f8c0d0 0%,#0000 34%),linear-gradient(160deg,#f4fce0,#dff5b0 56%,#eaf9d8);border-radius:26px;padding:42px;animation:.48s both rise-in}.hero h1{max-width:15ch;font:700 clamp(2.1rem, 3.2vw, 3.3rem) / .98 var(--display);letter-spacing:-.03em;color:#1a2808;margin:14px 0 18px}.hero-text{max-width:52ch;font:500 1.02rem/1.55 var(--body);color:#344018;margin:0}.hero-actions{align-items:center;gap:16px;margin-top:24px;display:flex}.cta-note{color:#3c5018;font:500 .82rem/1.3 var(--body);margin:0}.pax-card{box-shadow:var(--elev-soft);background:radial-gradient(circle at 90% 12%,#b4e65073,#0000 38%),linear-gradient(160deg,#eef9d4,#dff2b8);border:1px solid #c0dc80;border-radius:26px;padding:28px;animation:.56s both rise-in}.pax-avatar{object-fit:cover;border-radius:20px;width:120px;height:120px;margin-bottom:14px;display:block}.pax-card h2{font:700 1.12rem/1.2 var(--display);color:#1a2808;margin:0 0 10px}.pax-card p{font:500 .95rem/1.5 var(--body);color:#344018;margin:0}.section{border:1px solid var(--line);background:var(--surface-alt);box-shadow:var(--elev-card);border-radius:24px;padding:34px;animation:.62s both rise-in}.section-head{gap:10px;margin-bottom:20px;display:grid}.section h2{max-width:20ch;font:700 clamp(1.5rem, 2vw, 2rem) / 1.05 var(--display);letter-spacing:-.025em;color:var(--ink);margin:0}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px}.feature-card h3,.assist-points h3,.pax-callout h3{font:700 1.02rem/1.25 var(--display);color:var(--ink);margin:0 0 8px}.feature-card p,.assist-points p,.pax-callout p{font:500 .92rem/1.55 var(--body);color:var(--muted);margin:0}.pax-tip{border-top:1px dashed var(--line-strong);color:#c0406a;margin-top:12px;padding-top:12px;font-weight:600}.assist-layout{grid-template-columns:1.35fr .8fr;gap:16px;display:grid}.assist-points{gap:14px;display:grid}.assist-points article{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:18px}.pax-callout{background:radial-gradient(circle at 80% 15%,#f070901f,#0000 36%),linear-gradient(165deg,#eef9d4,#e4f5c0);border:1px solid #c0dc80;border-radius:18px;align-content:start;gap:12px;padding:18px;display:grid}@media (width<=1279px){.landing-main{padding-inline:28px}}@media (width<=860px){.hero,.feature-grid,.assist-layout{grid-template-columns:1fr}.hero-copy{padding:28px}}@media (width<=640px){.landing-main{padding:20px 16px 32px}.section{padding:22px}}.pax-callout .primary-cta{justify-self:start}.dialog{border:1px solid var(--line);background:var(--surface);width:min(560px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--ink);box-shadow:var(--elev-soft);border-radius:20px;padding:0}.dialog-sm{width:min(400px,100% - 32px)}.dialog-lg{width:min(720px,100% - 32px)}.dialog[open]{animation:.16s rise-in}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a280866}.dialog-body{padding:24px 28px 28px}.dialog-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.dialog-header h2{font:700 1.3rem/1.2 var(--display)}.confirm-message{color:var(--muted);font:500 .95rem/1.5 var(--body)}.form{gap:16px;display:grid}.form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.form-section{border:1px solid var(--line);background:var(--surface-alt);border-radius:14px;gap:12px;padding:14px;display:grid}.form-section-title{font:700 .76rem/1.2 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font:600 .85rem/1.2 var(--body);color:var(--muted)}.field input,.field select,.field textarea{width:100%;font:500 .95rem/1.3 var(--body);color:var(--ink);border-radius:var(--radius-control);border:1px solid var(--line-strong);background:var(--surface);padding:10px 12px}.field textarea{resize:vertical;min-height:84px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid color-mix(in oklab, var(--brand), black 8%);outline-offset:1px}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger)}.field-error,.form-error{color:var(--danger);font:600 .8rem/1.4 var(--body)}.field-hint{color:var(--muted);font:500 .78rem/1.4 var(--body)}.form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;display:flex}.form-actions .spacer{flex:1}.choice-group{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.choice-group legend{font:600 .85rem/1.2 var(--body);color:var(--muted);margin-bottom:8px}.choice{position:relative}.choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.choice span{border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);font:600 .85rem/1 var(--body);color:var(--muted);align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.choice input:checked+span{background:color-mix(in oklab, var(--brand), white 55%);border-color:var(--brand-soft);color:var(--ink)}.choice input:focus-visible+span{outline:3px solid color-mix(in oklab, var(--brand), black 8%);outline-offset:2px}.swatch{border:2px solid #0000;border-radius:999px;width:28px;height:28px;display:block}.choice input:checked+.swatch{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface) inset}.choice input:focus-visible+.swatch{outline:3px solid color-mix(in oklab, var(--brand), black 8%);outline-offset:2px}.toggle-link{color:var(--muted);font:600 .85rem/1 var(--body);cursor:pointer;background:0 0;justify-self:start;padding:0;text-decoration:underline}.toggle-link:hover{color:var(--ink)}.cover-picker{gap:10px;display:grid}.cover-preview{aspect-ratio:16/6;border:1px solid var(--line-strong);background:linear-gradient(150deg, color-mix(in oklab, var(--lane,var(--brand)), var(--ink) 35%), color-mix(in oklab, var(--lane,var(--brand)), var(--ink) 75%));color:#ffffffe6;font:600 .82rem/1.4 var(--body);text-align:center;border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.cover-preview img,.cover-option img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cover-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.cover-option{aspect-ratio:3/2;border-radius:var(--radius-control);background:var(--surface-alt);cursor:pointer;border:2px solid #0000;padding:0;position:relative;overflow:hidden}.cover-option[aria-pressed=true]{border-color:var(--ink)}
