:root{--ink: #17181c;--ink-2: #26272c;--paper: #f7f6f2;--card: #ffffff;--signal: #c2255c;--signal-dk: #a11c4b;--signal-hi: #ee5a8c;--rail: #1f3a8f;--rail-soft: #e9ecf6;--gray: #6f727b;--line: #dedbd2;--ok: #2c7a4b;--ok-soft: #e4f0e9;--deck: #131316;--deck-ink: #eceae4;--deck-muted: #8f8f98;--disp: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Barlow", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{height:100%}body{margin:0;background:var(--deck);color:var(--deck-ink);font-family:var(--body);-webkit-font-smoothing:antialiased}button{font:inherit;border:0;background:none;padding:0;color:inherit;cursor:pointer;text-align:left}button:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:6px}.app{--gx: 18px;height:100%;max-width:430px;margin:0 auto;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;position:relative;overflow:hidden}@media(min-width:560px){.app{box-shadow:0 0 80px #0000008c}}.views{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}.view{min-height:100%;display:flex;flex-direction:column;background:var(--paper)}.view>*{flex-shrink:0}@media(prefers-reduced-motion:no-preference){.view{animation:view-in .22s ease}@keyframes view-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.tab svg{transition:transform .12s ease}.tab:active svg{transform:scale(.85)}}.dark-head{padding-top:calc(14px + env(safe-area-inset-top))}.tabbar{display:flex;border-top:1px solid var(--line);background:var(--paper);flex-shrink:0;padding-bottom:env(safe-area-inset-bottom)}.rail-brand{display:none}.tab{flex:1;padding:11px 4px 13px;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);text-align:center}.tab svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab.on{color:var(--ink)}.tab.on svg{stroke:var(--signal)}.pad{padding:0 var(--gx)}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}.h-disp{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.02;margin:0}.h-disp em{font-style:normal;color:var(--signal)}.mono{font-family:var(--mono)}.chip{font-family:var(--mono);font-size:10.5px;padding:5px 9px;border-radius:5px;background:var(--card);border:1px solid var(--line);color:var(--ink);white-space:nowrap}.chip b{color:var(--signal);font-weight:500}.btn{display:block;width:100%;padding:14px;border-radius:9px;background:var(--ink);color:var(--paper);font-weight:600;font-size:14.5px;text-align:center;letter-spacing:.01em}.btn em{font-style:normal}.btn.signal{background:var(--signal);color:#fff}.btn.ghost{background:none;border:1.5px solid var(--line);color:var(--ink)}.btn:active{transform:scale(.985)}.backbtn{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#9a9da8;padding:4px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px}.sect-label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin:22px 0 10px}.dark-head .h-disp em,.btn em,.dark-head .chip b{color:var(--signal-hi)}.dark-head{background:var(--ink);color:var(--paper);padding:14px var(--gx) 18px}.dark-head .eyebrow{color:#9a9da8}.dark-head .chip{background:#f7f6f214;border-color:#f7f6f22e;color:var(--paper)}.head-chips{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.stamp{font-family:var(--disp);font-weight:600;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--rail);border:1.6px solid var(--rail);border-radius:5px;padding:5px 9px;transform:rotate(-2deg);display:inline-block;background:#1f3a8f0a}.stamp.pend{color:var(--gray);border-style:dashed;border-color:#b9bcc4;background:none;transform:rotate(1.5deg)}.stamp.gold{color:var(--signal);border-color:var(--signal);background:#c2255c0d}.x-head .h-disp{font-size:33px}.x-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.x-title-row svg{flex-shrink:0;opacity:.92}.search{margin-top:13px;background:var(--ink-2);border:1px solid rgba(247,246,242,.16);border-radius:8px;padding:10px 13px;font-family:var(--mono);font-size:12px;color:#9a9da8;display:flex;gap:9px;align-items:center}.months{display:flex;gap:6px;overflow-x:auto;padding:14px var(--gx) 4px;scrollbar-width:none}.months::-webkit-scrollbar{display:none}.m-chip{font-family:var(--mono);font-size:11px;padding:6px 11px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--gray);flex-shrink:0}.m-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pkg{display:flex;flex-direction:column;gap:12px;padding:12px var(--gx) 24px}.pkg-card{overflow:hidden;text-align:left;width:100%}.pkg-art{height:112px;position:relative;display:flex;align-items:flex-end;padding:12px}.pkg-art .route-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;background:#17181cd1;color:var(--paper);padding:4px 8px;border-radius:4px}.pkg-body{padding:13px 14px 14px}.pkg-body .h-disp{font-size:23px}.pkg-meta{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.pkg-sub{font-size:12.5px;color:var(--gray);margin-top:7px;line-height:1.45}.chip.your-trip{border-color:var(--signal);background:#c2255c0f}.chip.your-trip b{color:var(--signal);font-weight:600}.create-field input{width:100%;font-family:var(--body);font-size:16px;font-weight:500;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.create-field input:focus{outline:none;border-color:var(--rail)}.create-field input::placeholder{color:#b0ada2}.stepper{display:inline-flex;align-items:center;gap:18px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);padding:6px 10px}.stepper button{width:34px;height:34px;border-radius:8px;background:var(--paper);font-size:18px;font-weight:600;text-align:center;color:var(--ink)}.stepper button:active{background:var(--line)}.stepper .mono{font-size:16px;font-weight:600;min-width:26px;text-align:center}.create-hint{font-size:12px;color:var(--gray);line-height:1.55;margin:12px 0 0}.scratch-card{margin:2px var(--gx) 24px;padding:14px;display:flex;align-items:center;gap:12px;width:calc(100% - 2 * var(--gx));border:1.5px dashed #c9c6bc;border-radius:12px;background:none}.scratch-card .w b{display:block;font-size:13.5px}.scratch-card .w small{display:block;font-size:11.5px;color:var(--gray);margin-top:2px;line-height:1.4}.scratch-card .dg-arrow{margin-left:auto;color:var(--signal);font-weight:700}.pkg-art img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.pkg-art .route-tag{position:relative}.photo-credit{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:#b0ada2;text-align:center;padding:0 var(--gx) 20px}.pd-hero .h-disp{font-size:34px;margin-top:8px}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.fact{padding:11px 12px}.fact .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gray)}.fact .v{font-family:var(--mono);font-size:15px;font-weight:600;margin-top:4px}.fact .v small{font-size:10.5px;color:var(--gray);font-weight:400}.temp-strip{display:flex;align-items:flex-end;gap:3px;height:44px;margin-top:8px}.temp-strip i{flex:1;background:var(--rail-soft);border-radius:3px 3px 0 0;font-style:normal}.temp-strip i.hot{background:#f4d4de}.temp-strip i.on{background:var(--signal)}.temp-lab{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;color:var(--gray);margin-top:5px;letter-spacing:.06em}.day-line{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);align-items:baseline}.day-line:last-child{border-bottom:0}.day-line .d{font-family:var(--mono);font-size:10.5px;color:var(--signal);width:26px;flex-shrink:0;font-weight:500}.day-line .t{font-size:13.5px;font-weight:600}.day-line .s{font-size:11.5px;color:var(--gray);display:block;margin-top:1px}.howto{overflow:hidden}.howto summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:13px 14px;font-weight:600;font-size:13.5px;cursor:pointer}.howto summary::-webkit-details-marker{display:none}.howto summary .mono{font-size:10px;color:var(--signal);letter-spacing:.1em}.howto .steps{padding:2px 14px 14px;display:flex;flex-direction:column;gap:10px}.step{display:flex;gap:11px;font-size:12.5px;color:#3d3f46;line-height:1.5}.step .n{font-family:var(--mono);font-size:10px;color:#fff;background:var(--rail);border-radius:99px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.pd-foot{position:sticky;bottom:0;padding:12px var(--gx) 16px;background:linear-gradient(to top,var(--paper) 65%,rgba(247,246,242,0));margin-top:auto}.t-head .h-disp{font-size:30px}.days{display:flex;gap:6px;overflow-x:auto;padding:13px var(--gx) 5px;scrollbar-width:none}.days::-webkit-scrollbar{display:none}.day-pill{font-family:var(--mono);font-size:11px;padding:7px 12px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--gray);flex-shrink:0}.day-pill.on{background:var(--signal);border-color:var(--signal);color:#fff;font-weight:600}.day-pill.done{color:var(--ink);text-decoration:line-through;text-decoration-color:var(--signal);text-decoration-thickness:1.5px}.day-title{display:flex;justify-content:space-between;align-items:baseline;padding:10px var(--gx) 2px}.day-title .h-disp{font-size:21px}.it-rows{display:flex;flex-direction:column;gap:8px;padding:10px var(--gx)}.it-row{display:flex;gap:11px;padding:11px 12px;align-items:center}.it-row .tm{font-family:var(--mono);font-size:11px;color:var(--signal);font-weight:500;width:38px;flex-shrink:0}.it-row .w{flex:1;min-width:0}.it-row b{display:block;font-size:13.5px;line-height:1.3}.it-row small{display:block;font-size:11px;color:var(--gray);margin-top:2px;line-height:1.4}.it-badge{font-family:var(--mono);font-size:9px;letter-spacing:.09em;padding:5px 8px;border-radius:5px;flex-shrink:0;font-weight:600}.it-badge.book{background:var(--signal);color:#fff}.it-badge.linked{text-decoration:none;cursor:pointer}.it-badge.linked:active{transform:scale(.94)}.fact-link{text-decoration:none;color:inherit;display:block}.fact-link .k{color:var(--rail)}.fact-link:active{transform:scale(.985)}.it-badge.free{background:none;color:var(--gray);border:1px solid var(--line)}.it-badge.ok{background:var(--ok-soft);color:var(--ok)}.it-row.rainalt{border:1.5px dashed #c9d1ea;background:var(--rail-soft)}.it-row.rainalt .tm{color:var(--rail)}.rain-bar{margin:2px var(--gx) 0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:10px;background:var(--rail-soft);border:1px solid #c9d1ea}.rain-bar .txt{font-size:12px;color:var(--rail);line-height:1.4}.rain-bar .txt b{font-family:var(--mono);font-size:10px;letter-spacing:.12em;display:block;margin-bottom:2px}.switch{width:44px;height:26px;border-radius:99px;background:#c6cede;position:relative;flex-shrink:0;transition:background .18s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:99px;background:#fff;transition:transform .18s;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--rail)}.switch.on:after{transform:translate(18px)}.quest-strip{margin:10px var(--gx) 0;padding:12px 13px;display:flex;align-items:center;gap:12px}.quest-strip .txt{font-size:12px;color:var(--gray);line-height:1.45;flex:1}.quest-strip .txt b{color:var(--ink)}.t-actions{display:flex;gap:8px;padding:14px var(--gx) 22px}.t-actions .btn{font-size:13px;padding:12px}.day-guide{margin:10px var(--gx) 0;padding:12px 13px;display:flex;align-items:center;gap:12px;width:calc(100% - 2 * var(--gx))}.day-guide .dg-map{width:44px;height:32px;color:var(--ink);flex-shrink:0;display:flex;align-items:center}.day-guide .dg-map svg{width:100%;height:100%}.day-guide .w b{display:block;font-size:13.5px}.day-guide .w small{display:block;font-size:11px;color:var(--gray);margin-top:2px}.day-guide .dg-arrow{margin-left:auto;color:var(--signal);font-weight:700}.day-guide:active{transform:scale(.985)}.day-map{height:230px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#eef0ee}.leaflet-container{font-family:var(--body)}.leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 4px 14px #0000002e}.leaflet-popup-content{margin:8px 12px;font-size:12px;font-family:var(--body)}.pin-stop{width:26px;height:26px;border-radius:99px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid var(--paper);box-shadow:0 1px 5px #00000059}.pin-food{width:14px;height:14px;border-radius:99px;background:var(--signal);border:2.5px solid var(--paper);box-shadow:0 1px 4px #0000004d}.pin-idea{width:14px;height:14px;border-radius:99px;background:var(--paper);border:2.5px dashed var(--rail)}.map-legend{display:flex;gap:16px;padding:8px 4px 0;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--gray);text-transform:uppercase}.map-legend span{display:inline-flex;align-items:center;gap:6px}.map-legend i{width:11px;height:11px;border-radius:99px;display:inline-block}.map-legend .lg-stop{background:var(--ink)}.map-legend .lg-food{background:var(--signal)}.tappable:active{transform:scale(.985)}.row-num{font-family:var(--mono);font-size:10px;font-weight:600;width:20px;height:20px;border-radius:99px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;flex-shrink:0}.row-num.plus{background:var(--rail)}.row-num.transit{background:none;border:1.5px dashed #b9bcc4;color:var(--gray)}.it-row.added{border:1.5px dashed #c9d1ea}.row-remove{color:var(--gray);font-size:12px;padding:6px;flex-shrink:0}.eat-list{display:flex;flex-direction:column;gap:8px;padding:0 var(--gx)}.eat-card{padding:11px 13px;width:100%}.eat-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.eat-top b{font-size:13.5px}.eat-price{font-size:10.5px;color:var(--signal);font-weight:600;letter-spacing:.1em}.eat-kind{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--rail);text-transform:uppercase;display:block;margin-top:2px}.eat-card p{margin:5px 0 0;font-size:12px;color:var(--gray);line-height:1.45}.live-btn{width:100%;padding:11px;border:1.5px dashed #c9c6bc;border-radius:10px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--gray);text-align:center}.live-note{font-family:var(--mono);font-size:11px;color:var(--gray);text-align:center;padding:10px 0}.live-list{display:flex;flex-direction:column;gap:6px}.live-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%}.live-row .w{flex:1;min-width:0}.live-row b{display:block;font-size:12.5px}.live-row small{display:block;font-size:10.5px;color:var(--gray);margin-top:1px}.live-tag{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;color:var(--gray);border:1px solid var(--line);border-radius:3px;padding:2px 5px;flex-shrink:0}.addstop{padding:12px;display:flex;flex-direction:column;gap:8px}.addstop input{font-family:var(--body);font-size:16px;padding:9px 11px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:100%;min-width:0}.addstop input:focus{outline:none;border-color:var(--rail)}.addstop input::placeholder{color:#b0ada2}.addstop-row{display:flex;gap:8px;align-items:center}.addstop .as-time{width:84px;flex-shrink:0;font-family:var(--mono)}.idea-list{display:flex;flex-direction:column;gap:8px;padding:0 var(--gx)}.idea-card{display:flex;align-items:center;gap:12px;padding:11px 13px}.idea-card .w{flex:1;min-width:0}.idea-top{display:flex;align-items:center;gap:8px}.idea-top b{font-size:13.5px}.idea-card small{display:block;font-size:11px;color:var(--gray);margin-top:3px;line-height:1.4}.idea-tag{font-family:var(--mono);font-size:8px;letter-spacing:.1em;padding:2px 5px;border-radius:3px;flex-shrink:0}.tag-indoor{color:var(--rail);border:1px solid var(--rail)}.tag-outdoor{color:var(--ok);border:1px solid var(--ok)}.tag-view{color:var(--signal);border:1px solid var(--signal)}.tag-food{color:#8a6d1a;border:1px solid #c9a832}.idea-add{font-size:12px;font-weight:700;color:var(--rail);border:1.5px solid var(--rail);border-radius:99px;padding:6px 12px;flex-shrink:0}.idea-add:active{background:var(--rail);color:#fff}.rainchip{color:var(--paper)!important;background:#1f3a8f8c!important;border-color:#f7f6f24d!important}.pk-note{margin:12px var(--gx) 0;padding:11px 13px;font-size:12px;color:var(--rail);background:var(--rail-soft);border:1px solid #c9d1ea;border-radius:10px;line-height:1.45}.pk-note b{font-family:var(--mono);font-size:10px;letter-spacing:.12em}.pk-prog{margin:12px var(--gx) 0;display:flex;align-items:center;gap:10px}.pk-prog .bar{flex:1;height:6px;border-radius:99px;background:#e6e3da;overflow:hidden}.pk-prog .bar i{display:block;height:100%;background:var(--signal);border-radius:99px;transition:width .25s}.pk-prog .mono{font-size:10.5px;color:var(--gray)}.pk-group{padding:0 var(--gx)}.pk-items{display:flex;flex-direction:column;gap:6px}.pk-item{display:flex;gap:11px;align-items:center;padding:10px 12px;width:100%}.pk-item .box{width:20px;height:20px;border-radius:6px;border:1.6px solid #b9bcc4;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.pk-item .box svg{width:12px;height:12px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0}.pk-item.done .box{background:var(--signal);border-color:var(--signal)}.pk-item.done .box svg{opacity:1}.pk-item .lab{flex:1;font-size:13.5px}.pk-item.done .lab{color:var(--gray);text-decoration:line-through}.pk-item .why{font-family:var(--mono);font-size:9.5px;color:var(--gray);letter-spacing:.04em;flex-shrink:0}.head-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.share-btn{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--signal-hi);border:1px solid rgba(238,90,140,.5);border-radius:99px;padding:5px 11px;flex-shrink:0}.share-btn:disabled{opacity:.6}.code-card{margin:14px var(--gx) 2px;padding:13px 14px;display:flex;align-items:center;gap:12px}.code-card .w b{display:block;font-size:13.5px}.code-card .w small{display:block;font-size:11.5px;color:var(--gray);margin-top:3px;line-height:1.45}.code-inner{width:100%;display:flex;flex-direction:column;gap:11px}.code-big{font-family:var(--mono);font-size:26px;font-weight:600;letter-spacing:.22em;color:var(--ink);display:flex;align-items:baseline;gap:12px;margin-top:3px}.code-copy{font-size:8.5px;letter-spacing:.12em;color:var(--gray);border:1px solid var(--line);border-radius:3px;padding:2px 5px}.add-row{display:flex;gap:8px}.add-row input{flex:1;min-width:0;font-family:var(--mono);font-size:16px;letter-spacing:.16em;padding:9px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);text-transform:uppercase}.add-row input:focus{outline:none;border-color:var(--rail)}.add-row input::placeholder{color:#b0ada2;letter-spacing:.1em}.friend-chips{display:flex;gap:6px;flex-wrap:wrap}.name-edit{display:flex;gap:8px;align-items:center}.name-edit input{flex:1;min-width:0;font-family:var(--body);font-size:16px;font-weight:600;padding:8px 12px;border:1.5px solid rgba(247,246,242,.3);border-radius:9px;background:var(--ink-2);color:var(--paper)}.name-edit input:focus{outline:none;border-color:var(--signal-hi)}.name-edit .idea-add{color:var(--signal-hi);border-color:var(--signal-hi)}.demo-tag{font-family:var(--mono);font-size:8px;letter-spacing:.12em;color:var(--gray);border:1px dashed #c3c0b6;border-radius:3px;padding:2px 5px;flex-shrink:0}.acct-row{display:flex;align-items:center;gap:12px}.acct-row .w{flex:1;min-width:0}.acct-row b{display:block;font-size:13.5px}.acct-row small{display:block;font-size:11.5px;color:var(--gray);margin-top:3px;line-height:1.45}.acct-restore{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--rail);padding:4px 0 0;text-align:left}.acct-summary{display:flex;flex-direction:column;gap:8px;padding-bottom:4px;border-bottom:1px solid var(--line)}.acct-summary .stamp{align-self:flex-start}.acct-summary small{font-size:12px;color:var(--gray);line-height:1.5}.acct-item{display:flex;gap:11px;align-items:flex-start}.acct-item .w{flex:1}.acct-item small{display:block;font-size:11.5px;color:var(--gray);margin-top:3px;line-height:1.5}.acct-dot{width:20px;height:20px;border-radius:99px;border:1.5px dashed #b9bcc4;color:var(--gray);font-family:var(--mono);font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.acct-dot.done{background:var(--signal);border:none;color:#fff;font-weight:700}.acct-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-weight:600}.acct-reco{font-style:normal;color:var(--signal);font-size:8.5px;letter-spacing:.12em;border:1px solid var(--signal);border-radius:3px;padding:1px 4px;margin-left:6px}.acct-email-row{display:flex;gap:8px;margin-top:8px;align-items:center}.acct-email{flex:1;min-width:0;font-family:var(--body);font-size:16px;padding:9px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.acct-email:focus{outline:none;border-color:var(--rail)}.acct-email::placeholder{color:#b0ada2}.feed{display:flex;flex-direction:column;gap:12px;padding:14px var(--gx) 24px}.post{overflow:hidden}.post-top{display:flex;align-items:center;gap:10px;padding:12px 14px 0}.av{width:34px;height:34px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;flex-shrink:0}.post-top .who{flex:1;min-width:0}.post-top b{font-size:13.5px;display:block}.post-top small{font-family:var(--mono);font-size:10px;color:var(--gray);letter-spacing:.05em}.post-art{margin:11px 14px 0;border-radius:9px;height:86px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:10px}.post-art .h-disp{font-size:21px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}.post-meta{display:flex;gap:6px;padding:10px 14px 0;flex-wrap:wrap}.post-act{display:flex;gap:8px;padding:11px 14px 13px;align-items:center}.react{font-family:var(--mono);font-size:11px;color:var(--gray);padding:6px 11px;border:1px solid var(--line);border-radius:99px;transition:all .12s}.react.hit{color:var(--signal);border-color:var(--signal)}.clone{margin-left:auto;font-size:12px;font-weight:700;color:var(--rail);padding:6px 11px;border:1.5px solid var(--rail);border-radius:99px}.clone:active{background:var(--rail);color:#fff}.pr-head{display:flex;gap:14px;align-items:center;padding:16px var(--gx) 18px}.pr-head .av{width:52px;height:52px;font-size:18px;background:var(--signal)}.pr-head .h-disp{font-size:26px}.pr-head small{font-family:var(--mono);font-size:10px;color:#9a9da8;letter-spacing:.1em}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:14px var(--gx) 0}.stat{padding:12px 8px;text-align:center}.stat .v{font-family:var(--mono);font-size:19px;font-weight:600}.stat .k{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-top:3px}.passport{padding:0 var(--gx)}.stamp-wall{display:flex;flex-wrap:wrap;gap:9px;padding:2px 0 6px}.first-class{margin:18px var(--gx) 24px;background:var(--ink);color:var(--paper);border-radius:12px;padding:16px;position:relative;overflow:hidden}.first-class:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:repeating-linear-gradient(-45deg,var(--signal) 0 10px,var(--ink) 10px 18px)}.first-class .eyebrow{color:#9a9da8}.first-class .h-disp{font-size:22px;margin-top:6px}.first-class .h-disp em{color:var(--signal-hi)}.first-class p{font-size:12.5px;color:#b9bcc4;line-height:1.5;margin:8px 0 12px}.first-class .btn{background:var(--signal);color:#fff;font-size:13px;padding:11px}.bk-add{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1.5px dashed #c9c6bc;border-radius:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--gray);margin-top:6px;text-transform:uppercase}.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px;padding:4px 0 2px}.badge{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.badge svg{width:54px;height:54px;display:block}.badge .bname{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);line-height:1.35;min-height:22px}.badge.locked .bname{color:#a9acb4}.badge .vtag{font-family:var(--mono);font-size:7.5px;letter-spacing:.12em;color:var(--rail);border:1px solid var(--rail);border-radius:3px;padding:1px 4px;margin-top:-2px}.badge.locked .vtag{color:#a9acb4;border-color:#d3d5da}.badge-note{font-size:11.5px;color:var(--gray);line-height:1.55;padding:8px 0 0}.rate-line{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;color:var(--gray);margin-top:5px;text-transform:uppercase;cursor:pointer}.rate-line em{font-style:normal;color:var(--signal);font-weight:600}.review-form{margin:-1px var(--gx) 8px;padding:12px;display:flex;flex-direction:column;gap:9px;border-top-left-radius:0;border-top-right-radius:0}.it-rows .review-form{margin:0}.stars{display:flex;gap:4px}.star{font-size:26px;color:#d8d5cb;line-height:1;padding:2px 4px;transition:transform .1s}.star.on{color:var(--signal)}.star:active{transform:scale(1.2)}.review-form input{font-family:var(--body);font-size:16px;padding:9px 11px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);width:100%}.review-form input:focus{outline:none;border-color:var(--rail)}.review-form input::placeholder{color:#b0ada2}.quote-list{display:flex;flex-direction:column;gap:5px;padding:2px 4px 6px}.quote{font-size:11.5px;color:var(--gray);line-height:1.45}.quote .mono{font-size:9.5px;color:var(--signal);margin-right:4px}.strip-wrap{min-width:0}.strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.strip::-webkit-scrollbar{display:none}.strip-thumb{position:relative;flex-shrink:0}.strip-open{width:58px;height:58px;border-radius:12px;overflow:hidden;display:block;border:2px solid var(--signal);padding:2px;background:var(--paper)}.strip-open img,.strip-open video{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}.strip-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none}.strip-del{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:99px;background:var(--ink);color:var(--paper);font-size:9px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--paper)}.strip-add{width:58px;height:58px;border-radius:12px;border:2px dashed #c9c6bc;color:var(--gray);font-size:20px;font-weight:600;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono)}.strip-add:disabled{font-size:12px;color:var(--signal);border-color:var(--signal)}.story{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#000;display:flex;align-items:center;justify-content:center}.story-media{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.story-top{position:absolute;top:0;left:0;right:0;z-index:42;padding:calc(10px + env(safe-area-inset-top)) 14px 18px;background:linear-gradient(#000000a6,#0000)}.story-segments{display:flex;gap:4px;margin-bottom:10px}.seg{flex:1;height:3px;border-radius:99px;background:#ffffff4d;overflow:hidden}.seg.done{background:#fff}.seg i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;animation:seg-fill linear forwards}.seg i.hold{animation:none;width:40%}@keyframes seg-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.story-head{display:flex;align-items:center;gap:10px}.story-title{font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:.05em;color:#fff;text-transform:uppercase}.story-meta{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:#ffffffbf}.story-close{margin-left:auto;color:#fff;font-size:16px;padding:6px 8px}.story-tap{position:absolute;top:70px;bottom:0;width:38%;z-index:41}.story-tap.left{left:0}.story-tap.right{right:0;width:62%}@media(prefers-reduced-motion:reduce){.seg i{animation:none;width:100%}}.sheet-form{display:flex;flex-direction:column;gap:8px;margin:2px 0 14px}.sheet-form input,.sheet-form textarea{font-family:var(--body);font-size:16px;padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);width:100%;resize:none}.sheet-form input:focus,.sheet-form textarea:focus{outline:none;border-color:var(--rail)}.sheet-form ::placeholder{color:#b0ada2}.consent-row{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;border:1.5px solid var(--line);border-radius:9px;background:var(--card);width:100%}.consent-row .box{width:18px;height:18px;border-radius:5px;border:1.6px solid #b9bcc4;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .15s}.consent-row .box svg{width:11px;height:11px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0}.consent-row.on .box{background:var(--rail);border-color:var(--rail)}.consent-row.on .box svg{opacity:1}.consent-text{font-size:10.5px;color:var(--gray);line-height:1.5;text-align:left}.ops-consent{color:var(--ok);font-size:10px;letter-spacing:.05em}.wire{flex:1;display:flex;flex-direction:column;gap:10px;padding:16px var(--gx, 18px);overflow-y:auto}.wire-msg{max-width:86%;padding:10px 12px;border-radius:12px}.wire-msg p{margin:4px 0 0;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word}.wire-msg.planner{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-top-left-radius:3px}.wire-msg.traveler{align-self:flex-end;background:var(--rail-soft);border:1px solid #c9d1ea;border-top-right-radius:3px}.wire-meta{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;color:var(--gray)}.wire-msg.planner .wire-meta{color:var(--signal)}.wire-compose{display:flex;gap:8px;align-items:flex-end;padding:10px var(--gx, 18px) calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.wire-compose textarea{flex:1;min-width:0;font-family:var(--body);font-size:16px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);resize:none}.wire-compose textarea:focus{outline:none;border-color:var(--rail)}.wire-compose ::placeholder{color:#b0ada2}.ops-wire{flex:none;padding:10px 0 0;border-top:1px dashed var(--line);margin-top:4px}.plan-card{margin-top:8px;border:1px solid var(--line);border-radius:9px;background:var(--paper);overflow:hidden}.plan-card-head{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;color:var(--signal);padding:8px 10px 6px;border-bottom:1px dashed var(--line)}.plan-stop{display:flex;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line)}.plan-stop:last-of-type{border-bottom:none}.plan-stop .d{font-family:var(--mono);font-size:9.5px;color:var(--rail);white-space:nowrap;padding-top:2px}.plan-stop .t{font-size:12.5px;font-weight:600}.plan-stop .n{font-size:11.5px;color:var(--gray);line-height:1.4}.plan-merge{display:block;width:100%;padding:9px;border-top:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--rail);background:var(--card);text-align:center}.plan-merge.merged{color:var(--ok);background:var(--ok-soft)}.plan-note{padding:8px 10px;border-top:1px solid var(--line);font-size:11px;color:var(--gray)}.plan-chip{display:inline-block;margin-top:6px;font-size:9px;padding:3px 7px;color:var(--signal);border-color:var(--signal);background:#c2255c0d}.plan-editor{display:flex;flex-direction:column;gap:8px;padding:10px 0 0;border-top:1px dashed var(--line);margin-top:8px}.plan-editor textarea{font-family:var(--mono);font-size:12px;line-height:1.6;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);resize:vertical}.plan-editor textarea:focus{outline:none;border-color:var(--rail)}.plan-rain{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink)}.plan-rain input{accent-color:var(--rail)}.plan-preview{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.plan-preview .chip{font-size:9px;padding:3px 7px}.plan-preview .chip.bad{border-color:var(--signal);color:var(--signal);background:#c2255c0f}.plan-bad-note{font-family:var(--mono);font-size:9.5px;color:var(--signal)}.plan-toggle{align-self:center;white-space:nowrap}.ops-compose{border-top:0;padding:6px 0 0;background:none}.fc-unread{width:8px;height:8px;border-radius:99px;background:var(--signal-hi);flex-shrink:0}.fc-count{font-size:9px;color:#9a9da8;flex-shrink:0}.fc-dispatch.tappable{width:100%;text-align:left}.status-chip{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;padding:4px 8px;border-radius:99px;border:1px solid var(--line);color:var(--gray);background:none}.status-chip.on{border-color:var(--rail);color:var(--rail);background:var(--rail-soft);font-weight:600}.status-chip.on.st-ready,.status-chip.on.st-booked{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}.ops-list{display:flex;flex-direction:column;gap:10px;padding:14px var(--gx) 24px}.ops-card{padding:13px 14px;display:flex;flex-direction:column;gap:7px}.ops-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.ops-top b{font-size:13.5px}.ops-date{font-size:10px;color:var(--gray)}.ops-line{font-size:12.5px;color:#3d3f46}.ops-line.mono{font-size:11.5px;color:var(--rail)}.ops-notes{font-size:12px;color:var(--gray);font-style:italic;line-height:1.45}.ops-added{display:flex;gap:5px;flex-wrap:wrap}.ops-added .chip{font-size:9px;padding:3px 7px}.ops-status{display:flex;gap:6px;flex-wrap:wrap;padding-top:3px}.fc-dispatches{display:flex;flex-direction:column;gap:6px;margin:10px 0 4px}.fc-dispatch{display:flex;align-items:center;gap:9px;font-size:12px}.fc-dispatch .mono{font-size:10px;color:#9a9da8}.fc-dispatch .fc-trip{flex:1;min-width:0;color:var(--paper);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-dispatch .status-chip.on{background:#e9ecf61f}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#17181c80;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}.scrim.on{opacity:1;pointer-events:auto}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:21;background:var(--paper);border-radius:22px 22px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .26s cubic-bezier(.32,.72,.29,1)}.sheet.on{transform:none}.sheet .grab{width:38px;height:4px;border-radius:99px;background:#cfccc2;margin:0 auto 14px}.sheet .h-disp{font-size:27px}.sheet .price{font-family:var(--mono);font-size:13px;color:var(--signal);font-weight:600;margin-top:4px}.sheet ul{list-style:none;margin:14px 0 16px;padding:0;display:flex;flex-direction:column;gap:9px}.sheet li{font-size:13px;color:#3d3f46;padding-left:20px;position:relative;line-height:1.45}.sheet li:before{content:"";position:absolute;left:0;top:6px;width:9px;height:9px;border-radius:2px;background:var(--signal)}.sheet .fine{font-family:var(--mono);font-size:10px;color:var(--gray);text-align:center;margin-top:10px;letter-spacing:.04em}.sheet .sent{text-align:center;padding:18px 0 6px}.sheet .sent .stamp{transform:rotate(-3deg);font-size:13px;padding:8px 14px}.sheet .sent p{font-size:13px;color:#3d3f46;margin:14px 0 0;line-height:1.5}@media(prefers-reduced-motion:reduce){.switch,.switch:after,.sheet,.scrim,.pk-prog .bar i{transition:none}}@media(min-width:900px){.app{max-width:none;flex-direction:row;box-shadow:none}.views{order:2}.tabbar{order:1;flex-direction:column;justify-content:flex-start;gap:2px;width:224px;flex-shrink:0;padding:20px 14px 24px;border-top:0;background:var(--ink)}.rail-brand{display:flex;align-items:center;gap:10px;padding:4px 10px 22px}.rail-word{font-family:var(--disp);font-weight:700;font-size:18px;letter-spacing:.06em;color:var(--paper);text-transform:uppercase}.rail-word em{font-style:normal;color:var(--signal-hi)}.tab{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:11px 12px;border-radius:9px;font-size:11px;letter-spacing:.14em;color:#9a9da8}.tab.on{color:var(--paper);background:#f7f6f214}.tab.on svg{stroke:var(--signal-hi)}.view{--content-max: 1080px;--gx: max(40px, calc((100% - var(--content-max)) / 2))}.v-explore,.v-friends,.v-day,.v-ops{--content-max: 1120px}.v-trip{--content-max: 780px}.v-package{--content-max: 860px}.v-packing,.v-profile{--content-max: 900px}.v-create{--content-max: 620px}.v-shared{--content-max: 720px}.dark-head{padding-top:26px;padding-bottom:30px}.x-head .h-disp{font-size:46px}.t-head .h-disp{font-size:40px}.pd-hero .h-disp{font-size:46px}.pr-head .h-disp{font-size:34px}.search{max-width:520px}.months,.days{flex-wrap:wrap}.pkg{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;padding-top:18px;align-items:stretch}.pkg .sect-label{grid-column:1 / -1}.pkg-card{display:flex;flex-direction:column}.pkg-art{height:156px}.pkg-body{flex:1}.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;align-items:stretch}.post{display:flex;flex-direction:column}.post-act{margin-top:auto}.post-art{height:110px}.code-card{max-width:760px}.fact-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.pk-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.badges{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:18px 10px}.day-map{height:300px}.pd-foot .btn{max-width:480px}.t-actions{max-width:600px}.v-trip .review-form{margin-left:0;margin-right:0}.ops-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:12px;align-items:start}.ops-list .live-btn,.ops-list .live-note{grid-column:1 / -1}.dd-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,44%);gap:0 36px;padding:6px var(--gx) 8px}.dd-cols .dd-side,.dd-cols .dd-main{--gx: 0px;min-width:0}.dd-side{grid-column:2;grid-row:1;align-self:start;position:sticky;top:0}.dd-main{grid-column:1;grid-row:1}.dd-side .day-map{height:min(64vh,640px)}.sheet{left:50%;right:auto;bottom:auto;top:50%;width:min(560px,94%);max-height:min(88vh,780px);overflow-y:auto;border-radius:16px;padding:26px 30px 28px;opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 16px));transition:transform .22s ease,opacity .22s ease}.sheet.on{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}.sheet .grab{display:none}}@media(hover:hover)and (pointer:fine){.tab:hover{color:var(--ink)}@media(min-width:900px){.tab:hover{color:var(--paper)}}.backbtn:hover{color:var(--paper)}.m-chip:hover:not(.on),.day-pill:hover:not(.on){border-color:var(--gray);color:var(--ink)}.pkg-card,.day-guide,.scratch-card,.post,.eat-card,.fact-link,.code-card{transition:transform .15s ease,box-shadow .15s ease}.pkg-card:hover,.day-guide:hover,.scratch-card:hover,.post:hover,.eat-card:hover,.fact-link:hover{transform:translateY(-2px);box-shadow:0 8px 22px #17181c17}.btn:hover{opacity:.92}.idea-add:hover,.clone:hover{background:var(--rail);color:#fff}.react:hover:not(.hit){border-color:var(--gray);color:var(--ink)}.share-btn:hover{background:#ee5a8c1f}.live-btn:hover,.bk-add:hover{border-color:var(--gray);color:var(--ink)}.live-row:hover{border-color:var(--gray)}.status-chip:hover:not(.on){border-color:var(--gray);color:var(--ink)}}
