*,*: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{--color-bg: #0b1220;--color-surface: #f3e6c9;--color-surface-2: #e8d9b5;--color-border: #c4b08a;--color-text: #1a1410;--color-text-muted: #5c4f3d;--color-accent: #c9a227;--color-accent-contrast: #0b1220;--color-danger: #8b1e2b;--color-ok: #2d5a3d;--accent-tickets: #8b1e2b;--accent-lodging: #2d5a3d;--accent-transport: #c9782a;--accent-food: #a63d2e;--accent-experience: #6b3fa0;--accent-park: #1e4d7b;--accent-hotel: #2d5a3d;--accent-attraction: #5c4033;--accent-other: #6b6256;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--header-h: 72px;--day-strip-h: 72px;--bottom-nav-h: 68px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--max-width: 480px;--font-display: "Cinzel", "Palatino Linotype", Palatino, "Times New Roman", serif;--font-sans: "Source Sans 3", "Source Sans Pro", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--shadow-sheet: 0 -12px 40px rgba(0, 0, 0, .45);--tap-min: 44px;--color-night: #0b1220;--color-night-2: #152238;--color-navy-ink: #1a2740;--color-gold: #c9a227;--color-gold-bright: #e0b84a;--color-oxblood: #8b1e2b;--color-burgundy: #6b1e2a;--color-forest: #1a2f1f;--color-forest-mid: #2d5a3d;--color-parchment: #f3e6c9;--color-parchment-deep: #e8d9b5;--color-wax: #8b1e2b;--color-wax-rim: #c9a227;--color-star: rgba(224, 184, 74, .55);--color-chrome-text: #f3e6c9;--color-chrome-muted: rgba(243, 230, 201, .68);--shadow-card: 0 2px 8px rgba(11, 18, 32, .18);--shadow-glow: 0 0 24px rgba(201, 162, 39, .18)}.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)}.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-2);position:sticky;top:calc(var(--header-h) * .55);z-index:5;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:.8rem;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:.75rem;font-weight:500;color:var(--color-text-muted)}.coaster-notes{margin-top:var(--space-2)}:root{--paper-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--torn-clip: polygon( 0% 1.5%, 1.2% 0%, 3.5% 1.2%, 6% .3%, 9% 1.5%, 12% .2%, 15.5% 1%, 19% 0%, 23% 1.4%, 27% .4%, 31% 1.2%, 35% 0%, 39% 1.5%, 43% .3%, 47% 1%, 51% .2%, 55% 1.3%, 59% 0%, 63% 1.1%, 67% .4%, 71% 1.4%, 75% .2%, 79% 1%, 83% 0%, 87% 1.3%, 91% .3%, 95% 1.2%, 98% .2%, 100% 1.5%, 100% 98.5%, 98.5% 100%, 95% 98.8%, 91% 100%, 87% 98.7%, 83% 100%, 79% 98.9%, 75% 100%, 71% 98.6%, 67% 99.8%, 63% 98.8%, 59% 100%, 55% 98.7%, 51% 99.8%, 47% 98.9%, 43% 100%, 39% 98.6%, 35% 99.7%, 31% 98.8%, 27% 100%, 23% 98.7%, 19% 99.8%, 15% 98.6%, 11% 100%, 7% 98.8%, 3.5% 99.7%, 1% 98.5%, 0% 100% )}html{color-scheme:dark;background:var(--color-bg)}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}#app.app-shell{position:relative;background:radial-gradient(1.5px 1.5px at 12% 18%,var(--color-star),transparent),radial-gradient(1px 1px at 28% 42%,rgba(243,230,201,.35),transparent),radial-gradient(1.5px 1.5px at 61% 12%,var(--color-star),transparent),radial-gradient(1px 1px at 78% 55%,rgba(243,230,201,.28),transparent),radial-gradient(1.5px 1.5px at 88% 22%,var(--color-star),transparent),radial-gradient(1px 1px at 45% 78%,rgba(224,184,74,.4),transparent),radial-gradient(1px 1px at 8% 72%,rgba(243,230,201,.22),transparent),radial-gradient(120% 80% at 50% -10%,rgba(201,162,39,.12),transparent 55%),linear-gradient(180deg,#0e1830 0%,var(--color-bg) 38%,#081018 100%);color:var(--color-chrome-text);isolation:isolate}#app.app-shell:before{content:"";pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;max-width:var(--max-width);margin:0 auto;z-index:0;opacity:.045;background-image:var(--paper-noise);background-size:180px 180px}#app.app-shell>*{position:relative;z-index:1}#trip-header.trip-header{background:linear-gradient(180deg,#152238f7,#0b1220f0);border-bottom:1px solid rgba(201,162,39,.35);box-shadow:0 8px 24px #00000059,var(--shadow-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#trip-header .eyebrow{font-family:var(--font-display);font-size:.68rem;letter-spacing:.14em;color:var(--color-gold-bright)}#trip-header .trip-title{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:.02em;color:var(--color-parchment);text-shadow:0 1px 0 rgba(0,0,0,.45)}#trip-header .trip-dates{font-family:var(--font-sans);color:var(--color-chrome-muted);font-variant-numeric:tabular-nums}#trip-header.header-compact{box-shadow:0 4px 16px #0006}#btn-sync.btn-sync,.btn-sync{font-family:var(--font-display);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-parchment);background:radial-gradient(circle at 30% 30%,rgba(224,184,74,.25),transparent 55%),var(--color-navy-ink);border:1px solid var(--color-gold);border-radius:999px;box-shadow:inset 0 1px #e0b84a40;min-height:var(--tap-min);min-width:var(--tap-min)}#btn-sync.btn-sync:active,.btn-sync:active{transform:translateY(1px)}.btn-sync[data-pending=true]{outline:2px solid var(--color-gold-bright);outline-offset:2px;box-shadow:var(--shadow-glow)}.sync-status{color:var(--color-chrome-muted);font-size:.72rem}.sync-status[data-state=error]{color:#f0a0a8}.sync-status[data-state=ok]{color:#8fd4a4}#days-strip.days-strip,.days-strip{background:repeating-linear-gradient(90deg,transparent 0 2px,rgba(92,79,61,.05) 2px 3px),repeating-linear-gradient(0deg,transparent 0 3px,rgba(139,30,43,.04) 3px 4px),linear-gradient(180deg,#e6d5b0,#d9c49a 42%,#cbb589);border-bottom:1px solid rgba(92,79,61,.35);border-top:1px solid rgba(243,230,201,.35);box-shadow:inset 0 1px #fffcf073,inset 0 -2px 4px #5c4f3d1f,0 4px 12px #00000040;gap:var(--space-3);padding-block:var(--space-3);min-height:var(--day-strip-h);align-items:center}.day-chip{position:relative;flex:0 0 auto;width:58px;height:58px;min-width:58px;min-height:58px;padding:6px 4px;border-radius:50%;border:2px solid rgba(201,162,39,.55);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.22),transparent 38%),radial-gradient(circle at 68% 72%,rgba(0,0,0,.28),transparent 45%),radial-gradient(circle at 50% 52%,#a52838 0%,var(--color-wax) 55%,#5c1520 100%);color:#f3e6c9e0;box-shadow:0 3px #00000059,0 4px 8px #00000047,inset 0 2px 3px #ffffff2e,inset 0 -3px 5px #00000059,inset 0 0 0 3px #8b1e2b59;font-family:var(--font-sans);letter-spacing:.02em;overflow:visible}.day-chip:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:1.5px dashed rgba(224,184,74,.45);pointer-events:none;box-shadow:inset 0 0 0 1px #c9a22740}.day-chip strong{font-family:var(--font-display);font-size:.82rem;color:var(--color-parchment);letter-spacing:.04em;line-height:1.1;text-shadow:0 1px 1px rgba(0,0,0,.4);position:relative;z-index:1}.day-chip .day-count{font-size:.55rem;opacity:.85;position:relative;z-index:1;line-height:1}.day-chip.active,.day-chip[data-active=true]{border-color:var(--color-gold-bright);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.28),transparent 40%),radial-gradient(circle at 68% 72%,rgba(0,0,0,.22),transparent 45%),radial-gradient(circle at 50% 52%,#c43348,#8b1e2b,#4a1018);color:var(--color-parchment);box-shadow:0 0 0 3px #c9a2278c,0 0 14px #e0b84a73,0 4px 10px #00000059,inset 0 2px 3px #ffffff38,inset 0 -3px 6px #0006;transform:scale(1.06)}.day-chip.active:after,.day-chip[data-active=true]:after{border-color:#e0b84ad9;box-shadow:inset 0 0 0 1px #e0b84a80,0 0 6px #e0b84a59}.day-chip.active strong,.day-chip[data-active=true] strong{color:#fff8e7}.panel-host{color:var(--color-chrome-text)}.panel-toolbar h2{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-gold-bright)}.btn-add{font-family:var(--font-display);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;min-height:var(--tap-min);color:var(--color-night);background:linear-gradient(180deg,var(--color-gold-bright),var(--color-gold));border:1px solid rgba(243,230,201,.35);border-radius:999px;box-shadow:0 2px 8px #c9a22759}.summary-bar{gap:var(--space-2)}.summary-chip{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-parchment);background:#152238d9;border:1px solid rgba(201,162,39,.4);box-shadow:inset 0 1px #e0b84a1f}.day-chapter{background:linear-gradient(90deg,transparent 0%,rgba(243,230,201,.92) 4%,var(--color-parchment) 12%,var(--color-parchment) 88%,rgba(243,230,201,.92) 96%,transparent 100%);padding:var(--space-2) var(--space-3) calc(var(--space-2) + 4px);border:none;border-bottom:none;margin-bottom:var(--space-3);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px #fffcf080,0 3px 6px #0000002e;position:relative;clip-path:polygon(0% 8%,2% 0%,8% 6%,14% 1%,22% 7%,30% 0%,40% 5%,50% 0%,60% 6%,70% 1%,80% 7%,90% 0%,96% 5%,100% 2%,100% 92%,97% 100%,90% 94%,80% 100%,70% 95%,60% 100%,50% 94%,40% 100%,30% 95%,20% 100%,10% 94%,3% 100%,0% 90%)}.day-chapter:after{content:"";position:absolute;left:12%;right:12%;bottom:6px;height:2px;background:linear-gradient(90deg,transparent,var(--color-burgundy) 8%,#3d1818 50%,var(--color-burgundy) 92%,transparent);opacity:.7;border-radius:1px;transform:rotate(-.4deg)}.day-chapter-title{font-family:var(--font-display);font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-burgundy);text-shadow:none}.day-spend{font-family:var(--font-sans);font-variant-numeric:tabular-nums;font-weight:700;font-size:.9rem;color:var(--color-burgundy);letter-spacing:.01em;text-shadow:none;background:linear-gradient(180deg,#e0b84a40,#c9a2271f);padding:2px 8px;border-radius:2px;border-bottom:1px solid rgba(201,162,39,.55)}.timeline{gap:2px}.timeline-content{min-width:0;max-width:100%;overflow:visible;overflow-wrap:anywhere;padding-inline:4px;padding-bottom:var(--space-4)}.timeline-card{max-width:100%;overflow-wrap:anywhere;color:var(--color-text);position:relative;border:none;border-radius:0;background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 42%),var(--color-parchment);box-shadow:2px 3px #0b12201f,0 4px 10px #0b122029;clip-path:var(--torn-clip);isolation:isolate}.timeline-card:before{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.07;background-image:var(--paper-noise);background-size:140px 140px;mix-blend-mode:multiply;z-index:0}.timeline-card>*{position:relative;z-index:1}.timeline-item:nth-child(odd) .timeline-card{transform:rotate(-.9deg)}.timeline-item:nth-child(2n) .timeline-card{transform:rotate(.75deg)}.timeline-item:nth-child(3n) .timeline-card{transform:rotate(-.5deg)}.timeline-card:after{content:"";pointer-events:none;position:absolute;top:-3px;left:18%;width:42px;height:14px;background:linear-gradient(180deg,#e0b84a59,#c9a22738);border:1px solid rgba(201,162,39,.25);transform:rotate(-8deg);opacity:.85;z-index:2;box-shadow:0 1px 2px #0000001f}.timeline-item:nth-child(2n) .timeline-card:after{left:auto;right:16%;transform:rotate(7deg);background:linear-gradient(180deg,#2d5a3d47,#2d5a3d29);border-color:#2d5a3d40}.timeline-card.accent-tickets,.timeline-card.accent-lodging,.timeline-card.accent-transport,.timeline-card.accent-food,.timeline-card.accent-experience,.timeline-card.accent-park,.timeline-card.accent-hotel,.timeline-card.accent-attraction,.timeline-card.accent-other{border-left:none;box-shadow:inset 4px 0 0 var(--accent-other),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-tickets{box-shadow:inset 4px 0 0 var(--accent-tickets),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-lodging{box-shadow:inset 4px 0 0 var(--accent-lodging),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-transport{box-shadow:inset 4px 0 0 var(--accent-transport),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-food{box-shadow:inset 4px 0 0 var(--accent-food),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-experience{box-shadow:inset 4px 0 0 var(--accent-experience),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-park{box-shadow:inset 4px 0 0 var(--accent-park),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-hotel{box-shadow:inset 4px 0 0 var(--accent-hotel),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-attraction{box-shadow:inset 4px 0 0 var(--accent-attraction),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.accent-other{box-shadow:inset 4px 0 0 var(--accent-other),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card{clip-path:none;border-radius:3px;border-top:1px solid rgba(92,79,61,.2);border-bottom:1px solid rgba(92,79,61,.22);background-color:var(--color-parchment);background-image:repeating-linear-gradient(180deg,rgba(92,79,61,.55) 0 5px,transparent 5px 11px),radial-gradient(circle at 72% 12%,var(--color-bg) 3.5px,transparent 4px),radial-gradient(circle at 72% 28%,var(--color-bg) 3.5px,transparent 4px),radial-gradient(circle at 72% 44%,var(--color-bg) 3.5px,transparent 4px),radial-gradient(circle at 72% 60%,var(--color-bg) 3.5px,transparent 4px),radial-gradient(circle at 72% 76%,var(--color-bg) 3.5px,transparent 4px),radial-gradient(circle at 72% 92%,var(--color-bg) 3.5px,transparent 4px),linear-gradient(90deg,rgba(139,30,43,.06),transparent 30%),linear-gradient(90deg,var(--color-parchment) 0 72%,var(--color-parchment-deep) 72% 100%);background-size:1.5px 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;background-position:72% 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:no-repeat;box-shadow:inset 4px 0 0 var(--accent-other),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-tickets{box-shadow:inset 4px 0 0 var(--accent-tickets),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-lodging{box-shadow:inset 4px 0 0 var(--accent-lodging),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-transport{box-shadow:inset 4px 0 0 var(--accent-transport),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-food{box-shadow:inset 4px 0 0 var(--accent-food),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-experience{box-shadow:inset 4px 0 0 var(--accent-experience),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-park{box-shadow:inset 4px 0 0 var(--accent-park),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-hotel{box-shadow:inset 4px 0 0 var(--accent-hotel),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-attraction{box-shadow:inset 4px 0 0 var(--accent-attraction),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card.accent-other{box-shadow:inset 4px 0 0 var(--accent-other),2px 3px #0b12201f,0 4px 10px #0b122029}.timeline-card.expense-card:after{left:12%;right:auto;width:36px}.timeline-card.place-card{clip-path:none;border-radius:2px;padding:10px 12px 18px;background:linear-gradient(180deg,rgba(255,252,240,.55),transparent 28%),var(--color-parchment);border:1px solid rgba(92,79,61,.22);box-shadow:inset 0 0 0 6px #fffaf0,inset 0 0 0 7px #2d5a3d2e,3px 4px #0b12201a,0 6px 14px #0b12202e}.timeline-card.place-card:after{content:"";position:absolute;top:6px;right:10px;left:auto;width:16px;height:20px;background:linear-gradient(135deg,#f3e6c9f2 48%,#c9a2278c 52%);transform:rotate(12deg);opacity:.9;border:1px solid rgba(92,79,61,.28);box-shadow:1px 1px 2px #0000001f;z-index:2}.timeline-item:nth-child(2n) .timeline-card.place-card:after{right:auto;left:10px;transform:rotate(-14deg);background:linear-gradient(225deg,#f3e6c9f2 48%,#2d5a3d73 52%)}.tc-top{font-family:var(--font-sans);font-weight:650;color:var(--color-text);gap:var(--space-3);align-items:baseline}.expense-card .tc-top span:last-child,.day-spend,.summary-chip{font-variant-numeric:tabular-nums}.expense-card .tc-top span:last-child{font-family:var(--font-sans);font-weight:700;font-size:1.05rem;letter-spacing:.01em;color:var(--color-burgundy);white-space:nowrap;flex-shrink:0;padding-right:2px;text-shadow:0 1px 0 rgba(255,252,240,.6)}.tc-meta{color:var(--color-text-muted);font-family:var(--font-display);font-size:.72rem;letter-spacing:.04em;font-style:italic;font-weight:500}.timeline-dot{box-shadow:0 0 0 3px #f3e6c926}.timeline-line{background:linear-gradient(180deg,#c9a22773,#c4b08a40)}.tc-actions button,.conf-toggle{min-height:var(--tap-min);font-family:var(--font-sans);color:var(--color-text);background:var(--color-parchment-deep);border:1px solid rgba(92,79,61,.35);border-radius:999px}.conf-toggle{width:100%;margin-top:var(--space-2);text-align:left;overflow:hidden;text-overflow:ellipsis}.conf-panel{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:#1a14100a;border:1px dashed rgba(92,79,61,.35);border-radius:2px;color:var(--color-text)}.conf-k{font-family:var(--font-display);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-burgundy);font-style:normal}.maps-link{display:inline-flex;align-items:center;min-height:var(--tap-min);padding:0 var(--space-2);color:var(--color-forest-mid);font-weight:650;text-decoration:none;border-bottom:1px solid rgba(45,90,61,.45)}.empty,.stub-note{color:var(--color-chrome-muted);background:#152238a6;border:1px dashed rgba(201,162,39,.35);border-radius:var(--radius-md)}.stub-note{color:var(--color-chrome-muted)}[data-slot=scorecard-panel]{position:relative}[data-slot=scorecard-panel] .panel-toolbar h2{letter-spacing:.1em}[data-slot=scorecard-panel] .panel-toolbar h2:after{content:" · passport";font-size:.7em;letter-spacing:.14em;color:var(--color-chrome-muted);font-weight:500}.park-filter{margin-bottom:var(--space-4);gap:var(--space-2);display:flex;flex-wrap:wrap}.park-chip,.summary-chip.park-chip{min-height:var(--tap-min);padding:0 14px 0 12px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-radius:0;background:linear-gradient(180deg,rgba(255,252,240,.12),transparent 60%),#152238eb;border:1px solid rgba(201,162,39,.45);border-bottom-width:3px;color:var(--color-chrome-muted);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,6px 50%);box-shadow:1px 2px #00000040}.park-filter .park-chip.active,.park-filter .park-chip[data-active=true],.summary-chip.park-chip.active,.summary-chip.park-chip[data-active=true]{background:linear-gradient(180deg,var(--color-gold-bright),var(--color-gold));color:var(--color-night);border-color:var(--color-gold-bright);font-weight:700;box-shadow:0 0 10px #e0b84a59}.coaster-card{clip-path:none;border-radius:0;border:1px solid rgba(30,77,123,.35);border-top:3px double rgba(30,77,123,.45);transform:none!important;background:radial-gradient(ellipse 42px 36px at 90% 14%,transparent 55%,rgba(139,30,43,.1) 56%,rgba(139,30,43,.1) 62%,transparent 63%),linear-gradient(180deg,rgba(255,252,240,.65),transparent 22%),repeating-linear-gradient(0deg,transparent,transparent 26px,rgba(30,77,123,.07) 26px,rgba(30,77,123,.07) 27px),var(--color-parchment);box-shadow:inset 0 0 0 1px #fff6,2px 3px #0b12201a,0 4px 12px #0b122024}.coaster-card:after{display:none}.coaster-list .coaster-card:nth-child(odd){transform:rotate(-.4deg)!important}.coaster-list .coaster-card:nth-child(2n){transform:rotate(.35deg)!important}.coaster-card .tc-top{font-family:var(--font-display);letter-spacing:.02em}.coaster-scale{font-family:var(--font-sans);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-burgundy);font-style:normal}.score-row{gap:var(--space-4);margin-top:var(--space-4);justify-content:center;align-items:center}.score-pill{position:relative;flex:0 0 auto;width:92px;height:92px;min-width:92px;min-height:92px;padding:10px 8px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transform:rotate(-6deg);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.2),transparent 40%),radial-gradient(circle at 70% 75%,rgba(0,0,0,.28),transparent 48%),radial-gradient(circle at 50% 55%,#a52838,var(--color-wax) 60%,#4a1018);border:2px dashed rgba(224,184,74,.75);outline:2px solid rgba(139,30,43,.85);outline-offset:3px;color:var(--color-parchment);box-shadow:0 3px #00000047,inset 0 1px 2px #fff3,inset 0 -2px 4px #00000059,inset 0 0 0 4px #8b1e2b40}.score-pill:nth-child(2){transform:rotate(5deg);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.18),transparent 40%),radial-gradient(circle at 70% 75%,rgba(0,0,0,.3),transparent 48%),radial-gradient(circle at 50% 55%,#3d6f94,#1e4d7b 60%,#0f2a45);border-color:#e0b84ab3;outline-color:#1e4d7be6;box-shadow:0 3px #00000047,inset 0 1px 2px #ffffff2e,inset 0 -2px 4px #00000059,inset 0 0 0 4px #1e4d7b4d}.score-pill:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;border:1px dashed rgba(243,230,201,.35);pointer-events:none}.score-who{order:2;font-family:var(--font-display);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:#f3e6c9e0;line-height:1.1;position:relative;z-index:1}.score-val{order:1;font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:700;font-size:1.65rem;line-height:1;color:#fff8e7;text-shadow:0 1px 2px rgba(0,0,0,.4);position:relative;z-index:1}.coaster-notes{border-top:1px dashed rgba(92,79,61,.3);padding-top:var(--space-2);margin-top:var(--space-2)}.coaster-scene .day-chapter-title{font-size:.95rem}#bottom-nav.bottom-nav,.bottom-nav{background:linear-gradient(180deg,#152238fa,#0b1220fa);border-top:1px solid rgba(201,162,39,.4);box-shadow:0 -8px 28px #0006;gap:0}.nav-btn{position:relative;min-height:var(--bottom-nav-h);color:var(--color-chrome-muted);font-family:var(--font-sans);transition:color .15s ease}.nav-btn .nav-icon{font-size:1.05rem;line-height:1;opacity:.85}.nav-btn .nav-label{font-family:var(--font-display);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.nav-btn.active,.nav-btn[data-active=true]{color:var(--color-gold-bright);font-weight:600}.nav-btn.active:before,.nav-btn[data-active=true]:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--color-gold-bright),transparent);box-shadow:0 0 10px #e0b84a8c}.nav-btn.active .nav-icon,.nav-btn[data-active=true] .nav-icon{opacity:1;text-shadow:0 0 12px rgba(224,184,74,.45)}.modal.sheet .modal-backdrop{background:#05080eb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal.sheet .modal-panel{background:linear-gradient(180deg,rgba(255,252,240,.5),transparent 40%),var(--color-parchment);color:var(--color-text);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:2px solid var(--color-gold);box-shadow:var(--shadow-sheet)}.modal.sheet .modal-panel h2{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:1.05rem;color:var(--color-burgundy);margin:0 0 var(--space-3)}.sheet-handle,.modal-handle{background:#8b1e2b73;width:48px}.sheet-form label{font-family:var(--font-display);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.sheet-form input,.sheet-form select,.sheet-form textarea{font-family:var(--font-sans);font-size:1rem;color:var(--color-text);background:#fffaf0;border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:var(--tap-min)}.sheet-form input[type=number],.sheet-form input[name=amount],.sheet-form input[name=codyScore],.sheet-form input[name=prennyScore]{font-variant-numeric:tabular-nums;font-weight:650}.sheet-form label.check{font-family:var(--font-sans);text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--color-text)}.sheet-actions button{min-height:var(--tap-min);font-family:var(--font-display);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;background:var(--color-parchment-deep);border:1px solid var(--color-border);color:var(--color-text)}.sheet-actions button[type=submit]{background:linear-gradient(180deg,var(--color-gold-bright),var(--color-gold));color:var(--color-night);border-color:var(--color-gold);font-weight:700}@media(prefers-reduced-motion:reduce){#trip-header,.nav-btn,.btn-sync,.day-chip,.timeline-card,.score-pill{transition:none;transform:none!important}.timeline-item:nth-child(odd) .timeline-card,.timeline-item:nth-child(2n) .timeline-card,.timeline-item:nth-child(3n) .timeline-card,.coaster-list .coaster-card:nth-child(odd),.coaster-list .coaster-card:nth-child(2n),.score-pill:nth-child(2){transform:none!important}}
