*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}a{color:inherit}[hidden]{display:none!important}:root{--canvas: #F4F1EB;--ink: #16171C;--muted: #5E6470;--line: #E3DDD4;--card: #FFFFFF;--accent: #3D35F5;--cody: #2450F0;--prenny: #E11D63;--paid: #0F766E;--open: #C2410C;--hero: #12141A;--hero-ink: #F4F1EB;--hero-muted: rgba(244, 241, 235, .68);--accent-ink: #ffffff;--accent-soft: rgba(61, 53, 245, .1);--danger: #c62828;--canvas-sunken: #ebe6de;--font-display: "Syne", system-ui, sans-serif;--font-sans: "Outfit", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--tap-min: 44px;--max-width: 420px;--nav-h: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--shadow-card: 0 10px 30px rgba(22, 23, 28, .06);--shadow-sheet: 0 -8px 32px rgba(22, 23, 28, .18);--accent-tickets: #4a5568;--accent-lodging: #3d5a5b;--accent-transport: #5a4a3a;--accent-food: #6b4a3a;--accent-experience: #4a4560;--accent-park: #3a4a5c;--accent-hotel: #3d5a5b;--accent-attraction: #4a4840;--accent-other: #5E6470;--color-bg: var(--canvas);--color-surface: var(--card);--color-surface-2: var(--canvas-sunken);--color-border: var(--line);--color-text: var(--ink);--color-text-muted: var(--muted);--color-accent: var(--accent);--color-accent-contrast: var(--accent-ink);--color-danger: var(--danger);--color-ok: var(--paid);--color-night: var(--hero);--color-chrome-text: var(--hero-ink);--color-chrome-muted: var(--hero-muted);--font-body: var(--font-sans);--bottom-nav-h: var(--nav-h);--header-h: 56px;--day-strip-h: 48px;--color-gold: var(--accent);--color-gold-bright: var(--accent);--color-gold-foil: var(--line);--color-oxblood: var(--open);--color-burgundy: var(--open);--color-forest: var(--paid);--color-forest-mid: var(--paid);--color-parchment: var(--card);--color-parchment-deep: var(--canvas-sunken);--color-page: var(--card);--color-wax: var(--open);--color-wax-rim: var(--line);--color-passport-ink: var(--ink);--color-night-2: var(--hero);--color-indigo: var(--hero);--color-indigo-mid: var(--ink);--color-navy-ink: var(--ink);--ink-cody: var(--cody);--ink-prenny: var(--prenny);--shadow-glow: none;--shadow-lantern: none;--foil-rule: none;--leather: var(--hero);--leather-mid: var(--ink);--ribbon: var(--accent);--ribbon-edge: var(--line);--stub-tear: var(--muted);--binding-w: 0px;--page-inset: 0px;--ribbon-nav-h: var(--nav-h);--plaque-radius: var(--radius-md);--wax-press-scale: 1}.app-shell{min-height:100dvh;max-width:var(--max-width);margin:0 auto;display:flex;flex-direction:column;background:var(--color-bg);padding-bottom:calc(var(--bottom-nav-h) + var(--safe-bottom))}.trip-header{position:sticky;top:0;z-index:20;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:calc(var(--space-3) + var(--safe-top)) var(--space-4) var(--space-2);transition:padding .15s ease}.trip-header.header-compact{padding-top:calc(var(--space-2) + var(--safe-top));padding-bottom:var(--space-1)}.trip-header.header-compact .trip-dates,.trip-header.header-compact .eyebrow{display:none}.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.eyebrow{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.trip-title{margin:0;font-size:1.25rem;font-weight:700}.trip-dates{margin:2px 0 0;font-size:.875rem;color:var(--color-text-muted)}.btn-sync{min-height:var(--tap-min);min-width:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2)}.btn-sync[data-pending=true]{outline:2px solid var(--color-accent)}.sync-status{margin:var(--space-1) 0 0;font-size:.75rem;color:var(--color-text-muted);max-width:100%;max-height:2.5em;overflow:hidden;text-overflow:ellipsis;word-break:break-word;overflow-wrap:anywhere}.sync-status[data-state=error]{color:var(--color-danger)}.sync-status[data-state=ok]{color:var(--color-ok)}.days-strip{display:flex;gap:var(--space-2);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface);scrollbar-width:none}.days-strip::-webkit-scrollbar{display:none}.day-chip{flex:0 0 auto;scroll-snap-align:center;min-height:var(--tap-min);min-width:64px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.75rem;color:var(--color-text-muted)}.day-chip strong{font-size:1rem;color:var(--color-text)}.day-chip.active,.day-chip[data-active=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.day-chip.active strong,.day-chip[data-active=true] strong{color:var(--color-accent-contrast)}.day-count{font-size:.65rem;opacity:.85}.panel-host{flex:1;padding:var(--space-3) var(--space-4) var(--space-5);overflow-x:hidden}.panel{display:none}.panel.active{display:block}.panel-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);gap:var(--space-2)}.panel-toolbar h2{margin:0;font-size:1rem}.btn-add{min-height:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.summary-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.summary-chip{font-size:.75rem;padding:var(--space-1) var(--space-2);border-radius:999px;background:var(--color-surface-2);border:1px solid var(--color-border)}.day-scene{margin-bottom:var(--space-4)}.day-chapter{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3);position:static;background:var(--color-bg);padding:var(--space-2) 0}.day-chapter-title{margin:0;font-size:.95rem}.day-spend{font-size:.75rem;color:var(--color-text-muted)}.timeline{display:flex;flex-direction:column;gap:0;position:relative}.timeline-item{display:flex;gap:var(--space-3);min-width:0}.timeline-rail{display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent-other);margin-top:14px;flex-shrink:0}.timeline-dot.type-tickets{background:var(--accent-tickets)}.timeline-dot.type-lodging{background:var(--accent-lodging)}.timeline-dot.type-transport{background:var(--accent-transport)}.timeline-dot.type-food{background:var(--accent-food)}.timeline-dot.type-experience{background:var(--accent-experience)}.timeline-dot.type-park{background:var(--accent-park)}.timeline-dot.type-hotel{background:var(--accent-hotel)}.timeline-dot.type-attraction{background:var(--accent-attraction)}.timeline-line{flex:1;width:2px;background:var(--color-border);margin:4px 0 0}.timeline-content{flex:1;min-width:0;overflow:hidden;padding-bottom:var(--space-3)}.timeline-card{max-width:100%;overflow-wrap:anywhere;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.tc-top{display:flex;justify-content:space-between;gap:var(--space-2);font-weight:600}.tc-meta{margin-top:var(--space-1);font-size:.85rem;color:var(--color-text-muted)}.tc-actions{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2)}.tc-actions button,.conf-toggle{min-height:var(--tap-min);padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:.8rem}.conf-panel{margin-top:var(--space-2);font-size:.8rem;font-family:var(--font-mono)}.conf-line{overflow-wrap:anywhere;margin:2px 0}.conf-k{color:var(--color-text-muted);margin-right:var(--space-2)}.empty{padding:var(--space-5);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.stub-note{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-size:.9rem}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--max-width);height:calc(var(--bottom-nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:flex;border-top:1px solid var(--color-border);background:var(--color-surface);z-index:30}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--color-text-muted);min-height:var(--bottom-nav-h)}.nav-btn.active,.nav-btn[data-active=true]{color:var(--color-text);font-weight:600}.nav-icon{font-size:1.1rem;line-height:1}.nav-label{font-size:.7rem}.modal.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006}.modal-panel{position:relative;width:100%;max-width:var(--max-width);max-height:90dvh;overflow:auto;background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3) var(--space-4) calc(var(--space-5) + var(--safe-bottom));box-shadow:var(--shadow-sheet)}.modal-handle,.sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--color-border);margin:0 auto var(--space-3)}.sheet-form{display:flex;flex-direction:column;gap:var(--space-3)}.sheet-form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:.85rem}.sheet-form label.check{flex-direction:row;align-items:center;min-height:var(--tap-min)}.sheet-form input,.sheet-form select,.sheet-form textarea{min-height:var(--tap-min);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.sheet-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.sheet-actions button{min-height:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2)}.sheet-actions button[type=submit]{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.maps-link{font-size:.8rem;text-decoration:underline}.park-filter .park-chip.active,.park-filter .park-chip[data-active=true]{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.score-row{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.score-pill{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-border);font-size:.85rem}.score-who{color:var(--color-text-muted);font-size:.75rem}.score-val{font-variant-numeric:tabular-nums}.coaster-list{display:flex;flex-direction:column;gap:var(--space-3)}.coaster-scale{font-size:.8rem;font-weight:500;color:var(--color-text-muted)}.coaster-notes{margin-top:var(--space-2)}.score-rivalry{margin:0 0 var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:flex;flex-direction:column;gap:var(--space-3)}.rivalry-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.rivalry-title{margin:0;font-size:1rem}.rivalry-leader{margin:0;font-size:.8rem;color:var(--color-text-muted)}.rivalry-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.rivalry-chip{flex:1;min-width:7rem;display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-2)}.rivalry-chip-label,.rivalry-chip-n{font-size:.7rem;color:var(--color-text-muted)}.rivalry-chip-val{font-size:1.25rem;font-variant-numeric:tabular-nums}.rivalry-sub{margin:0 0 var(--space-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.rivalry-count{font-variant-numeric:tabular-nums;color:var(--color-text)}.rivalry-park-list,.rivalry-blank-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.rivalry-park-row,.rivalry-blank-item{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:.85rem}.rivalry-park-name,.rivalry-blank-ride{font-weight:600;min-width:0;flex:1}.rivalry-park-avgs,.rivalry-park-win,.rivalry-blank-miss,.rivalry-rod-meta{font-size:.8rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.rivalry-rod{display:flex;flex-direction:column;gap:2px;font-size:.9rem}.rivalry-empty,.today-rivalry-empty{margin:0;font-size:.85rem;color:var(--color-text-muted)}.today-rivalry{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:.8rem}.today-rivalry .rivalry-chip{flex:0 0 auto;min-width:0;flex-direction:row;align-items:center;gap:var(--space-1);padding:4px 8px;font-variant-numeric:tabular-nums}.today-rivalry-leader{font-weight:600}.today-rivalry-rod{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.today-rivalry-blanks{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.today-rivalry.is-empty{border-style:dashed}.place-card[data-expanded=true],.timeline-item[data-expanded=true] .place-card{cursor:default}.place-card{cursor:pointer}.place-card .tc-actions,.place-card .place-unfold{cursor:default}.place-unfold{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-border);display:flex;flex-direction:column;gap:var(--space-2)}.place-unfold__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.place-unfold__title{margin:0;font-size:1rem;font-weight:700;line-height:1.25}.place-unfold__close{min-height:var(--tap-min);min-width:var(--tap-min);padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);font-size:.8rem}.place-unfold__meta{margin:0;font-size:.8rem;color:var(--color-text-muted)}.place-unfold__map{width:100%;height:180px;min-height:160px;border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden;background:var(--color-surface-2);z-index:0}.place-unfold__map-note{margin:0;font-size:.75rem;color:var(--color-text-muted);font-style:italic}.place-unfold__stub,.place-unfold__notes{padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-border)}.place-unfold__stub-label,.place-unfold__notes-label{margin:0 0 var(--space-1);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.place-unfold__stub-body,.place-unfold__notes-body{margin:0;font-size:.875rem}.place-unfold__gmaps{align-self:flex-start;font-size:.8rem;color:var(--color-accent);text-decoration:underline;text-underline-offset:2px;min-height:var(--tap-min);display:inline-flex;align-items:center}.place-unfold__marker{background:transparent;border:0}.place-unfold__marker-dot{display:block;width:14px;height:14px;margin:4px;border-radius:50%;background:var(--accent, #3D35F5);border:2px solid #fff;box-shadow:0 1px 4px #00000059}.place-unfold .leaflet-control-attribution{font-size:9px;background:#ffffffbf}.inbook-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:var(--space-4, 1rem)}.inbook-dialog[hidden]{display:none!important}.inbook-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#16171c73}.inbook-dialog-panel{position:relative;z-index:1;width:min(100%,22rem);padding:var(--space-5, 1.25rem);border-radius:var(--radius-lg, 22px);background:var(--card, #fff);color:var(--ink, #16171C);box-shadow:var(--shadow-sheet);border:1px solid var(--line, #E3DDD4);font-family:var(--font-sans)}.inbook-dialog-title{margin:0 0 .5rem;font-family:var(--font-sans);font-size:1.1rem;font-weight:700}.inbook-dialog-msg{margin:0 0 1.25rem;color:var(--ink);line-height:1.45}.inbook-dialog-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.inbook-dialog-actions button{min-height:var(--tap-min, 44px);min-width:5.5rem;padding:.5rem 1rem;border-radius:var(--radius-sm, 8px);border:1px solid var(--line);background:var(--canvas-sunken, #ebe6de);color:inherit;font:inherit;cursor:pointer}.inbook-dialog-confirm{background:var(--accent, #3D35F5)!important;border-color:var(--accent, #3D35F5)!important;color:#fff!important;font-weight:600}.inbook-dialog-confirm.is-danger{background:transparent!important;border-color:var(--danger, #c62828)!important;color:var(--danger, #c62828)!important}.inbook-dialog-confirm.is-danger.is-armed{background:var(--danger, #c62828)!important;color:#fff!important}.days-strip.is-skeleton .day-chip,.day-chip.is-skeleton{pointer-events:none;opacity:.55}.day-chip-skeleton-bar{display:block;height:.65rem;width:2.5rem;margin:.2rem auto 0;border-radius:4px;background:var(--line)}.relic-tearoff,.vip-tickets-fold{margin-top:.5rem}.score-val.seal-ring-empty:before{display:none}.chapter-contents-line{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px dashed var(--line);cursor:pointer;background:transparent;border-left:0;border-right:0;border-top:0;width:100%;text-align:left;font:inherit;color:inherit}.stamp-clear{margin-left:.35rem;font-size:.7rem;padding:.15rem .4rem;min-height:28px;border-radius:999px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer}.quill-prompt{display:inline-block;margin-top:.75rem;min-height:var(--tap-min, 44px);padding:.5rem 1rem;border-radius:var(--radius-sm, 8px);border:1px dashed var(--line);background:transparent;color:inherit;font:inherit;cursor:pointer}.arch-cup{margin:.5rem 0 0;font-style:italic;opacity:.9;color:var(--muted)}.vip-tickets-fold{padding:.5rem .65rem;border-left:3px solid var(--line);background:var(--canvas)}.vip-tickets-label{margin:0 0 .25rem;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;opacity:.75}.companion-shell{font-family:var(--font-sans);background:var(--canvas, #F4F1EB);color:var(--ink, #16171C)}.companion-header{background:var(--canvas, #F4F1EB);border-bottom:1px solid var(--line, #E3DDD4)}.panel-host{flex:1;padding:0 var(--space-4) var(--space-5)}.now-stack{display:flex;flex-direction:column;gap:var(--space-3)}.money-hero{padding:var(--space-4) 0 var(--space-3)}.money-open-label{margin:0;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.money-open-amount,.font-syne{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:2.5rem;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--ink)}.money-of-line{margin:var(--space-2) 0 0;color:var(--muted);font-size:.9rem}.money-cat-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--line);margin-bottom:var(--space-4)}.money-cat-seg{flex:0 0 calc(var(--seg) * 1%);background:var(--muted);opacity:.45}.money-cat-seg[data-cat=tickets]{background:#c62828;opacity:.55}.money-cat-seg[data-cat=lodging]{background:var(--paid);opacity:.55}.money-cat-seg[data-cat=transport]{background:#d97706;opacity:.55}.money-cat-seg[data-cat=experience]{background:#7c3aed;opacity:.5}.money-cat-seg[data-cat=food]{background:var(--open);opacity:.5}.money-rows{display:flex;flex-direction:column}.money-row{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"name amount status" "conf conf conf";gap:2px var(--space-3);align-items:center;width:100%;min-height:56px;padding:var(--space-2) 0;border:none;border-bottom:1px solid var(--line);background:none;color:inherit;font:inherit;text-align:left}.money-row[data-has-conf=true]{cursor:pointer}.money-row__name,.money-row__merchant{grid-area:name;font-weight:600}.money-row__amount{grid-area:amount;font-family:var(--font-display);font-weight:700}.money-row__status{grid-area:status;font-size:.8rem;color:var(--muted)}.money-row__conf{grid-area:conf;display:none;font-family:var(--font-mono);font-size:.85rem;color:var(--muted);padding-bottom:var(--space-2)}.money-row.is-revealed .money-row__conf,.money-row[data-revealed=true] .money-row__conf{display:block}.ride-lead-line{margin:var(--space-2) 0}.ride-hippo-note{margin:0 0 var(--space-3);font-size:.85rem;color:var(--muted);font-style:italic}.ride-ballots{display:flex;flex-direction:column;gap:var(--space-2)}.ride-ballot{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.park-text-switcher{display:flex;gap:var(--space-4);padding:var(--space-2) 0 var(--space-3)}.park-text{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font:inherit;color:var(--muted);cursor:pointer;min-height:var(--tap-min)}.park-text.is-selected{color:var(--ink);font-weight:700}.later-list{margin-top:var(--space-2)}.later-label{margin:0 0 var(--space-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.later-line{display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--muted);font:inherit;padding:var(--space-2) 0;min-height:var(--tap-min);cursor:pointer}.side-quest{padding:var(--space-3) 0}.side-quest__label{margin:0 0 var(--space-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.side-quest__item{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);font-size:.95rem}.btn-add-plan{margin-top:var(--space-4);min-height:var(--tap-min);padding:0 var(--space-4);border-radius:999px;border:1px solid rgba(244,241,235,.35);background:transparent;color:var(--hero-ink, #F4F1EB);font:inherit}.hotel-one-line{margin:0;font-size:.9rem;color:var(--muted)}.stamp-screen[data-slot=stamp-screen]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;background:var(--canvas);color:var(--ink);padding:calc(var(--space-3) + var(--safe-top)) var(--space-4) calc(var(--space-4) + var(--safe-bottom))}.stamp-screen[hidden]{display:none!important}.stamp-screen__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.stamp-screen__title{margin:0;font-size:1rem;text-align:center;flex:1}.stamp-screen__close,.stamp-screen__save{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:inherit;font:inherit;min-height:var(--tap-min);padding:0 var(--space-2);cursor:pointer}.stamp-screen__save{font-weight:600;color:var(--accent)}.stamp-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);flex:1;overflow:auto}.stamp-notes-wrap{display:block;margin-top:var(--space-3)}.stamp-notes-wrap textarea{width:100%;border-radius:var(--radius-sm, 8px);border:1px solid var(--line);background:var(--card, #fff);color:var(--ink);font:inherit;padding:var(--space-2);resize:vertical}.companion-nav{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--max-width);display:grid;grid-template-columns:repeat(3,1fr);padding:var(--space-2) var(--space-3) calc(var(--space-2) + var(--safe-bottom));background:var(--card, #fff);border-top:1px solid var(--line);z-index:30}.companion-nav .nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--tap-min);border:none;background:none;color:var(--muted);font:inherit;font-size:.7rem;cursor:pointer}.companion-nav .nav-btn.active,.companion-nav .nav-btn[data-active=true]{color:var(--accent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.btn-danger-quiet{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--danger);font:inherit;min-height:var(--tap-min);cursor:pointer}.modal.sheet[hidden]{display:none!important}.typed-card,[data-slot=show-ticket],[data-slot=key-card],[data-slot=boarding-pass],[data-slot=vip-pass]{position:relative;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);margin:0 0 var(--space-3);overflow:hidden;font-family:var(--font-sans)}.card-accent-link{color:var(--accent);font-weight:600;text-decoration:none;min-height:var(--tap-min);display:inline-flex;align-items:center}.mono-conf,[data-slot=confirmation]{font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:.02em;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.status-pill.is-paid{background:#0f766e1f;color:var(--paid)}.status-pill.is-open{background:#c2410c1f;color:var(--open)}[data-slot=show-ticket]{padding:0;display:grid;grid-template-columns:1fr 72px}[data-slot=show-ticket]:before{content:"";position:absolute;top:0;bottom:0;right:72px;width:0;border-right:2px dashed var(--line);z-index:1}[data-slot=show-ticket]:after{content:"";position:absolute;top:12px;bottom:12px;right:66px;width:12px;background:radial-gradient(circle at 50% 10px,var(--canvas) 5px,transparent 6px),radial-gradient(circle at 50% 34px,var(--canvas) 5px,transparent 6px),radial-gradient(circle at 50% 58px,var(--canvas) 5px,transparent 6px),radial-gradient(circle at 50% 82px,var(--canvas) 5px,transparent 6px),radial-gradient(circle at 50% 106px,var(--canvas) 5px,transparent 6px);z-index:2;pointer-events:none}[data-slot=show-ticket] .show-ticket__head,[data-slot=show-ticket] .show-ticket__when,[data-slot=show-ticket] .show-ticket__addr,[data-slot=show-ticket] .show-ticket__foot{grid-column:1;padding-left:var(--space-4);padding-right:var(--space-3)}[data-slot=show-ticket] .show-ticket__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-4)}[data-slot=show-ticket] .show-ticket__title{margin:0;font-family:var(--font-sans);font-size:1rem;font-weight:600;line-height:1.25}[data-slot=show-ticket] .show-ticket__pill{flex-shrink:0;font-family:var(--font-mono);font-size:.7rem;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);background:var(--ink);color:var(--card)}[data-slot=show-ticket] .show-ticket__when{margin:var(--space-3) 0 var(--space-2);font-family:var(--font-display);font-size:64px;font-weight:800;line-height:.95;letter-spacing:-.03em;color:var(--ink)}[data-slot=show-ticket] .show-ticket__addr{margin:0 0 var(--space-3);font-size:.85rem;color:var(--muted)}[data-slot=show-ticket] .show-ticket__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-bottom:var(--space-4)}[data-slot=show-ticket] .show-ticket__head:after{content:"";position:absolute;top:0;right:0;bottom:0;width:72px;background:var(--ink);z-index:0}[data-slot=show-ticket] .mono-conf,[data-slot=show-ticket] [data-slot=confirmation]{position:relative;z-index:3;writing-mode:vertical-rl;transform:rotate(180deg);position:absolute;right:8px;top:50%;translate:0 -50%;color:#f4f1ebd9;font-size:.7rem;letter-spacing:.08em;max-height:calc(100% - 24px);overflow:hidden}[data-slot=key-card]{padding-top:0}[data-slot=key-card]:before{content:"";display:block;height:36px;margin:0 calc(-1 * var(--space-4));margin-bottom:var(--space-4);background:linear-gradient(180deg,#1a1b22,#2a2c36 45%,#12131a 55%,#1a1b22);box-shadow:inset 0 -1px #ffffff14}[data-slot=key-card] .key-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}[data-slot=key-card] .key-card__title{margin:0;font-family:var(--font-sans);font-size:1.05rem;font-weight:600}[data-slot=key-card] .key-card__hours{display:grid;grid-template-columns:1fr 1px 1fr;gap:0;margin:0 0 var(--space-3);padding:var(--space-3);background:var(--canvas);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.85rem;font-weight:500;color:var(--ink);text-align:center;line-height:1.35;background-image:linear-gradient(var(--line),var(--line));background-size:1px 70%;background-repeat:no-repeat;background-position:center}[data-slot=key-card] .key-card__addr{margin:0 0 var(--space-3);font-size:.85rem;color:var(--muted)}[data-slot=key-card] .key-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-2)}[data-slot=key-card] .key-card__conf,[data-slot=key-card] .mono-conf{margin:var(--space-2) 0 0;font-family:var(--font-mono)}[data-slot=boarding-pass]{padding-left:calc(var(--space-4) + 14px);background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(22,23,28,.06) 2px,rgba(22,23,28,.06) 3px) bottom / 100% 28px no-repeat,var(--card);border-radius:var(--radius-md)}[data-slot=boarding-pass] .boarding-pass__notch{position:absolute;left:-1px;top:50%;translate:0 -50%;width:18px;height:36px;background:var(--canvas);border-radius:0 18px 18px 0;box-shadow:inset -1px 0 0 var(--line);z-index:2}[data-slot=boarding-pass] .boarding-pass__notch:before,[data-slot=boarding-pass] .boarding-pass__notch:after{content:"";position:absolute;left:0;width:14px;height:14px;background:var(--canvas);border-radius:50%}[data-slot=boarding-pass] .boarding-pass__notch:before{top:-20px}[data-slot=boarding-pass] .boarding-pass__notch:after{bottom:-20px}[data-slot=boarding-pass] .boarding-pass__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--line)}[data-slot=boarding-pass] .boarding-pass__airline{font-family:var(--font-sans);font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}[data-slot=boarding-pass] .boarding-pass__conf{margin:0 0 var(--space-2);font-family:var(--font-mono);font-size:.85rem}[data-slot=boarding-pass] .boarding-pass__amount{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}[data-slot=boarding-pass]:after{content:"";display:block;height:28px;margin:var(--space-3) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));margin-left:calc(-1 * (var(--space-4) + 14px));background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 11px,transparent 11px 13px,var(--ink) 13px 14px,transparent 14px 18px);opacity:.85}[data-slot=vip-pass]{padding:0;overflow:hidden}[data-slot=vip-pass] .vip-pass__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-4);background:var(--hero);color:var(--hero-ink)}[data-slot=vip-pass] .vip-pass__title{margin:0;font-family:var(--font-sans);font-size:1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}[data-slot=vip-pass] .vip-pass__head .card-accent-link{color:#a8b4ff}[data-slot=vip-pass] .vip-pass__when{margin:var(--space-4) var(--space-4) var(--space-2);font-family:var(--font-display);font-size:2.5rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink)}[data-slot=vip-pass] .vip-pass__where,[data-slot=vip-pass] .vip-pass__meta{margin:0 var(--space-4) var(--space-2);font-size:.9rem;color:var(--muted)}[data-slot=vip-pass] .vip-pass__amounts{display:flex;gap:var(--space-4);margin:var(--space-3) var(--space-4);font-family:var(--font-display);font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}[data-slot=vip-pass] .vip-pass__amt{margin:0;font-family:var(--font-display);color:var(--ink)}[data-slot=vip-pass] .vip-pass__confs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-4) var(--space-4)}[data-slot=money-row]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:56px;height:56px;padding:0 var(--space-3);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:none;font-family:var(--font-sans)}[data-slot=money-row] .money-row__merchant,[data-slot=money-row] .tc-top span:first-child,[data-slot=money-row] [data-slot=merchant]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:.95rem;color:var(--ink)}[data-slot=money-row] .money-row__amount,[data-slot=money-row] .tc-amount,[data-slot=money-row] .tc-top span:last-child,[data-slot=money-row] [data-slot=amount]{flex-shrink:0;font-family:var(--font-display);font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}[data-slot=money-row] .money-row__conf,[data-slot=money-row] .conf-panel,[data-slot=money-row] [data-slot=confirmation],[data-slot=money-row] .mono-conf{display:none;font-family:var(--font-mono)}[data-slot=money-row].is-revealed .money-row__conf,[data-slot=money-row].is-revealed .conf-panel,[data-slot=money-row].is-revealed [data-slot=confirmation],[data-slot=money-row].is-revealed .mono-conf,[data-slot=money-row][data-revealed] .money-row__conf,[data-slot=money-row][data-revealed] .conf-panel,[data-slot=money-row][data-revealed] [data-slot=confirmation],[data-slot=money-row][data-revealed] .mono-conf,[data-slot=money-row][data-revealed=true] .money-row__conf,[data-slot=money-row][data-revealed=true] .conf-panel,[data-slot=money-row][data-revealed=true] [data-slot=confirmation],[data-slot=money-row][data-revealed=true] .mono-conf{display:block}.timeline-card.expense-card{border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.timeline-card.expense-card .tc-top span:last-child,.expense-card .tc-amount{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}[data-slot=ride-ballot]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);font-family:var(--font-sans)}[data-slot=ride-ballot] .ride-ballot__name,[data-slot=ride-ballot] .coaster-name,[data-slot=ride-ballot] h3{margin:0;font-size:1rem;font-weight:600;color:var(--ink)}[data-slot=ride-ballot] .ride-ballot__land,[data-slot=ride-ballot] .coaster-park,[data-slot=ride-ballot] .coaster-meta{margin:2px 0 0;font-size:.8rem;color:var(--muted)}[data-slot=ride-ballot] .ride-ballot__scores,[data-slot=ride-ballot] .score-row{display:flex;gap:var(--space-2);margin:0}[data-slot=ride-ballot] .ride-ballot__score,[data-slot=ride-ballot] .score-square,[data-slot=ride-ballot] .score-pill{width:44px;height:44px;min-width:40px;min-height:40px;flex:0 0 44px;display:grid;place-items:center;padding:0;border-radius:var(--radius-sm);border:2px dashed var(--line);background:transparent;font-family:var(--font-display);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:transparent}[data-slot=ride-ballot] .score-pill .score-who{display:none}[data-slot=ride-ballot] .score-pill .score-val{font-family:var(--font-display);font-size:28px;font-weight:700}[data-slot=ride-ballot] .ride-ballot__score.is-empty,[data-slot=ride-ballot] .score-square.is-empty,[data-slot=ride-ballot] .score-pill.is-blank{border-style:dashed;border-color:var(--line);background:transparent;color:transparent}[data-slot=ride-ballot] .ride-ballot__score[data-who=cody].is-filled,[data-slot=ride-ballot] .ride-ballot__score[data-who=cody]:not(.is-empty),[data-slot=ride-ballot] .score-square[data-who=cody]:not(.is-empty),[data-slot=ride-ballot] .score-pill[data-who=cody].is-stamped{border-style:solid;border-color:var(--cody);background:var(--cody);color:#fff}[data-slot=ride-ballot] .ride-ballot__score[data-who=prenny].is-filled,[data-slot=ride-ballot] .ride-ballot__score[data-who=prenny]:not(.is-empty),[data-slot=ride-ballot] .score-square[data-who=prenny]:not(.is-empty),[data-slot=ride-ballot] .score-pill[data-who=prenny].is-stamped{border-style:solid;border-color:var(--prenny);background:var(--prenny);color:#fff}.coaster-card .score-pill{width:44px;height:44px;min-width:40px;flex:0 0 44px;display:grid;place-items:center;padding:0;border-radius:var(--radius-sm);border:2px dashed var(--line);background:transparent}.coaster-card .score-pill .score-who{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.coaster-card .score-pill .score-val{font-family:var(--font-display);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.coaster-card .score-pill.is-blank .score-val,.coaster-card .score-pill .score-val.seal-ring-empty{font-size:0;color:transparent}.coaster-card .score-pill[data-who=cody].is-stamped{border-style:solid;border-color:var(--cody);background:var(--cody);color:#fff}.coaster-card .score-pill[data-who=prenny].is-stamped{border-style:solid;border-color:var(--prenny);background:var(--prenny);color:#fff}.coaster-card .score-pill.is-stamped .score-val{color:#fff}.score-val.seal-ring-empty:before{display:none!important}[data-slot=now-hero],.now-hero{background:var(--hero);color:var(--hero-ink);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);margin:0 0 var(--space-4);box-shadow:none;border:0}[data-slot=now-hero] .now-hero__primary,[data-slot=now-hero] .now-hero__title,.now-hero__primary,.now-hero__title{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--hero-ink)}[data-slot=now-hero] .now-hero__time,.now-hero__time{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:64px;font-weight:800;letter-spacing:-.03em;line-height:.95;color:var(--hero-ink)}[data-slot=now-hero] .now-hero__secondary,[data-slot=now-hero] .now-hero__tertiary,.now-hero__secondary,.now-hero__tertiary{margin:0;font-family:var(--font-sans);font-size:.95rem;color:var(--hero-muted)}[data-slot=now-hero] .now-hero__actions,.now-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}[data-slot=now-hero] .card-accent-link{color:#a8b4ff}[data-slot=now-hero].is-skeleton{opacity:.55}[data-slot=day-text-switcher],.day-text-switcher{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-4);padding:var(--space-2) 0 var(--space-4);border:0;background:transparent}[data-slot=day-text-switcher] .day-text,.day-text-switcher .day-text{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;min-height:var(--tap-min);font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:var(--muted);box-shadow:none;border-radius:0}[data-slot=day-text-switcher] .day-text.is-selected,[data-slot=day-text-switcher] .day-text[data-active=true],.day-text-switcher .day-text.is-selected,.day-text-switcher .day-text[aria-selected=true]{color:var(--ink);font-weight:700}[data-slot=ptr-status],[data-slot=sync-status],.sync-status,.ptr-status{margin:var(--space-1) 0 0;font-family:var(--font-sans);font-size:.75rem;color:var(--muted);max-width:100%}[data-slot=stamp-screen]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.stamp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.stamp-btn{min-height:var(--tap-min);min-width:var(--tap-min);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--ink)}.stamp-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.stamp-pad[data-who=cody] .stamp-btn[aria-pressed=true]{background:var(--cody);border-color:var(--cody)}.stamp-pad[data-who=prenny] .stamp-btn[aria-pressed=true]{background:var(--prenny);border-color:var(--prenny)}.stamp-pad-label{margin:0 0 var(--space-2);font-family:var(--font-sans);font-size:.8rem;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0}[data-slot$=-sheet],.modal.sheet .modal-panel{background:var(--card);color:var(--ink);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet);border:0;font-family:var(--font-sans)}.modal.sheet .sheet-title,[data-slot$=-sheet] .sheet-title{font-family:var(--font-sans);font-size:1.15rem;font-weight:700;color:var(--ink);margin:0 0 var(--space-3)}.modal.sheet .sheet-form label,[data-slot$=-sheet] .sheet-form label{font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--muted);gap:6px}.modal.sheet .sheet-form input,.modal.sheet .sheet-form select,.modal.sheet .sheet-form textarea,[data-slot$=-sheet] .sheet-form input,[data-slot$=-sheet] .sheet-form select,[data-slot$=-sheet] .sheet-form textarea{font-size:16px;min-height:var(--tap-min);padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.modal.sheet .sheet-handle,.modal.sheet .modal-handle,.foil-rule-handle{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--line);margin:0 auto var(--space-3);box-shadow:none;background-image:none!important}.modal.sheet .sheet-actions button[type=submit],.modal.sheet .btn-wax-primary,[data-slot$=-sheet] .sheet-actions button[type=submit],.btn-wax-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important;font-family:var(--font-sans);font-weight:600;border-radius:var(--radius-md);box-shadow:none}.modal.sheet .btn-text-cancel,.modal.sheet .sheet-actions button[data-close-modal],.btn-text-cancel{background:transparent!important;border:0!important;color:var(--muted)!important;font-weight:500;text-decoration:none;box-shadow:none}.inbook-dialog-confirm.is-danger,.sheet-actions button.is-danger,button[data-confirm-danger]{background:transparent!important;border:1px solid var(--danger)!important;color:var(--danger)!important}.inbook-dialog-confirm.is-danger.is-armed,.sheet-actions button.is-danger.is-armed,button[data-confirm-danger].is-armed{background:var(--danger)!important;color:#fff!important}html,body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans)}#app,.app-shell,.app-shell.book-shell,.app-shell.journal-spread,[data-shell=journal]{min-height:100dvh;max-width:var(--max-width);margin:0 auto;background:var(--canvas);color:var(--ink);font-family:var(--font-sans);border:0;box-shadow:none;background-image:none!important;padding-bottom:calc(var(--nav-h) + var(--safe-bottom))}.app-shell:before,.app-shell:after,.book-shell:before,.book-shell:after,.journal-spread:before,.journal-spread:after,.journal-page:before,.journal-page:after{display:none!important;content:none!important}#trip-header,.trip-header,.trip-header.day-plaque,.trip-header.grimoire-plaque{position:sticky;top:0;z-index:20;background:var(--canvas);border-bottom:1px solid var(--line);padding:calc(var(--space-3) + var(--safe-top)) var(--space-4) var(--space-2);box-shadow:none;background-image:none!important;border-radius:0;color:var(--ink)}.trip-header .header-row,.plaque-line{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.trip-title{margin:0;font-family:var(--font-sans);font-size:1.1rem;font-weight:700;color:var(--ink);letter-spacing:0;text-transform:none}.plaque-meta,.trip-dates,.plaque-countdown,[data-slot=dates],[data-slot=today-date]{margin:2px 0 0;font-family:var(--font-sans);font-size:.8rem;font-weight:400;color:var(--muted)}.plaque-sep{margin:0 .35em;color:var(--line)}#btn-sync,.btn-sync,.btn-sync.sync-seal,.sync-pulse{min-height:36px;min-width:auto;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);color:var(--muted);font-family:var(--font-sans);font-size:.75rem;font-weight:500;box-shadow:none}#btn-sync:active,.btn-sync:active{transform:none}.sync-seal-glyph{display:none!important}.sync-seal-label{display:inline;font:inherit;color:inherit;text-transform:none;letter-spacing:0}#sync-status,.sync-status,.sync-seal-status{margin:var(--space-1) 0 0;font-size:.72rem;color:var(--muted);font-family:var(--font-sans);max-height:2.5em}.sync-status[data-state=error]{color:var(--danger)}.sync-status[data-state=ok]{color:var(--paid)}#days-strip.days-strip{background:var(--canvas);border-bottom:1px solid var(--line);padding:var(--space-2) var(--space-4)}.day-chip{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--card);color:var(--muted);box-shadow:none}.day-chip:before,.day-chip:after{display:none!important}.day-chip.active,.day-chip[data-active=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.day-chip.active strong,.day-chip[data-active=true] strong{color:var(--accent)}.panel-host,.panel-host.journal-page{background:transparent;padding:var(--space-3) var(--space-4) var(--space-5);border:0;box-shadow:none;background-image:none!important}.panel-toolbar h2,.panel-lede{font-family:var(--font-sans);color:var(--ink)}.btn-add{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:600}.summary-chip{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);font-family:var(--font-sans);font-variant-numeric:tabular-nums}.day-chapter{background:transparent;color:var(--ink)}.day-chapter-title{font-family:var(--font-sans);font-weight:700}.day-spend{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.timeline-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background-image:none!important;clip-path:none!important;transform:none!important}.timeline-card:before,.timeline-card:after{display:none!important}.empty,.stub-note{background:var(--card);border:1px dashed var(--line);color:var(--muted);border-radius:var(--radius-md)}#bottom-nav,.bottom-nav,.bottom-nav.ribbon-nav{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:var(--max-width);height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:flex;border-top:1px solid var(--line);background:var(--card);z-index:30;box-shadow:none;background-image:none!important}#bottom-nav:before,.ribbon-nav:before,#bottom-nav:after,.ribbon-nav:after{display:none!important}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--muted);min-height:var(--nav-h);font-family:var(--font-sans);position:relative;box-shadow:none}.nav-btn:before,.nav-btn:after{display:none!important}.nav-icon{color:inherit;line-height:1}.nav-icon-svg{stroke:currentColor}.nav-label{font-size:.7rem;font-weight:500;letter-spacing:0;text-transform:none;font-family:var(--font-sans)}.nav-btn.active,.nav-btn[data-active=true],.nav-btn[aria-selected=true]{color:var(--accent);font-weight:600}.nav-btn.active:after,.nav-btn[data-active=true]:after,.nav-btn[aria-selected=true]:after{display:block!important;content:"";position:absolute;left:28%;right:28%;bottom:6px;height:2px;border-radius:var(--radius-pill);background:var(--accent)}.nav-btn[data-view=places]{display:none!important}.modal.sheet{font-family:var(--font-sans)}.modal.sheet.sheet-torn .modal-panel,.sheet-torn .modal-panel{clip-path:none!important;background:var(--card)!important;background-image:none!important}.modal-backdrop{background:#16171c66}.inbook-dialog-backdrop{background:#16171c73}.inbook-dialog-panel{background:var(--card)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sheet);font-family:var(--font-sans)}.inbook-dialog-title{font-family:var(--font-sans)!important;font-weight:700;color:var(--ink)}.inbook-dialog-confirm{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important}.place-unfold__marker-dot{background:var(--accent)}.vip-tickets-fold{border-left:3px solid var(--line);background:var(--canvas)}.quill-prompt{border:1px dashed var(--line);color:var(--muted)}.day-chip-skeleton-bar{background:var(--line);animation:none}#app.is-page-turning,#app[data-page-turn=true],.is-seal-press{transform:none!important;filter:none!important}.score-rivalry,.today-rivalry,.coaster-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--ink);background-image:none!important}.rivalry-chip-val,.score-val{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.rivalry-chip[data-who=cody] .rivalry-chip-val{color:var(--cody)}.rivalry-chip[data-who=prenny] .rivalry-chip-val{color:var(--prenny)}.park-chip{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--card);color:var(--muted);clip-path:none!important;font-family:var(--font-sans)}.park-chip.active,.park-chip[data-active=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.foil-cat-bar{background:var(--canvas-sunken);border-radius:var(--radius-sm);height:8px;overflow:hidden;box-shadow:none}@media(min-width:900px){.app-shell.journal-spread,#app{max-width:var(--max-width);display:flex;flex-direction:column}}:root{--canvas: #F4F1EB;--ink: #16171C;--muted: #5E6470;--line: #E3DDD4;--card: #FFFFFF;--accent: #3D35F5;--cody: #2450F0;--prenny: #E11D63;--paid: #0F766E;--open: #C2410C;--hero: #12141A;--ink-cody: #2450F0;--ink-prenny: #E11D63;--companion-hero: #12141A;--font-syne: var(--font-display);--font-outfit: var(--font-sans);--font-plex: var(--font-mono);--color-bg: var(--canvas);--color-surface: var(--card);--color-text: var(--ink);--color-text-muted: var(--muted);--color-chrome-text: var(--ink);--color-chrome-muted: var(--muted);--color-accent: var(--accent)}.companion-shell,.app-shell.companion-shell{background:var(--canvas)!important;color:var(--ink)!important;font-family:var(--font-sans)!important}.companion-header{background:var(--canvas)!important;border-bottom:1px solid var(--line)}.companion-header .trip-title{font-family:var(--font-sans)!important;color:var(--ink)!important}.companion-header .trip-dates{color:var(--muted)!important}.ptr-status,[data-slot=ptr-status]{color:var(--muted)!important;font-family:var(--font-sans);font-size:.75rem}[data-slot=money-row],.money-row{display:grid!important;grid-template-columns:1fr auto auto;grid-template-areas:"name amount status" "conf conf conf";gap:2px var(--space-3);align-items:center;min-height:56px;height:auto;padding:10px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)}.money-row__name,.money-row__merchant{grid-area:name;font-family:var(--font-sans);font-weight:500;font-size:.95rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.money-row__amount,.money-row__amount.mono-num,.mono-num{grid-area:amount;font-family:var(--font-display)!important;font-size:1.15rem!important;font-weight:700!important;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--ink)}.money-row__status{grid-area:status;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.money-row[data-paid=true] .money-row__status{color:var(--paid)}.money-row[data-paid=false] .money-row__status{color:var(--open)}.money-row__conf,.money-row__conf.mono-conf{grid-area:conf;font-family:var(--font-mono)!important;font-size:.8rem;color:var(--muted)}.money-row__conf[hidden]{display:none!important}.money-row.is-revealed .money-row__conf,.money-row[data-revealed] .money-row__conf,.money-row[aria-expanded=true] .money-row__conf{display:block!important}.money-hero{background:transparent;color:var(--ink);margin-bottom:var(--space-4)}.money-open-label{margin:0;font-size:.8rem;color:var(--open);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.money-open-amount,.money-open-amount.font-syne{margin:var(--space-1) 0;font-family:var(--font-display)!important;font-size:3rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink)}.money-of-line{margin:0;font-size:.85rem;color:var(--muted)}[data-slot=ride-ballot],.ride-ballot{display:grid!important;grid-template-columns:1fr auto;grid-template-areas:"name squares" "land squares" "notes notes";gap:2px var(--space-3);align-items:center;padding:var(--space-3) 0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)}.ride-ballot__name{grid-area:name;font-family:var(--font-sans);font-weight:600;color:var(--ink)}.ride-ballot__land{grid-area:land;font-size:.8rem;color:var(--muted)!important;opacity:1!important}.ride-ballot__squares{grid-area:squares;display:flex;gap:var(--space-2)}.ride-ballot__notes{grid-area:notes;font-size:.8rem;color:var(--muted)}.ride-square,[data-slot=ride-square]{width:44px!important;height:44px!important;min-width:40px;min-height:40px;border-radius:var(--radius-sm)!important;display:inline-flex!important;align-items:center;justify-content:center;font-family:var(--font-display)!important;font-size:28px!important;font-weight:700!important;font-variant-numeric:tabular-nums;line-height:1;box-sizing:border-box}.ride-square.is-empty{border:2px dashed var(--line)!important;background:transparent!important;color:transparent!important}.ride-square.is-cody,.ride-square.is-filled.is-cody{border:2px solid var(--cody)!important;background:var(--cody)!important;color:#fff!important}.ride-square.is-prenny,.ride-square.is-filled.is-prenny{border:2px solid var(--prenny)!important;background:var(--prenny)!important;color:#fff!important}[data-slot=stamp-screen],.stamp-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--canvas);color:var(--ink);display:flex;flex-direction:column;max-width:var(--max-width);margin:0 auto;font-family:var(--font-sans)}.stamp-screen__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(var(--space-3) + var(--safe-top)) var(--space-4) var(--space-3);border-bottom:1px solid var(--line);background:var(--card)}.stamp-screen__title{margin:0;font-family:var(--font-sans);font-size:1rem;font-weight:700}.stamp-screen__close{background:transparent;border:0;color:var(--muted);font-family:var(--font-sans);min-height:var(--tap-min)}.stamp-screen__save{background:var(--accent);color:var(--accent-ink);border:0;border-radius:var(--radius-md);padding:0 16px;min-height:var(--tap-min);font-weight:600;font-family:var(--font-sans)}.stamp-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);padding:var(--space-4);flex:1;overflow:auto}.stamp-col__label{margin:0 0 var(--space-2);font-weight:600;color:var(--muted);font-size:.8rem}.stamp-col[data-who=cody] .stamp-btn.is-selected,.stamp-col[data-who=cody] .stamp-btn[aria-pressed=true]{background:var(--cody)!important;border-color:var(--cody)!important;color:#fff!important}.stamp-col[data-who=prenny] .stamp-btn.is-selected,.stamp-col[data-who=prenny] .stamp-btn[aria-pressed=true]{background:var(--prenny)!important;border-color:var(--prenny)!important;color:#fff!important}.stamp-notes-wrap textarea{width:100%;margin-top:var(--space-3);font-size:16px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;background:var(--card);font-family:var(--font-sans)}.companion-nav,.companion-nav.bottom-nav{background:var(--card)!important;border-top:1px solid var(--line)!important;color:var(--muted)}.companion-nav .nav-btn{color:var(--muted)!important}.companion-nav .nav-btn.active,.companion-nav .nav-btn[data-active=true],.companion-nav .nav-btn[aria-selected=true]{color:var(--accent)!important}.key-card__hours{display:grid!important;grid-template-columns:1fr 1fr;gap:var(--space-2);text-align:center;padding:var(--space-3)!important;background:var(--canvas)!important;border-radius:var(--radius-md);color:var(--ink)!important;font-size:.85rem!important;background-image:linear-gradient(var(--line),var(--line))!important;background-size:1px 70%!important;background-repeat:no-repeat!important;background-position:center!important}.show-ticket__when{font-family:var(--font-display)!important;font-size:64px!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:.95!important;color:var(--ink)!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-primary{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;border-radius:var(--radius-md);font-weight:600;min-height:var(--tap-min);padding:0 var(--space-4)}
