:root{--bg: #f6f4ff;--bg-soft: #efebfe;--bg-card: rgba(255, 255, 255, .78);--bg-elev: #ffffff;--line: #e4ddfb;--line-soft: #ece7fd;--glass-edge: rgba(255, 255, 255, .9);--ink: #241a52;--ink-dim: #5b5286;--ink-faint: #918ab8;--accent: #ff4fa0;--accent-deep: #e23489;--accent-soft: rgba(255, 79, 160, .12);--violet: #7c6cff;--cyan: #2ad0e0;--mint: #19c68c;--sun: #ffb938;--green: #14b07c;--yellow: #e09a12;--red: #ff5d6e;--amber: var(--accent);--amber-deep: var(--accent-deep);--terra: var(--violet);--rose: #ff8ec3;--gold: #ffc24b;--sage: var(--mint);--radius: 22px;--radius-sm: 14px;--shadow: 0 16px 40px -20px rgba(86, 60, 180, .25);--shadow-pink: 0 14px 30px -14px rgba(255, 79, 160, .55);--glow: 0 0 0 1px var(--glass-edge) inset, 0 16px 40px -20px rgba(86, 60, 180, .25);--maxw: 560px;--display: "Fredoka", "Space Grotesk", system-ui, sans-serif;--body: "Space Grotesk", system-ui, -apple-system, sans-serif;--serif: var(--display);--sans: var(--body);--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-spring: cubic-bezier(.34, 1.4, .45, 1)}[data-theme=night]{--bg: #0e0b24;--bg-soft: #1a1540;--bg-card: rgba(26, 21, 64, .72);--bg-elev: #221c52;--line: #2e2766;--line-soft: #251f56;--glass-edge: rgba(255, 255, 255, .08);--ink: #f1edff;--ink-dim: #b3abdd;--ink-faint: #7b73aa;--accent-soft: rgba(255, 79, 160, .16);--green: #2adfa5;--yellow: #ffc24b;--red: #ff6b7c;--shadow: 0 18px 44px -20px rgba(0, 0, 0, .65);--shadow-pink: 0 14px 34px -12px rgba(255, 79, 160, .5);--glow: 0 0 0 1px var(--glass-edge) inset, 0 18px 44px -20px rgba(0, 0, 0, .65)}*{box-sizing:border-box}html,body,#root{height:100%}html{-moz-osx-font-smoothing:grayscale}html,body{overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background-color .35s var(--ease-out),color .35s var(--ease-out)}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.01em;margin:0;text-wrap:balance}h1{font-size:32px;line-height:1.08}h2{font-size:clamp(20px,2.6vw,24px)}h3{font-size:18px}a{color:inherit}.lede,.dim,.muted,p,.slot-label,.empty-state{text-wrap:pretty}.budget .total,.stop .time,.vmeta .price,.count,.lede,.it-time,.it-price,.dc-t,.dc-when,.dc-total,.dc-pct,.travel-cell,.trip-lead,.stat b{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.fx .blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:drift 26s var(--ease-out) infinite alternate}.fx .b1{width:52vw;height:52vw;max-width:660px;max-height:660px;top:-18vh;right:-12vw;background:radial-gradient(circle at 35% 35%,#ffb6da,#ff4fa066 60%,transparent 75%)}.fx .b2{width:44vw;height:44vw;max-width:560px;max-height:560px;bottom:-16vh;left:-14vw;background:radial-gradient(circle at 60% 40%,#b6c8ff,#7c6cff55 60%,transparent 75%);animation-delay:-8s}.fx .b3{width:32vw;height:32vw;max-width:420px;max-height:420px;top:40vh;left:58vw;background:radial-gradient(circle at 50% 50%,#a8f3e0,#2ad0e044 60%,transparent 75%);animation-delay:-16s}[data-theme=night] .fx .blob{opacity:.34}.fx .grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(124,108,255,.16) 1px,transparent 1.4px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}[data-theme=night] .fx .grid-overlay{background-image:radial-gradient(rgba(124,108,255,.22) 1px,transparent 1.4px)}.fx .spark{position:absolute;font-size:14px;color:var(--accent);opacity:0;animation:twinkle 7s ease-in-out infinite;text-shadow:0 0 12px currentColor}.fx .s1{top:16%;left:8%;animation-delay:0s;color:var(--accent)}.fx .s2{top:30%;right:10%;animation-delay:1.8s;color:var(--violet);font-size:11px}.fx .s3{top:64%;left:16%;animation-delay:3.4s;color:var(--cyan);font-size:12px}.fx .s4{top:78%;right:18%;animation-delay:5s;color:var(--accent);font-size:10px}.fx .s5{top:8%;left:52%;animation-delay:2.6s;color:var(--sun);font-size:12px}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(4vw,5vh,0) scale(1.12)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:.9;transform:scale(1.15) rotate(40deg)}}.app{position:relative;z-index:1;max-width:1200px;margin:0 auto;min-height:100%;padding:0 18px calc(104px + env(safe-area-inset-bottom))}.screen{max-width:620px;margin-inline:auto}.screen:has(.home),.screen:has(.library){max-width:none}.screen:has(.library){max-width:1100px}.topbar{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px;padding:10px 16px;border-radius:999px;background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--glow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:9px}.brand .heart{font-size:20px;line-height:1;animation:heartbeat 2.6s ease-in-out infinite}.brand .mark{font-family:var(--display);font-weight:600;font-size:19px;background:linear-gradient(92deg,var(--accent),var(--violet) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}.brand .sub{font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);padding:3px 9px;border-radius:999px}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.12)}48%{transform:scale(1)}}.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-dim);font-family:var(--body);font-size:12px;font-weight:600;border-radius:999px;padding:7px 13px;cursor:pointer;transition:transform .18s var(--ease-spring),background-color .25s,color .25s,border-color .25s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle:active{transform:scale(.93)}.theme-toggle .tt-ic{font-size:14px;line-height:1}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;background:linear-gradient(90deg,var(--accent),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.lede{color:var(--ink-dim);margin:6px 0 0}.hero-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.stat{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-dim);background:var(--bg-card);border:1px solid var(--line);border-radius:999px;padding:6px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat b{color:var(--ink);font-weight:700}.stat .se{font-size:13px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;padding:10px 14px calc(12px + env(safe-area-inset-bottom));pointer-events:none}.nav-inner{pointer-events:auto;display:flex;gap:4px;background:var(--bg-card);border:1px solid var(--line);border-radius:26px;padding:7px;box-shadow:var(--glow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);max-width:420px;width:100%}.nav a{flex:1;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px;border-radius:20px;color:var(--ink-faint);font-size:10px;font-weight:600;letter-spacing:.02em;transition:color .22s var(--ease-spring),background-color .22s var(--ease-spring),transform .22s var(--ease-spring),box-shadow .22s}.nav a .ic{line-height:0;color:var(--ink-faint);transition:color .2s}.nav a .ic svg{width:19px;height:19px;display:block}.nav a.active{color:#fff;background:linear-gradient(135deg,var(--accent),var(--violet));box-shadow:var(--shadow-pink);transform:translateY(-2px)}.nav a.active .ic{color:#fff;animation:pop .45s var(--ease-spring)}.nav a:not(.active):active{background:var(--bg-soft)}@media (hover: hover){.nav a:not(.active):hover{color:var(--ink-dim)}.nav a:not(.active):hover .ic{color:var(--accent)}}.card{position:relative;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--glow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .25s var(--ease-out),border-color .25s var(--ease-out),box-shadow .25s var(--ease-out)}.card+.card{margin-top:14px}@media (hover: hover){.card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}}.section{margin-top:26px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}label.field{display:block;margin-bottom:15px}.field>.lbl{display:block;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:7px}input,select,textarea{width:100%;font-family:var(--body);font-size:15px;color:var(--ink);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 13px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .18s,box-shadow .18s,background-color .25s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--ink-faint)}textarea{resize:vertical;min-height:70px}select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-faint) 50%),linear-gradient(135deg,var(--ink-faint) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-dim);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .16s var(--ease-spring),background-color .16s,color .16s,border-color .16s,box-shadow .16s}.chip:active{transform:scale(.94)}@media (hover: hover){.chip:not(.on):hover{border-color:var(--accent);color:var(--accent)}}.chip.on{background:linear-gradient(120deg,var(--accent),var(--accent-deep));border-color:transparent;color:#fff;font-weight:600;box-shadow:var(--shadow-pink)}.chip.terra.on{background:linear-gradient(120deg,var(--violet),#5d4ce0);box-shadow:0 12px 26px -12px #7c6cff8c}.seg{display:flex;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px}.seg button{flex:1;border:none;background:transparent;color:var(--ink-dim);padding:9px 10px;border-radius:999px;font-family:var(--body);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .22s var(--ease-out),color .22s var(--ease-out),transform .22s var(--ease-out),box-shadow .22s}.seg button.on{background:linear-gradient(120deg,var(--accent),var(--accent-deep));color:#fff;box-shadow:var(--shadow-pink)}.mode-seg{width:100%;padding:5px}.mode-seg button{padding:11px 10px;font-size:14px;letter-spacing:.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-weight:600;font-size:15px;border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);border-radius:999px;padding:13px 18px;cursor:pointer;width:100%;transition:transform .18s var(--ease-out),background-color .18s,box-shadow .18s,border-color .18s,opacity .18s,filter .18s}.btn:active{transform:scale(.96)}.btn.primary{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-deep) 60%,var(--violet) 130%);border-color:transparent;color:#fff;box-shadow:var(--shadow-pink)}.btn.primary>*{position:relative;z-index:1}.btn.primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;transform:translate(-130%);background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.35) 50%,transparent 62%)}.btn.primary:hover:after{animation:sheen .9s var(--ease-out)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media (hover: hover){.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}}.btn.sm{width:auto;padding:9px 14px;font-size:13px}.btn.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 32%,transparent);background:transparent}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.btn-row .btn{flex:1 1 150px;min-width:0;width:auto}.timeline{position:relative;margin-top:6px}.stop{position:relative;padding-left:32px;padding-bottom:16px}.stop:before{content:"";position:absolute;left:9px;top:28px;bottom:-4px;width:2px;background:linear-gradient(var(--accent),var(--violet));opacity:.35;border-radius:2px}.stop:last-child:before{display:none}.stop .dot{position:absolute;left:2px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 0 4px var(--accent-soft);transition:box-shadow .3s var(--ease-out)}.stop.movie .dot{border-color:var(--violet);box-shadow:0 0 0 4px #7c6cff24}.stop .time{font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.03em}.stop .slot-label{font-size:10.5px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.14em}.venue{margin-top:8px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px}.venue .vname{font-family:var(--display);font-weight:600;font-size:16.5px}.vmeta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:6px;font-size:12.5px;color:var(--ink-dim)}.vmeta .price{color:var(--ink);font-weight:600}.maplink{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none;transition:color .15s var(--ease-out),transform .15s var(--ease-out)}.maplink:hover{color:var(--violet);transform:translate(2px)}.venue.empty{border-style:dashed;color:var(--ink-faint);font-size:13px}.tag{font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:8px;border:1px solid var(--line);color:var(--ink-faint)}.tag.recent{color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 36%,transparent);background:color-mix(in srgb,var(--yellow) 9%,transparent)}.tag.cur{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 32%,transparent);background:color-mix(in srgb,var(--violet) 9%,transparent)}.budget{position:sticky;bottom:92px;z-index:10;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius);padding:14px 17px;margin-top:16px;border:1px solid var(--line);background:var(--bg-card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--glow)}.budget .total{font-family:var(--display);font-weight:600;font-size:23px}.budget .meta{font-size:11.5px;letter-spacing:.04em}.budget.green{border-color:color-mix(in srgb,var(--green) 36%,var(--line))}.budget.green .total,.budget.green .dotc{color:var(--green)}.budget.yellow{border-color:color-mix(in srgb,var(--yellow) 40%,var(--line))}.budget.yellow .total,.budget.yellow .dotc{color:var(--yellow)}.budget.red{border-color:color-mix(in srgb,var(--red) 40%,var(--line))}.budget.red .total,.budget.red .dotc{color:var(--red)}.warn-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.warn{display:flex;gap:10px;align-items:flex-start;border-radius:var(--radius-sm);padding:11px 13px;font-size:13px;border:1px solid var(--line);background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.warn.warn-warn{border-color:color-mix(in srgb,var(--yellow) 36%,transparent);background:color-mix(in srgb,var(--yellow) 8%,transparent)}.warn.warn-info{color:var(--ink-dim)}.warn .wi{flex:none}.muted{color:var(--ink-faint)}.dim{color:var(--ink-dim)}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.wrap{display:flex;flex-wrap:wrap;gap:8px}.spacer{height:8px}.center{text-align:center}.empty-state{text-align:center;padding:40px 16px;color:var(--ink-faint)}.empty-state .big{font-size:42px;margin-bottom:10px;animation:floaty 3.4s ease-in-out infinite;display:inline-block}.count{font-size:12px;color:var(--ink-faint)}.divider{height:1px;background:var(--line-soft);margin:14px 0}.stars{color:var(--gold);letter-spacing:2px}.linkish{color:var(--accent);cursor:pointer;text-decoration:none;background:none;border:none;font:inherit;font-weight:600;padding:0}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:color-mix(in srgb,var(--ink) 38%,transparent);display:flex;align-items:flex-end;justify-content:center;padding:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{background:var(--bg);border:1px solid var(--line);border-radius:26px 26px 0 0;width:100%;max-width:var(--maxw);padding:18px 18px calc(22px + env(safe-area-inset-bottom));max-height:86vh;overflow-y:auto;box-shadow:0 -20px 60px -12px #3c288c66}.modal .grabber{width:40px;height:5px;background:var(--line);border-radius:999px;margin:0 auto 14px}.mall-opt{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;margin-bottom:10px;cursor:pointer;background:var(--bg-card);transition:border-color .16s,box-shadow .16s,transform .16s var(--ease-spring)}.mall-opt:active{transform:scale(.985)}.mall-opt.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}@media (hover: hover){.mall-opt:hover{border-color:var(--accent)}}.mall-opt .mg{font-size:11px;color:var(--ink-faint)}.home{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 960px){.home{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-areas:"form side" "itin side";column-gap:24px;row-gap:16px;align-items:start}.a-form{grid-area:form}.a-itin{grid-area:itin}.a-side{grid-area:side}.home h1{font-size:42px}}.mappane{padding:0;overflow:hidden}.leaflet-host{width:100%;height:340px;background:var(--bg-soft)}.leaflet-container{font-family:var(--body)}.leaflet-control-attribution{background:color-mix(in srgb,var(--bg) 80%,transparent)!important;color:var(--ink-faint)!important}.leaflet-control-attribution a{color:var(--ink-dim)!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--bg-elev);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}.leaflet-popup-content{font-family:var(--body);font-size:13px}.leaflet-bar a{background:var(--bg-elev);color:var(--ink);border-color:var(--line)}.leaflet-bar a:hover{background:var(--bg-soft)}.pin{width:28px;height:28px;border-radius:50% 50% 50% 4px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;font-weight:700;font-size:12px;font-family:var(--body);display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 5px 14px #e2348980;transform:rotate(-3deg)}.pin.movie{background:linear-gradient(135deg,var(--violet),#5d4ce0);box-shadow:0 5px 14px #7c6cff80}.map-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-top:1px solid var(--line)}.map-foot .btn.sm{width:auto}@media (min-width: 960px){.a-map{grid-area:side;position:sticky;top:84px}.leaflet-host{height:calc(100vh - 240px);min-height:480px;max-height:720px}}.itin-table{width:100%;border-collapse:collapse}.itin-table td{padding:11px 6px;border-top:1px solid var(--line-soft);vertical-align:top}.itin-table tr:first-child td{border-top:none}.it-num{width:32px}.pin-sm{display:inline-flex;width:25px;height:25px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;font-weight:700;font-size:12px;align-items:center;justify-content:center;box-shadow:0 4px 10px -3px #e2348980}tr.movie .pin-sm{background:linear-gradient(135deg,var(--violet),#5d4ce0);box-shadow:0 4px 10px -3px #7c6cff80}.it-time{white-space:nowrap;font-size:12.5px;color:var(--accent);font-weight:700}.it-slot{color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:3px}.it-name{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.2}.it-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:11.5px;color:var(--ink-dim);margin-top:4px}.it-price{text-align:right;white-space:nowrap;color:var(--ink);font-size:13px;font-weight:600}.it-link{color:var(--ink);text-decoration:none;border-bottom:1.5px solid transparent;transition:border-color .15s,color .15s}.it-link:hover{border-color:var(--accent);color:var(--accent)}.it-flag{font-size:10.5px;color:var(--ink-faint)}.travel-row td{border-top:none!important;padding:2px 6px 2px 0!important}.travel-cell{font-size:11px;color:var(--ink-faint);letter-spacing:.02em;padding-left:2px!important}.trip-lead{color:var(--accent-deep);font-weight:600;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:999px;padding:6px 13px;display:inline-block}[data-theme=night] .trip-lead{color:var(--accent)}.travel-row.tail .travel-cell{color:var(--accent-deep);font-weight:600}[data-theme=night] .travel-row.tail .travel-cell{color:var(--accent)}.travel-row.tail:first-of-type td{border-top:1px dashed var(--line)!important;padding-top:8px!important}.it-fb{display:flex;gap:6px;margin-top:8px}.fb{width:27px;height:27px;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-faint);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .14s var(--ease-spring),background-color .15s,color .15s,border-color .15s,box-shadow .15s}.fb:active{transform:scale(.82)}@media (hover: hover){.fb:hover{border-color:var(--accent);color:var(--accent)}}.fb.on{background:linear-gradient(120deg,var(--accent),var(--accent-deep));border-color:transparent;color:#fff;box-shadow:var(--shadow-pink)}.g-rating{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--yellow);background:color-mix(in srgb,var(--gold) 13%,transparent);border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);padding:2px 9px;border-radius:999px;white-space:nowrap}.g-rating .g-star{color:var(--gold);font-size:11px;line-height:1}.p-stars{color:var(--accent);letter-spacing:1.5px;font-size:12.5px}.place-line{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--violet)}.place-line:before{content:"✈";font-size:10px;opacity:.8}.zone-badge{font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--line);white-space:nowrap}.zone-badge.in{color:var(--green);border-color:color-mix(in srgb,var(--green) 34%,transparent);background:color-mix(in srgb,var(--green) 9%,transparent)}.zone-badge.ext{color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 38%,transparent);background:color-mix(in srgb,var(--yellow) 9%,transparent)}.zone-badge.out{color:var(--ink-faint);border-color:var(--line);background:var(--bg-soft)}.open-badge{font-size:10.5px;font-weight:600;padding:1px 9px;border-radius:999px;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 34%,transparent);background:color-mix(in srgb,var(--green) 9%,transparent);white-space:nowrap}.open-badge.closed{color:var(--red);border-color:color-mix(in srgb,var(--red) 34%,transparent);background:color-mix(in srgb,var(--red) 9%,transparent)}.open-badge.booked{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 34%,transparent);background:color-mix(in srgb,var(--violet) 10%,transparent)}.vaddr{font-size:11.5px;color:var(--ink-faint);margin-top:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.library{display:block}.lib-head{margin-top:14px}.lib-head h1{font-size:clamp(26px,4.5vw,36px)}.lib-filters{position:sticky;top:74px;z-index:5;margin-top:14px;padding:14px}.lib-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.lib-selects select{width:100%;font-size:13px;padding:9px 30px 9px 11px}.lib-scroll{margin-top:14px}.lib-grid{display:grid;grid-template-columns:1fr;gap:10px}.vcard{padding:13px 14px}.vcard:active{transform:scale(.995)}.vcard .vc-name{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.2}.vc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:7px;font-size:12px;color:var(--ink-dim)}.vc-cat{font-size:11px;font-weight:600;color:var(--ink-faint);background:var(--bg-soft);border:1px solid var(--line);padding:1px 9px;border-radius:8px}.vc-meta .price{color:var(--ink);font-weight:600}.vc-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.vc-foot .maplink{margin-top:0;margin-left:auto}.vc-editor{margin-top:12px}.lib-more{display:flex;justify-content:center;padding:14px 0 6px}@media (min-width: 720px){.lib-selects{grid-template-columns:repeat(4,1fr)}.lib-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1040px){.lib-grid{grid-template-columns:1fr 1fr 1fr}}.datecard{padding:0;overflow:hidden}.dc-head{position:relative;padding:20px 18px 17px;color:#fff;background:linear-gradient(130deg,#ff4fa0,#a85ce8 55%,#7c6cff)}.dc-head:after{content:"✦";position:absolute;top:14px;right:16px;font-size:15px;color:#fffc;animation:twinkle 4s ease-in-out infinite}.dc-head.romantic{background:linear-gradient(130deg,#ff6bb0,#e0509b,#8b5cf6)}.dc-head.trip{background:linear-gradient(130deg,#2ad0e0,#5b7cfa 55%,#7c6cff)}.dc-head.trip.romantic{background:linear-gradient(130deg,#ff6bb0,#a85ce8 55%,#5b7cfa)}.dc-vibe{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.94;font-weight:700}.dc-title{font-family:var(--display);font-weight:600;font-size:26px;margin-top:4px}.dc-when{font-size:12.5px;opacity:.94;margin-top:3px}.dc-tag{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;background:#ffffff3d;padding:3px 11px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dc-body{padding:14px 18px 18px}.dc-stops{display:flex;flex-direction:column;gap:9px;margin-bottom:6px}.dc-stop{display:flex;align-items:center;gap:11px}.dc-num{flex:none;width:23px;height:23px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.dc-stop.movie .dc-num{background:linear-gradient(135deg,var(--violet),#5d4ce0)}.dc-name{flex:1;font-family:var(--display);font-weight:500;font-size:15px}.dc-t{font-size:12px;color:var(--ink-faint)}.dc-foot{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line-soft);margin:12px 0}.dc-foot.trip{display:block}.dc-foot.trip .dc-total{color:var(--ink)}.dc-ring{position:relative;width:64px;height:64px;flex:none}.dc-pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.dc-total{font-family:var(--display);font-weight:600;font-size:24px}.di-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;background:linear-gradient(90deg,var(--accent),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;margin-bottom:10px}.di-feature{display:flex;gap:14px;align-items:center;cursor:pointer;padding:15px;border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--line);transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),border-color .2s,box-shadow .2s}.di-feature.in{opacity:1;transform:none}.di-feature.out{opacity:0;transform:translateY(6px)}.di-feature:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.di-emoji{font-size:30px;line-height:1}.di-title{font-family:var(--display);font-weight:600;font-size:16.5px}.di-desc{font-size:12.5px;color:var(--ink-dim);margin-top:3px}.di-quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.mem{padding:11px 0;border-top:1px solid var(--line-soft)}.mem:first-of-type{border-top:none}.mem-date{font-family:var(--display);font-weight:500;font-size:15px}.mem-venues{font-size:12.5px;color:var(--ink-dim);margin-top:3px}.mem-note{font-size:12.5px;color:var(--ink-faint);margin-top:4px;font-style:italic}.confetti-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;overflow:hidden}.confetti-bit{position:absolute;top:-16px;border-radius:3px;animation:confetti-fall var(--dur, 1.6s) cubic-bezier(.25,.6,.35,1) forwards}@keyframes confetti-fall{0%{transform:translateZ(0) rotate(0);opacity:1}to{transform:translate3d(var(--dx, 0px),105vh,0) rotate(var(--rot, 540deg));opacity:.85}}@media (prefers-reduced-motion: no-preference){.screen{animation:fadeUp .42s var(--ease-out) both}.screen:has(.home){animation:bgfade .4s var(--ease-out) both}.reveal{opacity:0;animation:fadeUp .55s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 60ms)}.stop{opacity:0;animation:fadeUp .5s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 85ms + 90ms)}.budget{animation:riseIn .5s var(--ease-spring) both}.warn{animation:fadeUp .4s var(--ease-out) both}.modal{animation:sheet .3s var(--ease-spring)}.modal-bg{animation:bgfade .25s ease}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes riseIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.55)}55%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes sheen{to{transform:translate(130%)}}@keyframes bgfade{0%{opacity:0}to{opacity:1}}@keyframes sheet{0%{transform:translateY(20px);opacity:.6}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (min-width: 640px){.app{padding-top:6px}h1{font-size:36px}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seg button:focus-visible,.chip:focus-visible,.rchip:focus-visible{outline-offset:0}.a-recipe{position:sticky;top:62px;z-index:15}.recipe-bar{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:20px;background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--glow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.recipe-chips{display:flex;gap:6px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none}.recipe-chips::-webkit-scrollbar{display:none}.rchip{flex:none;border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-dim);font:600 12px/1.4 var(--body);padding:6px 11px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:border-color .16s,color .16s,transform .16s var(--ease-spring)}.rchip:active{transform:scale(.94)}@media (hover: hover){.rchip:hover{border-color:var(--accent);color:var(--accent)}}.recipe-bar .btn.sm{flex:none}.switch{position:relative;flex:none;width:47px;height:28px;padding:0;border-radius:999px;border:1px solid var(--line);background:var(--bg-soft);cursor:pointer;transition:background-color .22s,border-color .22s,box-shadow .22s}.switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #2814504d;transition:transform .24s var(--ease-spring)}.switch.on{background:linear-gradient(120deg,var(--accent),var(--violet));border-color:transparent;box-shadow:var(--shadow-pink)}.switch.on .knob{transform:translate(19px)}.xrow{display:flex;align-items:center;justify-content:space-between;gap:12px}.xmain{display:flex;align-items:center;gap:11px;min-width:0}.xt-ic{font-size:22px;line-height:1}.xt-title{font-family:var(--display);font-weight:600;font-size:16.5px}.xbody{margin-top:12px;animation:fadeUp .3s var(--ease-out) both}.tune-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:10px}.tune-head .chev{flex:none;color:var(--ink-faint);transition:transform .25s var(--ease-spring)}.tune-head .chev.rot{transform:rotate(180deg)}.tune-body{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);animation:fadeUp .3s var(--ease-out) both}.home>*{min-width:0}.itin-table{table-layout:fixed}.it-slot{white-space:normal;overflow-wrap:break-word}.it-name{overflow-wrap:break-word}.it-price{white-space:normal}@media (min-width: 960px){.home.built{grid-template-columns:minmax(0,1.22fr) minmax(0,.88fr);grid-template-areas:"recipe recipe" "itin side"}.home.built .a-recipe{grid-area:recipe;top:74px}.home.built .a-itin{grid-area:itin}}.home.built .a-itin{margin-top:2px}
