.route-detail-page{--route-detail-accent: var(--qy-focus);--route-detail-accent-dark: var(--qy-primary);--route-detail-accent-soft: var(--qy-tint);--route-detail-accent-line: var(--qy-line-strong);--route-detail-ink: var(--qy-ink);--route-detail-muted: var(--qy-muted);--route-detail-line: var(--qy-line);--route-detail-paper: var(--qy-surface);min-width:1040px;min-height:calc(100vh - 78px);padding:22px 28px 28px;background:var(--qy-bg);color:var(--route-detail-ink);font-family:var(--font-source-han)}.route-detail-page button{border:0;font:inherit}.route-detail-page button:focus-visible{outline:3px solid var(--qy-focus);outline-offset:3px}.route-detail-topbar{display:grid;grid-template-columns:minmax(420px,.86fr) minmax(650px,1.14fr);gap:22px;align-items:center;width:min(1720px,100%);min-height:46px;margin:0 auto 16px}.route-detail-back,.route-detail-top-actions,.route-detail-ai-note,.route-detail-optimized,.route-detail-use-button,.route-detail-icon-button{display:flex;align-items:center}.route-detail-back{width:fit-content;gap:9px;padding:9px 10px 9px 2px;background:transparent;color:var(--route-detail-muted);font-size:13px;font-weight:700;cursor:pointer}.route-detail-back:hover{color:var(--route-detail-accent)}.route-detail-back svg{width:18px;height:18px}.route-detail-top-actions{min-width:0;gap:10px;justify-content:flex-end}.route-detail-ai-note,.route-detail-optimized{gap:7px;white-space:nowrap;font-size:12px;font-weight:800}.route-detail-ai-note{color:var(--route-detail-accent)}.route-detail-ai-note svg,.route-detail-optimized svg{width:17px;height:17px}.route-detail-optimized{padding:8px 12px;border:1px solid #dfe8d8;border-radius:999px;background:#f6faf3;color:#617855}.route-detail-use-button{min-height:42px;justify-content:center;padding:0 22px;border:1px solid #d7dfd0;border-radius:12px;background:#f5f7f2;box-shadow:0 9px 22px #4c583e1a;color:var(--route-detail-accent-dark);font-size:13px;font-weight:900;cursor:pointer;transition:.15s ease}.route-detail-use-button:hover{border-color:#c8d3bf;background:#eaf0e4;box-shadow:0 11px 24px #4c583e24;transform:translateY(-1px)}.route-detail-icon-button{width:40px;height:40px;justify-content:center;border:1px solid var(--route-detail-line);border-radius:12px;background:var(--route-detail-paper);color:#5f5a52;cursor:pointer}.route-detail-layout{display:grid;grid-template-columns:minmax(420px,.86fr) minmax(650px,1.14fr);gap:22px;width:min(1720px,100%);margin:0 auto}.route-detail-story,.route-detail-map-card,.route-detail-stops{border:1px solid var(--route-detail-line);background:var(--route-detail-paper);box-shadow:0 18px 46px #0d2f7a14}.route-detail-story{display:grid;grid-template-rows:auto 1fr auto;min-width:0;overflow:hidden;border-radius:20px}.route-detail-hero{position:relative;height:clamp(320px,35vw,432px);max-height:43vh;min-height:300px;margin:0;overflow:hidden;background:var(--qy-tint)}.route-detail-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.route-detail-story-copy{padding:20px 22px 18px}.route-detail-story-copy h1{margin:0;font-family:var(--font-source-han);font-size:clamp(27px,2.2vw,38px);font-weight:600;line-height:1.14;letter-spacing:-.035em}.route-detail-author-row{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:18px}.route-detail-author{display:flex;min-width:0;gap:11px;align-items:center}.route-detail-author>img{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border:2px solid #fff;border-radius:999px;box-shadow:0 4px 12px #362d2424}.route-detail-author>span{display:grid;min-width:0;gap:4px}.route-detail-author strong{display:flex;min-width:0;gap:6px;align-items:center;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.route-detail-author-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-detail-author strong svg{width:16px;height:16px;flex:0 0 16px;color:var(--route-detail-accent)}.route-detail-author small{overflow:hidden;color:var(--route-detail-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.route-detail-save{display:flex;min-width:92px;min-height:40px;flex:0 0 auto;gap:7px;align-items:center;justify-content:center;border:1px solid var(--qy-line);border-radius:12px;background:var(--qy-tint);color:var(--qy-primary);font-size:12px;font-weight:900;cursor:pointer}.route-detail-save.saved{border-color:var(--route-detail-accent-line);background:var(--route-detail-accent-soft);color:var(--route-detail-accent-dark)}.route-detail-save svg{width:16px;height:16px}.route-detail-intro{margin:18px 0 0;color:#5d5850;font-size:13px;line-height:1.75}.route-detail-tips{margin-top:18px;padding:16px 17px;border:1px solid #e3e9dc;border-radius:15px;background:#f3f6f0}.route-detail-tips h2{margin:0 0 12px;color:#5c7052;font-size:13px;font-weight:900}.route-detail-tips ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.route-detail-tips li{display:flex;gap:8px;align-items:flex-start;color:#5b5a53;font-size:11px;line-height:1.5}.route-detail-tips li svg{width:15px;height:15px;flex:0 0 15px;margin-top:1px;color:#91b182}.route-detail-social{display:flex;min-height:66px;gap:18px;align-items:center;justify-content:space-between;padding:11px 20px;border-top:1px solid var(--route-detail-line)}.route-detail-social-counts,.route-detail-social-actions{display:flex;align-items:center}.route-detail-social-counts{gap:16px;white-space:nowrap;font-size:11px}.route-detail-social-counts strong{color:#ba625a}.route-detail-social-counts span{color:var(--route-detail-muted)}.route-detail-social-actions{gap:3px}.route-detail-social-actions button{display:flex;min-height:38px;gap:6px;align-items:center;padding:0 10px;border-radius:10px;background:transparent;color:#57524b;font-size:11px;font-weight:800;cursor:pointer}.route-detail-social-actions button:hover{background:#f2eee8}.route-detail-social-actions button.active{background:#fff0ef;color:#b95551}.route-detail-social-actions svg{width:18px;height:18px}.route-detail-route-column{display:grid;min-width:0;gap:18px;align-content:start}.route-detail-map-card{position:relative;height:clamp(450px,48vw,548px);max-height:57vh;min-height:430px;overflow:hidden;border-radius:20px;background:#eef0e8}.route-detail-map-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.78;filter:saturate(.72) brightness(1.04) contrast(.94)}.route-detail-map-card:after{content:none}.route-detail-live-map{width:100%;height:100%;min-height:0;border:0;border-radius:0}.route-detail-map-controls{position:absolute;z-index:8;right:16px;display:grid;overflow:hidden;border:1px solid rgba(115,104,91,.13);border-radius:14px;background:#fffdf9eb;box-shadow:0 8px 22px #3d342a1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.route-detail-map-controls-top{top:16px}.route-detail-map-controls-zoom{top:50%;transform:translateY(-50%)}.route-detail-map-controls button,.route-detail-locate{display:grid;width:42px;height:42px;place-items:center;background:transparent;color:#47443e;cursor:pointer}.route-detail-map-controls-zoom button+button{border-top:1px solid rgba(115,104,91,.13)}.route-detail-map-controls button:hover,.route-detail-locate:hover{background:var(--route-detail-accent-soft);color:var(--route-detail-accent)}.route-detail-map-controls svg,.route-detail-locate svg{width:19px;height:19px}.route-detail-locate{position:absolute;z-index:8;right:16px;bottom:17px;border:1px solid rgba(115,104,91,.13);border-radius:14px;background:#fffdf9f0;box-shadow:0 8px 22px #3d342a1f}.route-detail-map-node{position:absolute;z-index:5;left:var(--node-left);top:var(--node-top);display:grid;width:124px;gap:4px;justify-items:center;padding:0;background:transparent;color:var(--route-detail-ink);cursor:pointer;transform:translate(calc(-50% - 30px),calc(-50% - 9px))}.route-detail-map-node-thumb{position:relative;display:block;width:66px;height:58px;border:3px solid rgba(255,255,255,.96);border-radius:13px;background:#fff;box-shadow:0 8px 18px #302a222e;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.route-detail-map-node-thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px}.route-detail-map-node-thumb i,.route-detail-stop-image i{position:absolute;display:grid;place-items:center;border-radius:999px;background:var(--route-detail-accent);color:#fff;font-style:normal;font-weight:900}.route-detail-map-node-thumb i{right:-9px;bottom:-10px;width:24px;height:24px;border:3px solid #fff;font-size:11px}.route-detail-map-node-copy{display:grid;max-width:124px;justify-items:center;padding:4px 8px;border-radius:9px;background:#fffdf9d1;box-shadow:0 4px 12px #352e2612;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.route-detail-map-node-copy strong{overflow:hidden;max-width:100%;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.route-detail-map-node-copy small{margin-top:2px;color:var(--route-detail-muted);font-size:11px}.route-detail-map-node:hover .route-detail-map-node-thumb,.route-detail-map-node.active .route-detail-map-node-thumb{border-color:var(--route-detail-accent-soft);box-shadow:0 0 0 3px var(--route-detail-accent),0 12px 24px #4a593b2e;transform:translateY(-3px)}.route-detail-map-node.active{z-index:7}.route-detail-full-route{position:absolute;z-index:8;left:16px;bottom:17px;display:flex;min-height:42px;gap:8px;align-items:center;padding:0 15px;border:1px solid rgba(115,104,91,.13);border-radius:12px;background:#fffdf9f0;box-shadow:0 8px 22px #3d342a1f;color:#48443e;font-size:11px;font-weight:900;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.route-detail-full-route:hover{border-color:var(--route-detail-accent-line);color:var(--route-detail-accent)}.route-detail-full-route svg{width:17px;height:17px}.route-detail-stops{min-width:0;overflow:hidden;border-radius:20px}.route-detail-stops>header{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px 18px 13px}.route-detail-stops>header>div{display:grid;gap:4px}.route-detail-stops h2{display:flex;gap:8px;align-items:center;margin:0;font-family:var(--font-source-han);font-size:17px;font-weight:600}.route-detail-stops h2 svg{width:18px;height:18px;color:var(--route-detail-accent)}.route-detail-stops p{margin:0;color:var(--route-detail-muted);font-size:11px}.route-detail-stops>header>button{padding:8px 4px;background:transparent;color:#6a7e5e;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}.route-detail-stops>header>button:hover{color:var(--route-detail-accent)}.route-detail-stop-list{display:grid;grid-auto-columns:minmax(142px,1fr);grid-auto-flow:column;gap:10px;min-width:0;overflow-x:auto;padding:0 14px 15px;scrollbar-color:rgba(108,121,89,.24) transparent;scrollbar-width:thin}.route-detail-stop-card{position:relative;min-width:142px;overflow:hidden;border:1px solid var(--route-detail-line);border-radius:15px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.route-detail-stop-card:hover,.route-detail-stop-card.active{border-color:var(--route-detail-accent-line);box-shadow:0 10px 22px #4c583e1c;transform:translateY(-2px)}.route-detail-stop-main{display:grid;width:100%;padding:0;background:transparent;text-align:left;cursor:pointer}.route-detail-stop-image{position:relative;display:block;height:104px;overflow:hidden;background:#e8e3da}.route-detail-stop-image>img{width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.route-detail-stop-card:hover .route-detail-stop-image>img,.route-detail-stop-card.active .route-detail-stop-image>img{transform:scale(1.025)}.route-detail-stop-image i{top:9px;left:9px;width:25px;height:25px;font-size:11px}.route-detail-stop-copy{display:grid;min-width:0;gap:4px;padding:9px 10px 10px}.route-detail-stop-copy>strong{overflow:hidden;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.route-detail-stop-copy>small{display:-webkit-box;overflow:hidden;color:var(--route-detail-muted);font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.route-detail-stop-copy>em{display:flex;gap:6px;align-items:center;justify-content:space-between;margin-top:3px;color:#8d877e;font-size:11px;font-style:normal}.route-detail-stop-copy>em span{display:flex;gap:4px;align-items:center}.route-detail-stop-copy>em svg{width:12px;height:12px}.route-detail-stop-copy>em span:last-child{padding:3px 6px;border-radius:999px;background:#f0f3ec;color:#68775c;font-weight:800}.route-detail-stop-save{position:absolute;z-index:3;top:8px;right:8px;display:grid;width:31px;height:31px;place-items:center;border:1px solid rgba(255,255,255,.62);border-radius:10px;background:#221f1b75;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.route-detail-stop-save:hover{background:var(--route-detail-accent)}.route-detail-stop-save.saved{color:#fff;background:var(--route-detail-accent)}.route-detail-stop-save svg{width:16px;height:16px}@media(max-height:900px){.route-detail-map-card{height:clamp(340px,46vh,416px);min-height:340px;max-height:none}.route-detail-stops>header{padding:13px 16px 10px}.route-detail-stop-list{padding-bottom:12px}.route-detail-stop-image{height:92px}}@media(max-height:760px){.route-detail-route-column{gap:14px}.route-detail-map-card{height:300px;min-height:300px}.route-detail-stops>header{padding:10px 14px 8px}.route-detail-stop-list{padding:0 12px 10px}.route-detail-stop-image{height:80px}.route-detail-stop-copy{gap:3px;padding:8px 9px 9px}.route-detail-stop-copy>small{-webkit-line-clamp:1}}@media(min-width:701px)and (min-height:501px){.app-shell[data-page=route-detail] .route-detail-route-column{grid-template-rows:minmax(300px,1fr) auto;align-content:stretch}.app-shell[data-page=route-detail] .route-detail-map-card{height:100%;min-height:300px;max-height:none}}@media(max-width:1280px){.route-detail-page,.app-shell[data-page=route-detail]>.route-detail-page{padding-right:20px;padding-left:20px}.route-detail-topbar,.route-detail-layout{grid-template-columns:minmax(400px,.8fr) minmax(600px,1.2fr)}.route-detail-ai-note,.route-detail-optimized{font-size:11px}.route-detail-story-copy{padding-right:18px;padding-left:18px}.route-detail-social{align-items:flex-start;flex-direction:column;padding-top:12px;padding-bottom:12px}.route-detail-social-actions{width:100%;justify-content:space-between}}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.route-detail-page,.app-shell[data-page=route-detail]>.route-detail-page{width:100%;min-width:0;min-height:0;padding:0 10px calc(76px + env(safe-area-inset-bottom,0px));overflow:visible}.route-detail-topbar{position:sticky;z-index:48;top:0;display:flex;width:auto;min-height:52px;gap:6px;align-items:center;justify-content:space-between;margin:0 -10px 10px;padding:6px 10px;border-bottom:1px solid var(--qy-line);background:#fbfcfff5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.route-detail-back{min-height:40px;flex:0 0 auto;gap:6px;padding:0 6px;font-size:12px}.route-detail-back svg{width:16px;height:16px}.route-detail-top-actions{gap:6px}.route-detail-ai-note,.route-detail-optimized{display:none}.route-detail-use-button{min-height:40px;padding:0 12px;border-radius:11px;font-size:12px}.route-detail-icon-button{width:40px;height:40px;border-radius:11px}.route-detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%}.route-detail-story{border-radius:16px}.route-detail-hero{width:100%;height:clamp(170px,52vw,205px);min-height:170px;max-height:205px}.route-detail-story-copy{padding:14px 14px 12px}.route-detail-story-copy h1{display:-webkit-box;overflow:hidden;font-size:24px;line-height:1.28;text-wrap:balance;-webkit-box-orient:vertical;-webkit-line-clamp:2}.route-detail-author-row{gap:8px;margin-top:12px}.route-detail-author>img{width:36px;height:36px;flex-basis:36px}.route-detail-author strong{font-size:12px}.route-detail-author small{font-size:10px}.route-detail-save{min-width:72px;min-height:40px;gap:5px;padding:0 10px;border-radius:11px;font-size:11px}.route-detail-save svg{width:15px;height:15px}.route-detail-intro{margin-top:12px;font-size:12px;line-height:1.65;text-wrap:pretty}.route-detail-tips{margin-top:12px;padding:11px 12px;border-radius:13px}.route-detail-tips h2{margin-bottom:8px;font-size:12px}.route-detail-tips ul{gap:6px}.route-detail-tips li{align-items:flex-start;gap:6px;font-size:11px;line-height:1.45;text-wrap:pretty}.route-detail-tips li svg{width:14px;height:14px;flex-basis:14px}.route-detail-social{min-height:0;gap:7px;align-items:stretch;padding:9px 12px 10px}.route-detail-social-counts{gap:12px;font-size:10px}.route-detail-social-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.route-detail-social-actions button{min-width:0;min-height:40px;gap:4px;padding:0 4px;font-size:10px}.route-detail-social-actions svg{width:16px;height:16px}.route-detail-route-column{gap:12px}.route-detail-map-card{width:100%;height:min(84vw,340px);min-height:300px;max-height:340px;border-radius:16px}.route-detail-map-node{left:clamp(26px,var(--node-left),calc(100% - 26px));top:clamp(28px,var(--node-top),calc(100% - 28px));width:44px;height:44px;transform:translate(-50%,-50%)}.route-detail-map-node-thumb{width:44px;height:44px;border-radius:12px}.route-detail-map-node-copy{position:absolute;top:50px;left:50%;display:none;width:94px;max-width:94px;transform:translate(-50%)}.route-detail-map-node:is(.active,:focus-visible) .route-detail-map-node-copy{display:grid}.route-detail-map-controls button,.route-detail-locate{width:40px;height:40px}.route-detail-full-route{min-height:40px;padding:0 12px}.route-detail-stops{border-radius:16px}.route-detail-stops>header{gap:8px;align-items:flex-start;padding:12px 12px 8px}.route-detail-stops h2{gap:6px;font-size:15px}.route-detail-stops p{font-size:10px}.route-detail-stops>header>button{min-height:40px;padding-top:5px;padding-bottom:5px}.route-detail-stop-list{grid-auto-columns:minmax(164px,68vw);gap:8px;padding:0 10px 12px;scroll-snap-type:x proximity}.route-detail-stop-card{min-width:0;scroll-snap-align:start}.route-detail-stop-image{height:100px}.route-detail-stop-main,.route-detail-stop-save{min-height:40px}.route-detail-stop-copy{padding:8px 9px 9px}}@media(min-width:701px)and (max-width:1120px)and (min-height:501px){.route-detail-page,.app-shell[data-page=route-detail]>.route-detail-page{min-width:0}.route-detail-topbar{grid-template-columns:minmax(0,1fr) auto;gap:12px}.route-detail-top-actions{flex:0 0 auto;gap:8px}.route-detail-ai-note,.route-detail-optimized{display:none}.route-detail-use-button{min-height:44px;padding-right:16px;padding-left:16px}.route-detail-layout{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:18px}}@media(pointer:coarse),(min-width:701px)and (max-width:1120px){.route-detail-icon-button,.route-detail-map-controls button,.route-detail-locate,.route-detail-stop-save,.route-detail-social-actions button[aria-label]{width:44px;min-width:44px;height:44px;min-height:44px}}@media(orientation:landscape)and (max-height:500px)and (min-width:701px)and (max-width:900px){body .app-shell[data-page=route-detail]>.app-sidebar{height:100dvh;align-self:start}}.route-detail-overview-page{min-height:100vh}.route-detail-overview-topbar{grid-template-columns:minmax(0,1fr) auto;width:min(1440px,100%)}.route-detail-overview-status{display:inline-flex;min-height:36px;gap:7px;align-items:center;padding:0 12px;border:1px solid var(--route-detail-accent-line);border-radius:999px;background:var(--route-detail-accent-soft);color:var(--route-detail-accent-dark);font-size:12px;font-weight:800}.route-detail-overview-status svg{width:16px;height:16px}.route-detail-overview-card{display:grid;grid-template-columns:minmax(480px,1.08fr) minmax(410px,.92fr);width:min(1440px,100%);min-height:min(760px,calc(100vh - 112px));margin:0 auto;overflow:hidden;border:1px solid var(--route-detail-line);border-radius:24px;background:var(--route-detail-paper);box-shadow:0 22px 58px #0d2f7a1a}.route-detail-overview-hero{position:relative;min-width:0;min-height:620px;margin:0;overflow:hidden;background:var(--qy-tint)}.route-detail-overview-hero:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 55%,rgba(19,22,16,.54));content:"";pointer-events:none}.route-detail-overview-hero>img{width:100%;height:100%;object-fit:cover;transition:transform .42s ease}.route-detail-overview-card:hover .route-detail-overview-hero>img{transform:scale(1.018)}.route-detail-overview-hero figcaption{position:absolute;z-index:1;right:24px;bottom:24px;left:24px;display:flex;gap:9px;align-items:center;color:#fff}.route-detail-overview-hero figcaption span,.route-detail-overview-hero figcaption strong{padding:7px 11px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#181d146b;font-size:12px;line-height:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.route-detail-overview-copy{display:flex;min-width:0;flex-direction:column;padding:clamp(30px,4vw,58px)}.route-detail-overview-heading>span{color:var(--route-detail-accent);font-size:12px;font-weight:850;letter-spacing:.08em}.route-detail-overview-heading h1{max-width:680px;margin:12px 0 0;font-size:clamp(36px,3.8vw,58px);font-weight:760;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.route-detail-overview-heading p{max-width:680px;margin:18px 0 0;color:var(--route-detail-muted);font-size:15px;line-height:1.8;text-wrap:pretty}.route-detail-overview-author-row{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:26px;padding-top:22px;border-top:1px solid var(--route-detail-line)}.route-detail-overview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 0}.route-detail-overview-facts>div{display:grid;min-width:0;gap:5px;padding:13px 14px;border:1px solid var(--route-detail-line);border-radius:14px;background:var(--qy-surface-soft)}.route-detail-overview-facts dt{color:var(--route-detail-muted);font-size:11px;font-weight:700}.route-detail-overview-facts dd{overflow:hidden;margin:0;font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.route-detail-overview-highlights{margin-top:28px}.route-detail-overview-highlights>div small{color:var(--route-detail-accent);font-size:11px;font-weight:850;letter-spacing:.1em}.route-detail-overview-highlights h2{margin:5px 0 0;font-size:22px;line-height:1.25}.route-detail-overview-highlights ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0 0;padding:0;list-style:none}.route-detail-overview-highlights li{display:flex;min-width:0;min-height:48px;gap:10px;align-items:center;padding:9px 11px;border-radius:13px;background:var(--route-detail-accent-soft)}.route-detail-overview-highlights li span{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:9px;background:var(--route-detail-accent);color:#fff;font-size:10px;font-weight:850}.route-detail-overview-highlights li strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.route-detail-overview-highlights>p{color:var(--route-detail-muted);font-size:13px}.route-detail-overview-disclosure{display:flex;gap:12px;align-items:flex-start;margin-top:24px;padding:15px 16px;border:1px solid var(--qy-line);border-radius:15px;background:var(--qy-tint);color:var(--qy-muted)}.route-detail-overview-disclosure>svg{width:18px;height:18px;flex:0 0 18px;margin-top:2px;color:var(--route-detail-accent)}.route-detail-overview-disclosure strong{font-size:13px}.route-detail-overview-disclosure p{margin:4px 0 0;font-size:12px;line-height:1.6}.route-detail-overview-actions{display:flex;gap:10px;margin-top:auto;padding-top:24px}.route-detail-overview-actions button{display:inline-flex;min-height:44px;gap:8px;align-items:center;justify-content:center;padding:0 16px;border:1px solid var(--route-detail-line);border-radius:12px;background:#fff;color:var(--route-detail-ink);font-size:12px;font-weight:850;cursor:pointer}.route-detail-overview-actions .route-detail-overview-primary{border-color:var(--route-detail-accent-dark);background:var(--route-detail-accent-dark);color:#fff}.route-detail-overview-actions .route-detail-overview-secondary{background:var(--qy-surface)}.route-detail-overview-actions button:hover{border-color:var(--route-detail-accent-line);background:var(--route-detail-accent-soft);color:var(--route-detail-accent-dark)}.route-detail-overview-actions .route-detail-overview-primary:hover{border-color:var(--qy-primary-dark);background:var(--qy-primary-dark);color:#fff}.route-detail-overview-actions button svg{width:15px;height:15px}.route-detail-overview-top-action{display:none}@media(max-width:1100px){.route-detail-page,.app-shell[data-page=route-detail]>.route-detail-page{min-width:0}.route-detail-overview-card{grid-template-columns:minmax(0,1fr)}.route-detail-overview-hero{min-height:390px;max-height:46vh}.route-detail-overview-copy{padding:30px}.route-detail-overview-actions{margin-top:24px}}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.route-detail-overview-page{padding-right:10px;padding-left:10px}.route-detail-overview-topbar{display:flex}.route-detail-overview-status{display:none}.route-detail-overview-top-action{display:inline-flex;min-height:44px;flex:0 0 auto;align-items:center;justify-content:center;padding:0 13px;border:1px solid var(--route-detail-accent-dark);border-radius:11px;background:var(--route-detail-accent-dark);color:#fff;font-size:12px;font-weight:850;white-space:nowrap}.route-detail-overview-card{display:block;min-height:0;border-radius:17px}.route-detail-overview-hero{width:100%;min-height:230px;max-height:260px}.route-detail-overview-hero figcaption{right:14px;bottom:14px;left:14px}.route-detail-overview-copy{padding:20px 16px 18px}.route-detail-overview-heading h1{margin-top:8px;font-size:clamp(28px,8.8vw,36px);line-height:1.12}.route-detail-overview-heading p{margin-top:12px;font-size:13px;line-height:1.7}.route-detail-overview-author-row{margin-top:18px;padding-top:16px}.route-detail-overview-facts{grid-template-columns:minmax(0,1fr);gap:7px;margin-top:18px}.route-detail-overview-facts>div{grid-template-columns:96px minmax(0,1fr);align-items:center;padding:11px 12px}.route-detail-overview-facts dd{text-align:right}.route-detail-overview-highlights{margin-top:22px}.route-detail-overview-highlights ol{grid-template-columns:minmax(0,1fr)}.route-detail-overview-disclosure{margin-top:20px}.route-detail-overview-actions{display:grid;grid-template-columns:minmax(0,1fr);margin-top:20px;padding-top:0}.route-detail-overview-actions button{width:100%;min-height:44px}}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.route-detail-page{padding-right:max(10px,env(safe-area-inset-right,0px));padding-left:max(10px,env(safe-area-inset-left,0px))}.route-detail-page button{min-height:44px}.route-detail-stops>header>button{min-height:44px}.route-detail-icon-button,.route-detail-map-controls button,.route-detail-locate,.route-detail-stop-save,.route-detail-map-node,.route-detail-map-node-thumb{width:44px;min-width:44px;height:44px}.route-detail-topbar,.route-detail-overview-topbar{min-height:calc(52px + env(safe-area-inset-top,0px));padding-top:calc(6px + env(safe-area-inset-top,0px));padding-right:max(10px,env(safe-area-inset-right,0px));padding-left:max(10px,env(safe-area-inset-left,0px))}}.route-detail-mobile-use-button{display:none}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.route-detail-page,.app-shell[data-page=route-detail]>.route-detail-page{padding-bottom:calc(146px + env(safe-area-inset-bottom,0px))}.route-detail-mobile-use-button{position:fixed;z-index:155;right:max(12px,env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px));display:inline-flex;width:auto;min-height:52px;gap:8px;align-items:center;justify-content:center;padding:0 18px;border:1px solid var(--route-detail-accent-dark);border-radius:16px;background:var(--route-detail-accent-dark);color:#fff;font:inherit;font-size:14px;font-weight:900;box-shadow:0 14px 34px #0d2f7a3d;cursor:pointer;touch-action:manipulation}.route-detail-mobile-use-button>svg{width:18px;height:18px}.route-detail-intro,.route-detail-tips li,.route-detail-stops p,.route-detail-stop-copy>small,.route-detail-stop-copy>em{font-size:13px}.route-detail-tips h2,.route-detail-author strong,.route-detail-stop-copy>strong,.route-detail-social-counts,.route-detail-social-actions button{font-size:13px}.route-detail-social-actions button,.route-detail-save,.route-detail-full-route,.route-detail-stops>header>button{min-height:44px}.app-shell[data-page=route-detail] .toast{bottom:calc(144px + env(safe-area-inset-bottom,0px))}}@media(orientation:landscape)and (max-height:500px)and (max-width:900px){.route-detail-page,.app-shell[data-page=route-detail]>.route-detail-page{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.route-detail-mobile-use-button{right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));left:calc(88px + env(safe-area-inset-left,0px));width:min(360px,calc(100vw - 112px))}.app-shell[data-page=route-detail] .toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}.jilu-interactive-map{--jilu-map-ink: var(--qy-primary);--jilu-map-green: var(--qy-focus);--jilu-map-lavender: var(--qy-lilac);--jilu-map-surface: var(--qy-surface-soft);position:relative;width:100%;height:var(--jilu-map-height, 100%);min-height:360px;overflow:hidden;color:var(--jilu-map-ink);background:var(--jilu-map-surface);border:1px solid rgba(17,17,17,.08);border-radius:16px;isolation:isolate;font-family:var(--font-source-han)}.jilu-interactive-map.is-embedded{height:100%;min-height:0;border:0;border-radius:0}.jilu-interactive-map.is-compact .jilu-interactive-map__footer,.jilu-interactive-map.is-compact .jilu-map-selection,.jilu-interactive-map.is-chrome-hidden .jilu-interactive-map__toolbar,.jilu-interactive-map.is-chrome-hidden .jilu-interactive-map__footer,.jilu-interactive-map.is-chrome-hidden .jilu-map-selection{display:none}.jilu-interactive-map.is-compact .jilu-interactive-map__toolbar{top:8px;right:8px;left:8px}.jilu-interactive-map.is-compact .jilu-map-mode-badge{min-height:24px;max-width:150px;padding:4px 7px;overflow:hidden;font-size:11px;text-overflow:ellipsis}.jilu-interactive-map.is-compact .jilu-interactive-map__toolbar nav{gap:1px;padding:2px}.jilu-interactive-map.is-compact .jilu-interactive-map__toolbar button{width:27px;height:27px;border-radius:7px}.jilu-interactive-map *,.jilu-interactive-map *:before,.jilu-interactive-map *:after{box-sizing:border-box}.jilu-interactive-map__surface,.jilu-local-map,.jilu-baidu-map-shell,.jilu-baidu-map,.jilu-amap-shell,.jilu-amap-map{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.jilu-interactive-map__toolbar{position:absolute;z-index:20;top:12px;right:12px;left:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.jilu-interactive-map__toolbar>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px}.jilu-map-mode-badge{display:inline-flex;min-height:30px;align-items:center;gap:7px;padding:6px 11px;border:1px solid rgba(17,17,17,.09);border-radius:999px;color:#353934;background:#fffffff0;box-shadow:0 4px 14px #11111114;font-size:12px;font-weight:650;line-height:1.2;white-space:nowrap;pointer-events:none}.jilu-map-mode-badge i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--jilu-map-green);box-shadow:0 0 0 3px #6f8f7224}.jilu-map-mode-badge.is-loading i{background:#e9a45b;box-shadow:0 0 0 3px #e9a45b29;animation:jilu-map-pulse 1.2s ease-in-out infinite}.jilu-map-mode-badge.is-fallback i{background:#767a74;box-shadow:0 0 0 3px #767a7424}.jilu-interactive-map__toolbar>div>small{max-width:min(340px,calc(100vw - 150px));padding:5px 9px;overflow:hidden;border-radius:7px;color:#6c5140;background:#fff8eff5;box-shadow:0 3px 10px #1111110f;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.jilu-interactive-map__toolbar nav{display:flex;flex:0 0 auto;gap:5px;padding:4px;border:1px solid rgba(17,17,17,.08);border-radius:12px;background:#fffffff2;box-shadow:0 5px 16px #1111111a;pointer-events:auto}.jilu-interactive-map__toolbar button{display:inline-grid;width:34px;height:34px;margin:0;padding:0;place-items:center;border:0;border-radius:9px;color:#343834;background:transparent;cursor:pointer;transition:color .16s ease,background-color .16s ease,transform .16s ease}.jilu-interactive-map__toolbar button:hover{color:#fff;background:var(--jilu-map-ink)}.jilu-interactive-map__toolbar button:active{transform:scale(.94)}.jilu-interactive-map__toolbar button:focus-visible,.jilu-local-map:focus-visible,.jilu-map-marker:focus-visible{outline:3px solid var(--qy-focus);outline-offset:2px}.jilu-interactive-map__toolbar button.is-locate{color:#4e4585;background:#a99be82b}.jilu-interactive-map__toolbar button.is-locate:hover{color:#fff;background:#7364c9}.jilu-interactive-map__toolbar button:disabled{opacity:.52;cursor:wait}.jilu-local-map{overflow:hidden;outline:none;background:#f8f8f3;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.jilu-local-map.is-static-demo{cursor:default;touch-action:auto}.jilu-local-map.is-dragging{cursor:grabbing}.jilu-local-map__static-backdrop{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:fill;opacity:.97;filter:saturate(.82) contrast(.96) brightness(1.03);pointer-events:none;-webkit-user-select:none;user-select:none}.jilu-local-map__art{position:absolute;z-index:3;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;pointer-events:none}.jilu-local-map__tile-layer{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#f8f8f3;pointer-events:none}.jilu-local-map__tile{position:absolute;display:block;max-width:none;opacity:.66;filter:saturate(.42) contrast(.8) brightness(1.16);pointer-events:none;-webkit-user-select:none;user-select:none}.jilu-local-map__fallback-details{opacity:1;transition:opacity .18s ease}.jilu-local-map.has-detailed-tiles .jilu-local-map__fallback-details,.jilu-local-map.is-static-demo .jilu-local-map__fallback-details,.jilu-local-map.is-baidu-static .jilu-local-map__fallback-details{opacity:0}.jilu-local-map__baidu-backdrop{opacity:1;filter:saturate(.9) contrast(.98) brightness(1.02)}.jilu-local-map__water{fill:#dce9e6;stroke:#c9dcda;stroke-width:1.5}.jilu-local-map__road-outline{fill:none;stroke:#d3d6d0;stroke-linecap:round;stroke-linejoin:round}.jilu-local-map__road-outline.is-major{stroke-width:11}.jilu-local-map__road-outline.is-street{stroke-width:7}.jilu-local-map__road{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round}.jilu-local-map__road.is-major{stroke-width:8}.jilu-local-map__road.is-street{stroke-width:4.5}.jilu-local-map__route-shadow,.jilu-local-map__route{fill:none;stroke-linecap:round;stroke-linejoin:round}.jilu-local-map__route-shadow{stroke:#11111129;stroke-width:calc(var(--jilu-local-route-weight, 3px) + 2px)}.jilu-local-map__route{stroke:var(--jilu-map-green);stroke-width:var(--jilu-local-route-weight, 3px);stroke-dasharray:8 5}.jilu-local-map[data-route-geometry=street-grid] .jilu-local-map__route{stroke-dasharray:none}.jilu-local-map.is-static-demo .jilu-local-map__route-shadow{stroke:#ffffffdb;stroke-width:calc(var(--jilu-local-route-weight, 3px) + 3px)}.jilu-local-map.is-static-demo .jilu-local-map__route{stroke:var(--qy-focus);stroke-width:calc(var(--jilu-local-route-weight, 3px) + 1px);stroke-dasharray:none}.jilu-local-map__district-label{fill:#8b8f88;font-family:inherit;font-size:12px;font-weight:650;letter-spacing:.08em;text-anchor:middle}.jilu-local-map__static-label{fill:#858982;font-family:inherit;font-size:11px;font-weight:650;letter-spacing:.06em;paint-order:stroke;stroke:#ffffffeb;stroke-width:4px;text-anchor:middle}.jilu-local-map__static-label.is-featured{fill:#62675f;font-size:15px;font-weight:750;letter-spacing:.04em}.jilu-map-attribution{position:absolute;z-index:11;right:7px;bottom:42px;max-width:calc(100% - 14px);padding:3px 6px;overflow:hidden;border:1px solid rgba(17,17,17,.07);border-radius:6px;color:#747a72;background:#ffffffdb;font-size:11px;font-weight:500;line-height:1.2;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.jilu-map-attribution:hover{color:#4e6652;background:#fffffff5}.jilu-interactive-map.is-compact .jilu-map-attribution{right:6px;bottom:62px;max-width:128px;padding:2px 4px;font-size:11px}.jilu-map-marker{position:absolute;z-index:5;display:grid;width:29px;height:29px;margin:0;padding:0;place-items:center;transform:translate(-50%,-100%);border:3px solid #ffffff;border-radius:50% 50% 50% 8px;color:#fff;background:var(--jilu-map-green);box-shadow:0 4px 12px #1113;font:inherit;cursor:pointer;transition:width .16s ease,height .16s ease,background-color .16s ease,transform .16s ease}.jilu-map-marker>span{transform:rotate(0);font-size:11px;font-weight:750}.jilu-map-marker>small{position:absolute;top:calc(100% + 8px);left:50%;max-width:132px;padding:4px 7px;overflow:hidden;transform:translate(-50%);border:1px solid rgba(17,17,17,.08);border-radius:7px;color:#343834;background:#ffffffe6;box-shadow:0 2px 7px #1111110f;font-size:11px;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.jilu-map-marker:hover,.jilu-map-marker.is-active{z-index:8;width:35px;height:35px;transform:translate(-50%,-100%) scale(1.04);background:var(--jilu-map-ink)}.jilu-map-marker.is-active>small{color:#fff;background:var(--jilu-map-ink)}.jilu-local-map.is-static-demo .jilu-map-marker{width:26px;height:26px;transform:translate(-50%,-50%);border-width:2px;border-radius:50%;background:var(--qy-focus);box-shadow:0 0 0 2px #ffffffb3,0 4px 10px #171e1833}.jilu-local-map.is-static-demo .jilu-map-marker:hover,.jilu-local-map.is-static-demo .jilu-map-marker.is-active{width:30px;height:30px;transform:translate(-50%,-50%) scale(1.02);background:var(--qy-primary)}.jilu-local-map.is-static-demo .jilu-map-marker>small{display:none}.jilu-map-active-callout{position:absolute;z-index:10;display:grid;min-width:158px;pointer-events:none;max-width:210px;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:center;padding:8px 12px 8px 8px;transform:translate(20px,-50%);border:1px solid rgba(41,45,41,.08);border-radius:12px;color:#30332f;background:#fffffff7;box-shadow:0 8px 24px #2a2f2a29}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.jilu-local-map.is-static-demo .jilu-map-marker,.jilu-local-map.is-static-demo .jilu-map-marker:hover,.jilu-local-map.is-static-demo .jilu-map-marker.is-active{width:40px;height:40px;transform:translate(-50%,-50%);border-width:3px}}.jilu-map-active-callout>img{position:relative;z-index:1;width:48px;height:48px;object-fit:cover;border-radius:8px}.jilu-map-active-callout>span{position:relative;z-index:1;display:grid;min-width:0;gap:4px}.jilu-map-active-callout small{color:#6f8f72;font-size:11px;font-weight:750;line-height:1}.jilu-map-active-callout strong{overflow:hidden;font-size:12px;font-weight:750;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.jilu-local-map.is-static-demo .jilu-map-selection{display:none}.jilu-current-location{position:absolute;z-index:9;width:18px;height:18px;transform:translate(-50%,-50%);border:3px solid #ffffff;border-radius:50%;background:#7364c9;box-shadow:0 0 0 8px #a99be83b,0 3px 10px #1113;pointer-events:none}.jilu-current-location i{position:absolute;top:-11px;right:-11px;bottom:-11px;left:-11px;border:1px solid rgba(115,100,201,.35);border-radius:50%;animation:jilu-map-location 1.8s ease-out infinite}.jilu-map-selection{position:absolute;z-index:12;bottom:48px;left:12px;display:flex;width:min(290px,calc(100% - 24px));flex-direction:column;gap:3px;padding:12px 14px;border:1px solid rgba(17,17,17,.09);border-radius:12px;background:#fffffff2;box-shadow:0 7px 20px #1111111f;pointer-events:none}.jilu-map-selection>span{color:var(--jilu-map-green);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.jilu-map-selection>strong{overflow:hidden;font-size:15px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.jilu-map-selection>small{overflow:hidden;color:#72766f;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.jilu-map-selection>em{color:#886141;font-size:11px;font-style:normal;line-height:1.35}.jilu-map-loading{position:absolute;z-index:11;top:56px;left:50%;display:inline-flex;align-items:center;gap:8px;padding:7px 11px;transform:translate(-50%);border:1px solid rgba(17,17,17,.08);border-radius:999px;color:#5e5145;background:#fffffff0;box-shadow:0 4px 12px #11111114;font-size:11px;white-space:nowrap;pointer-events:none}.jilu-map-loading>span{width:12px;height:12px;border:2px solid rgba(233,164,91,.35);border-top-color:#e9a45b;border-radius:50%;animation:jilu-map-spin .9s linear infinite}.jilu-baidu-map-shell,.jilu-amap-shell{background:#eceee9}.jilu-amap-marker{position:relative;display:grid;width:23px;height:23px;place-items:center;padding:0;border:2px solid #ffffff;border-radius:50%;color:#fff;background:#6f8f72;box-shadow:0 3px 10px #11111138;font-family:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer}.jilu-amap-marker:after{position:absolute;content:"";top:-10px;right:-10px;bottom:-10px;left:-10px}.jilu-amap-marker.is-compact{width:19px;height:19px;font-size:10px}.jilu-amap-marker.is-compact:after{top:-13px;right:-13px;bottom:-13px;left:-13px}.jilu-amap-marker.is-active{width:27px;height:27px;color:#fff;background:#111}.jilu-amap-marker.is-compact.is-active{width:23px;height:23px}.jilu-amap-marker:focus-visible,.jilu-amap-active-callout:focus-visible{outline:3px solid rgba(115,100,201,.48);outline-offset:2px}.jilu-amap-current-location{display:block;width:17px;height:17px;border:3px solid #ffffff;border-radius:50%;background:#7364c9;box-shadow:0 0 0 4px #7364c933,0 3px 10px #52449a33}.jilu-baidu-active-callout,.jilu-amap-active-callout{display:grid;width:100%;min-height:42px;grid-template-columns:34px minmax(0,1fr);gap:7px;align-items:center;padding:5px;overflow:hidden;border:1px solid rgba(17,17,17,.08);border-radius:10px;color:#272823;background:#fffffff2;box-shadow:0 5px 14px #11111121;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.jilu-amap-active-callout{border:1px solid rgba(17,17,17,.08);font:inherit;text-align:left;cursor:pointer}.jilu-baidu-active-callout>img,.jilu-amap-active-callout>img{width:34px;height:34px;object-fit:cover;border-radius:7px}.jilu-baidu-active-callout>span,.jilu-amap-active-callout>span{display:grid;min-width:0;gap:2px}.jilu-baidu-active-callout small,.jilu-baidu-active-callout strong,.jilu-amap-active-callout small,.jilu-amap-active-callout strong{overflow:hidden;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.jilu-baidu-active-callout small,.jilu-amap-active-callout small{color:#6f8f72;font-size:11px;font-weight:750}.jilu-baidu-active-callout strong,.jilu-amap-active-callout strong{font-size:11px;font-weight:700}.timeline-planner-page .planner-mini-map:has(.jilu-baidu-map-shell)>.planner-map-selection,.timeline-planner-page .planner-mini-map:has(.jilu-amap-shell)>.planner-map-selection{display:none}.jilu-baidu-map-status,.jilu-amap-status{position:absolute;z-index:12;top:58px;left:12px;display:flex;max-width:min(420px,calc(100% - 24px));flex-direction:column;align-items:flex-start;gap:3px;pointer-events:none}.jilu-baidu-map-status>span,.jilu-amap-status>span{display:block;padding:5px 9px;border:1px solid rgba(17,17,17,.08);border-radius:7px;color:#545850;background:#fffffff0;box-shadow:0 3px 10px #11111112;font-size:11px;line-height:1.3}.jilu-interactive-map__footer{position:absolute;z-index:20;right:12px;bottom:10px;left:12px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;color:#565a54;font-size:11px;line-height:1.35;pointer-events:none}.jilu-interactive-map.is-baidu-provider .jilu-interactive-map__footer,.jilu-interactive-map.is-amap-provider .jilu-interactive-map__footer{bottom:38px}.jilu-interactive-map__footer>div,.jilu-interactive-map__footer>span{max-width:min(58%,420px);padding:5px 8px;border:1px solid rgba(17,17,17,.07);border-radius:7px;background:#ffffffe8;box-shadow:0 2px 8px #1111110f}.jilu-interactive-map__footer strong{color:var(--jilu-map-ink)}@keyframes jilu-map-spin{to{transform:rotate(360deg)}}@keyframes jilu-map-pulse{50%{opacity:.45}}@keyframes jilu-map-location{0%{opacity:.65;transform:scale(.55)}to{opacity:0;transform:scale(1.45)}}@media(max-width:640px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.jilu-interactive-map:not(.is-embedded){min-height:320px}.jilu-interactive-map__toolbar{top:8px;right:8px;left:8px}.jilu-map-mode-badge{min-height:28px;padding:5px 8px;font-size:11px}.jilu-interactive-map__toolbar nav{gap:2px;padding:3px}.jilu-interactive-map__toolbar button{width:31px;height:31px}.jilu-map-marker>small{display:none}.jilu-map-selection{bottom:56px;left:8px;width:min(240px,calc(100% - 16px))}.jilu-interactive-map__footer{right:8px;bottom:7px;left:8px}.jilu-interactive-map__footer>div{max-width:100%}.jilu-interactive-map__footer>span{display:none}}@media(prefers-reduced-motion:reduce){.jilu-map-mode-badge i,.jilu-current-location i,.jilu-map-loading>span{animation:none}.jilu-interactive-map__toolbar button,.jilu-map-marker{transition:none}}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.jilu-interactive-map__toolbar{right:max(8px,env(safe-area-inset-right,0px));left:max(8px,env(safe-area-inset-left,0px))}.jilu-interactive-map__toolbar button,.jilu-interactive-map.is-compact .jilu-interactive-map__toolbar button{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:10px}.jilu-map-marker,.jilu-map-marker:hover,.jilu-map-marker.is-active,.jilu-local-map.is-static-demo .jilu-map-marker,.jilu-local-map.is-static-demo .jilu-map-marker:hover,.jilu-local-map.is-static-demo .jilu-map-marker.is-active{width:44px;min-width:44px;height:44px;min-height:44px}}@font-face{font-family:"Noto Serif SC Web";src:url(/assets/fonts/noto-serif-sc/noto-serif-sc-personality.woff2) format("woff2");font-style:normal;font-weight:200 900;font-display:swap}.personality-journey-page{--qian-blue: var(--qy-primary);--qian-blue-dark: var(--qy-primary-dark);--qian-blue-soft: var(--qy-tint);--qian-silver: #bfc3c9;--qian-teal: var(--qy-teal);--qian-seal: #a84b3a;--qian-cloud: var(--qy-bg);--qian-ink: var(--qy-ink);--qian-muted: var(--qy-muted);--qian-line: var(--qy-line);--qian-paper: var(--qy-surface);--qian-ease-out: cubic-bezier(.23, 1, .32, 1);--qian-ease-in-out: cubic-bezier(.77, 0, .175, 1);--qian-serif: "Noto Serif SC Web", "Noto Serif SC", "Source Han Serif SC", "STSong", serif;grid-column:2;grid-row:1 / -1;width:100%;min-width:0;min-height:100vh;min-height:100dvh;overflow:hidden;outline:0;background:var(--qian-cloud);color:var(--qian-ink);font-family:var(--font-source-han)}.personality-journey-page button{border:0;font:inherit}.personality-journey-page button:focus-visible{outline:3px solid rgba(34,199,201,.38);outline-offset:3px}.personality-intro-panel{position:relative;display:grid;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--qian-cloud)}.personality-hero-image{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:qian-hero-reveal 1s var(--qian-ease-in-out) both}.personality-intro-copy{position:relative;z-index:2;width:min(720px,56%);align-self:center;margin-bottom:138px;padding-left:clamp(54px,7.2vw,118px)}.personality-kicker{margin:0 0 20px;color:var(--qian-blue);font-size:13px;font-weight:720;letter-spacing:.18em;animation:qian-copy-enter .52s var(--qian-ease-out) .12s both}.personality-intro-copy h1{max-width:680px;margin:0;color:#17213a;font-family:var(--qian-serif);font-size:clamp(44px,3.5vw,52px);font-weight:650;letter-spacing:-.055em;line-height:1.18;text-wrap:balance;animation:qian-copy-enter .62s var(--qian-ease-out) .17s both}.personality-intro-copy h1 span{display:block;margin-top:8px}.personality-intro-summary{max-width:480px;margin:24px 0 0;color:var(--qian-muted);font-size:clamp(16px,1.25vw,20px);line-height:1.75;animation:qian-copy-enter .52s var(--qian-ease-out) .25s both}.personality-intro-actions{display:grid;grid-template-columns:minmax(0,1fr);width:min(390px,100%);gap:12px;margin-top:34px;margin-inline-end:auto;animation:qian-copy-enter .52s var(--qian-ease-out) .32s both}.personality-intro-actions>.personality-primary-action,.personality-intro-actions>.personality-enter-action{width:100%;gap:10px;justify-content:center;padding-inline:18px;text-align:center;white-space:nowrap}@media(max-width:359px){.personality-intro-actions>.personality-primary-action,.personality-intro-actions>.personality-enter-action{white-space:normal}}.personality-primary-action{display:inline-flex;min-height:58px;gap:14px;align-items:center;justify-content:center;padding:0 24px;border-radius:16px;background:var(--qian-blue);box-shadow:0 16px 36px #0d2f7a33;color:#fff;font-size:15px;font-weight:760;cursor:pointer;transition:background-color .16s var(--qian-ease-out),box-shadow .16s var(--qian-ease-out),transform .16s var(--qian-ease-out)}.personality-primary-action svg{width:18px;height:18px}.personality-primary-action:active{transform:scale(.96)}.personality-enter-action{display:inline-flex;min-height:58px;align-items:center;justify-content:center;border:1px solid rgba(13,47,122,.2);border-radius:16px;background:#ffffffe6;box-shadow:0 12px 30px #0d2f7a1a;color:var(--qian-blue);font-size:15px;font-weight:760;cursor:pointer;transition:background-color .15s var(--qian-ease-out),border-color .15s var(--qian-ease-out),box-shadow .15s var(--qian-ease-out),transform .15s var(--qian-ease-out)}.personality-enter-action svg{width:18px;height:18px}.personality-enter-action:active{transform:scale(.96)}.personality-text-action{display:inline-flex;width:fit-content;min-height:42px;gap:10px;align-items:center;padding:0 4px;background:transparent;color:#5f6879;font-size:13px;font-weight:680;cursor:pointer;transition:color .16s var(--qian-ease-out)}.personality-text-action svg{width:17px;height:17px}.personality-duration-note{display:inline-flex;min-height:38px;gap:8px;align-items:center;margin-top:18px;padding:0 14px;border:1px solid rgba(13,47,122,.12);border-radius:999px;background:#ffffffc7;color:#768094;font-size:12px;font-weight:620;animation:qian-copy-enter .48s var(--qian-ease-out) .38s both}.personality-duration-note svg{width:15px;height:15px}.personality-preview-strip{position:absolute;z-index:3;right:clamp(28px,3.2vw,54px);bottom:clamp(24px,3.2vh,42px);left:clamp(28px,3.2vw,54px);display:grid;min-height:154px;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid rgba(13,47,122,.13);border-radius:24px;background:#ffffffe6;box-shadow:0 20px 50px #122b5814;animation:qian-preview-enter .62s var(--qian-ease-out) .42s both}.personality-preview-pattern{position:absolute;right:0;bottom:-56px;left:0;width:100%;height:114px;object-fit:cover;opacity:.055;pointer-events:none}.personality-preview-item{position:relative;z-index:1;display:grid;min-width:0;grid-template-columns:82px minmax(0,1fr) 40px;gap:18px;align-items:center;padding:24px 28px}.personality-preview-item+.personality-preview-item{border-left:1px solid rgba(13,47,122,.1)}.personality-preview-item>img{width:82px;height:82px;border:4px solid #fff;border-radius:999px;object-fit:cover;box-shadow:0 0 0 1px #0d2f7a24,0 10px 24px #0d2f7a1f}.personality-preview-item>div{display:grid;min-width:0;gap:7px}.personality-preview-item strong{overflow:hidden;color:#1b2742;font-family:var(--qian-serif);font-size:clamp(18px,1.45vw,25px);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.personality-preview-item small{color:#81899a;font-size:11px;font-weight:680;letter-spacing:.08em}.personality-preview-item>span{width:12px;height:12px;justify-self:end;border:3px solid #fff;border-radius:999px;background:var(--qian-teal);box-shadow:0 0 0 1px #22c7c980}.personality-quiz-panel,.personality-analysis-panel,.personality-reveal-panel{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--qian-cloud)}.personality-quiz-panel{--personality-quiz-card-surface: radial-gradient(circle at 78% 18%, rgba(35, 196, 198, .24), transparent 26%), radial-gradient(circle at 18% 72%, rgba(64, 89, 160, .18), transparent 34%), linear-gradient(145deg, #f7f9ff 0%, #e8eef9 54%, #eef4f5 100%);padding:clamp(24px,3vw,46px) clamp(28px,4vw,70px) 44px}.personality-analysis-panel{display:grid;place-items:center;padding:clamp(28px,4vw,60px)}.personality-analysis-panel:after{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#f7f8faf0,#eaf0fac7),radial-gradient(circle at 76% 18%,rgba(34,199,201,.15),transparent 36%);content:""}.personality-analysis-image{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.personality-analysis-back{position:absolute;z-index:3;top:clamp(22px,3vw,44px);left:clamp(24px,4vw,68px);display:inline-flex;min-height:44px;gap:9px;align-items:center;padding:0 14px;border:1px solid rgba(13,47,122,.12);border-radius:999px;background:#ffffffc7;color:#5f6879;font-size:13px;font-weight:700;cursor:pointer}.personality-analysis-back svg{width:18px;height:18px}.personality-analysis-card{position:relative;z-index:2;display:grid;width:min(720px,100%);min-height:430px;place-items:center;align-content:center;padding:clamp(34px,5vw,72px);border:1px solid rgba(13,47,122,.12);border-radius:34px;background:#ffffffe6;box-shadow:0 28px 80px #0d2f7a24;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.personality-analysis-card>img{width:76px;height:76px;object-fit:contain}.personality-analysis-card>p{margin:22px 0 0;color:var(--qian-teal);font-size:12px;font-weight:820;letter-spacing:.18em}.personality-analysis-card>h1{margin:18px 0 0;color:var(--qian-blue-dark);font-family:var(--qian-serif);font-size:clamp(34px,4vw,58px);font-weight:650;letter-spacing:-.045em;line-height:1.3;text-wrap:balance;animation:qian-analysis-message .24s var(--qian-ease-out) both}.personality-analysis-card>span{max-width:480px;margin-top:20px;color:#788195;font-size:13px;line-height:1.7}.personality-analysis-steps{display:flex;gap:8px;margin-top:30px}.personality-analysis-steps>span{width:28px;height:4px;border-radius:999px;background:#dce2eb;transform:scaleX(.8);transition:background-color .18s var(--qian-ease-out),transform .18s var(--qian-ease-out)}.personality-analysis-steps>span.active{background:var(--qian-teal);transform:scaleX(1)}.personality-flow-header{position:relative;z-index:2;display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center}.personality-flow-header>img{width:154px;height:52px;object-fit:contain}.personality-flow-header>span{justify-self:end;color:var(--qian-blue);font-size:13px;font-weight:800;letter-spacing:.12em}.personality-back-action{display:inline-flex;width:fit-content;min-height:42px;gap:8px;align-items:center;padding:0 10px 0 2px;background:transparent;color:#657087;font-size:13px;font-weight:700;cursor:pointer}.personality-back-action svg{width:18px;height:18px}.personality-progress-track{position:relative;z-index:2;height:3px;margin-top:20px;overflow:hidden;border-radius:999px;background:#e3e7ee}.personality-progress-track>span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--qian-teal);transform:scaleX(var(--progress));transform-origin:left center;transition:transform .25s var(--qian-ease-in-out)}.personality-progress-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.personality-quiz-layout{position:relative;z-index:1;display:grid;min-height:calc(100vh - 148px);min-height:calc(100dvh - 148px);grid-template-columns:minmax(480px,.92fr) minmax(440px,1.08fr);gap:clamp(18px,1.6vw,28px);align-items:stretch;padding:28px 0 18px}.personality-question-card{width:100%;justify-self:stretch;padding:clamp(28px,3.4vw,58px);border:1px solid rgba(13,47,122,.1);border-radius:30px;background:var(--personality-quiz-card-surface);box-shadow:0 24px 64px #142a541a;animation:qian-question-enter .3s var(--qian-ease-out) both}.personality-question-card>p{margin:0 0 18px;color:var(--qian-teal);font-size:12px;font-weight:820;letter-spacing:.18em}.personality-question-card>h1{margin:0;color:var(--qian-blue-dark);font-family:var(--qian-serif);font-size:clamp(34px,3.25vw,54px);font-weight:650;letter-spacing:-.045em;line-height:1.24;text-wrap:balance}.personality-question-symbol{display:inline-block;margin-left:.22em;width:.62em;height:.62em;object-fit:contain;vertical-align:.04em}.personality-question-hint{display:block;margin-top:16px;color:#808899;font-size:13px;line-height:1.7;transition:color .14s var(--qian-ease-out),transform .14s var(--qian-ease-out)}.personality-question-hint.is-reacting{color:var(--qian-blue);font-weight:720;transform:translate(3px)}.personality-option-list{display:grid;gap:12px;margin-top:34px}.personality-option-list button{display:grid;width:100%;min-height:72px;grid-template-columns:36px minmax(0,1fr) 24px;gap:14px;align-items:center;padding:12px 18px;border:1px solid #e1e5ec;border-radius:16px;background:#fbfcfe;color:#29344d;text-align:left;cursor:pointer;transition:border-color .18s var(--qian-ease-out),background-color .18s var(--qian-ease-out),color .18s var(--qian-ease-out),transform .16s var(--qian-ease-out)}.personality-option-list button:active{transform:scale(.985)}.personality-option-list button>span{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;background:#edf1f7;color:#69758b;font-size:12px;font-weight:820}.personality-option-list button>strong{display:block;min-width:0;font-family:var(--font-source-han);font-size:16px;font-style:normal;font-weight:650;letter-spacing:0;line-height:1.5;text-align:start;text-wrap:pretty}.personality-option-list button>svg{width:20px;height:20px;color:var(--qian-teal);opacity:0;transform:scale(.9);transition:opacity .16s var(--qian-ease-out),transform .16s var(--qian-ease-out)}.personality-option-list button.selected{border-color:#0d2f7a70;background:var(--qian-blue-soft);color:var(--qian-blue-dark)}.personality-option-list button.selected>span{background:var(--qian-blue);color:#fff}.personality-option-list button.selected>svg{opacity:1;transform:scale(1)}.personality-question-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:24px}.personality-question-actions button{display:inline-flex;min-height:48px;gap:9px;align-items:center;justify-content:center;padding:11px 18px;border-radius:999px;font-size:14px;font-weight:760;cursor:pointer;transition:border-color .16s var(--qian-ease-out),background-color .16s var(--qian-ease-out),color .16s var(--qian-ease-out),transform .16s var(--qian-ease-out)}.personality-question-actions button:active:not(:disabled){transform:scale(.98)}.personality-question-actions button:disabled{cursor:not-allowed;opacity:.46}.personality-question-previous{border:1px solid rgba(13,47,122,.18);background:transparent;color:var(--qian-blue-dark)}.personality-question-auto-note{color:#65728a;font-size:12px;font-weight:680;text-align:right}.personality-question-next{min-width:152px;border:1px solid var(--qian-blue);background:var(--qian-blue);color:#fff;box-shadow:0 12px 24px #0d2f7a33}.personality-question-next:hover:not(:disabled){background:var(--qian-blue-dark)}.personality-question-card:is([data-option-count="3"],[data-option-count="4"]){padding-block:clamp(24px,2.4vw,38px)}.personality-question-card:is([data-option-count="3"],[data-option-count="4"])>p{margin-bottom:10px}.personality-question-card:is([data-option-count="3"],[data-option-count="4"])>h1{font-size:clamp(30px,2.7vw,44px);line-height:1.18}.personality-question-card:is([data-option-count="3"],[data-option-count="4"]) .personality-question-hint{margin-top:10px;line-height:1.5}.personality-question-card:is([data-option-count="3"],[data-option-count="4"]) .personality-option-list{gap:8px;margin-top:18px}.personality-question-card:is([data-option-count="3"],[data-option-count="4"]) .personality-option-list button{min-height:56px;padding-block:8px}.personality-quiz-scene{position:relative;isolation:isolate;display:grid;width:100%;height:min(68vh,720px);min-height:520px;place-items:end center;overflow:hidden;border:1px solid rgba(13,47,122,.1);border-radius:34px;background:var(--personality-quiz-card-surface);box-shadow:0 28px 72px #0c286224}.personality-quiz-scene:before{position:absolute;z-index:-1;top:14%;right:10%;bottom:10%;left:10%;border:1px solid rgba(13,47,122,.09);border-radius:50% 50% 42% 46%;background:repeating-radial-gradient(circle at 50% 96%,transparent 0 42px,rgba(13,47,122,.045) 43px 44px);content:"";transform:rotate(-6deg)}.personality-quiz-character{position:absolute;z-index:1;bottom:4px;left:50%;display:block;width:min(82%,540px);height:86%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 24px rgba(22,38,75,.18));translate:-50% 0;animation:qian-character-enter .32s var(--qian-ease-out) both}.personality-quiz-scene-caption{position:absolute;z-index:2;top:26px;left:28px;display:grid;gap:6px;max-width:220px}.personality-quiz-scene-caption>span{color:var(--qian-teal);font-size:11px;font-weight:820;letter-spacing:.16em}.personality-quiz-scene-caption>strong{color:var(--qian-blue-dark);font-family:var(--qian-serif);font-size:clamp(19px,1.6vw,25px);font-weight:650;letter-spacing:-.025em}.personality-quiz-scene-index{position:absolute;z-index:0;right:24px;bottom:8px;color:#0d2f7a14;font-family:var(--qian-serif);font-size:clamp(96px,11vw,174px);font-weight:700;line-height:.8;pointer-events:none}.personality-flow-pattern{position:absolute;z-index:0;right:-120px;bottom:-160px;width:840px;height:280px;object-fit:cover;opacity:.05;pointer-events:none}.personality-reveal-panel{display:grid;grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr);gap:clamp(26px,3vw,46px);align-items:start;padding:clamp(34px,4vw,66px)}.personality-reveal-pattern{position:absolute;top:-118px;right:-180px;width:980px;height:326px;object-fit:cover;opacity:.055;pointer-events:none}.personality-result-story,.personality-route-result{position:relative;z-index:1}.personality-result-story{width:100%;max-width:none;justify-self:stretch;overflow:hidden;padding:20px;border:1px solid rgba(255,255,255,.16);border-radius:32px;background:var(--qian-blue);box-shadow:inset 0 0 0 1px #ffffff14,0 30px 78px #0d2f7a33;color:#fff;animation:qian-result-enter .64s var(--qian-ease-out) both}.personality-poster-head{display:flex;min-height:54px;gap:18px;align-items:center;justify-content:space-between;padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:16px;background:#fffffff5}.personality-poster-head>img{width:118px;height:38px;object-fit:contain;object-position:left center}.personality-poster-head>span{max-width:180px;overflow:hidden;color:var(--qian-blue-dark);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.personality-poster-hero{display:grid;min-height:326px;grid-template-columns:minmax(0,1fr) minmax(205px,.78fr);gap:12px;align-items:end;padding:30px 8px 18px}.personality-poster-identity{min-width:0;align-self:center}.personality-poster-gogo{display:block;color:#fff;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,3.4vw,50px);line-height:.95}.personality-poster-identity>h1{margin:20px 0 0;color:#fff;font-family:var(--qian-serif);font-size:clamp(45px,4.1vw,64px);font-weight:720;letter-spacing:-.06em;line-height:1.05;text-wrap:balance}.personality-poster-code{margin:12px 0 0;color:var(--qian-teal);font-size:12px;font-weight:820}.personality-poster-meta{display:grid;gap:14px;margin:25px 0 0}.personality-poster-meta dt{color:#8fe6e7;font-size:9px;font-weight:820;line-height:1.4;text-transform:uppercase}.personality-poster-meta dd{margin:4px 0 0;color:#f6f9ff;font-size:12px;font-weight:680;line-height:1.55;text-wrap:pretty}.personality-poster-mascot{width:min(100%,250px);margin:0;justify-self:end}.personality-poster-mascot>img{display:block;width:100%;height:auto;object-fit:contain;filter:saturate(.9) contrast(1.02)}.personality-poster-decode{padding:26px 8px 0}.personality-poster-kicker{display:block;color:var(--qian-teal);font-size:10px;font-weight:840;line-height:1.4;text-transform:uppercase}.personality-poster-decode>h2{margin:8px 0 0;color:#fff;font-family:var(--qian-serif);font-size:clamp(26px,2.2vw,34px);font-weight:650;line-height:1.35;text-wrap:balance}.personality-poster-summary{margin:11px 0 0;color:#dce7fb;font-size:13px;line-height:1.75;text-wrap:pretty}.personality-poster-synthesis{margin:13px 0 0;padding:11px 13px;border:1px solid rgba(34,199,201,.28);border-left:3px solid var(--qian-teal);border-radius:13px;background:#0518426b;color:#e6eefc;font-size:11px;line-height:1.65;text-wrap:pretty}.personality-poster-synthesis>b{color:#fff}.personality-poster-dimension-grid,.personality-poster-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.personality-poster-dimension-card{display:grid;min-width:0;grid-template-columns:30px minmax(0,1fr);gap:9px;padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#05184261}.personality-poster-dimension-card>b{color:var(--qian-teal);font-family:Georgia,Times New Roman,serif;font-size:23px;line-height:1.1}.personality-poster-dimension-card h3,.personality-poster-info-card h3{margin:0;color:#fff;font-size:13px;line-height:1.45;text-wrap:balance}.personality-poster-dimension-card small,.personality-poster-info-card>small{display:block;margin-top:1px;color:#8fe6e7;font-size:9px;font-weight:780}.personality-poster-dimension-card p,.personality-poster-info-card p{margin:5px 0 0;color:#cbd8ef;font-size:10px;line-height:1.58;text-wrap:pretty}.personality-poster-info-card{min-width:0;padding:12px 13px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#ffffff12}.personality-poster-info-card.is-accent{border-color:#22c7c94d;background:#22c7c917}.personality-poster-info-card>h3{margin-top:5px}.personality-poster-info-card>a{display:inline-flex;min-height:28px;gap:5px;align-items:center;margin-top:8px;color:#8fe6e7;font-size:10px;font-weight:760;text-decoration:none}.personality-poster-info-card>a>svg{width:12px;height:12px}.personality-poster-info-card .personality-dialect-audio{margin-top:9px}.personality-poster-info-card .personality-dialect-audio>button{min-height:34px;padding:0 11px;border-color:#ffffff2e;background:#fffffff0;box-shadow:none;font-size:10px}.personality-poster-info-card .personality-dialect-audio-note,.personality-poster-info-card .personality-dialect-audio-status{color:#aebed8;font-size:9px}.personality-result-story .personality-result-match{min-height:36px;margin-top:13px;background:#22c7c91f;color:#8fe6e7;font-size:10px}.personality-result-story>.personality-poster-disclaimer{margin:14px 8px 0;padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#05184252;color:#aebed8;font-size:9px;font-weight:500;letter-spacing:0;line-height:1.6;text-transform:none;text-wrap:pretty}.personality-result-mark{width:86px;height:86px;object-fit:contain}.personality-result-story>p,.personality-route-copy>p{margin:18px 0 0;color:var(--qian-teal);font-size:12px;font-weight:820;letter-spacing:.18em}.personality-dialect-heading{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-top:10px}.personality-dialect-heading>h1{margin:10px 0 0;color:var(--qian-blue);font-family:var(--qian-serif);font-size:clamp(48px,5vw,82px);font-weight:680;letter-spacing:-.06em;line-height:1.08}.personality-dialect-heading>span{display:inline-flex;min-height:32px;align-items:center;margin-bottom:9px;padding:0 11px;border:1px solid rgba(13,47,122,.16);border-radius:999px;background:#0d2f7a0f;color:var(--qian-blue);font-size:12px;font-weight:840;letter-spacing:.1em}.personality-dialect-audio{display:flex;flex-wrap:wrap;gap:7px 11px;align-items:center;margin-top:16px}.personality-dialect-audio>button{display:inline-flex;min-height:44px;gap:8px;align-items:center;justify-content:center;padding:0 15px;border:1px solid rgba(13,47,122,.18);border-radius:999px;background:#fff;color:var(--qian-blue);font-size:12px;font-weight:780;box-shadow:0 8px 24px #0d2f7a14;cursor:pointer;transition:transform .15s var(--qian-ease-out),background-color .15s var(--qian-ease-out)}.personality-dialect-audio>button:active{transform:scale(.97)}.personality-dialect-audio>button[aria-pressed=true]{background:var(--qian-blue-soft)}.personality-dialect-audio>button>svg{width:17px;height:17px}.personality-dialect-audio-note{color:#7a8496;font-size:11px;line-height:1.5}.personality-dialect-audio-status{flex-basis:100%;min-height:17px;color:#687287;font-size:11px}.personality-result-story>strong{display:block;max-width:560px;margin-top:20px;color:#253552;font-family:var(--qian-serif);font-size:clamp(18px,1.6vw,25px);font-weight:620;line-height:1.6}.personality-result-story>span{display:block;max-width:570px;margin-top:12px;color:var(--qian-muted);font-size:14px;line-height:1.85}.personality-dialect-definition{display:grid;max-width:590px;grid-template-columns:minmax(0,1fr) minmax(140px,.44fr);gap:14px;margin-top:20px;padding:15px 16px;border:1px solid rgba(13,47,122,.1);border-radius:16px;background:#ffffffb8}.personality-dialect-definition small{color:#087d83;font-size:10px;font-weight:800;letter-spacing:.12em}.personality-dialect-definition p{margin:5px 0 0;color:#4b5870;font-size:12px;line-height:1.65}.personality-dialect-definition a{display:inline-flex;min-height:32px;gap:5px;align-items:center;justify-self:start;color:var(--qian-blue);font-size:11px;font-weight:760;text-decoration:none}.personality-dialect-definition a>svg{width:13px;height:13px}.personality-result-match{display:inline-flex;min-height:38px;gap:8px;align-items:center;margin-top:22px;padding:0 14px;border-radius:999px;background:#22c7c91f;color:#087d83;font-size:12px;font-weight:780}.personality-result-match svg{width:16px;height:16px}.personality-dimension-summary{width:100%;max-width:none;margin-top:0;padding:18px 14px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:#05184275}.personality-dimension-grid{display:grid;gap:13px}.personality-dimension-item{display:grid;min-width:0;grid-template-columns:126px minmax(0,1fr) 126px;gap:10px;align-items:center}.personality-axis-pole{display:flex;min-width:0;gap:7px;align-items:center;color:#aebed8;font-size:10px;line-height:1.2}.personality-axis-pole.is-right{justify-content:flex-end;text-align:right}.personality-axis-pole>b{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:18px;line-height:1}.personality-axis-pole>span{display:grid;min-width:0;gap:2px}.personality-axis-pole.is-right>span{justify-items:end}.personality-axis-pole strong{color:#8fa3c4;font-size:9px;font-variant-numeric:tabular-nums;font-weight:800}.personality-axis-pole.is-selected,.personality-axis-pole.is-selected>b,.personality-axis-pole.is-selected strong{color:#8fe6e7}.personality-dimension-track{position:relative;height:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff2e}.personality-dimension-fill{position:absolute;inset:0 auto 0 0;width:var(--axis-left-percentage);border-radius:inherit;background:var(--qian-teal)}.personality-traits{display:grid;gap:0;margin:24px 0 0;border-top:1px solid var(--qian-line)}.personality-traits>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:20px;padding:17px 0;border-bottom:1px solid var(--qian-line)}.personality-traits dt{color:#8790a0;font-size:12px;font-weight:760}.personality-traits dd{margin:0;color:#33415a;font-size:13px;line-height:1.65}.personality-route-result{display:grid;width:min(720px,100%);height:auto;min-width:0;align-self:start;justify-self:center;overflow:hidden;border:1px solid rgba(13,47,122,.11);border-radius:32px;background:#fff;box-shadow:0 30px 78px #0d2f7a24;animation:qian-route-enter .72s var(--qian-ease-out) .11s both}.personality-route-gallery{display:grid;height:clamp(250px,31vh,330px);grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;padding:4px;background:#fff}.personality-route-gallery.is-1{display:block}.personality-route-gallery figure{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:4px;background:#dfe6ef}.personality-route-gallery figure.is-primary{grid-row:1 / 3}.personality-route-gallery.is-2 figure:not(.is-primary){grid-row:1 / 3}.personality-route-gallery.is-1 figure{width:100%;height:100%}.personality-route-gallery figure>img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--qian-ease-out)}.personality-route-gallery figcaption{position:absolute;right:12px;bottom:10px;left:12px;overflow:hidden;color:#fff;font-size:12px;font-weight:800;line-height:1.35;text-overflow:ellipsis;text-shadow:0 2px 7px rgba(3,17,48,.94);white-space:nowrap}.personality-route-copy{display:grid;min-height:0;padding:clamp(22px,2.4vw,32px)}.personality-route-match-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.personality-route-match-heading>p{margin:0;color:#087d83;font-size:11px;font-weight:820;letter-spacing:.08em}.personality-route-match-heading>strong{padding:5px 9px;border-radius:999px;background:#22c7c91c;color:#087d83;font-size:11px;font-variant-numeric:tabular-nums}.personality-route-copy h2{margin:8px 0 0;color:var(--qian-blue-dark);font-family:var(--qian-serif);font-size:clamp(29px,2.3vw,37px);font-weight:650;letter-spacing:-.04em;line-height:1.22}.personality-route-meta{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:8px;color:#43516a;font-size:12px;font-weight:720}.personality-route-meta>span+span:before{margin-right:18px;color:#a6afbd;content:"·"}.personality-route-summary{margin:13px 0 0;color:#687287;font-size:13px;line-height:1.72;text-wrap:pretty}.personality-route-match-note{display:flex;gap:9px;align-items:flex-start;margin-top:14px;padding:10px 11px;border:1px solid rgba(167,126,25,.2);border-radius:14px;background:#fffaf0;color:#536078}.personality-route-match-note>svg{width:17px;height:17px;flex:0 0 17px;margin-top:1px;color:#a77e19}.personality-route-match-note>span{display:grid;gap:3px}.personality-route-match-note strong{color:var(--qian-blue-dark);font-size:12px}.personality-route-match-note small{color:#6b768a;font-size:11px;line-height:1.5}.personality-route-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:0;margin:18px 0 0;padding:0;list-style:none}.personality-route-timeline li{position:relative;display:grid;min-width:0;grid-template-rows:18px 18px auto auto;justify-items:start;padding-right:8px}.personality-route-timeline li:before{position:absolute;top:25px;right:0;left:0;border-top:2px solid rgba(8,125,131,.38);content:""}.personality-route-timeline time{color:#40506a;font-size:10px;font-variant-numeric:tabular-nums;font-weight:760}.personality-route-timeline li>span{z-index:1;width:12px;height:12px;margin:2px 0 4px;border:3px solid #fff;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #087d83}.personality-route-timeline strong{padding-top:3px;color:#33415a;font-size:10px;line-height:1.4;text-wrap:balance}.personality-route-timeline small{grid-column:1 / -1;margin-top:5px;color:#8992a2;font-size:9px;line-height:1.45}.personality-route-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.92fr) auto;gap:9px;align-items:stretch;margin-top:22px}.personality-route-actions .personality-primary-action{min-height:48px;padding-inline:14px;font-size:12px}.personality-route-secondary,.personality-route-swap,.personality-poster-retake{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid rgba(13,47,122,.72);border-radius:12px;background:#fff;color:var(--qian-blue);font-size:12px;font-weight:760;cursor:pointer}.personality-route-swap{min-width:126px;border-color:transparent;background:transparent}.personality-route-swap:disabled{opacity:.46;cursor:not-allowed}.personality-poster-retake{min-height:44px;gap:7px;margin:14px 8px 0;border-color:#ffffff38;background:#ffffff14;color:#fff}.personality-poster-retake svg{width:14px;height:14px}.personality-poster-export{position:sticky;z-index:2;bottom:-20px;display:grid;gap:8px;margin:14px -20px -20px;padding:12px 20px 16px;border-top:1px solid rgba(255,255,255,.14);background:var(--qian-blue)}.personality-poster-export-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.personality-poster-download,.personality-poster-share,.personality-poster-export .personality-poster-retake{display:inline-flex;min-width:0;min-height:46px;gap:7px;align-items:center;justify-content:center;margin:0;padding:0 10px;border:1px solid rgba(255,255,255,.22);border-radius:12px;font-size:11px;font-weight:780;cursor:pointer}.personality-poster-download{background:#fff;color:var(--qian-blue-dark)}.personality-poster-share{border-color:var(--qian-teal);background:var(--qian-teal);color:#06275b}.personality-poster-export .personality-poster-retake{background:#ffffff14;color:#fff}.personality-poster-download:disabled,.personality-poster-share:disabled,.personality-poster-export .personality-poster-retake:disabled{opacity:.58;cursor:wait}.personality-poster-download>svg,.personality-poster-share>svg,.personality-poster-export .personality-poster-retake>svg{width:15px;height:15px;flex:0 0 15px}.personality-poster-export-status{min-height:16px;color:#b9c9e4;font-size:9px;line-height:1.5;text-align:center}.personality-saved-empty{display:grid;min-height:100vh;min-height:100dvh;place-content:center;justify-items:center;padding:48px 24px;background:var(--qian-cloud);color:var(--qian-blue-dark);text-align:center}.personality-saved-empty-mark{width:82px;height:82px;object-fit:contain}.personality-saved-empty>p{margin:20px 0 0;color:#087d83;font-size:11px;font-weight:820;letter-spacing:.13em}.personality-saved-empty>h1{max-width:720px;margin:12px 0 0;font-family:var(--qian-serif);font-size:clamp(34px,4.4vw,58px);font-weight:650;letter-spacing:-.045em;line-height:1.2;text-wrap:balance}.personality-saved-empty>span{max-width:590px;margin-top:18px;color:#687287;font-size:14px;line-height:1.75}.personality-saved-empty>div{display:grid;width:min(390px,100%);gap:9px;margin-top:28px}.personality-saved-empty .personality-primary-action,.personality-saved-empty .personality-retry-action{width:100%}.personality-retry-action{display:inline-flex;min-height:52px;gap:8px;align-items:center;justify-content:center;padding:0 17px;border:1px solid #dce1e9!important;border-radius:15px;background:#fff;color:#59657a;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .16s var(--qian-ease-out),color .16s var(--qian-ease-out),transform .16s var(--qian-ease-out)}.personality-retry-action:active{transform:scale(.97)}.personality-all-routes{display:block;width:fit-content;margin:14px auto 0;padding:8px 4px;background:transparent;color:#788195;font-size:12px;font-weight:680;cursor:pointer}@media(hover:hover)and (pointer:fine){.personality-primary-action:hover{background:var(--qian-blue-dark);box-shadow:0 18px 40px #0d2f7a42;transform:translateY(-1px)}.personality-enter-action:hover{border-color:#0d2f7a57;background:#fff;box-shadow:0 16px 34px #0d2f7a29;transform:translateY(-1px)}.personality-text-action:hover,.personality-back-action:hover,.personality-all-routes:hover{color:var(--qian-blue)}.personality-option-list button:hover:not(:disabled){border-color:#0d2f7a57;background:#f4f7fb}.personality-route-result:hover figure>img{transform:scale(1.025)}.personality-retry-action:hover{border-color:#0d2f7a52!important;color:var(--qian-blue)}.personality-route-secondary:hover,.personality-route-swap:hover,.personality-poster-retake:hover{border-color:var(--qian-teal);color:#087d83}.personality-route-alternatives button:hover{border-color:#0d2f7a4d;background:#f5f8fc}}@keyframes qian-hero-reveal{0%{opacity:0;clip-path:inset(0 0 0 16%)}to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes qian-copy-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes qian-preview-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes qian-question-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes qian-analysis-message{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes qian-result-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes qian-route-enter{0%{opacity:0;transform:translate(20px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@media(max-width:1380px){.personality-intro-copy{width:min(620px,52%);padding-left:clamp(42px,6vw,82px)}.personality-preview-item{grid-template-columns:68px minmax(0,1fr) 20px;gap:14px;padding:20px}.personality-preview-item>img{width:68px;height:68px}.personality-quiz-layout{grid-template-columns:minmax(440px,.92fr) minmax(430px,1.08fr)}.personality-reveal-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1121px){.personality-journey-page[data-personality-phase=quiz] .personality-quiz-layout{height:clamp(570px,72vh,640px);min-height:0;gap:0;align-items:stretch;margin:28px 0 18px;padding:0;overflow:hidden;border:1px solid rgba(13,47,122,.1);border-radius:34px;background:var(--personality-quiz-card-surface);box-shadow:0 28px 72px #0c286224}.personality-journey-page[data-personality-phase=quiz] .personality-question-card{display:flex;min-width:0;height:100%;flex-direction:column;justify-content:center;border:0;border-radius:0;background:transparent;box-shadow:none}.personality-journey-page[data-personality-phase=quiz] .personality-quiz-scene{height:100%;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none}html:has(.app-shell:is([data-page=home],[data-page=personality]) .personality-journey-page[data-personality-phase=reveal]),body:has(.app-shell:is([data-page=home],[data-page=personality]) .personality-journey-page[data-personality-phase=reveal]){height:100%;overflow:hidden}.personality-journey-page[data-personality-phase=reveal]{height:100dvh;min-height:0;overflow:hidden}.personality-journey-page[data-personality-phase=reveal] .personality-reveal-panel{height:100%;min-height:0;align-items:stretch;padding:clamp(18px,2vw,30px);overflow:hidden}.personality-journey-page[data-personality-phase=reveal] .personality-result-story,.personality-journey-page[data-personality-phase=reveal] .personality-route-result{width:100%;height:100%;max-height:100%;align-self:stretch;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(120,142,181,.78) transparent;scrollbar-gutter:stable;scrollbar-width:thin}.personality-journey-page[data-personality-phase=reveal] .personality-result-story::-webkit-scrollbar,.personality-journey-page[data-personality-phase=reveal] .personality-route-result::-webkit-scrollbar{width:8px}.personality-journey-page[data-personality-phase=reveal] .personality-result-story::-webkit-scrollbar-thumb,.personality-journey-page[data-personality-phase=reveal] .personality-route-result::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#788eb5b8;background-clip:padding-box}}@media(min-width:1121px)and (max-height:780px){.personality-journey-page[data-personality-phase=reveal] .personality-reveal-panel{gap:22px;padding:18px 24px}.personality-journey-page[data-personality-phase=reveal] .personality-route-gallery{height:192px}.personality-journey-page[data-personality-phase=reveal] .personality-route-copy{padding:18px 26px 16px}.personality-journey-page[data-personality-phase=reveal] .personality-route-summary{margin-top:9px;line-height:1.55}.personality-journey-page[data-personality-phase=reveal] .personality-route-match-note{margin-top:10px;padding-block:8px}.personality-journey-page[data-personality-phase=reveal] .personality-route-timeline{margin-top:12px}.personality-journey-page[data-personality-phase=reveal] .personality-route-actions{margin-top:14px}}@media(max-width:1120px){.personality-intro-copy{width:min(590px,58%)}.personality-preview-strip{min-height:136px}.personality-preview-item{grid-template-columns:58px minmax(0,1fr);padding:18px}.personality-preview-item>img{width:58px;height:58px}.personality-preview-item>span{display:none}.personality-quiz-layout,.personality-reveal-panel{grid-template-columns:minmax(0,1fr)}.personality-quiz-panel,.personality-reveal-panel{overflow:visible}.personality-question-card,.personality-result-story{width:100%;max-width:820px;justify-self:center}.personality-quiz-scene{width:min(760px,100%);height:420px;min-height:0;justify-self:center}.personality-journey-page[data-personality-phase=quiz] .personality-quiz-layout{min-height:clamp(520px,72vh,620px);gap:0;margin:28px 0 18px;padding:0;overflow:hidden;border:1px solid rgba(13,47,122,.1);border-radius:34px;background:var(--personality-quiz-card-surface);box-shadow:0 28px 72px #0c286224}.personality-journey-page[data-personality-phase=quiz] .personality-question-card{display:flex;min-width:0;flex-direction:column;justify-content:center;border:0;border-radius:0;background:transparent;box-shadow:none}.personality-journey-page[data-personality-phase=quiz] .personality-quiz-scene{width:100%;border:0;border-radius:0;background:transparent;box-shadow:none}.personality-reveal-panel{align-items:start;padding-top:56px;padding-bottom:72px}.personality-route-result{width:min(820px,100%);height:auto;justify-self:center}}@media(min-width:901px)and (max-width:1120px){.personality-journey-page[data-personality-phase=quiz] .personality-quiz-layout{grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);align-items:stretch}.personality-journey-page[data-personality-phase=quiz] .personality-quiz-scene{height:auto;min-height:0;align-self:stretch}.personality-journey-page[data-personality-phase=quiz] .personality-question-card{max-width:none;padding:clamp(28px,4vw,44px)}}@media(min-width:701px)and (max-width:1040px){html:has(.app-shell[data-page=home]),body:has(.app-shell[data-page=home]),html:has(.app-shell[data-page=personality]),body:has(.app-shell[data-page=personality]){width:100%;min-width:0;overflow-x:hidden}.app-shell:is([data-page=home],[data-page=personality]){width:100%;min-width:0;grid-template-columns:76px minmax(0,1fr)}.personality-intro-actions{grid-template-columns:minmax(0,1fr);width:min(390px,100%)}.personality-intro-panel:after{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#f7f8fafa,#f7f8faf0 38%,#f7f8faa8 58%,#f7f8fa00 80%);content:"";pointer-events:none}}@media(max-width:700px){html,body{width:100%!important;min-width:0!important;overflow-x:hidden}html:has(.app-shell[data-page=home]),body:has(.app-shell[data-page=home]),html:has(.app-shell[data-page=personality]),body:has(.app-shell[data-page=personality]){width:100%;min-width:0!important;overflow-x:hidden}.app-shell:is([data-page=home],[data-page=personality]){width:100%;min-width:0}.personality-journey-page{width:100%;min-height:calc(100dvh - 60px);overflow:visible}.personality-intro-panel{display:block;min-height:calc(100dvh - 60px);overflow:visible;padding-bottom:22px}.personality-hero-image{position:relative;display:block;width:100%;height:294px;object-fit:cover;object-position:67% center}.personality-intro-copy{width:100%;margin:-44px 0 0;padding:0 20px}.personality-kicker{margin-bottom:13px;font-size:11px}.personality-intro-copy h1{max-width:360px;font-size:clamp(36px,10.5vw,46px);line-height:1.18}.personality-intro-copy h1 span{margin-top:3px}.personality-intro-summary{max-width:350px;margin-top:17px;font-size:15px;line-height:1.7}.personality-intro-actions{grid-template-columns:minmax(0,1fr);width:100%;gap:8px;margin-top:24px}.personality-primary-action,.personality-enter-action{width:100%;min-height:54px}.personality-text-action{justify-self:center}.personality-duration-note{margin-top:12px}.personality-preview-strip{position:relative;right:auto;bottom:auto;left:auto;display:flex;min-height:0;gap:0;margin:26px 12px 0;overflow-x:auto;overflow-y:hidden;border-radius:20px;scroll-snap-type:x proximity}.personality-preview-item{min-width:min(78vw,300px);grid-template-columns:66px minmax(0,1fr);padding:16px;scroll-snap-align:start}.personality-preview-item+.personality-preview-item{border-left:1px solid rgba(13,47,122,.1)}.personality-preview-item>img{width:66px;height:66px}.personality-preview-item strong{font-size:20px}.personality-quiz-panel{min-height:calc(100dvh - 60px);padding:14px 12px calc(92px + env(safe-area-inset-bottom,0px))}.personality-flow-header{grid-template-columns:74px minmax(0,1fr) 106px}.personality-flow-header>img{width:118px;height:44px;justify-self:center}.personality-flow-header>span{font-size:10px;letter-spacing:.04em}.personality-back-action{min-height:44px;padding:0 6px 0 0}.personality-progress-track{margin-top:10px}.personality-quiz-layout{display:block;min-height:0;padding:18px 0 0}.personality-journey-page[data-personality-phase=quiz] .personality-quiz-layout{min-height:0;margin:18px 0 0;border-radius:23px}.personality-question-card{padding:26px 18px 20px;border-radius:23px}.personality-question-card>p{margin-bottom:13px}.personality-question-card>h1{font-size:clamp(31px,9.4vw,40px);line-height:1.25}.personality-option-list{gap:10px;margin-top:24px}.personality-option-list button{min-height:66px;grid-template-columns:32px minmax(0,1fr) 20px;gap:10px;padding:10px 13px;border-radius:15px}.personality-option-list button>span{width:30px;height:30px}.personality-option-list button>strong{font-size:16px}.personality-question-actions{margin-top:18px}.personality-question-actions button{min-height:46px;flex:1;padding-inline:12px}.personality-flow-pattern{display:none}.personality-quiz-scene{display:grid;width:100%;height:220px;min-height:0;margin-top:14px;border-radius:23px}.personality-quiz-character{right:10px;bottom:16px;left:auto;width:54%;height:88%;margin:0;translate:0}.personality-quiz-scene-caption{top:18px;left:18px;max-width:150px}.personality-quiz-scene-caption>strong{font-size:17px;line-height:1.35}.personality-quiz-scene-index{right:12px;bottom:4px;font-size:82px}.personality-analysis-panel{min-height:calc(100dvh - 60px);padding:78px 12px 22px}.personality-analysis-back{top:14px;left:12px;min-height:42px}.personality-analysis-card{min-height:390px;padding:34px 20px;border-radius:24px}.personality-analysis-card>img{width:64px;height:64px}.personality-analysis-card>h1{font-size:clamp(34px,10vw,44px)}.personality-reveal-panel{display:block;min-height:calc(100dvh - 60px);padding:26px 12px 28px;overflow:clip}.personality-reveal-pattern{top:-92px;right:0;width:100%;max-width:100%;opacity:.045}.personality-result-story{padding:12px;border-radius:24px}.personality-poster-export{bottom:-12px;margin:14px -12px -12px;padding:12px 12px calc(14px + env(safe-area-inset-bottom,0px))}.personality-poster-export-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.personality-poster-export .personality-poster-retake{grid-column:1 / -1}.personality-poster-head{min-height:48px;gap:10px;padding:6px 10px;border-radius:13px}.personality-poster-head>img{width:102px;height:34px}.personality-poster-head>span{max-width:132px;font-size:10px}.personality-poster-hero{min-height:270px;grid-template-columns:minmax(0,1fr) minmax(122px,.72fr);gap:6px;padding:23px 4px 16px}.personality-poster-gogo{font-size:34px}.personality-poster-identity>h1{margin-top:15px;font-size:clamp(38px,11.4vw,52px)}.personality-poster-code{margin-top:9px;font-size:10px}.personality-poster-meta{gap:10px;margin-top:17px}.personality-poster-meta dd{font-size:10px}.personality-poster-mascot{width:min(100%,152px)}.personality-dimension-summary{padding:15px 10px;border-radius:16px}.personality-dimension-grid{gap:11px}.personality-dimension-item{grid-template-columns:78px minmax(72px,1fr) 78px;gap:6px;padding:0}.personality-axis-pole{gap:5px;font-size:9px}.personality-axis-pole>b{font-size:16px}.personality-poster-decode{padding:23px 4px 0}.personality-poster-decode>h2{font-size:25px}.personality-poster-dimension-grid,.personality-poster-info-grid{grid-template-columns:minmax(0,1fr)}.personality-result-story>.personality-poster-disclaimer{margin-inline:4px}.personality-result-mark{width:68px;height:68px}.personality-dialect-heading>h1{font-size:clamp(42px,12.8vw,58px)}.personality-result-story>strong{margin-top:15px;font-size:18px}.personality-dialect-heading{gap:8px 10px}.personality-dialect-heading>span{margin-bottom:5px}.personality-dialect-audio{margin-top:13px}.personality-dialect-definition{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px;padding:13px 14px}.personality-traits{margin-top:25px}.personality-dimension-grid{gap:8px}.personality-dimension-item{padding:10px}.personality-dimension-labels span{font-size:10px}.personality-traits>div{grid-template-columns:78px minmax(0,1fr);gap:12px;padding:14px 0}.personality-route-result{margin-top:28px;border-radius:24px}.personality-route-gallery{height:228px;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr)}.personality-route-copy{padding:22px 17px}.personality-route-copy h2{font-size:29px}.personality-route-timeline{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:112px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 9px;scroll-snap-type:x proximity;scrollbar-width:thin}.personality-route-timeline li{scroll-snap-align:start}.personality-route-actions{display:grid;grid-template-columns:minmax(0,1fr);margin-top:22px}.personality-route-secondary,.personality-route-swap{width:100%}}@media(max-width:359px),(max-width:700px)and (max-height:650px){.personality-intro-panel{padding-bottom:14px}.personality-hero-image{height:220px}.personality-intro-copy{margin-top:-30px;padding:0 16px}.personality-kicker{margin-bottom:9px}.personality-intro-copy h1{font-size:33px;line-height:1.14}.personality-intro-summary{margin-top:11px;font-size:13px;line-height:1.55}.personality-intro-actions{margin-top:16px}.personality-duration-note{margin-top:8px}.personality-preview-strip{margin-top:16px}}@media(min-width:701px)and (max-width:900px)and (orientation:landscape)and (max-height:500px){.personality-quiz-panel{min-height:100dvh;padding:max(8px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 18px max(16px,env(safe-area-inset-left,0px))}.personality-flow-header{grid-template-columns:86px minmax(0,1fr) 96px}.personality-flow-header>img{width:116px;height:42px}.personality-progress-track{margin-top:5px}.personality-quiz-layout{display:block;min-height:0;padding:8px 0 0}.personality-question-card{width:min(720px,100%);margin:0 auto;padding:16px 20px;border-radius:20px}.personality-question-card>p{margin-bottom:7px;font-size:11px}.personality-question-card>h1{font-size:28px;line-height:1.18}.personality-question-card>span{margin-top:8px;font-size:11px}.personality-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.personality-option-list button{min-height:56px;padding:8px 12px}.personality-option-list button>strong{font-size:14px}.personality-question-actions{margin-top:12px}.personality-question-actions button{min-height:42px;padding:8px 12px;font-size:13px}.personality-quiz-scene,.personality-flow-pattern{display:none}.personality-analysis-panel{min-height:100dvh;padding:calc(58px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px))}.personality-analysis-back{top:calc(7px + env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));min-height:44px}.personality-analysis-card{width:min(620px,100%);min-height:calc(100dvh - 72px - env(safe-area-inset-top,0px));padding:16px 24px;border-radius:22px}.personality-analysis-card>img{width:48px;height:48px}.personality-analysis-card>h1{margin-top:8px;font-size:31px}.personality-analysis-card>p{margin-top:6px}.personality-analysis-steps{margin-top:12px}.personality-text-action,.personality-duration-note,.personality-dialect-audio,.personality-dialect-definition>a,.personality-retry-action,.personality-all-routes{min-height:44px}.personality-dialect-definition>a,.personality-all-routes{display:inline-flex;align-items:center}}@media(orientation:landscape)and (max-height:500px)and (max-width:900px){.personality-intro-copy,.personality-quiz-panel,.personality-analysis-panel,.personality-reveal-panel{padding-right:max(20px,env(safe-area-inset-right,0px));padding-left:max(20px,env(safe-area-inset-left,0px))}.personality-analysis-back{left:max(20px,env(safe-area-inset-left,0px))}}@media(max-width:700px){.personality-quiz-panel{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}.personality-axis-pole,.personality-dimension-labels span,.personality-poster-info-card>small,.personality-poster-info-card .personality-dialect-audio-note,.personality-poster-info-card .personality-dialect-audio-status,.personality-result-story>.personality-poster-disclaimer{font-size:11px}.personality-poster-info-card p,.personality-poster-info-card>a,.personality-result-story .personality-result-match,.personality-dialect-audio-note,.personality-dialect-audio-status,.personality-route-timeline time,.personality-route-timeline strong{font-size:12px}.personality-dialect-definition small,.personality-dialect-definition a,.personality-route-timeline small{font-size:11px}.personality-dialect-definition p{font-size:13px}.personality-poster-info-card .personality-dialect-audio>button,.personality-dialect-audio>button,.personality-dialect-definition>a,.personality-result-story .personality-result-match{min-height:44px!important}.personality-route-timeline{grid-auto-columns:minmax(124px,38vw);padding-bottom:14px;scrollbar-width:auto}.personality-route-timeline::-webkit-scrollbar{height:6px}.personality-route-timeline::-webkit-scrollbar-thumb{border-radius:999px;background:#0d2f7a40}}@media(prefers-reduced-motion:reduce){.personality-hero-image,.personality-kicker,.personality-intro-copy h1,.personality-intro-summary,.personality-intro-actions,.personality-duration-note,.personality-preview-strip,.personality-question-card,.personality-quiz-character,.personality-analysis-card,.personality-analysis-card>h1,.personality-result-story,.personality-route-result{animation:qian-fade-in .2s ease both}.personality-option-list button,.personality-primary-action,.personality-retry-action,.personality-route-result figure>img,.personality-analysis-steps>span,.personality-progress-track>span{transition-duration:.12s}}@keyframes qian-character-enter{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes qian-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:700px){.personality-journey-page,.personality-intro-panel,.personality-quiz-panel,.personality-analysis-panel,.personality-reveal-panel{min-height:calc(100dvh - 68px)}.personality-quiz-panel{padding-top:calc(14px + env(safe-area-inset-top,0px))}.personality-analysis-panel{padding-top:calc(78px + env(safe-area-inset-top,0px))}.personality-analysis-back{top:calc(14px + env(safe-area-inset-top,0px));min-height:44px}.personality-reveal-panel{padding-top:calc(26px + env(safe-area-inset-top,0px))}.personality-saved-empty{min-height:calc(100dvh - 68px);padding:36px 18px calc(36px + env(safe-area-inset-bottom,0px))}.personality-text-action,.personality-duration-note,.personality-dialect-audio,.personality-dialect-definition>a,.personality-retry-action,.personality-all-routes{min-height:44px}.personality-dialect-definition>a,.personality-all-routes{display:inline-flex;align-items:center}}.app-shell[data-page=progress]{height:100dvh;min-height:0;grid-template-rows:minmax(0,1fr);overflow:hidden}.app-shell[data-page=progress]>.app-sidebar,.app-shell[data-page=progress]>.qianxing-progress-shell{grid-row:1}.qianxing-progress-shell{width:100%;min-width:0;height:100dvh;min-height:100dvh;padding:0!important;overflow:hidden;background:#f7f6f2}.qianxing-progress-shadow-host{display:block;width:100%;height:100%}@media(max-width:680px){.app-shell[data-page=progress]{display:block;height:auto;min-height:100dvh;overflow:visible}.qianxing-progress-shell{height:auto;min-height:100dvh;padding-bottom:calc(74px + env(safe-area-inset-bottom))!important;overflow:visible}.qianxing-progress-shadow-host{height:auto;min-height:calc(100dvh - 74px - env(safe-area-inset-bottom))}}.rsi-xhs-shelf,.rsi-booking-panel{--rsi-ink: var(--qy-ink);--rsi-muted: var(--qy-muted);--rsi-line: var(--qy-line);--rsi-olive: var(--qy-primary);--rsi-olive-soft: var(--qy-tint);--rsi-paper: var(--qy-surface);box-sizing:border-box;color:var(--rsi-ink);font:inherit}.rsi-xhs-shelf *,.rsi-booking-panel *{box-sizing:border-box}.rsi-xhs-shelf button,.rsi-xhs-shelf input,.rsi-booking-panel button{font:inherit}.rsi-xhs-shelf{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(360px,1.28fr);gap:12px 18px;align-items:center;width:100%;margin:0 0 18px;padding:14px 16px;border:1px solid var(--rsi-line);border-radius:18px;background:linear-gradient(115deg,#eef2ebd1,#fffefaf5 48%),var(--rsi-paper);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.rsi-xhs-shelf.is-drop-active{border-color:#65745d9e;box-shadow:0 0 0 4px #65745d1a;transform:translateY(-1px)}.rsi-xhs-shelf__intro{display:flex;gap:12px;align-items:center;min-width:0}.rsi-xhs-shelf__icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:13px;background:var(--rsi-olive);color:#fff}.rsi-xhs-shelf__icon svg{width:19px;height:19px}.rsi-xhs-shelf__intro>span:last-child{display:grid;gap:3px;min-width:0}.rsi-xhs-shelf__intro small{color:var(--rsi-muted);font-size:11px;letter-spacing:.04em}.rsi-xhs-shelf__intro strong{overflow:hidden;font-family:var(--font-source-han);font-size:16px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.rsi-xhs-shelf__form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0}.rsi-xhs-shelf__form label{display:flex;align-items:center;min-width:0;padding:0 12px;border:1px solid var(--rsi-line);border-radius:12px;background:#ffffffe0}.rsi-xhs-shelf__form label:focus-within{border-color:#65745dad;box-shadow:0 0 0 3px #65745d14}.rsi-xhs-shelf__form label svg{flex:0 0 auto;color:var(--rsi-muted)}.rsi-xhs-shelf__form input{width:100%;min-width:0;height:42px;padding:0 9px;border:0;outline:0;background:transparent;color:var(--rsi-ink);font-size:13px}.rsi-xhs-shelf__form input::placeholder{color:#999b94}.rsi-xhs-shelf__form>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:108px;height:42px;padding:0 15px;border:0;border-radius:12px;background:var(--rsi-ink);color:#fff;cursor:pointer}.rsi-xhs-shelf__form>button:disabled{cursor:not-allowed;opacity:.48}.rsi-xhs-shelf__meta{display:flex;grid-column:1 / -1;gap:12px 20px;align-items:center;justify-content:space-between;min-width:0;color:var(--rsi-muted);font-size:11px;line-height:1.45}.rsi-xhs-shelf__feedback{display:inline-flex;flex:0 1 auto;gap:5px;align-items:center;text-align:right}.rsi-xhs-shelf__feedback.is-success{color:#526b4a}.rsi-xhs-shelf__feedback.is-error{color:#9a493f}.rsi-xhs-shelf__feedback svg{flex:0 0 auto}.rsi-booking-panel{display:grid;gap:14px;width:100%;padding:16px;border:1px solid var(--rsi-line);border-radius:18px;background:var(--rsi-paper)}.rsi-booking-panel__header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}.rsi-booking-panel__brand{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#f2a53a;color:#fff;font-size:17px;font-style:normal;font-weight:750}.rsi-booking-panel__header>span:nth-child(2){display:grid;gap:2px}.rsi-booking-panel__header strong{font-size:15px}.rsi-booking-panel__header small{color:var(--rsi-muted);font-size:11px}.rsi-booking-panel__header>em{padding:5px 8px;border-radius:999px;background:var(--qy-tint);color:var(--qy-muted);font-size:11px;font-style:normal;white-space:nowrap}.rsi-booking-panel__state{display:grid;justify-items:start;gap:6px;padding:18px;border:1px dashed var(--rsi-line);border-radius:14px;background:var(--qy-surface-soft);color:var(--rsi-muted)}.rsi-booking-panel__state>svg{width:20px;height:20px;color:var(--rsi-olive)}.rsi-booking-panel__state strong{color:var(--rsi-ink);font-size:13px}.rsi-booking-panel__state span{font-size:12px;line-height:1.5}.rsi-booking-panel__state>button{display:inline-flex;gap:6px;align-items:center;margin-top:4px;padding:7px 10px;border:1px solid var(--rsi-line);border-radius:9px;background:#fff;color:var(--rsi-ink);cursor:pointer}.rsi-booking-panel__state.is-error{border-color:#9a493f47;background:#fff8f6}.rsi-booking-panel__options{display:grid;gap:10px}.rsi-booking-panel__options>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;padding:11px;border:1px solid var(--rsi-line);border-radius:14px;background:#fff}.rsi-booking-panel__options>article.is-recorded{border-color:var(--qy-line-strong);background:var(--qy-surface-soft)}.rsi-booking-panel__place{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.rsi-booking-panel__type{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#fff2dc;color:#a56116;font-size:13px;font-weight:700}.rsi-booking-panel__place>span:last-child{display:grid;gap:3px;min-width:0}.rsi-booking-panel__place small,.rsi-booking-panel__intent small{color:var(--rsi-muted);font-size:11px}.rsi-booking-panel__place strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.rsi-booking-panel__place em{display:flex;gap:4px;align-items:center;overflow:hidden;color:var(--rsi-muted);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.rsi-booking-panel__place em svg{flex:0 0 auto}.rsi-booking-panel__intent{display:flex;gap:12px;align-items:center}.rsi-booking-panel__intent>span{display:grid;gap:2px;min-width:92px}.rsi-booking-panel__intent strong{font-size:11px}.rsi-booking-panel__intent>button{display:inline-flex;gap:5px;align-items:center;justify-content:center;min-width:104px;padding:8px 10px;border:0;border-radius:9px;background:#f2a53a;color:#fff;font-size:11px;cursor:pointer}.rsi-booking-panel__intent>button:disabled{cursor:default;opacity:.72}.rsi-booking-panel__receipt{display:flex;grid-column:1 / -1;gap:7px;align-items:flex-start;margin:0;padding:9px 10px;border-radius:10px;background:var(--rsi-olive-soft);color:#52634b}.rsi-booking-panel__receipt>svg{flex:0 0 auto;margin-top:1px}.rsi-booking-panel__receipt>span{display:grid;gap:2px;min-width:0}.rsi-booking-panel__receipt strong{font-size:11px}.rsi-booking-panel__receipt small{font-size:11px;line-height:1.45}.rsi-booking-panel__receipt code{overflow:hidden;color:#65705e;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.rsi-booking-panel__action-error{margin:0;color:#9a493f;font-size:11px}.rsi-booking-panel__disclosure{display:flex;gap:7px;align-items:flex-start;padding-top:11px;border-top:1px solid var(--rsi-line);color:var(--rsi-muted);font-size:11px;line-height:1.5}.rsi-booking-panel__disclosure strong{flex:0 0 auto;color:var(--rsi-ink)}.rsi-spin{animation:rsi-spin .9s linear infinite}@keyframes rsi-spin{to{transform:rotate(360deg)}}@media(max-width:980px){.rsi-xhs-shelf{grid-template-columns:1fr}.rsi-xhs-shelf__meta{align-items:flex-start;flex-direction:column}.rsi-xhs-shelf__feedback{text-align:left}.rsi-booking-panel__options>article{grid-template-columns:1fr}.rsi-booking-panel__intent{justify-content:space-between}}@media(max-width:700px){.rsi-xhs-shelf{gap:12px;padding:12px}.rsi-xhs-shelf__form input,.rsi-xhs-shelf__form>button,.rsi-booking-panel button{min-height:44px}}@media(max-width:390px){.rsi-xhs-shelf__form{grid-template-columns:minmax(0,1fr)}.rsi-xhs-shelf__form>button{width:100%}}@media(prefers-reduced-motion:reduce){.rsi-xhs-shelf{transition:none}.rsi-spin{animation-duration:1.8s}}@font-face{font-family:Source Han Sans SC Web;font-style:normal;font-display:swap;font-weight:250 900;src:url(/assets/fonts/source-han-sans/source-han-sans-sc-app.woff2) format("woff2-variations")}:root{--qy-primary: #0d2f7a;--qy-primary-dark: #082359;--qy-teal: #22c7c9;--qy-teal-text: #087d83;--qy-nav-active: #08757a;--qy-bg: #f3f5fb;--qy-surface: #ffffff;--qy-surface-soft: #fbfcff;--qy-tint: #eaf0fa;--qy-tint-strong: #dde7f8;--qy-line: #d8e1f0;--qy-line-strong: #c2cfe5;--qy-ink: #1b2742;--qy-muted: #657087;--qy-faint: #8993a8;--qy-focus: #5e74aa;--qy-lilac: #766f9f;--qy-success: #3c7a64;--qy-warning: #a8844a;color:var(--qy-ink);background:var(--qy-bg);--font-source-han: "Source Han Sans SC Web", "Source Han Sans SC", "Source Han Sans CN", "Noto Sans CJK SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;font-family:var(--font-source-han);font-synthesis:none;text-rendering:optimizeLegibility;--ink: var(--qy-ink);--muted: var(--qy-muted);--faint: var(--qy-faint);--ivory: var(--qy-surface-soft);--paper: var(--qy-surface);--canvas: var(--qy-tint);--line: var(--qy-line);--line-strong: var(--qy-line-strong);--olive: var(--qy-primary);--olive-dark: var(--qy-primary-dark);--olive-soft: var(--qy-tint);--clay: var(--qy-lilac);--amber: var(--qy-warning);--sans: var(--font-source-han);--serif: var(--font-source-han);--shadow-soft: 0 18px 48px rgba(13, 47, 122, .08);--shadow-card: 0 24px 60px rgba(13, 47, 122, .14)}*{box-sizing:border-box}html{min-width:960px;background:var(--qy-bg)}body{margin:0;min-width:960px;min-height:100vh;background:var(--qy-bg);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid var(--qy-focus);outline-offset:2px}.app-shell{min-height:100vh}.app-error-boundary{display:grid;min-height:100dvh;padding:24px;place-items:center;background:var(--qy-bg)}.app-error-card{display:grid;width:min(100%,460px);gap:12px;justify-items:start;padding:32px;border:1px solid var(--qy-line);border-radius:24px;background:var(--qy-surface);box-shadow:var(--shadow-soft)}.app-error-card small{color:var(--qy-teal-text);font-size:12px;font-weight:800}.app-error-card h1,.app-error-card p{margin:0}.app-error-card h1{font-size:28px}.app-error-card p{color:var(--qy-muted);line-height:1.7}.app-error-card .primary-button{margin-top:8px;text-decoration:none}.app-header{position:sticky;z-index:50;top:0;display:grid;grid-template-columns:auto minmax(560px,1fr) auto;gap:32px;align-items:center;min-height:78px;padding:0 44px;border-bottom:1px solid rgba(104,94,81,.12);background:#fbf8f3eb;box-shadow:0 8px 30px #3e362c0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.brand{display:flex;gap:11px;align-items:center;padding:0;border:0;background:transparent;cursor:pointer}.brand-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:13px;background:var(--olive);color:#fff}.brand-mark svg{width:19px;height:19px}.brand>span:last-child{display:grid;justify-items:start;gap:1px}.brand strong{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:-.05em}.brand small{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.16em}.primary-nav{display:flex;align-items:center;justify-content:center;gap:5px}.primary-nav button{display:flex;gap:8px;align-items:center;min-height:42px;padding:0 16px;border:0;border-radius:13px;background:transparent;color:#858077;font-size:13px;font-weight:700;cursor:pointer}.primary-nav button svg{width:16px;height:16px}.primary-nav button:hover{background:#ede8dfbd;color:var(--ink)}.primary-nav button.active{background:var(--olive-soft);color:var(--olive-dark)}.header-actions{display:flex;gap:11px;align-items:center}.city-select{display:flex;gap:7px;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:13px;background:var(--paper);color:var(--muted);font-size:12px;cursor:pointer}.city-select svg{width:14px;height:14px}.avatar-button{width:40px;height:40px;overflow:hidden;padding:0;border:2px solid var(--paper);border-radius:999px;background:#ddd;box-shadow:0 0 0 1px var(--line);cursor:pointer}.avatar-button img{width:100%;height:100%;object-fit:cover}.page{width:min(100%,1560px);margin:0 auto;padding:44px 48px 72px}.eyebrow{margin:0 0 11px;color:var(--olive);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.primary-button,.secondary-button,.ghost-button,.filter-button{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:14px;font-size:13px;font-weight:800;cursor:pointer}.primary-button{border:1px solid var(--olive);background:var(--olive);color:#fff;box-shadow:0 12px 28px #4149392e}.primary-button:hover{background:var(--olive-dark)}.secondary-button{border:1px solid var(--line);background:var(--paper);color:var(--olive-dark)}.ghost-button{border:1px solid var(--line);background:transparent;color:var(--muted)}.primary-button svg,.secondary-button svg,.ghost-button svg,.filter-button svg{width:16px;height:16px}.dashboard-page{max-width:1540px;padding-top:32px}.dashboard-intro{display:flex;gap:32px;align-items:flex-end;justify-content:space-between;padding:8px 2px 28px}.dashboard-intro h1{margin:0;font-family:var(--serif);font-size:clamp(44px,4vw,68px);font-weight:500;line-height:.96;letter-spacing:-.055em}.dashboard-intro p:last-child{margin:13px 0 0;color:var(--muted);font-size:14px}.dashboard-intro-actions{display:flex;gap:10px;align-items:center;padding-bottom:2px}.dashboard-layout{display:grid;grid-template-columns:minmax(620px,1.15fr) minmax(470px,.85fr);gap:22px;align-items:stretch}.dashboard-trip-card,.dashboard-notebook{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--paper);box-shadow:var(--shadow-soft)}.dashboard-trip-card{display:flex;flex-direction:column}.dashboard-notebook{padding-bottom:18px}.dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:14px 22px}.dashboard-section-heading>div{display:grid;gap:5px}.dashboard-section-heading span,.dashboard-subheading span{color:var(--olive);font-size:11px;font-weight:900;letter-spacing:.08em}.dashboard-section-heading h2{margin:0;font-family:var(--serif);font-size:29px;font-weight:600;letter-spacing:-.035em}.dashboard-section-heading>button{display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--ivory);color:var(--muted);cursor:pointer}.dashboard-collage{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr);grid-template-rows:160px 160px;gap:4px;margin:0 16px;overflow:hidden;border-radius:20px;background:var(--canvas)}.dashboard-collage figure{position:relative;min-width:0;margin:0;overflow:hidden}.dashboard-collage-main{grid-row:1 / span 2}.dashboard-collage img{width:100%;height:100%;object-fit:cover;transition:transform .26s ease}.dashboard-collage figure:hover img{transform:scale(1.025)}.dashboard-collage-main img{object-position:48% center}.dashboard-collage figure:nth-child(2) img{object-position:56% center}.dashboard-collage figure:nth-child(3) img{object-position:58% center}.dashboard-collage figcaption{position:absolute;right:13px;bottom:13px;left:13px;display:inline-grid;width:max-content;max-width:calc(100% - 26px);gap:3px;padding:9px 11px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:#23201ab8;color:#fff;box-shadow:0 8px 24px #19161129;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dashboard-collage figcaption strong{font-family:var(--serif);font-size:19px;font-weight:600}.dashboard-collage figcaption span{color:#ffffffbd;font-size:11px}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:16px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--ivory)}.dashboard-metrics button{display:flex;gap:11px;align-items:center;min-height:62px;padding:0 16px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.dashboard-metrics button:last-child{border-right:0}.dashboard-metrics button:hover{background:var(--olive-soft)}.dashboard-metrics button>svg{width:20px;height:20px;color:var(--olive)}.dashboard-metrics button>span{display:grid;gap:1px}.dashboard-metrics strong{font-family:var(--serif);font-size:23px;font-weight:600}.dashboard-metrics small{color:var(--muted);font-size:11px}.dashboard-budget{display:grid;grid-template-columns:minmax(190px,.62fr) minmax(300px,1fr);gap:28px;margin:0 16px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#f8f5ef}.dashboard-budget-summary{display:grid;align-content:center;gap:5px;padding-right:24px;border-right:1px solid var(--line)}.dashboard-budget-summary>span{color:var(--olive);font-size:11px;font-weight:900}.dashboard-budget-summary strong{font-family:var(--serif);font-size:35px;font-weight:500;letter-spacing:-.045em}.dashboard-budget-summary small{color:var(--muted);font-size:11px}.dashboard-budget-breakdown{display:grid;gap:11px}.budget-row{display:grid;grid-template-columns:42px minmax(90px,1fr) 60px;gap:10px;align-items:center;color:var(--muted);font-size:11px}.budget-row progress{width:100%;height:6px;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:#e5ded3}.budget-row progress::-webkit-progress-bar{background:#e5ded3}.budget-row progress::-webkit-progress-value{border-radius:999px;background:var(--progress-color)}.budget-row progress::-moz-progress-bar{border-radius:999px;background:var(--progress-color)}.budget-row strong{color:var(--ink);text-align:right;font-size:11px}.dashboard-trip-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:auto;padding:12px 16px 16px}.dashboard-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 18px 14px;padding:4px;border-radius:14px;background:#f0ebe3}.dashboard-tabs button{display:flex;gap:7px;align-items:center;justify-content:center;min-height:38px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.dashboard-tabs button svg{width:14px;height:14px}.dashboard-tabs button.active{background:var(--olive);color:#fff;box-shadow:0 7px 18px #4149392e}.dashboard-tab-panel{min-height:294px;margin:0 18px}.dashboard-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-place-card{position:relative;min-width:0;overflow:hidden;border-radius:16px;background:#ddd}.dashboard-place-card>button:first-child{position:relative;display:block;width:100%;height:142px;overflow:hidden;padding:0;border:0;background:#ddd;text-align:left;cursor:pointer}.dashboard-place-card img{width:100%;height:100%;object-fit:cover;transition:transform .24s ease}.dashboard-place-card:hover img{transform:scale(1.025)}.dashboard-place-card>button:first-child>span{position:absolute;right:10px;bottom:10px;left:10px;display:grid;gap:2px;padding:8px 10px;border-radius:10px;background:#23201abd;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-place-card strong{font-family:var(--serif);font-size:16px;font-weight:600}.dashboard-place-card small{color:#ffffffbd;font-size:11px}.dashboard-note-list{display:grid;gap:10px}.dashboard-note-list button{display:grid;gap:6px;min-height:104px;padding:14px 16px;text-align:left;border:1px solid var(--line);border-radius:15px;background:var(--ivory);cursor:pointer}.dashboard-note-list button:hover{border-color:#5d674f59;background:var(--olive-soft)}.dashboard-note-list span{color:var(--olive);font-size:11px;font-weight:900}.dashboard-note-list strong{font-family:var(--serif);font-size:18px}.dashboard-note-list p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.dashboard-bookings{margin:12px 18px 0;padding-top:11px;border-top:1px solid var(--line)}.dashboard-subheading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:8px}.dashboard-subheading>div{display:grid;gap:3px}.dashboard-subheading strong{font-family:var(--serif);font-size:18px}.dashboard-subheading>button{padding:0;border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.dashboard-booking-list{display:grid;gap:7px}.dashboard-booking-list>button{display:grid;grid-template-columns:64px minmax(0,1fr) auto 14px;gap:10px;align-items:center;width:100%;min-height:52px;padding:5px 7px;text-align:left;border:1px solid var(--line);border-radius:13px;background:var(--ivory);cursor:pointer}.dashboard-booking-list>button:hover{background:var(--olive-soft)}.dashboard-booking-list img{width:64px;height:40px;object-fit:cover;border-radius:9px}.dashboard-booking-list>button>span{display:grid;gap:4px}.dashboard-booking-list strong{font-family:var(--serif);font-size:14px}.dashboard-booking-list small{color:var(--muted);font-size:11px}.dashboard-booking-list em{padding:5px 7px;border-radius:999px;background:var(--olive-soft);color:var(--olive);font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}.dashboard-booking-list-large{gap:10px}.dashboard-booking-list-large>button{grid-template-columns:100px minmax(0,1fr) auto 16px;min-height:92px;padding:10px}.dashboard-booking-list-large img{width:100px;height:70px}.dashboard-booking-list-large em{display:flex;gap:4px;align-items:center}.dashboard-weather{display:grid;gap:12px;width:calc(100% - 36px);margin:10px 18px 0;padding:12px 14px;text-align:left;border:1px solid rgba(93,103,79,.18);border-radius:16px;background:#e8eadf;color:var(--olive-dark);cursor:pointer}.dashboard-weather-now{display:flex;align-items:center;justify-content:space-between}.dashboard-weather-now>span{display:grid;gap:4px}.dashboard-weather-now small{font-size:11px}.dashboard-weather-now strong{font-family:var(--serif);font-size:29px;font-weight:500}.dashboard-weather-now>svg{width:31px;height:31px;color:var(--amber)}.dashboard-forecast{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(93,103,79,.14)}.dashboard-forecast>span{display:grid;gap:5px;justify-items:center;padding:7px 4px 0;border-right:1px solid rgba(93,103,79,.14)}.dashboard-forecast>span:last-child{border-right:0}.dashboard-forecast svg{width:15px;height:15px;color:var(--amber)}.dashboard-forecast small{color:var(--muted);font-size:11px}.dashboard-forecast strong{font-size:11px}.dashboard-weather>em{padding-top:10px;border-top:1px solid rgba(93,103,79,.14);color:var(--muted);font-size:11px;font-style:normal}.discover-page{padding-top:24px}.discover-search{margin-bottom:20px}.page-title-row h1{margin:0;font-family:var(--serif);font-size:clamp(48px,5vw,74px);font-weight:500;line-height:.99;letter-spacing:-.055em}.discover-tools{display:grid;grid-template-columns:1fr auto;gap:10px;width:100%;padding:10px;border:1px solid rgba(112,102,89,.11);border-radius:20px;background:#fffdf9c2;box-shadow:var(--shadow-soft)}.search-field{display:flex;gap:10px;align-items:center;min-height:48px;padding:0 14px;border-radius:13px;background:#f4efe8;color:var(--muted)}.search-field svg{flex:0 0 auto;width:18px;height:18px}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.search-field input::placeholder{color:#9c958b}.filter-button{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.route-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:262px;gap:18px}.empty-route-state{display:grid;grid-column:1 / -1;min-height:360px;place-items:center;align-content:center;gap:10px;border:1px dashed var(--line-strong);border-radius:24px;color:var(--muted);background:#fffdf89e}.empty-route-state svg{width:26px;height:26px;color:var(--olive)}.empty-route-state strong{color:var(--ink);font-family:var(--serif);font-size:24px;font-weight:600}.empty-route-state span{font-size:12px}.route-card{position:relative;grid-column:span 4;overflow:hidden;border-radius:28px;background:#34342e;box-shadow:var(--shadow-card)}.route-card.featured{grid-column:span 8;grid-row:span 2}.route-card.wide{grid-column:span 6}.route-card-image{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.route-card:hover .route-card-image{transform:scale(1.025)}.route-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0e0d0b0d 15%,#11100d3d 48%,#0e0d0be0)}.route-card-heading{position:absolute;top:28px;right:28px;left:28px;color:#fff}.route-card:not(.featured) .route-card-heading{top:20px;right:20px;left:20px}.route-card-heading>span{font-size:11px;font-weight:700;letter-spacing:.02em}.route-card-heading h2{max-width:670px;margin:9px 0 12px;font-family:var(--serif);font-size:50px;font-weight:500;line-height:.98;letter-spacing:-.055em;text-shadow:0 3px 24px rgba(0,0,0,.2)}.route-card:not(.featured) .route-card-heading h2{max-width:300px;margin-top:6px;font-size:29px}.route-card.wide .route-card-heading h2{max-width:470px;font-size:34px}.route-card-heading em{display:inline-flex;gap:6px;align-items:center;padding:7px 11px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:#26261f40;font-size:11px;font-style:normal;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.route-card-heading em svg{width:13px;height:13px}.route-card-stops{position:absolute;right:28px;bottom:92px;left:28px;display:flex;gap:7px;flex-wrap:wrap}.route-card:not(.featured):not(.wide) .route-card-stops{display:none}.route-card.wide .route-card-stops{right:22px;bottom:76px;left:22px}.route-card-stops span{display:inline-flex;gap:5px;align-items:center;padding:7px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#1515124f;color:#ffffffe6;font-size:11px;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.route-card-stops svg{width:11px;height:11px}.route-card-footer{position:absolute;right:22px;bottom:18px;left:22px;display:flex;gap:14px;align-items:center;color:#fff}.route-card.featured .route-card-footer{right:28px;bottom:24px;left:28px}.creator{display:flex;gap:9px;align-items:center;min-width:0}.creator>img{width:38px;height:38px;object-fit:cover;border:2px solid rgba(255,255,255,.85);border-radius:999px}.creator>span{display:grid;gap:2px;min-width:0}.creator strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.creator small,.route-budget{color:#ffffffad;font-size:11px}.route-budget{margin-left:auto}.card-plan-button{display:flex;gap:8px;align-items:center;min-height:40px;padding:0 14px;border:0;border-radius:13px;background:#fffdf9f0;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.card-plan-button svg{width:14px;height:14px}.route-card:not(.featured) .route-budget{display:none}.route-card.wide .route-budget{display:inline}.route-card:not(.featured) .card-plan-button{min-height:34px;padding:0 10px;font-size:11px}.save-route{position:absolute;top:19px;right:19px;display:grid;width:40px;height:40px;padding:0;place-items:center;border:0;border-radius:999px;background:#fffdf9e6;color:var(--ink);box-shadow:0 9px 24px #14120f24;cursor:pointer}.save-route.saved{background:var(--olive);color:#fff}.page-title-row{display:flex;gap:36px;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.page-title-row h1{font-size:55px}.page-title-row>div:first-child>p:last-child{margin:13px 0 0;color:var(--muted);font-size:14px}.page-title-actions{display:flex;gap:10px}.planner-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.source-panel,.canvas-workspace{border:1px solid rgba(111,101,87,.12);border-radius:26px;background:var(--ivory);box-shadow:var(--shadow-soft)}.source-panel{position:sticky;top:98px;overflow:hidden}.source-cover{position:relative;height:220px;overflow:hidden}.source-cover>img{width:100%;height:100%;object-fit:cover}.source-cover>span{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0d0d0b05,#0d0d0bc4)}.source-cover>div{position:absolute;right:18px;bottom:18px;left:18px;color:#fff}.source-cover small{font-size:11px;letter-spacing:.08em}.source-cover h2{margin:7px 0 5px;font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.03}.source-cover p{margin:0;color:#ffffffb3;font-size:11px}.source-proof{display:flex;gap:10px;margin:14px;padding:12px;border-radius:15px;background:var(--olive-soft);color:var(--olive-dark)}.source-proof>svg{flex:0 0 auto;margin-top:1px}.source-proof>span{display:grid;gap:4px}.source-proof strong{font-size:11px}.source-proof small{color:#707866;font-size:11px}.constraint-section{padding:6px 16px 14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-heading>div{display:grid;gap:3px}.panel-heading span{color:var(--olive);font-size:11px;font-weight:900;letter-spacing:.08em}.panel-heading strong{font-family:var(--serif);font-size:16px}.panel-heading button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer}.constraint-list{display:grid;gap:7px}.constraint-list>span{display:flex;gap:8px;align-items:center;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--muted);font-size:11px}.constraint-list svg{width:14px;height:14px;color:var(--olive)}.ai-check-button{display:grid;grid-template-columns:30px minmax(0,1fr) 16px;gap:9px;align-items:center;width:calc(100% - 28px);min-height:58px;margin:0 14px 14px;padding:0 12px;text-align:left;border:0;border-radius:15px;background:var(--olive);color:#fff;cursor:pointer}.ai-check-button>svg:first-child{width:22px;height:22px}.ai-check-button>span{display:grid;gap:3px}.ai-check-button strong{font-size:11px}.ai-check-button small{color:#ffffffb8;font-size:11px}.canvas-workspace{overflow:hidden}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--paper)}.canvas-toolbar>div:first-child{display:grid;gap:5px}.canvas-toolbar strong{font-family:var(--serif);font-size:19px}.canvas-toolbar span{color:var(--muted);font-size:11px}.canvas-toolbar>div:last-child{display:flex;gap:6px;align-items:center}.canvas-toolbar>div:last-child button{display:grid;width:32px;height:32px;padding:0;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer}.canvas-toolbar>div:last-child span{min-width:42px;text-align:center}.canvas-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:626px;padding:16px;gap:12px;background:#ebe5db}.canvas-lane{min-width:0;padding:13px;border:1px solid rgba(112,102,89,.12);border-radius:19px;background:#fbf8f3bf}.canvas-lane>header{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0 2px 10px}.canvas-lane>header span{display:flex;gap:7px;align-items:center;font-family:var(--serif);font-size:16px;font-weight:700}.canvas-lane>header i{width:8px;height:8px;border-radius:999px;background:var(--olive)}.canvas-lane.afternoon>header i{background:var(--amber)}.canvas-lane.evening>header i{background:var(--clay)}.canvas-lane>header small{color:var(--muted);font-size:11px}.lane-cards{display:grid;gap:10px}.canvas-stop-card{display:grid;grid-template-columns:82px minmax(0,1fr) 28px;gap:10px;align-items:center;min-height:103px;padding:9px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 8px 20px #3f362b0f;cursor:grab;transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease}.canvas-stop-card:hover{transform:translateY(-2px);box-shadow:0 13px 24px #3f362b1a}.canvas-stop-card.dragging{opacity:.44;transform:scale(.98)}.canvas-stop-card:focus-visible{outline:3px solid rgba(168,104,71,.38);outline-offset:3px}.canvas-stop-card>img{width:82px;height:82px;object-fit:cover;border-radius:12px}.canvas-card-copy{min-width:0}.canvas-card-copy>span{color:var(--olive);font-size:11px;font-weight:800}.canvas-card-copy h3{overflow:hidden;margin:6px 0 4px;font-family:var(--serif);font-size:17px;text-overflow:ellipsis;white-space:nowrap}.canvas-card-copy p{margin:0;color:var(--muted);font-size:11px}.canvas-stop-card>button{display:grid;width:28px;height:42px;padding:0;place-items:center;border:0;border-radius:9px;background:#f2ede6;color:var(--muted);cursor:grab}.add-stop-card{display:flex;gap:7px;align-items:center;justify-content:center;min-height:43px;border:1px dashed var(--line-strong);border-radius:13px;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.add-stop-card svg{width:14px;height:14px}.canvas-status{display:flex;gap:18px;align-items:center;min-height:54px;padding:0 20px;border-top:1px solid var(--line);background:var(--paper)}.canvas-status>span{display:flex;gap:7px;align-items:center;color:var(--olive-dark);font-size:11px;font-weight:900}.canvas-status p{margin:0;color:var(--muted);font-size:11px}.result-page{padding-top:24px}.result-hero{position:relative;height:250px;overflow:hidden;border-radius:30px 30px 0 0;background:#33332d}.result-hero>img{width:100%;height:100%;object-fit:cover}.result-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f0e0c14,#0f0e0c17 42%,#0f0e0cc2)}.result-hero-tools{position:absolute;top:20px;right:22px;left:22px;display:flex;justify-content:space-between}.result-hero-tools>div{display:flex;gap:8px}.result-hero-tools button{display:flex;gap:7px;align-items:center;min-height:37px;padding:0 12px;border:1px solid rgba(255,255,255,.34);border-radius:12px;background:#fffdf9e0;color:var(--ink);font-size:11px;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.result-hero-tools button.saved{border-color:var(--qy-primary);background:var(--qy-primary);color:#fff}.result-hero-copy{position:absolute;right:32px;bottom:28px;left:32px;color:#fff}.result-hero-copy small{font-size:11px;letter-spacing:.08em}.result-hero-copy h1{margin:8px 0 7px;font-family:var(--serif);font-size:46px;font-weight:500;line-height:1;letter-spacing:-.055em}.result-hero-copy p{margin:0;color:#ffffffbf;font-size:11px}.creator-result-strip{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:80px;padding:12px 22px;border:1px solid var(--line);border-top:0;background:var(--paper)}.creator-result-strip>img{width:54px;height:54px;object-fit:cover;border-radius:999px}.creator-result-strip>div{display:grid;gap:4px}.creator-result-strip small,.creator-result-strip span{color:var(--muted);font-size:11px}.creator-result-strip strong{display:flex;gap:5px;align-items:center;font-size:12px}.creator-result-strip strong svg{color:var(--olive)}.creator-result-strip>button{min-height:34px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:var(--ivory);color:var(--olive-dark);font-size:11px;font-weight:800;cursor:pointer}.route-result-workspace{display:grid;grid-template-columns:360px minmax(0,1fr);height:min(520px,calc(100vh - 530px));min-height:440px;border:1px solid var(--line);border-top:0;background:var(--paper)}.result-stop-list{min-width:0;overflow:hidden;border-right:1px solid var(--line)}.result-list-heading{display:flex;align-items:flex-end;justify-content:space-between;min-height:78px;padding:16px 18px 13px;border-bottom:1px solid var(--line)}.result-list-heading>div{display:grid;gap:4px}.result-list-heading span{color:var(--olive);font-size:11px;font-weight:900}.result-list-heading strong{font-family:var(--serif);font-size:20px}.result-list-heading small{color:var(--muted);font-size:11px}.result-list-scroll{height:calc(100% - 78px);overflow-y:auto;padding:10px}.result-list-scroll>button{display:grid;grid-template-columns:28px 74px minmax(0,1fr) 16px;gap:10px;align-items:center;width:100%;min-height:93px;padding:9px;text-align:left;border:1px solid transparent;border-radius:15px;background:transparent;cursor:pointer}.result-list-scroll>button:hover{background:#f7f2eb}.result-list-scroll>button.active{border-color:#5d674f47;background:var(--olive-soft)}.result-index{display:grid;width:26px;height:26px;place-items:center;border-radius:999px;background:#8a8981;color:#fff;font-size:11px;font-weight:900}.result-list-scroll>button.active .result-index{background:var(--clay)}.result-list-scroll img{width:74px;height:72px;object-fit:cover;border-radius:12px}.result-stop-copy{display:grid;gap:4px;min-width:0}.result-stop-copy small{color:var(--muted);font-size:11px}.result-stop-copy strong{overflow:hidden;font-family:var(--serif);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.result-stop-copy em{color:var(--olive);font-size:11px;font-style:normal}.result-map-panel{position:relative;min-width:0;overflow:hidden}.route-map{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#ecece4}.route-map>img{width:100%;height:100%;object-fit:cover}.route-map>button{position:absolute;z-index:3;display:grid;width:36px;height:36px;padding:0;place-items:center;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:999px;background:var(--olive);color:#fff;font-size:11px;font-weight:900;box-shadow:0 8px 18px #38412f47;cursor:pointer}.route-map>button.active{width:45px;height:45px;background:var(--clay);box-shadow:0 0 0 6px #a8684729,0 9px 20px #7040283d}.map-toolbar{position:absolute;z-index:4;top:18px;right:18px;left:18px;display:flex;align-items:center;justify-content:space-between}.map-toolbar>span{display:flex;gap:7px;align-items:center;min-height:38px;padding:0 12px;border:1px solid rgba(104,94,81,.11);border-radius:12px;background:#fffdf9eb;color:var(--muted);font-size:11px;font-weight:800;box-shadow:0 9px 22px #39332a1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-toolbar>div{display:flex;gap:5px}.map-toolbar button,.journey-map-controls button{display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid rgba(104,94,81,.11);border-radius:12px;background:#fffdf9eb;box-shadow:0 9px 22px #39332a1a;cursor:pointer}.active-stop-popover{position:absolute;z-index:5;right:22px;bottom:22px;display:grid;grid-template-columns:154px minmax(0,1fr);gap:16px;width:min(490px,calc(100% - 44px));min-height:164px;padding:13px;border:1px solid rgba(104,94,81,.12);border-radius:22px;background:#fffdf9f2;box-shadow:0 22px 54px #3a32282e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.active-stop-popover>img{width:154px;height:138px;object-fit:cover;border-radius:15px}.active-stop-popover>div{padding:4px 4px 0 0}.active-stop-popover span{color:var(--olive);font-size:11px;font-weight:900}.active-stop-popover h2{margin:8px 0 6px;font-family:var(--serif);font-size:25px;font-weight:600}.active-stop-popover p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.active-stop-popover small{display:flex;gap:6px;align-items:center;margin-top:10px;color:var(--muted);font-size:11px}.result-summary-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;min-height:82px;padding:12px 16px;border:1px solid var(--line);border-top:0;border-radius:0 0 24px 24px;background:var(--paper)}.result-summary-bar>div{display:grid;gap:5px}.result-summary-bar>div span{display:flex;gap:6px;align-items:center;color:var(--olive-dark);font-size:11px;font-weight:900}.result-summary-bar p{margin:0;color:var(--muted);font-size:11px}.navigate-page{width:100%;max-width:none;padding:22px 28px 28px}.navigate-title-row{display:flex;align-items:center;justify-content:space-between;min-height:54px;margin-bottom:14px}.navigate-title-row>div{display:flex;gap:16px;align-items:center}.navigate-title-row button{display:flex;gap:7px;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.navigate-title-row span{color:var(--muted);font-size:11px}.navigate-title-row>strong{font-family:var(--serif);font-size:22px}.navigate-workspace{display:grid;grid-template-columns:290px minmax(500px,1fr) 370px;height:calc(100vh - 169px);min-height:660px;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--paper);box-shadow:var(--shadow-soft)}.journey-rail{overflow:hidden;border-right:1px solid var(--line);background:var(--ivory)}.journey-progress-heading{display:grid;gap:5px;min-height:74px;padding:16px 17px;border-bottom:1px solid var(--line)}.journey-progress-heading span{color:var(--olive);font-size:11px;font-weight:900}.journey-progress-heading strong{font-family:var(--serif);font-size:18px}.journey-stop-list{height:calc(100% - 74px);overflow-y:auto;padding:10px}.journey-stop-list>button{display:grid;grid-template-columns:26px 54px minmax(0,1fr);gap:9px;align-items:center;width:100%;min-height:70px;padding:8px;text-align:left;border:1px solid transparent;border-radius:13px;background:transparent;cursor:pointer}.journey-stop-list>button:hover{background:#f0ebe3}.journey-stop-list>button.active{border-color:#5d674f47;background:var(--olive-soft)}.journey-stop-list>button.done{opacity:.58}.journey-stop-list>button.skipped strong{text-decoration:line-through;text-decoration-color:#8a583dad}.journey-stop-list>button>span:first-child{display:grid;width:25px;height:25px;place-items:center;border-radius:999px;background:#85847c;color:#fff;font-size:11px;font-weight:900}.journey-stop-list>button.active>span:first-child{background:var(--clay)}.journey-stop-list img{width:54px;height:52px;object-fit:cover;border-radius:10px}.journey-stop-list>button>span:last-child{display:grid;gap:4px;min-width:0}.journey-stop-list small{color:var(--muted);font-size:11px}.journey-stop-list strong{overflow:hidden;font-family:var(--serif);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.journey-map{position:relative;min-width:0;overflow:hidden}.live-location{position:absolute;z-index:5;top:18px;left:18px;display:flex;gap:7px;align-items:center;min-height:38px;padding:0 12px;border:1px solid rgba(104,94,81,.11);border-radius:12px;background:#fffdf9f0;color:var(--olive-dark);font-size:11px;font-weight:800;box-shadow:0 9px 22px #39332a1a}.journey-map-controls{position:absolute;z-index:5;right:18px;bottom:18px;display:grid;gap:6px}.journey-control-panel{overflow-y:auto;padding:16px;border-left:1px solid var(--line);background:var(--ivory)}.now-card{overflow:hidden;padding-bottom:15px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}.now-card>img{width:100%;height:180px;object-fit:cover}.now-card>span,.now-card h1,.now-card p,.now-card>div{margin-right:16px;margin-left:16px}.now-card>span{display:block;margin-top:14px;color:var(--olive);font-size:11px;font-weight:900}.now-card h1{margin-top:7px;margin-bottom:7px;font-family:var(--serif);font-size:27px;font-weight:600}.now-card p{color:var(--muted);font-size:11px;line-height:1.55}.now-card>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.now-card>div span{display:flex;gap:5px;align-items:center;padding:6px 8px;border-radius:9px;background:var(--olive-soft);color:var(--olive-dark);font-size:11px}.now-card.complete{background:radial-gradient(circle at 86% 12%,rgba(190,141,106,.22),transparent 26%),var(--paper)}.now-card>.journey-complete-state{display:grid;gap:8px;min-height:245px;align-content:center;margin-top:0;padding:22px 0 8px}.journey-complete-state>svg{width:34px;height:34px;color:var(--olive)}.journey-complete-state>span{color:var(--olive);font-size:11px;font-weight:900;letter-spacing:.08em}.journey-complete-state h1,.journey-complete-state p{margin:0}.next-card{display:grid;gap:5px;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.next-card small{color:var(--olive);font-size:11px;font-weight:900}.next-card strong{font-family:var(--serif);font-size:17px}.next-card span{color:var(--muted);font-size:11px}.journey-actions{display:grid;gap:8px;margin-top:12px}.navigation-button,.complete-button{display:flex;gap:8px;align-items:center;justify-content:center;min-height:45px;border:0;border-radius:13px;font-size:11px;font-weight:900;cursor:pointer}.navigation-button{background:var(--olive);color:#fff}.complete-button{border:1px solid var(--olive);background:var(--olive-soft);color:var(--olive-dark)}.journey-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.journey-actions>div button{display:flex;gap:6px;align-items:center;justify-content:center;min-height:39px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.offline-note{display:flex;gap:7px;align-items:center;margin-top:12px;padding:9px 10px;border-radius:11px;background:#ece8e1;color:var(--muted);font-size:11px}.toast{position:fixed;z-index:100;right:32px;bottom:30px;display:flex;gap:8px;align-items:center;max-width:420px;min-height:48px;padding:0 17px;border-radius:14px;background:#082359f2;color:#fff;font-size:11px;box-shadow:0 18px 46px #0d2f7a3d;animation:toast-in .18s ease-out}.toast svg{color:var(--qy-teal)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.timeline-planner-page{width:min(100%,1600px);min-width:1180px;padding:18px 22px 28px}.planner-commandbar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:22px;align-items:center;min-height:70px;padding:10px 14px 10px 16px;border:1px solid var(--line);border-radius:19px;background:#fffdf9f0;box-shadow:var(--shadow-soft)}.planner-command-title{display:flex;gap:11px;align-items:center}.planner-command-title .brand-mark{width:38px;height:38px;color:#fff}.planner-command-title>span:last-child{display:grid;gap:2px}.planner-command-title small{color:var(--muted);font-size:11px;font-weight:800}.planner-command-title h1{margin:0;font-family:var(--serif);font-size:21px;font-weight:600}.planner-history-actions,.planner-command-actions{display:flex;gap:8px;align-items:center}.planner-history-actions button,.planner-library>header button,.planner-map-title button,.planner-constraints-card header button{display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--muted);cursor:pointer}.planner-command-actions .ghost-button,.planner-command-actions .planner-draft-button,.planner-command-actions .primary-button{min-height:42px;padding:0 14px;font-size:11px}.timeline-workbench{display:grid;grid-template-columns:276px minmax(0,1fr) 328px;gap:14px;min-height:calc(100vh - 184px);margin-top:14px}.planner-library,.timeline-canvas,.planner-mini-map,.planner-ai-card,.planner-constraints-card{border:1px solid var(--line);background:#fffdf9f5;box-shadow:0 16px 38px #362f2614}.planner-library{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;overflow:hidden;border-radius:19px}.planner-library>header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 12px;border-bottom:1px solid var(--line)}.planner-library>header div{display:grid;gap:3px}.planner-library>header small,.timeline-canvas-heading small{color:var(--olive);font-size:11px;font-weight:900;letter-spacing:.07em}.planner-library h2,.timeline-canvas-heading h2{margin:0;font-family:var(--serif);font-weight:600}.planner-library h2{font-size:20px}.library-drag-hint{display:flex;gap:7px;align-items:center;margin:0;padding:11px 16px;color:var(--muted);font-size:11px}.planner-library-list{display:grid;gap:8px;min-height:0;overflow-y:auto;padding:0 10px 10px}.planner-library-list article{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 16px;gap:10px;align-items:center;min-height:88px;padding:8px;border:1px solid transparent;border-radius:14px;background:#f7f3ec;cursor:grab;transition:.15s ease}.planner-library-list article:hover,.planner-library-list article.active{border-color:#5d674f4d;background:var(--olive-soft)}.planner-library-list article>img{width:72px;height:72px;object-fit:cover;border-radius:11px}.planner-library-list article>div{display:grid;gap:4px;min-width:0}.planner-library-list strong{overflow:hidden;font-family:var(--serif);font-size:15px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.planner-library-list span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.planner-library-list em{width:fit-content;padding:4px 7px;border-radius:999px;background:#efe6da;color:var(--clay);font-size:11px;font-style:normal;font-weight:900}.planner-library-list article>svg{align-self:start;margin-top:3px;color:var(--faint)}.library-source-note{display:flex;gap:8px;align-items:center;margin:0 10px 10px;padding:10px;border-radius:12px;background:var(--olive-soft);color:var(--olive)}.library-source-note>span{display:grid;gap:2px}.library-source-note strong{color:var(--ink);font-size:11px}.library-source-note small{color:var(--muted);font-size:11px}.timeline-canvas{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;overflow:hidden;border-radius:19px}.timeline-canvas-heading{display:flex;align-items:end;justify-content:space-between;padding:15px 18px 13px;border-bottom:1px solid var(--line)}.timeline-canvas-heading>div{display:grid;gap:3px}.timeline-canvas-heading h2{font-size:19px}.timeline-canvas-heading>span,.timeline-canvas-summary{color:var(--clay);font-size:11px;font-weight:800}.timeline-canvas-tools{display:grid!important;gap:7px!important;justify-items:end}.timeline-canvas-heading .timeline-agent-process{display:grid;grid-template-columns:28px minmax(118px,1fr) auto;width:min(260px,42%);min-height:40px;gap:8px;align-items:center;padding:5px 9px 5px 6px;border-radius:12px;background:#f4f4f0;box-shadow:inset 0 0 0 1px #4f574414;animation:agent-process-enter .18s ease both}.timeline-agent-process-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#242421;color:#fff}.timeline-agent-process-icon svg{width:14px;height:14px}.timeline-agent-process-copy{display:grid;min-width:0;gap:1px}.timeline-canvas-heading .timeline-agent-process-copy small{color:#777771;font-size:11px;font-weight:700}.timeline-agent-process-copy strong{overflow:hidden;color:#242421;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.timeline-agent-process-dots{display:flex;gap:3px}.timeline-agent-process-dots i{width:13px;height:5px;border-radius:999px;background:#d5d5cf;transform:scaleX(.38);transition:transform .16s ease,background-color .16s ease}.timeline-agent-process-dots i.complete{background:#9eaa92}.timeline-agent-process-dots i.current{background:#5d674f;transform:scaleX(1)}.timeline-agent-process.paused .timeline-agent-process-icon{background:#8b7358}.timeline-canvas-summary{white-space:nowrap}.timeline-zoom-controls{display:flex;gap:4px;align-items:center;padding:4px;border:1px solid #e5dfd7;border-radius:12px;background:#ffffffe6;box-shadow:0 5px 14px #3a31270f}.timeline-zoom-label{padding:0 5px 0 7px;color:#5f5a53;font-size:11px;font-weight:850;white-space:nowrap}.timeline-zoom-controls button{display:inline-flex;width:32px;height:32px;min-height:0;align-items:center;justify-content:center;gap:5px;padding:0;border:0;border-radius:8px;background:transparent;color:#5f5a53;box-shadow:none}.timeline-zoom-controls button:hover:not(:disabled),.timeline-zoom-controls button.active{background:var(--planner-accent-soft);color:var(--planner-accent)}.timeline-zoom-controls button:focus-visible{outline:2px solid rgba(118,87,232,.46);outline-offset:1px}.timeline-zoom-controls button:disabled{opacity:.34;cursor:not-allowed}.timeline-zoom-controls button[data-zoom-action=fit]{width:auto;padding:0 8px}.timeline-zoom-controls button svg{width:14px;height:14px}.timeline-zoom-controls button span{font-size:11px;font-weight:800}.timeline-zoom-controls output{width:42px;color:#4b4640;font-variant-numeric:tabular-nums;font-size:11px;font-weight:850;text-align:center}.timeline-stage{position:relative;min-height:0;overflow-x:auto;overflow-y:hidden;background:linear-gradient(to right,rgba(115,106,94,.1) 1px,transparent 1px) 22px 0 / 210px 100%,#fbfaf6;scrollbar-color:rgba(93,103,79,.46) transparent;scrollbar-width:thin;cursor:grab;transition:box-shadow .16s ease,background-color .16s ease}.timeline-stage.drag-ready{background-color:#e9ede285;box-shadow:inset 0 0 0 2px #5d674f5c}.timeline-stage.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.timeline-stage:focus-visible{outline:2px solid rgba(118,87,232,.48);outline-offset:-2px}.timeline-axis{position:sticky;z-index:4;top:0;display:grid;grid-template-columns:repeat(6,210px);width:max-content;min-width:100%;padding:12px 22px 10px;border-bottom:1px solid var(--line);background:#fffdf9f0}.timeline-axis span{color:var(--muted);font-family:var(--serif);font-size:11px;font-weight:600}.timeline-flow{display:flex;width:max-content;min-width:max-content;align-items:center;padding:116px 22px 40px}.timeline-flow-item{display:flex;align-items:center}.timeline-place-card{position:relative;display:grid;flex:0 0 132px;width:132px;min-height:220px;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--timeline-card-radius, 17px);background:var(--paper);box-shadow:0 12px 28px #3a31271f;cursor:grab;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease}.timeline-place-card:hover,.timeline-place-card.active{border-color:var(--olive);transform:translateY(-4px);box-shadow:0 18px 38px #4149392e}.timeline-place-card.dragging{opacity:.45}.timeline-place-card:focus-visible{outline:3px solid rgba(168,104,71,.38);outline-offset:3px}.timeline-place-card>img{width:100%;height:var(--timeline-card-image-height, 132px);object-fit:cover}.timeline-time{position:absolute;z-index:2;top:10px;left:10px;padding:5px 8px;border-radius:999px;background:var(--olive);color:#fff;font-size:max(11px,var(--timeline-card-time-size, 8px));font-weight:900}.timeline-place-card>div{display:grid;gap:var(--timeline-card-copy-gap, 5px);padding:var(--timeline-card-copy-padding, 12px)}.timeline-place-card strong{font-family:var(--serif);font-size:max(11px,var(--timeline-card-title-size, 16px));font-weight:600;line-height:1.15}.timeline-place-card>div span{color:var(--muted);font-size:max(11px,var(--timeline-card-meta-size, 8px))}.timeline-connector{display:grid;flex:0 0 var(--connector-width, 48px);width:var(--connector-width, 48px);justify-items:center;gap:6px;color:var(--muted)}.timeline-connector small,.timeline-connector em{width:max(64px,var(--connector-width, 48px));text-align:center;font-size:11px;font-style:normal;white-space:nowrap}.timeline-connector>span{display:flex;align-items:center;width:100%;color:var(--clay)}.timeline-connector i{flex:1;border-top:1px dashed rgba(168,104,71,.58)}.timeline-connector svg{width:18px;height:18px;padding:3px;border:1px solid rgba(168,104,71,.32);border-radius:999px;background:var(--paper)}.timeline-canvas-instruction{position:sticky;bottom:20px;left:22px;display:flex;width:max-content;gap:7px;align-items:center;margin:0 0 18px 22px;color:#5b5851b3;font-size:11px;font-weight:800;pointer-events:none}.timeline-canvas-instruction svg{color:var(--olive)}.timeline-canvas-status{display:flex;gap:14px;align-items:center;padding:11px 16px;border-top:1px solid var(--line);background:var(--paper)}.timeline-canvas-status span{display:flex;gap:6px;align-items:center;color:var(--olive);font-size:11px;font-weight:900}.timeline-canvas-status p{margin:0;color:var(--muted);font-size:11px}.timeline-canvas-status.has-conflict span{color:#b55f51}.planner-inspector{display:grid;grid-template-rows:minmax(330px,1fr) auto auto;gap:12px;min-height:0}.planner-mini-map{position:relative;min-height:330px;overflow:hidden;border-radius:19px}.planner-map-title{position:absolute;z-index:5;top:12px;right:12px;left:12px;display:flex;align-items:center;justify-content:space-between}.planner-map-selection{position:absolute;z-index:5;top:58px;left:12px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center;width:154px;padding:7px;border:1px solid rgba(213,204,191,.82);border-radius:13px;background:#fffdf9f0;box-shadow:0 10px 24px #362f261f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.planner-map-selection img{width:48px;height:48px;object-fit:cover;border-radius:9px}.planner-map-selection>span{display:grid;gap:4px;min-width:0}.planner-map-selection small{width:fit-content;padding:3px 6px;border-radius:999px;background:var(--clay);color:#fff;font-size:11px;font-weight:900}.planner-map-selection strong{overflow:hidden;color:var(--ink);font-family:var(--serif);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.planner-map-title>span{display:flex;gap:6px;align-items:center;padding:8px 10px;border:1px solid rgba(213,204,191,.8);border-radius:11px;background:#fffdf9eb;color:var(--muted);font-size:11px;font-weight:800;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.planner-map-stats{position:absolute;z-index:5;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);min-height:72px;border-top:1px solid var(--line);background:#fffdf9f5}.planner-map-stats div{display:grid;place-content:center;gap:4px;text-align:center;border-right:1px solid var(--line)}.planner-map-stats div:last-child{border-right:0}.planner-map-stats small{color:var(--muted);font-size:11px}.planner-map-stats strong{font-family:var(--serif);font-size:15px;font-weight:600}.planner-ai-card,.planner-constraints-card{border-radius:17px}.planner-ai-card{padding:13px}.planner-ai-card>header,.planner-constraints-card>header{display:flex;align-items:center;justify-content:space-between}.planner-ai-card>header>span{display:flex;gap:7px;align-items:center;color:var(--olive);font-size:11px;font-weight:900}.planner-ai-card>header button{border:0;background:transparent;color:var(--muted);cursor:pointer}.planner-ai-card>div{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;margin-top:10px;padding:11px;border-radius:12px;background:#f0ede4}.planner-ai-card.accepted>div{background:var(--olive-soft)}.planner-ai-card>div svg{color:var(--clay)}.planner-ai-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.planner-ai-card footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.planner-ai-card footer button{min-height:36px;padding:0 9px;border-radius:10px;font-size:11px}.planner-constraints-card{padding:12px 13px}.planner-constraints-card header span{font-size:11px;font-weight:900}.planner-constraints-card header button{width:30px;height:30px}.planner-constraints-card>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.planner-constraints-card>div span{display:flex;gap:5px;align-items:center;padding:5px 7px;border-radius:8px;background:#f1ede6;color:var(--muted);font-size:11px}@media(max-width:1250px){.app-header{grid-template-columns:auto 1fr auto;padding:0 26px}.primary-nav button{padding:0 10px}.page{padding-right:28px;padding-left:28px}.dashboard-layout{grid-template-columns:minmax(550px,1.05fr) minmax(400px,.95fr)}.dashboard-collage{grid-template-columns:minmax(0,1.15fr) minmax(170px,.85fr)}.dashboard-budget{grid-template-columns:1fr;gap:16px}.dashboard-budget-summary{padding:0 0 14px;border-right:0;border-bottom:1px solid var(--line)}.dashboard-metrics button{padding-right:10px;padding-left:10px}.route-card-heading h2{font-size:42px}.planner-layout{grid-template-columns:270px minmax(0,1fr)}.canvas-stop-card{grid-template-columns:64px minmax(0,1fr) 26px}.canvas-stop-card>img{width:64px;height:68px}.navigate-workspace{grid-template-columns:250px minmax(440px,1fr) 330px}}@media(max-width:1040px){html,body{min-width:900px}.primary-nav button svg{display:none}.dashboard-intro{align-items:center}.dashboard-layout{grid-template-columns:1fr}.dashboard-trip-card,.dashboard-notebook{width:100%}.dashboard-notebook{padding-bottom:20px}.dashboard-tab-panel{min-height:0}.dashboard-place-card>button:first-child{height:230px}.route-card.featured{grid-column:span 12}.route-card{grid-column:span 6}.planner-layout{grid-template-columns:1fr}.source-panel{position:static;display:grid;grid-template-columns:260px 1fr}.source-cover{height:100%;min-height:240px;grid-row:span 3}.route-result-workspace{grid-template-columns:320px minmax(0,1fr)}.navigate-workspace{grid-template-columns:240px minmax(0,1fr)}.journey-control-panel{position:absolute;right:46px;bottom:46px;width:340px;max-height:calc(100% - 92px);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-card)}.navigate-workspace{position:relative}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.timeline-planner-page button:focus-visible,.timeline-planner-page input:focus-visible,.timeline-planner-page article:focus-visible{outline-color:var(--qy-focus)}.timeline-planner-page .planner-commandbar{background:#fbfcfff7}.timeline-planner-page .planner-command-title .brand-mark{background:var(--planner-accent-soft);color:var(--planner-accent)}.timeline-planner-page .planner-history-actions button{border-color:transparent;background:transparent;color:var(--qy-muted)}.timeline-planner-page .planner-command-actions .planner-draft-button{display:inline-flex;min-height:42px;padding:0 14px;gap:8px;align-items:center;justify-content:center;border:1px solid rgba(13,47,122,.24);border-radius:13px;background:var(--qy-tint);color:var(--qy-primary);font-size:11px;font-weight:800;cursor:pointer}.timeline-planner-page .planner-command-actions .planner-draft-button:hover:not(:disabled){border-color:#0d2f7a6b;background:#e8f0ff}.timeline-planner-page .planner-command-actions .planner-draft-button:disabled{cursor:default;opacity:.68}.timeline-planner-page .planner-command-actions .planner-draft-button[data-draft-state=saved]{border-color:var(--qy-line);background:var(--qy-surface);color:var(--qy-muted)}.timeline-planner-page .planner-command-actions .planner-draft-button svg{width:16px;height:16px}.timeline-planner-page .primary-button,.timeline-planner-page .planner-command-actions .primary-button{border-color:var(--planner-accent);background:var(--planner-accent);color:#fff;box-shadow:0 10px 24px #0d2f7a33}.timeline-planner-page .primary-button:hover:not(:disabled),.timeline-planner-page .planner-command-actions .primary-button:hover:not(:disabled){background:var(--planner-accent-dark)}.app-shell[data-page=canvas] .timeline-planner-page .timeline-workbench{grid-template-columns:326px minmax(0,1fr) 328px;height:calc(100vh - 184px);min-height:720px}.timeline-planner-page[data-draft-saving=true] .timeline-workbench{pointer-events:none;cursor:progress}.timeline-planner-page .planner-library{grid-template-rows:auto auto minmax(0,1fr);border-color:var(--qy-line);border-radius:17px;background:var(--qy-surface-soft);box-shadow:0 14px 34px #0d2f7a12}.timeline-planner-page .planner-library>header{min-height:61px;padding:14px 16px 12px 18px;border-bottom-color:#ebe5dd}.timeline-planner-page .planner-library>header h2{overflow:hidden;font-family:var(--font-source-han);font-size:15px;font-weight:800;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .planner-library>header button{width:34px;height:34px;border-color:transparent;background:transparent;color:#3d3933}.timeline-planner-page .planner-library>header button:hover{background:#f1eee8}.timeline-planner-page .library-drag-hint{min-height:43px;padding:11px 18px;border-bottom:1px solid #eee8e0;color:#9a948a;font-size:11px}.timeline-planner-page .library-drag-hint svg{width:15px;height:15px;color:#aaa49a}.timeline-planner-page .planner-library-list{align-content:start;gap:12px;padding:10px 12px 14px;scrollbar-color:rgba(118,87,232,.28) transparent;scrollbar-width:thin}.timeline-planner-page .planner-library-list article{position:relative;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:142px auto;gap:0;min-height:232px;padding:9px 10px 10px 18px;border:1px solid #ece6df;border-radius:15px;background:#fff;box-shadow:0 5px 15px #3a31270e}.timeline-planner-page .planner-library-list article:hover,.timeline-planner-page .planner-library-list article.active{border-color:#e5ded6;background:#fff;box-shadow:0 9px 22px #45393017}.timeline-planner-page .planner-library-list article:active{border-color:var(--planner-accent-line);box-shadow:0 0 0 3px #7657e814,0 9px 22px #45393017}.timeline-planner-page .library-card-handle{position:absolute;z-index:2;top:69px;left:2px;display:grid;width:14px;height:30px;place-items:center;color:#aaa49b;cursor:grab}.timeline-planner-page .library-card-handle svg{width:14px;height:22px}.timeline-planner-page .planner-library-list article>img{grid-row:1;grid-column:1 / -1;width:100%;height:142px;align-self:stretch;border-radius:12px}.timeline-planner-page .planner-library-list .library-card-copy{display:grid;grid-row:2;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:8px 10px;align-self:start;min-width:0;padding:10px 2px 0}.timeline-planner-page .planner-library-list .library-card-copy>strong{grid-column:1 / -1;display:-webkit-box;overflow:hidden;padding-right:24px;font-family:var(--font-source-han);font-size:15px;font-weight:650;line-height:1.32;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.timeline-planner-page .library-card-creator{grid-row:2;grid-column:1;display:flex;gap:6px;align-items:center;color:#777168;font-size:11px}.timeline-planner-page .library-card-creator img{width:18px;height:18px;flex:0 0 18px;object-fit:cover;border-radius:999px}.timeline-planner-page .library-card-creator>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .planner-library-list .library-tag{grid-row:2;grid-column:2;align-self:center;width:fit-content;padding:5px 10px;border-radius:999px;font-size:11px;font-style:normal;font-weight:800}.timeline-planner-page .library-tag.culture{background:#f8e5d7;color:#95603d}.timeline-planner-page .library-tag.local,.timeline-planner-page .library-tag.nature{background:#e5efdf;color:#56714d}.timeline-planner-page .library-tag.art{background:#e9e1fb;color:#6950b9}.timeline-planner-page .library-tag.night{background:#e4e8f3;color:#56627d}.timeline-planner-page .library-card-bookmark{position:absolute;z-index:3;top:166px;right:14px;align-self:auto;margin:0;color:#aaa49b}.timeline-planner-page .timeline-canvas-heading small,.timeline-planner-page .timeline-canvas-heading>span,.timeline-planner-page .timeline-canvas-summary,.timeline-planner-page .timeline-canvas-instruction svg{color:var(--planner-accent)}.timeline-planner-page .timeline-time{background:var(--planner-accent)}.timeline-planner-page .timeline-place-card:hover,.timeline-planner-page .timeline-place-card.active{border-color:var(--planner-accent);box-shadow:0 18px 38px #7657e829}.timeline-planner-page .timeline-stage.drag-ready{background-color:#f0ebff75;box-shadow:inset 0 0 0 2px var(--planner-accent-line)}.timeline-planner-page .planner-mini-map .route-map button.active{border-color:#fff;background:var(--planner-accent)}.timeline-planner-page .planner-map-selection small{background:var(--planner-accent)}.app-shell[data-page=canvas] .primary-nav button.active{background:var(--qy-tint);color:var(--qy-primary)}.timeline-planner-page .timeline-canvas{position:relative}.timeline-planner-page .primary-button:disabled{border-color:#d9d3ce;background:#d9d3ce;color:#8e8881;box-shadow:none;cursor:not-allowed}.timeline-planner-page .timeline-flow{min-height:480px;padding-bottom:96px}.timeline-planner-page .timeline-place-card.empty{min-height:220px;border:1px dashed var(--qy-line-strong);background:#eaf0fa7a;box-shadow:none}.timeline-planner-page .timeline-place-card.empty:hover,.timeline-planner-page .timeline-place-card.empty.selected-empty{border-color:var(--planner-accent);background:#dde7f8b8;box-shadow:0 0 0 3px #5e74aa1a;transform:translateY(-3px)}.timeline-planner-page .timeline-place-card.drop-target{border-style:solid;border-color:var(--planner-accent);box-shadow:0 0 0 3px #5e74aa24,0 16px 34px #0d2f7a24}.timeline-planner-page .timeline-empty-copy{display:grid;min-height:218px;place-content:center;justify-items:center;gap:7px;padding:44px 10px 18px!important;text-align:center}.timeline-planner-page .timeline-empty-copy .timeline-empty-icon{display:grid;width:34px;height:34px;margin-bottom:3px;place-items:center;border-radius:999px;background:var(--qy-tint-strong);color:var(--planner-accent)}.timeline-planner-page .timeline-empty-copy .timeline-empty-icon svg{width:18px;height:18px}.timeline-planner-page .timeline-empty-copy strong{font-family:var(--font-source-han);font-size:13px;font-weight:750}.timeline-planner-page .timeline-empty-copy>span:not(.timeline-empty-icon),.timeline-planner-page .timeline-empty-copy small{color:var(--qy-muted);font-size:11px;line-height:1.45}.timeline-planner-page .timeline-empty-copy small{max-width:96px;color:var(--qy-faint)}.timeline-planner-page .timeline-connector{position:relative}.timeline-planner-page .timeline-insert-slot,.timeline-planner-page .timeline-end-add,.timeline-planner-page .timeline-empty-start{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--qy-line-strong);background:#fff;color:var(--planner-accent);cursor:pointer}.timeline-planner-page .timeline-insert-slot{width:28px;height:28px;margin-top:2px;padding:0;border-radius:999px;opacity:0;transform:translateY(-3px);transition:.15s ease}.timeline-planner-page .timeline-connector:hover .timeline-insert-slot,.timeline-planner-page .timeline-insert-slot:focus-visible{opacity:1;transform:translateY(0)}.timeline-planner-page .timeline-end-add{flex:0 0 72px;width:72px;min-height:72px;gap:5px;margin-left:20px;padding:0;flex-direction:column;border-style:dashed;border-radius:16px;background:#f0ebff57}.timeline-planner-page .timeline-end-add span{font-size:11px;font-weight:800}.timeline-planner-page .timeline-empty-start{min-width:178px;min-height:74px;gap:8px;border-style:dashed;border-radius:17px;background:#eaf0fa7a;font-size:11px;font-weight:800}.timeline-planner-page .timeline-trash-zone{position:absolute;z-index:12;right:16px;bottom:54px;left:16px;display:flex;height:64px;gap:12px;align-items:center;justify-content:center;border:1px dashed var(--planner-accent-line);border-radius:16px;background:#f0ebfff0;color:var(--planner-accent);box-shadow:0 14px 28px #4939811f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:timeline-trash-enter .16s ease both}.timeline-planner-page .timeline-trash-zone>svg{width:20px;height:20px}.timeline-planner-page .timeline-trash-zone>span{display:grid;gap:3px}.timeline-planner-page .timeline-trash-zone strong{font-size:11px}.timeline-planner-page .timeline-trash-zone small{color:#786f8c;font-size:11px}.timeline-planner-page .timeline-trash-zone.armed{border-color:#c66c66;background:#fff1f0f7;color:#b85c57;box-shadow:0 14px 28px #853e3924}.timeline-planner-page .timeline-trash-zone.armed small{color:#8c625f}.timeline-planner-page .timeline-canvas-status{position:relative;z-index:13}@keyframes timeline-trash-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.timeline-planner-page .timeline-stage{overflow:auto;background:#fbfaf6;overscroll-behavior:contain}.timeline-planner-page .timeline-day-surface{position:relative;min-width:100%;isolation:isolate;background:linear-gradient(to right,rgba(229,232,237,.34) 0,rgba(229,232,237,.34) 25%,transparent 25%,transparent 91.666%,rgba(229,232,237,.34) 91.666%,rgba(229,232,237,.34) 100%)}.timeline-planner-page .timeline-day-surface:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,rgba(99,91,82,.115) 1px,transparent 1px) var(--timeline-edge-gutter, 88px) 0 / var(--timeline-hour-width, 105px) 100%,linear-gradient(to right,rgba(99,91,82,.038) 1px,transparent 1px) var(--timeline-edge-gutter, 88px) 0 / var(--timeline-quarter-width, 26.25px) 100%;content:"";pointer-events:none}.timeline-planner-page .timeline-axis{position:sticky;z-index:8;top:0;left:0;display:block;width:100%;min-width:100%;height:58px;padding:0;border-bottom:1px solid #e7e1d9;background:#fffdf9f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.timeline-planner-page .timeline-axis:after{position:absolute;right:0;bottom:-1px;left:0;border-bottom:1px solid rgba(118,87,232,.08);content:""}.timeline-planner-page .timeline-axis span{position:absolute;top:15px;display:block;width:max-content;color:#676159;font-family:var(--font-source-han);font-size:max(11px,var(--timeline-axis-font-size, 11px));font-weight:700;transform:translate(-50%)}.timeline-planner-page .timeline-axis span:after{position:absolute;top:26px;left:50%;height:8px;border-left:1px solid rgba(85,78,69,.34);content:""}.timeline-planner-page .timeline-place-card{position:absolute;z-index:3;grid-template-rows:var(--timeline-card-image-height, 108px) minmax(0,1fr);width:var(--timeline-item-card-width, var(--timeline-card-width, 132px));height:var(--timeline-card-height, 220px);min-height:var(--timeline-card-height, 220px);padding:var(--timeline-card-inner-padding, 7px);transform:translate(-50%)}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-place-card>div{gap:2px;padding:4px 1px 1px}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-place-card strong{overflow:hidden;font-size:max(11px,var(--timeline-card-title-size, 10px));line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-place-card>div>span:not(.timeline-time-range){display:none}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-time-range{gap:1px;font-size:11px}.timeline-planner-page .timeline-place-card:hover,.timeline-planner-page .timeline-place-card.active{transform:translate(-50%)}.timeline-planner-page .timeline-place-card.dragging{opacity:.32;transform:translate(-50%) scale(.98)}.timeline-planner-page .timeline-place-card>img{width:100%;height:100%;border-radius:max(7px,calc(var(--timeline-card-radius, 17px) - 6px))}.timeline-planner-page .timeline-place-card>div{grid-template-rows:auto auto minmax(2px,1fr) auto;min-height:0;padding:var(--timeline-card-copy-padding, 8px) 3px 2px}.timeline-planner-page .timeline-time-range{display:flex;gap:4px;align-items:center;align-self:end;justify-content:space-between;min-width:0;margin-top:auto;color:#aaa49c;font-family:var(--font-source-han);font-size:max(11px,var(--timeline-card-time-size, 10px));font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.timeline-planner-page .timeline-time-range i{flex:1;min-width:5px;border-top:1px solid rgba(121,113,104,.34)}.timeline-planner-page .timeline-duration-bar{position:absolute;z-index:2;height:18px;min-width:18px;overflow:hidden;border-radius:999px;background:#feca4c;color:#785b0b;box-shadow:0 4px 12px #c78f1029;transform:translate(-50%);pointer-events:none}.timeline-planner-page .timeline-duration-bar span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;padding:0 6px;font-size:max(11px,var(--timeline-annotation-font-size, 8px));font-weight:850;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .timeline-duration-bar.conflict{background:#f2aa45;box-shadow:0 0 0 1px #b957446b,0 4px 12px #b9574429}.timeline-planner-page .timeline-route-connector{position:absolute;z-index:1;pointer-events:none}.timeline-planner-page .timeline-route-line{position:absolute;display:block;border-color:#7971686b}.timeline-planner-page .timeline-route-line-from,.timeline-planner-page .timeline-route-line-to{border-top:2px solid rgba(121,113,104,.42)}.timeline-planner-page .timeline-route-stem{width:0;border-left:2px solid rgba(121,113,104,.42)}.timeline-planner-page .timeline-route-line-vertical{border-left:2px solid rgba(121,113,104,.42)}.timeline-planner-page .timeline-route-connector.conflict .timeline-route-line{border-color:#b55f5194;border-style:dashed}.timeline-planner-page .timeline-transport-node{position:absolute;z-index:4;display:grid;width:96px;min-height:68px;justify-items:center;padding:0;transform:translate(-50%);border:0;outline:0;background:transparent;color:#26231f;text-align:center;cursor:pointer}.timeline-planner-page .timeline-transport-icon{position:relative;display:grid;width:40px;height:40px;place-items:center;border:1px solid #e5dfd6;border-radius:999px;background:#fffdf9fa;box-shadow:0 0 0 6px #fffdf9f0,0 8px 18px #473e3321;transition:.15s ease}.timeline-planner-page .timeline-transport-switch{position:absolute;right:-4px;bottom:-3px;display:grid;width:15px;height:15px;place-items:center;border:1px solid #d8d7d2;border-radius:999px;background:#fff;color:#555550;opacity:0;transform:scale(.82);transition:opacity .14s ease,transform .14s ease}.timeline-planner-page .timeline-transport-switch svg{width:9px;height:9px}.timeline-planner-page .timeline-transport-node:hover .timeline-transport-switch,.timeline-planner-page .timeline-transport-node:focus-visible .timeline-transport-switch{opacity:1;transform:scale(1)}.timeline-planner-page .timeline-transport-copy{display:grid;width:104px;grid-template-columns:minmax(0,1fr);gap:0;justify-items:center;margin:2px auto 0;padding:2px 6px;border-radius:9px;background:#fbfaf6eb;text-align:center;line-height:1.12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.timeline-planner-page .timeline-buffer-label{position:absolute;z-index:2;top:-18px;left:50%;min-width:58px;padding:3px 7px;transform:translate(-50%);border:1px solid rgba(112,118,78,.2);border-radius:999px;background:#fffdf9fa;color:#6b704e;font-size:11px;font-weight:850;letter-spacing:.01em;line-height:1;box-shadow:0 4px 12px #473e331a;white-space:nowrap}.timeline-planner-page .timeline-buffer-label.conflict{border-color:#b55f513d;color:#b55f51}.timeline-planner-page .timeline-transport-copy strong{font-size:11px;font-weight:850}.timeline-planner-page .timeline-transport-copy small{color:#898278;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-planner-page .timeline-transport-node:hover .timeline-transport-icon,.timeline-planner-page .timeline-transport-node:focus-visible .timeline-transport-icon{border-color:#7657e86b;color:var(--planner-accent);box-shadow:0 0 0 6px #fffdf9f5,0 0 0 9px #7657e81a,0 10px 22px #47397629}.timeline-planner-page .timeline-transport-node.conflict .timeline-transport-icon{border-color:#bf5b4a6b;color:#b55f51}.timeline-planner-page .timeline-transport-node.conflict .timeline-transport-copy strong{color:#b55f51}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-duration-bar{height:6px}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-duration-bar span,.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-transport-copy{display:none}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-buffer-label{display:block;min-width:0;padding:2px 5px;font-size:9px}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-transport-node{width:34px;min-height:28px}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-transport-icon{width:28px;height:28px;box-shadow:0 0 0 4px #fffdf9f0,0 6px 14px #473e331f}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-transport-icon svg{width:15px;height:15px}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-transport-switch{display:none}.timeline-planner-page .timeline-place-card.free{z-index:6;border:1px dashed rgba(102,113,86,.62);background:#fffef9fa;box-shadow:0 15px 34px #1c1c1921,0 0 0 4px #6671560e}.timeline-planner-page .timeline-place-card.free.active{border-color:#4f5b40d1;box-shadow:0 16px 36px #1c1c1929,0 0 0 4px #6671561a}.timeline-planner-page .timeline-free-badge{position:absolute;z-index:4;top:5px;right:5px;display:inline-flex;min-height:20px;align-items:center;padding:0 7px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#434d37e6;color:#fff;font-size:10px;font-weight:800;line-height:1;box-shadow:0 4px 10px #1c1c1924;pointer-events:none}.timeline-planner-page .timeline-free-drag-hint{position:absolute;z-index:18;width:max-content;max-width:190px;padding:6px 9px;transform:translate(-50%);border:1px solid rgba(102,113,86,.22);border-radius:999px;background:#fffefaf5;color:#46503c;font-size:11px;font-weight:800;line-height:1.2;box-shadow:0 8px 20px #1c1c191f;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.timeline-planner-page .timeline-drop-guide{position:absolute;z-index:11;top:0;width:1px;height:100%;color:var(--planner-accent);transform:translate(-50%);pointer-events:none}.timeline-planner-page .timeline-drop-time{position:absolute;z-index:3;top:10px;left:50%;min-width:58px;padding:6px 9px;border-radius:999px;background:var(--planner-accent);color:#fff;box-shadow:0 8px 18px #7657e83d;font-size:11px;font-weight:850;text-align:center;transform:translate(-50%)}.timeline-planner-page .timeline-drop-line{position:absolute;top:41px;left:50%;border-left:2px dashed currentcolor;transform:translate(-1px)}.timeline-planner-page .timeline-drop-point{position:absolute;left:50%;width:12px;height:12px;border:3px solid #fff;border-radius:999px;background:currentcolor;box-shadow:0 0 0 2px currentcolor,0 5px 14px #49398142;transform:translate(-50%,-50%)}.timeline-planner-page .timeline-drop-ghost{position:absolute;left:16px;display:flex;width:126px;gap:8px;align-items:center;padding:7px;border:1px solid rgba(118,87,232,.34);border-radius:13px;background:#fffdf9c2;box-shadow:0 12px 24px #4539301f;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.timeline-planner-page .timeline-drop-ghost>img{width:38px;height:38px;flex:0 0 38px;object-fit:cover;border-radius:9px}.timeline-planner-page .timeline-drop-ghost>span{overflow:hidden;color:#38342f;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .timeline-drop-guide>em{position:absolute;top:45px;left:12px;width:max-content;padding:4px 7px;border-radius:7px;background:#fff0ef;color:#a84d49;font-size:11px;font-style:normal;font-weight:800}.timeline-planner-page .timeline-drop-guide.invalid{color:#bc5d58}.timeline-planner-page .timeline-drop-guide.invalid .timeline-drop-time{background:#bc5d58;box-shadow:0 8px 18px #bc5d5833}.timeline-planner-page .timeline-empty-canvas-message{position:absolute;top:154px;display:grid;width:280px;min-height:128px;place-content:center;justify-items:center;gap:7px;border:1px dashed var(--qy-line-strong);border-radius:17px;background:#eaf0fa8f;color:var(--qy-primary);text-align:center;transform:translate(-50%)}.timeline-planner-page .timeline-empty-canvas-message svg{width:21px;height:21px}.timeline-planner-page .timeline-empty-canvas-message strong{font-size:12px}.timeline-planner-page .timeline-empty-canvas-message span{color:var(--qy-muted);font-size:11px}.timeline-planner-page .timeline-canvas-instruction{position:sticky;z-index:6;bottom:18px;left:20px;margin:0;padding:8px 10px;border:1px solid rgba(223,216,207,.78);border-radius:10px;background:#fffdf9e0;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.timeline-native-drag-preview{position:fixed;top:-1000px;left:-1000px;display:grid;width:36px;height:36px;place-items:center;border:3px solid #fff;border-radius:999px;background:var(--planner-accent);box-shadow:0 8px 20px #49398147;pointer-events:none}.timeline-native-drag-preview span{width:9px;height:9px;border-radius:999px;background:#fff}.planner-agent-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;min-height:360px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fffdf9f7;box-shadow:0 16px 38px #362f2614;transition:border-color .18s ease,box-shadow .18s ease}.planner-agent-card.running{border-color:#7657e86b;box-shadow:0 16px 38px #362f2614,0 0 0 3px #7657e812}.planner-agent-card.paused{border-color:#be8b497a}.agent-panel-header{display:flex;align-items:center;justify-content:space-between;padding:15px 15px 13px;border-bottom:1px solid var(--line);background:#fffdf9f0}.agent-heading{display:flex;gap:11px;align-items:center}.agent-heading>i{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:var(--planner-accent, var(--olive));color:#fff;font-style:normal}.agent-heading>i svg{width:18px;height:18px}.agent-heading>span{display:grid;gap:3px}.agent-heading small{color:var(--planner-accent, var(--olive));font-size:11px;font-weight:900;letter-spacing:.02em}.agent-heading strong{font-family:var(--serif);font-size:17px;font-weight:600}.agent-presence{display:flex;gap:6px;align-items:center;padding:6px 8px;border-radius:999px;background:#f1eee7;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em}.agent-presence i{width:6px;height:6px;border-radius:999px;background:var(--olive)}.agent-presence.running{background:var(--planner-accent-soft, rgba(118, 87, 232, .1));color:var(--planner-accent, var(--olive))}.agent-presence.running i{background:var(--planner-accent, var(--olive));animation:agent-live-dot .9s ease-in-out infinite alternate}.agent-presence.paused{color:#9a6b2d}.agent-presence.paused i{background:#b98039}.agent-dialogue-body{display:grid;align-content:start;gap:10px;min-height:0;overflow-y:auto;padding:12px 14px;scrollbar-color:rgba(118,87,232,.3) transparent;scrollbar-width:thin}.agent-transcript{display:grid;gap:8px;min-height:60px;max-height:136px;overflow-y:auto;padding-right:2px}.agent-transcript p{margin:0;padding:10px 11px;border-radius:13px;background:#f0ede4;color:var(--muted);font-size:12px;line-height:1.52}.agent-transcript p.user{margin-left:34px;background:var(--planner-accent-soft, var(--olive-soft));color:var(--ink)}.agent-transcript p span{display:block;margin-bottom:4px;color:var(--planner-accent, var(--olive));font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.agent-example-prompt{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;min-height:64px;gap:10px;align-items:center;justify-content:flex-start;padding:10px 12px;border:1px solid var(--planner-accent-line, rgba(93, 103, 79, .24));border-radius:13px;background:var(--planner-accent-soft, var(--olive-soft));color:#51437e;font-size:12px;font-weight:900;text-align:left;cursor:pointer}.agent-example-prompt>svg:first-child{width:21px;height:21px;color:var(--planner-accent, var(--olive))}.agent-example-prompt>span{display:grid;gap:4px}.agent-example-prompt small{color:var(--planner-accent, var(--olive));font-size:11px;font-weight:900}.agent-example-prompt strong{color:#51437e;font-size:12px;line-height:1.4}.agent-operation-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.agent-operation-list li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:start;padding:7px 8px;border:1px solid transparent;border-radius:11px;color:var(--faint)}.agent-operation-list li>span{display:grid;width:22px;height:22px;place-items:center;border-radius:999px;background:#ece7de;color:var(--muted);font-size:11px;font-weight:900}.agent-operation-list li>div{display:grid;gap:2px}.agent-operation-list strong{font-size:11px}.agent-operation-list small{color:var(--muted);font-size:11px;line-height:1.42}.agent-operation-list li.complete{color:var(--ink)}.agent-operation-list li.complete>span{background:var(--planner-accent-soft, var(--olive-soft));color:var(--planner-accent, var(--olive))}.agent-operation-list li.current{border-color:var(--planner-accent-line, rgba(118, 87, 232, .22));background:#7657e812;color:var(--ink)}.agent-operation-list li.current>span{background:var(--planner-accent, var(--olive));color:#fff}.agent-operation-list li.current.paused{border-color:#be8b4940;background:#be8b4914}.agent-operation-list li.failed{border-color:#b84d413d;background:#b84d4112;color:#8f3f36}.agent-operation-list li.failed>span{background:#b84d411f;color:#a04439}.agent-demo-result{display:grid;gap:10px;padding:12px;border-radius:15px;background:#f6f6f2;color:#242421;box-shadow:inset 0 0 0 1px #4f574414}.agent-demo-result>header{display:flex;gap:9px;align-items:center}.agent-demo-result>header>span{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:999px;background:#e5eadf;color:var(--olive)}.agent-demo-result>header svg{width:16px;height:16px}.agent-demo-result>header>div{display:grid;gap:2px}.agent-demo-result>header small{color:#777771;font-size:11px;font-weight:750}.agent-demo-result>header strong{font-size:13px}.agent-demo-result-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.agent-demo-result-metrics>span{padding:7px 8px;border-radius:10px;background:#fff;color:#666660;font-size:11px;text-align:center;box-shadow:0 3px 10px #1c1c190b}.agent-demo-result-metrics strong{color:#242421;font-size:13px}.agent-demo-result ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.agent-demo-result li{display:flex;gap:8px;align-items:center;justify-content:space-between;min-height:32px;padding:6px 8px;border-radius:9px;background:#ffffffb8}.agent-demo-result li>strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.agent-demo-result li>span{display:flex;flex:0 0 auto;gap:5px;align-items:center;color:#777771;font-size:11px}.agent-demo-result li svg{width:11px;height:11px}.agent-demo-result li time:last-child{color:var(--olive);font-weight:850}.agent-demo-result>p{margin:0;color:#777771;font-size:11px;line-height:1.45}.agent-inline-error{margin:0;padding:8px 10px;border:1px solid rgba(184,77,65,.22);border-radius:10px;background:#b84d4112;color:#8f3f36;font-size:11px;font-weight:750;line-height:1.45}.agent-live-controls{display:flex;gap:7px}.agent-live-controls button{display:flex;min-height:34px;flex:1;gap:5px;align-items:center;justify-content:center;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--muted);font-size:11px;font-weight:900;cursor:pointer}.agent-live-controls button.primary{border-color:var(--planner-accent, var(--olive));background:var(--planner-accent, var(--olive));color:#fff}.agent-live-controls button:disabled{opacity:.45;cursor:not-allowed}.agent-composer{display:grid;grid-template-rows:minmax(54px,auto) auto;gap:4px;margin:0 14px 8px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:0 8px 24px #362f2614}.agent-composer textarea{width:100%;min-width:0;min-height:54px;max-height:92px;padding:5px 6px;resize:none;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;line-height:1.5}.agent-composer textarea::placeholder{color:var(--faint)}.agent-composer footer{display:flex;align-items:center;justify-content:space-between;min-height:34px}.agent-composer footer>span{display:flex;gap:5px;align-items:center;color:var(--planner-accent, var(--olive));font-size:11px;font-weight:900}.agent-composer footer button{display:grid;width:34px;height:34px;padding:0;place-items:center;border:0;border-radius:999px;background:var(--planner-accent, var(--olive));color:#fff;cursor:pointer}.agent-composer footer button:disabled{background:#d8d2c8;cursor:not-allowed}.agent-safety-note{display:block;padding:0 14px 10px;color:var(--faint);font-size:11px;text-align:center}.timeline-planner-page .timeline-unavailable{position:absolute;z-index:1;top:58px;bottom:0;overflow:hidden;border-right:1px solid rgba(168,104,71,.24);border-left:1px solid rgba(168,104,71,.16);background:repeating-linear-gradient(-45deg,#a868470a,#a868470a 9px,#a8684716 9px,#a8684716 18px);animation:timeline-constraint-in .42s ease both;pointer-events:none}.timeline-planner-page .timeline-unavailable span{position:absolute;top:16px;left:12px;display:flex;width:max-content;gap:6px;align-items:center;padding:6px 9px;border:1px solid rgba(168,104,71,.2);border-radius:999px;background:#fffdf9e6;color:var(--clay);font-size:max(11px,var(--timeline-annotation-font-size, 9px));font-weight:900;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.timeline-planner-page .timeline-place-card.agent-moving{z-index:7;border-color:transparent;box-shadow:0 0 0 3px #5d674f14,0 13px 30px #41493921;animation:agent-card-ready-absolute 1.1s ease-in-out infinite alternate}.timeline-planner-page .timeline-place-card.agent-protected{z-index:4;box-shadow:0 0 0 3px #5d674f0e,0 10px 24px #1c1c191a;animation:none}.timeline-planner-page .timeline-place-card.agent-changed{border-color:transparent;box-shadow:0 0 0 3px #5d674f14,0 10px 26px #1c1c191c}.timeline-agent-badge{position:absolute;z-index:4;top:max(38px,calc(var(--timeline-card-image-height, 132px) - 28px));right:8px;left:8px;display:flex;min-height:22px;gap:5px;align-items:center;justify-content:center;border-radius:8px;background:#5d674ff2;color:#fff;font-size:max(11px,var(--timeline-card-meta-size, 8px));font-weight:900;letter-spacing:.01em;box-shadow:0 7px 14px #363e2d2e}.timeline-agent-badge.changed{right:10px;left:auto;width:max-content;padding:0 7px;background:#5d674fed}.timeline-agent-badge.protected{right:8px;left:auto;width:max-content;padding:0 7px;background:#fffffdf0;color:#5d674f;box-shadow:0 5px 12px #1c1c1917}.timeline-agent-badge svg{width:11px;height:11px}@keyframes agent-card-ready-absolute{0%{transform:translate(-50%) translateY(-1px)}to{transform:translate(-50%) translateY(-2px)}}@keyframes agent-process-enter{0%{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes agent-live-dot{0%{opacity:.35;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}@keyframes timeline-constraint-in{0%{opacity:0;transform:translateY(3px) scaleX(.96);transform-origin:left}to{opacity:1;transform:translateY(0) scaleX(1);transform-origin:left}}.app-shell:is([data-page=route-detail],[data-page=canvas],[data-page=plan],[data-page=navigate]){display:grid;grid-template-rows:78px minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow-x:auto;overflow-y:hidden}.app-shell:is([data-page=route-detail],[data-page=canvas],[data-page=plan],[data-page=navigate])>.app-header{position:relative;height:78px;min-height:78px}.app-shell:is([data-page=canvas],[data-page=plan],[data-page=navigate])>.page{height:100%;min-height:0;overflow:hidden}.app-shell[data-page=route-detail]>.route-detail-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;height:100%;min-height:0;overflow:hidden;padding-top:14px;padding-bottom:18px}.app-shell[data-page=route-detail] .route-detail-topbar{margin-bottom:0}.app-shell[data-page=route-detail] .route-detail-layout{height:100%;min-height:0;overflow:hidden}.app-shell[data-page=route-detail] :is(.route-detail-story,.route-detail-route-column){min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(108,121,89,.24) transparent;scrollbar-width:thin}.app-shell[data-page=canvas] .timeline-planner-page{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;height:100%;padding-top:14px;padding-bottom:18px}.timeline-planner-page[hidden]{display:none!important}.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:326px minmax(0,1fr) 352px;height:auto;min-height:0;margin-top:0;overflow:hidden}.app-shell[data-page=canvas] .planner-inspector{grid-template-rows:minmax(clamp(260px,33vh,340px),.88fr) minmax(0,1.12fr)}.app-shell[data-page=canvas] :is(.planner-mini-map,.planner-agent-card){min-height:0}.app-shell[data-page=canvas] .planner-agent-card{grid-template-rows:auto minmax(0,1fr) auto auto}.app-shell[data-page=plan] .result-page{display:grid;grid-template-rows:clamp(160px,21vh,210px) auto minmax(0,1fr) auto;height:100%;padding-top:18px;padding-bottom:20px}.app-shell[data-page=plan] .result-hero{height:auto;min-height:0}.app-shell[data-page=plan] .creator-result-strip{min-height:68px;padding-top:8px;padding-bottom:8px}.app-shell[data-page=plan] .creator-result-strip>img{width:48px;height:48px}.app-shell[data-page=plan] .route-result-workspace{height:auto;min-height:0}.app-shell[data-page=plan] .result-summary-bar{min-height:70px}.app-shell[data-page=navigate] .navigate-page{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;padding-top:14px;padding-bottom:18px}.app-shell[data-page=navigate] .navigate-title-row{min-height:48px;margin-bottom:10px}.app-shell[data-page=navigate] .navigate-workspace{height:auto;min-height:0}.app-shell[data-page=canvas] :is(.planner-library-list,.agent-dialogue-body,.timeline-stage),.app-shell[data-page=plan] .result-list-scroll,.app-shell[data-page=navigate] :is(.journey-stop-list,.journey-control-panel){overscroll-behavior:contain}@media(max-height:820px){.app-shell[data-page=canvas] .timeline-planner-page{gap:10px;padding-top:10px;padding-bottom:12px}.app-shell[data-page=canvas] .planner-commandbar{min-height:62px;padding-top:7px;padding-bottom:7px}.app-shell[data-page=canvas] .planner-inspector{grid-template-rows:minmax(245px,.86fr) minmax(0,1.14fr);gap:10px}.app-shell[data-page=canvas] .planner-map-selection{top:48px;grid-template-columns:38px minmax(0,1fr);width:146px;padding:5px}.app-shell[data-page=canvas] .planner-map-selection img{width:38px;height:38px}.app-shell[data-page=canvas] .agent-panel-header{padding-top:11px;padding-bottom:10px}.app-shell[data-page=canvas] .agent-heading>i{width:36px;height:36px}.app-shell[data-page=canvas] .agent-dialogue-body{gap:8px;padding:8px 12px}.app-shell[data-page=canvas] .agent-transcript p{padding:8px 10px}.app-shell[data-page=canvas] .agent-example-prompt{min-height:58px}.app-shell[data-page=canvas] .agent-composer{grid-template-rows:minmax(44px,auto) auto}.app-shell[data-page=canvas] .agent-composer textarea{min-height:44px}.app-shell[data-page=route-detail]>.route-detail-page{gap:10px;padding-top:10px;padding-bottom:12px}}.timeline-planner-page .planner-library-list article.detail-open{border-color:#7657e885;box-shadow:0 0 0 3px #7657e81a,0 12px 26px #4539301a}.timeline-planner-page .library-detail-popover{position:fixed;z-index:80;display:grid;width:344px;max-height:calc(100vh - 112px);overflow:hidden auto;border:1px solid #e4ddd5;border-radius:20px;background:#fffdf9;box-shadow:0 28px 72px #2a231c33,0 8px 22px #2a231c1a;animation:library-detail-enter .15s ease both}.timeline-planner-page .library-detail-hero{position:relative;height:162px;flex:0 0 162px;overflow:hidden;background:#eee9e1}.timeline-planner-page .library-detail-hero>img{width:100%;height:100%;object-fit:cover}.timeline-planner-page .library-detail-close{position:absolute;top:12px;right:12px;display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.76);border-radius:999px;background:#fffdf9f0;color:#403b35;box-shadow:0 8px 18px #2a231c24;cursor:pointer}.timeline-planner-page .library-detail-close:hover{background:#fff;transform:translateY(-1px)}.timeline-planner-page .library-detail-close svg{width:16px;height:16px}.timeline-planner-page .library-detail-hero>span{position:absolute;bottom:12px;left:12px;padding:6px 9px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:#272420c7;color:#fff;font-size:11px;font-weight:800;letter-spacing:.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.timeline-planner-page .library-detail-hero>span.scheduled{background:#664bcde6}.timeline-planner-page .library-detail-body{display:grid;gap:15px;padding:18px}.timeline-planner-page .library-detail-body>header{display:grid;gap:7px}.timeline-planner-page .library-detail-body>header small{color:var(--planner-accent);font-size:11px;font-weight:850;letter-spacing:.08em}.timeline-planner-page .library-detail-body h3{margin:0;color:#2d2925;font-family:var(--serif);font-size:25px;font-weight:600;line-height:1.05}.timeline-planner-page .library-detail-body>header p{margin:0;color:#6f6860;font-size:11px;line-height:1.7}.timeline-planner-page .library-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.timeline-planner-page .library-detail-facts>div{display:grid;gap:5px;min-width:0;padding:11px;border:1px solid #ece6de;border-radius:12px;background:#f8f5ef}.timeline-planner-page .library-detail-facts>div:last-child{grid-column:1 / -1}.timeline-planner-page .library-detail-facts dt{display:flex;gap:6px;align-items:center;color:#8a8379;font-size:11px;font-weight:750}.timeline-planner-page .library-detail-facts dt svg{width:13px;height:13px;color:var(--planner-accent)}.timeline-planner-page .library-detail-facts dd{overflow:hidden;margin:0;color:#39342f;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .library-detail-source{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding-top:2px}.timeline-planner-page .library-detail-source>img{width:36px;height:36px;object-fit:cover;border-radius:999px}.timeline-planner-page .library-detail-source>span{display:grid;gap:2px;min-width:0}.timeline-planner-page .library-detail-source small{color:#948d84;font-size:11px}.timeline-planner-page .library-detail-source strong{overflow:hidden;color:#39342f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .library-detail-source .library-tag{margin:0;padding:5px 9px;border-radius:999px;font-size:11px;font-style:normal;font-weight:800}.timeline-planner-page .library-detail-source .library-tag.culture{background:#f8e5d7;color:#95603d}.timeline-planner-page .library-detail-source .library-tag.local,.timeline-planner-page .library-detail-source .library-tag.nature{background:#e5efdf;color:#56714d}.timeline-planner-page .library-detail-source .library-tag.art{background:#e9e1fb;color:#6950b9}.timeline-planner-page .library-detail-source .library-tag.night{background:#e4e8f3;color:#56627d}.timeline-planner-page .library-detail-popover>footer{display:grid;gap:10px;padding:14px 18px 18px;border-top:1px solid #ebe5dd;background:#fbf8f3}.timeline-planner-page .library-detail-popover>footer>span{display:flex;gap:7px;align-items:center;color:#777067;font-size:11px;font-weight:750}.timeline-planner-page .library-detail-popover>footer>span svg{color:var(--planner-accent)}.timeline-planner-page .library-detail-popover>footer>button{display:flex;min-height:42px;gap:8px;align-items:center;justify-content:center;border:1px solid var(--planner-accent);border-radius:12px;background:var(--planner-accent);color:#fff;box-shadow:0 10px 22px #7657e82e;font-size:11px;font-weight:850;cursor:pointer}.timeline-planner-page .library-detail-popover>footer>button:hover{border-color:var(--planner-accent-dark);background:var(--planner-accent-dark)}.timeline-planner-page .library-detail-popover button:focus-visible{outline:3px solid rgba(118,87,232,.26);outline-offset:2px}@keyframes library-detail-enter{0%{opacity:0;transform:translate(-6px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@media(max-width:900px){.timeline-planner-page .library-detail-popover{right:16px;left:auto!important;width:min(344px,calc(100vw - 32px))}}:root{--app-sidebar-width: 176px;--app-topbar-height: 72px}.app-shell{display:grid;grid-template-columns:var(--app-sidebar-width) minmax(0,1fr);grid-template-rows:var(--app-topbar-height) auto;min-height:100vh}.app-sidebar{position:sticky;z-index:60;top:0;display:flex;grid-column:1;grid-row:1 / -1;flex-direction:column;align-self:start;justify-content:space-between;width:var(--app-sidebar-width);height:100vh;height:100dvh;padding:22px 14px 16px;border-right:1px solid rgba(104,94,81,.13);background:#fbf8f3f7;box-shadow:10px 0 32px #3e362c09;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.sidebar-main{display:grid;gap:34px}.app-sidebar .brand{width:100%;min-width:0;gap:10px;padding:0 4px}.app-sidebar .brand-mark{flex:0 0 auto;width:44px;height:44px;overflow:hidden;border-radius:14px;background:#cfb48a;box-shadow:0 7px 18px #5f492b1f}.app-sidebar .brand-mark-chuan img{width:100%;height:100%;object-fit:cover;pointer-events:none;transform:scale(1.46);-webkit-user-select:none;user-select:none}.app-sidebar .brand>.brand-wordmark{display:flex;min-width:0;gap:7px;align-items:baseline;color:#c5a777;white-space:nowrap}.app-sidebar .brand-wordmark strong{color:inherit;font-family:var(--sans);font-size:25px;font-weight:850;letter-spacing:0;line-height:1}.app-sidebar .brand-wordmark small{color:inherit;font-size:18px;font-weight:780;letter-spacing:0;line-height:1;text-transform:none}.app-sidebar .brand>span:last-child{min-width:0}.sidebar-nav{display:grid;gap:7px}.sidebar-nav button{position:relative;display:flex;width:100%;min-height:46px;gap:12px;align-items:center;padding:0 13px;border:0;border-radius:15px;background:transparent;color:#777168;font-size:13px;font-weight:760;text-align:left;cursor:pointer;transition:color .16s ease,background .16s ease,transform .16s ease}.sidebar-nav button:before{position:absolute;top:50%;left:-14px;width:3px;height:22px;border-radius:0 4px 4px 0;background:var(--olive);content:"";opacity:0;transform:translateY(-50%) scaleY(.45);transition:opacity .16s ease,transform .16s ease}.sidebar-nav button svg{flex:0 0 auto;width:18px;height:18px}.sidebar-nav button:hover{background:#ebe6dcbf;color:var(--ink);transform:translate(1px)}.sidebar-nav button.active{background:var(--olive-soft);color:var(--qy-nav-active);box-shadow:inset 0 0 0 1px #5d674f0f}.sidebar-nav button.active:before{opacity:1;transform:translateY(-50%) scaleY(1)}.sidebar-footer{display:grid;gap:8px}.sidebar-city,.sidebar-profile{display:flex;width:100%;min-width:0;gap:10px;align-items:center;padding:10px;border:0;border-radius:15px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.sidebar-city:hover,.sidebar-profile:hover{background:#ebe6dcb8;color:var(--ink)}.sidebar-city>svg:first-child{flex:0 0 auto;width:17px;height:17px}.sidebar-city>svg:last-child{width:13px;height:13px;margin-left:auto}.sidebar-city>span,.sidebar-profile>span{display:grid;min-width:0;gap:2px}.sidebar-city small,.sidebar-profile small{overflow:hidden;color:var(--faint);font-size:11px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.sidebar-city strong,.sidebar-profile strong{font-size:12px}.sidebar-profile{border-top:1px solid rgba(104,94,81,.1);border-radius:0 0 15px 15px;padding-top:13px}.sidebar-profile img{flex:0 0 auto;width:34px;height:34px;border:2px solid var(--paper);border-radius:999px;object-fit:cover;box-shadow:0 0 0 1px var(--line)}.app-topbar{position:sticky;z-index:50;top:0;display:flex;grid-column:2;grid-row:1;min-width:0;height:var(--app-topbar-height);gap:14px;align-items:center;padding:0 28px;border-bottom:1px solid var(--qy-line);background:#fbfcfff5;box-shadow:0 8px 30px #0d2f7a0d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-search{display:flex;flex:1 1 auto;max-width:1040px;min-width:0;min-height:48px;gap:8px;align-items:center;padding:5px 16px;border:1px solid var(--qy-line);border-radius:17px;background:var(--qy-tint);box-shadow:inset 0 1px #ffffffc2}.topbar-search:focus-within{border-color:var(--qy-line-strong);background:var(--qy-surface);box-shadow:0 0 0 3px #5e74aa1a,0 8px 26px #0d2f7a12}.topbar-search label{display:flex;flex:1 1 auto;min-width:0;gap:10px;align-items:center;color:var(--qy-muted)}.topbar-search label>svg{flex:0 0 auto;width:17px;height:17px}.topbar-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--qy-ink);font-size:13px}.topbar-search input::placeholder{color:var(--qy-faint)}.topbar-actions{display:flex;flex:0 0 auto;gap:8px;align-items:center}.topbar-filter{display:flex;min-height:44px;gap:8px;align-items:center;padding:0 15px;border:1px solid var(--line);border-radius:15px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:760;cursor:pointer}.topbar-filter:hover{border-color:var(--line-strong);background:var(--olive-soft)}.topbar-filter svg{width:15px;height:15px}.topbar-link-query{display:flex;min-height:44px;gap:8px;align-items:center;padding:0 16px;border:1px solid transparent;border-radius:15px;background:var(--olive);color:#fff;font-size:12px;font-weight:760;cursor:pointer;box-shadow:0 7px 18px #4d574229;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease}.topbar-link-query:hover,.topbar-link-query.active{background:var(--olive-dark);box-shadow:0 9px 22px #4d574238}.topbar-link-query:active{transform:scale(.96)}.topbar-link-query svg{width:15px;height:15px}.topbar-page-context{display:flex;min-width:0;gap:11px;align-items:center}.topbar-page-context>span{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:12px;background:var(--olive-soft);color:var(--olive-dark)}.topbar-page-context>span svg{width:17px;height:17px}.topbar-page-context>div{display:grid;gap:1px}.topbar-page-context small{color:var(--faint);font-size:11px;font-weight:800;letter-spacing:.08em}.topbar-page-context strong{overflow:hidden;font-family:var(--serif);font-size:18px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.topbar-location{display:inline-flex;gap:6px;align-items:center;padding:8px 11px;border-radius:12px;background:#edf0e7c7;color:var(--olive-dark);font-size:11px;font-weight:720}.topbar-location svg{width:13px;height:13px}.app-shell>.page,.app-shell>.route-detail-page{grid-column:2;grid-row:2}.app-shell:is([data-page=route-detail],[data-page=canvas],[data-page=plan],[data-page=inspiration],[data-page=navigate]){grid-template-columns:var(--app-sidebar-width) minmax(0,1fr);grid-template-rows:var(--app-topbar-height) minmax(0,1fr);height:100vh;height:100dvh;min-height:0;overflow-x:auto;overflow-y:hidden}.app-shell:is([data-page=route-detail],[data-page=canvas],[data-page=plan],[data-page=inspiration],[data-page=navigate])>.app-sidebar{height:100%}.app-shell[data-page=canvas] .timeline-planner-page,.app-shell[data-page=plan] .result-page,.app-shell[data-page=navigate] .navigate-page,.app-shell[data-page=route-detail]>.route-detail-page{padding-right:20px;padding-left:20px}.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:300px minmax(0,1fr) 326px}.discover-page{padding-top:28px}.discover-import-drawer[hidden]{display:none}.dashboard-page{padding-top:34px}.nearby-inspiration-page{display:grid;height:100%;min-height:0;padding-top:24px;padding-bottom:24px}.nearby-inspiration-placeholder{position:relative;min-height:0;overflow:hidden;border:1px solid rgba(111,101,87,.12);border-radius:30px;background:var(--paper);box-shadow:var(--shadow-soft)}.nearby-inspiration-placeholder>img{width:100%;height:100%;object-fit:cover;opacity:.78;filter:saturate(.72) sepia(.08)}.nearby-inspiration-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fbf8f3f7,#fbf8f3e6 34%,#fbf8f338 72%)}.nearby-inspiration-copy{position:absolute;top:50%;left:clamp(34px,6vw,86px);width:min(480px,44%);transform:translateY(-50%)}.nearby-inspiration-icon{display:grid;width:44px;height:44px;margin-bottom:22px;place-items:center;border-radius:15px;background:var(--olive);color:#fff;box-shadow:0 12px 28px #41493933}.nearby-inspiration-icon svg{width:20px;height:20px}.nearby-inspiration-copy h1{max-width:470px;margin:0;font-family:var(--serif);font-size:clamp(38px,4.2vw,64px);font-weight:500;line-height:1.04;letter-spacing:-.045em}.nearby-inspiration-copy>p:not(.eyebrow){max-width:440px;margin:18px 0 26px;color:var(--muted);font-size:13px;line-height:1.8}.toast{margin-left:calc(var(--app-sidebar-width) / 2)}@media(max-width:1500px){.page{padding-right:32px;padding-left:32px}.dashboard-layout{grid-template-columns:minmax(520px,1.08fr) minmax(360px,.92fr)}.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:284px minmax(0,1fr) 310px}.app-shell[data-page=canvas] .planner-commandbar{padding-right:14px;padding-left:14px}}@media(max-width:1380px){:root{--app-sidebar-width: 76px}.app-sidebar{align-items:center;padding-right:9px;padding-left:9px}.sidebar-main,.sidebar-footer{width:100%}.sidebar-main{gap:30px}.app-sidebar .brand{justify-content:center;padding:0}.app-sidebar .brand>span:last-child,.sidebar-nav button span,.sidebar-city>span,.sidebar-city>svg:last-child,.sidebar-profile>span{display:none}.sidebar-nav button{justify-content:center;min-height:48px;padding:0}.sidebar-nav button:before{left:-9px}.sidebar-city,.sidebar-profile{justify-content:center;padding-right:0;padding-left:0}.sidebar-profile{border-radius:0 0 13px 13px}.app-topbar{padding-right:22px;padding-left:22px}.toast{margin-left:calc(var(--app-sidebar-width) / 2)}.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:292px minmax(0,1fr) 320px}}@media(max-width:1120px){.page{padding-right:24px;padding-left:24px}.topbar-filter span,.topbar-link-query span{display:none}.topbar-filter,.topbar-link-query{width:44px;padding:0;justify-content:center}.dashboard-layout{grid-template-columns:1fr}.app-shell[data-page=canvas] .timeline-planner-page{min-width:920px}.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:235px minmax(360px,1fr) 265px}.app-shell[data-page=route-detail]>.route-detail-page{min-width:900px}.nearby-inspiration-copy{width:min(520px,58%)}}.app-shell[data-page=inspiration] .nearby-inspiration-page{--result-accent: #7657e8;--result-accent-dark: #6546d6;--result-accent-soft: #f0ebff;display:block;height:100%;min-height:0;padding:14px 24px 18px}.result-explorer-shell{display:grid;grid-template-columns:minmax(560px,1.04fr) minmax(500px,.96fr);height:100%;min-height:0;overflow:hidden;border:1px solid rgba(104,94,81,.13);border-radius:28px;background:var(--paper);box-shadow:0 24px 64px #463d311a}.nearby-inspiration-page .result-story-pane{grid-template-rows:auto auto minmax(0,1fr)}.nearby-inspiration-page .nearby-story-toolbar{grid-template-columns:minmax(0,1fr) auto}.result-story-pane{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;border-right:1px solid rgba(104,94,81,.12);background:linear-gradient(180deg,#ffffffb8,#fffdf9f5),var(--paper)}.result-story-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:16px 18px 10px}.result-back-button,.result-share-button,.result-edit-button,.result-start-button,.result-map-actions button{border:1px solid rgba(104,94,81,.13);background:#fffdf9f0;color:var(--ink);cursor:pointer}.result-back-button{display:grid;width:42px;height:42px;padding:0;place-items:center;border-radius:14px}.result-back-button:hover,.result-share-button:hover,.result-edit-button:hover{border-color:#7657e847;background:var(--result-accent-soft);color:var(--result-accent-dark)}.result-search-field{display:flex;gap:9px;align-items:center;min-width:0;height:42px;padding:0 13px;border:1px solid rgba(104,94,81,.11);border-radius:14px;background:#f8f5ef;color:var(--muted)}.result-search-field:focus-within{border-color:#7657e859;background:#fff;box-shadow:0 0 0 3px #7657e814}.result-search-field svg{flex:0 0 auto;width:15px;height:15px}.result-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:11px}.result-search-field input::placeholder{color:#99958d}.result-distance-button{display:inline-flex;gap:6px;align-items:center;justify-content:center;height:42px;padding:0 13px;border:1px solid rgba(104,94,81,.13);border-radius:14px;background:#fffdf9f0;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.result-distance-button:hover{border-color:#7657e847;background:var(--result-accent-soft);color:var(--result-accent-dark)}.result-distance-button svg{width:14px;height:14px}.result-share-button{display:inline-flex;gap:6px;align-items:center;justify-content:center;height:42px;padding:0 13px;border-radius:14px;font-size:11px;font-weight:800}.result-story-filters{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:5px 18px 13px;border-bottom:1px solid rgba(104,94,81,.1)}.result-story-filters>div{display:flex;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}.result-story-filters>div::-webkit-scrollbar{display:none}.result-story-filters button{flex:0 0 auto;min-height:31px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer}.result-story-filters button:hover{background:#f3f0ea;color:var(--ink)}.result-story-filters button.active{background:#edf3e9;color:#56624b}.result-story-scroll{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px 24px;scrollbar-color:rgba(118,87,232,.24) transparent;scrollbar-width:thin}.result-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px 12px}.result-story-card{display:flex;width:100%;height:100%;min-width:0;flex-direction:column;margin:0;padding:5px;text-align:left;border:1px solid rgba(27,39,66,.12);border-radius:18px;background:#fff;color:inherit;cursor:pointer;box-shadow:0 8px 20px #0d2f7a0e;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.result-story-card:hover{border-color:#7657e89e;transform:translateY(-2px);background:#f7f3eccc;box-shadow:0 0 0 2px #7657e824,0 10px 22px #232e531a}.result-story-card.linked-hover{border-color:var(--result-accent-dark);background:#f5f1ff;box-shadow:0 0 0 2px #7657e83d,0 13px 28px #4e399726;transform:translateY(-3px)}.result-story-card:focus-visible{border-color:var(--result-accent-dark);outline:3px solid rgba(118,87,232,.34);outline-offset:2px}.result-story-image{position:relative;display:block;height:248px;overflow:hidden;border-radius:14px;background:#e8e5de}.result-story-image>img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.result-story-card:hover .result-story-image>img,.result-story-card.selected .result-story-image>img,.result-story-card.linked-hover .result-story-image>img{transform:scale(1.025)}.result-story-image:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(180deg,rgba(19,18,16,.32),transparent 32%,transparent 62%,rgba(19,18,16,.46));pointer-events:none}.result-story-creator{position:absolute;z-index:2;top:10px;right:10px;left:10px;display:flex;gap:7px;align-items:center;color:#fff}.result-story-creator>img{width:28px;height:28px;object-fit:cover;border:2px solid rgba(255,255,255,.82);border-radius:999px}.result-story-creator>span{display:grid;gap:1px;min-width:0}.result-story-creator strong{overflow:hidden;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 8px rgba(20,18,15,.3)}.result-story-creator small{color:#ffffffc2;font-size:11px}.result-story-location{position:absolute;z-index:2;right:10px;bottom:10px;left:10px;display:flex;gap:4px;align-items:center;overflow:hidden;color:#fff;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 8px rgba(20,18,15,.34)}.result-story-location svg{flex:0 0 auto;width:11px;height:11px}.result-story-order{position:absolute;z-index:3;right:9px;bottom:8px;display:none;width:25px;height:25px;place-items:center;border:2px solid #fff;border-radius:999px;background:var(--result-accent);color:#fff;font-size:11px;font-weight:900}.result-story-card:hover .result-story-order,.result-story-card:focus-visible .result-story-order{display:grid}.result-story-card.selected .result-story-order{background:var(--olive)}.result-story-card.linked-hover .result-story-order{background:var(--result-accent)}.result-story-copy{display:grid;flex:1 1 auto;grid-template-rows:auto minmax(0,1fr) auto;gap:6px;padding:11px 7px 7px}.result-story-copy>strong{display:-webkit-box;overflow:hidden;font-family:var(--serif);font-size:15px;font-weight:650;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.result-story-copy>span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.result-story-copy>small{display:grid;grid-template-columns:auto minmax(0,1fr) 13px;gap:5px;align-items:center;color:var(--muted);font-size:11px}.result-story-copy>small em{padding:4px 7px;border-radius:999px;background:#eef3ea;color:#68775d;font-style:normal;font-weight:800}.result-story-copy>small>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-story-copy>small svg{width:13px;height:13px}.result-story-copy>small svg.saved{color:var(--olive);fill:color-mix(in srgb,var(--olive) 18%,transparent)}.result-feed-empty,.result-map-empty{display:grid;place-items:center;align-content:center;color:var(--muted);text-align:center}.result-feed-empty{min-height:320px}.result-feed-empty svg,.result-map-empty svg{width:24px;height:24px;margin-bottom:10px;color:var(--result-accent)}.result-feed-empty strong,.result-map-empty strong{color:var(--ink);font-family:var(--serif);font-size:18px}.result-feed-empty span,.result-map-empty span{margin-top:6px;font-size:11px}.result-story-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:78px;padding:12px 18px;border-top:1px solid rgba(104,94,81,.11);background:#fffdf9f7;box-shadow:0 -12px 32px #4b43380a}.result-story-footer>div:first-child{display:grid;gap:3px;min-width:0}.result-story-footer>div:first-child>span{display:flex;gap:5px;align-items:center;color:var(--result-accent-dark);font-size:11px;font-weight:900}.result-story-footer>div:first-child>strong{font-family:var(--serif);font-size:14px}.result-story-footer>div:first-child>small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.result-story-footer>div:last-child{display:flex;gap:7px}.result-edit-button,.result-start-button{display:inline-flex;gap:6px;align-items:center;justify-content:center;min-height:39px;padding:0 12px;border-radius:13px;font-size:11px;font-weight:850}.result-start-button{border-color:var(--result-accent);background:var(--result-accent);color:#fff;box-shadow:0 10px 22px #6546d638}.result-start-button:hover{border-color:var(--result-accent-dark);background:var(--result-accent-dark)}.result-explorer-map{position:relative;min-width:0;min-height:0;overflow:hidden;isolation:isolate;background:#eff0e9}.result-explorer-map>img{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.75;filter:saturate(.76) brightness(1.05);transform:scale(1.02)}.result-explorer-map:after{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 36%),radial-gradient(circle at 50% 50%,transparent 38%,rgba(252,250,246,.22));pointer-events:none}.result-explorer-map.has-interactive-map>.jilu-interactive-map{position:absolute;top:0;right:0;bottom:0;left:0}.result-explorer-map.has-interactive-map .result-map-popover{top:auto;right:18px;bottom:22px;left:auto;transform:none}.result-explorer-map.has-interactive-map .result-map-popover:before,.result-explorer-map.has-interactive-map .result-map-popover:after{display:none}.nearby-place-detail{position:absolute;z-index:8;right:18px;bottom:24px;display:grid;width:min(296px,calc(100% - 36px));max-height:calc(100% - 48px);overflow:hidden auto;border:1px solid rgba(104,94,81,.11);border-radius:20px;outline:none;background:#fffdf9fa;box-shadow:0 24px 58px #332b2333,0 7px 18px #332b2314;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;animation:nearby-detail-enter .17s ease both}.nearby-place-detail-hero{position:relative;height:112px;overflow:hidden;background:#eee9e1}.nearby-place-detail-hero>img{width:100%;height:100%;object-fit:cover}.nearby-place-detail-close{position:absolute;top:10px;right:10px;display:grid;width:32px;height:32px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.78);border-radius:999px;background:#fffdf9f0;color:#403b35;box-shadow:0 7px 17px #2a231c29;cursor:pointer}.nearby-place-detail-close:hover{background:#fff;transform:translateY(-1px)}.nearby-place-detail-close svg{width:15px;height:15px}.nearby-place-detail-hero>span{position:absolute;bottom:10px;left:10px;padding:5px 8px;border:1px solid rgba(255,255,255,.56);border-radius:999px;background:#342d27c7;color:#fff;font-size:11px;font-weight:850;letter-spacing:.01em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nearby-place-detail-body{display:grid;gap:10px;padding:12px}.nearby-place-detail-body>header{display:grid;gap:5px}.nearby-place-detail-body>header small{color:var(--result-accent-dark);font-size:11px;font-weight:850;letter-spacing:.07em}.nearby-place-detail-body h2{margin:0;color:#2d2925;font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.05}.nearby-place-detail-body>header p{display:-webkit-box;margin:0;overflow:hidden;color:#6f6860;font-size:11px;line-height:1.62;-webkit-box-orient:vertical;-webkit-line-clamp:2}.nearby-place-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}.nearby-place-detail-facts>div{display:grid;gap:4px;min-width:0;padding:7px 6px;border:1px solid rgba(104,94,81,.08);border-radius:11px;background:#f8f5ef}.nearby-place-detail-facts dt{display:flex;gap:4px;align-items:center;color:#8a8379;font-size:11px;font-weight:750;white-space:nowrap}.nearby-place-detail-facts dt svg{width:11px;height:11px;flex:0 0 auto;color:var(--result-accent-dark)}.nearby-place-detail-facts dd{overflow:hidden;margin:0;color:#39342f;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.nearby-place-detail-source{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center}.nearby-place-detail-source>img{width:30px;height:30px;object-fit:cover;border-radius:999px}.nearby-place-detail-source>span{display:grid;gap:1px;min-width:0}.nearby-place-detail-source small{color:#948d84;font-size:11px}.nearby-place-detail-source strong{overflow:hidden;color:#39342f;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.nearby-place-detail-source em{padding:4px 7px;border-radius:999px;background:var(--result-accent-soft);color:var(--result-accent-dark);font-size:11px;font-style:normal;font-weight:800}.nearby-place-detail-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7px}.nearby-place-detail-actions button{display:inline-flex;min-width:0;min-height:44px;gap:6px;align-items:center;justify-content:center;padding:0 9px;border:1px solid rgba(104,94,81,.14);border-radius:11px;background:#fff;color:#4d473f;font-size:11px;font-weight:850;cursor:pointer}.nearby-place-detail-actions button:hover,.nearby-place-detail-actions button.saved{border-color:#7657e857;background:var(--result-accent-soft);color:var(--result-accent-dark)}.nearby-place-detail-actions button.primary{border-color:var(--result-accent-dark);background:var(--result-accent-dark);color:#fff}.nearby-place-detail-actions button.primary:hover{border-color:#4f35b0;background:#4f35b0;color:#fff}.nearby-place-detail-actions button svg{width:14px;height:14px;flex:0 0 auto}.nearby-place-detail:focus-visible,.nearby-place-detail-close:focus-visible,.nearby-place-detail-actions button:focus-visible{outline:3px solid rgba(118,87,232,.26);outline-offset:2px}@keyframes nearby-detail-enter{0%{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.result-explorer-map.has-interactive-map .result-map-saved-toggle{bottom:50px}.result-map-actions{position:absolute;z-index:7;top:18px;right:18px;display:grid;gap:7px}.result-map-actions button{display:grid;width:40px;height:40px;padding:0;place-items:center;border-radius:13px;box-shadow:0 10px 24px #413a301a;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.result-map-actions button:hover{border-color:#7657e857;color:var(--result-accent-dark)}.result-photo-marker{position:absolute;z-index:3;width:52px;height:52px;padding:3px;overflow:visible;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.96);border-radius:999px;background:#fff;box-shadow:0 10px 24px #312d272e;cursor:pointer;transition:width .17s ease,height .17s ease,box-shadow .17s ease,transform .17s ease}.result-photo-marker>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.result-photo-marker>span{position:absolute;right:-4px;bottom:-4px;display:grid;width:21px;height:21px;place-items:center;border:2px solid #fff;border-radius:999px;background:var(--result-accent);color:#fff;font-size:11px;font-weight:900}.result-photo-marker:hover,.result-photo-marker:focus-visible,.result-photo-marker.active{z-index:5;width:64px;height:64px;outline:0;box-shadow:0 0 0 7px #7657e824,0 14px 30px #4030773d;transform:translate(-50%,-50%) scale(1.02)}.result-photo-marker.selected{border-color:var(--result-accent)}.result-map-focus-ring{position:absolute;z-index:1;width:92px;height:92px;transform:translate(-50%,-50%);border:1px solid rgba(118,87,232,.42);border-radius:999px;background:#7657e81a;box-shadow:0 0 0 13px #7657e80f;pointer-events:none;animation:result-map-focus 1.8s ease-in-out infinite}@keyframes result-map-focus{0%,to{opacity:.72;transform:translate(-50%,-50%) scale(.92)}50%{opacity:1;transform:translate(-50%,-50%) scale(1)}}.result-map-popover{position:absolute;z-index:6;left:var(--result-popover-left);display:grid;grid-template-columns:94px minmax(0,1fr);gap:11px;width:min(336px,calc(100% - 32px));min-height:116px;padding:10px;border:1px solid rgba(104,94,81,.12);border-radius:18px;background:#fffdf9f5;box-shadow:0 20px 46px #3d342b2e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none}.result-map-popover:after{position:absolute;left:var(--result-popover-arrow-left);width:15px;height:15px;content:"";border-right:1px solid rgba(104,94,81,.12);border-bottom:1px solid rgba(104,94,81,.12);background:#fffdf9fa}.result-map-popover.above{top:calc(var(--result-popover-top) - 38px);transform:translate(-50%,-100%)}.result-map-popover.above:after{bottom:-8px;transform:translate(-50%) rotate(45deg)}.result-map-popover.below{top:calc(var(--result-popover-top) + 88px);transform:translate(-50%)}.result-map-popover.below:before{position:absolute;top:-50px;left:var(--result-popover-arrow-left);height:42px;content:"";border-left:1px dashed rgba(118,87,232,.46)}.result-map-popover.below:after{top:-8px;transform:translate(-50%) rotate(225deg)}.result-map-popover>img{width:94px;height:96px;object-fit:cover;border-radius:13px}.result-map-popover>div{display:grid;align-content:start;min-width:0;padding:2px 2px 0 0}.result-map-popover>div>span{color:var(--result-accent-dark);font-size:11px;font-weight:900}.result-map-popover h2{margin:5px 0 4px;font-family:var(--serif);font-size:20px;font-weight:650}.result-map-popover p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.result-map-popover small{display:flex;gap:5px;align-items:center;margin-top:7px;color:var(--muted);font-size:11px}.result-map-popover small img{width:17px;height:17px;object-fit:cover;border-radius:999px}.result-map-route-note{position:absolute;z-index:5;bottom:18px;left:18px;display:flex;gap:7px;align-items:center;min-height:39px;padding:0 13px;border:1px solid rgba(104,94,81,.1);border-radius:14px;background:#fffdf9e6;color:var(--result-accent-dark);font-size:11px;font-weight:850;box-shadow:0 10px 24px #413a301a;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.result-map-saved-toggle{position:absolute;z-index:7;bottom:18px;left:18px;display:inline-flex;gap:8px;align-items:center;min-height:40px;padding:0 12px;border:1px solid rgba(104,94,81,.11);border-radius:14px;background:#fffdf9eb;color:var(--ink);font-size:11px;font-weight:800;box-shadow:0 10px 24px #413a301a;cursor:pointer;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.result-map-saved-toggle>svg{width:14px;height:14px}.result-map-saved-toggle>i{position:relative;width:31px;height:18px;border-radius:999px;background:#ddd9d1;transition:background .16s ease}.result-map-saved-toggle>i>span{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:999px;background:#fff;box-shadow:0 2px 5px #37302833;transition:transform .16s ease}.result-map-saved-toggle[aria-pressed=true]{color:var(--result-accent-dark)}.result-map-saved-toggle[aria-pressed=true]>i{background:var(--result-accent)}.result-map-saved-toggle[aria-pressed=true]>i>span{transform:translate(13px)}.result-map-empty{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;padding:24px;background:#faf9f680;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.navigate-workspace{grid-template-columns:320px minmax(500px,1fr) 370px}@media(max-width:1250px){.result-explorer-shell{grid-template-columns:minmax(520px,1.04fr) minmax(480px,.96fr);min-width:1000px}.navigate-workspace{grid-template-columns:270px minmax(440px,1fr) 330px}}@media(max-width:1500px){.result-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1040px){.navigate-workspace{grid-template-columns:260px minmax(0,1fr)}}@media(max-height:820px){.app-shell[data-page=inspiration] .nearby-inspiration-page{padding-top:10px;padding-bottom:12px}.result-story-toolbar{padding-top:11px}.result-story-filters{padding-bottom:9px}.result-story-image{height:214px}.result-story-footer{min-height:68px;padding-top:8px;padding-bottom:8px}}.app-shell[data-page=dashboard]{background:var(--qy-bg)}.app-shell[data-page=dashboard]>.app-sidebar{background:#fbfcfffa}.app-shell[data-page=dashboard]>.app-topbar{padding:10px 46px;border-bottom-color:var(--qy-line);background:#fbfcfff5;box-shadow:none}.app-shell[data-page=dashboard] .topbar-search{max-width:1080px;min-height:52px;border-color:var(--qy-line);border-radius:15px;background:var(--qy-surface);box-shadow:0 8px 26px #0d2f7a0a}.app-shell[data-page=dashboard] .dashboard-page{display:grid;grid-row:1 / -1;grid-template-rows:var(--app-topbar-height) minmax(0,1fr);width:100%;max-width:1600px;min-height:100dvh;padding:0 46px 24px}.dashboard-page-search{display:flex;width:min(1080px,100%);min-height:52px;align-self:center;gap:8px;align-items:center;padding:5px 6px 5px 16px;border:1px solid var(--qy-line);border-radius:15px;background:var(--qy-surface);box-shadow:0 8px 26px #0d2f7a0a}.dashboard-page-search:focus-within{border-color:var(--qy-focus);box-shadow:0 0 0 3px #5e74aa1f,0 8px 26px #0d2f7a0f}.dashboard-page-search label{display:flex;flex:1 1 auto;min-width:0;gap:10px;align-items:center;color:var(--qy-muted)}.dashboard-page-search label>svg{width:17px;height:17px;flex:0 0 auto}.dashboard-page-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--qy-ink);font-size:13px}.dashboard-page-search input::placeholder{color:var(--qy-faint)}.dashboard-page-search>button{display:grid;width:38px;height:38px;flex:0 0 auto;padding:0;place-items:center;border:0;border-radius:13px;background:var(--qy-surface);color:var(--qy-primary);box-shadow:0 4px 14px #0d2f7a14;cursor:pointer}.dashboard-page-search>button:hover{background:var(--qy-primary);color:#fff}.dashboard-page-search>button svg{width:17px;height:17px}.app-shell[data-page=dashboard] .dashboard-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:calc(100dvh - var(--app-topbar-height) - 52px);min-height:calc(100dvh - var(--app-topbar-height) - 52px);gap:clamp(34px,3.4vw,62px);align-items:stretch;align-self:start;margin-top:28px}.app-shell[data-page=dashboard] :is(.dashboard-trip-card,.dashboard-notebook){min-width:0;min-height:0;height:100%;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.app-shell[data-page=dashboard] .dashboard-trip-card{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:18px;padding-top:28px}.app-shell[data-page=dashboard] .dashboard-notebook{display:grid;grid-template-rows:auto minmax(250px,.86fr) minmax(300px,1.08fr);gap:20px;padding:0}.dashboard-overview-heading{display:flex;min-height:120px;gap:24px;align-items:center;justify-content:space-between}.dashboard-trip-title{display:grid;gap:18px}.dashboard-trip-title h1{margin:0;color:var(--qy-ink);font-family:var(--serif);font-size:clamp(42px,3.1vw,50px);font-weight:500;line-height:.95;letter-spacing:-.055em}.dashboard-trip-title p{margin:0;color:var(--qy-muted);font-size:18px;font-weight:680}.dashboard-weather-compact{position:relative;display:flex;width:220px;min-height:66px;flex:0 0 auto;align-items:center;justify-content:space-between;padding:12px 16px 12px 20px;border:1px solid var(--qy-line);border-radius:15px;background:var(--qy-surface);color:var(--qy-ink);text-align:left;box-shadow:0 10px 28px #0d2f7a0b;cursor:pointer}.dashboard-weather-compact>span{display:grid;gap:5px}.dashboard-weather-compact small{color:var(--qy-muted);font-size:11px}.dashboard-weather-compact strong{font-family:var(--serif);font-size:24px;font-weight:500}.dashboard-weather-compact>svg{width:28px;height:28px;color:#c29a2c}.dashboard-weather-compact>em{position:absolute;z-index:5;top:calc(100% + 8px);right:0;width:max-content;padding:8px 11px;border:1px solid var(--qy-line);border-radius:10px;background:var(--qy-surface);color:var(--qy-muted);font-size:11px;font-style:normal;box-shadow:0 10px 26px #0d2f7a1a}.app-shell[data-page=dashboard] .dashboard-tabs{min-height:54px;margin:0;padding:4px;border:1px solid var(--qy-line);border-radius:14px;background:var(--qy-surface);box-shadow:0 8px 24px #0d2f7a08}.app-shell[data-page=dashboard] .dashboard-tabs button{min-height:44px;border-radius:10px;color:var(--qy-muted);font-size:13px;font-weight:720}.app-shell[data-page=dashboard] .dashboard-tabs button.active{background:var(--qy-tint);color:var(--qy-primary);box-shadow:none}.app-shell[data-page=dashboard] .dashboard-tab-panel{display:flex;min-height:0;align-items:center;margin:0;overflow:hidden}.app-shell[data-page=dashboard] .dashboard-tab-panel>*{width:100%}.app-shell[data-page=dashboard] .dashboard-place-grid{display:grid;height:min(100%,526px);min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:18px}.app-shell[data-page=dashboard] .dashboard-place-card{min-height:0;overflow:hidden;border:1px solid var(--qy-line);border-radius:16px;background:var(--qy-surface);box-shadow:0 10px 28px #0d2f7a0b;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.app-shell[data-page=dashboard] .dashboard-place-card:hover,.app-shell[data-page=dashboard] .dashboard-place-card.active{border-color:var(--qy-line-strong);box-shadow:0 14px 34px #0d2f7a1a;transform:translateY(-1px)}.app-shell[data-page=dashboard] .dashboard-place-card>button:first-child{display:grid;width:100%;height:100%;min-height:0;grid-template-rows:minmax(128px,1fr) auto;padding:0;border:0;background:transparent;text-align:left}.app-shell[data-page=dashboard] .dashboard-place-card>button:first-child>img{width:100%;height:100%;min-height:0;object-fit:cover}.app-shell[data-page=dashboard] .dashboard-place-copy{position:static;display:flex;min-height:72px;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:0;background:var(--qy-surface);color:var(--qy-ink);-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell[data-page=dashboard] .dashboard-place-copy>span{display:grid;min-width:0;gap:4px}.app-shell[data-page=dashboard] .dashboard-place-card strong{overflow:hidden;color:var(--qy-ink);font-family:inherit;font-size:17px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-page=dashboard] .dashboard-place-card small{color:var(--qy-muted);font-size:12px}.app-shell[data-page=dashboard] .dashboard-place-copy>em{flex:0 0 auto;color:var(--qy-muted);font-size:12px;font-style:normal}.dashboard-empty-state{display:grid;height:100%;min-height:320px;align-content:center;justify-items:center;gap:9px;border:1px dashed var(--qy-line-strong);border-radius:16px;background:#fbfcffb8;color:var(--qy-muted);text-align:center}.dashboard-empty-state>svg{width:25px;height:25px;color:var(--qy-focus)}.dashboard-empty-state strong{color:var(--qy-ink);font-size:15px}.dashboard-empty-state span{font-size:12px}.app-shell[data-page=dashboard] .dashboard-note-list{display:grid;height:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-shell[data-page=dashboard] .dashboard-note-list button{min-height:0;align-content:start;border-color:var(--qy-line);background:var(--qy-surface)}.app-shell[data-page=dashboard] .dashboard-note-list strong{font-family:inherit;font-size:16px}.app-shell[data-page=dashboard] .dashboard-note-list p{font-size:12px}.app-shell[data-page=dashboard] .dashboard-booking-list-large{align-content:start}.app-shell[data-page=dashboard] .dashboard-booking-list-large>button{border-color:var(--qy-line);background:var(--qy-surface)}.app-shell[data-page=dashboard] .dashboard-metrics{margin:0;overflow:visible;border:0;border-radius:0;background:transparent}.app-shell[data-page=dashboard] .dashboard-metrics button{min-height:66px;justify-content:center;padding:0 10px;border:0;background:transparent}.app-shell[data-page=dashboard] .dashboard-metrics button:hover{border-radius:12px;background:var(--qy-tint)}.app-shell[data-page=dashboard] .dashboard-metrics button>svg{color:var(--qy-focus)}.app-shell[data-page=dashboard] .dashboard-metrics strong{font-family:inherit;font-size:20px}.app-shell[data-page=dashboard] .dashboard-metrics small{color:var(--qy-muted);font-size:11px}.app-shell[data-page=dashboard] .dashboard-budget,.dashboard-map-card,.dashboard-journey-preview{border:1px solid var(--qy-line);border-radius:20px;background:var(--qy-surface);box-shadow:0 12px 34px #0d2f7a0d}.app-shell[data-page=dashboard] .dashboard-budget{display:grid;min-height:144px;grid-template-columns:minmax(170px,.72fr) minmax(230px,1.28fr);gap:28px;margin:0;padding:20px 24px}.app-shell[data-page=dashboard] .dashboard-budget-summary{padding-right:25px;border-right-color:var(--qy-line)}.app-shell[data-page=dashboard] .dashboard-budget-summary>span{color:var(--qy-primary);font-size:11px}.app-shell[data-page=dashboard] .dashboard-budget-summary strong{color:var(--qy-ink);font-family:inherit;font-size:30px;font-weight:650;letter-spacing:-.04em}.app-shell[data-page=dashboard] .dashboard-budget-summary small{color:var(--qy-muted);font-size:11px}.app-shell[data-page=dashboard] .dashboard-budget-breakdown{align-content:center;gap:9px}.app-shell[data-page=dashboard] .budget-row{grid-template-columns:34px minmax(80px,1fr) 54px;gap:9px;color:var(--qy-muted);font-size:11px}.app-shell[data-page=dashboard] .budget-row progress,.app-shell[data-page=dashboard] .budget-row progress::-webkit-progress-bar{background:var(--qy-tint)}.app-shell[data-page=dashboard] .budget-row strong{color:var(--qy-ink);font-size:11px}.dashboard-map-card{min-height:0;overflow:hidden}.dashboard-route-map{position:relative;width:100%;height:100%;min-height:250px;overflow:hidden;border-radius:inherit;background:var(--qy-tint)}.dashboard-route-map>img{width:100%;height:100%;object-fit:cover}.dashboard-route-map>button{position:absolute;z-index:3;display:grid;width:28px;height:28px;padding:0;place-items:center;transform:translate(-50%,-50%);border:3px solid var(--qy-surface);border-radius:999px;background:var(--qy-focus);color:#fff;box-shadow:0 6px 16px #0d2f7a38;cursor:pointer;transition:width .16s ease,height .16s ease,background .16s ease,box-shadow .16s ease}.dashboard-route-map>button>svg{width:13px;height:13px}.dashboard-route-map>button.active{width:38px;height:38px;background:var(--qy-primary);box-shadow:0 0 0 7px #5e74aa29,0 8px 20px #0d2f7a38}.dashboard-map-selection{position:absolute;z-index:4;top:16px;left:16px;display:flex;max-width:calc(100% - 32px);gap:10px;align-items:center;padding:8px 12px 8px 8px;border:1px solid rgba(216,225,240,.92);border-radius:13px;background:#fffffff0;box-shadow:0 10px 28px #0d2f7a1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dashboard-map-selection>img{width:46px;height:46px;flex:0 0 auto;object-fit:cover;border-radius:9px}.dashboard-map-selection>span{display:grid;min-width:0;gap:4px}.dashboard-map-selection small{color:var(--qy-muted);font-size:11px}.dashboard-map-selection strong{overflow:hidden;color:var(--qy-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-journey-preview{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;padding:18px 24px 16px}.dashboard-journey-preview>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px}.dashboard-journey-preview>header>div{display:grid;gap:3px}.dashboard-journey-preview>header span{color:var(--qy-teal-text);font-size:11px;font-weight:780}.dashboard-journey-preview h2{margin:0;color:var(--qy-ink);font-size:20px;font-weight:720}.dashboard-journey-preview>header>button{display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid var(--qy-line);border-radius:12px;background:var(--qy-surface);color:var(--qy-primary);cursor:pointer}.dashboard-journey-preview>ol{display:grid;min-height:0;margin:0;padding:4px 0 2px;list-style:none}.dashboard-journey-preview li{min-height:0;margin-left:7px;border-left:1px solid var(--qy-line-strong)}.dashboard-journey-preview li:last-child{border-left-color:transparent}.dashboard-journey-preview li>button{display:grid;width:calc(100% + 11px);min-height:56px;grid-template-columns:18px 58px minmax(0,1fr);gap:10px;align-items:center;margin-left:-12px;padding:5px 8px 5px 4px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer}.dashboard-journey-preview li>button:hover,.dashboard-journey-preview li.active>button{background:var(--qy-tint)}.dashboard-journey-preview li svg{width:18px;height:18px;padding:3px;border-radius:999px;background:var(--qy-surface);color:var(--qy-focus)}.dashboard-journey-preview li.active svg{background:var(--qy-primary);color:#fff}.dashboard-journey-preview time{color:var(--qy-muted);font-size:12px}.dashboard-journey-preview li span{display:grid;min-width:0;gap:3px}.dashboard-journey-preview li strong{overflow:hidden;color:var(--qy-ink);font-size:14px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.dashboard-journey-preview li small{overflow:hidden;color:var(--qy-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.dashboard-journey-preview>footer{display:flex;gap:12px;align-items:center;justify-content:space-between;padding-top:8px}.dashboard-view-plan,.dashboard-start-journey{display:inline-flex;min-height:40px;gap:8px;align-items:center;justify-content:center;border-radius:12px;font-size:12px;font-weight:760;cursor:pointer}.dashboard-view-plan{padding:0;border:0;background:transparent;color:var(--qy-primary)}.dashboard-view-plan svg{width:15px;height:15px}.dashboard-start-journey{padding:0 16px;border:1px solid var(--qy-primary);background:var(--qy-primary);color:#fff;box-shadow:0 9px 22px #0d2f7a29}.dashboard-start-journey:hover{background:var(--qy-primary-dark)}.dashboard-start-journey.requires-confirmation{border-color:#d6d2c9;background:#f1eee8;color:#575348;box-shadow:none}.dashboard-start-journey.requires-confirmation:hover{border-color:#bfc5b4;background:#e8ece2}@media(max-width:1280px){.app-shell[data-page=dashboard]>.app-topbar{padding-right:28px;padding-left:28px}.app-shell[data-page=dashboard] .dashboard-page{min-width:1030px;padding-right:28px;padding-left:28px}.app-shell[data-page=dashboard] .dashboard-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.dashboard-weather-compact{width:192px}.app-shell[data-page=dashboard] .dashboard-budget{grid-template-columns:minmax(145px,.7fr) minmax(210px,1.3fr);gap:20px;padding-right:18px;padding-left:18px}}@media(max-height:860px){.app-shell[data-page=dashboard] .dashboard-page{padding-top:0;padding-bottom:16px}.app-shell[data-page=dashboard] .dashboard-layout{min-height:650px;gap:28px;margin-top:18px}.app-shell[data-page=dashboard] .dashboard-trip-card{gap:12px;padding-top:0}.app-shell[data-page=dashboard] .dashboard-notebook{grid-template-rows:auto minmax(210px,.8fr) minmax(260px,1fr);gap:12px}.dashboard-overview-heading{min-height:80px}.dashboard-trip-title{gap:10px}.dashboard-trip-title h1{font-size:40px}.dashboard-trip-title p{font-size:15px}.dashboard-weather-compact{min-height:58px}.app-shell[data-page=dashboard] .dashboard-tabs{min-height:48px}.app-shell[data-page=dashboard] .dashboard-tabs button{min-height:38px}.app-shell[data-page=dashboard] .dashboard-place-card>button:first-child{grid-template-rows:minmax(105px,1fr) auto}.app-shell[data-page=dashboard] .dashboard-place-grid{height:100%}.app-shell[data-page=dashboard] .dashboard-place-copy{min-height:58px;padding:9px 12px}.app-shell[data-page=dashboard] .dashboard-place-card strong{font-size:15px}.app-shell[data-page=dashboard] .dashboard-place-card small,.app-shell[data-page=dashboard] .dashboard-place-copy>em{font-size:11px}.app-shell[data-page=dashboard] .dashboard-metrics button{min-height:54px}.app-shell[data-page=dashboard] .dashboard-budget{min-height:118px;padding-top:13px;padding-bottom:13px}.app-shell[data-page=dashboard] .dashboard-budget-summary strong{font-size:27px}.dashboard-route-map{min-height:210px}.dashboard-journey-preview{padding-top:13px;padding-bottom:11px}.dashboard-journey-preview li>button{min-height:48px}}.app-shell:is([data-page=route-detail],[data-page=canvas],[data-page=inspiration],[data-page=dashboard],[data-page=progress]){--app-topbar-height: 0px;grid-template-rows:minmax(0,1fr)}.app-shell[data-page=route-detail]>.route-detail-page,.app-shell[data-page=canvas]>.timeline-planner-page,.app-shell[data-page=inspiration]>.nearby-inspiration-page,.app-shell[data-page=dashboard]>.dashboard-page,.app-shell[data-page=progress]>.exploration-summary-page{grid-row:1}.app-shell[data-page=dashboard]>.dashboard-page{grid-template-rows:minmax(0,1fr)}.app-shell[data-page=dashboard] .dashboard-page-search{display:none}.timeline-planner-page{--planner-accent: var(--qy-primary);--planner-accent-dark: var(--qy-primary-dark);--planner-accent-soft: var(--qy-tint);--planner-accent-line: var(--qy-line-strong)}.timeline-planner-page button:focus-visible,.timeline-planner-page input:focus-visible,.timeline-planner-page textarea:focus-visible,.timeline-planner-page article:focus-visible{outline:2px solid var(--qy-focus);outline-offset:2px}.timeline-planner-page .planner-commandbar,.timeline-planner-page :is(.planner-library,.timeline-canvas,.planner-mini-map,.planner-agent-card){border-color:var(--qy-line);background:#fbfcfffa;box-shadow:0 10px 28px #0d2f7a0e}.timeline-planner-page .planner-command-title .brand-mark{background:var(--qy-tint);color:var(--qy-primary)}.timeline-planner-page .planner-command-actions .ghost-button{border-color:var(--qy-line);background:var(--qy-surface);color:var(--qy-ink)}.timeline-planner-page .primary-button,.timeline-planner-page .planner-command-actions .primary-button{border-color:var(--qy-primary);background:var(--qy-primary);color:#fff;box-shadow:0 8px 18px #0d2f7a29}.timeline-planner-page .primary-button:hover:not(:disabled),.timeline-planner-page .planner-command-actions .primary-button:hover:not(:disabled){background:var(--qy-primary-dark);box-shadow:0 10px 22px #0d2f7a33}.timeline-planner-page .primary-button:disabled,.timeline-planner-page .planner-command-actions .primary-button:disabled{border-color:#d9d3ce;background:#d9d3ce;color:#8e8881;box-shadow:none;cursor:not-allowed}.app-shell[data-page=canvas] .sidebar-nav button.active{background:var(--qy-tint);color:var(--qy-nav-active);box-shadow:inset 0 0 0 1px #0d2f7a12}.app-shell[data-page=canvas] .sidebar-nav button.active:before{background:currentColor}.timeline-planner-page .planner-library{grid-template-rows:auto minmax(0,1fr);background:var(--qy-surface-soft)}.timeline-planner-page .planner-library>header{min-height:66px;padding:14px 18px;border-bottom-color:var(--qy-line)}.timeline-planner-page .planner-library>header h2{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:-.02em}.timeline-planner-page .planner-library>header button{color:var(--qy-muted)}.timeline-planner-page .planner-library>header button:hover{background:var(--qy-tint);color:var(--qy-primary)}.timeline-planner-page .planner-library-list{gap:14px;padding:10px 12px 16px;scrollbar-color:rgba(94,116,170,.28) transparent}.timeline-planner-page .planner-library-list article{min-height:232px;border-color:var(--qy-line);background:var(--qy-surface);box-shadow:0 4px 14px #0d2f7a0b}.timeline-planner-page .planner-library-list article:hover,.timeline-planner-page .planner-library-list article.active,.timeline-planner-page .planner-library-list article.detail-open{border-color:var(--qy-line-strong);background:var(--qy-surface);box-shadow:0 8px 20px #0d2f7a13;transform:translateY(-1px)}.timeline-planner-page .planner-library-list article:active{border-color:var(--qy-focus);box-shadow:0 0 0 2px #5e74aa1a}.timeline-planner-page .planner-library-list .library-card-copy{grid-template-columns:minmax(0,1fr)}.timeline-planner-page .library-card-creator{grid-column:1}.timeline-planner-page .library-card-handle,.timeline-planner-page .library-card-bookmark{color:#8f8e89}.timeline-planner-page .timeline-canvas-heading{min-height:64px;align-items:center;padding:10px 16px;border-bottom-color:var(--qy-line);background:var(--qy-surface)}.timeline-planner-page .timeline-canvas-heading small{color:var(--qy-ink);font-family:var(--font-source-han);font-size:11px;font-weight:760;letter-spacing:.01em}.timeline-planner-page .timeline-canvas-tools{display:block!important}.timeline-planner-page .timeline-zoom-controls{border-color:var(--qy-line);background:var(--qy-surface);box-shadow:0 4px 12px #0d2f7a0f}.timeline-planner-page .timeline-zoom-controls button:hover:not(:disabled),.timeline-planner-page .timeline-zoom-controls button.active{background:var(--qy-tint);color:var(--qy-primary)}.timeline-planner-page .timeline-zoom-controls button:focus-visible{outline-color:var(--qy-focus)}.timeline-planner-page .timeline-stage{background:var(--qy-surface);scrollbar-color:rgba(94,116,170,.3) transparent}.timeline-planner-page .timeline-stage.drag-ready{background-color:var(--qy-tint);box-shadow:inset 0 0 0 2px #5e74aa33}.timeline-planner-page .timeline-stage:focus-visible{outline-color:var(--qy-focus)}.timeline-planner-page .timeline-day-surface{background:linear-gradient(to right,rgba(234,240,250,.56) 0,rgba(234,240,250,.56) 25%,transparent 25%,transparent 91.666%,rgba(234,240,250,.56) 91.666%,rgba(234,240,250,.56) 100%)}.timeline-planner-page .timeline-day-surface:before{background:linear-gradient(to right,rgba(94,116,170,.12) 1px,transparent 1px) var(--timeline-edge-gutter, 88px) 0 / var(--timeline-hour-width, 105px) 100%,linear-gradient(to right,rgba(94,116,170,.035) 1px,transparent 1px) var(--timeline-edge-gutter, 88px) 0 / var(--timeline-quarter-width, 26.25px) 100%}.timeline-planner-page .timeline-axis{border-bottom-color:var(--qy-line);background:#fbfcfff5}.timeline-planner-page .timeline-axis:after{border-bottom-color:#1d1d1b0d}.timeline-planner-page .timeline-axis span{color:var(--qy-muted)}.timeline-planner-page .timeline-place-card{border-color:var(--qy-line);background:var(--qy-surface);box-shadow:0 7px 18px #0d2f7a16}.timeline-planner-page .timeline-place-card:hover,.timeline-planner-page .timeline-place-card.active{border-color:var(--qy-line-strong);box-shadow:0 10px 24px #0d2f7a1c}.timeline-planner-page .timeline-place-card:hover{transform:translate(-50%) translateY(-2px)}.timeline-planner-page .timeline-place-card.active{transform:translate(-50%)}.timeline-planner-page .timeline-place-card.dragging{transform:translate(-50%) scale(.985)}.timeline-planner-page .timeline-place-card>div>span:not(.timeline-time-range){color:var(--qy-muted)}.timeline-planner-page .timeline-time-range{color:var(--qy-muted)}.timeline-planner-page .timeline-time-range i{border-top-color:#41413d57}.timeline-planner-page .timeline-duration-bar{height:28px;overflow:visible;border:1px solid var(--qy-line);background:#fbfcfffa;color:var(--qy-ink);box-shadow:0 4px 12px #0d2f7a0e}.timeline-planner-page .timeline-duration-bar span{line-height:26px}.timeline-planner-page .timeline-duration-bar.conflict{border-color:#8f8e88;border-style:dashed;background:#f4f4f1;color:#242421;box-shadow:none}.timeline-planner-page .timeline-route-line,.timeline-planner-page .timeline-route-connector.conflict .timeline-route-line{border-color:#5e74aa61}.timeline-planner-page .timeline-route-card-stem{z-index:1}.timeline-planner-page .timeline-route-line-from,.timeline-planner-page .timeline-route-line-to{border-top-width:1px}.timeline-planner-page .timeline-route-stem,.timeline-planner-page .timeline-route-line-vertical{border-left-width:1px}.timeline-planner-page .timeline-route-connector.conflict .timeline-route-line{border-style:dashed}.timeline-planner-page .timeline-transport-icon{border-color:var(--qy-line);background:var(--qy-surface);color:var(--qy-primary);box-shadow:0 0 0 6px #f3f5fbf5,0 6px 16px #0d2f7a17}.timeline-planner-page .timeline-transport-node{grid-template-columns:100%}.timeline-planner-page .timeline-transport-copy{width:96px}.timeline-planner-page .timeline-transport-node:hover .timeline-transport-icon,.timeline-planner-page .timeline-transport-node:focus-visible .timeline-transport-icon,.timeline-planner-page .timeline-transport-node.conflict .timeline-transport-icon{border-color:var(--qy-line-strong);color:var(--qy-primary-dark);box-shadow:0 0 0 6px #f3f5fbfa,0 0 0 8px #5e74aa14,0 8px 18px #0d2f7a1c}.timeline-planner-page .timeline-buffer-label,.timeline-planner-page .timeline-buffer-label.conflict{border-color:var(--qy-line);background:var(--qy-surface);color:var(--qy-muted);box-shadow:0 3px 9px #0d2f7a0d}.timeline-planner-page .timeline-transport-node.conflict .timeline-transport-copy strong{color:#33332f}.timeline-planner-page .timeline-canvas-status{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;min-height:44px;padding:10px 16px;border-top-color:var(--qy-line);background:var(--qy-surface)}.timeline-planner-page .timeline-canvas-status span{display:grid;width:18px;height:18px;place-items:center;color:var(--qy-focus)}.timeline-planner-page .timeline-canvas-status p{color:var(--qy-muted);font-size:11px}.timeline-planner-page .timeline-canvas-status.has-conflict span,.timeline-planner-page .timeline-canvas-status.has-conflict p{color:#3f3f3a}.timeline-planner-page .planner-mini-map .route-map>img{filter:grayscale(.7) saturate(.28) brightness(1.035)}.timeline-planner-page .planner-mini-map .jilu-map-mode-badge{display:none}.timeline-planner-page .planner-mini-map .route-map>button,.timeline-planner-page .planner-mini-map .route-map>button.active{border-color:#fff;background:#575751;color:#fff}.timeline-planner-page .planner-mini-map .route-map>button.active{background:#111;box-shadow:0 0 0 6px #1d1d1b1a,0 8px 18px #1c1c1929}.timeline-planner-page .planner-map-selection small{background:var(--qy-primary);color:#fff}.timeline-planner-page .planner-agent-card{border-color:var(--qy-line);background:var(--qy-surface)}.timeline-planner-page .planner-agent-card.idle{grid-template-rows:minmax(0,1fr) auto auto}.timeline-planner-page .planner-agent-card.running,.timeline-planner-page .planner-agent-card.paused{border-color:var(--qy-line-strong);box-shadow:0 10px 28px #0d2f7a12}.timeline-planner-page .agent-operation-list li.current{border-color:var(--qy-line);background:var(--qy-tint)}.timeline-planner-page .agent-operation-list li.current>span{background:var(--qy-primary);color:#fff}.timeline-planner-page .agent-panel-header{border-bottom-color:var(--qy-line);background:var(--qy-surface)}.timeline-planner-page .agent-heading>i{background:var(--qy-primary)}.timeline-planner-page .agent-heading small,.timeline-planner-page .agent-presence.running,.timeline-planner-page .agent-transcript p span{color:var(--qy-primary)}.timeline-planner-page .agent-presence.running{background:var(--qy-tint)}.timeline-planner-page .agent-presence.running i{background:var(--qy-teal-text)}.timeline-planner-page .agent-dialogue-body{scrollbar-color:rgba(29,29,27,.24) transparent}.timeline-planner-page .planner-agent-card.idle .agent-dialogue-body{align-content:start;padding:16px}.timeline-planner-page .planner-agent-card.idle .agent-composer{grid-template-rows:minmax(100px,auto) auto}.timeline-planner-page .planner-agent-card.idle .agent-composer textarea{min-height:100px;max-height:112px}.timeline-planner-page .planner-agent-card.idle .agent-safety-note{padding-bottom:30px}.timeline-planner-page .agent-example-prompt{min-height:76px;border-color:#deddd8;background:#fff;color:#242421;box-shadow:0 4px 14px #1c1c190b;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.timeline-planner-page .agent-example-prompt:hover{border-color:#bdbcb7;background:#fafaf8;box-shadow:0 7px 18px #1c1c1912;transform:translateY(-1px)}.timeline-planner-page .agent-example-prompt>svg:first-child,.timeline-planner-page .agent-example-prompt small,.timeline-planner-page .agent-example-prompt strong{color:#242421}.timeline-planner-page .agent-composer{border-color:#dfded9;background:#fff}.timeline-planner-page .agent-composer:focus-within{border-color:#b8b7b2;box-shadow:0 0 0 3px #1d1d1b0e}.timeline-planner-page .agent-composer footer>span{color:#4b4b46}.timeline-planner-page .agent-composer footer>button:not(:disabled){background:#1d1d1b;color:#fff}.timeline-planner-page .timeline-native-drag-preview{background:#1d1d1b;box-shadow:0 8px 20px #1c1c1933}.timeline-planner-page .library-detail-source .library-tag{background:#efefec;color:#555550}@media(min-width:1600px){.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:360px minmax(0,1fr) 360px}}@media(max-width:1280px){.app-shell[data-page=dashboard] .dashboard-page{padding-top:22px}}@media(max-height:820px){.timeline-planner-page .timeline-canvas-heading{min-height:56px;padding-top:8px;padding-bottom:8px}.timeline-planner-page .planner-library>header{min-height:58px}.timeline-planner-page .planner-agent-card.idle .agent-dialogue-body{padding-top:12px;padding-bottom:12px}}.app-shell[data-page=dashboard]{--app-topbar-height: 72px}.app-shell[data-page=dashboard]>.dashboard-page{grid-row:1;grid-template-rows:var(--app-topbar-height) minmax(0,1fr);padding-top:0}.app-shell[data-page=dashboard] .dashboard-page-search{display:flex}@media(max-width:1280px){.app-shell[data-page=dashboard]>.dashboard-page{padding-top:0}}.timeline-planner-page .planner-map-stats{grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1.15fr)}.timeline-planner-page .planner-map-stats div{min-width:0}.timeline-planner-page .planner-map-stats strong{max-width:100%;font-size:clamp(12px,.9vw,15px);font-variant-numeric:tabular-nums;line-height:1.15;white-space:nowrap}.timeline-planner-page .planner-library-list article{border-color:transparent;box-shadow:0 8px 22px #1c1c1913,0 2px 6px #1c1c1906}.timeline-planner-page .planner-library-list article:hover,.timeline-planner-page .planner-library-list article.active,.timeline-planner-page .planner-library-list article.detail-open{border-color:transparent;box-shadow:0 13px 30px #1c1c191d,0 3px 8px #1c1c190a}.timeline-planner-page .planner-library-list article:active{border-color:transparent;box-shadow:0 6px 18px #1c1c191a}.timeline-planner-page .timeline-place-card{border-color:transparent;box-shadow:0 10px 26px #1c1c191a,0 2px 7px #1c1c1908}.timeline-planner-page .timeline-place-card:hover{border-color:transparent;box-shadow:0 16px 34px #1c1c1924,0 3px 9px #1c1c190a}.timeline-planner-page .timeline-place-card.active{border-color:transparent;box-shadow:0 0 0 4px #1d1d1b09,0 15px 32px #1c1c1922}.timeline-planner-page .timeline-place-card.dragging{border-color:transparent;box-shadow:0 18px 38px #1c1c1924}.timeline-planner-page .timeline-duration-bar:not(.conflict){border-color:transparent;box-shadow:0 5px 14px #1c1c1913}.timeline-planner-page .timeline-transport-icon{border-color:transparent;box-shadow:0 0 0 6px #fafaf8f5,0 7px 18px #1c1c191a}.timeline-planner-page .timeline-transport-node:not(.conflict):hover .timeline-transport-icon,.timeline-planner-page .timeline-transport-node:not(.conflict):focus-visible .timeline-transport-icon{border-color:transparent;box-shadow:0 0 0 6px #fafaf8fa,0 0 0 8px #1d1d1b0b,0 10px 22px #1c1c1921}.timeline-planner-page .timeline-buffer-label:not(.conflict){border-color:transparent;box-shadow:0 4px 12px #1c1c1912}.timeline-planner-page .planner-map-selection,.timeline-planner-page .planner-map-title>span{border-color:transparent}.timeline-planner-page .planner-map-selection{box-shadow:0 12px 28px #1c1c1921}.timeline-planner-page .planner-map-title>span{box-shadow:0 6px 18px #1c1c191a}.timeline-planner-page .agent-example-prompt{border-color:transparent;box-shadow:0 8px 22px #1c1c1914,0 2px 6px #1c1c1906}.timeline-planner-page .agent-example-prompt:hover{border-color:transparent;box-shadow:0 12px 28px #1c1c191f,0 3px 8px #1c1c1909}.timeline-planner-page .agent-composer{border-color:transparent;box-shadow:0 8px 24px #1c1c1913}.timeline-planner-page .agent-composer:focus-within{border-color:transparent;box-shadow:0 0 0 4px #1d1d1b09,0 12px 30px #1c1c191c}.timeline-planner-page .agent-composer textarea:focus-visible{outline:none;outline-offset:0;box-shadow:none}.app-shell[data-page=dashboard]{grid-template-rows:auto;height:auto;min-height:100dvh;overflow:visible}.app-shell[data-page=dashboard]>.dashboard-page{grid-template-rows:var(--app-topbar-height) auto;height:auto;min-height:100dvh;overflow:visible;align-self:start}.app-shell[data-page=dashboard] .dashboard-layout{height:auto;min-height:calc(100dvh - var(--app-topbar-height) - 52px);align-items:stretch}.app-shell[data-page=dashboard] :is(.dashboard-trip-card,.dashboard-notebook){height:auto;overflow:visible}.app-shell[data-page=dashboard] .dashboard-trip-card{grid-template-rows:auto auto auto auto;align-content:start}.app-shell[data-page=dashboard] .dashboard-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell[data-page=dashboard] .dashboard-tab-panel{align-items:stretch;overflow:visible}.app-shell[data-page=dashboard] .dashboard-place-grid{height:auto;grid-template-rows:none;grid-auto-rows:210px;align-content:start}.app-shell[data-page=dashboard] .dashboard-notebook{grid-template-rows:auto 360px auto;align-content:start}.app-shell[data-page=dashboard] :is(.dashboard-map-card,.dashboard-route-map){min-height:360px}.app-shell[data-page=dashboard] .dashboard-journey-preview{grid-template-rows:auto auto auto}.app-shell[data-page=dashboard] .dashboard-journey-preview>ol{grid-auto-rows:max-content;align-content:start;overflow:visible}.app-shell[data-page=dashboard] .dashboard-journey-preview li{min-height:56px}@media(max-height:860px){.app-shell[data-page=dashboard] .dashboard-place-grid{grid-auto-rows:180px}}@media(min-width:1600px){.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:320px minmax(0,1fr) 350px}}@media(min-width:1381px)and (max-width:1599px){.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:264px minmax(0,1fr) 310px}}@media(min-width:1121px)and (max-width:1380px){.app-shell[data-page=canvas] .timeline-workbench{grid-template-columns:264px minmax(0,1fr) 300px}}.app-shell[data-page=canvas] .planner-inspector:has(.planner-agent-card.idle){grid-template-rows:minmax(0,1fr) clamp(320px,34vh,360px)}.timeline-planner-page .planner-agent-card.idle .agent-composer{grid-template-rows:minmax(70px,auto) auto}.timeline-planner-page .planner-agent-card.idle .agent-composer textarea{min-height:70px;max-height:82px}.timeline-planner-page .planner-agent-card.idle .agent-safety-note{padding-bottom:18px}.timeline-planner-page{--planner-danger: #c4514a;--planner-danger-dark: #9d3d37;--planner-danger-soft: #fff1ef;--planner-danger-line: rgba(196, 81, 74, .78);--planner-route-line: rgba(73, 73, 68, .3);--planner-route-line-soft: rgba(73, 73, 68, .12);--planner-route-halo: rgba(250, 250, 248, .72)}.timeline-planner-page .planner-commandbar{grid-template-columns:minmax(280px,1fr) auto}.timeline-planner-page .timeline-buffer-lane{z-index:5;pointer-events:none}.timeline-planner-page .timeline-duration-bar.conflict{border-color:#c4514a94;border-style:solid;background:var(--planner-danger-soft);color:var(--planner-danger-dark);box-shadow:0 5px 14px #9d3d371f}.timeline-planner-page .timeline-route-connector:not(.conflict) .timeline-route-line,.timeline-planner-page .timeline-route-card-stem:not(.conflict){border:0}.timeline-planner-page .timeline-route-connector:not(.conflict) :is(.timeline-route-line-from,.timeline-route-line-to){height:1px;border-radius:999px;background:linear-gradient(90deg,var(--planner-route-line-soft),var(--planner-route-line) 18%,var(--planner-route-line) 82%,var(--planner-route-line-soft));box-shadow:0 0 0 1px var(--planner-route-halo)}.timeline-planner-page .timeline-route-connector:not(.conflict) .timeline-route-line-vertical{width:1px;border-radius:999px;background:linear-gradient(180deg,var(--planner-route-line-soft),var(--planner-route-line) 18%,var(--planner-route-line) 82%,var(--planner-route-line-soft));box-shadow:0 0 0 1px var(--planner-route-halo)}.timeline-planner-page .timeline-route-card-stem:not(.conflict){width:1px;border-radius:999px;background:linear-gradient(180deg,var(--planner-route-line) 0%,var(--planner-route-line-soft) 100%);box-shadow:0 0 0 1px var(--planner-route-halo)}.timeline-planner-page .timeline-route-connector.conflict .timeline-route-line,.timeline-planner-page .timeline-route-card-stem.conflict{border:0}.timeline-planner-page .timeline-route-connector.conflict :is(.timeline-route-line-from,.timeline-route-line-to){height:2px;border-radius:999px;background:radial-gradient(ellipse at center,var(--planner-danger-line) 0 52%,transparent 68%) 0 0 / 11px 2px repeat-x,linear-gradient(#c4514a29,#c4514a29) center / 100% 1px no-repeat;animation:planner-conflict-flow-x 2.4s linear infinite}.timeline-planner-page .timeline-route-connector.conflict .timeline-route-line-vertical,.timeline-planner-page .timeline-route-card-stem.conflict{width:2px;transform:translate(-1px);border-radius:999px;background:radial-gradient(ellipse at center,var(--planner-danger-line) 0 52%,transparent 68%) 0 0 / 2px 11px repeat-y,linear-gradient(#c4514a29,#c4514a29) center / 1px 100% no-repeat;animation:planner-conflict-flow-y 2.4s linear infinite}@keyframes planner-conflict-flow-x{to{background-position:11px 0,center}}@keyframes planner-conflict-flow-y{to{background-position:0 11px,center}}@media(prefers-reduced-motion:reduce){.timeline-planner-page .timeline-route-connector.conflict .timeline-route-line,.timeline-planner-page .timeline-route-card-stem.conflict{animation:none}}.timeline-planner-page .timeline-buffer-label.conflict{border-color:#c4514a59;background:var(--planner-danger-soft);color:var(--planner-danger-dark);box-shadow:0 4px 12px #9d3d371a}.timeline-planner-page .timeline-transport-node.conflict .timeline-transport-icon,.timeline-planner-page .timeline-transport-node.conflict:hover .timeline-transport-icon,.timeline-planner-page .timeline-transport-node.conflict:focus-visible .timeline-transport-icon{border-color:#c4514a9e;background:var(--planner-danger-soft);color:var(--planner-danger-dark);box-shadow:0 0 0 6px #fafaf8fa,0 0 0 8px #c4514a29,0 8px 18px #9d3d3724}.timeline-planner-page .timeline-transport-node.conflict .timeline-transport-copy strong{color:var(--planner-danger-dark)}.timeline-planner-page .timeline-drop-guide.conflict,.timeline-planner-page .timeline-drop-guide.blocked,.timeline-planner-page .timeline-drop-guide.invalid{color:var(--planner-danger)}.timeline-planner-page .timeline-drop-guide.conflict .timeline-drop-time,.timeline-planner-page .timeline-drop-guide.blocked .timeline-drop-time,.timeline-planner-page .timeline-drop-guide.invalid .timeline-drop-time{background:var(--planner-danger);box-shadow:0 8px 18px #c4514a33}.timeline-planner-page .timeline-drop-guide.conflict .timeline-drop-ghost,.timeline-planner-page .timeline-drop-guide.blocked .timeline-drop-ghost{border-color:#c4514a6b}.timeline-planner-page .timeline-drop-guide.conflict>em,.timeline-planner-page .timeline-drop-guide.blocked>em{background:var(--planner-danger-soft);color:var(--planner-danger-dark)}.timeline-planner-page .timeline-canvas-status{grid-template-columns:18px minmax(0,1fr) auto;padding:4px 8px 4px 16px}.timeline-planner-page .timeline-history-actions{justify-self:end}.timeline-planner-page .timeline-history-actions button{width:36px;height:36px;border-color:transparent;background:transparent;color:#4b4b46;transition-property:background-color,color,opacity,transform;transition-duration:.14s;transition-timing-function:cubic-bezier(.2,0,0,1)}.timeline-planner-page .timeline-history-actions button:hover:not(:disabled),.timeline-planner-page .timeline-history-actions button:focus-visible{background:#efefec;color:#111}.timeline-planner-page .timeline-history-actions button:active:not(:disabled){transform:scale(.96)}.timeline-planner-page .timeline-history-actions button:disabled{opacity:.34;cursor:not-allowed}.app-shell[data-page=canvas] .planner-inspector:has(.planner-agent-card.idle){grid-template-rows:minmax(0,1fr) auto}.app-shell[data-page=canvas] .planner-agent-card.idle{grid-template-rows:auto auto;align-self:end}.timeline-planner-page .planner-agent-card.idle .agent-dialogue-body{display:none}.timeline-planner-page .timeline-place-card.conflict,.timeline-planner-page .timeline-place-card.conflict:hover,.timeline-planner-page .timeline-place-card.conflict.active{z-index:7;border-color:var(--planner-danger);box-shadow:0 0 0 2px #c4514ae0,0 14px 30px #9d3d3729}.timeline-planner-page .timeline-card-conflict-badge{position:absolute;z-index:8;top:8px;right:8px;left:8px;display:block;overflow:hidden;padding:5px 7px;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:#9d3d37f0;color:#fff;font-size:10px;font-weight:850;line-height:1.2;text-align:center;text-overflow:ellipsis;box-shadow:0 5px 14px #621c183d;white-space:nowrap;pointer-events:none}.app-shell[data-page=canvas] .planner-agent-card.idle{gap:8px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.timeline-planner-page .planner-agent-card.idle .agent-composer{grid-template-rows:minmax(58px,auto) 40px;gap:6px;margin:0;padding:12px 12px 8px;border:1px solid rgba(29,29,27,.08);border-radius:20px;background:#fff;box-shadow:0 10px 26px #1c1c1914,0 2px 7px #1c1c1906}.timeline-planner-page .planner-agent-card.idle .agent-composer:focus-within{border-color:#1d1d1b29;box-shadow:0 0 0 3px #1d1d1b0b,0 12px 30px #1c1c191a}.timeline-planner-page .planner-agent-card.idle .agent-composer textarea{min-height:58px;max-height:80px;padding:2px 3px 8px;font-size:12px;line-height:1.55}.timeline-planner-page .planner-agent-card.idle .agent-composer footer{min-height:40px;padding-top:5px;border-top:1px solid rgba(29,29,27,.07)}.timeline-planner-page .planner-agent-card.idle .agent-composer footer>span{color:#565650;font-weight:750}.timeline-planner-page .planner-agent-card.idle .agent-composer footer button{width:40px;height:40px;transition-property:background-color,color,transform;transition-duration:.14s;transition-timing-function:cubic-bezier(.2,0,0,1)}.timeline-planner-page .planner-agent-card.idle .agent-composer footer button:active:not(:disabled){transform:scale(.96)}.timeline-planner-page .planner-agent-card.idle .agent-safety-note{padding:0 8px 4px;color:var(--qy-muted);font-size:10px;line-height:1.5}.planner-confirm-label-mobile,.planner-draft-label-mobile,.timeline-planner-page .mobile-canvas-toolbar,.mobile-active-stop-chip,.mobile-planner-tool-tray,.mobile-planner-bottom-nav,.mobile-planner-panel-scrim,.mobile-panel-close,.timeline-axis-edge-fade{display:none}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){html,body{width:100%;min-width:0;min-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;background:#f6f2eb}body:has(.app-shell[data-page=canvas]){overflow:hidden;overscroll-behavior:none}html:has(.app-shell[data-page=inspiration]){overflow-x:visible;overflow-y:visible}.app-shell[data-page=canvas]{display:block;width:100%;height:100vh;height:100dvh;min-height:0;overflow:hidden;background:#f6f2eb}.app-shell[data-page=canvas]>:is(.app-sidebar,.app-topbar){display:none!important}.app-shell[data-page=canvas]>.timeline-planner-page{position:relative;display:grid;grid-template-rows:78px minmax(0,1fr);gap:0;width:100%;min-width:0;max-width:none;height:100%;padding:0;overflow:hidden}.timeline-planner-page .planner-commandbar{z-index:30;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:78px;padding:10px 14px;border-width:0 0 1px;border-radius:0;background:#fffffdf7;box-shadow:0 8px 24px #1c1c190b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.timeline-planner-page .planner-command-title{min-width:0;gap:10px}.timeline-planner-page .planner-command-title .brand-mark{flex:0 0 44px;width:44px;height:44px;border:1px solid #e5e1d9;border-radius:15px;background:#faf8f4;color:#111}.timeline-planner-page .planner-command-title .brand-mark svg{width:20px;height:20px}.timeline-planner-page .planner-command-title>span:last-child{min-width:0;gap:1px}.timeline-planner-page .planner-command-title small{overflow:hidden;color:#5f5f59;font-size:10px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .planner-command-title h1{overflow:hidden;font-size:clamp(19px,5.5vw,23px);font-weight:720;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .planner-command-actions{gap:0}.timeline-planner-page .planner-command-actions .ghost-button,.planner-confirm-label,.timeline-planner-page .planner-command-actions .primary-button>svg{display:none}.planner-confirm-label-mobile{display:inline}.planner-draft-label,.timeline-planner-page .planner-command-actions .planner-draft-button>svg{display:none}.planner-draft-label-mobile{display:inline}.timeline-planner-page .planner-command-actions .planner-draft-button{min-width:72px;min-height:46px;padding:0 12px;border-radius:14px;font-size:13px}.timeline-planner-page .planner-command-actions .primary-button{min-width:64px;min-height:46px;padding:0 15px;border-radius:14px;font-size:14px;font-weight:760}.app-shell[data-page=canvas] .timeline-workbench{position:relative;display:block;width:100%;min-width:0;height:100%;min-height:0;margin:0;overflow:hidden}.timeline-planner-page .timeline-canvas{display:grid;grid-template-rows:68px minmax(0,1fr);width:100%;height:100%;min-height:0;overflow:hidden;border:0;border-radius:0;background:#faf8f4;box-shadow:none}.timeline-planner-page .timeline-canvas-heading{z-index:22;display:block;min-height:68px;padding:9px 14px;border-bottom:1px solid #e6e2db;background:#fffffdf5;box-shadow:0 5px 18px #1c1c1909;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.timeline-planner-page .timeline-canvas-heading>:not(.mobile-canvas-toolbar),.timeline-planner-page .timeline-canvas-tools,.timeline-planner-page .timeline-agent-process{display:none!important}.timeline-planner-page .mobile-canvas-toolbar{display:flex!important;height:50px;gap:10px;align-items:center;justify-content:space-between}.mobile-canvas-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:166px;padding:3px;border-radius:15px;background:#efede8}.mobile-canvas-mode-switch button{min-height:42px;padding:0 17px;border:0;border-radius:12px;background:transparent;color:#66645e;font-size:14px;font-weight:700;cursor:pointer}.mobile-canvas-mode-switch button.active{background:#fff;color:#111;box-shadow:0 5px 14px #1c1c1914}.mobile-canvas-quick-actions{display:flex;gap:4px;align-items:center}.mobile-canvas-quick-actions output{min-width:42px;color:#33332f;font-size:13px;font-weight:760;text-align:center}.mobile-canvas-quick-actions button{display:grid;width:42px;height:42px;padding:0;place-items:center;border:0;border-radius:12px;background:transparent;color:#33332f;cursor:pointer}.mobile-canvas-quick-actions button:active:not(:disabled){background:#efede8;transform:scale(.96)}.mobile-canvas-quick-actions button:disabled{opacity:.28}.mobile-canvas-quick-actions svg{width:21px;height:21px}.timeline-planner-page .timeline-stage{min-height:0;overflow-x:auto;overflow-y:hidden;padding-bottom:150px;background:#faf8f4;scrollbar-width:none;touch-action:pan-y;cursor:grab}.timeline-planner-page .timeline-stage::-webkit-scrollbar{display:none}.timeline-planner-page[data-mobile-mode=adjust] .timeline-stage{cursor:default;overflow-y:auto;touch-action:pan-y}.timeline-planner-page[data-mobile-mode=adjust] .timeline-place-card{cursor:grab;touch-action:none}.timeline-planner-page[data-mobile-mode=adjust] .timeline-place-card:active{cursor:grabbing}.timeline-planner-page .timeline-day-surface{min-height:610px;background:#faf8f4}.timeline-planner-page .timeline-day-surface:before{background:linear-gradient(to right,rgba(101,113,88,.13) 1px,transparent 1px) var(--timeline-edge-gutter, 88px) 0 / var(--timeline-hour-width, 78.75px) 100%,linear-gradient(to right,rgba(101,113,88,.04) 1px,transparent 1px) var(--timeline-edge-gutter, 88px) 0 / var(--timeline-quarter-width, 19.69px) 100%}.timeline-planner-page .timeline-axis{height:58px;padding-top:18px;border-bottom-color:#dedad3;background:#faf8f4f7}.timeline-planner-page .timeline-axis span{color:#44443f;font-size:max(11px,var(--timeline-axis-font-size));font-weight:680}.timeline-planner-page .timeline-axis>.timeline-axis-edge-fade{position:sticky;z-index:12;top:0;left:0;display:block;float:left;width:28px;height:58px;margin-right:-28px;background:linear-gradient(90deg,#faf8f4 34%,#faf8f400);transform:none;pointer-events:none}.timeline-planner-page .timeline-axis>.timeline-axis-edge-fade:after{display:none}.timeline-planner-page .timeline-place-card{grid-template-columns:var(--timeline-card-image-width, 36px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:4px;border-color:#e1ddd6;background:#fff;box-shadow:0 10px 24px #1c1c191a,0 2px 6px #1c1c1906}.timeline-planner-page .timeline-place-card.dragging{z-index:22;opacity:1;transform:translate(-50%) scale(1.025);box-shadow:0 20px 42px #1c1c1930,0 0 0 4px #6671561a;transition:none;will-change:left,top,transform}.timeline-planner-page .timeline-place-card.free,.timeline-planner-page .timeline-place-card.free.active:not(.conflict){border:1px dashed rgba(86,99,71,.72);background:#fffefafa;box-shadow:0 16px 34px #1c1c1924,0 0 0 4px #66715612}.timeline-planner-page .timeline-place-card.snap-candidate{border-color:#5d6b4e;border-style:solid;box-shadow:0 0 0 4px #5d6b4e21,0 18px 38px #1c1c1929}.timeline-planner-page .timeline-free-badge{top:3px;right:3px;min-height:18px;padding:0 5px;font-size:9px}.timeline-planner-page .timeline-mainline-guide{position:absolute;z-index:0;right:0;left:0;height:0;border-top:2px dashed rgba(105,116,93,.26);pointer-events:none}.timeline-planner-page .timeline-mainline-guide.snap-active{border-top-color:#536245bd;border-top-style:solid;box-shadow:0 0 0 6px #6877580f}.timeline-planner-page .timeline-mainline-guide>span{position:sticky;left:14px;display:inline-flex;min-height:24px;align-items:center;margin:-12px 0 0 14px;padding:0 8px;border:1px solid rgba(105,116,93,.16);border-radius:999px;background:#faf8f4eb;color:#68735d;font-size:10px;font-weight:800;box-shadow:0 4px 12px #1c1c190f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.timeline-planner-page .timeline-stage.drag-ready{background-color:#faf8f4;box-shadow:none}.timeline-planner-page .timeline-place-card>img{width:100%;height:100%;min-height:0}.timeline-planner-page .timeline-place-card>div{display:grid;min-width:0;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:2px;align-content:stretch;padding:2px 1px}.timeline-planner-page .timeline-place-card strong{display:-webkit-box;overflow:hidden;align-self:center;font-size:max(11px,var(--timeline-card-title-size, 11px));line-height:1.12;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.timeline-planner-page .timeline-place-card>div>span:not(.timeline-time-range),.timeline-planner-page .timeline-time-range i,.timeline-planner-page .timeline-time-range time:last-of-type{display:none}.timeline-planner-page .timeline-time-range{display:block;align-self:end;overflow:hidden;color:#73716b;font-size:11px;line-height:1;text-overflow:ellipsis}.timeline-planner-page .timeline-agent-badge{top:4px;right:4px;left:4px;min-height:20px;overflow:hidden;padding:0 4px;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-place-card{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.timeline-planner-page .timeline-day-surface[data-zoom-density=overview] .timeline-place-card>div{display:none}.timeline-planner-page .timeline-place-card.active:not(.conflict){border-color:#65715857;box-shadow:0 0 0 3px #65715817,0 12px 28px #1c1c191c}.timeline-planner-page .timeline-place-card.conflict,.timeline-planner-page .timeline-place-card.conflict:hover,.timeline-planner-page .timeline-place-card.conflict.active{border:2px dashed var(--planner-danger);box-shadow:0 13px 28px #9d3d3724}.timeline-planner-page .timeline-route-connector:not(.conflict) :is(.timeline-route-line-from,.timeline-route-line-to),.timeline-planner-page .timeline-route-card-stem:not(.conflict),.timeline-planner-page .timeline-route-connector:not(.conflict) .timeline-route-line-vertical{background:#69745d;box-shadow:0 0 0 1px #faf8f4c7}.timeline-planner-page .timeline-duration-bar:not(.conflict){border-color:transparent;background:#68735c;color:#fff;box-shadow:0 5px 13px #46503c2e}.timeline-planner-page .timeline-duration-bar.conflict{border:1px solid rgba(196,81,74,.4);background:#df644f;color:#fff}.timeline-planner-page .timeline-transport-node:not(.conflict) .timeline-transport-icon{border-color:#68735c;background:#fff;color:#58634e;box-shadow:0 0 0 5px #faf8f4fa,0 7px 17px #1c1c1917}.timeline-planner-page .timeline-transport-copy strong{color:#3d4637}.timeline-planner-page .timeline-buffer-label:not(.conflict){border-color:#65715826;color:#5b6452}.timeline-planner-page .timeline-canvas-status,.timeline-planner-page .timeline-trash-zone{display:none}.mobile-active-stop-chip{position:absolute;z-index:72;right:50%;bottom:calc(154px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:48px minmax(0,1fr) 38px;width:min(250px,calc(100% - 44px));min-height:60px;gap:10px;align-items:center;padding:6px 8px;border:1px solid #e4e0d9;border-radius:19px;background:#fffffdf5;box-shadow:0 13px 30px #1c1c1921;transform:translate(50%);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.mobile-active-stop-chip>img{width:48px;height:48px;object-fit:cover;border-radius:13px}.mobile-active-stop-chip strong{overflow:hidden;font-size:15px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.mobile-active-stop-chip button{display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid #e7e3dc;border-radius:50%;background:#fff;color:#222}.timeline-planner-page .planner-library,.timeline-planner-page .planner-inspector{display:none}.timeline-planner-page[data-mobile-panel=library] .planner-library,.timeline-planner-page[data-mobile-panel=map] .planner-inspector,.timeline-planner-page[data-mobile-panel=agent] .planner-inspector{position:fixed;z-index:110;right:12px;bottom:calc(154px + env(safe-area-inset-bottom,0px));left:12px;display:grid;width:auto;max-height:calc(100dvh - 250px);overflow:hidden;border:1px solid #e2ded6;border-radius:22px;background:#fff;box-shadow:0 24px 64px #1c1c1933}.timeline-planner-page[data-mobile-panel=library] .planner-library{grid-template-rows:auto minmax(0,1fr);height:min(58dvh,520px)}.timeline-planner-page[data-mobile-panel=library] .planner-library>header{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:4px;min-height:62px;padding:12px 16px}.timeline-planner-page .mobile-panel-close{z-index:18;display:grid!important;width:44px;height:44px;padding:0;place-items:center;border:1px solid #e4e0d9;border-radius:50%;background:#fffffff5;color:#20201d;box-shadow:0 5px 16px #1c1c1914}.timeline-planner-page .mobile-panel-close:not(.mobile-panel-close-inline){position:absolute;top:10px;right:10px}.timeline-planner-page .planner-agent-card{position:relative}.timeline-planner-page[data-mobile-panel=library] .planner-library-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.timeline-planner-page[data-mobile-panel=library] .planner-library-list article{min-height:182px}.timeline-planner-page[data-mobile-panel=map] .planner-inspector,.timeline-planner-page[data-mobile-panel=agent] .planner-inspector{height:min(54dvh,470px);gap:0;padding:0}.timeline-planner-page[data-mobile-panel=map] .planner-inspector{grid-template-rows:minmax(0,1fr)}.timeline-planner-page[data-mobile-panel=map] .planner-agent-card,.timeline-planner-page[data-mobile-panel=agent] .planner-mini-map{display:none}.timeline-planner-page[data-mobile-panel=map] .planner-mini-map,.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card{display:grid;min-height:0;border:0;border-radius:22px;box-shadow:none}.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card{align-self:stretch;overflow-y:auto}.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card.idle{align-content:end;padding:14px;background:#f8f5ef}.timeline-planner-page .library-detail-popover{position:fixed;z-index:140;top:96px!important;right:12px!important;bottom:calc(84px + env(safe-area-inset-bottom,0px));left:12px!important;width:auto;max-height:none!important}.mobile-planner-panel-scrim{position:fixed;z-index:100;inset:78px 0 calc(68px + env(safe-area-inset-bottom,0px));display:block;padding:0;border:0;background:#1f1d1938;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-planner-tool-tray{position:fixed;z-index:120;right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:66px;overflow:hidden;border:1px solid #e2ded6;border-radius:20px;background:#fffffdf7;box-shadow:0 13px 34px #1c1c191f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-planner-tool-tray button{display:flex;min-width:0;min-height:64px;gap:8px;align-items:center;justify-content:center;padding:0 8px;border:0;border-right:1px solid #ece8e1;background:transparent;color:#22221f;font-size:13px;font-weight:720;white-space:nowrap}.mobile-planner-tool-tray button:last-child{border-right:0}.mobile-planner-tool-tray button.active{background:#edf0e7;color:#4c5744}.mobile-planner-tool-tray svg{width:22px;height:22px;flex:0 0 22px}.mobile-planner-bottom-nav{position:fixed;z-index:125;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:calc(68px + env(safe-area-inset-bottom,0px));padding:5px 8px env(safe-area-inset-bottom,0px);border-top:1px solid #e3dfd8;background:#fffffdfa;box-shadow:0 -7px 24px #1c1c190d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-planner-bottom-nav button{display:grid;min-width:0;min-height:56px;gap:2px;place-items:center;padding:5px 2px 3px;border:0;border-radius:13px;background:transparent;color:#77746d;font-size:11px;font-weight:680}.mobile-planner-bottom-nav button.active{color:#566149}.mobile-planner-bottom-nav button.active svg{padding:5px;border-radius:10px;background:#68735c;color:#fff}.mobile-planner-bottom-nav svg{width:29px;height:29px}.toast{right:14px;bottom:calc(152px + env(safe-area-inset-bottom,0px));left:14px;width:auto;margin-left:0;justify-content:center;text-align:center}}@media(max-width:700px){.app-shell:not([data-page=canvas]){display:block;width:100%;min-width:0;min-height:100dvh;height:auto!important;padding-bottom:calc(68px + env(safe-area-inset-bottom,0px));overflow:visible!important;background:#f8f5ef}.app-shell:not([data-page=canvas])>.app-sidebar{position:fixed;z-index:125;top:auto;right:0;bottom:0;left:0;display:block;width:100%;height:calc(68px + env(safe-area-inset-bottom,0px));padding:5px 8px env(safe-area-inset-bottom,0px);border:0;border-top:1px solid #e3dfd8;background:#fffffdf7;box-shadow:0 -7px 24px #1c1c190f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-shell:not([data-page=canvas]) .sidebar-main{display:block}.app-shell:not([data-page=canvas]) :is(.app-sidebar .brand,.sidebar-footer){display:none}.app-shell:not([data-page=canvas]) .sidebar-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.app-shell:not([data-page=canvas]) .sidebar-nav button{display:grid;width:100%;min-width:0;min-height:56px;gap:2px;place-items:center;padding:5px 2px 3px;border-radius:13px;color:#77746d;font-size:11px;font-weight:680;text-align:center}.app-shell:not([data-page=canvas]) .sidebar-nav button:before{display:none}.app-shell:not([data-page=canvas]) .sidebar-nav button:hover{background:transparent;transform:none}.app-shell:not([data-page=canvas]) .sidebar-nav button.active{background:transparent;color:#566149;box-shadow:none}.app-shell:not([data-page=canvas]) .sidebar-nav button svg{width:29px;height:29px;padding:5px;border-radius:10px}.app-shell:not([data-page=canvas]) .sidebar-nav button.active svg{background:#68735c;color:#fff}.app-shell:not([data-page=canvas])>:is(.page,.route-detail-page){grid-column:auto;grid-row:auto;width:100%;min-width:0!important;max-width:none}.app-shell:not([data-page=canvas])>.app-topbar{position:sticky;z-index:55;top:0;display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;height:66px;min-width:0;gap:8px;padding:9px 12px;border-bottom:1px solid rgba(104,94,81,.1);background:#fbf8f3f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-shell[data-page=navigate]>.app-topbar{display:none}.app-shell:not([data-page=canvas]) .topbar-search{max-width:none;min-height:46px;padding:4px 12px;border-radius:15px}.app-shell:not([data-page=canvas]) :is(.topbar-search input,.result-search-field input,.dashboard-page-search input){font-size:16px}.app-shell:not([data-page=canvas]) .topbar-actions{gap:4px}.app-shell:not([data-page=canvas]) :is(.topbar-filter,.topbar-link-query){width:44px;min-height:44px;justify-content:center;padding:0}.app-shell:not([data-page=canvas]) :is(.topbar-filter,.topbar-link-query) span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell:not([data-page=canvas]) .toast{bottom:calc(82px + env(safe-area-inset-bottom,0px))}.app-shell[data-page=discover] .discover-page{padding:14px 12px 22px}.app-shell[data-page=discover] .discover-import-drawer{margin-bottom:14px;border-radius:18px}.app-shell[data-page=discover] .route-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:14px}.app-shell[data-page=discover] .route-card,.app-shell[data-page=discover] .route-card.featured,.app-shell[data-page=discover] .route-card.wide{grid-column:1;grid-row:auto;width:100%;min-height:286px;height:286px;border-radius:22px;content-visibility:auto;contain-intrinsic-size:286px}.app-shell[data-page=discover] .route-card.featured{min-height:366px;height:366px;contain-intrinsic-size:366px}.app-shell[data-page=discover] .route-card-heading h2,.app-shell[data-page=discover] .route-card:not(.featured) .route-card-heading h2,.app-shell[data-page=discover] .route-card.wide .route-card-heading h2{font-size:clamp(25px,8vw,34px);line-height:1.08}.app-shell[data-page=discover] .route-card-footer{gap:8px}.app-shell[data-page=discover] .card-plan-button{min-height:44px}.app-shell[data-page=inspiration] .nearby-inspiration-page{display:block;height:auto;min-height:0;padding:12px 12px 22px}.app-shell[data-page=inspiration] .result-explorer-shell{display:flex;min-width:0;height:auto;min-height:0;flex-direction:column;overflow:visible;border-radius:22px}.app-shell[data-page=inspiration] .result-story-pane{display:block;overflow:visible;border-right:0}.app-shell[data-page=inspiration] .result-story-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 12px 8px}.app-shell[data-page=inspiration] :is(.result-search-field,.result-distance-button){height:46px}.app-shell[data-page=inspiration] .result-distance-button{min-width:44px;padding:0 12px;white-space:nowrap}.app-shell[data-page=inspiration] .result-story-filters{gap:8px;padding:4px 12px 10px}.app-shell[data-page=inspiration] .result-story-filters button{min-height:40px}.app-shell[data-page=inspiration] .result-story-scroll{overflow:visible;padding:10px 10px 16px}.app-shell[data-page=inspiration] .result-story-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:0}.app-shell[data-page=inspiration] .result-story-card{margin-bottom:12px;padding:5px;border-radius:18px;content-visibility:auto;contain-intrinsic-size:390px}.app-shell[data-page=inspiration] .result-story-image,.app-shell[data-page=inspiration] .result-story-card:nth-child(3n+2) .result-story-image,.app-shell[data-page=inspiration] .result-story-card:nth-child(3n) .result-story-image{height:auto;aspect-ratio:4 / 3}.app-shell[data-page=inspiration] .result-story-copy>strong{font-size:18px}.app-shell[data-page=inspiration] .result-explorer-map{order:2;width:100%;height:min(108vw,440px);min-height:360px;border-top:1px solid rgba(104,94,81,.12)}.app-shell[data-page=inspiration] .result-map-actions{top:12px;right:12px}.app-shell[data-page=inspiration] .result-map-actions button{width:44px;height:44px}.app-shell[data-page=inspiration] .nearby-place-detail{position:fixed;z-index:140;right:12px;bottom:calc(80px + env(safe-area-inset-bottom,0px));left:12px;width:auto;max-height:min(70dvh,590px)}.app-shell[data-page=inspiration] .nearby-place-detail-close{width:44px;height:44px}.app-shell[data-page=dashboard] .dashboard-page{display:block;width:100%;max-width:none;min-width:0!important;min-height:0;padding:12px 12px 24px}.app-shell[data-page=dashboard] .dashboard-page-search{position:sticky;z-index:45;top:0;width:100%;min-height:52px;margin-bottom:18px;background:#fffdf9f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell[data-page=dashboard] .dashboard-page-search>button{width:42px;height:42px}.app-shell[data-page=dashboard] .dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0;gap:24px;margin:0}.app-shell[data-page=dashboard] :is(.dashboard-trip-card,.dashboard-notebook){display:grid;width:100%;height:auto;min-height:0;overflow:visible}.app-shell[data-page=dashboard] .dashboard-trip-card{gap:14px;padding-top:0}.app-shell[data-page=dashboard] .dashboard-overview-heading{min-height:0;gap:14px;align-items:stretch;flex-direction:column}.app-shell[data-page=dashboard] .dashboard-trip-title{gap:8px}.app-shell[data-page=dashboard] .dashboard-trip-title h1{font-size:clamp(36px,12vw,48px)}.app-shell[data-page=dashboard] .dashboard-trip-title p{font-size:17px}.app-shell[data-page=dashboard] .dashboard-weather-compact{width:100%;min-height:64px}.app-shell[data-page=dashboard] .dashboard-tabs{grid-template-columns:repeat(3,minmax(0,1fr));min-height:54px}.app-shell[data-page=dashboard] .dashboard-tabs button{min-height:46px}.app-shell[data-page=dashboard] .dashboard-tab-panel{display:block;overflow:visible}.app-shell[data-page=dashboard] .dashboard-place-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:minmax(240px,auto);height:auto;gap:12px}.app-shell[data-page=dashboard] .dashboard-place-card{min-height:240px;content-visibility:auto;contain-intrinsic-size:240px}.app-shell[data-page=dashboard] .dashboard-place-card>button:first-child{height:auto;grid-template-rows:164px auto}.app-shell[data-page=dashboard] .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-page=dashboard] .dashboard-budget{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px}.app-shell[data-page=dashboard] .dashboard-notebook{grid-template-rows:auto;gap:14px}.app-shell[data-page=dashboard] :is(.dashboard-map-card,.dashboard-route-map){min-height:320px;height:320px}.app-shell[data-page=dashboard] .dashboard-journey-preview{min-height:0;padding:16px 14px 14px}.app-shell[data-page=dashboard] .dashboard-journey-preview>ol{gap:2px}.app-shell[data-page=dashboard] .dashboard-journey-preview li>button{min-height:62px}.app-shell[data-page=dashboard] .dashboard-journey-preview>footer{gap:8px}.app-shell[data-page=dashboard] :is(.dashboard-view-plan,.dashboard-start-journey){min-height:46px}.app-shell[data-page=navigate] .navigate-page{padding:10px 12px 22px}.app-shell[data-page=navigate] .navigate-title-row{position:sticky;z-index:50;top:0;min-height:58px;gap:8px;margin:0 -12px 10px;padding:8px 12px;background:#f8f5eff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell[data-page=navigate] .navigate-title-row>div{min-width:0;gap:8px}.app-shell[data-page=navigate] .navigate-title-row button{min-height:44px;flex:0 0 auto}.app-shell[data-page=navigate] .navigate-title-row span{display:none}.app-shell[data-page=navigate] .navigate-title-row>strong{flex:0 0 auto;font-size:18px}.app-shell[data-page=navigate] .navigate-workspace{display:flex;width:100%;min-width:0;height:auto;min-height:0;flex-direction:column;overflow:visible;border-radius:22px}.app-shell[data-page=navigate] .journey-map{position:relative;order:1;width:100%;height:min(86vw,360px);min-height:290px;flex:0 0 min(86vw,360px);border-bottom:1px solid var(--line)}.app-shell[data-page=navigate] .live-location{top:12px;left:12px;max-width:calc(100% - 72px);min-height:44px}.app-shell[data-page=navigate] .journey-control-panel{position:static;order:2;width:100%;max-height:none;flex:0 0 auto;overflow:visible;padding:12px;border:0;border-bottom:1px solid var(--line)}.app-shell[data-page=navigate] .now-card>img{height:210px}.app-shell[data-page=navigate] .journey-actions :is(button,.navigation-button,.complete-button){min-height:46px}.app-shell[data-page=navigate] .journey-rail{position:static;order:3;flex:0 0 auto;overflow:visible;border:0}.app-shell[data-page=navigate] .journey-progress-heading{min-height:0;padding:16px 14px 10px}.app-shell[data-page=navigate] .journey-stop-list{display:grid;height:auto;grid-auto-columns:minmax(214px,72vw);grid-auto-flow:column;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px 12px 16px;scroll-snap-type:x proximity}.app-shell[data-page=navigate] .journey-stop-list>button{min-height:76px;scroll-snap-align:start}}.dashboard-next-stop{display:none}.inspiration-saved-filter svg{width:14px;height:14px}@media(max-width:700px){.app-shell:not([data-page=canvas]){padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.app-shell:not([data-page=canvas])>.app-sidebar{height:calc(60px + env(safe-area-inset-bottom,0px));padding:3px 8px env(safe-area-inset-bottom,0px)}.app-shell:not([data-page=canvas]) .sidebar-nav button{min-height:52px;padding:3px 2px 2px}.app-shell:not([data-page=canvas]) .sidebar-nav button svg{width:27px;height:27px}.app-shell:not([data-page=canvas]) .toast{bottom:calc(70px + env(safe-area-inset-bottom,0px))}.app-shell[data-page=discover] .route-card,.app-shell[data-page=discover] .route-card.wide{height:270px;min-height:270px;contain-intrinsic-size:270px}.app-shell[data-page=discover] .route-card.featured{height:342px;min-height:342px;contain-intrinsic-size:342px}.app-shell[data-page=discover] .route-card-heading,.app-shell[data-page=discover] .route-card:not(.featured) .route-card-heading{top:18px;right:18px;bottom:72px;left:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;gap:7px 8px;align-items:end}.app-shell[data-page=discover] .route-card-heading>span{grid-column:1 / -1;align-self:start;font-size:12px}.app-shell[data-page=discover] .route-card-heading h2,.app-shell[data-page=discover] .route-card:not(.featured) .route-card-heading h2,.app-shell[data-page=discover] .route-card.wide .route-card-heading h2{grid-column:1;grid-row:3;max-width:none;margin:0;font-family:inherit;font-size:24px;font-weight:720;line-height:1.12;letter-spacing:-.035em}.app-shell[data-page=discover] .route-card-heading em{grid-column:2;grid-row:3;min-height:34px;align-self:end;padding:0 10px;font-size:11px}.app-shell[data-page=discover] .route-card-stops{display:none}.app-shell[data-page=discover] .route-card-footer,.app-shell[data-page=discover] .route-card.featured .route-card-footer{right:16px;bottom:14px;left:18px;gap:8px}.app-shell[data-page=discover] .creator{gap:8px}.app-shell[data-page=discover] .creator>img{width:38px;height:38px}.app-shell[data-page=discover] .creator strong{max-width:112px;font-size:16px}.app-shell[data-page=discover] .creator small,.app-shell[data-page=discover] .route-budget{font-size:10px}.app-shell[data-page=discover] .card-plan-button{min-height:40px;padding:0 11px}.app-shell[data-page=discover] .save-route{top:14px;right:14px;width:38px;height:38px}.app-shell[data-page=inspiration] .result-explorer-shell{display:flex;flex-direction:column;align-items:stretch;overflow:visible}.app-shell[data-page=inspiration] .result-story-pane{display:contents}.app-shell[data-page=inspiration] .result-story-toolbar{order:1}.app-shell[data-page=inspiration] .result-story-filters{position:relative;order:2;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;background:#fffdf9}.app-shell[data-page=inspiration] .result-story-filters>div{gap:2px;padding-right:18px}.app-shell[data-page=inspiration] .result-story-filters:after{position:absolute;z-index:2;top:2px;right:44px;bottom:2px;width:18px;background:linear-gradient(90deg,#fffdf900,#fffdf9 82%);content:"";pointer-events:none}.app-shell[data-page=inspiration] .result-story-filters>div>button{min-height:38px;padding:0 10px}.app-shell[data-page=inspiration] .inspiration-saved-filter{display:grid;width:44px;min-height:40px;padding:0;place-items:center;border:1px solid #e4e0d8;border-radius:13px;background:#fff;color:#575c4f}.app-shell[data-page=inspiration] .inspiration-saved-filter.active{border-color:#667157;background:#667157;color:#fff}.app-shell[data-page=inspiration] .inspiration-saved-filter span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell[data-page=inspiration] .result-explorer-map{position:sticky;z-index:30;top:0;order:3;align-self:stretch;height:min(78vw,320px);min-height:292px;border-top:1px solid rgba(104,94,81,.12);border-bottom:1px solid rgba(104,94,81,.12);box-shadow:0 10px 24px #1e1d1914}.app-shell[data-page=inspiration] .result-map-saved-toggle{display:none}.app-shell[data-page=inspiration] .result-story-scroll{order:4;padding:12px 8px 18px;background:#f8f5ef}.app-shell[data-page=inspiration] .result-story-card{display:grid;min-height:116px;grid-template-columns:112px minmax(0,1fr);gap:0;margin-bottom:10px;padding:0;overflow:hidden;border-radius:16px;content-visibility:auto;contain-intrinsic-size:116px}.app-shell[data-page=inspiration] .result-story-image,.app-shell[data-page=inspiration] .result-story-card:nth-child(3n+2) .result-story-image,.app-shell[data-page=inspiration] .result-story-card:nth-child(3n) .result-story-image{width:112px;height:116px;aspect-ratio:auto;border-radius:0}.app-shell[data-page=inspiration] .result-story-creator{display:none}.app-shell[data-page=inspiration] .result-story-location{right:6px;bottom:6px;left:6px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-page=inspiration] .result-story-copy{display:grid;min-width:0;align-content:center;gap:6px;padding:12px}.app-shell[data-page=inspiration] .result-story-copy>strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-page=inspiration] .result-story-copy>span{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-shell[data-page=dashboard] .dashboard-page{padding:10px 12px 18px}.app-shell[data-page=dashboard] .dashboard-page-search{min-height:46px;margin-bottom:12px;padding:3px 5px 3px 12px;border-radius:14px}.app-shell[data-page=dashboard] .dashboard-page-search>button{width:38px;height:38px}.app-shell[data-page=dashboard] .dashboard-layout{display:flex;flex-direction:column;gap:12px}.app-shell[data-page=dashboard] :is(.dashboard-trip-card,.dashboard-notebook){display:contents}.app-shell[data-page=dashboard] .dashboard-overview-heading{order:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.app-shell[data-page=dashboard] .dashboard-trip-title{gap:4px}.app-shell[data-page=dashboard] .dashboard-trip-title h1{font-family:inherit;font-size:30px;font-weight:720;line-height:1.05;letter-spacing:-.04em}.app-shell[data-page=dashboard] .dashboard-trip-title p{color:#817b70;font-size:11px;font-weight:600}.app-shell[data-page=dashboard] .dashboard-weather-compact{width:auto;min-width:88px;min-height:54px;gap:8px;padding:8px 11px}.app-shell[data-page=dashboard] .dashboard-weather-compact small{display:none}.app-shell[data-page=dashboard] .dashboard-weather-compact strong{font-size:22px}.app-shell[data-page=dashboard] .dashboard-weather-compact>svg{width:22px;height:22px}.app-shell[data-page=dashboard] .dashboard-next-stop{order:2;display:flex;width:100%;min-height:72px;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #e3e0d8;border-radius:16px;background:#fffdf9;color:#292517;text-align:left;box-shadow:0 8px 22px #413d320a}.app-shell[data-page=dashboard] .dashboard-next-stop>span{display:grid;min-width:0;gap:3px}.app-shell[data-page=dashboard] .dashboard-next-stop small{color:#6d7f4d;font-size:10px;font-weight:780}.app-shell[data-page=dashboard] .dashboard-next-stop strong{font-size:16px}.app-shell[data-page=dashboard] .dashboard-next-stop em{overflow:hidden;color:#7d776b;font-size:10px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-page=dashboard] .dashboard-next-stop>svg{width:18px;height:18px;flex:0 0 auto;color:#6d7f4d}.app-shell[data-page=dashboard] .dashboard-tabs{order:3;min-height:48px;padding:3px}.app-shell[data-page=dashboard] .dashboard-tabs button{min-height:40px;font-size:12px}.app-shell[data-page=dashboard] .dashboard-tab-panel{order:5;display:block}.app-shell[data-page=dashboard] .dashboard-metrics,.app-shell[data-page=dashboard] :is(.dashboard-budget,.dashboard-map-card,.dashboard-journey-preview){display:none}.app-shell[data-page=dashboard] [data-dashboard-active-tab=details] .dashboard-map-card{position:sticky;z-index:20;top:58px;order:4;display:block;min-height:286px;height:286px}.app-shell[data-page=dashboard] [data-dashboard-active-tab=details] .dashboard-tab-panel{order:5}.app-shell[data-page=dashboard] [data-dashboard-active-tab=bookings] .dashboard-budget{order:4;display:grid}.app-shell[data-page=dashboard] [data-dashboard-active-tab=bookings] .dashboard-journey-preview{order:6;display:grid}.app-shell[data-page=dashboard] .dashboard-place-grid{grid-auto-rows:94px;gap:10px}.app-shell[data-page=dashboard] .dashboard-place-card{min-height:94px;contain-intrinsic-size:94px}.app-shell[data-page=dashboard] .dashboard-place-card>button:first-child{display:grid;height:94px;grid-template-columns:112px minmax(0,1fr);grid-template-rows:94px}.app-shell[data-page=dashboard] .dashboard-place-card>button:first-child>img{width:112px;height:94px}.app-shell[data-page=dashboard] .dashboard-place-copy{min-height:94px;padding:10px 12px}.app-shell[data-page=dashboard] .dashboard-place-card strong{font-size:15px}.app-shell[data-page=dashboard] .dashboard-place-copy>em{max-width:70px;font-size:10px;text-align:right}.app-shell[data-page=dashboard] .dashboard-budget{gap:12px;padding:14px}.app-shell[data-page=dashboard] .dashboard-budget-summary strong{font-size:27px}.app-shell[data-page=dashboard] .dashboard-journey-preview{padding:14px 12px 12px}.app-shell[data-page=dashboard] .dashboard-journey-preview li>button{min-height:54px}.app-shell[data-page=dashboard] :is(.dashboard-view-plan,.dashboard-start-journey){min-height:44px}.timeline-planner-page[data-mobile-panel=agent] .planner-inspector:has(.planner-agent-card.idle){height:auto;max-height:230px}.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card.idle{align-self:end;padding:10px;overflow:visible}.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card.idle .agent-composer{grid-template-rows:minmax(52px,auto) 38px;padding:10px 10px 7px;border-radius:18px}.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card.idle .agent-composer textarea{min-height:52px;max-height:68px}.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card.idle .agent-composer footer{min-height:38px}.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card.idle .agent-safety-note{padding:0 6px 2px}.mobile-planner-bottom-nav{height:calc(60px + env(safe-area-inset-bottom,0px));padding:3px 8px env(safe-area-inset-bottom,0px)}.mobile-planner-bottom-nav button{min-height:52px;gap:0;padding:3px 2px 2px}.mobile-planner-bottom-nav button>span{display:none}.mobile-planner-bottom-nav svg{width:27px;height:27px}.mobile-planner-tool-tray{bottom:calc(68px + env(safe-area-inset-bottom,0px))}.mobile-active-stop-chip,.timeline-planner-page[data-mobile-panel=library] .planner-library,.timeline-planner-page[data-mobile-panel=map] .planner-inspector,.timeline-planner-page[data-mobile-panel=agent] .planner-inspector{bottom:calc(146px + env(safe-area-inset-bottom,0px))}.mobile-planner-panel-scrim{bottom:calc(60px + env(safe-area-inset-bottom,0px))}.app-shell[data-page=canvas] .toast{bottom:calc(144px + env(safe-area-inset-bottom,0px))}}@media(max-width:359px){.app-shell[data-page=dashboard] .dashboard-note-list{grid-template-columns:minmax(0,1fr);gap:8px}.mobile-planner-tool-tray button{gap:4px;padding-inline:4px;font-size:12px;white-space:nowrap}.mobile-planner-tool-tray svg{width:20px;height:20px;flex:0 0 20px}}@media(max-width:700px){.app-shell[data-page=discover] .discover-page{padding:10px 10px 16px}.app-shell[data-page=discover] .route-grid{gap:10px}.app-shell[data-page=discover] .route-card,.app-shell[data-page=discover] .route-card.wide{height:248px;min-height:248px;border-radius:20px;contain-intrinsic-size:248px}.app-shell[data-page=discover] .route-card.featured{height:292px;min-height:292px;contain-intrinsic-size:292px}.app-shell[data-page=discover] .route-card-heading,.app-shell[data-page=discover] .route-card:not(.featured) .route-card-heading{top:14px;right:14px;bottom:58px;left:14px;gap:5px 6px}.app-shell[data-page=discover] .route-card-heading>span{font-size:11px}.app-shell[data-page=discover] .route-card-heading h2,.app-shell[data-page=discover] .route-card:not(.featured) .route-card-heading h2,.app-shell[data-page=discover] .route-card.wide .route-card-heading h2{font-size:24px;line-height:1.08}.app-shell[data-page=discover] .route-card-heading em{min-height:28px;padding:0 8px;font-size:10px}.app-shell[data-page=discover] .route-card-heading em svg{width:12px;height:12px}.app-shell[data-page=discover] .route-card-footer,.app-shell[data-page=discover] .route-card.featured .route-card-footer{right:12px;bottom:9px;left:14px;gap:6px}.app-shell[data-page=discover] .creator{gap:7px}.app-shell[data-page=discover] .creator>img{width:32px;height:32px}.app-shell[data-page=discover] .creator strong{max-width:118px;font-size:20px;line-height:1}.app-shell[data-page=discover] .creator small,.app-shell[data-page=discover] .route-budget{font-size:9px;line-height:1.2}.app-shell[data-page=discover] .card-plan-button{min-height:38px;gap:5px;padding:0 9px;font-size:11px}.app-shell[data-page=discover] .card-plan-button svg{width:14px;height:14px}.app-shell[data-page=discover] .save-route{top:11px;right:11px;width:36px;height:36px}.app-shell[data-page=discover] .save-route svg{width:16px;height:16px}.app-shell[data-page=inspiration] .nearby-inspiration-page{padding:8px 10px 16px}.app-shell[data-page=inspiration] .result-explorer-shell{border-radius:18px}.app-shell[data-page=inspiration] .result-story-toolbar{gap:6px;padding:8px 8px 5px}.app-shell[data-page=inspiration] :is(.result-search-field,.result-distance-button){height:40px}.app-shell[data-page=inspiration] .result-distance-button{min-width:40px;padding:0 10px}.app-shell[data-page=inspiration] .result-story-filters{grid-template-columns:minmax(0,1fr) 40px;gap:6px;padding:2px 8px 6px}.app-shell[data-page=inspiration] .result-story-filters>div>button{min-height:36px;padding:0 8px;font-size:11px}.app-shell[data-page=inspiration] .inspiration-saved-filter{width:40px;min-height:40px;border-radius:12px}.app-shell[data-page=inspiration] .result-explorer-map{height:min(72vw,288px);min-height:276px;box-shadow:0 7px 18px #1e1d1912}.app-shell[data-page=inspiration] .result-map-actions{top:8px;right:8px}.app-shell[data-page=inspiration] .result-map-actions button{width:40px;height:40px}.app-shell[data-page=inspiration] .result-story-scroll{padding:8px 6px 14px}.app-shell[data-page=inspiration] .result-story-card{min-height:104px;grid-template-columns:100px minmax(0,1fr);margin-bottom:8px;border-radius:14px;contain-intrinsic-size:104px}.app-shell[data-page=inspiration] .result-story-image,.app-shell[data-page=inspiration] .result-story-card:nth-child(3n+2) .result-story-image,.app-shell[data-page=inspiration] .result-story-card:nth-child(3n) .result-story-image{width:100px;height:104px}.app-shell[data-page=inspiration] .result-story-copy{gap:4px;padding:9px 10px}.app-shell[data-page=inspiration] .result-story-copy>strong{font-size:15px}.app-shell[data-page=inspiration] .result-story-copy>span{font-size:10px;line-height:1.4}.app-shell[data-page=dashboard] .dashboard-page{padding:8px 10px 14px}.app-shell[data-page=dashboard] .dashboard-page-search{min-height:44px;margin-bottom:8px;padding:2px 4px 2px 10px;border-radius:13px}.app-shell[data-page=dashboard] .dashboard-page-search>button{width:40px;height:40px}.app-shell[data-page=dashboard] .dashboard-layout,.app-shell[data-page=dashboard] .dashboard-overview-heading{gap:8px}.app-shell[data-page=dashboard] .dashboard-trip-title{gap:2px}.app-shell[data-page=dashboard] .dashboard-trip-title h1{font-size:26px;line-height:1.05}.app-shell[data-page=dashboard] .dashboard-trip-title p{font-size:10px}.app-shell[data-page=dashboard] .dashboard-weather-compact{min-width:76px;min-height:48px;gap:6px;padding:6px 9px;border-radius:13px}.app-shell[data-page=dashboard] .dashboard-weather-compact strong{font-size:18px}.app-shell[data-page=dashboard] .dashboard-weather-compact>svg{width:18px;height:18px}.app-shell[data-page=dashboard] .dashboard-next-stop{min-height:60px;padding:8px 10px;border-radius:14px;box-shadow:0 5px 14px #413d3209}.app-shell[data-page=dashboard] .dashboard-next-stop>span{gap:1px}.app-shell[data-page=dashboard] .dashboard-next-stop small,.app-shell[data-page=dashboard] .dashboard-next-stop em{font-size:9px}.app-shell[data-page=dashboard] .dashboard-next-stop strong{font-size:14px}.app-shell[data-page=dashboard] .dashboard-next-stop>svg{width:16px;height:16px}.app-shell[data-page=dashboard] .dashboard-tabs{min-height:44px;padding:2px}.app-shell[data-page=dashboard] .dashboard-tabs button{min-height:40px;gap:5px;padding:0 8px;font-size:11px}.app-shell[data-page=dashboard] [data-dashboard-active-tab=details] .dashboard-map-card{min-height:258px;height:258px}.app-shell[data-page=dashboard] [data-dashboard-active-tab=details] :is(.dashboard-route-map,.route-map,.jilu-interactive-map){height:100%;min-height:0}.app-shell[data-page=dashboard] .dashboard-place-grid{grid-auto-rows:84px;gap:8px}.app-shell[data-page=dashboard] .dashboard-place-card{min-height:84px;contain-intrinsic-size:84px}.app-shell[data-page=dashboard] .dashboard-place-card>button:first-child{height:84px;grid-template-columns:100px minmax(0,1fr);grid-template-rows:84px}.app-shell[data-page=dashboard] .dashboard-place-card>button:first-child>img{width:100px;height:84px}.app-shell[data-page=dashboard] .dashboard-place-copy{min-height:84px;padding:8px 10px}.app-shell[data-page=dashboard] .dashboard-place-card strong{font-size:14px}.app-shell[data-page=dashboard] .dashboard-budget{gap:9px;padding:12px}.app-shell[data-page=dashboard] .dashboard-budget-summary strong{font-size:24px}.app-shell[data-page=dashboard] .dashboard-journey-preview{padding:11px 10px 10px}.app-shell[data-page=dashboard] .dashboard-journey-preview li>button{min-height:48px;padding:5px 7px 5px 11px}.app-shell[data-page=dashboard] :is(.dashboard-view-plan,.dashboard-start-journey){min-height:40px;padding:0 11px;font-size:11px}}.app-sidebar{border-right-color:#0d2f7a1a;background:#f7f8fafa;box-shadow:10px 0 32px #0d2f7a09}.app-sidebar .brand{min-height:58px;justify-content:center;padding:0}.app-sidebar .brand-lockup{display:block;width:148px;height:56px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.app-sidebar .brand-symbol{display:none;width:48px;height:48px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.sidebar-nav button:before{background:currentColor}.sidebar-nav button.active{background:#eaf0fa;color:var(--qy-nav-active);box-shadow:inset 0 0 0 1px #0d2f7a12}.sidebar-city:hover,.sidebar-profile:hover,.sidebar-nav button:hover{background:#eaf0fac7}@media(max-width:1380px){.app-sidebar .brand-lockup{display:none}.app-sidebar .brand-symbol{display:block}}@media(max-width:700px){.app-shell:not([data-page=canvas]) .sidebar-nav button.active{color:var(--qy-nav-active)}.app-shell:not([data-page=canvas]) .sidebar-nav button.active svg{background:var(--qy-nav-active);color:#fff}}.app-shell:is([data-page=home],[data-page=personality],[data-page=discover],[data-page=route-detail],[data-page=canvas],[data-page=inspiration],[data-page=dashboard],[data-page=progress],[data-page=navigate]){background:var(--qy-bg);color:var(--qy-ink)}.app-shell:is([data-page=home],[data-page=personality],[data-page=discover],[data-page=route-detail],[data-page=canvas],[data-page=inspiration],[data-page=dashboard],[data-page=progress],[data-page=navigate])>.app-sidebar{border-right-color:#0d2f7a1a;background:#fbfcfffa;box-shadow:10px 0 32px #0d2f7a0a}.app-shell[data-page=discover] :is(.discover-tools,.empty-route-state){border-color:var(--qy-line);background:#ffffffd1;box-shadow:0 18px 48px #0d2f7a14}.app-shell[data-page=discover] .search-field{background:var(--qy-tint)}.app-shell[data-page=discover] .search-field input::placeholder{color:var(--qy-muted)}.app-shell[data-page=canvas]>.timeline-planner-page{background:var(--qy-bg)}.timeline-planner-page :is(.planner-commandbar,.planner-library,.timeline-canvas,.planner-mini-map,.planner-agent-card){border-color:var(--qy-line);background-color:var(--qy-surface-soft);box-shadow:0 10px 28px #0d2f7a0e}.timeline-planner-page :is(.timeline-grid,.planner-map-canvas,.planner-agent-body){background-color:var(--qy-surface)}@media(min-width:701px)and (max-width:1120px){html:has(.app-shell:is([data-page=home],[data-page=personality],[data-page=discover],[data-page=route-detail],[data-page=dashboard])),body:has(.app-shell:is([data-page=home],[data-page=personality],[data-page=discover],[data-page=route-detail],[data-page=dashboard])){min-width:0}.app-shell[data-page=dashboard] .dashboard-page{min-width:0;min-height:100dvh;padding-right:24px;padding-left:24px}.app-shell[data-page=dashboard] .dashboard-layout{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;gap:24px}.app-shell[data-page=dashboard] :is(.dashboard-trip-card,.dashboard-notebook){width:100%;height:auto;overflow:visible}.app-shell[data-page=dashboard] .dashboard-notebook{grid-template-rows:auto 360px auto}}.timeline-planner-page .agent-composer textarea:disabled{background:var(--qy-tint);color:var(--qy-muted);cursor:not-allowed;opacity:1}@media(max-width:700px){.app-shell[data-page=dashboard] .dashboard-page-search,.app-shell[data-page=dashboard] .dashboard-next-stop{border-color:var(--qy-line);background:#fffffff5;box-shadow:0 6px 18px #0d2f7a0f}.app-shell[data-page=dashboard] :is(.dashboard-trip-title p,.dashboard-next-stop small,.dashboard-next-stop em){color:var(--qy-muted)}.app-shell[data-page=dashboard] .dashboard-next-stop strong{color:var(--qy-ink)}.app-shell[data-page=dashboard] .dashboard-start-journey.requires-confirmation{border-color:var(--qy-line-strong);background:var(--qy-tint);color:var(--qy-muted)}.app-shell[data-page=canvas] .timeline-planner-page :is(.planner-commandbar,.timeline-canvas,.timeline-stage,.timeline-day-surface,.planner-agent-card.idle,.mobile-planner-tool-tray,.mobile-planner-bottom-nav){border-color:var(--qy-line);background-color:var(--qy-surface-soft);box-shadow:0 8px 24px #0d2f7a0f}.app-shell[data-page=canvas] .planner-command-title .brand-mark,.app-shell[data-page=canvas] :is(.mobile-canvas-mode-switch,.mobile-planner-tool-tray) button.active{background:var(--qy-tint);color:var(--qy-primary)}.app-shell[data-page=canvas] .timeline-day-surface:before{background:linear-gradient(to right,rgba(94,116,170,.12) 1px,transparent 1px) var(--timeline-edge-gutter, 88px) 0 / var(--timeline-hour-width, 105px) 100%,linear-gradient(to right,rgba(94,116,170,.035) 1px,transparent 1px) var(--timeline-edge-gutter, 88px) 0 / var(--timeline-quarter-width, 26.25px) 100%}.app-shell[data-page=canvas] .timeline-duration-bar:not(.conflict){border-color:var(--qy-line);background:var(--qy-surface);color:var(--qy-ink)}.app-shell[data-page=canvas] .timeline-route-connector:not(.conflict) .timeline-route-line{border-color:#5e74aa6b}.app-shell[data-page=canvas] .timeline-transport-node:not(.conflict) .timeline-transport-icon{border-color:var(--qy-line);background:var(--qy-surface);color:var(--qy-primary)}}.app-shell[data-page=dashboard] .dashboard-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-details-layout{display:grid;width:100%;height:100%;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-details-section,.dashboard-bookings-overview{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px;overflow:hidden;border:1px solid var(--qy-line);border-radius:18px;background:var(--qy-surface);box-shadow:0 10px 28px #0d2f7a0a}.dashboard-bookings-overview{height:100%;align-self:stretch;grid-template-rows:auto minmax(0,1fr) auto}.dashboard-bookings-metrics{border-top:1px solid var(--qy-line)}.dashboard-details-heading{display:flex;min-height:28px;align-items:center;justify-content:space-between}.dashboard-details-heading>span{display:flex;min-width:0;gap:8px;align-items:center;color:var(--qy-ink)}.dashboard-details-heading svg{width:16px;height:16px;flex:0 0 auto;color:var(--qy-nav-active)}.dashboard-details-heading strong{font-size:14px;font-weight:760}.dashboard-details-heading small{flex:0 0 auto;color:var(--qy-muted);font-size:11px}.dashboard-detail-place-list,.dashboard-bookings-overview .dashboard-booking-list,.dashboard-detail-note-list{min-height:0;align-content:start;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--qy-line-strong) transparent}.dashboard-detail-place-list{display:grid;gap:9px}.dashboard-detail-place-list>button{display:grid;width:100%;min-height:74px;grid-template-columns:76px minmax(0,1fr) auto;gap:11px;align-items:center;padding:7px;border:1px solid var(--qy-line);border-radius:14px;background:var(--qy-surface-soft);color:var(--qy-ink);text-align:start;cursor:pointer;transition-property:border-color,background-color,box-shadow;transition-duration:.14s}.dashboard-detail-place-list>button:is(:hover,.active){border-color:var(--qy-line-strong);background:var(--qy-tint);box-shadow:0 8px 20px #0d2f7a12}.dashboard-detail-place-list img{width:76px;height:58px;object-fit:cover;border-radius:10px;outline:1px solid rgba(0,0,0,.08)}.dashboard-detail-place-list>button>span{display:grid;min-width:0;gap:5px}.dashboard-detail-place-list strong{display:-webkit-box;overflow:hidden;font-size:13px;font-weight:720;line-height:1.28;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-detail-place-list small,.dashboard-detail-place-list time{color:var(--qy-muted);font-size:10px}.dashboard-detail-place-list time{padding-inline-end:5px;font-variant-numeric:tabular-nums}.app-shell[data-page=dashboard] .dashboard-detail-note-list{display:grid;height:auto;grid-template-columns:minmax(0,1fr);gap:9px}.app-shell[data-page=dashboard] .dashboard-detail-note-list button{min-height:112px;padding:13px 14px;border-radius:14px}.dashboard-details-empty{min-height:240px}.dashboard-bookings-overview .dashboard-booking-list-large{gap:10px}.dashboard-bookings-overview .dashboard-booking-list-large>button{min-height:92px;border-color:var(--qy-line);background:var(--qy-surface-soft)}@media(min-width:1121px){.app-shell[data-page=dashboard] [data-dashboard-active-tab=bookings] .dashboard-trip-card{grid-template-rows:auto auto minmax(0,1fr)}.app-shell[data-page=dashboard] .dashboard-trip-card{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;align-self:stretch}.app-shell[data-page=dashboard] .dashboard-tab-panel{height:100%;min-height:0;align-self:stretch;overflow:hidden}.app-shell[data-page=dashboard] :is(.dashboard-trip-card,.dashboard-notebook){height:100%}}@media(max-width:1120px){.dashboard-details-layout{height:auto;grid-template-columns:minmax(0,1fr)}.dashboard-details-section,.dashboard-bookings-overview{overflow:visible}.dashboard-bookings-overview{height:auto;align-self:start}.dashboard-detail-place-list,.dashboard-bookings-overview .dashboard-booking-list,.dashboard-detail-note-list{overflow:visible}}@media(max-width:700px){.app-shell[data-page=dashboard] .dashboard-bookings-overview{grid-template-rows:auto auto}.app-shell[data-page=dashboard] .dashboard-details-section,.app-shell[data-page=dashboard] .dashboard-bookings-overview{padding:12px;border-radius:16px}.app-shell[data-page=dashboard] .dashboard-detail-place-list>button{min-height:70px;grid-template-columns:72px minmax(0,1fr) auto}.app-shell[data-page=dashboard] .dashboard-detail-place-list img{width:72px;height:54px}}@media(pointer:coarse){:is(button,a[href],input,textarea,select,[role=button]){touch-action:manipulation}}@media(max-width:700px){.app-shell:not([data-page=canvas]){--mobile-product-nav-height: 68px;padding-bottom:calc(var(--mobile-product-nav-height) + env(safe-area-inset-bottom,0px))}.app-shell:not([data-page=canvas])>.app-sidebar{height:calc(var(--mobile-product-nav-height) + env(safe-area-inset-bottom,0px));padding:4px max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px))}.app-shell:not([data-page=canvas]) .sidebar-nav button{min-height:60px;gap:2px;padding:4px 2px 3px}.app-shell:not([data-page=canvas]) .sidebar-nav button span{display:block;overflow:hidden;font-size:10px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.app-shell:not([data-page=canvas]) .sidebar-nav button svg{width:27px;height:27px}.app-shell:not([data-page=canvas])>.app-topbar{height:auto;min-height:calc(66px + env(safe-area-inset-top,0px));padding:calc(9px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 9px max(12px,env(safe-area-inset-left,0px))}.app-shell[data-page=discover] .discover-page,.app-shell[data-page=inspiration] .nearby-inspiration-page,.app-shell[data-page=dashboard] .dashboard-page,.app-shell[data-page=navigate] .navigate-page{padding-right:max(10px,env(safe-area-inset-right,0px));padding-left:max(10px,env(safe-area-inset-left,0px))}.app-shell[data-page=inspiration] .nearby-inspiration-page,.app-shell[data-page=dashboard] .dashboard-page,.app-shell[data-page=navigate] .navigate-page{padding-top:calc(8px + env(safe-area-inset-top,0px))}.app-shell[data-page=discover] :is(.card-plan-button,.save-route),.app-shell[data-page=inspiration] :is(.result-distance-button,.result-story-filters>div>button,.inspiration-saved-filter,.result-map-actions button),.app-shell[data-page=dashboard] :is(.dashboard-page-search>button,.dashboard-tabs button,.dashboard-view-plan,.dashboard-start-journey),.timeline-planner-page :is(.mobile-canvas-mode-switch button,.mobile-canvas-quick-actions button,.mobile-active-stop-chip button,.planner-library>header button,.library-detail-close,.library-detail-popover>footer>button,.agent-composer footer button){min-width:44px;min-height:44px}.app-shell[data-page=discover] .save-route,.app-shell[data-page=inspiration] :is(.inspiration-saved-filter,.result-map-actions button),.app-shell[data-page=dashboard] .dashboard-page-search>button,.timeline-planner-page :is(.mobile-canvas-quick-actions button,.mobile-active-stop-chip button,.planner-library>header button,.library-detail-close,.agent-composer footer button){width:44px;height:44px}.mobile-planner-bottom-nav{height:calc(68px + env(safe-area-inset-bottom,0px));padding:4px max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px))}.mobile-planner-bottom-nav button{min-height:60px;gap:2px;padding:4px 2px 3px}.mobile-planner-bottom-nav button>span{display:block;font-size:10px;line-height:1}.mobile-planner-tool-tray{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px))}.mobile-active-stop-chip,.timeline-planner-page[data-mobile-panel=library] .planner-library,.timeline-planner-page[data-mobile-panel=map] .planner-inspector,.timeline-planner-page[data-mobile-panel=agent] .planner-inspector{bottom:calc(154px + env(safe-area-inset-bottom,0px))}.mobile-planner-panel-scrim{bottom:calc(68px + env(safe-area-inset-bottom,0px))}.app-shell[data-page=canvas] .toast{bottom:calc(152px + env(safe-area-inset-bottom,0px))}}@media(max-width:390px){.timeline-planner-page[data-mobile-panel=library] .planner-library-list{grid-template-columns:minmax(0,1fr)}}@media(orientation:landscape)and (max-height:500px)and (max-width:900px){.app-shell:not([data-page=canvas]){--app-sidebar-width: calc(76px + env(safe-area-inset-left, 0px)) ;width:100%;min-width:0;max-width:100vw;overflow-x:clip;padding-right:env(safe-area-inset-right,0px)}.app-shell:not([data-page=canvas])>:is(.page,.route-detail-page){width:100%;min-width:0!important;max-width:none}.app-shell:not([data-page=canvas])>.app-sidebar{padding-top:max(12px,env(safe-area-inset-top,0px));padding-bottom:max(10px,env(safe-area-inset-bottom,0px));padding-left:max(9px,env(safe-area-inset-left,0px))}.app-shell:not([data-page=canvas]) .sidebar-footer{display:none}.app-shell:not([data-page=canvas]) .sidebar-nav button,.app-shell:not([data-page=canvas]) :is(.sidebar-city,.sidebar-profile){min-height:44px}.app-shell[data-page=discover] :is(.card-plan-button,.save-route),.app-shell[data-page=inspiration] :is(.result-distance-button,.result-story-filters>div>button,.inspiration-saved-filter,.result-map-actions button,.result-map-saved-toggle),.app-shell[data-page=dashboard] :is(.dashboard-page-search>button,.dashboard-tabs button,.dashboard-view-plan,.dashboard-start-journey,.dashboard-journey-preview>header>button),.app-shell[data-page=navigate] .navigate-title-row button,.timeline-planner-page :is(.mobile-canvas-mode-switch button,.mobile-canvas-quick-actions button,.mobile-active-stop-chip button,.planner-library>header button,.library-detail-close,.library-detail-popover>footer>button,.agent-composer footer button){min-width:44px;min-height:44px}.app-shell[data-page=discover] .save-route,.app-shell[data-page=inspiration] :is(.result-map-actions button,.result-map-saved-toggle),.app-shell[data-page=dashboard] :is(.dashboard-page-search>button,.dashboard-journey-preview>header>button),.timeline-planner-page :is(.mobile-canvas-quick-actions button,.mobile-active-stop-chip button,.planner-library>header button,.library-detail-close,.agent-composer footer button){width:44px;height:44px}.app-shell[data-page=route-detail]>.route-detail-page{min-width:0!important}.app-shell[data-page=inspiration] .nearby-inspiration-page{min-width:0;padding:8px 10px 10px}.app-shell[data-page=inspiration] .result-explorer-shell{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);border-radius:18px}.app-shell[data-page=inspiration] .result-story-grid{grid-template-columns:minmax(0,1fr)}.app-shell[data-page=inspiration] .inspiration-saved-filter span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell[data-page=inspiration] .result-map-saved-toggle{width:44px;height:44px;min-height:44px;justify-content:center;padding:0}.app-shell[data-page=inspiration] .result-map-saved-toggle>:is(span,i){display:none}.app-shell[data-page=dashboard]>.dashboard-page,.app-shell[data-page=navigate]>.navigate-page{min-width:0!important}.app-shell[data-page=navigate] .navigate-workspace{width:100%;min-width:0;grid-template-columns:minmax(210px,.78fr) minmax(0,1.22fr)}.app-shell[data-page=navigate] .journey-control-panel{position:absolute;right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));width:min(300px,calc(100% - 250px));max-height:132px;overflow:hidden;padding:8px;border:1px solid var(--qy-line);border-radius:16px;background:#fffffff5;box-shadow:0 10px 28px #0d2f7a1f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-shell[data-page=navigate] .now-card{padding:0;overflow:visible;border:0;border-radius:0;background:transparent}.app-shell[data-page=navigate] .now-card>:is(img,p,div),.app-shell[data-page=navigate] :is(.next-card,.offline-note){display:none}.app-shell[data-page=navigate] .now-card>span,.app-shell[data-page=navigate] .now-card h1{margin-right:0;margin-left:0}.app-shell[data-page=navigate] .now-card>span{margin-top:0}.app-shell[data-page=navigate] .now-card h1{margin-top:3px;margin-bottom:4px;overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-page=navigate] .journey-actions{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;margin-top:4px}.app-shell[data-page=navigate] .journey-actions>div{grid-template-columns:44px 44px}.app-shell[data-page=navigate] .journey-actions>div button{width:44px;min-width:44px;padding:0;font-size:0}.app-shell[data-page=canvas]{padding-left:calc(64px + env(safe-area-inset-left,0px))}.app-shell[data-page=canvas]>.timeline-planner-page{grid-template-rows:calc(56px + env(safe-area-inset-top,0px)) minmax(0,1fr)}.timeline-planner-page .planner-commandbar{min-height:calc(56px + env(safe-area-inset-top,0px));padding:calc(6px + env(safe-area-inset-top,0px)) max(10px,env(safe-area-inset-right,0px)) 6px max(10px,env(safe-area-inset-left,0px))}.timeline-planner-page .planner-command-title .brand-mark{width:40px;height:40px;flex-basis:40px}.timeline-planner-page .planner-command-title small{display:none}.timeline-planner-page .planner-command-actions .primary-button{min-height:44px}.timeline-planner-page .timeline-canvas{grid-template-rows:52px minmax(0,1fr)}.timeline-planner-page .timeline-canvas-heading{min-height:52px;padding:4px calc(262px + env(safe-area-inset-right,0px)) 4px 10px}.timeline-planner-page .mobile-canvas-toolbar{height:44px}.timeline-planner-page .timeline-stage{padding-bottom:0}.timeline-planner-page .timeline-transport-copy{display:none}.timeline-planner-page .timeline-transport-node{width:44px;min-height:44px}.mobile-planner-bottom-nav{top:0;right:auto;bottom:0;left:0;width:calc(64px + env(safe-area-inset-left,0px));height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(44px,1fr));padding:max(4px,env(safe-area-inset-top,0px)) 4px max(4px,env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left,0px));border-top:0;border-right:1px solid var(--qy-line)}.mobile-planner-bottom-nav button{min-height:44px;padding:2px}.mobile-planner-tool-tray{top:calc(56px + env(safe-area-inset-top,0px));right:env(safe-area-inset-right,0px);bottom:auto;left:auto;width:252px;min-height:52px;border-width:0 0 1px 1px;border-radius:0 0 0 16px;box-shadow:none}.mobile-planner-tool-tray button{min-height:52px}.timeline-planner-page[data-mobile-panel=library] .planner-library,.timeline-planner-page[data-mobile-panel=map] .planner-inspector,.timeline-planner-page[data-mobile-panel=agent] .planner-inspector{right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));left:calc(76px + env(safe-area-inset-left,0px))}.mobile-active-stop-chip{display:none!important}.timeline-planner-page[data-mobile-panel=library] .planner-library,.timeline-planner-page[data-mobile-panel=map] .planner-inspector,.timeline-planner-page[data-mobile-panel=agent] .planner-inspector{max-height:calc(100dvh - 80px - env(safe-area-inset-top,0px))}.mobile-planner-panel-scrim{inset:calc(56px + env(safe-area-inset-top,0px)) 0 0 calc(64px + env(safe-area-inset-left,0px))}.app-shell[data-page=canvas] .toast{bottom:max(12px,env(safe-area-inset-bottom,0px))}.app-shell[data-page=route-detail]{height:auto;min-height:100dvh;overflow:visible}.app-shell[data-page=route-detail]>.route-detail-page{height:auto;min-height:100dvh;overflow:visible}}@media(min-width:701px)and (min-height:501px){.app-shell[data-page=route-detail]>.route-detail-overview-page{grid-template-rows:auto auto;align-content:start;overflow-y:auto;overscroll-behavior-y:contain}.route-detail-overview-card{height:max-content}}@media(min-width:701px)and (max-width:1120px)and (min-height:501px){html:has(.app-shell:is([data-page=route-detail],[data-page=inspiration])),body:has(.app-shell:is([data-page=route-detail],[data-page=inspiration])){width:100%;min-width:0;overflow-x:hidden}.app-shell:is([data-page=route-detail],[data-page=inspiration]){width:100%;min-width:0;max-width:100vw;overflow-x:hidden}.app-shell[data-page=route-detail]>.route-detail-overview-page{width:100%;min-width:0}.app-shell[data-page=inspiration] .nearby-inspiration-page{width:100%;min-width:0}.app-shell[data-page=inspiration] .result-explorer-shell{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(280px,.78fr)}.app-shell[data-page=inspiration] .result-story-pane{border-right:0;border-bottom:1px solid rgba(104,94,81,.12)}.app-shell[data-page=inspiration] .result-explorer-map{min-width:0;min-height:280px}}::selection{background:#22c7c93d;color:var(--qy-primary-dark)}:root{scrollbar-color:var(--qy-line-strong) transparent}input,textarea{caret-color:var(--qy-teal-text)}a{text-underline-offset:.18em}.app-shell[data-page=inspiration] .result-story-pane{border-color:var(--qy-line)}.app-shell[data-page=navigate] .navigate-title-row{border-color:var(--qy-line);background:#fbfcfff7;box-shadow:0 8px 24px #0d2f7a0e}@media(pointer:coarse),(min-width:701px)and (max-width:1120px){.timeline-planner-page :is(.timeline-zoom-controls button,.planner-command-actions button,.planner-mini-map .route-map>button){min-width:44px;min-height:44px}}@media(max-width:700px){body:has(.app-shell[data-page=canvas]),.app-shell:not([data-page=canvas]),.app-shell[data-page=canvas]{background:var(--qy-bg)}.app-shell:not([data-page=canvas])>.app-sidebar,.mobile-planner-bottom-nav,.mobile-planner-tool-tray,.timeline-planner-page .planner-commandbar,.app-shell[data-page=navigate] .navigate-title-row{border-color:var(--qy-line);background:var(--qy-surface-soft);box-shadow:0 -7px 24px #0d2f7a0e;-webkit-backdrop-filter:none;backdrop-filter:none}.mobile-planner-bottom-nav button,.app-shell:not([data-page=canvas]) .sidebar-nav button{color:var(--qy-muted)}.mobile-planner-bottom-nav button.active,.app-shell:not([data-page=canvas]) .sidebar-nav button.active{color:var(--qy-nav-active)}.mobile-planner-bottom-nav button.active svg,.app-shell:not([data-page=canvas]) .sidebar-nav button.active svg{background:var(--qy-nav-active);color:#fff}.mobile-planner-tool-tray button.active{background:var(--qy-tint);color:var(--qy-primary)}.mobile-planner-panel-scrim{background:#0d2f7a29;-webkit-backdrop-filter:none;backdrop-filter:none}.timeline-planner-page .timeline-transport-copy{width:72px}.timeline-planner-page .timeline-transport-copy strong{color:var(--qy-ink)}.timeline-planner-page .timeline-transport-copy small{display:none}.app-shell[data-page=navigate] .journey-map{height:clamp(280px,72vw,320px);min-height:280px;flex-basis:clamp(280px,72vw,320px)}.app-shell[data-page=navigate] .journey-control-panel{display:flex;flex-direction:column;gap:10px}.app-shell[data-page=navigate] .now-card{order:1}.app-shell[data-page=navigate] .journey-actions{order:2;margin-top:0}.app-shell[data-page=navigate] .next-card{order:3}.app-shell[data-page=navigate] .offline-note{order:4}.app-shell[data-page=navigate] .now-card>img{display:none}}@media(orientation:landscape)and (max-height:500px)and (max-width:900px){.app-shell[data-page=dashboard] .dashboard-layout{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:12px;align-items:start}.app-shell[data-page=dashboard] .dashboard-notebook{grid-template-rows:auto 250px auto}.app-shell[data-page=dashboard] :is(.dashboard-map-card,.dashboard-route-map){height:250px;min-height:250px}}@media(prefers-reduced-transparency:reduce){.app-sidebar,.app-topbar,.mobile-planner-bottom-nav,.mobile-planner-tool-tray,.timeline-planner-page .planner-commandbar,.mobile-planner-panel-scrim,.app-shell[data-page=navigate] .navigate-title-row,.app-shell[data-page=navigate] .journey-control-panel{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.app-shell *,.app-shell *:before,.app-shell *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;padding:0!important;margin:-1px!important;border:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}@media(min-width:701px)and (min-height:501px){.app-shell[data-page=inspiration]{height:auto;min-height:100dvh;grid-template-rows:auto;overflow-x:clip;overflow-y:visible}.app-shell[data-page=inspiration]>.app-sidebar{height:100dvh}.app-shell[data-page=inspiration]>.nearby-inspiration-page{display:grid;height:auto;min-height:100dvh;grid-template-rows:auto auto;gap:28px;align-content:start;overflow:visible}.app-shell[data-page=inspiration] .inspiration-nearby-workspace{height:max(640px,calc(100dvh - 32px));min-height:640px}.app-shell[data-page=inspiration] .inspiration-nearby-workspace>.result-explorer-shell{height:100%}}@media(min-width:701px)and (max-width:1120px)and (min-height:501px){.app-shell[data-page=inspiration] .inspiration-nearby-workspace{height:max(900px,calc(100dvh - 32px));min-height:900px}}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.app-shell[data-page=inspiration]{height:auto!important;min-height:100dvh;overflow-x:clip!important;overflow-y:visible!important}.app-shell[data-page=inspiration]>.nearby-inspiration-page{display:grid;height:auto;min-height:0;grid-template-rows:auto auto;gap:18px;align-content:start;overflow:visible}.app-shell[data-page=inspiration] .inspiration-nearby-workspace,.app-shell[data-page=inspiration] .inspiration-nearby-workspace>.result-explorer-shell{height:auto;min-height:0}.route-gallery-surface.route-grid,.route-gallery-surface .route-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:10px}.route-gallery-surface .route-card,.route-gallery-surface .route-card.featured,.route-gallery-surface .route-card.wide{width:100%;height:248px;min-height:248px;grid-column:1;grid-row:auto;border-radius:20px;content-visibility:auto;contain-intrinsic-size:248px}.route-gallery-surface .route-card.featured{height:292px;min-height:292px;contain-intrinsic-size:292px}.route-gallery-surface .route-card-heading,.route-gallery-surface .route-card:not(.featured) .route-card-heading{top:14px;right:14px;bottom:58px;left:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;gap:5px 6px;align-items:end}.route-gallery-surface .route-card-heading>span{grid-column:1 / -1;align-self:start;font-size:11px}.route-gallery-surface .route-card-heading h2,.route-gallery-surface .route-card:not(.featured) .route-card-heading h2,.route-gallery-surface .route-card.wide .route-card-heading h2{max-width:none;grid-column:1;grid-row:3;margin:0;font-family:inherit;font-size:24px;font-weight:720;line-height:1.08;letter-spacing:-.035em}.route-gallery-surface .route-card-heading em{min-height:28px;grid-column:2;grid-row:3;align-self:end;padding:0 8px;font-size:10px}.route-gallery-surface .route-card-stops{display:none}.route-gallery-surface .route-card-footer,.route-gallery-surface .route-card.featured .route-card-footer{right:12px;bottom:9px;left:14px;gap:6px}.route-gallery-surface .creator{gap:7px}.route-gallery-surface .creator>img{width:32px;height:32px}.route-gallery-surface .creator strong{max-width:118px;font-size:20px;line-height:1}.route-gallery-surface :is(.creator small,.route-budget){font-size:9px;line-height:1.2}.route-gallery-surface .card-plan-button{min-width:44px;min-height:44px;gap:5px;padding:0 9px;font-size:11px}.route-gallery-surface .save-route{top:11px;right:11px;width:44px;height:44px;min-width:44px;min-height:44px}}.dashboard-workspace-columns{display:grid;width:100%;min-width:0;min-height:0;gap:12px}.dashboard-summary-overview{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:16px;overflow:hidden;border:1px solid var(--qy-line);border-radius:18px;background:var(--qy-surface);box-shadow:0 10px 28px #0d2f7a0a}.dashboard-summary-scroll{display:grid;min-width:0;min-height:0;align-content:start;gap:14px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-color:var(--qy-line-strong) transparent;scrollbar-width:thin}.dashboard-workspace-column :is(.dashboard-booking-list,.dashboard-detail-place-list,.dashboard-detail-note-list,.dashboard-summary-scroll)::-webkit-scrollbar,.dashboard-journey-preview>ol::-webkit-scrollbar{width:6px}.dashboard-workspace-column :is(.dashboard-booking-list,.dashboard-detail-place-list,.dashboard-detail-note-list,.dashboard-summary-scroll)::-webkit-scrollbar-thumb,.dashboard-journey-preview>ol::-webkit-scrollbar-thumb{border-radius:999px;background:var(--qy-line-strong)}@media(min-width:1281px){html:has(.app-shell[data-page=dashboard]),body:has(.app-shell[data-page=dashboard]){height:100%;overflow:hidden}.app-shell[data-page=dashboard]{height:100vh;height:100dvh;min-height:0;grid-template-rows:minmax(0,1fr);overflow:hidden}.app-shell[data-page=dashboard]>.dashboard-page{width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;grid-template-rows:var(--app-topbar-height) minmax(0,1fr);padding:0 24px 16px;overflow:hidden}.app-shell[data-page=dashboard] .dashboard-page-search{width:100%}.app-shell[data-page=dashboard] .dashboard-layout{height:100%;min-height:0;grid-template-columns:minmax(0,2.45fr) minmax(320px,.95fr);gap:16px;align-self:stretch;margin:0;padding-top:10px;overflow:hidden}.app-shell[data-page=dashboard] :is(.dashboard-trip-card,.dashboard-notebook){height:100%;min-height:0;overflow:hidden}.app-shell[data-page=dashboard] .dashboard-trip-card{grid-template-rows:auto minmax(0,1fr);gap:12px;padding:0}.app-shell[data-page=dashboard] .dashboard-overview-heading{min-height:72px;gap:16px}.app-shell[data-page=dashboard] .dashboard-trip-title{gap:6px}.app-shell[data-page=dashboard] .dashboard-trip-title h1{font-size:34px;line-height:1}.app-shell[data-page=dashboard] .dashboard-trip-title p{font-size:12px}.app-shell[data-page=dashboard] .dashboard-weather-compact{width:min(220px,34%);min-height:58px;padding:9px 13px 9px 16px}.app-shell[data-page=dashboard] .dashboard-tabs{display:none}.app-shell[data-page=dashboard] .dashboard-tab-panel{display:block;width:100%;height:100%;min-height:0;align-self:stretch;overflow:hidden}.app-shell[data-page=dashboard] .dashboard-workspace-columns{height:100%;grid-template-columns:repeat(4,minmax(0,1fr))}.app-shell[data-page=dashboard] .dashboard-workspace-column{width:100%;height:100%;min-width:0;min-height:0;align-self:stretch;overflow:hidden}.app-shell[data-page=dashboard] :is(.dashboard-details-section,.dashboard-bookings-overview,.dashboard-summary-overview){grid-template-rows:auto minmax(0,1fr);gap:10px;padding:12px;border-radius:16px}.app-shell[data-page=dashboard] .dashboard-details-heading{min-height:34px;gap:8px;align-items:flex-start}.app-shell[data-page=dashboard] .dashboard-details-heading>span{gap:6px}.app-shell[data-page=dashboard] .dashboard-details-heading strong{font-size:13px;line-height:1.25}.app-shell[data-page=dashboard] .dashboard-details-heading small{max-width:76px;font-size:9px;line-height:1.3;text-align:right}.app-shell[data-page=dashboard] :is(.dashboard-workspace-bookings .dashboard-booking-list,.dashboard-detail-place-list,.dashboard-detail-note-list){min-height:0;align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large>button{min-height:82px;grid-template-columns:54px minmax(0,1fr) 14px;grid-template-rows:auto auto;gap:5px 8px;padding:8px}.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large img{width:54px;height:54px;grid-row:1 / 3}.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large>button>span{min-width:0;gap:3px}.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large strong,.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large strong{font-size:12px}.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large small{font-size:9px}.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large em{grid-column:2;justify-self:start;padding:3px 6px;font-size:9px}.app-shell[data-page=dashboard] .dashboard-workspace-bookings .dashboard-booking-list-large>button>svg{grid-column:3;grid-row:1 / 3}.app-shell[data-page=dashboard] .dashboard-detail-place-list>button{min-height:70px;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 8px;padding:7px}.app-shell[data-page=dashboard] .dashboard-detail-place-list img{width:52px;height:52px;grid-row:1 / 3}.app-shell[data-page=dashboard] .dashboard-detail-place-list>button>span{gap:3px}.app-shell[data-page=dashboard] .dashboard-detail-place-list strong{font-size:12px}.app-shell[data-page=dashboard] .dashboard-detail-place-list time{grid-column:2;padding:0}.app-shell[data-page=dashboard] .dashboard-detail-note-list button{min-height:108px;padding:11px 12px}.app-shell[data-page=dashboard] .dashboard-detail-note-list strong{font-size:13px}.app-shell[data-page=dashboard] .dashboard-detail-note-list p{display:-webkit-box;overflow:hidden;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:4}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget{min-height:0;grid-template-columns:minmax(0,1fr);gap:14px;margin:0;padding:0 0 14px;overflow:visible;border:0;border-bottom:1px solid var(--qy-line);border-radius:0;background:transparent;box-shadow:none}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget-summary{gap:4px;padding:0 0 13px;border-right:0;border-bottom:1px solid var(--qy-line)}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget-summary strong{font-size:25px}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget-breakdown{gap:8px}.app-shell[data-page=dashboard] .dashboard-summary-overview .budget-row{grid-template-columns:30px minmax(44px,1fr) 38px;gap:6px;font-size:10px}.app-shell[data-page=dashboard] .dashboard-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0}.app-shell[data-page=dashboard] .dashboard-summary-metrics button{display:grid;min-height:70px;gap:4px;justify-items:center;align-content:center;padding:6px;border:0;border-radius:12px;text-align:center}.app-shell[data-page=dashboard] .dashboard-summary-metrics button>span{gap:0}.app-shell[data-page=dashboard] .dashboard-summary-metrics strong{font-size:17px}.app-shell[data-page=dashboard] .dashboard-summary-metrics small{font-size:9px}.app-shell[data-page=dashboard] .dashboard-notebook{grid-template-rows:minmax(220px,.44fr) minmax(0,.56fr);gap:12px;padding:0}.app-shell[data-page=dashboard] :is(.dashboard-map-card,.dashboard-route-map){height:100%;min-height:0}.app-shell[data-page=dashboard] .dashboard-journey-preview{height:100%;min-height:0;overflow:hidden;padding:14px 16px 12px}.app-shell[data-page=dashboard] .dashboard-journey-preview>ol{min-height:0;align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-color:var(--qy-line-strong) transparent;scrollbar-width:thin}.app-shell[data-page=dashboard] .dashboard-journey-preview>header,.app-shell[data-page=dashboard] .dashboard-journey-preview>footer{position:relative;z-index:1;background:var(--qy-surface)}}@media(min-width:701px)and (max-width:1280px){.app-shell[data-page=dashboard] .dashboard-page{min-width:0}.app-shell[data-page=dashboard] .dashboard-layout{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;gap:20px}.app-shell[data-page=dashboard] :is(.dashboard-trip-card,.dashboard-notebook){width:100%;height:auto;overflow:visible}.app-shell[data-page=dashboard] .dashboard-trip-card{grid-template-rows:auto auto minmax(0,1fr)}.app-shell[data-page=dashboard] .dashboard-tabs{display:grid}.app-shell[data-page=dashboard] .dashboard-tab-panel{height:auto;overflow:visible}.app-shell[data-page=dashboard] .dashboard-workspace-columns{height:clamp(440px,56dvh,620px);grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell[data-page=dashboard] .dashboard-workspace-column{height:100%;overflow:hidden}.app-shell[data-page=dashboard] [data-dashboard-active-tab=details] :is(.dashboard-workspace-bookings,.dashboard-summary-overview),.app-shell[data-page=dashboard] [data-dashboard-active-tab=bookings] :is(.dashboard-details-places,.dashboard-details-notes){display:none}.app-shell[data-page=dashboard] :is(.dashboard-workspace-bookings .dashboard-booking-list,.dashboard-detail-place-list,.dashboard-detail-note-list,.dashboard-summary-scroll){min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.app-shell[data-page=dashboard] .dashboard-notebook{grid-template-rows:360px minmax(360px,auto)}.app-shell[data-page=dashboard] .dashboard-journey-preview>ol{max-height:360px;overflow-y:auto}}@media(max-width:700px){.app-shell[data-page=dashboard] .dashboard-workspace-columns{height:auto;grid-template-columns:minmax(0,1fr)}.app-shell[data-page=dashboard] .dashboard-workspace-column{width:100%;height:auto;overflow:visible}.app-shell[data-page=dashboard] [data-dashboard-active-tab=details] :is(.dashboard-workspace-bookings,.dashboard-summary-overview),.app-shell[data-page=dashboard] [data-dashboard-active-tab=bookings] :is(.dashboard-details-places,.dashboard-details-notes){display:none}.app-shell[data-page=dashboard] [data-dashboard-active-tab=bookings] .dashboard-summary-overview{order:1}.app-shell[data-page=dashboard] [data-dashboard-active-tab=bookings] .dashboard-workspace-bookings{order:2}.app-shell[data-page=dashboard] :is(.dashboard-workspace-bookings .dashboard-booking-list,.dashboard-detail-place-list,.dashboard-detail-note-list,.dashboard-summary-scroll){height:auto;overflow:visible}.app-shell[data-page=dashboard] .dashboard-summary-overview{padding:12px;border-radius:16px}}.timeline-planner-page{--planner-library-column: 264px;--planner-inspector-column: 300px}.app-shell[data-page=canvas] .timeline-planner-page .timeline-workbench{grid-template-columns:var(--planner-library-column) minmax(0,1fr) var(--planner-inspector-column);transition:grid-template-columns .18s cubic-bezier(.2,0,0,1)}.timeline-planner-page .planner-library{grid-template-rows:auto minmax(0,1fr)}.timeline-planner-page .planner-library>header{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:center;min-height:66px;padding:10px 12px 10px 14px}.timeline-planner-page .planner-library-heading{display:grid;gap:2px;min-width:0}.timeline-planner-page .planner-library-heading small{overflow:hidden;color:var(--qy-teal);font-size:9px;font-weight:850;letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .planner-library-heading h2{font-size:16px}.timeline-planner-page .planner-library-collapse{transition-property:background-color,color,transform;transition-duration:.14s;transition-timing-function:cubic-bezier(.2,0,0,1)}.timeline-planner-page .planner-library-collapse:active{transform:scale(.96)}.timeline-planner-page .planner-library-body{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden}.timeline-planner-page .planner-library-body[hidden]{display:none}.timeline-planner-page .planner-library-entry-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:10px 12px 0;padding:3px;border:1px solid rgba(13,47,122,.08);border-radius:12px;background:#eceff4}.timeline-planner-page .planner-library-entry-tabs button{min-width:0;min-height:32px;padding:6px 5px;border:0;border-radius:9px;background:transparent;color:var(--qy-muted);font-size:12px;font-weight:750;white-space:nowrap;transition-property:background-color,color,box-shadow,transform;transition-duration:.14s;transition-timing-function:cubic-bezier(.2,0,0,1)}.timeline-planner-page .planner-library-entry-tabs button.active{background:#fff;color:var(--qy-primary);box-shadow:0 3px 10px #0d2f7a17}.timeline-planner-page .planner-library-entry-tabs button:active{transform:scale(.96)}.timeline-planner-page .planner-library-search,.timeline-planner-page .planner-library-context{min-height:44px;margin:8px 12px 10px;border:1px solid rgba(13,47,122,.09);border-radius:11px;background:#ffffffd6}.timeline-planner-page .planner-library-search{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:center;padding:0 10px;color:var(--qy-muted)}.timeline-planner-page .planner-library-search input{width:100%;min-width:0;height:42px;padding:0;border:0;outline:0;background:transparent;color:var(--qy-ink);font:inherit;font-size:13px}.timeline-planner-page .planner-library-search:focus-within{border-color:var(--qy-focus);box-shadow:0 0 0 3px #1aa5ab1a}.timeline-planner-page .planner-library-context{display:grid;align-content:center;gap:2px;padding:7px 10px}.timeline-planner-page .planner-library-context span{overflow:hidden;color:var(--qy-primary);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .planner-library-context small{color:var(--qy-muted);font-size:10px}.timeline-planner-page .planner-library-panel{min-height:0;overflow:hidden}.timeline-planner-page .planner-library-results{display:grid;align-content:start;gap:8px;height:100%;min-height:0;padding:0 12px 14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(13,47,122,.24) transparent;scrollbar-width:thin}.timeline-planner-page .planner-library-results article{position:relative;display:grid;grid-template-columns:28px 64px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:5px 8px;align-items:center;min-height:88px;padding:8px;border:1px solid #e6e9ef;border-radius:13px;background:#fff;box-shadow:0 3px 10px #0d2f7a0b;cursor:grab;transition-property:border-color,box-shadow,transform;transition-duration:.14s;transition-timing-function:cubic-bezier(.2,0,0,1)}.timeline-planner-page .planner-library-results article:hover,.timeline-planner-page .planner-library-results article.active,.timeline-planner-page .planner-library-results article.detail-open{border-color:#1aa5ab6b;box-shadow:0 8px 18px #0d2f7a17}.timeline-planner-page .planner-library-results article:active{transform:scale(.96)}.timeline-planner-page .library-card-rank{grid-row:1 / span 2;display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#eef2f9;color:var(--qy-primary);font-size:12px;font-weight:850}.timeline-planner-page .planner-library-results article>img{grid-row:1 / span 2;width:64px;height:60px;border-radius:10px;object-fit:cover}.timeline-planner-page .planner-library-results .library-card-copy{display:grid;gap:3px;align-self:end;min-width:0}.timeline-planner-page .planner-library-results .library-card-copy>strong,.timeline-planner-page .planner-library-results .library-card-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .planner-library-results .library-card-copy>strong{color:var(--qy-ink);font-size:13px;font-weight:800}.timeline-planner-page .planner-library-results .library-card-copy>span{color:var(--qy-muted);font-size:10px}.timeline-planner-page .planner-library-results .library-card-copy>small{display:flex;gap:5px;min-width:0;overflow:hidden;color:var(--qy-muted);font-size:9px;white-space:nowrap}.timeline-planner-page .planner-library-results .library-card-copy em{overflow:hidden;max-width:76px;color:var(--qy-teal);font-style:normal;font-weight:800;text-overflow:ellipsis}.timeline-planner-page .library-card-state{grid-column:3;justify-self:start;padding:2px 6px;border-radius:999px;background:#edf7f6;color:#087a78;font-size:9px;font-weight:800}.timeline-planner-page .library-card-state.scheduled{background:#eef1f6;color:var(--qy-muted)}.timeline-planner-page .planner-library-empty{display:grid;justify-items:center;gap:7px;padding:44px 12px;color:var(--qy-muted);text-align:center}.timeline-planner-page .planner-library-empty svg{width:24px;height:24px;color:var(--qy-teal)}.timeline-planner-page .planner-library-empty strong{color:var(--qy-ink);font-size:13px}.timeline-planner-page .planner-library-empty span{font-size:11px;line-height:1.5}@media(min-width:1600px){.timeline-planner-page{--planner-library-column: 320px;--planner-inspector-column: 350px}}@media(min-width:1381px)and (max-width:1599px){.timeline-planner-page{--planner-library-column: 264px;--planner-inspector-column: 310px}}@media(min-width:1121px)and (max-width:1380px){.timeline-planner-page{--planner-library-column: 264px;--planner-inspector-column: 300px}}@media(min-width:701px)and (max-width:1120px){.timeline-planner-page{--planner-library-column: 235px;--planner-inspector-column: 265px}}@media(min-width:901px),(min-width:701px)and (min-height:501px){.timeline-planner-page[data-library-collapsed=true]{--planner-library-column: 56px}.timeline-planner-page[data-library-collapsed=true] .planner-library>header{grid-template-columns:1fr;padding:10px 6px}.timeline-planner-page[data-library-collapsed=true] .planner-library-heading{display:none}.timeline-planner-page[data-library-collapsed=true] .planner-library-collapse{margin:auto}}.timeline-planner-page .planner-agent-card.has-library-suggestion.idle{grid-template-rows:auto auto auto}.timeline-planner-page .planner-agent-card.has-library-suggestion.idle .agent-dialogue-body{display:block}.timeline-planner-page .agent-library-suggestion{display:grid;gap:9px;padding:12px;border:1px solid rgba(26,165,171,.22);border-radius:16px;background:linear-gradient(145deg,#f2fbfa,#f6f8fd);box-shadow:0 8px 20px #0d2f7a0f}.timeline-planner-page .agent-library-suggestion>header{display:grid;grid-template-columns:30px minmax(0,1fr) 28px;gap:8px;align-items:center}.timeline-planner-page .agent-library-suggestion>header>span{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:var(--qy-primary);color:#fff}.timeline-planner-page .agent-library-suggestion>header>div{display:grid;gap:1px;min-width:0}.timeline-planner-page .agent-library-suggestion>header small{color:var(--qy-teal);font-size:9px;font-weight:850;letter-spacing:.04em}.timeline-planner-page .agent-library-suggestion>header strong{overflow:hidden;color:var(--qy-ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.timeline-planner-page .agent-library-suggestion>header button{display:grid;width:28px;height:28px;padding:0;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--qy-muted)}.timeline-planner-page .agent-library-suggestion>p{margin:0;color:#44536e;font-size:11px;line-height:1.6}.timeline-planner-page .agent-library-suggestion-action{display:inline-flex;gap:6px;align-items:center;justify-self:start;min-height:34px;padding:7px 10px;border:0;border-radius:10px;background:var(--qy-primary);color:#fff;font-size:11px;font-weight:800;transition:transform .14s cubic-bezier(.2,0,0,1)}.timeline-planner-page .agent-library-suggestion-action:active{transform:scale(.96)}@media(max-width:700px),(max-width:900px)and (max-height:500px){.timeline-planner-page .planner-library>header{grid-template-columns:minmax(0,1fr) 44px 44px}.timeline-planner-page .planner-library-entry-tabs button,.timeline-planner-page .planner-library-search,.timeline-planner-page .planner-library-search input{min-height:44px}.timeline-planner-page .planner-library-results article{min-height:94px}.timeline-planner-page[data-mobile-panel=agent] .planner-inspector:has(.planner-agent-card.has-library-suggestion){max-height:min(82dvh,640px)}.timeline-planner-page[data-mobile-panel=agent] .planner-agent-card.has-library-suggestion.idle{overflow-y:auto}}@media(prefers-reduced-motion:reduce){.timeline-planner-page .timeline-workbench,.timeline-planner-page .planner-library-collapse,.timeline-planner-page .planner-library-entry-tabs button,.timeline-planner-page .planner-library-results article,.timeline-planner-page .agent-library-suggestion-action{transition-duration:.01ms}}.app-shell[data-page=dashboard] .dashboard-layout{display:grid;min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:12px;align-items:stretch;margin-block-start:0}.app-shell[data-page=dashboard] .dashboard-overview-heading{min-width:0;min-height:62px;gap:16px}.app-shell[data-page=dashboard] .dashboard-trip-title{min-width:0;gap:5px}.dashboard-trip-name-row,.dashboard-trip-name-editor{display:flex;min-width:0;gap:10px;align-items:center}.app-shell[data-page=dashboard] .dashboard-trip-name-row h1{overflow:hidden;max-width:min(720px,62vw);font-size:clamp(30px,2.4vw,38px);line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.dashboard-trip-name-edit{display:inline-flex;min-height:36px;flex:0 0 auto;gap:6px;align-items:center;justify-content:center;padding-inline:11px;border:1px solid var(--qy-line);border-radius:11px;background:var(--qy-surface);color:var(--qy-primary);font-size:11px;font-weight:760;cursor:pointer}.dashboard-trip-name-edit:is(:hover,:focus-visible){border-color:var(--qy-line-strong);background:var(--qy-tint)}.dashboard-trip-name-edit svg{width:14px;height:14px}.dashboard-trip-name-editor{width:min(720px,62vw)}.dashboard-trip-name-editor>input{width:min(560px,100%);min-width:0;min-height:44px;padding:4px 12px;border:1px solid var(--qy-focus);border-radius:12px;outline:0;background:var(--qy-surface);color:var(--qy-ink);font-family:var(--serif);font-size:clamp(26px,2.1vw,34px);font-weight:500;letter-spacing:-.04em;box-shadow:0 0 0 3px #5e74aa1f}.dashboard-trip-name-actions{display:inline-flex;flex:0 0 auto;gap:6px}.dashboard-trip-name-actions button{min-height:38px;padding-inline:12px;border:1px solid var(--qy-line);border-radius:10px;background:var(--qy-surface);color:var(--qy-primary);font-size:11px;font-weight:760;cursor:pointer}.dashboard-trip-name-actions button[type=submit]{border-color:var(--qy-primary);background:var(--qy-primary);color:#fff}.dashboard-primary-grid,.dashboard-primary-side,.dashboard-support-section,.dashboard-support-grid{min-width:0;min-height:0}.dashboard-primary-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(340px,.75fr);gap:14px}.app-shell[data-page=dashboard] .dashboard-primary-map{display:grid;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.dashboard-primary-card-heading{display:flex;min-height:44px;gap:12px;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid var(--qy-line);background:var(--qy-surface)}.dashboard-primary-card-heading>span{display:inline-flex;min-width:0;gap:7px;align-items:center;color:var(--qy-ink)}.dashboard-primary-card-heading svg{width:16px;height:16px;color:var(--qy-nav-active)}.dashboard-primary-card-heading strong{font-size:14px;font-weight:760}.dashboard-primary-card-heading small{overflow:hidden;color:var(--qy-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.dashboard-primary-map :is(.dashboard-route-map,.route-map,.jilu-interactive-map,.jilu-interactive-map__surface){width:100%;height:100%;min-height:0}.dashboard-primary-map .dashboard-route-map{border-radius:0}.dashboard-primary-side{display:grid;grid-template-rows:minmax(238px,.82fr) minmax(320px,1.18fr);gap:14px}.app-shell[data-page=dashboard] .dashboard-summary-overview,.app-shell[data-page=dashboard] .dashboard-journey-preview{display:grid;width:100%;height:100%;min-height:0;overflow:hidden}.app-shell[data-page=dashboard] .dashboard-summary-overview{grid-template-rows:auto minmax(0,1fr);gap:9px;padding:12px 14px}.app-shell[data-page=dashboard] .dashboard-summary-scroll{align-content:start;gap:10px;overflow-y:auto;overscroll-behavior-y:contain}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget{display:grid;min-height:0;grid-template-columns:minmax(118px,.78fr) minmax(154px,1.22fr);gap:13px;margin:0;padding:0 0 10px;overflow:visible;border:0;border-bottom:1px solid var(--qy-line);border-radius:0;background:transparent;box-shadow:none}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget-summary{gap:3px;padding-inline-end:0;border:0}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget-summary strong{font-size:24px}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget-summary small{display:-webkit-box;overflow:hidden;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget-breakdown{gap:5px}.app-shell[data-page=dashboard] .dashboard-summary-overview .budget-row{grid-template-columns:28px minmax(48px,1fr) 36px;gap:5px;font-size:9px}.app-shell[data-page=dashboard] .dashboard-summary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:0}.app-shell[data-page=dashboard] .dashboard-summary-metrics button{min-height:52px;gap:2px;padding:4px;border-radius:10px}.app-shell[data-page=dashboard] .dashboard-summary-metrics strong{font-size:15px}.app-shell[data-page=dashboard] .dashboard-summary-metrics small{font-size:8px}.app-shell[data-page=dashboard] .dashboard-journey-preview{grid-template-rows:auto minmax(0,1fr) auto;padding:12px 14px 10px}.app-shell[data-page=dashboard] .dashboard-journey-preview>ol{min-height:0;align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-color:var(--qy-line-strong) transparent;scrollbar-width:thin}.dashboard-support-section{display:grid;min-height:clamp(388px,47dvh,520px);grid-template-rows:auto minmax(0,1fr);gap:8px;scroll-margin-top:18px}.dashboard-support-heading{display:flex;min-height:28px;gap:16px;align-items:end;justify-content:space-between;padding-inline:2px}.dashboard-support-heading>div{display:flex;min-width:0;gap:10px;align-items:baseline}.dashboard-support-heading span{color:var(--qy-teal-text);font-size:10px;font-weight:800;letter-spacing:.08em}.dashboard-support-heading h2{margin:0;color:var(--qy-ink);font-size:16px;font-weight:720}.dashboard-support-heading small{color:var(--qy-muted);font-size:10px}.dashboard-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.app-shell[data-page=dashboard] .dashboard-support-grid>:is(.dashboard-details-section,.dashboard-bookings-overview){display:grid;width:100%;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:10px 12px;overflow:hidden;border-radius:15px}.app-shell[data-page=dashboard] .dashboard-support-grid :is(.dashboard-booking-list,.dashboard-detail-place-list,.dashboard-detail-note-list){min-height:0;align-content:start;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-color:var(--qy-line-strong) transparent;scrollbar-width:thin}.app-shell[data-page=dashboard] .dashboard-support-grid .dashboard-booking-list-large>button{min-height:68px;grid-template-columns:52px minmax(0,1fr) auto 13px;gap:7px;padding:6px}.app-shell[data-page=dashboard] .dashboard-support-grid .dashboard-booking-list-large img{width:52px;height:48px}.app-shell[data-page=dashboard] .dashboard-support-grid .dashboard-detail-place-list>button{min-height:62px;grid-template-columns:54px minmax(0,1fr) auto;gap:8px;padding:5px}.app-shell[data-page=dashboard] .dashboard-support-grid .dashboard-detail-place-list img{width:54px;height:46px}.app-shell[data-page=dashboard] .dashboard-support-grid .dashboard-detail-note-list button{min-height:92px;padding:10px 11px}.app-shell[data-page=dashboard] .dashboard-support-grid .dashboard-detail-note-list p{display:-webkit-box;overflow:hidden;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-summary-scroll::-webkit-scrollbar,.dashboard-journey-preview>ol::-webkit-scrollbar,.dashboard-support-grid :is(.dashboard-booking-list,.dashboard-detail-place-list,.dashboard-detail-note-list)::-webkit-scrollbar{width:6px}.dashboard-summary-scroll::-webkit-scrollbar-thumb,.dashboard-journey-preview>ol::-webkit-scrollbar-thumb,.dashboard-support-grid :is(.dashboard-booking-list,.dashboard-detail-place-list,.dashboard-detail-note-list)::-webkit-scrollbar-thumb{border-radius:999px;background:var(--qy-line-strong)}@media(min-width:1121px){.app-shell[data-page=dashboard] .dashboard-support-section{height:clamp(420px,44dvh,480px);min-height:0}}@media(min-width:1281px){html:has(.app-shell[data-page=dashboard]),body:has(.app-shell[data-page=dashboard]){height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.app-shell[data-page=dashboard]{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.app-shell[data-page=dashboard]>.dashboard-page{width:100%;max-width:none;height:auto;min-height:100vh;min-height:100dvh;grid-template-rows:var(--app-topbar-height) auto;padding:0 24px 28px;overflow:visible}.app-shell[data-page=dashboard] .dashboard-page-search{width:100%}.app-shell[data-page=dashboard] .dashboard-layout{height:auto;grid-template-rows:auto minmax(560px,calc(100dvh - 220px)) auto;gap:14px;padding-block-start:8px;overflow:visible}.app-shell[data-page=dashboard] .dashboard-primary-grid{min-height:560px}.app-shell[data-page=dashboard] .dashboard-support-section{padding-block:10px 4px}}@media(min-width:1121px)and (max-width:1280px){.app-shell[data-page=dashboard] .dashboard-layout{gap:16px}.dashboard-primary-grid{grid-template-columns:minmax(0,1.42fr) minmax(330px,.78fr);min-height:540px}.dashboard-support-grid{min-height:360px}}@media(min-width:821px)and (max-width:1120px){.app-shell[data-page=dashboard] .dashboard-layout{gap:16px}.dashboard-primary-grid{grid-template-columns:minmax(0,1fr)}.app-shell[data-page=dashboard] .dashboard-primary-map{min-height:440px}.dashboard-primary-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(380px,auto)}.dashboard-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(330px,auto)}.dashboard-support-grid .dashboard-details-notes{grid-column:1 / -1}}@media(max-width:820px){.app-shell[data-page=dashboard] .dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;height:auto;gap:14px;overflow:visible}.app-shell[data-page=dashboard] .dashboard-overview-heading{order:0;display:grid;grid-template-columns:minmax(0,1fr) auto}.app-shell[data-page=dashboard] .dashboard-primary-grid{order:1}.app-shell[data-page=dashboard] .dashboard-support-section{order:2}.app-shell[data-page=dashboard] .dashboard-primary-grid,.app-shell[data-page=dashboard] .dashboard-primary-side,.app-shell[data-page=dashboard] .dashboard-support-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.app-shell[data-page=dashboard] .dashboard-primary-map{min-height:340px}.app-shell[data-page=dashboard] .dashboard-summary-overview,.app-shell[data-page=dashboard] .dashboard-journey-preview{height:auto;min-height:360px}.app-shell[data-page=dashboard] .dashboard-support-grid>:is(.dashboard-details-section,.dashboard-bookings-overview){height:auto;min-height:0;max-height:min(380px,72dvh)}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget,.app-shell[data-page=dashboard] .dashboard-summary-metrics{display:grid}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget{height:auto;min-height:0;flex-basis:auto}.app-shell[data-page=dashboard] .dashboard-trip-name-row h1{max-width:min(540px,62vw);font-size:clamp(26px,5vw,32px)}.dashboard-trip-name-editor{width:min(540px,70vw);flex-wrap:wrap}}@media(max-width:540px){.app-shell[data-page=dashboard] .dashboard-overview-heading{grid-template-columns:minmax(0,1fr)}.app-shell[data-page=dashboard] .dashboard-weather-compact{width:100%}.dashboard-trip-name-row{align-items:flex-start}.app-shell[data-page=dashboard] .dashboard-trip-name-row h1{max-width:calc(100vw - 132px)}.dashboard-trip-name-edit span{display:none}.dashboard-trip-name-edit{width:40px;min-height:40px;padding-inline:0}.dashboard-trip-name-editor{width:100%}.dashboard-trip-name-editor>input{width:100%;flex:1 1 100%;font-size:25px}.dashboard-primary-card-heading small,.dashboard-support-heading>small{display:none}.dashboard-support-heading>div{display:grid;gap:2px}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget{grid-template-columns:minmax(0,1fr)}.app-shell[data-page=dashboard] .dashboard-summary-overview .dashboard-budget-summary{padding:0 0 9px;border:0}.app-shell[data-page=dashboard] .dashboard-summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(orientation:landscape)and (max-height:500px)and (max-width:900px){.app-shell[data-page=dashboard] .dashboard-primary-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start}.app-shell[data-page=dashboard] .dashboard-primary-map{min-height:320px}.app-shell[data-page=dashboard] .dashboard-primary-side{grid-template-columns:minmax(0,1fr)}}.app-shell[data-page=navigate] .journey-progress-heading>h2{margin:0;color:var(--olive);font-family:inherit;font-size:20px;font-weight:900;line-height:1.2}@media(max-width:700px){.app-shell[data-page=navigate] .journey-progress-heading>h2{font-size:18px;line-height:1.25}}html:has(.dashboard-calendar-dialog[open]),body:has(.dashboard-calendar-dialog[open]){overflow:hidden;overscroll-behavior:none}.dashboard-calendar-dialog{width:min(610px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:0;border-radius:24px;outline:0;background:#f9fbff;color:var(--qy-ink);box-shadow:0 30px 90px #071b4647,0 8px 24px #071b4624;scrollbar-width:thin}.dashboard-calendar-dialog[open]{animation:dashboard-calendar-dialog-enter .18s ease-out both}.dashboard-calendar-dialog::backdrop{background:#0513308f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dashboard-calendar-dialog-card{display:grid;min-width:0;background:radial-gradient(circle at 92% 2%,rgba(48,195,194,.13),transparent 28%),linear-gradient(180deg,#fbfdff,#f6f8fd)}.dashboard-calendar-dialog-card>header{display:grid;min-height:90px;grid-template-columns:50px minmax(0,1fr) 44px;gap:14px;align-items:center;padding:20px 22px 16px;border-bottom:1px solid rgba(111,130,170,.16)}.dashboard-calendar-dialog-icon{display:inline-grid;width:50px;height:50px;place-items:center;border-radius:16px;background:linear-gradient(145deg,#0e3c91,#102c69);color:#fff;box-shadow:0 8px 20px #0f337e33}.dashboard-calendar-dialog-icon svg{width:23px;height:23px}.dashboard-calendar-dialog-card>header small{display:block;margin-block-end:3px;color:var(--qy-teal-text);font-size:10px;font-weight:850;letter-spacing:.16em}.dashboard-calendar-dialog-card>header h2{margin:0;color:#0d275a;font-family:var(--serif);font-size:clamp(25px,3vw,31px);font-weight:650;line-height:1.15;letter-spacing:-.03em}.dashboard-calendar-dialog-close{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid rgba(111,130,170,.2);border-radius:14px;background:#fffc;color:#294269;cursor:pointer}.dashboard-calendar-dialog-close:is(:hover,:focus-visible){border-color:#2041826b;background:#fff}.dashboard-calendar-dialog-close svg{width:18px;height:18px}.dashboard-calendar-dialog-card>form{display:grid;gap:15px;padding:18px 22px 22px}#dashboard-calendar-dialog-description{margin:0;color:#5d6c87;font-size:13px;line-height:1.7}.dashboard-calendar-date-field{display:grid;grid-template-columns:auto minmax(190px,1fr);gap:14px;align-items:center;padding:12px 14px;border:1px solid rgba(111,130,170,.19);border-radius:15px;background:#ffffffd6}.dashboard-calendar-date-field>span{color:#243c68;font-size:13px;font-weight:780}.dashboard-calendar-date-field input{min-width:0;min-height:44px;padding:8px 12px;border:1px solid rgba(42,76,142,.25);border-radius:11px;outline:0;background:#f4f7fd;color:#102959;font:inherit;font-size:14px;font-weight:720}.dashboard-calendar-date-field input:focus-visible{border-color:var(--qy-focus);box-shadow:0 0 0 3px #2658b826}.dashboard-calendar-preview{display:grid;min-height:0;gap:8px;padding:12px 14px 8px;border:1px solid rgba(111,130,170,.19);border-radius:16px;background:#ffffffd6}.dashboard-calendar-preview>header{display:flex;gap:12px;align-items:center;justify-content:space-between}.dashboard-calendar-preview>header strong{color:#142d60;font-size:13px;font-weight:800}.dashboard-calendar-preview>header span{color:#6e7d98;font-size:11px}.dashboard-calendar-preview>ol{display:grid;max-height:194px;gap:0;margin:0;padding:0 4px 0 0;overflow-y:auto;list-style:none;overscroll-behavior-y:contain;scrollbar-color:var(--qy-line-strong) transparent;scrollbar-width:thin}.dashboard-calendar-preview li{display:grid;min-height:46px;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:center;border-top:1px solid rgba(111,130,170,.12)}.dashboard-calendar-preview li:first-child{border-top:0}.dashboard-calendar-preview li time{color:#1d4c99;font-size:12px;font-weight:820}.dashboard-calendar-preview li>span{display:grid;min-width:0;gap:2px}.dashboard-calendar-preview li strong,.dashboard-calendar-preview li small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-calendar-preview li strong{color:#192f59;font-size:12px}.dashboard-calendar-preview li small{color:#738099;font-size:10px}.dashboard-calendar-error{margin:0;padding:10px 12px;border:1px solid rgba(183,72,72,.28);border-radius:12px;background:#fff2f2;color:#9d3232;font-size:12px;line-height:1.5}.dashboard-calendar-dialog-card>form>footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding-block-start:2px}.dashboard-calendar-dialog-card>form>footer button{display:inline-flex;min-width:0;min-height:48px;gap:8px;align-items:center;justify-content:center;padding:10px 14px;border-radius:13px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.dashboard-calendar-skip{border:1px solid rgba(42,76,142,.25);background:#ffffffe6;color:#244275}.dashboard-calendar-skip:is(:hover,:focus-visible){border-color:#2a4c8e7a;background:#fff}.dashboard-calendar-import{border:1px solid #123884;background:linear-gradient(135deg,#143f96,#0e2d6d);color:#fff;box-shadow:0 8px 20px #0f337e33}.dashboard-calendar-import:is(:hover,:focus-visible){background:linear-gradient(135deg,#184aa8,#12367d)}.dashboard-calendar-import svg{width:16px;height:16px}.dashboard-calendar-dialog button:disabled,.dashboard-calendar-dialog button[aria-disabled=true],.dashboard-calendar-dialog input:disabled{cursor:wait;opacity:.62}@keyframes dashboard-calendar-dialog-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:540px){.dashboard-calendar-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.dashboard-calendar-dialog-card>header{grid-template-columns:44px minmax(0,1fr) 40px;gap:10px;padding:16px 15px 13px}.dashboard-calendar-dialog-icon,.dashboard-calendar-dialog-close{width:40px;height:40px;border-radius:12px}.dashboard-calendar-dialog-card>form{gap:12px;padding:14px 15px 16px}.dashboard-calendar-date-field{grid-template-columns:minmax(0,1fr);gap:7px}.dashboard-calendar-preview>ol{max-height:min(190px,27dvh)}.dashboard-calendar-dialog-card>form>footer{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.dashboard-calendar-dialog[open]{animation-duration:.01ms}}.app-shell[data-page=navigate] .journey-rail{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr)}.app-shell[data-page=navigate] .journey-progress-heading{min-height:102px;gap:3px;padding:15px 16px 12px}.app-shell[data-page=navigate] .journey-progress-heading>span{color:var(--olive);font-size:10px;font-weight:850;letter-spacing:.05em}.app-shell[data-page=navigate] .journey-progress-heading>h2{font-size:22px}.app-shell[data-page=navigate] .journey-progress-heading>small{color:var(--muted);font-size:10px;line-height:1.4}.journey-day-groups{display:grid;min-height:0;align-content:start;gap:10px;padding:10px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-color:var(--line) transparent;scrollbar-width:thin}.journey-day-card{overflow:hidden;border:1px solid rgba(111,123,151,.16);border-radius:16px;background:#ffffffc7;box-shadow:0 7px 20px #172b500d}.journey-day-card.current{border-color:#1c4b9a4d;box-shadow:0 8px 24px #17377614,inset 3px 0 #2453a0}.journey-day-card.complete{background:#f6f8f4e6}.journey-day-card>h3{margin:0}.journey-day-card>h3>button{display:grid;width:100%;min-height:66px;grid-template-columns:38px minmax(0,1fr) auto 16px;gap:10px;align-items:center;padding:9px 11px;border:0;background:transparent;color:var(--qy-ink);text-align:left;cursor:pointer}.journey-day-card>h3>button:is(:hover,:focus-visible){background:#e2e9f68f}.journey-day-number{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#e9eef8;color:#244a8b;font-size:11px;font-weight:900;letter-spacing:.04em}.journey-day-card.current .journey-day-number{background:#163f8b;color:#fff}.journey-day-card.complete .journey-day-number{background:var(--olive-soft);color:var(--olive-dark)}.journey-day-summary,.journey-day-status{display:grid;min-width:0;gap:3px}.journey-day-summary strong{overflow:hidden;font-family:var(--serif);font-size:14px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.journey-day-summary small,.journey-day-status small{color:var(--muted);font-size:9px;font-weight:650}.journey-day-status{justify-items:end;color:#75809a;font-size:10px;font-weight:820}.journey-day-status.active{color:#145e8c}.journey-day-card>h3>button>svg{width:15px;height:15px;color:#70809d;transition:transform .16s ease}.journey-day-card>h3>button[aria-expanded=true]>svg{transform:rotate(180deg)}.app-shell[data-page=navigate] .journey-stop-list{display:grid;height:auto;min-height:0;gap:2px;margin:0;padding:5px 7px 8px;overflow:visible;border-top:1px solid rgba(111,123,151,.12);list-style:none}.app-shell[data-page=navigate] .journey-stop-list[hidden]{display:none}.app-shell[data-page=navigate] .journey-stop-list>li>button{display:grid;width:100%;min-height:62px;grid-template-columns:24px 46px minmax(0,1fr);gap:8px;align-items:center;padding:7px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--qy-ink);text-align:left;cursor:pointer}.app-shell[data-page=navigate] .journey-stop-list>li>button:is(:hover,:focus-visible){background:#f0f3f8}.app-shell[data-page=navigate] .journey-stop-list>li>button.active{border-color:#2453a03d;background:#eaf0fb}.app-shell[data-page=navigate] .journey-stop-list>li>button.done{opacity:.6}.app-shell[data-page=navigate] .journey-stop-list>li>button.skipped strong{text-decoration:line-through;text-decoration-color:#8a583dad}.app-shell[data-page=navigate] .journey-stop-list>li>button>span:first-child{display:inline-grid;width:24px;height:24px;place-items:center;border-radius:999px;background:#8991a0;color:#fff;font-size:10px;font-weight:900}.app-shell[data-page=navigate] .journey-stop-list>li>button.active>span:first-child{background:#174793}.app-shell[data-page=navigate] .journey-stop-list>li>button>span:first-child svg{width:14px;height:14px}.app-shell[data-page=navigate] .journey-stop-list img{width:46px;height:44px;border-radius:9px}.app-shell[data-page=navigate] .journey-stop-list>li>button>span:last-child{display:grid;min-width:0;gap:3px}.app-shell[data-page=navigate] .journey-stop-list small{color:#687794;font-size:10px}.app-shell[data-page=navigate] .journey-stop-list strong{overflow:hidden;font-family:var(--serif);font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.journey-complete-state:focus-visible{border-radius:13px;outline:3px solid rgba(35,79,155,.28);outline-offset:4px}html:has(.journey-memory-dialog[open]),body:has(.journey-memory-dialog[open]){overflow:hidden;overscroll-behavior:none}.journey-memory-dialog{width:min(620px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:0;border-radius:25px;outline:0;background:#f6f9ff;color:var(--qy-ink);box-shadow:0 34px 100px #04163957,0 8px 24px #04163929;scrollbar-width:thin}.journey-memory-dialog[open]{animation:journey-memory-dialog-enter .2s ease-out both}.journey-memory-dialog::backdrop{background:#04122ca3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.journey-memory-dialog-shell{display:grid;gap:14px;padding:20px 22px 22px;background:radial-gradient(circle at 92% 1%,rgba(47,210,197,.18),transparent 28%),linear-gradient(160deg,#fbfdff,#f2f6fd)}.journey-memory-dialog-shell>header{display:flex;gap:16px;align-items:start;justify-content:space-between}.journey-memory-dialog-shell>header small{color:#0f7d7e;font-size:10px;font-weight:850;letter-spacing:.13em}.journey-memory-dialog-shell>header h2{margin:5px 0 0;color:#0a285d;font-family:var(--serif);font-size:clamp(27px,3vw,33px);font-weight:650;line-height:1.15;letter-spacing:-.03em}.journey-memory-dialog-shell>header button{display:inline-grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border:1px solid rgba(63,91,142,.2);border-radius:14px;background:#ffffffd6;color:#29446f;cursor:pointer}.journey-memory-dialog-shell>header button svg{width:18px;height:18px}#journey-memory-dialog-description{margin:0;color:#687793;font-size:12px;line-height:1.65}.journey-memory-card-preview{display:grid;width:min(390px,100%);aspect-ratio:4 / 5;min-height:0;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:10px;justify-self:center;padding:22px;overflow:hidden;border:1px solid rgba(97,125,174,.2);border-radius:26px;background:radial-gradient(circle at 96% 2%,rgba(255,255,255,.7),transparent 32%),linear-gradient(145deg,#edf4ff,#dce8f9 58%,#c9e9e5);box-shadow:0 18px 46px #15366a26}.journey-memory-card-preview>header{display:flex;align-items:center;justify-content:space-between;color:#0b7779;font-size:11px;font-weight:900;letter-spacing:.08em}.journey-memory-card-preview>p{margin:0;color:#657493;font-size:10px;font-weight:700}.journey-memory-card-preview>h3{margin:0;overflow:hidden;color:#0a285d;font-family:var(--serif);font-size:clamp(24px,4vw,34px);font-weight:700;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.journey-memory-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.journey-memory-card-stats>span{display:grid;gap:1px}.journey-memory-card-stats strong{color:#123b7d;font-size:18px;line-height:1}.journey-memory-card-stats small{color:#71809b;font-size:8px}.journey-memory-photo-placeholder{display:grid;min-height:0;place-content:center;justify-items:center;gap:7px;padding:16px;border:1px dashed rgba(91,219,210,.76);border-radius:20px;background:linear-gradient(140deg,#1d4d91eb,#08265dfa);color:#fff;text-align:center}.journey-memory-photo-placeholder svg{width:24px;height:24px;color:#5ce3d8}.journey-memory-photo-placeholder strong{font-size:15px;letter-spacing:.08em}.journey-memory-photo-placeholder span{color:#bdcce6;font-size:9px}.journey-memory-card-preview>footer{display:flex;gap:5px;overflow:hidden}.journey-memory-card-preview>footer span{overflow:hidden;max-width:34%;padding:4px 7px;border-radius:999px;background:#ffffffa6;color:#31537e;font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.journey-memory-error{margin:0;padding:10px 12px;border:1px solid rgba(183,72,72,.28);border-radius:12px;background:#fff2f2;color:#9d3232;font-size:12px}.journey-memory-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journey-memory-actions button{display:inline-flex;min-height:48px;gap:8px;align-items:center;justify-content:center;padding:10px 14px;border-radius:13px;font:inherit;font-size:13px;font-weight:820;cursor:pointer}.journey-memory-share{border:1px solid rgba(35,74,143,.28);background:#fff;color:#244679}.journey-memory-save{border:1px solid #113a85;background:linear-gradient(135deg,#17499f,#0c2d6d);color:#fff;box-shadow:0 8px 20px #0f337e33}.journey-memory-actions button svg{width:16px;height:16px}.journey-memory-dialog button[aria-disabled=true]{cursor:wait;opacity:.62}@keyframes journey-memory-dialog-enter{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1040px){.app-shell[data-page=navigate] .journey-day-groups{height:auto;overflow:visible;padding:10px 12px 16px}.app-shell[data-page=navigate] .journey-stop-list{display:grid;grid-auto-columns:minmax(210px,72vw);grid-auto-flow:column;gap:6px;overflow-x:auto;overflow-y:hidden;padding:7px;scroll-snap-type:x proximity}.app-shell[data-page=navigate] .journey-stop-list>li{scroll-snap-align:start}}@media(max-width:540px){.journey-memory-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.journey-memory-dialog-shell{gap:11px;padding:16px 15px}.journey-memory-dialog-shell>header h2{font-size:26px}.journey-memory-card-preview{width:min(330px,100%);max-height:min(412px,52dvh);padding:17px;border-radius:21px}.journey-memory-actions{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.journey-day-card>h3>button>svg,.journey-memory-dialog[open]{animation-duration:.01ms;transition-duration:.01ms}}.sidebar-nav{gap:5px}.sidebar-nav button{position:relative;min-height:56px;padding:7px 34px 7px 12px}.sidebar-nav-copy{display:grid;min-width:0;gap:2px;text-align:left}.sidebar-nav-copy strong{overflow:hidden;font-size:13px;font-weight:780;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav-copy small{overflow:hidden;color:#7d8798;font-size:9px;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav button[data-checkpoint=true] .sidebar-nav-copy small{color:#087d83}.sidebar-nav-step{position:absolute;top:50%;right:9px;color:#9aa4b4;font-size:8px;font-variant-numeric:tabular-nums;font-weight:760;line-height:1;letter-spacing:.03em;transform:translateY(-50%)}.sidebar-nav button:focus-visible,.mobile-planner-bottom-nav button:focus-visible{outline:2px solid #087d83;outline-offset:2px}@media(min-width:701px)and (max-width:1380px){.sidebar-nav-copy,.sidebar-nav-step{display:none}.sidebar-nav button{min-height:48px;padding:8px}}@media(max-width:700px){.app-shell:not([data-page=canvas]) .sidebar-nav,.mobile-planner-bottom-nav{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(74px,1fr);overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none}.app-shell:not([data-page=canvas]) .sidebar-nav::-webkit-scrollbar,.mobile-planner-bottom-nav::-webkit-scrollbar{display:none}.app-shell:not([data-page=canvas]) .sidebar-nav button,.mobile-planner-bottom-nav button{min-width:74px;min-height:60px;padding:5px 4px;scroll-snap-align:center}.app-shell:not([data-page=canvas]) .sidebar-nav-copy{display:block;text-align:center}.app-shell:not([data-page=canvas]) .sidebar-nav-copy strong{display:block;font-size:10px;line-height:1.2}.app-shell:not([data-page=canvas]) .sidebar-nav-copy small,.app-shell:not([data-page=canvas]) .sidebar-nav-step{display:none}}.mobile-inspiration-section-switch,.mobile-nearby-view-switch{display:none}@media(max-width:700px),(orientation:landscape)and (max-height:500px)and (max-width:900px){.mobile-inspiration-section-switch,.mobile-nearby-view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--qy-line);border-radius:16px;background:#f4f7fcf5;box-shadow:0 8px 24px #0d2f7a0f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-inspiration-section-switch{position:sticky;z-index:72;top:env(safe-area-inset-top,0px)}.mobile-nearby-view-switch{position:sticky;z-index:70;top:calc(58px + env(safe-area-inset-top,0px))}.mobile-inspiration-section-switch button,.mobile-nearby-view-switch button{min-width:0;min-height:44px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:var(--qy-text-muted);font:inherit;font-size:13px;font-weight:760;cursor:pointer;touch-action:manipulation}.mobile-inspiration-section-switch button.active,.mobile-nearby-view-switch button.active{background:var(--qy-primary-dark);color:#fff;box-shadow:0 5px 14px #0d2f7a2e}.app-shell[data-page=inspiration] .nearby-inspiration-page[data-mobile-inspiration-view=nearby]>.inspiration-route-library,.app-shell[data-page=inspiration] .nearby-inspiration-page[data-mobile-inspiration-view=routes]>.inspiration-nearby-workspace{display:none!important}.app-shell[data-page=inspiration] .inspiration-nearby-workspace{display:grid;height:auto!important;min-height:0!important;grid-template-rows:auto auto;gap:10px}.app-shell[data-page=inspiration] .nearby-explorer-shell{display:block!important;height:auto!important;min-height:0!important;overflow:visible}.app-shell[data-page=inspiration] [data-mobile-nearby-view=list] .result-explorer-map,.app-shell[data-page=inspiration] [data-mobile-nearby-view=map] .result-story-pane{display:none!important}.app-shell[data-page=inspiration] [data-mobile-nearby-view=list] .result-story-pane{display:block;width:100%;height:auto;min-height:0;overflow:visible;border:0}.app-shell[data-page=inspiration] [data-mobile-nearby-view=map] .result-explorer-map{display:block!important;width:100%;height:clamp(320px,calc(100dvh - 200px),560px)!important;min-height:320px!important;max-height:560px;overflow:hidden;border:1px solid var(--qy-line);border-radius:20px}.app-shell[data-page=inspiration] [data-mobile-nearby-view=map] .result-explorer-map>:is(img,.jilu-interactive-map){width:100%;height:100%}.app-shell[data-page=inspiration] .nearby-place-detail-close,.route-gallery-surface .save-route,.route-gallery-surface .card-plan-button,.dashboard-trip-name-edit,.dashboard-journey-preview>header>button{min-width:44px!important;min-height:44px!important}.app-shell[data-page=inspiration] .nearby-place-detail-close,.route-gallery-surface .save-route,.dashboard-trip-name-edit,.dashboard-journey-preview>header>button{width:44px!important;height:44px!important}.app-shell[data-page=inspiration] :is(.result-search-field input,.result-story-toolbar input),.timeline-planner-page :is(.agent-composer textarea,.planner-library-search input),.app-shell[data-page=dashboard] :is(.dashboard-page-search input,.dashboard-trip-name-editor>input),.app-shell .topbar-search input{font-size:16px!important}.app-shell[data-page=discover] :is(.topbar-search,.topbar-search input),.app-shell[data-page=inspiration] :is(.result-search-field,.result-search-field input),.app-shell[data-page=dashboard] :is(.dashboard-page-search,.dashboard-page-search input){min-height:44px!important}.app-shell[data-page=discover] .topbar-search input,.app-shell[data-page=inspiration] .result-search-field input,.app-shell[data-page=dashboard] .dashboard-page-search input{height:44px}.app-shell[data-page=inspiration] .nearby-place-detail{z-index:160;max-height:min(70dvh,590px);overflow-y:auto}}@media(max-width:700px)and (orientation:portrait){.app-shell[data-page=canvas]>.timeline-planner-page{grid-template-rows:calc(78px + env(safe-area-inset-top,0px)) minmax(0,1fr)}.timeline-planner-page .planner-commandbar{min-height:calc(78px + env(safe-area-inset-top,0px));padding-top:calc(10px + env(safe-area-inset-top,0px))}.app-shell[data-page=inspiration] .nearby-place-detail{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(80px + env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px));width:auto}}@media(orientation:landscape)and (max-height:500px)and (max-width:900px){.app-shell:not([data-page=canvas]){display:block;min-height:100dvh;padding-left:calc(76px + env(safe-area-inset-left,0px))}.app-shell:not([data-page=canvas])>.app-sidebar{position:fixed;z-index:180;inset:0 auto 0 0;width:calc(76px + env(safe-area-inset-left,0px));height:100dvh;padding:max(2px,env(safe-area-inset-top,0px)) 4px max(2px,env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left,0px));overflow:hidden}.app-shell:not([data-page=canvas]) .app-sidebar :is(.brand,.sidebar-footer){display:none!important}.app-shell:not([data-page=canvas]) .sidebar-main{display:block;width:100%;height:100%;padding:0}.app-shell:not([data-page=canvas]) .sidebar-nav,.mobile-planner-bottom-nav{display:grid!important;width:100%;height:100%;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;grid-auto-flow:row!important;grid-auto-rows:minmax(44px,1fr);gap:2px;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scroll-snap-type:y proximity}.app-shell:not([data-page=canvas]) .sidebar-nav button,.mobile-planner-bottom-nav button{width:100%;min-width:0!important;min-height:44px!important;padding:2px!important;scroll-snap-align:center}.app-shell[data-page=inspiration] .mobile-inspiration-section-switch{top:max(4px,env(safe-area-inset-top,0px))}.app-shell[data-page=inspiration] .mobile-nearby-view-switch{top:calc(56px + env(safe-area-inset-top,0px))}.app-shell[data-page=inspiration] [data-mobile-nearby-view=map] .result-explorer-map{height:clamp(260px,calc(100dvh - 118px),420px)!important;min-height:260px!important;max-height:420px}.app-shell[data-page=inspiration] .nearby-place-detail{position:fixed!important;top:auto!important;right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));left:calc(88px + env(safe-area-inset-left,0px));width:min(520px,calc(100vw - 112px));max-height:calc(100dvh - 24px)}.app-shell[data-page=inspiration] .nearby-inspiration-page[data-mobile-inspiration-view=routes] .route-grid,.app-shell[data-page=inspiration] .nearby-inspiration-page[data-mobile-inspiration-view=routes].route-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app-shell[data-page=inspiration] .nearby-inspiration-page[data-mobile-inspiration-view=routes] .route-card,.app-shell[data-page=inspiration] .nearby-inspiration-page[data-mobile-inspiration-view=routes] .route-card.featured,.app-shell[data-page=inspiration] .nearby-inspiration-page[data-mobile-inspiration-view=routes] .route-card.wide{height:218px;min-height:218px;contain-intrinsic-size:218px}.app-shell[data-page=route-detail]>.route-detail-page{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}}@media(max-width:700px)and (orientation:portrait){.app-shell:not([data-page=canvas])>.app-sidebar,.mobile-planner-bottom-nav{padding-right:max(4px,env(safe-area-inset-right,0px));padding-left:max(4px,env(safe-area-inset-left,0px))}.app-shell:not([data-page=canvas]) .sidebar-nav,.mobile-planner-bottom-nav{grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:0;overflow:hidden!important}.app-shell:not([data-page=canvas]) .sidebar-nav button,.mobile-planner-bottom-nav button{width:auto;min-width:0!important;padding:4px 1px 3px!important}.app-shell:not([data-page=canvas]) .sidebar-nav button svg,.mobile-planner-bottom-nav button svg{width:23px;height:23px}.app-shell:not([data-page=canvas]) .sidebar-nav-copy strong,.mobile-planner-bottom-nav button>span{font-size:9px;letter-spacing:-.03em}.app-shell:not([data-page=canvas]) .sidebar-nav-step{display:none!important}}@media(min-width:1281px){html:has(.app-shell[data-page=dashboard]),body:has(.app-shell[data-page=dashboard]){height:100%;overflow:hidden}.app-shell[data-page=dashboard]{height:100vh;height:100dvh;min-height:0;overflow:hidden}.app-shell[data-page=dashboard]>.app-sidebar{height:100vh;height:100dvh;min-height:0;overflow:hidden}.app-shell[data-page=dashboard]>.dashboard-page{height:100vh;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-color:var(--qy-line-strong) transparent;scrollbar-width:thin}.app-shell[data-page=dashboard]>.dashboard-page::-webkit-scrollbar{width:8px}.app-shell[data-page=dashboard]>.dashboard-page::-webkit-scrollbar-thumb{border-radius:999px;background:var(--qy-line-strong)}}
