:root{--bg-page: #f7f8fa;--bg-main-gradient: radial-gradient(circle at 50% 0%, rgba(16, 185, 129, .08) 0%, transparent 32%), radial-gradient(circle at 100% 20%, rgba(56, 189, 248, .06) 0%, transparent 35%), linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);--text-main: #0f172a;--text-sub: #64748b;--text-muted: #94a3b8;--primary-color: #10b981;--primary-color-deep: #059669;--primary-color-light: #34d399;--border-main: rgba(0, 0, 0, .06);--border-glow: rgba(16, 185, 129, .22);--bg-btn: #ffffff;--bg-bubble-ai: #ffffff;--bg-bubble-user: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);--text-bubble-user: var(--text-main);--glass-bg: rgba(255, 255, 255, .96);--shadow-bubble-ai: 0 12px 32px rgba(15, 23, 42, .1), 0 2px 8px rgba(15, 23, 42, .06);--shadow-bubble-user: 0 10px 28px rgba(16, 185, 129, .26);--shadow-composer: 0 14px 40px rgba(15, 23, 42, .1), 0 2px 8px rgba(15, 23, 42, .06);--border-bubble-ai: rgba(16, 185, 129, .18);--bg-emerald-tint: rgba(5, 150, 105, .1);--text-emerald-tint: #047857;--btn-primary-bg: linear-gradient(135deg, #10b981 0%, #059669 100%);--bg-drawer: #f8fafc;--paper: var(--bg-page);--paper-deep: #e2e8f0;--ink: var(--text-main);--muted: var(--text-sub);--pine: var(--primary-color-deep);--pine-deep: var(--primary-color-deep);--gold: #d97706;--gold-soft: rgba(245, 158, 11, .12);--card: var(--glass-bg);--line: var(--border-main);--danger: #ef4444;--radius: 18px;--page-pad: 14px;--tab-h: 56px;--composer-stack: 132px;--font-display: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-body: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif}.theme-light{color:var(--text-main)}.theme-dark{--bg-page: #0f172a;--bg-main-gradient: radial-gradient(circle at 50% 0%, rgba(16, 185, 129, .12) 0%, transparent 32%), linear-gradient(180deg, #0f172a 0%, #020617 100%);--text-main: #e2e8f0;--text-sub: #94a3b8;--text-muted: #64748b;--bg-btn: #1e293b;--bg-bubble-ai: #1e293b;--bg-bubble-user: linear-gradient(135deg, rgba(16, 185, 129, .35) 0%, rgba(5, 150, 105, .25) 100%);--glass-bg: rgba(15, 23, 42, .92);--bg-drawer: #0f172a;--paper: var(--bg-page);--paper-deep: #334155;--border-main: rgba(148, 163, 184, .18);color:var(--text-main)}.theme-dark .chat-input-area{background:linear-gradient(180deg,#0f172a00,#0f172ab8 36%,#0f172af2)}.theme-dark .chat-top-bar{background:linear-gradient(180deg,rgba(15,23,42,.55) 0%,transparent 100%)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);color:var(--text-main);background:var(--bg-main-gradient)}button,input{font:inherit}a{color:var(--pine)}.app-shell{min-height:100dvh;max-width:480px;margin:0 auto;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.page{padding:12px var(--page-pad) 28px}.page-title{font-family:var(--font-display);font-size:28px;margin:8px 0 6px;letter-spacing:.02em}.page-lead,.empty-card p,.hint,.legal-section p{color:var(--muted);line-height:1.65;margin:0}.empty-card,.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 10px 30px #1c19140a}a.card{color:inherit;text-decoration:none}.tab-bar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(480px,100%);height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding:4px 6px env(safe-area-inset-bottom);display:flex;background:#fffffff0;border-top:1px solid var(--border-main);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30}.tab-item{flex:1;border:0;background:none;text-decoration:none;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;font-size:11px}.tab-item.active{color:var(--primary-color-deep);font-weight:650}.tab-dot{width:20px;height:3px;border-radius:99px;background:transparent}.tab-item.active .tab-dot{background:var(--primary-color)}.login-hero{text-align:center;padding:28px 8px 18px}.mark{width:72px;height:72px;margin:0 auto 14px;border-radius:22px;background:linear-gradient(160deg,#f7e7b0,#cfe8d6);display:grid;place-items:center;font-family:var(--font-display);font-size:30px;color:var(--pine-deep);box-shadow:inset 0 0 0 1px #1f6b4a1f}.login-hero h1{font-family:var(--font-display);margin:0;font-size:32px}.login-hero p{margin:8px 0 0;color:var(--muted)}.field{display:block;width:100%;min-width:0;border:1px solid var(--line);background:#fffdf8;border-radius:14px;padding:12px 14px;margin-bottom:10px}.row{display:flex;gap:8px}.row .field{flex:1;min-width:0}.date-field .field-label{display:block;margin:0;font-size:12px;line-height:1.4;color:var(--text-sub)}.date-field-control{position:relative;display:block;margin-top:4px}.date-field-control input[type=date]{display:block;width:100%;min-width:0;margin:0;font-size:16px;line-height:1.4}.date-field-control input.is-empty::-webkit-datetime-edit{color:transparent}.date-field-placeholder{position:absolute;inset:0 24px 0 0;display:flex;align-items:center;background:#fffdf8;color:var(--text-muted);font-size:16px;line-height:1.4;white-space:nowrap;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;border:0;border-radius:999px;min-height:48px;padding:0 18px;background:var(--btn-primary-bg);color:#fff;font-weight:600;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer}.btn:disabled{opacity:.55;cursor:default}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-text{display:inline-flex;align-items:center;justify-content:center;width:auto;border:0;background:none;color:var(--pine);min-height:40px;padding:0 8px;font:inherit;line-height:1.3;text-decoration:none;cursor:pointer}.btn-text:disabled{opacity:.5;cursor:default}.agree{display:flex;gap:10px;align-items:flex-start;margin:14px 0;color:var(--muted);font-size:13px}.check{width:20px;height:20px;border-radius:6px;border:1px solid var(--line);display:grid;place-items:center;flex:none;background:#fff}.check.on{background:var(--pine);color:#fff;border-color:var(--pine)}.error{color:var(--danger);font-size:13px;margin:0 0 10px}.mock{font-size:12px;color:var(--muted);margin:8px 0 0}.composer{display:flex;align-items:center;gap:8px;margin-top:16px}.composer input{flex:1;min-width:0}.composer .field{flex:1;min-width:0;margin-bottom:0}.composer .btn{width:auto;flex:0 0 auto;min-height:44px;padding:0 20px}.profile-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.avatar{width:56px;height:56px;border-radius:18px;background:linear-gradient(160deg,#f7e7b0,#cfe8d6);display:grid;place-items:center;font-family:var(--font-display);font-size:22px}.menu-list{display:grid;gap:8px}.menu-item{display:flex;justify-content:space-between;text-decoration:none;color:inherit;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px}.legal-page{padding-bottom:88px}.legal-section{margin:18px 0}.legal-section h2{font-size:16px;margin:0 0 8px}.legal-bar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:min(480px,100%);padding:12px var(--page-pad) calc(12px + env(safe-area-inset-bottom));background:#fffcf6f5}.top-skip{display:flex;justify-content:space-between;align-items:center}.chip-row{display:flex;gap:8px;margin:0 0 14px}.chip{display:inline-flex;align-items:center;width:auto;max-width:100%;margin:0;overflow:hidden;border:1px solid var(--line);background:#fffdf8;border-radius:999px;padding:6px 12px;color:var(--muted);font-size:13px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.chip.on{background:var(--pine);color:#f8f4ea;border-color:var(--pine)}.product-list{display:grid;gap:12px;list-style:none;padding:0;margin:0;min-width:0}.product-list>li{min-width:0}.favorite-card{display:flex;align-items:center;gap:12px;min-width:0}.favorite-card>a{flex:1;min-width:0;color:inherit;text-decoration:none}.favorite-card>a strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-card>.btn-text{flex:none}.product-card{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:stretch;gap:12px;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}.product-cover-wrap{position:relative;min-height:96px;background:var(--paper-deep)}.product-cover{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:var(--paper-deep)}.product-cover.fallback{display:grid;place-items:center;font-size:12px;color:var(--muted)}.product-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:10px 12px 10px 0}.product-body strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0;line-height:1.4;overflow-wrap:anywhere}.product-body p{max-width:100%;margin:0;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;width:100%;margin-top:auto;padding-top:6px}.price-row .hint{min-width:0;max-width:58%;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.price{color:var(--pine-deep);font-weight:700}.price small{margin-left:4px;font-weight:400;color:var(--muted)}.hero-cover{width:100%;height:200px;object-fit:cover;border-radius:18px;margin-bottom:12px}.spec-list{display:grid;gap:8px;margin:12px 0}.spec{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid var(--line);background:#fffdf8;border-radius:14px;padding:12px 14px;text-align:left}.spec>strong{flex:1;min-width:0;line-height:1.4;overflow-wrap:anywhere}.spec.on{border-color:var(--pine);background:#eef6f1}.spec:disabled{opacity:.45;cursor:not-allowed}.spec-price{color:var(--pine-deep);font-weight:700;margin-left:12px;white-space:nowrap}.spec:disabled .spec-price{color:var(--muted);font-weight:400}.qty-row{display:flex;align-items:center;justify-content:space-between;margin:2px 0 12px}.qty-label{color:var(--muted);font-size:14px}.qty-stepper{display:inline-flex;align-items:center;gap:14px}.qty-btn{width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:18px;line-height:1;display:grid;place-items:center;cursor:pointer}.qty-btn:disabled{opacity:.4;cursor:default}.qty-value{min-width:24px;text-align:center;font-weight:600}.product-sheet-selection{margin:2px 0 12px}.field input{display:block;width:100%;min-width:0;max-width:100%;border:0;background:transparent;margin-top:6px;padding:0;font:inherit;font-size:16px;line-height:1.4;color:inherit;text-align:left}.field input[type=date]{min-height:26px}.app-shell.route-chat{padding:0;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.chat-page{position:relative;display:flex;flex-direction:column;min-height:calc(100dvh - var(--tab-h) - env(safe-area-inset-bottom));max-height:calc(100dvh - var(--tab-h) - env(safe-area-inset-bottom));overflow:hidden;background:var(--bg-main-gradient)}.chat-bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.chat-bg-scrim{position:absolute;inset:0;background:radial-gradient(ellipse 82% 62% at 50% 42%,#ffffff2e,#f7f8fa61 48%,#f3f4f69e),linear-gradient(180deg,#ffffff8f,#ffffff1f 22%,#ffffff2e 55%,#f3f4f6d1)}.chat-page.has-chat .chat-bg-scrim{background:radial-gradient(ellipse 82% 62% at 50% 42%,#ffffff47,#f7f8fa75 48%,#f3f4f6b8),linear-gradient(180deg,#ffffff9e,#ffffff2e 22%,#ffffff4d 55%,#f3f4f6e6)}.chat-bg-sun{position:absolute;left:50%;top:18%;width:120px;height:150px;margin-left:-60px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(253,224,71,.28) 0%,rgba(251,191,36,.1) 40%,transparent 74%);animation:chatSunPulse 7.2s ease-in-out infinite}@keyframes chatSunPulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.55;transform:scale(1.06)}}.chat-top-bar,.guest-chat-tip,.chat-messages{position:relative;z-index:1}.chat-top-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px var(--page-pad);min-height:48px;background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,transparent 100%);flex-shrink:0}.nav-menu-btn{width:44px;height:44px;border-radius:14px;border:1px solid var(--border-main);background:var(--bg-btn);box-shadow:0 4px 16px #0f172a0f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;cursor:pointer}.nav-menu-btn span{display:block;width:18px;height:2px;border-radius:99px;background:var(--primary-color)}.nav-menu-btn span.short{width:12px}.top-bar-center{position:absolute;left:50%;transform:translate(-50%);text-align:center;max-width:58%;pointer-events:none}.top-bar-title-row{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.chat-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.context-ring{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px #ffffffa6}.context-ring:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--bg-btn, #fff)}.context-ring-label{position:relative;z-index:1;font-size:7px;line-height:1;font-weight:750;color:var(--text-sub, #64748b)}.context-ring.pulse{animation:contextRingPulse 1.6s ease-in-out infinite}@keyframes contextRingPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.88}}.composer-nav-wrap{display:flex;gap:8px;overflow-x:auto;padding:0 4px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.composer-nav-wrap::-webkit-scrollbar{display:none}.composer-nav-item{flex-shrink:0;border:1px solid var(--border-glow);background:var(--bg-btn);color:var(--text-main);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer}.composer-nav-item.active{border-color:#10b9818c;background:#10b98124;color:var(--primary-color-deep)}.drawer-theme-toggle{width:100%;margin-bottom:10px;border:1px solid var(--border-main);background:var(--bg-btn);color:var(--text-main);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600;cursor:pointer}.top-bar-title{margin:0;font-size:16px;font-weight:650;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-bar-meta{margin:2px 0 0;font-size:11px;color:var(--text-sub)}.header-btn{border:0;background:transparent;padding:0;cursor:pointer}.header-btn-face{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:400;color:var(--text-main);background:var(--bg-btn);border:1px solid var(--border-main)}.guest-chat-tip{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:10px 14px;border:0;border-bottom:1px solid var(--border-main);background:var(--glass-bg);cursor:pointer;text-align:left}.guest-chat-tip-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.guest-chat-tip-tag{flex-shrink:0;padding:2px 8px;border-radius:6px;background:var(--bg-emerald-tint);color:var(--text-emerald-tint);font-size:11px;font-weight:700}.guest-chat-tip-text{font-size:13px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-chat-tip-action{flex-shrink:0;font-size:13px;font-weight:700;color:var(--primary-color-deep)}.chat-messages{flex:1;overflow-y:auto;padding:12px 14px calc(var(--composer-stack) + 12px);min-height:0}.chat-content.has-messages{display:flex;flex-direction:column;justify-content:flex-end;min-height:100%}.empty-state{position:relative;display:flex;flex-direction:column;align-items:center;padding:28px 18px 24px;margin:16px 4px 0;border-radius:20px;background:#ffffffd1;border:1px solid rgba(16,185,129,.2);box-shadow:0 16px 40px #0f172a14}.empty-state:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(52,211,153,.85),rgba(251,191,36,.6),transparent)}.empty-avatar{width:80px;height:80px;border-radius:50%;margin-bottom:12px;overflow:hidden;background:#fff;border:2px solid rgba(245,158,11,.95);box-shadow:0 0 0 6px #f59e0b29,0 0 24px #10b98138}.empty-avatar img{width:100%;height:100%;display:block;object-fit:cover}.empty-title{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--text-main)}.empty-desc{margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--text-sub);text-align:center}.quick-prompts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.prompt-item{border:1px solid var(--border-glow);background:#ffffffd9;border-radius:999px;padding:10px 14px;font-size:13px;color:var(--text-main);cursor:pointer}.message-list{display:flex;flex-direction:column;gap:14px;width:100%}.message-wrapper{display:flex;width:100%}.message-wrapper.user{justify-content:flex-end}.message-wrapper.ai{justify-content:flex-start}.message-bubble{max-width:88%;padding:12px 14px;border-radius:18px;font-size:15px;line-height:1.65;word-break:break-word}.message-bubble.ai{background:var(--glass-bg);border:1px solid var(--border-bubble-ai);box-shadow:var(--shadow-bubble-ai)}.message-bubble.ai.streaming{border-color:#38bdf852;animation:aiStreamGlow 2.4s ease-in-out infinite}@keyframes aiStreamGlow{0%,to{box-shadow:var(--shadow-bubble-ai)}50%{box-shadow:0 10px 36px #34d3992e}}.message-bubble.user{background:var(--bg-bubble-user);color:var(--text-bubble-user);box-shadow:var(--shadow-bubble-user)}.message-text{margin:0;white-space:pre-wrap}.message-text .md-p{white-space:normal;overflow-wrap:anywhere}.message-text .md-p+.md-p{margin-top:.45em}.message-text .md-h{margin:.5em 0 .2em}.message-text ul,.message-text ol{margin:.4em 0;padding-left:1.25em}.message-text li{margin:.15em 0}.message-text li::marker{color:var(--primary-color)}.message-markdown-stream.is-streaming>:last-child:after{content:"";display:inline-block;width:1.5px;height:.95em;margin-left:2px;vertical-align:-.08em;background:currentColor;opacity:.5;animation:streamCaretBlink 1s step-end infinite}@keyframes streamCaretBlink{0%,to{opacity:.5}50%{opacity:.12}}.stream-cursor{display:inline;font-weight:300;font-size:.92em;line-height:1;color:inherit;opacity:.5;vertical-align:baseline;animation:streamCaretBlink 1s step-end infinite}.message-text .md-quote{margin:.55em 0;padding:.45em .75em;border-left:3px solid var(--primary-color);border-radius:0 10px 10px 0;background:#10b98114}.message-text .md-hr{margin:.9em 0;border:0;border-top:1px solid rgba(148,163,184,.28)}.message-text .md-link{color:var(--primary-color-deep, #047857);text-decoration:underline;overflow-wrap:anywhere}.message-text .md-image{display:block;max-width:100%;height:auto;margin:.4em 0;border-radius:12px}.message-text .md-code-inline{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;padding:.12em .38em;border-radius:6px;background:#10b9811a;border:1px solid rgba(16,185,129,.18);white-space:pre-wrap;word-break:break-word}.message-text .md-task{margin-right:.35em;color:var(--primary-color)}.message-text .md-task-item{list-style:none;margin-left:-1em}.md-code-block{margin:.65em 0;border-radius:14px;overflow:hidden;border:1px solid rgba(15,23,42,.18);background:#0f172a;color:#e2e8f0}.md-chart-pending{margin:.65em 0;padding:12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13px;text-align:center}.md-code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;background:#94a3b824;font-size:11px}.md-code-lang{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.md-code-copy{border:1px solid rgba(148,163,184,.3);background:#0f172a61;color:#e2e8f0;border-radius:999px;padding:2px 8px;font:inherit;font-size:11px;cursor:pointer}.md-code-pre{margin:0;padding:11px 12px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.62;white-space:pre}.md-code-pre code{background:none;border:0;padding:0;color:inherit;font:inherit}.hljs-comment,.hljs-quote{color:#94a3b8}.hljs-keyword,.hljs-selector-tag,.hljs-deletion{color:#7dd3fc}.hljs-string,.hljs-regexp,.hljs-addition{color:#86efac}.hljs-number,.hljs-literal,.hljs-symbol{color:#fbbf24}.hljs-title,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#a5b4fc}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable{color:#fca5a5}.hljs-built_in,.hljs-type,.hljs-class{color:#fcd34d}.hljs-meta{color:#c4b5fd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.md-table-wrap{margin:.65em 0;overflow:auto;border-radius:12px;border:1px solid rgba(148,163,184,.28)}.md-table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.6}.md-table th,.md-table td{padding:9px 10px;border-bottom:1px solid rgba(148,163,184,.2);vertical-align:top;word-break:break-word}.md-table th{background:#94a3b824;font-weight:700;text-align:left;white-space:nowrap}.md-table tr:last-child td{border-bottom:0}.md-math-fallback{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;opacity:.86}.md-math-block{margin:.6em 0;overflow-x:auto;overflow-y:hidden}.md-math-inline{white-space:normal}.md-chart{margin:.7em 0;border-radius:14px;border:1px solid rgba(148,163,184,.24);background:#94a3b80f;padding:10px;overflow:auto}.md-mermaid{display:flex;justify-content:center}.md-mermaid svg{max-width:100%;height:auto}.md-echarts{width:100%;height:260px}.chat-message-actions{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(148,163,184,.18)}.chat-message-action{min-height:28px;padding:0 9px;border:1px solid rgba(148,163,184,.2);border-radius:999px;display:inline-flex;align-items:center;gap:4px;background:#94a3b814;color:var(--text-sub);font:inherit;font-size:11px;white-space:nowrap;flex-shrink:0;cursor:pointer}.chat-message-action svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chat-message-action:active{transform:scale(.97);opacity:.9}.chat-message-action.active.up{color:var(--primary-color-deep);border-color:#10b98159;background:#10b9811f}.chat-message-action.active.down{color:#b45309;border-color:#f59e0b59;background:#f59e0b1f}.chat-message-action:disabled{cursor:default;opacity:.72}.chat-message-feedback{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.chat-copy-toast{position:fixed;left:50%;bottom:calc(118px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;padding:8px 14px;border-radius:999px;background:#0f172adb;color:#fff;font-size:12px;line-height:1.2;pointer-events:none}.chat-bottom-anchor{height:8px;flex-shrink:0}.chat-inline-notices{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tab-h) + var(--composer-stack) + env(safe-area-inset-bottom) + var(--keyboard-inset, 0px) + 8px);width:min(440px,92%);z-index:25;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.chat-inline-error,.chat-storage-notice{pointer-events:auto;max-width:100%;box-sizing:border-box;margin:0;padding:8px 12px;border-radius:10px;font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.chat-inline-error{background:#ef44441f;color:var(--danger)}.chat-storage-notice{background:#fff7e6;border:1px solid rgba(217,119,6,.35);color:#92400e;box-shadow:0 6px 18px #0f172a14}.chat-storage-notice-dismiss{border:0;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;background:#d9770624;color:#92400e}.theme-dark .chat-storage-notice{background:#3b2a12;border-color:#fbbf2459;color:#fde68a}.theme-dark .chat-storage-notice-dismiss{background:#fbbf2429;color:#fde68a}.chat-inline-error-text{margin:0;flex:1 1 160px}.chat-storage-notice-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.chat-storage-notice .chat-inline-error-retry{background:#d97706}.theme-dark .chat-storage-notice .chat-inline-error-retry{background:#b45309}.chat-jump-bottom{position:fixed;right:14px;bottom:calc(var(--tab-h) + var(--composer-stack) + env(safe-area-inset-bottom) + var(--keyboard-inset, 0px) + 8px);z-index:25;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--pine-deep);background:#fffffff2;box-shadow:0 6px 18px #0f172a1f;cursor:pointer}.chat-inline-error-retry{border:0;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;background:var(--danger);color:#fff}.chat-input-area{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + var(--keyboard-inset, 0px));width:min(480px,100%);padding:8px var(--page-pad) 10px;z-index:24;background:linear-gradient(180deg,#f7f8fa00,#ffffff80 36%,#ffffffe0);box-sizing:border-box}.voice-feedback{margin:0 4px 8px;padding:10px 12px;border-radius:12px;background:#1f2937eb;color:#fff;font-size:13px}.composer-shell{display:flex;align-items:center;gap:6px;min-height:52px;padding:6px 8px;background:var(--glass-bg);border:1px solid var(--border-glow);border-radius:999px;box-shadow:inset 0 1px #ffffffe6,var(--shadow-composer)}.composer-btn,.composer-send{border:0;background:transparent;padding:0;flex-shrink:0;cursor:pointer}.composer-btn:disabled,.composer-send:disabled{opacity:.5;cursor:not-allowed}.composer-btn-face,.composer-send-face{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--bg-emerald-tint)}.composer-send-face{background:#e2e8f0}.composer-send.active .composer-send-face{background:var(--btn-primary-bg);box-shadow:0 6px 18px #10b98159}.composer-stop .composer-send-face{background:linear-gradient(135deg,#64748b,#334155)}.composer-stop-icon{width:12px;height:12px;border-radius:3px;background:#fff}.composer-icon{width:20px;height:20px;color:var(--primary-color-deep)}.composer-send-icon{width:18px;height:18px}.composer-input{flex:1;min-width:0;border:0;background:transparent;font-size:15px;color:var(--text-main);outline:none}.composer-input::placeholder{color:var(--text-sub)}.app-drawer{position:fixed;inset:0;z-index:100;pointer-events:none}.app-drawer.open{pointer-events:auto}.drawer-mask{position:absolute;inset:0;border:0;background:#00000047;opacity:0;transition:opacity .22s ease;cursor:pointer}.app-drawer.open .drawer-mask{opacity:1}.drawer-panel{position:absolute;left:0;top:0;bottom:0;width:min(320px,86vw);background:var(--bg-drawer);box-shadow:8px 0 32px #0f172a1f;transform:translate(-105%);transition:transform .22s ease;display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top)) 16px calc(12px + env(safe-area-inset-bottom));overflow-y:auto}.app-drawer.open .drawer-panel{transform:translate(0)}.drawer-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:16px}.drawer-brand{display:flex;gap:10px;align-items:center}.drawer-brand-logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:700;color:var(--primary-color-deep);background:linear-gradient(160deg,#fde68a,#d1fae5);border:1px solid rgba(16,185,129,.2)}.drawer-brand-text{display:flex;flex-direction:column;gap:2px}.drawer-brand-text strong{font-size:16px}.drawer-brand-text span{font-size:12px;color:var(--text-sub)}.drawer-close{border:0;background:var(--bg-btn);width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;border:1px solid var(--border-main)}.drawer-new-chat{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;margin-bottom:12px;border-radius:14px;border:1px solid var(--border-glow);background:var(--btn-primary-bg);color:#fff;font-weight:650;cursor:pointer}.drawer-new-chat-icon{font-size:14px;opacity:.9}.drawer-nav{display:grid;gap:6px;margin-bottom:16px}.drawer-nav-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;text-decoration:none;color:inherit;border:1px solid transparent}.drawer-nav-item.active{background:#10b9811a;border-color:#10b98159}.drawer-nav-texts{display:flex;flex-direction:column;gap:2px}.drawer-nav-title{font-weight:650;font-size:15px}.drawer-nav-sub{font-size:12px;color:var(--text-sub)}.drawer-nav-arrow{color:var(--text-muted);font-size:18px}.drawer-section{flex:1;min-height:80px}.drawer-section-title{margin:0 0 8px;font-size:13px;color:var(--text-muted);font-weight:600}.drawer-history-empty{margin:0;font-size:13px;line-height:1.55;color:var(--text-sub)}.drawer-history-section{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.drawer-history-section.has-legacy{flex:1 0 auto}.drawer-history-section.has-legacy .drawer-history-list{flex:none;max-height:40vh}.drawer-history-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.drawer-history-item{display:flex;align-items:stretch;gap:4px;border-radius:10px;margin-bottom:4px}.drawer-history-item.active{background:#10b9811f}.drawer-history-main{flex:1;text-align:left;border:none;background:transparent;padding:8px 10px;cursor:pointer;min-width:0}.drawer-history-title{display:block;font-size:14px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-history-preview{display:block;font-size:12px;color:var(--text-sub);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-history-delete{width:36px;border:none;background:transparent;color:var(--text-sub);font-size:18px;cursor:pointer;flex-shrink:0}.drawer-legacy{flex-shrink:0;margin-top:10px;padding:10px 12px;border-radius:10px;border:1px dashed rgba(217,119,6,.45);background:#d977060f}.drawer-legacy-title{margin:0;font-size:13px;font-weight:650;color:var(--text-main)}.drawer-legacy-hint{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--text-sub)}.drawer-legacy-actions{display:flex;gap:8px;margin-top:8px}.drawer-legacy-btn{border:1px solid rgba(217,119,6,.45);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;background:transparent;color:#b45309}.drawer-legacy-btn.primary{background:#d97706;border-color:#d97706;color:#fff}.theme-dark .drawer-legacy-btn{color:#fbbf24;border-color:#fbbf2473}.theme-dark .drawer-legacy-btn.primary{background:#b45309;border-color:#b45309;color:#fff}.drawer-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-main)}.drawer-footer-text{margin:0 0 10px;font-size:13px;color:var(--text-sub)}.drawer-login-btn{width:100%}.chat-itinerary-draft{margin-top:10px;padding:10px 10px 10px 12px;border-radius:10px;background:#10b9811f;border:1px solid rgba(16,185,129,.28);display:flex;align-items:center;gap:8px}.theme-light .chat-itinerary-draft{background:#ecfdf5f2;border-color:#10b98138}.chat-itinerary-draft-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.chat-itinerary-draft-title{font-size:14px;font-weight:700;color:var(--text-main, #e2e8f0)}.theme-light .chat-itinerary-draft-title{color:#065f46}.chat-itinerary-draft-sub{font-size:11px;color:var(--text-sub, #94a3b8)}.theme-light .chat-itinerary-draft-sub{color:#047857;opacity:.85}.chat-itinerary-draft-cta{flex-shrink:0;min-height:44px;padding:0 12px;border-radius:999px;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:12px;font-weight:700;box-shadow:0 3px 8px #10b98147;cursor:pointer}.chat-itinerary-draft-cta:active{opacity:.9;transform:scale(.97)}.chat-product-list{display:grid;gap:10px;margin-top:10px}.chat-product-card{padding:10px;border-radius:12px;border:1px solid var(--line);background:#fff}.chat-product-main{display:grid;grid-template-columns:72px 1fr;gap:10px;text-decoration:none;color:inherit}.chat-product-card img{width:72px;height:72px;object-fit:cover;border-radius:10px}.chat-product-card .product-cover.fallback{width:72px;height:72px;border-radius:10px;background:var(--paper-deep);display:grid;place-items:center;font-size:12px;color:var(--muted)}.sheet-backdrop{position:fixed;inset:0;background:#00000059;z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet-panel{width:100%;max-height:78vh;overflow:auto;background:#fffdf8;border-radius:18px 18px 0 0;padding:16px;border:1px solid var(--line)}.sheet-panel.sheet-framed{display:flex;flex-direction:column;max-height:82vh;padding:0;overflow:hidden}.sheet-head{flex-shrink:0;display:flex;align-items:flex-start;gap:8px;padding:16px 16px 4px}.sheet-head h2{flex:1;min-width:0;margin:0;font-size:18px;line-height:1.4}.sheet-title{margin:0 0 12px;font-size:18px;line-height:1.4;font-weight:700;color:var(--text-main)}.sheet-panel>h2:first-child{margin:0 0 10px;font-size:18px;line-height:1.4}.sheet-panel>.btn{margin-top:10px}.sheet-close{flex-shrink:0;width:32px;height:32px;border:0;border-radius:999px;background:#0f172a0f;color:var(--muted);font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer}.sheet-body{flex:1;min-height:0;overflow-y:auto;padding:4px 16px 8px}.sheet-foot{flex-shrink:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffdf8}@media(min-width:768px){.sheet-backdrop{align-items:center;padding:24px}.sheet-panel{width:560px;max-width:100%;max-height:82vh;border-radius:20px}.sheet-foot{padding-bottom:12px}}.seg-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.seg{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px}.seg.on{background:#eef6f1;border-color:var(--pine)}.chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip.on{border-color:var(--primary-color);background:#10b9811a;color:var(--primary-color-deep)}.trip-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.trip-card{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);font:inherit;color:inherit;cursor:pointer}.trip-card>strong{display:block;margin-bottom:4px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}.trip-card>.hint{display:block;margin:0;font-size:12px;line-height:1.45;color:var(--text-sub)}.stop-list ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:6px}.stop-list ul li{padding:0;border:0;background:transparent;border-radius:0;font-size:13px;line-height:1.5}.plan-page{padding-bottom:24px}.plan-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.plan-summary-row .hint{margin:0}.plan-summary-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan-edit-page.sub-page{background:#f3f4f6}.plan-edit-page .sub-page-top{background:#fff;border-bottom:1px solid #e5e7eb}.plan-edit-page .sub-page-body{width:100%;padding:10px var(--page-pad) 20px}.plan-edit-page .sub-page-body,.plan-edit-page .plan-layout-main{scrollbar-width:none;-ms-overflow-style:none}.plan-edit-page .sub-page-body::-webkit-scrollbar,.plan-edit-page .plan-layout-main::-webkit-scrollbar{display:none;width:0;height:0}.plan-top-actions .plan-save-state{font-size:11px;line-height:1.2;color:#6b7280;white-space:nowrap}.plan-top-save{width:auto;min-height:32px;padding:0 12px;font-size:13px;border-radius:8px}.plan-more-menu{position:relative}.plan-more-trigger{list-style:none;cursor:pointer;font-size:13px;padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;-webkit-user-select:none;user-select:none}.plan-more-trigger::-webkit-details-marker{display:none}.plan-more-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:90;min-width:168px;max-height:min(70vh,360px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 8px 24px #0f172a1a;display:grid;gap:2px}.plan-more-item{display:block;width:100%;text-align:left;border:none;background:transparent;padding:8px 10px;border-radius:8px;font:inherit;font-size:13px;color:inherit;cursor:pointer;text-decoration:none}.plan-more-item:hover{background:#f3f4f6}.plan-subheader{margin-bottom:8px;position:relative;z-index:2;overflow:visible}.plan-subheader-date-wrap{overflow:visible}.plan-subheader-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}.plan-subheader-meta-line{display:flex;align-items:center;gap:6px;min-width:0;flex:1;flex-wrap:nowrap;min-height:20px}.plan-subheader-city{font-size:14px;font-weight:600;line-height:20px;color:#374151;white-space:nowrap}.plan-subheader-sep{font-size:14px;line-height:20px;color:#9ca3af;-webkit-user-select:none;user-select:none}.plan-subheader-meta{margin:0;font-size:14px;line-height:20px;color:#6b7280;white-space:nowrap}.plan-subheader-date-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;margin-left:2px}.plan-subheader-date{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:transparent;font:inherit;cursor:pointer;white-space:nowrap;font-size:14px;line-height:20px;color:#6b7280;vertical-align:middle}.plan-subheader-date.is-empty .plan-subheader-date-text{color:inherit}.plan-subheader-date.is-set .plan-subheader-date-text{color:#374151;font-weight:500}.plan-subheader-date.is-set .plan-subheader-date-icon{color:#6b7280}.plan-subheader-date:focus-visible{outline:2px solid rgba(16,185,129,.45);outline-offset:2px;border-radius:6px}.plan-subheader-date-icon{display:block;width:16px;height:16px;flex:0 0 16px;pointer-events:none}.plan-geocode-pick-backdrop{position:fixed;inset:0;z-index:80;background:#0f172a59;display:flex;align-items:flex-end;justify-content:center;padding:12px}@media(min-width:640px){.plan-geocode-pick-backdrop{align-items:center}}.plan-geocode-pick{width:min(420px,100%);max-height:min(70vh,520px);overflow:auto;background:#fff;border-radius:14px;border:1px solid #e5e7eb;padding:14px;box-shadow:0 16px 40px #0f172a24}.plan-geocode-pick-head strong{display:block;font-size:15px;margin-bottom:4px}.plan-geocode-pick-head .hint{margin:0;font-size:12px}.plan-geocode-pick-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.plan-geocode-pick-item{width:100%;text-align:left;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:10px 12px;cursor:pointer}.plan-geocode-pick-item:hover{border-color:#10b98173;background:#10b9810a}.plan-geocode-pick-name{display:block;font-size:14px;font-weight:600;color:#111827}.plan-geocode-pick-category{display:block;font-size:11px;color:#6b7280;margin-top:2px}.plan-geocode-pick-region{display:block;font-size:12px;color:#047857;margin-top:2px}.plan-geocode-pick-address{display:block;font-size:11px;margin-top:4px;line-height:1.35}.plan-geocode-pick-foot{margin-top:10px;text-align:center}.plan-subheader-date.is-empty{color:#9ca3af}.plan-subheader-date.is-set{color:#6b7280}.plan-subheader-date-text{white-space:nowrap;line-height:20px}.plan-start-date-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:50;width:min(288px,calc(100vw - 32px));padding:12px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 12px 36px #0f172a1f}.plan-start-date-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.plan-start-date-popover-title{font-size:14px;font-weight:600;color:#111827;line-height:28px}.plan-start-date-popover-nav{display:flex;gap:4px}.plan-start-date-popover-nav button{width:28px;height:28px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:16px;line-height:1;cursor:pointer}.plan-start-date-popover-nav button:hover{background:#f3f4f6}.plan-start-date-manual{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f0f1f3}.plan-start-date-manual-label{display:block;font-size:11px;color:#9ca3af;margin-bottom:6px}.plan-start-date-manual-row{display:flex;gap:8px;align-items:stretch}.plan-start-date-manual-input{flex:1;min-width:0;height:36px;min-height:36px;max-height:36px;padding:0 10px;font-size:13px;line-height:1.25;border-radius:8px;border-color:#e5e7eb;box-sizing:border-box}.plan-start-date-manual-apply.btn{width:auto;height:36px;min-height:36px;max-height:36px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:600;line-height:1;flex-shrink:0;align-self:auto}.plan-start-date-manual-error{margin:6px 0 0;font-size:11px}.plan-start-date-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;font-size:11px;color:#9ca3af;text-align:center}.plan-start-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.plan-start-date-cell{aspect-ratio:1;min-height:34px;border:none;border-radius:8px;background:transparent;font-size:13px;color:#374151;cursor:pointer}.plan-start-date-cell.is-outside{color:#d1d5db}.plan-start-date-cell:hover:not(.is-selected){background:#f3f4f6}.plan-start-date-cell.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #10b98173}.plan-start-date-cell.is-selected{background:#10b981;color:#fff;font-weight:600}.plan-start-date-popover-foot{display:flex;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid #f0f1f3}.plan-start-date-popover-foot .plan-text-action{font-size:13px;color:#047857}@media(max-width:959px){.plan-subheader-meta-line{flex-wrap:wrap;row-gap:6px;align-items:center}.plan-subheader-date{flex-basis:auto;max-width:100%}}.plan-subheader-tools{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:flex-end;flex:1 1 200px;min-width:0}.plan-subheader-tools .plan-text-action{white-space:nowrap;flex-shrink:0}.plan-subheader-tools-desktop-only{display:inline-flex}.plan-subheader-tools-mobile{display:none;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:6px}@media(max-width:959px){.plan-subheader-tools{display:none}.plan-subheader-tools-desktop-only{display:none!important}.plan-subheader-tools-mobile{display:flex}.plan-touch-hint{display:none}.plan-edit-page .sub-page-top{overflow:visible;z-index:30}.plan-top-actions{overflow:visible;position:relative}.plan-more-menu[open] .plan-more-panel{position:fixed;right:max(12px,env(safe-area-inset-right,0px));top:52px;left:auto;width:min(240px,calc(100vw - 24px))}}.plan-text-action{border:none;background:transparent;padding:0;font:inherit;font-size:12px;color:#6b7280;cursor:pointer;text-decoration:none}.plan-text-action:hover{color:#111827}.plan-text-action.is-on{color:var(--primary-color-deep, #047857);font-weight:600}.plan-text-action:disabled{opacity:.4;cursor:not-allowed}.plan-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.plan-edit-page .plan-panel{overflow:visible}.plan-ai-recovery{margin:8px 12px;padding:10px;border-radius:10px;background:#fffbeb;border:1px solid #fde68a}.plan-ai-recovery-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.plan-ai-recovery-cap{font-size:12px;margin-top:6px}.plan-ocr-preview{margin-top:12px;padding:10px;border:1px solid #e5e7eb;border-radius:8px}.plan-ocr-raw{font-size:11px;max-height:200px;overflow:auto;white-space:pre-wrap}.plan-canvas-board{position:relative;min-height:420px;margin:8px 12px 16px;border:1px dashed #dbeafe;border-radius:12px;background:#f8fafc;overflow:hidden}.plan-canvas-hint{margin:8px 10px 0;font-size:12px}.plan-canvas-card{position:absolute;left:0;top:0;min-width:120px;max-width:200px;padding:8px 10px;border-radius:10px;background:#fff;box-shadow:0 4px 14px #0f172a1f;cursor:grab;touch-action:none;display:flex;flex-direction:column;gap:4px}.plan-ledger-panel .plan-ledger-balances,.plan-ledger-panel .plan-ledger-entries{list-style:none;margin:0;padding:0}.plan-ledger-panel .plan-ledger-balances li,.plan-ledger-panel .plan-ledger-entries li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #eef0f2}.plan-layout{display:flex;flex-direction:column;gap:10px}.plan-layout-main{display:flex;flex-direction:column;min-width:0;order:2}.plan-layout-map{order:1;min-width:0;padding:0;display:flex;flex-direction:column}.plan-share-hint{font-size:12px;margin:0 0 8px}.plan-map-toggle{width:100%;margin:0;min-height:34px;font-size:13px;border-radius:0;border:none;border-top:1px solid #e5e7eb}.plan-edit-page .plan-map-wrap{margin:0;border:none;border-radius:0}.plan-day-groups{margin:0}.plan-day-group{border:none;border-radius:0;border-bottom:1px solid #eef0f2;padding:10px 12px;background:transparent;box-shadow:none}.plan-day-group:last-child{border-bottom:none}.plan-day-group.is-active-day{background:transparent}.plan-day-group.is-active-day .plan-day-date-chip{background:#10b98124;color:#047857}.plan-day-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.plan-day-time-warnings{margin:6px 0 8px;padding:8px 10px;border-radius:8px;background:#fff8eb;border:1px solid #f5d998}.plan-day-time-warnings-title{margin:0 0 6px;font-size:12px;font-weight:600;color:#92400e}.plan-day-time-warnings-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.plan-day-time-warn-link{display:block;width:100%;text-align:left;padding:0;border:none;background:none;font:inherit;font-size:13px;line-height:1.45;color:#b45309;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.plan-day-time-warn-link:hover{color:#92400e}.plan-stop-card.is-time-warning{box-shadow:inset 3px 0 #f59e0b}.plan-day-weather{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:4px;font-size:12px;line-height:1.35;max-width:100%}.plan-day-weather-muted{color:var(--text-sub)}.plan-day-weather-city{font-weight:600;color:var(--text-main)}.plan-day-weather-icon{font-size:14px}.plan-day-weather-text{color:var(--text-main)}.plan-day-weather-temp{font-weight:600;color:#0f766e}.plan-day-weather-precip,.plan-day-weather-updated{font-size:11px}.plan-day-weather-link{border:none;background:none;padding:0;color:var(--primary-color-deep);font-size:12px;cursor:pointer;text-decoration:underline}.plan-day-weather-city-select{font-size:12px;padding:4px 8px;min-width:0;max-width:140px}.plan-day-weather-city-select.compact{max-width:110px}.plan-day-weather-pick{align-items:center}.plan-day-head-left{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.plan-day-head-right{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-top:1px}.plan-day-optimize-link{margin:0;padding:0;border:none;background:transparent;font-size:12px;line-height:1.35;font-weight:500;color:var(--primary-color-deep, #047857);cursor:pointer;text-align:left}.plan-day-optimize-link:hover{text-decoration:underline}.plan-day-optimize-link:focus-visible{outline:2px solid rgba(16,185,129,.45);outline-offset:2px;border-radius:4px}.plan-day-date-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#eef2f7;color:#374151}.plan-day-head-sub{font-size:12px;margin-left:0}.plan-day-theme{margin:4px 0 10px;font-size:13px;font-weight:500;color:#374151;line-height:1.45}.plan-day-head-main{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;max-width:100%;border:none;background:transparent;padding:0;text-align:left;cursor:pointer}.plan-day-head-title{font-size:14px;font-weight:600;line-height:1.4;color:#111827}.plan-day-count{font-size:12px;white-space:nowrap;margin:0;color:#6b7280}.plan-day-delete-btn{margin:0;padding:2px 8px;border:none;border-radius:6px;background:transparent;font-size:12px;font-weight:500;line-height:1.3;color:#dc2626;cursor:pointer;white-space:nowrap}.plan-day-delete-btn:hover{background:#dc262614}.plan-day-delete-btn:focus-visible{outline:2px solid rgba(220,38,38,.35);outline-offset:1px}.plan-day-head-right .plan-day-delete-btn{margin-right:4px}.plan-day-collapse{flex-shrink:0;width:28px;height:28px;border:none;background:transparent;color:#6b7280;font-size:14px;cursor:pointer;border-radius:6px}.plan-day-collapse:hover{background:#f3f4f6}.plan-day-remark-link{display:inline-block;margin:4px 0 8px;padding:0;border:none;background:transparent;font-size:12px;color:#9ca3af;cursor:pointer;text-align:left}.plan-day-remark-link:hover{color:#6b7280;text-decoration:underline}.plan-day-remark-edit{margin:4px 0 8px}.plan-day-remark-input{min-height:52px;font-size:13px;border-radius:8px}.plan-day-add-row{list-style:none;margin:8px 0 0;padding:0}.plan-day-add-trigger{width:100%;min-height:36px;border:none;border-radius:8px;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;text-align:left;padding:4px 2px}.plan-day-add-trigger:hover{color:#047857;background:#10b9810f}.plan-day-add{padding:8px 0 4px}.plan-day-add-composer{margin:0;gap:8px}.plan-day-add-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.plan-day-empty{margin:0;padding:12px 0;text-align:center;font-size:13px}.plan-stop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.plan-stop-card{position:relative;display:grid;grid-template-columns:auto 52px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.plan-stop-card.is-focused{outline:2px solid rgba(16,185,129,.35);outline-offset:1px}.plan-stop-card.is-drag-placeholder,.plan-stop-card.is-drag-placeholder.is-focused{background:#f1f5f9!important;border:2px dashed #94a3b8!important;box-shadow:none!important;outline:none!important;opacity:.55!important;transform:none!important}.plan-stop-card.is-drag-placeholder>*{opacity:.2!important;visibility:visible!important;pointer-events:none!important}.plan-stop-drag-layer{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;will-change:transform}.plan-stop-drag-preview{display:flex!important;align-items:center!important;gap:12px!important;min-width:200px!important;max-width:320px!important;padding:10px 14px!important;border-radius:14px!important;border:2px solid #10b981!important;background:#fff!important;box-shadow:0 16px 36px #0f172a38!important;transform:rotate(-1.5deg) scale(1.02)}.plan-stop-drag-preview-thumb{width:44px!important;height:44px!important;border-radius:10px!important;overflow:hidden!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:20px!important;flex-shrink:0!important}.plan-stop-drag-preview-thumb[data-type=scenic]{background:#e6fee4!important;border-color:#bbf7d0!important}.plan-stop-drag-preview-thumb[data-type=food]{background:#fef3c7!important;border-color:#fde68a!important}.plan-stop-drag-preview-thumb[data-type=hotel]{background:#e0f2fe!important;border-color:#bae6fd!important}.plan-stop-drag-preview-thumb[data-type=transport]{background:#f1f5f9!important;border-color:#e2e8f0!important}.plan-stop-drag-preview-thumb[data-type=custom]{background:#fef3c7!important;border-color:#fde68a!important}.plan-stop-drag-preview-thumb img{width:100%;height:100%;object-fit:cover;display:block}.plan-stop-drag-preview-body{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}.plan-stop-drag-preview-type{font-size:11px!important;font-weight:600!important;color:#059669!important}.plan-stop-drag-preview-title{font-size:14px!important;font-weight:700!important;color:#0f172a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.plan-drop-slot-wrap{list-style:none;margin:0;padding:0}.plan-drop-slot-line{margin:6px 0;padding:4px 0;display:flex;align-items:center;gap:8px}.plan-drop-slot-line-bar{flex:1;height:3px;border-radius:999px;background:#10b981;box-shadow:0 0 8px #10b98166}.plan-drop-slot-line-text{flex-shrink:0;font-size:11px;font-weight:600;color:#047857}.plan-stop-card.is-visited{opacity:.62}.plan-stop-card-thumb{width:52px;height:52px;border-radius:10px;overflow:hidden;background:#f3f4f6;flex-shrink:0}.plan-stop-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.plan-stop-card-icon{display:block;width:100%;height:100%;background:center/28px no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%239ca3af' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E")}.plan-stop-card-icon[data-type=hotel]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%239ca3af' viewBox='0 0 24 24'%3E%3Cpath d='M7 14c1.66 0 3-1.34 3-3S8.66 8 7 8s-3 1.34-3 3 1.34 3 3 3zm0-4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12-3h-8v7H3V5H1v15h2v-3h18v3h2v-9c0-2.21-1.79-4-4-4z'/%3E%3C/svg%3E")}.plan-stop-card-body{min-width:0;display:flex;flex-direction:column;gap:2px}.plan-stop-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px}.plan-stop-card-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.plan-stop-delete-btn{margin:0;padding:2px 8px;border:none;border-radius:6px;background:transparent;font-size:12px;font-weight:500;line-height:1.3;color:#dc2626;cursor:pointer}.plan-stop-delete-btn:hover{background:#dc262614}.plan-stop-delete-btn:focus-visible{outline:2px solid rgba(220,38,38,.35);outline-offset:1px}.plan-stop-card-type{font-size:11px;font-weight:600;color:#059669;letter-spacing:.02em}.plan-stop-card-title{margin:0;font-size:15px;font-weight:700;line-height:1.35;color:#111827}.plan-stop-card-badge{font-size:11px;color:#047857;font-weight:600}.plan-stop-card-time{margin:2px 0 0;font-size:13px;color:#6b7280;font-weight:500}.plan-stop-time-display,.plan-stop-time-trigger{display:inline-flex;align-items:center;gap:6px;max-width:100%}.plan-stop-card-time-btn{align-self:flex-start;margin:2px 0 0;padding:2px 0;border:none;background:transparent;font:inherit;font-size:13px;color:#9ca3af;cursor:pointer;text-align:left}.plan-stop-time-trigger.is-set{color:#6b7280;font-weight:500}.plan-stop-card-time-btn:hover{color:#047857}.plan-stop-time-trigger.is-set:hover .plan-stop-time-text-line{text-decoration:underline}.plan-stop-time-icon{width:14px;height:14px;flex-shrink:0;background:center/contain no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 6v6l3.5 2M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E")}.plan-stop-time-trigger.is-set .plan-stop-time-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280' stroke-width='1.8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 6v6l3.5 2M21 12a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E")}.plan-stop-time-text-line{line-height:1.35;white-space:nowrap}.plan-stop-time-anchor{position:relative;align-self:flex-start}.plan-stop-card.is-time-panel-open{z-index:2}.plan-stop-time-range-backdrop{position:fixed;inset:0;z-index:160;background:#0f172a14}.plan-stop-time-range-popover{position:fixed;z-index:161;width:min(288px,calc(100vw - 24px));padding:12px 12px 10px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 16px 40px #0f172a24;box-sizing:border-box;isolation:isolate}.plan-stop-time-range-head{margin-bottom:8px}.plan-stop-time-range-title{margin:0;font-size:14px;font-weight:600;color:#111827;line-height:1.35}.plan-stop-time-range-field{margin-bottom:8px}.plan-stop-time-range-row{display:flex;align-items:center;gap:8px;min-height:34px}.plan-stop-time-range-label{flex:0 0 4.25rem;display:flex;align-items:center;height:34px;margin:0;font-size:12px;color:#6b7280;font-weight:500;white-space:nowrap;line-height:1.2}.plan-stop-time-range-main{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.plan-stop-time-range-input{flex:1;min-width:0;height:34px;margin:0;padding:0 8px;font-size:13px;line-height:34px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;box-sizing:border-box}.plan-stop-time-range-pick-toggle{flex-shrink:0;height:34px;padding:0 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:12px;color:#6b7280;cursor:pointer}.plan-stop-time-range-pick-toggle.is-open{color:#047857;border-color:#10b98159;background:#f0fdf4}.plan-stop-time-range-pickers{display:flex;align-items:stretch;margin:8px 0 0 calc(4.25rem + 8px);height:min(180px,36vh);max-height:200px;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fafafa}.plan-stop-time-range-picker-col{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin}.plan-stop-time-range-picker-item{display:block;width:100%;margin:0;padding:10px 8px;border:none;background:transparent;font-size:14px;line-height:1.2;color:#374151;text-align:center;cursor:pointer}.plan-stop-time-range-picker-item.is-selected{background:#dcfce7;color:#14532d;font-weight:600}.plan-stop-time-range-picker-item:not(.is-selected):hover{background:#f3f4f6}.plan-stop-time-range-picker-sep{flex-shrink:0;width:1px;background:#e5e7eb;align-self:stretch}.plan-stop-time-range-hint{margin:4px 0 8px calc(4.25rem + 8px);font-size:11px;color:#9ca3af;line-height:1.4}.plan-stop-time-range-error{margin:0 0 8px;font-size:11px;color:#dc2626;line-height:1.4}.plan-stop-time-range-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:10px;border-top:1px solid #f0f1f3;background:#fff}.plan-stop-time-range-actions{display:flex;align-items:center;gap:10px}.plan-stop-time-range-clear{color:#9ca3af;font-size:13px}.plan-stop-time-range-clear:hover{color:#6b7280}.plan-stop-time-range-confirm.btn{width:auto;min-height:34px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:600}.plan-stop-time-sheet-backdrop{z-index:180}.plan-stop-time-sheet{background:#fff;border-color:#e5e7eb;max-height:min(62vh,420px)}.plan-stop-time-sheet-body{padding-top:8px}.plan-version-history-backdrop{z-index:170}.plan-version-history-sheet{background:#fff;max-width:560px;width:100%}.plan-version-history-body{padding-top:4px}.plan-version-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.plan-version-item{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#fff}.plan-version-item.is-active{border-color:#10b98173;background:#f9fefb}.plan-version-item-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.plan-version-time{font-size:13px;font-weight:600;color:#111827}.plan-version-label{font-size:12px;color:#047857}.plan-version-meta{font-size:12px}.plan-version-item-actions{display:flex;gap:12px;margin-top:8px}.plan-version-preview{margin-top:16px;padding-top:12px;border-top:1px solid #f0f1f3}.plan-version-preview-title{margin:0 0 8px;font-size:14px;font-weight:600}.plan-version-preview-doc{max-height:40vh;overflow:auto;font-size:13px}.plan-stop-card-note{margin:4px 0 0;font-size:12px;color:#6b7280;line-height:1.4}.plan-stop-card-address{margin:2px 0 0;font-size:11px;color:#9ca3af;line-height:1.35}.plan-stop-card-meta{margin:2px 0 0;font-size:11px}.plan-stop-more{position:relative;flex-shrink:0}.plan-stop-more-trigger{border:none;background:transparent;padding:2px 6px;font-size:16px;line-height:1;letter-spacing:1px;color:#9ca3af;cursor:pointer;border-radius:6px}.plan-stop-more-trigger:hover{background:#f3f4f6;color:#374151}.plan-stop-more-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:80;min-width:148px;max-height:min(70vh,320px);overflow-y:auto;padding:4px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 8px 24px #0f172a1f;display:grid;gap:2px;-webkit-overflow-scrolling:touch}.plan-stop-more-panel.is-flip-up{top:auto;bottom:calc(100% + 4px)}.plan-stop-more-panel button{border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font:inherit;font-size:13px;cursor:pointer}.plan-stop-more-panel button:hover:not(:disabled){background:#f3f4f6}.plan-stop-more-panel button:disabled{opacity:.35;cursor:not-allowed}.plan-stop-more-panel button.is-danger{color:#dc2626}.plan-batch-entry{font-size:12px;padding:2px 6px}.plan-batch-check{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;min-height:28px}.plan-batch-check input{width:18px;height:18px;margin:0;accent-color:#059669}.plan-stop-card.is-batch-select{cursor:pointer}.plan-stop-card.is-batch-selected,.plan-unplanned .plan-stop-item.is-batch-selected{outline:2px solid rgba(16,185,129,.45);outline-offset:1px}.plan-batch-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;margin:0 0 8px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;font-size:12px}.plan-batch-count{font-weight:600;color:#047857;white-space:nowrap}.plan-batch-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.plan-batch-move-label{display:inline-flex;align-items:center;gap:4px;margin:0}.plan-batch-move-select{min-height:28px;font-size:12px;max-width:120px}.plan-batch-bar-mobile{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #00000014;flex-direction:column;align-items:stretch}.plan-batch-bar-mobile .plan-batch-actions{flex-direction:column;align-items:stretch}.plan-batch-bar-mobile .plan-batch-move-label,.plan-batch-bar-mobile .plan-text-action{width:100%;justify-content:center;text-align:center}.plan-layout.is-batch-select-mobile .plan-layout-main{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.plan-ai-preview{margin:8px 0;padding:10px 12px;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;font-size:12px}.plan-ai-preview-title{margin:0 0 6px;font-weight:700;color:#1e40af}.plan-ai-preview-stale{margin:0 0 6px;color:#b45309;font-weight:600}.plan-ai-preview-conflicts{margin:0 0 6px;padding-left:18px;color:#b45309}.plan-ai-preview-list{margin:0 0 8px;padding-left:18px;max-height:160px;overflow:auto}.plan-ai-preview-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.plan-unplanned{margin:0;padding:10px 12px;border:none;border-top:1px solid #eef0f2;border-radius:0;background:#fafafa}.plan-unplanned-head h2{margin:0;font-size:13px;font-weight:600}.plan-unplanned-hint{margin:0;font-size:11px;max-width:100%;display:none}.plan-unplanned.is-empty{padding:8px 12px;min-height:0}.plan-unplanned.is-empty .plan-unplanned-head{margin:0;flex-wrap:nowrap;gap:8px;align-items:center}.plan-unplanned.is-empty .plan-unplanned-head h2{font-size:12px;font-weight:600;white-space:nowrap}.plan-unplanned-empty-inline{margin:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.plan-unplanned .plan-stop-item{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:8px 10px;margin-bottom:6px}.plan-unplanned .plan-stop-actions{gap:4px}.plan-unplanned .plan-stop-actions .btn{min-height:28px;font-size:12px;padding:0 8px}.plan-unplanned .plan-move-select{min-height:28px;font-size:12px}.plan-page.is-empty-trip .plan-unplanned{opacity:.85}@media(max-width:959px){.plan-edit-page .plan-map-wrap.is-compact .plan-map-canvas{height:200px;min-height:180px}.plan-edit-page .plan-map-wrap.is-compact.is-empty-map .plan-map-canvas{height:140px;min-height:120px}.plan-edit-page .plan-map-wrap.is-expanded .plan-map-canvas{height:52vh;min-height:280px}}@media(min-width:960px){.plan-edit-page.sub-page{height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column}.plan-edit-page .sub-page-body{max-width:1280px;margin:0 auto;width:100%;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-bottom:10px}.plan-edit-page .plan-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.plan-edit-page .plan-layout{display:grid;grid-template-columns:minmax(380px,420px) minmax(0,1fr);gap:12px;align-items:stretch;flex:1;min-height:0;max-height:100%}.plan-edit-page .plan-layout-main{order:unset;max-height:100%;overflow:auto}.plan-edit-page .plan-layout-map{order:unset;position:relative;top:auto;height:100%;max-height:100%;min-height:0;overflow:hidden}.plan-edit-page .plan-layout-map .plan-map-wrap{flex:1;min-height:0;display:flex;flex-direction:column}.plan-edit-page .plan-layout-map .plan-map-canvas{flex:1;height:auto!important;min-height:0;max-height:100%}.plan-edit-page .plan-map-toggle{display:none}}.plan-chip-btn{width:auto;min-height:32px;padding:0 10px;font-size:12px}.plan-chip-btn.active{background:#10b9811f;color:var(--primary-color-deep);border-color:#10b98159}.plan-save-state{font-size:11px;color:var(--text-muted)}.plan-save-state.dirty{color:#b45309}.plan-edit-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:10px 0 4px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#ffffffb3}.plan-date-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-sub)}.plan-date-field .field{width:auto;min-height:34px;padding:0 10px}.plan-edit-actions{display:flex;flex-wrap:wrap;gap:6px}.plan-edit-actions .btn{width:auto;min-height:34px;padding:0 12px;font-size:13px}.plan-stop-item{display:flex;flex-direction:column;gap:6px}.plan-stop-head{display:flex;align-items:center;gap:8px;min-width:0}.plan-stop-head strong{min-width:0}.plan-drag-handle{color:var(--text-muted);cursor:grab;letter-spacing:-2px;-webkit-user-select:none;user-select:none;touch-action:none;display:inline-flex;align-items:center;justify-content:center;min-width:26px;min-height:26px;margin:-4px 0 -4px -4px}@media(hover:none),(pointer:coarse),(max-width:959px){.plan-stop-card .plan-drag-handle{display:inline-flex;opacity:1;width:auto;min-width:26px;margin:-4px 0 -4px -4px}.plan-stop-card{grid-template-columns:auto 52px minmax(0,1fr);gap:10px}}@media(min-width:960px)and (hover:hover){.plan-stop-card .plan-drag-handle{opacity:.45;width:auto;min-width:26px;margin:-4px 0 -4px -4px;transition:opacity .15s ease,color .15s ease}.plan-stop-card:hover .plan-drag-handle,.plan-stop-card:focus-within .plan-drag-handle{opacity:1;color:#059669}}.plan-touch-hint{margin:8px 0 0;line-height:1.45}.plan-stop-item.is-drag-placeholder{min-height:48px;border:1px dashed #d1d5db;border-radius:10px;background:#f9fafb}.plan-stop-item.is-drag-placeholder>*{visibility:hidden}.plan-unplanned.is-drop-target{outline:2px dashed rgba(16,185,129,.55);outline-offset:4px;border-radius:12px;background:#10b9810a}.plan-stop-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan-stop-actions .btn{width:auto;min-height:30px;padding:0 10px;font-size:12px}.plan-stop-actions .btn.danger{color:#dc2626;border-color:#dc26264d}.plan-move-select{width:auto;min-height:30px;padding:0 8px;font-size:12px}.plan-visited-toggle{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-sub)}.plan-stop-item.visited{opacity:.62}.plan-drop-tail{display:none;list-style:none;margin:0;padding:0}.plan-drop-tail.is-visible{display:block;margin-top:4px;padding:8px 10px;border:1px dashed rgba(16,185,129,.45);border-radius:10px;background:#10b9810d;text-align:center;font-size:12px;color:#6b7280}.plan-stop-empty{border-style:dashed!important;background:transparent!important;text-align:center}.plan-day-remark{display:flex;flex-direction:column;gap:4px;margin:8px 0 4px;font-size:13px}.plan-day-remark-input{min-height:56px;resize:vertical;font-size:14px}.plan-day-remark-read{margin:6px 0 4px;white-space:pre-wrap}.plan-stop-block{list-style:none;margin:0;padding:0}.plan-stop-block .stop-list-item{margin-bottom:0}.plan-stop-focused{outline:2px solid rgba(37,99,235,.35);outline-offset:2px;border-radius:10px}.plan-stop-times{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.plan-stop-times .plan-stop-time-field{display:flex;align-items:center;gap:6px;font-size:12px}.plan-time-input{width:auto;min-width:7.5rem;min-height:32px;padding:4px 8px;font-size:14px}.plan-stop-time-read{font-size:12px;color:var(--muted, #64748b);font-weight:500}.plan-stop-leg{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px 8px;padding:2px 0 4px 36px;margin:0}.plan-stop-leg-main{flex:1;min-width:120px;display:flex;flex-direction:column;gap:2px}.plan-stop-leg-error{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.plan-stop-leg.is-error .plan-stop-leg-text{color:#b45309}.plan-stop-leg.is-loading .plan-stop-leg-text{color:#6b7280}.plan-stop-leg-icon{width:16px;height:16px;flex-shrink:0;margin-top:1px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%239ca3af' viewBox='0 0 24 24'%3E%3Cpath d='M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z'/%3E%3C/svg%3E")}.plan-stop-leg-icon[data-mode=walking]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%239ca3af' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM9.8 8.9 7 23h2.1l1.8-8 2.1 2v6h2v-7.5l-2.1-2 .6-3c1.3 1.5 3.3 2.5 5.5 2.5V9c-1.9 0-3.5-.8-4.7-2.1l-1.1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1L6 8.3V13h2V9.6l1.8-.7'/%3E%3C/svg%3E")}.plan-stop-leg-icon[data-mode=bicycling]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%239ca3af' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 5.5c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zM5 12c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm0 8.5c-1.9 0-3.5-1.6-3.5-3.5S3.1 13.5 5 13.5 8.5 15.1 8.5 17 6.9 20.5 5 20.5zm11.8-4.2-1.8-5.2h-3.3l-1.2 3.5 2.5 2.2 3.8-0.5zm1.7 4.2c-2.8 0-5 2.2-5 5s2.2 5 5 5 5-2.2 5-5-2.2-5-5-5zm0 8.5c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z'/%3E%3C/svg%3E")}.plan-stop-leg-icon[data-mode=transit]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%239ca3af' viewBox='0 0 24 24'%3E%3Cpath d='M4 16c0 .88.39 1.67 1 2.22V20c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h8v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1.78c.61-.55 1-1.34 1-2.22V6c0-3.5-3.58-4-8-4s-8 .5-8 4v10zm3.5 1c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm9 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5-6H6V6h12v5z'/%3E%3C/svg%3E")}.plan-travel-segment--wrap{flex-wrap:wrap}.plan-leg-mode-stack{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.plan-transit-plan-select{max-width:168px}.plan-stop-leg-text{font-size:11px;color:#9ca3af}.plan-cross-day-bridge{list-style:none}.plan-cross-day-bridge-hint .plan-cross-day-bridge-title{display:block;font-size:12px;color:#6b7280;margin-bottom:2px}.plan-cross-day-bridge-title{display:block;font-size:11px;line-height:1.35;margin-bottom:2px}.plan-day-optimize-panel{width:min(520px,100%);max-height:min(88vh,720px);overflow:auto;margin:auto;padding:16px;border-radius:16px;background:#fff;box-shadow:0 12px 40px #0f172a2e}.plan-day-optimize-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.plan-day-optimize-head h2{margin:0;font-size:17px}.plan-day-optimize-note{margin:0 0 12px;font-size:12px;line-height:1.45}.plan-day-optimize-locks{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.plan-day-optimize-locks label{display:flex;align-items:center;gap:8px;font-size:13px}.plan-day-optimize-locks label.is-fixed{color:#6b7280}.plan-day-optimize-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}@media(max-width:520px){.plan-day-optimize-compare{grid-template-columns:1fr}}.plan-day-optimize-col h3{margin:0 0 6px;font-size:13px;color:#374151}.plan-day-optimize-col ol{margin:0 0 8px;padding-left:18px;font-size:13px}.plan-day-optimize-stats{margin:0;font-size:12px;font-weight:600;color:#047857}.plan-day-optimize-delta{margin:6px 0 0;font-size:11px}.plan-day-optimize-foot{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid #e5e7eb}.plan-geocode-pick-backdrop:has(.plan-day-optimize-panel){align-items:center;padding:16px}.plan-leg-mode-label{margin:0;flex-shrink:0}.plan-leg-mode-select{font-size:11px;min-height:28px;padding:2px 6px;max-width:108px}.plan-default-travel{display:inline-flex;align-items:center;gap:6px;margin:0;flex-shrink:0}.plan-default-travel-label,.plan-default-travel .hint{font-size:12px;line-height:20px;color:#6b7280;white-space:nowrap}.plan-travel-segment{display:inline-flex;align-items:center;flex-shrink:0;padding:2px;border-radius:999px;background:#eef0f3;border:1px solid #e5e7eb;gap:2px}.plan-travel-segment-btn{margin:0;padding:1px 9px;min-height:22px;border:none;border-radius:999px;background:transparent;font-size:13px;line-height:18px;font-weight:500;color:#6b7280;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.plan-travel-segment-btn:hover:not([aria-pressed=true]){color:#374151}.plan-travel-segment-btn[aria-pressed=true]{background:#fff;color:var(--primary-color-deep, #047857);font-weight:600;box-shadow:0 1px 2px #0f172a14}.plan-travel-segment-btn:focus-visible{outline:2px solid rgba(16,185,129,.45);outline-offset:1px}.plan-default-travel-inline{align-self:center}.plan-subheader-meta-line .plan-default-travel-label{font-size:14px;line-height:20px}.plan-default-travel-mobile{width:100%;margin-bottom:4px;justify-content:space-between;align-items:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.plan-stop-focused{outline:none}.plan-unplanned{margin:18px 0 0;padding:12px;border:1px dashed var(--line);border-radius:14px;background:#ffffff8c}.plan-unplanned-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.plan-unplanned-head h2{margin:0;font-size:15px}.plan-unplanned-head .hint{margin:0}.plan-unplanned .stop-list{margin:10px 0 0}.plan-prep-backdrop{position:fixed;inset:0;z-index:42;display:flex;align-items:flex-end;justify-content:center;background:#00000059}.plan-prep-panel{max-height:86vh;width:100%}.plan-prep-head{align-items:flex-start}.plan-prep-head-text{flex:1;min-width:0}.plan-prep-head-text h2{margin:0;font-size:17px}.plan-prep-sub{margin:4px 0 0;font-size:12px}.plan-prep-progress{margin:6px 0 0;font-size:13px;font-weight:600;color:var(--primary-color-deep)}.plan-prep-empty-hint{margin:6px 0 0;font-size:12px}.plan-prep-filter{margin:0 16px 4px}.plan-prep-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.plan-prep-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.plan-prep-item.is-done .plan-prep-label-input{opacity:.65;text-decoration:line-through}.plan-prep-check{display:flex;align-items:center}.plan-prep-check input{width:18px;height:18px}.plan-prep-label-input{min-width:0;padding:8px 10px;font-size:14px}.plan-prep-delete{min-width:36px;padding:4px 8px;font-size:18px;line-height:1}.plan-prep-section-title{margin:16px 0 4px;font-size:13px;font-weight:650;color:var(--text-main)}.plan-prep-template-note{margin:0 0 8px;font-size:12px;line-height:1.45}.plan-prep-add-row{display:flex;gap:8px;align-items:center}.plan-prep-add-row .field{flex:1;min-width:0}.plan-top-prep{display:inline-flex;align-items:center;gap:6px}.plan-top-prep-badge{font-size:11px;font-weight:650;padding:2px 6px;border-radius:999px;background:#10b98124;color:var(--primary-color-deep)}@media(min-width:768px){.plan-prep-backdrop{align-items:stretch;justify-content:flex-end;background:transparent;pointer-events:none;padding:0}.plan-prep-panel{pointer-events:auto;width:min(400px,calc(100vw - 32px));max-height:calc(100vh - 48px);margin:24px;border-radius:16px;box-shadow:0 12px 40px #0f172a2e;border:1px solid var(--line)}}.plan-chat-panel{max-height:88vh;display:flex;flex-direction:column}.plan-chat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-chat-head h2{margin:0;font-size:17px}.plan-chat-messages{flex:1;min-height:200px;max-height:50vh;overflow:auto;margin:12px 0;display:flex;flex-direction:column;gap:10px}.plan-chat-messages .message-row.user{align-self:flex-end;max-width:92%}.plan-chat-messages .message-row.ai{align-self:flex-start;max-width:92%}.plan-chat-apply{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.plan-chat-apply-ok{color:var(--primary-color-deep);margin-bottom:8px}.plan-chat-panel .plan-chat-unclaimed{margin:4px 0 0}.plan-chat-notice{margin:0 0 8px}.plan-chat-pending{margin:8px 0 0}.plan-map-wrap{position:relative;margin:12px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.plan-map-wrap.map-pick-active{border-color:#10b981a6;box-shadow:0 0 0 2px #10b98140}.map-pick-confirm{max-width:420px;margin:auto}.field-label{display:block;font-size:13px;margin:10px 0 4px;color:var(--text-sub)}.field-label .field{margin-top:6px;width:100%}.map-pick-toolbar .btn.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.plan-map-canvas{width:100%;height:52vh;min-height:280px;background:#e8eef0}.plan-map-empty{min-height:160px;padding:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f1f5f4,#e8efec);color:var(--text-sub);font-size:13px;line-height:1.5;text-align:center}.plan-map-fallback{padding:8px 12px;margin:0}.plan-map-list{margin:0;padding:8px 16px 12px;font-size:13px}.stop-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}.stop-list li{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fffdf8}.stop-list .row>.btn{flex:0 0 auto;width:auto;min-height:32px;padding:0 10px;font-size:12px}.stop-list .row>span{min-width:0;overflow-wrap:anywhere}.community-hero{position:relative;overflow:hidden;margin:2px 0 10px;padding:14px;border-radius:16px;border:1px solid rgba(16,185,129,.16);background:radial-gradient(circle at 100% 0%,rgba(232,175,192,.14),transparent 38%),linear-gradient(135deg,#f7fbfa,#eef6f4);box-shadow:0 4px 14px #0f172a0a}.community-hero p{position:relative;margin:0 0 12px;max-width:92%;font-size:13px;line-height:1.55;color:var(--text-sub)}.community-hero-actions{position:relative;display:flex;gap:10px}.community-hero-actions .btn{flex:1;width:auto;min-height:40px;padding:0 16px;font-size:13px;font-weight:650}.community-hero-publish{border:0;background:linear-gradient(135deg,#13b981,#059669);color:#fff}.community-channel-scroll{display:flex;gap:8px;margin-bottom:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.community-channel-scroll::-webkit-scrollbar{display:none}.community-channel-chip{flex:0 0 auto;min-height:36px;padding:0 16px;border:1px solid var(--border-glow);border-radius:999px;background:#ffffffe6;color:var(--text-main);font-size:12px;font-weight:600;cursor:pointer}.community-channel-chip.active{border-color:#10b98159;background:#10b9811f;color:var(--primary-color-deep)}.community-me-stats{display:flex;flex-wrap:wrap;gap:2px 12px;margin:0 0 4px;font-size:13px;line-height:1.5;color:var(--text-sub)}.community-me-stats span{white-space:nowrap}.community-me-stats span+span:before{content:"·";margin-right:8px;color:var(--text-muted)}.community-me-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 12px}.community-me-tab{min-width:0;min-height:34px;padding:0 4px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#ffffffb8;color:var(--text-sub);font-size:12.5px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.community-me-tab.on{border-color:transparent;background:var(--btn-primary-bg);color:#fff}.community-me-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.community-me-actions .btn{flex:1 1 140px;width:auto;min-height:42px;padding:0 14px;font-size:14px}.upload-field{position:relative;display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}.upload-field-button{flex:0 0 auto;min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text-main);font-size:13px;font-weight:600;cursor:pointer}.upload-field-button:disabled{opacity:.55;cursor:default}.upload-field-status{min-width:0;font-size:12.5px;line-height:1.4;color:var(--text-sub);overflow-wrap:anywhere}.upload-field-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.feed-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.feed-tag-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 9px;overflow:hidden;border-radius:999px;background:#10b9811a;color:var(--primary-color-deep);font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.feed-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.feed-list>li>.btn{width:auto;min-height:34px;margin-top:6px;padding:0 12px;font-size:12px}.feed-card{display:block;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--card);color:inherit;text-decoration:none}.post-body{white-space:pre-wrap;line-height:1.55;margin:12px 0}.post-media img{max-width:100%;border-radius:12px;margin-top:8px}.hint-list{margin:8px 0 0;padding-left:1.2em;color:var(--hint, #666);font-size:.92rem}.hint-list li{margin:6px 0}.comment-list{list-style:none;padding:0;display:grid;gap:10px}.comment-list li{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.comment-list .btn{width:auto;min-height:32px;margin-top:6px;padding:0 12px;font-size:12px}.comment-list .btn+.btn{margin-left:6px}.community-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.community-detail-actions .btn{flex:0 1 auto;width:auto;min-height:36px;padding:0 14px;font-size:13px}.section-title{font-size:1rem;margin:16px 0 8px}.account-link .btn+.btn{margin-top:10px}.account-link .btn+.section-title{margin-top:28px}.account-link-sms-btn{width:auto;flex:none;min-height:46px;margin-bottom:10px;white-space:nowrap}.account-link-error{margin-top:10px}.account-link-preview{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fffdf8}.account-link-preview-title{margin:0 0 10px;font-weight:600}.account-link-preview dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 10px;font-size:14px}.account-link-preview dt{color:var(--muted)}.account-link-preview dd{margin:0;overflow-wrap:anywhere}.account-link-preview .hint{margin-bottom:14px;font-size:14px}.account-link-footnote{margin-top:24px}.account-link-data-note{margin:12px 0 4px;padding:10px 12px;border-radius:10px;background:#fff6e5;color:#6b4a12;font-size:13px;line-height:1.55}.field.area{min-height:160px;resize:vertical;width:100%;margin-top:8px}.guidebook-text{white-space:pre-wrap;font-size:14px;line-height:1.5;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;max-height:50vh;overflow:auto}.guidebook-page .sub-page-body{max-width:720px;margin:0 auto}.guidebook-print-hints{margin-bottom:12px}.guidebook-print-hint{margin:0 0 6px;font-size:12px;line-height:1.45}.guidebook-print-hint-mobile{color:#92400e;background:#fffbeb;border-radius:8px;padding:8px 10px}.guidebook-document{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 14px 20px;color:#111827}.guidebook-doc-head{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eef0f2}.guidebook-doc-title{margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.35;word-break:break-word}.guidebook-doc-meta{margin:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.guidebook-meta-row{display:flex;flex-wrap:wrap;gap:4px 8px;margin:0}.guidebook-meta-row dt{margin:0;color:#6b7280;font-weight:500}.guidebook-meta-row dd{margin:0;font-weight:600}.guidebook-day-block{margin-top:14px;padding-top:4px}.guidebook-day-head{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.4;break-after:avoid;page-break-after:avoid}.guidebook-day-remark{margin:0 0 10px;font-size:13px;line-height:1.55;color:#374151;white-space:pre-wrap;word-break:break-word}.guidebook-day-empty{margin:0;font-size:13px}.guidebook-cross-day{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:#f0fdf4;border:1px solid rgba(16,185,129,.2);font-size:13px;line-height:1.45;display:flex;flex-direction:column;gap:4px;break-inside:avoid;page-break-inside:avoid}.guidebook-cross-day-label{font-weight:600;color:#047857}.guidebook-cross-day-hint{color:#6b7280;font-size:12px}.guidebook-stop-list{list-style:none;margin:0;padding:0}.guidebook-stop-item{margin:0 0 10px}.guidebook-stop-card{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #eef0f2;border-radius:10px;background:#fafafa;break-inside:avoid;page-break-inside:avoid}.guidebook-stop-index{flex-shrink:0;width:22px;height:22px;border-radius:999px;background:#10b981;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.guidebook-stop-body{min-width:0;flex:1}.guidebook-stop-name{margin:0;font-size:15px;font-weight:700;line-height:1.35;word-break:break-word}.guidebook-stop-time{margin:4px 0 0;font-size:13px;font-weight:600;color:#047857}.guidebook-stop-address,.guidebook-stop-note{margin:4px 0 0;font-size:12px;line-height:1.45;color:#6b7280;white-space:pre-wrap;word-break:break-word}.guidebook-leg-line{margin:4px 0 0 32px;font-size:12px;color:#4b5563;break-inside:avoid;page-break-inside:avoid}.guidebook-unplanned-block{margin-top:18px;padding-top:12px;border-top:1px dashed #d1d5db}.guidebook-doc-foot{margin-top:20px;padding-top:12px;border-top:1px solid #eef0f2;text-align:center}.guidebook-mark{display:inline-block;font-size:12px;font-weight:600;color:#047857;letter-spacing:.04em}.guidebook-screen-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}.route-share-page .route-share-layout{display:flex;flex-direction:column;gap:12px}.route-share-map-block{min-width:0}.route-share-map-wrap{min-height:220px;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.route-share-readonly{margin:0 0 8px;font-size:12px}.plan-share-unsaved-warn{margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#fff7ed;border:1px solid rgba(234,88,12,.25);color:#9a3412;font-size:13px;line-height:1.45}@media(min-width:960px){.route-share-page .route-share-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.1fr);gap:14px;align-items:start}.route-share-map-wrap{min-height:360px}}@media print{.route-share-map-block{display:none!important}}@media print{@page{margin:14mm 12mm}body{background:#fff!important}.tab-bar,.sub-page-top,.guidebook-screen-only,.plan-top-actions{display:none!important}.sub-page,.guidebook-page{min-height:auto;background:#fff!important}.sub-page-body{padding:0!important;max-width:none!important}.guidebook-document{border:none;border-radius:0;padding:0;box-shadow:none}.guidebook-day-block,.guidebook-unplanned-block{break-inside:avoid;page-break-inside:avoid}.guidebook-stop-card,.guidebook-cross-day{background:#fff;border-color:#ccc}.guidebook-stop-index{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.tab-page{min-height:calc(100dvh - var(--tab-h) - env(safe-area-inset-bottom));background:var(--bg-main-gradient);display:flex;flex-direction:column}.tab-page-body{flex:1;padding:0 var(--page-pad) 20px}.page-top-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px var(--page-pad);min-height:48px;flex-shrink:0;background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,transparent 100%)}.page-top-title{position:absolute;left:50%;transform:translate(-50%);margin:0;font-size:17px;font-weight:650;color:var(--text-main);max-width:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.page-top-bar{position:relative}.page-top-spacer{width:44px;height:44px;flex-shrink:0}.page-top-action{flex-shrink:0;font-size:13px;font-weight:650;color:var(--primary-color-deep);text-decoration:none;padding:8px 10px;border-radius:999px;background:#10b9811a;border:1px solid rgba(16,185,129,.25)}.mall-page{overflow:hidden;background:linear-gradient(180deg,#f7f9fa,#f1f5f4)}.mall-page .page-top-bar{background:#ffffffb8}.mall-page .nav-menu-btn{width:40px;height:40px;border-radius:12px}.mall-page .page-top-action{padding:8px 4px;border:0;background:transparent;color:var(--primary-color-deep);font-size:13px}.mall-page .checkout-closed-banner{margin:8px 0 10px;padding:8px 10px;flex-direction:row;align-items:center;gap:8px;border-radius:10px;font-size:11px;line-height:1.45}.mall-page .checkout-closed-text{flex:1;min-width:0}.mall-page .checkout-closed-action{flex:0 0 auto;width:auto;align-self:center;min-height:28px;padding:4px 9px;font-size:11px;white-space:nowrap}.mall-top{flex-shrink:0;padding:4px var(--page-pad) 0}.mall-body{flex:1;overflow-y:auto;padding:4px var(--page-pad) calc(16px + var(--tab-h) + env(safe-area-inset-bottom));min-height:0}.mall-discovery-expand{width:100%;margin:4px 0 10px;padding:10px 12px;border:1px solid rgba(16,185,129,.2);border-radius:12px;background:#ffffffdb;color:var(--primary-color-deep);font-size:12px;font-weight:650;cursor:pointer}.mall-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:14px 2px 9px}.mall-results-head h2{margin:0;font-size:16px;line-height:1.3;font-weight:760;color:var(--text-main)}.mall-trip-context{width:100%;min-height:54px;margin-top:10px;padding:9px 10px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-glow);border-left:3px solid var(--primary-color);border-radius:13px;background:#fffffff0;box-shadow:0 3px 10px #0f172a0a;color:inherit;text-align:left;cursor:pointer;font:inherit}.mall-trip-mark{width:30px;height:30px;flex:0 0 auto;position:relative;display:grid;place-items:center;border-radius:9px;background:#10b9811a}.mall-trip-mark:before,.mall-trip-mark:after{content:"";position:absolute;border-radius:999px;background:var(--primary-color)}.mall-trip-mark:before{width:15px;height:2px}.mall-trip-mark:after{width:2px;height:15px}.mall-trip-mark span{width:5px;height:5px;z-index:1;border-radius:50%;background:var(--accent, #e8afc0);box-shadow:0 0 0 2px #10b9811a}.mall-trip-copy{flex:1;min-width:0;display:flex;flex-direction:column}.mall-trip-eyebrow{font-size:10px;line-height:1.25;font-weight:700;letter-spacing:.1em;color:var(--primary-color-deep)}.mall-trip-value{margin-top:2px;font-size:13.5px;line-height:1.35;font-weight:650;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mall-trip-action{flex:0 0 auto;min-height:32px;padding:0 8px 0 10px;display:inline-flex;align-items:center;gap:4px;border-radius:10px;background:#10b9811a;color:var(--primary-color-deep);font-size:11px;font-weight:650}.mall-chevron{width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}.mall-home-section{margin-top:11px;padding:12px 10px 9px;border-radius:13px;background:#fffffff0;border:1px solid var(--border-glow);box-shadow:0 3px 10px #0f172a0a}.mall-home-heading{min-height:40px;margin-bottom:7px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mall-home-kicker{display:block;font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.14em;color:var(--primary-color)}.mall-home-title{display:block;margin:3px 0 0;font-size:15.5px;line-height:1.3;font-weight:760;color:var(--text-main)}.mall-home-caption{flex:0 0 auto;margin-top:2px;padding:4px 7px;border-radius:6px;background:#10b9811a;color:var(--primary-color-deep);font-size:9.5px;line-height:1.2;font-weight:650}.mall-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px 6px}.mall-channel-item{min-width:0;min-height:86px;padding:5px 1px 4px;display:flex;flex-direction:column;align-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;text-align:center;cursor:pointer;font:inherit;user-select:none;-webkit-user-select:none}.mall-channel-item:active{opacity:.8;transform:scale(.97)}.mall-channel-item.is-active{background:#10b98114;border-color:#10b9812e}.mall-channel-seal{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eaf7f5;border:1px solid rgba(42,173,166,.2);color:#1c7f7a;font-size:15px;line-height:1;font-weight:800;box-shadow:0 2px 8px #0000000a;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease}.mall-channel-seal svg{width:22px;height:22px;display:block}.mall-channel-item.tone-blue .mall-channel-seal{background:#eff6ff;border-color:#2563eb2e;color:#2563eb}.mall-channel-item.tone-emerald .mall-channel-seal{background:#ecfdf5;border-color:#0596692e;color:#059669}.mall-channel-item.tone-amber .mall-channel-seal{background:#fffbeb;border-color:#d9770633;color:#d97706}.mall-channel-item.tone-coral .mall-channel-seal{background:#fff1f2;border-color:#e11d4833;color:#e11d48}.mall-channel-item.tone-violet .mall-channel-seal{background:#faf5ff;border-color:#9333ea33;color:#9333ea}.mall-channel-item:hover .mall-channel-seal{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.mall-channel-item:active .mall-channel-seal{transform:scale(.92)}.mall-channel-label{width:100%;margin-top:5px;font-size:11px;line-height:1.25;font-weight:650;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mall-channel-note{width:100%;margin-top:2px;font-size:8.5px;line-height:1.2;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mall-channel-hint{margin:6px 0 0;text-align:center;font-size:10px;line-height:1.35;color:var(--text-muted)}.mall-ai-card{margin-top:10px;padding:10px 10px 9px;border:1px solid var(--border-glow);border-left:3px solid var(--primary-color);border-radius:13px;background:#fffffff0;box-shadow:0 3px 10px #0f172a0a}.mall-ai-main{width:100%;padding:0;display:flex;align-items:flex-start;gap:7px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.mall-ai-mark{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.14);color:#1c7f7a;font-size:11px;font-weight:850}.mall-ai-copy{flex:1;min-width:0;display:flex;flex-direction:column}.mall-ai-eyebrow{font-size:10px;line-height:1.25;font-weight:700;letter-spacing:.1em;color:#1c7f7a}.mall-ai-title{margin-top:3px;font-size:14px;line-height:1.4;font-weight:680;color:var(--text-main)}.mall-ai-context{margin-top:3px;font-size:11px;line-height:1.35;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mall-ai-action{flex:0 0 auto;min-height:28px;padding:0 5px 0 7px;display:inline-flex;align-items:center;gap:3px;border-radius:10px;background:#10b9811a;border:1px solid rgba(16,185,129,.16);color:#1c7f7a;font-size:11px;font-weight:650}.mall-ai-prompts{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px;padding:2px 1px 1px}.mall-ai-prompt{flex:0 0 auto;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(16,185,129,.14);background:#10b98114;color:#176f6b;font-size:11px;line-height:1.25;font-weight:580;cursor:pointer;white-space:nowrap}.mall-operation-section{margin-top:14px;padding:2px 1px 0}.mall-operation-head{min-height:40px;margin-bottom:8px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mall-operation-kicker{display:block;font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.16em;color:var(--primary-color)}.mall-operation-title{display:block;margin:3px 0 0;font-size:15.5px;line-height:1.3;font-weight:760;color:var(--text-main)}.mall-operation-more{min-width:44px;min-height:44px;padding:0 4px;border:0;background:transparent;color:var(--primary-color);font-size:12px;font-weight:650;cursor:pointer}.mall-operation-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mall-operation-tiles.count-1{grid-template-columns:minmax(0,1fr)}.mall-operation-tile{min-width:0;min-height:84px;padding:11px 11px 10px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(16,185,129,.24);border-radius:14px 14px 14px 5px;background:linear-gradient(160deg,#eefbfa 8%,#7fded9 120%);box-shadow:inset 0 0 0 1px #ffffff59;color:inherit;text-align:left;cursor:pointer;font:inherit}.mall-operation-tile.tone-amber{border-color:#e8afc073;background:linear-gradient(160deg,#fff7f9 8%,#e8afc0 120%)}.mall-operation-tile.tone-sky{background:linear-gradient(160deg,#f3fcfb 8%,#b8ede9 130%)}.mall-operation-tile.tone-rose{border-color:#c47b8c47;background:linear-gradient(160deg,#fff1f4 8%,#f3c4d0 130%)}.mall-operation-mark{font-size:9px;line-height:1.2;font-weight:750;letter-spacing:.16em;color:#1c7f7a}.mall-operation-tile.tone-amber .mall-operation-mark,.mall-operation-tile.tone-rose .mall-operation-mark{color:#c47b8c}.mall-operation-name{display:block;margin-top:5px;font-size:14px;line-height:1.3;font-weight:720;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mall-operation-meta{display:block;margin-top:3px;font-size:10px;line-height:1.25;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mall-context-sheet .field-label{margin-top:12px}.mall-context-dates{display:flex;gap:10px}.mall-context-dates .field-label{flex:1;min-width:0}.mall-channel-sheet .hint{margin:8px 0 0;line-height:1.55}.mall-hero{position:relative;overflow:hidden;padding:14px 16px;border-radius:16px;background:#ffffffe0;border:1px solid rgba(16,185,129,.16);box-shadow:0 12px 36px #0f172a0f}.mall-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 65% 90% at 0% 0%,rgba(251,191,36,.12),transparent 55%),radial-gradient(ellipse 50% 70% at 100% 0%,rgba(16,185,129,.12),transparent 50%)}.mall-hero-eyebrow{position:relative;display:block;font-size:12px;letter-spacing:.08em;color:var(--primary-color);font-weight:600;margin-bottom:4px}.mall-hero-subtitle{position:relative;margin:0;font-size:15px;line-height:1.45;font-weight:550;color:var(--text-sub)}.mall-toolbar{display:flex;align-items:center;gap:10px;margin-top:8px}.search-input-wrapper{position:relative;flex:1;min-width:0;display:flex;align-items:center;min-height:44px;padding:0 12px 0 10px;background:var(--glass-bg);border:1px solid var(--border-glow);border-radius:999px;box-shadow:var(--shadow-composer)}.icon-search{width:16px;height:16px;margin-right:8px;border:2px solid var(--text-muted);border-radius:50%;position:relative;flex-shrink:0}.icon-search:after{content:"";position:absolute;width:6px;height:2px;background:var(--text-muted);right:-5px;bottom:-2px;transform:rotate(45deg)}.search-input{flex:1;border:0;background:transparent;font-size:15px;color:var(--text-main);outline:none;min-width:0}.search-clear{border:0;background:#0f172a14;width:24px;height:24px;border-radius:50%;font-size:16px;line-height:1;color:var(--text-sub);cursor:pointer}.mall-search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:60;padding:8px;border:1px solid var(--border-glow);border-radius:16px;background:var(--card-bg, #fff);box-shadow:0 18px 40px #0f172a29}.mall-search-suggestions-title{padding:4px 8px 6px;color:var(--text-muted);font-size:12px}.mall-search-suggestion{width:100%;min-height:40px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--text-main);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.mall-search-suggestion:hover,.mall-search-suggestion:focus-visible{background:#2563eb14;outline:none}.mall-search-suggestion small{color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.quick-actions{display:flex;gap:8px;flex-shrink:0}.quick-btn{position:relative;width:44px;height:44px;border-radius:14px;border:1px solid var(--border-glow);background:var(--glass-bg);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px #0f172a0f}.icon-heart{width:18px;height:16px;background:var(--primary-color);clip-path:polygon(50% 100%,0 35%,14% 0,50% 22%,86% 0,100% 35%)}.icon-cart{width:18px;height:14px;border:2px solid var(--primary-color-deep);border-radius:3px 3px 6px 6px;position:relative}.icon-cart:before{content:"";position:absolute;left:3px;top:-6px;width:8px;height:6px;border:2px solid var(--primary-color-deep);border-bottom:none;border-radius:6px 6px 0 0}.service-inbox-name{display:flex;align-items:center;gap:6px;min-width:0}.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:1}.quick-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.filter-panel{margin-top:12px}.filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.filter-label{flex-shrink:0;font-size:12px;color:var(--text-muted);font-weight:600}.filter-scroll{flex:1;overflow-x:auto;min-width:0;-webkit-overflow-scrolling:touch}.filter-chip-row{display:flex;gap:8px;padding-bottom:2px}.filter-chip{flex-shrink:0;border:1px solid var(--chip-border, rgba(0, 0, 0, .08));background:#ffffffd9;border-radius:999px;padding:8px 14px;font-size:13px;color:var(--text-main);cursor:pointer}.filter-chip.active{border-color:#10b98173;background:linear-gradient(135deg,#10b9811f,#05966914);color:var(--primary-color-deep);font-weight:600}.filter-chip.compact{padding:6px 11px;font-size:12px}.filter-more-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 2px}.filter-more-toggle,.filter-reset{border:0;background:transparent;color:var(--primary-color-deep);font-size:12px;padding:4px 0;cursor:pointer}.filter-more-toggle{display:inline-flex;align-items:center;gap:6px;font-weight:600}.filter-more-toggle.open{color:var(--text-sub)}.filter-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#10b98129;color:var(--primary-color-deep);font-size:11px}.filter-reset{color:var(--text-sub)}.mall-advanced-filters{margin:6px 0 4px;padding:10px 12px;border:1px solid var(--border-glow);border-radius:14px;background:#fffffff2;max-height:60vh;overflow-y:auto;box-shadow:0 4px 16px #00000014}.filter-text-grid{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}.filter-text-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.filter-text-field .field{width:180px;min-height:34px;padding:0 10px}.filter-range-grid{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}.filter-range-field{display:flex;align-items:center;gap:6px;margin:0;padding:0;border:0;color:var(--text-muted);font-size:12px}.filter-range-field legend{margin-bottom:4px}.filter-range-field .field{width:92px;min-height:34px;padding:0 8px}.filter-date-grid{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}.filter-date-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-muted)}.filter-date-field .field{width:auto;min-height:34px;padding:0 10px}.mall-filter-notice{margin:0 0 8px}.mall-store-results{margin-bottom:14px}.mall-store-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.mall-store-results-head h2{margin:0;font-size:15px}.mall-store-results-head .hint{margin:0}.mall-store-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mall-store-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-glow);border-radius:14px;background:#ffffffe6;color:inherit;text-decoration:none}.mall-store-mark{width:38px;height:38px;border-radius:12px;background:#10b9811f;color:var(--primary-color-deep);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;font-weight:700}.mall-store-mark img{width:100%;height:100%;object-fit:cover}.mall-store-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mall-store-copy strong{font-size:14px}.mall-store-copy span{font-size:12px;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mall-empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}.mall-empty-actions .btn{width:auto;min-height:38px;padding:0 16px;font-size:13px}.mall-zero-suggest{margin-top:12px}.mall-zero-suggest .filter-chip-row{flex-wrap:wrap;justify-content:center;margin-top:6px}.mall-loading,.mall-error{font-size:13px;margin:8px 0}.mall-error{color:var(--danger);display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#ffffffd1;border:1px solid var(--border-glow)}.mall-error-text{flex:1;min-width:0;margin:0;line-height:1.5}.mall-error-retry{flex:none;width:auto;min-height:36px;padding:6px 18px;font-size:13px;background:#fff}.mall-empty{text-align:center;padding:24px 16px;border-radius:16px;background:#ffffffd1;border:1px solid var(--border-glow);margin-bottom:12px}.mall-empty-title{margin:0 0 6px;font-weight:650}.mall-empty-desc{margin:0;font-size:13px;color:var(--text-sub);line-height:1.55}button.product-card.pick-product-card{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:stretch;gap:12px;width:100%;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}button.product-card.pick-product-card:disabled{opacity:.6;cursor:wait}.mall-product-list .product-card{border-radius:16px;border-color:#10b98124;box-shadow:0 10px 28px #0f172a0f;background:#ffffffeb}.mall-product-list .product-body .chip{font-size:11px;padding:2px 8px;border-radius:999px;background:#10b9811a;border-color:#10b98133;color:var(--primary-color-deep)}.mall-product-list .price{color:var(--primary-color-deep)}.profile-page{overflow:hidden}.profile-body{flex:1;overflow-y:auto;padding:4px 12px 20px;min-height:0}.user-card{position:relative;width:100%;margin:0 0 10px;padding:0;border-radius:20px;overflow:hidden;text-align:left;cursor:pointer;background:#ffffffe6;border:1px solid rgba(16,185,129,.18);box-sizing:border-box;box-shadow:0 12px 36px #0f172a0f}.user-card-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 65% 75% at 90% 0%,rgba(16,185,129,.12),transparent 55%),radial-gradient(ellipse 50% 60% at 10% 100%,rgba(56,189,248,.08),transparent 50%)}.user-card-inner{position:relative;display:flex;align-items:center;padding:18px 16px;gap:6px}.user-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:700;color:var(--primary-color-deep);background:var(--bg-btn);border:2px solid rgba(16,185,129,.65);box-shadow:0 0 0 6px #10b9811f;flex-shrink:0;margin-right:8px;overflow:hidden}.user-avatar .profile-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.user-name{font-size:18px;font-weight:750;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-desc{font-size:13px;color:var(--text-sub)}.user-credits{display:inline-flex;align-items:center;gap:5px;margin-top:3px;padding:3px 10px;border-radius:999px;background:#d4a01724;border:1px solid rgba(212,160,23,.28);text-decoration:none;color:inherit;width:fit-content}.user-credits-label{font-size:11px;color:#92400e}.user-credits-value{font-size:13px;font-weight:800;color:#d4a017}.profile-body .menu-card,.profile-body .order-card,.profile-body .platform-member-card,.profile-body .lab-store-card{margin-bottom:10px}.profile-body .order-card{padding:12px 14px 10px}.profile-body .order-stat-item{padding:6px 2px;gap:5px}.login-btn{flex-shrink:0;padding:8px 14px;border-radius:999px;background:var(--btn-primary-bg);color:#fff;font-size:13px;font-weight:650}.user-arrow{flex-shrink:0;font-size:22px;color:var(--text-muted);padding-right:4px}.order-card{margin-bottom:12px;padding:14px 14px 12px;border-radius:16px;background:#ffffffeb;border:1px solid var(--border-main);box-shadow:0 8px 24px #0f172a0d}.order-header{display:flex;justify-content:space-between;align-items:center;text-decoration:none;color:inherit;margin-bottom:12px}.order-title{font-weight:650;font-size:15px}.order-more{font-size:13px;color:var(--text-sub);display:flex;align-items:center;gap:2px}.order-arrow{color:var(--text-muted)}.orders-filter-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0 0 12px}.orders-filter-chip{min-width:0;min-height:34px;padding:0 4px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#ffffffb8;color:var(--text-sub);font-size:12.5px;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.orders-filter-chip.on{border-color:transparent;background:var(--btn-primary-bg);color:#fff}.order-list-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}.order-list-title{display:-webkit-box;overflow:hidden;font-size:15px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.order-list-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.order-list-meta .hint{margin:0}.order-list-amount{flex:0 0 auto;color:var(--primary-color-deep);font-size:16px;font-weight:700;white-space:nowrap}.order-paid-card{border-color:#10b98152;background:#10b98114}.order-code-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.order-code-text{flex:1;min-width:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.order-code-text strong{white-space:nowrap}.order-code-copy{flex:0 0 auto;width:auto;min-width:64px;min-height:34px;padding:0 12px;font-size:13px}.order-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.order-actions .btn{flex:0 1 auto;width:auto;min-height:38px;padding:0 14px;font-size:13px}.order-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.order-stat-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:inherit;padding:8px 4px;border-radius:12px}.order-stat-item:active{background:#10b98114}.order-stat-icon-wrap{position:relative;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f1f5f9;border:1px solid rgba(15,23,42,.05)}.order-stat-icon{width:18px;height:18px;fill:none;stroke:#475569;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.order-stat-count{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:#ef4444;color:#fff;font-size:10px;line-height:1;font-weight:700;box-sizing:border-box}.order-stat-name{font-size:11px;color:var(--text-sub);text-align:center}.platform-member-card,.lab-store-card{margin-bottom:12px;padding:14px;border-radius:16px;text-decoration:none;color:inherit}.platform-member-card{border:1px solid rgba(16,185,129,.24);background:linear-gradient(135deg,#ecfdf5f5,#fffffff0);box-shadow:0 8px 24px #0f172a0d}.platform-member-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.platform-member-head strong{font-size:15px}.platform-member-head span{color:var(--primary-color-deep);font-size:13px;font-weight:650}.platform-member-track{height:7px;margin:10px 0 8px}.platform-member-hint{margin:0 0 10px;font-size:12px;line-height:1.5}.platform-member-benefit{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px 12px;border:1px solid rgba(16,185,129,.2);border-radius:12px;background:#ffffffb8;text-align:left;color:inherit}.platform-member-benefit:disabled{opacity:1}.platform-member-benefit-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.platform-member-benefit-copy strong{font-size:13px}.platform-member-benefit-copy span{font-size:12px;color:var(--text-sub);line-height:1.45}.lab-store-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(16,185,129,.28);background:linear-gradient(135deg,#d1fae5b3,#ffffffe6)}.lab-store-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.lab-store-copy strong{font-size:14px}.lab-store-copy span{font-size:12px;color:var(--text-sub)}.menu-card{margin-bottom:12px;border-radius:16px;overflow:hidden;background:#ffffffeb;border:1px solid var(--border-main);box-shadow:0 8px 24px #0f172a0d}.profile-menu-item{display:flex;width:100%;align-items:center;justify-content:space-between;padding:14px;text-align:left;text-decoration:none;color:inherit;border:0;border-bottom:1px solid var(--border-main);background:transparent;font:inherit}.profile-menu-item:last-child{border-bottom:none}.menu-left{display:flex;align-items:center;gap:10px}.menu-icon-wrap{width:32px;height:32px;border-radius:10px;background:#10b9811a;display:grid;place-items:center;font-size:16px;color:var(--primary-color-deep)}.menu-icon-wrap svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.menu-text-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}.menu-text{font-size:15px}.menu-sub{font-size:12px;line-height:1.35;color:var(--text-muted)}.menu-icon-img{width:20px;height:20px;object-fit:contain}.menu-group-title{margin:0;padding:10px 14px 2px;font-size:12px;font-weight:650;letter-spacing:.02em;color:var(--text-muted)}.profile-menu-notice{margin:0 0 10px}.profile-menu-item.is-unsupported{opacity:.58}.menu-arrow{color:var(--text-muted);font-size:18px}.locale-card{padding:14px}.locale-card-title{margin:0 0 10px;font-size:13px;color:var(--text-muted);font-weight:600}.locale-row{display:flex;flex-wrap:wrap;gap:8px}.profile-logout,.profile-login-main{margin-top:8px}.app-shell.sub-route{padding:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.app-shell.sub-route.plan-edit-shell,.app-shell.sub-route:has(.plan-edit-page),.app-shell.sub-route.product-page-shell,.app-shell.sub-route:has(.product-page-shell),.app-shell.sub-route:has(.product-detail){max-width:1180px}.sub-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-main-gradient)}.sub-page-top{position:relative;z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px var(--page-pad);min-height:48px;flex-shrink:0;background:linear-gradient(180deg,rgba(255,255,255,.45) 0%,transparent 100%)}.sub-back{position:relative;z-index:2;border:0;background:var(--bg-btn);border:1px solid var(--border-main);border-radius:999px;padding:8px 12px;min-height:44px;min-width:44px;font-size:14px;color:var(--text-main);cursor:pointer;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sub-page-top .page-top-title{position:static;left:auto;transform:none;justify-self:center;max-width:100%;text-align:center;pointer-events:none}.sub-page-top>:last-child{justify-self:end}.sub-page-body{flex:1;padding:4px var(--page-pad) 24px;overflow-y:auto}.sub-page-body>h2:first-child{margin:4px 0 8px;font-size:22px;line-height:1.35}.sub-page-body>.card+.card{margin-top:10px}.sub-page-body>.card+.btn,.sub-page-body>.empty-card+.btn,.sub-page-body>.product-list+.btn,.sub-page-body>.trip-list+.btn,.sub-page-body>.feed-list+.btn,.sub-page-body>.btn+.btn{margin-top:10px}.app-shell.sub-route .page{min-height:100dvh;background:var(--bg-main-gradient);padding:12px var(--page-pad) 24px;box-sizing:border-box}.login-page{min-height:100dvh;padding:8px 16px 32px;background:var(--bg-main-gradient);box-sizing:border-box}.login-nav{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-bottom:8px}.login-skip{border:0;background:transparent;color:var(--primary-color-deep);font-size:14px;font-weight:600;cursor:pointer}.login-nav-title{font-size:16px;font-weight:650}.login-tip-card{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:12px 0;border-radius:14px;background:#10b98114;border:1px solid rgba(16,185,129,.22)}.login-tip-card p{margin:0;font-size:13px;line-height:1.55;color:var(--text-main)}.login-tip-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--primary-color);flex-shrink:0}.login-bind-hint{margin:0 0 12px;font-size:12px}.login-external-hint{margin:0 0 12px;font-size:12px;line-height:1.55;color:var(--text-sub)}.login-form-card{padding:16px;border-radius:18px;background:#ffffffeb;border:1px solid var(--border-main);box-shadow:0 12px 36px #0f172a0f}.login-form-card .btn-ghost{margin-top:10px}.login-wechat{background:#07c160;border-color:#07c160;color:#fff}.login-wechat:disabled{opacity:.65}.checkout-closed-banner{margin:0 16px 12px;display:flex;flex-direction:column;gap:8px;align-items:stretch}.checkout-closed-text{margin:0}.checkout-closed-action{align-self:flex-start;min-height:36px;padding:6px 14px;font-size:13px}.login-mock-banner{margin:0 0 12px;padding:10px 12px;border-radius:12px;font-size:12px;line-height:1.5;color:#92400e;background:#fbbf242e;border:1px solid rgba(245,158,11,.35)}.session-expired-banner{position:fixed;top:0;left:0;right:0;z-index:90;display:flex;flex-direction:column;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;font-size:12px;line-height:1.5;color:#7c2d12;background:#fef3c7fa;border-bottom:1px solid rgba(245,158,11,.45);box-shadow:0 2px 10px #0000001f}.session-expired-text{margin:0}.session-expired-actions{display:flex;gap:8px;justify-content:flex-end}.session-expired-dismiss,.session-expired-cta{min-height:32px;padding:4px 14px;border-radius:999px;font-size:12px;text-decoration:none}.session-expired-cta{color:#fff;background:#b45309;border-color:#b45309}.site-footer{margin-top:28px;padding:16px 8px 8px;text-align:center;font-size:11px;line-height:1.6;color:var(--text-sub)}.site-footer-company{margin:0 0 4px}.site-footer-icp,.site-footer-icp-placeholder{margin:0;color:var(--text-sub)}.site-footer-icp{text-decoration:none}.site-footer-icp:hover{text-decoration:underline}.login-alipay{margin-top:10px;background:#1677ff;border-color:#1677ff;color:#fff}.login-alipay:disabled{opacity:.65}.product-detail{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.product-unavailable-title{margin:0 0 6px;font-size:21px;line-height:1.35;font-weight:750;color:var(--text-main);overflow-wrap:anywhere;text-wrap:balance}.product-detail-bar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(8px + env(safe-area-inset-bottom));width:min(452px,calc(100% - 28px));box-sizing:border-box;display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px;background:#fffffff5;border:1px solid var(--border-main);border-radius:16px;box-shadow:0 -6px 24px #0f172a14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30}.product-bar-actions{display:flex;align-items:center;gap:10px}.product-bar-side{display:flex;flex-direction:row;gap:8px;flex:0 0 auto}.product-bar-icon{min-width:44px;min-height:40px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;color:var(--text-sub)}.product-bar-icon:disabled{opacity:.45}.product-bar-summary{display:flex;flex-direction:column;gap:2px;min-width:0}.product-bar-summary strong{font-size:17px;color:var(--primary-color-deep, #047857);line-height:1.2}.product-bar-summary span{font-size:12px;color:var(--text-sub);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.product-bar-hint{font-size:13px;color:var(--text-sub)}.product-bar-main{flex:1 1 auto;min-width:0;min-height:44px;padding:0 12px;font-size:15px}.route-page{overflow:hidden}.route-body{flex:1;overflow-y:auto;min-height:0}.route-hint{margin-top:0}.route-channel-scroll{display:flex;gap:8px;margin:0 0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.route-channel-scroll::-webkit-scrollbar{display:none}.route-channel-chip{flex:0 0 auto;min-height:36px;padding:0 15px;border:1px solid var(--border-glow);border-radius:999px;background:#ffffffe6;color:var(--text-main);font-size:12px;font-weight:600;cursor:pointer}.route-channel-chip.active{border-color:#10b98159;background:#10b9811f;color:var(--primary-color-deep)}.route-result-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 2px 8px;font-size:12px;color:var(--text-muted)}.route-result-actions{display:flex;gap:10px}.route-result-actions a{color:var(--primary-color-deep);font-size:12px;font-weight:600;text-decoration:none}.route-empty-state{padding:24px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:16px;background:#ffffffdb;border:1px solid var(--border-glow);margin-bottom:12px}.route-empty-icon{width:52px;height:52px;position:relative;display:block;border-radius:16px;background:#10b98117;border:1px solid rgba(16,185,129,.16);margin-bottom:10px}.route-empty-icon:before{content:"";position:absolute;inset:13px;border:2px solid var(--primary-color);border-radius:50%;border-left-color:transparent;transform:rotate(-35deg)}.route-empty-icon:after{content:"";position:absolute;left:25px;top:12px;width:2px;height:13px;background:var(--primary-color);transform:rotate(35deg);transform-origin:bottom}.route-empty-state strong{font-size:15px;color:var(--text-main)}.route-empty-state .hint{margin:6px 0 12px;line-height:1.5}.route-empty-state .btn{width:auto;min-height:38px;padding:0 20px;font-size:13px}.route-sync-row{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;color:var(--text-muted)}.route-sync-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.route-sync-loading .route-sync-dot{background:#f59e0b}.route-sync-synced .route-sync-dot{background:var(--primary-color)}.route-sync-error{color:var(--danger, #dc2626)}.route-sync-error .route-sync-dot{background:var(--danger, #dc2626)}.route-guest-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:12px 14px;border:1px dashed rgba(16,185,129,.45);border-radius:14px;background:#10b9810f}.route-guest-card>div{flex:1 1 auto;min-width:0}.route-guest-card .hint{margin:4px 0 0;line-height:1.45}.route-guest-card .btn{flex:0 0 auto;width:auto;white-space:nowrap}.route-trip-card{position:relative;display:flex;flex-direction:column;gap:4px}.trip-source-badge{align-self:flex-start;border-radius:999px;padding:2px 8px;font-size:11px;line-height:1.5;background:#0f172a0f;color:var(--text-muted)}.trip-source-badge.source-cloud{background:#10b9811f;color:var(--primary-color-deep)}.trip-source-badge.source-collab{background:#3b82f61f;color:#1d4ed8}.route-reminder-card{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(16,185,129,.3);background:linear-gradient(135deg,#ecfdf5f2,#ffffffe6)}.route-reminder-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:0;background:transparent;color:inherit;text-align:left;padding:0;font:inherit}.route-reminder-main strong{font-size:15px}.route-reminder-main .hint{margin:0}.route-reminder-kicker{font-size:11px;color:var(--primary-color-deep);font-weight:650}.route-reminder-cta{flex:0 0 auto;border:1px solid rgba(16,185,129,.35);border-radius:999px;background:#fff;color:var(--primary-color-deep);font-size:12px;padding:7px 12px;cursor:pointer}.route-reminder-cta.is-set{color:var(--text-muted);border-color:var(--line);cursor:default}.route-reminder-after-list{margin-top:12px}.route-service-card{margin:0 0 10px;padding:12px 14px;border:1px solid var(--border-glow);border-radius:14px;background:#ffffffd1}.route-service-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-service-head strong{font-size:14px}.route-service-count{min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:grid;place-items:center;background:#10b98124;color:var(--primary-color-deep);font-size:11px;font-weight:650}.route-service-chip{border-radius:999px;padding:2px 8px;background:#0f172a0f;color:var(--text-sub);font-size:11px}.route-service-next{margin:6px 0 8px}.route-service-unmatched{margin:-2px 0 6px;font-size:11px;color:#b45309}.route-service-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.route-service-head-actions a{color:var(--primary-color-deep);text-decoration:none;font-weight:600}.route-service-head-actions .route-purchased-toggle{margin-left:0}.route-service-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}.route-service-manage{margin-right:auto;padding:0;border:0;background:none;color:var(--text-muted);font:inherit;font-size:11px;cursor:pointer}.route-service-action{min-height:30px;padding:0 11px;border:1px solid rgba(16,185,129,.3);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--primary-color-deep);font-size:11px;font-weight:650;text-decoration:none}.route-service-actions .btn{width:auto;min-height:34px;padding:0 12px;font-size:12px}.route-service-chip.pending{background:#f59e0b24;color:#b45309}.route-service-chip.conflict{background:#dc26261f;color:#b91c1c}.route-purchased-toggle{margin-left:auto}.route-purchased-list{display:grid;gap:10px;margin-top:10px}.route-purchased-row{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffffb8}.route-purchased-main{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:3px}.route-purchased-main strong{font-size:14px}.route-purchased-main .hint{margin:0;line-height:1.4}.purchased-state{border-radius:999px;padding:2px 8px;font-size:11px;background:#0f172a0f;color:var(--text-sub);white-space:nowrap}.purchased-state.state-assignable{background:#10b98124;color:var(--primary-color-deep)}.purchased-state.state-conflict{background:#dc26261f;color:#b91c1c}.purchased-state.state-synced{background:#3b82f61f;color:#1d4ed8}.route-purchased-controls{flex:1 1 100%;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.route-purchased-controls .field{width:auto;min-height:32px;padding:0 8px;font-size:12px}.route-purchased-controls .btn,.route-purchased-view{width:auto;min-height:32px;padding:0 10px;font-size:12px}.route-purchased-conflict{flex:1 1 100%;margin:0;color:#b91c1c}.route-purchase-notice{margin:8px 0 0;color:var(--primary-color-deep)}.purchased-stop-badge{border-radius:999px;padding:1px 7px;font-size:10px;background:#f59e0b29;color:#b45309;white-space:nowrap}.route-trip-list{margin-top:8px}.route-trip-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 0;margin-top:8px;padding:0;list-style:none}.route-trip-cell{width:48.6%;min-width:0}.route-trip-grid.single .route-trip-cell{width:100%}.route-trip-card{display:flex;flex-direction:column;gap:0;text-decoration:none;color:inherit;width:100%;height:100%;text-align:left;border:1px solid rgba(16,185,129,.14);border-radius:14px;overflow:hidden;background:#ffffffeb;box-shadow:0 8px 24px #0f172a0d}.route-trip-cover-wrap{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#eef7f5}.route-trip-cover{width:100%;height:100%;object-fit:cover;display:block}.route-trip-cover-placeholder{display:grid;place-items:center;font-size:34px;background:radial-gradient(ellipse 65% 75% at 85% 10%,rgba(16,185,129,.2),transparent 60%),linear-gradient(150deg,#ecfdf5,#d9f3ef 55%,#f6fbf9)}.route-trip-type-badge{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:999px;background:#0f172aad;color:#fff;font-size:10px;font-weight:650;line-height:1.4}.route-trip-type-badge.is-draft{background:#b45309d1}.route-trip-cover-wrap .trip-source-badge{position:absolute;top:8px;right:8px;align-self:auto;background:#ffffffe6;color:#1c7f7a;box-shadow:0 2px 8px #0f172a14}.route-trip-cover-wrap .trip-source-badge.source-cloud{color:#1c7f7a}.route-trip-cover-wrap .trip-source-badge.source-collab{color:#1d4ed8}.route-trip-info{flex:1;display:flex;flex-direction:column;gap:3px;padding:9px 10px 10px;min-width:0}.route-trip-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;font-size:14px;line-height:1.36;font-weight:720;color:var(--text-main)}.route-trip-sub{display:block;font-size:11px;line-height:1.4;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-trip-updated{display:block;font-size:10px;color:var(--text-muted)}.route-trip-bottom{margin-top:auto;padding-top:7px;display:flex;align-items:flex-end;justify-content:flex-end;gap:8px}.route-trip-price{margin-right:auto;font-size:15px;line-height:1;font-weight:800;color:var(--primary-color-deep)}.route-trip-price small{margin-left:2px;font-size:10px;font-weight:600;color:var(--text-sub)}.route-trip-price.is-pending{font-size:11px;font-weight:500;color:var(--text-sub)}.route-trip-detail{flex-shrink:0;padding:4px 10px;border-radius:999px;background:var(--btn-primary-bg, linear-gradient(135deg, #3dc8c0 0%, #2aada6 100%));color:#fff;font-size:10px;font-weight:700;line-height:1.4}.quick-btn-plus{font-size:22px;font-weight:400;color:var(--primary-color-deep);line-height:1}.filter-chip-link{display:inline-flex;align-items:center;text-decoration:none;color:inherit}.feed-card{border-color:#10b98124;background:#ffffffeb;box-shadow:0 8px 24px #0f172a0d}.feed-card-rich{display:block;text-decoration:none;color:inherit;padding:14px 16px}.feed-card-rich .feed-card-top{margin-bottom:10px}.feed-card-rich .author-main{display:flex;align-items:center;gap:10px}.feed-card-rich .author-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--bg-btn, #f1f5f9);flex-shrink:0}.feed-card-rich .author-avatar-fallback{display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--primary-color-deep)}.feed-card-rich .author-meta{flex:1;min-width:0}.feed-card-rich .author-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.feed-card-rich .author-name{font-weight:700;font-size:15px}.feed-card-rich .author-badge{font-size:11px;padding:2px 8px;border-radius:999px;background:#d1fae5;color:#065f46}.feed-card-rich .author-badge.official{color:#0f172a;background:#a7f3d0}.feed-card-rich .author-badge.score-s{color:#7c2d12;background:#fed7aa}.feed-card-rich .author-badge.score-a{color:#065f46;background:#10b98129;border:1px solid rgba(16,185,129,.22)}.feed-card-rich .guide-cover{background:linear-gradient(135deg,#10b9812e,#0ea5e914)}.feed-card-rich .guide-cover-mark{display:inline-block;margin-top:8px;font-size:12px;padding:4px 10px;border-radius:999px;background:#ffffffd9;color:var(--primary-color-deep)}.feed-card-rich .guide-card.compact{margin-top:10px;padding:0;border:0;border-radius:0;background:transparent}.feed-card-rich .guide-card.compact .guide-day{margin-top:8px;padding:10px 12px;border:1px solid rgba(16,185,129,.1);border-radius:12px;background:#f8fafc}.feed-card-rich .guide-note,.feed-card-rich .guide-budget-text,.feed-card-rich .guide-more{font-size:13px;color:var(--hint);margin:6px 0 0}.feed-card-rich .guide-meta-text{font-size:13px;color:var(--text-main, #0f172a)}.feed-card-rich .guide-day-title{font-weight:700;margin:8px 0 4px;font-size:14px}.feed-card-rich .guide-stop-row{display:flex;gap:8px;font-size:13px;margin:2px 0}.feed-card-rich .guide-stop-ord{width:18px;height:18px;border-radius:50%;background:#10b98126;color:var(--primary-color-deep);font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.community-detail .detail-title,.detail-title{font-size:1.25rem;font-weight:700;margin:12px 0 8px}.detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.guide-card.detail-guide{margin:12px 0;padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid rgba(16,185,129,.14)}.guide-note{margin:0 0 8px;color:var(--text-sub);line-height:1.55}.guide-meta-row{display:flex;flex-wrap:wrap;gap:6px}.guide-meta-text{font-size:13px;color:var(--text-main);line-height:1.45}.guide-budget-text{margin:0;font-size:14px;font-weight:650;color:var(--primary-color-deep);line-height:1.45}.guide-day{margin-top:12px}.guide-day-title{margin:0 0 6px;font-size:14px;font-weight:700;line-height:1.45}.guide-stop-row{display:flex;align-items:flex-start;gap:8px;margin:3px 0;font-size:13px;line-height:1.5}.guide-stop-ord{flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#10b9811f;color:var(--primary-color-deep);font-size:11px;line-height:1}.guide-stop-name{min-width:0;overflow-wrap:anywhere}.guide-more{margin:8px 0 0;font-size:12px;color:var(--text-sub)}.guide-card.detail-guide .guide-budget{margin-top:8px}.guide-card.detail-guide .guide-budget-sub{font-size:12px;color:var(--hint);margin-top:4px}.guide-day-empty-text{font-size:13px;color:var(--hint);margin:4px 0 8px}.guide-copy-btn{margin:12px 0}.messages-contact{margin-bottom:12px}.guide-target-sheet{max-height:84vh;overflow-y:auto}.guide-target-options{display:grid;gap:8px;margin-top:12px}.guide-target-option{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;color:inherit}.guide-target-option.create{border-style:dashed;border-color:#10b98180;background:#10b9810f}.guide-target-option:disabled{opacity:.55}.guide-target-mark{width:34px;height:34px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;background:#10b9811f;color:var(--primary-color-deep);font-weight:650}.guide-target-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.guide-target-copy strong{font-size:14px}.guide-target-copy span{font-size:12px;color:var(--text-sub);line-height:1.4}.guide-target-section{margin:10px 0 2px;font-size:12px;font-weight:650;color:var(--text-muted)}.guide-target-days{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.sheet-actions{flex-wrap:wrap;gap:8px}.sheet-actions>.btn{flex:1 1 0;width:auto;min-width:0}.sheet-service-link{display:block;margin:6px auto 0;min-height:32px;font-size:13px}.feed-card-rich .author-sub{display:block;font-size:12px;color:var(--hint, #64748b);margin-top:2px}.feed-card-rich .cover-placeholder{margin-top:8px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#10b9811f,#10b9810f)}.feed-card-rich .cover-placeholder-title{display:block;font-weight:700;font-size:16px}.feed-card-rich .cover-placeholder-text{display:block;margin-top:6px;font-size:14px;color:var(--hint);line-height:1.6}.feed-card-rich .media-scroll{overflow-x:auto;margin-top:10px;-webkit-overflow-scrolling:touch}.feed-card-rich .media-row{display:flex;gap:8px}.feed-card-rich .media-image{width:132px;height:132px;border-radius:12px;object-fit:cover;flex-shrink:0}.feed-card-rich .feed-card-title{display:block;font-weight:700;font-size:16px;margin-top:8px}.feed-card-rich .feed-card-text{display:block;margin-top:6px;font-size:14px;color:var(--hint);line-height:1.55}.feed-card-rich .feed-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.feed-card-rich .feed-tag-chip{font-size:12px;padding:4px 10px;border-radius:999px;background:#10b9811a;color:var(--primary-color-deep)}.feed-card-rich .feed-card-foot{margin-top:10px}.feed-card-main{display:block;color:inherit;text-decoration:none}.feed-card-rich .feed-actions{display:flex;align-items:center;gap:6px;margin-top:10px}.feed-card-rich .feed-action{flex:1;min-width:0;min-height:34px;padding:0 4px;border:1px solid transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#f3f4f6;color:var(--text-sub);text-decoration:none;font:inherit;cursor:pointer}.feed-card-rich .feed-action.active.like-active,.feed-card-rich .feed-action.active.favorite-active{background:#10b9811f;border-color:#10b98159}.feed-card-rich .feed-action-text{font-size:12px;font-weight:600;color:var(--text-sub);white-space:nowrap}.feed-card-rich .feed-action-text.active{color:var(--primary-color-deep);font-weight:700}.feed-card-rich .feed-action:disabled{opacity:.6}.feed-action-error{margin:6px 0 0;color:#b91c1c}.community-linked-product{margin-top:12px;padding:12px 14px;border-radius:14px;background:#0f172a0a;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;font:inherit;color:inherit}.community-linked-product.pressable{cursor:pointer}.community-linked-product.pressable:active{transform:scale(.99);opacity:.92}.community-linked-product .product-copy{flex:1;min-width:0}.community-linked-product .product-label{display:block;font-size:12px;color:var(--hint)}.community-linked-product .product-name{display:block;font-size:15px;font-weight:600;margin-top:2px}.community-linked-product .product-summary,.community-linked-product .purchase-proof{display:block;font-size:12px;color:var(--hint);margin-top:4px;line-height:1.45}.community-linked-product .product-side{flex-shrink:0;text-align:right}.community-linked-product .product-price{display:block;font-size:15px;font-weight:700;color:var(--primary-color-deep)}.community-linked-product .product-enter{display:block;font-size:12px;color:var(--primary-color-deep);margin-top:4px}.product-sheet-summary,.product-sheet-proof{margin:6px 0 0;font-size:13px}.poster-preview{width:100%;max-width:375px;border-radius:12px;display:block;margin:0 auto;box-shadow:0 8px 24px #0f172a1f}.poster-page-hint{margin-bottom:12px}.poster-actions{gap:8px;margin-top:16px;flex-wrap:wrap;justify-content:center}.itinerary-publish-preview{max-height:240px;overflow:auto;font-size:13px;margin:10px 0;opacity:.92}.feed-skeleton-list .skeleton-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--card)}.skeleton-head{display:flex;gap:10px;align-items:center}.skeleton-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);animation:skeleton-pulse 1.2s ease infinite}.skeleton-meta{flex:1}.skeleton-line{height:10px;border-radius:6px;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);animation:skeleton-pulse 1.2s ease infinite;margin-bottom:6px}.skeleton-line-name{width:40%}.skeleton-line-sub{width:60%}.skeleton-cover{margin-top:12px;height:120px;border-radius:12px;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7);animation:skeleton-pulse 1.2s ease infinite}@keyframes skeleton-pulse{0%{opacity:.65}50%{opacity:1}to{opacity:.65}}.checkout-payable-amount{font-size:1.25rem;color:var(--primary-color-deep)}.product-gallery{display:flex;gap:8px;overflow-x:auto;margin:0 0 12px;scroll-snap-type:x mandatory}.product-gallery-slide{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:14px;flex-shrink:0;scroll-snap-align:start;background:#f1f5f9}.product-gallery-empty{width:100%;aspect-ratio:4 / 3;margin:0 0 12px;border-radius:14px;background:linear-gradient(180deg,#f4f7f5,#eef2f0);border:1px dashed var(--line);display:grid;place-items:center}.product-gallery-empty span{font-size:13px;color:var(--text-muted)}.cart-select-all{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px}.cart-list{display:grid;gap:10px;padding-bottom:88px}.cart-row{display:flex;gap:10px;align-items:flex-start}.cart-row-check{padding-top:4px}.cart-thumb{width:72px;height:72px;border-radius:10px;object-fit:cover;background:#f1f5f9;flex-shrink:0}.cart-thumb.fallback{background:linear-gradient(135deg,#ecfdf5,#f8fafc)}.cart-row-body{flex:1;min-width:0}.cart-date-hint{margin:4px 0 0}.cart-price{margin:6px 0;font-weight:600;color:var(--primary-color-deep)}.cart-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-bar-total{font-weight:700}.chat-product-recommend-kicker{display:inline-flex;align-items:center;margin:8px 0 4px;padding:3px 8px;border-radius:6px;background:#10b9811f;color:#1c7f7a;font-size:10px;font-weight:750;letter-spacing:.08em}.chat-product-card-rich{border:1px solid rgba(16,185,129,.18);border-radius:14px;padding:0;overflow:hidden;background:#fffffff2;box-shadow:0 6px 18px #0f172a0f}.chat-product-cover-wrap{position:relative;width:100%}.chat-product-cover-link{display:block}.chat-product-card-rich .chat-product-cover{width:100%;height:150px;border-radius:0;display:block;object-fit:cover;background:#eef2f0}.chat-product-card-rich .chat-product-cover-fallback{display:grid;place-items:center;font-size:13px;font-weight:650;color:#1c7f7a;background:radial-gradient(ellipse 65% 75% at 85% 10%,rgba(16,185,129,.2),transparent 60%),linear-gradient(150deg,#ecfdf5,#d9f3ef 60%,#f8faf9)}.chat-product-type-badge{position:absolute;left:10px;bottom:9px;padding:3px 9px;border-radius:999px;background:#0f172aad;color:#fff;font-size:10px;font-weight:650;line-height:1.4}.chat-product-favorite{position:absolute;top:9px;right:9px;width:30px;height:30px;border:0;border-radius:50%;display:grid;place-items:center;background:#fffffff0;color:#64748b;box-shadow:0 4px 12px #0f172a1f;cursor:pointer}.chat-product-favorite svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.chat-product-favorite.active{color:#e11d48;background:#fff1f2}.chat-product-favorite.active svg{fill:currentColor;stroke:currentColor}.chat-product-favorite:disabled{opacity:.6}.chat-product-body{padding:9px 12px 0}.chat-product-title-link{text-decoration:none;color:inherit}.chat-product-card-rich .chat-product-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;line-height:1.38;font-weight:720}.chat-product-merchant{display:block;margin-top:3px;font-size:11px;line-height:1.4;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-product-card-rich .chat-product-price{margin:5px 0 0;display:flex;align-items:baseline;gap:2px;font-size:18px;font-weight:800;color:var(--primary-color-deep)}.chat-product-price-from,.chat-product-price-unit{font-size:10px;font-weight:600;color:var(--text-sub)}.chat-product-card-rich .chat-product-price.is-pending{font-size:12px;font-weight:500;color:var(--text-sub)}.chat-product-spec,.chat-product-unavailable{display:block;margin-top:3px;font-size:11px;color:var(--text-muted)}.chat-product-card-rich .chat-product-actions{display:flex;align-items:center;gap:8px;padding:8px 12px 12px;margin-top:4px}.chat-product-date-btn,.chat-product-detail-btn{min-height:32px;border-radius:999px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.chat-product-date-btn{flex:0 0 auto;border:1px solid rgba(16,185,129,.35);background:#f8fafc;color:var(--primary-color-deep)}.chat-product-detail-btn{flex:0 0 auto;margin-left:auto;border:0;background:var(--btn-primary-bg, linear-gradient(135deg, #3dc8c0 0%, #2aada6 100%));color:#fff;box-shadow:0 4px 12px #2aada63d}.chat-product-confirm{flex:1}.chat-product-card-rich .chat-product-preselect{margin:8px 12px 0;padding:7px 9px}.chat-product-card-rich .chat-product-child-note,.chat-product-card-rich .chat-product-buy-error{margin:6px 12px 0}.chat-product-card-rich .chat-product-service-link{margin:0 12px 10px}.chat-product-preselect{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;margin:8px 0 0;padding:8px 10px;border-radius:10px;background:#10b98114;border:1px dashed rgba(16,185,129,.35);font-size:12.5px}.chat-product-preselect strong{color:var(--primary-color-deep);font-size:13px}.chat-product-preselect span{color:var(--muted)}.chat-product-child-note,.chat-product-buy-error{margin:6px 0 0}.chat-product-service-link{margin-top:8px;border:0;background:none;padding:0;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer}.chat-product-status{margin:8px 0 0}.chat-product-trust{margin:2px 0 0;font-size:12px;line-height:1.45}.chat-product-related-label{margin:12px 0 0;color:var(--text-sub);font-size:12px;font-weight:650}.chat-product-notice{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:8px 10px;border:1px solid rgba(245,158,11,.3);border-radius:10px;background:#f59e0b1a}.chat-product-notice .hint{margin:0;flex:1;min-width:0}.chat-ai-trust-notice{margin:6px 0 0;font-size:12px;line-height:1.5}.chat-replying-hint{color:var(--muted);font-size:14px}.thinking-card{margin:0 0 8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);overflow:hidden}.thinking-card-header{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;border:0;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;text-align:left}.thinking-card-status{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thinking-card-icon{width:16px;height:16px;color:var(--primary-color);flex:none}.thinking-card.processing .thinking-card-icon{animation:thinking-pulse 1.4s ease-in-out infinite}.thinking-card-chevron{width:15px;height:15px;flex:none;transition:transform .15s ease}.thinking-card-chevron.open{transform:rotate(180deg)}.thinking-card-body{padding:0 10px 9px;border-top:1px dashed var(--line);font-size:13px;color:var(--muted)}.thinking-card-body .md-p{white-space:normal;overflow-wrap:anywhere}.thinking-card-body .md-p+.md-p{margin-top:.45em}.thinking-card-body .md-h{margin:.5em 0 .2em}.thinking-card-body ul,.thinking-card-body ol{margin:.4em 0;padding-left:1.25em}@keyframes thinking-pulse{0%,to{opacity:1}50%{opacity:.45}}.chat-slow-hint{margin:6px 0 0;color:var(--muted);font-size:12.5px}.chat-interrupted-hint{margin:6px 0 0;color:var(--muted);font-size:12px;font-style:italic}.mall-ops{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.compare-toggle{margin-top:8px;font-size:12px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px}.compare-toggle.on{border-color:#10b981;color:#047857}.scenic-shell,.hotel-shell{display:flex;flex-direction:column;gap:10px;min-width:0}.scenic-shell .spec-list,.hotel-shell .spec-list{margin:0}.scenic-head-card,.hotel-head-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:2px 2px 0}.scenic-head-card h2,.hotel-head-card h2{margin:0;font-size:21px;line-height:1.35;font-weight:750;color:var(--text-main);overflow-wrap:anywhere}.scenic-head-card .hint,.hotel-head-card .hint{margin:0;font-size:13px;line-height:1.5}.hotel-head-card .chip{margin-top:4px}.scenic-price-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px;margin:0 0 2px;font-size:14px;line-height:1.2}.scenic-price-head strong{font-size:28px;font-weight:800;line-height:1}.scenic-price-head small{font-size:12px;font-weight:700}.scenic-price-head-scope{margin-left:6px;font-size:12px;color:var(--text-sub);line-height:1.4}.review-trust{display:inline-flex;align-items:baseline;gap:6px;margin-top:6px;color:var(--text-sub);font-size:13px;text-decoration:none}.review-trust strong{color:var(--primary-color-deep);font-size:14px}.scenic-info-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin:0;padding:2px 0 4px}.scenic-info-card{min-width:0;min-height:62px;padding:10px 12px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--card)}.scenic-info-card strong{display:block;font-size:13px;line-height:1.4}.scenic-info-card span{display:-webkit-box;margin-top:2px;overflow:hidden;color:var(--text-sub);font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.scenic-tabs{display:flex;gap:20px;margin:2px 2px 0;padding:0;overflow-x:auto;scrollbar-width:none}.scenic-tabs::-webkit-scrollbar{display:none}.scenic-tabs button{flex:0 0 auto;padding:6px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-sub);font-weight:600;line-height:1.4;cursor:pointer}.scenic-tabs button.on{color:var(--text-main);border-bottom-color:var(--primary-color)}.scenic-date-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;cursor:pointer}.scenic-date-entry-label{font-size:13px;color:var(--text-sub);flex:0 0 auto}.scenic-date-entry strong{flex:1;min-width:0;overflow:hidden;font-size:14px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.scenic-date-entry strong.is-empty{color:var(--primary-color-deep, #047857)}.scenic-date-entry-arrow{color:var(--text-muted);font-size:18px;line-height:1;flex:0 0 auto}.hotel-date-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px}.hotel-date-bar .field{margin:0;padding:10px 12px;border-radius:12px}.hotel-night-pill{justify-self:center;padding:4px 9px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:12px;line-height:1.4;white-space:nowrap}.hotel-room-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.hotel-room-card.on{border-color:#10b981}.hotel-room-card.disabled{opacity:.68}.hotel-room-card.no-thumb{grid-template-columns:minmax(0,1fr)}.hotel-room-thumb{width:88px;height:88px;border-radius:10px;object-fit:cover;background:var(--paper-deep)}.hotel-room-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.hotel-room-name{font-size:15px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}.hotel-room-card .hint{margin:0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.hotel-room-card .stock-hint{margin:0;font-size:12px;line-height:1.45}.hotel-room-price{margin:4px 0 0;font-size:17px;line-height:1.3}.hotel-room-actions{display:flex;align-items:center;gap:8px;width:100%;margin-top:4px}.hotel-room-actions .btn-text{flex:0 0 auto;min-height:32px;padding:0 2px;font-size:13px;white-space:nowrap}.hotel-room-actions .btn-text:first-child{color:var(--text-sub)}.hotel-room-actions .btn{flex:0 0 auto;width:auto;min-width:54px;min-height:34px;margin-left:auto;padding:0 14px;border-radius:10px;font-size:14px}.stock-hint{color:#b45309;font-size:12px;margin:4px 0 0}.meituan-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.meituan-card .hint{margin:0;line-height:1.55}.meituan-card .hint+.hint{margin-top:4px}.facility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.facility-chip{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;font-size:12px;line-height:1.35;text-align:center}.facility-chip em{font-style:normal;width:28px;height:28px;border-radius:50%;background:#ecfdf5;display:grid;place-items:center}.date-chip.more-date{position:relative;overflow:hidden}.date-chip.more-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.scenic-date-sheet .scenic-date-chips{margin:0 0 12px;padding:0 0 4px;scrollbar-width:none}.scenic-date-sheet .scenic-date-chips::-webkit-scrollbar{display:none}@media(max-width:430px){.orders-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:359px){.community-me-tab{padding:0 2px;font-size:12px}.plan-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.plan-edit-actions .btn{width:100%}.hotel-date-bar{grid-template-columns:minmax(0,1fr);gap:6px}.hotel-date-bar .field:first-child{grid-column:1;grid-row:1}.hotel-date-bar .field:last-child{grid-column:1;grid-row:2}.hotel-night-pill{grid-column:1;grid-row:3;margin-top:0}.hotel-room-card{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px}.hotel-room-thumb{width:76px;height:76px}.scenic-info-card{padding:8px 6px}.scenic-info-card strong{font-size:12px}.scenic-info-card span{font-size:11px}}.scenic-ticket-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:12px 14px}.scenic-ticket-option.on{border-color:#10b981;background:#f2fbf7}.scenic-ticket-option:disabled{opacity:.55}.scenic-ticket-main{flex:1;min-width:0}.scenic-ticket-main strong{display:block;font-size:15px;line-height:1.45;overflow-wrap:anywhere}.scenic-ticket-main small{display:block;margin-top:2px;font-size:12px;color:var(--text-sub)}.scenic-ticket-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}.scenic-ticket-price{font-size:16px;font-weight:700;color:var(--primary-color-deep, #047857)}.scenic-ticket-tag{font-style:normal;font-size:12px;color:var(--text-sub)}.scenic-ticket-check{width:22px;height:22px;border-radius:50%;border:1.5px solid #cbd5e1;display:grid;place-items:center;font-style:normal;font-size:13px;color:#fff;background:#fff}.scenic-ticket-check.on{border-color:#10b981;background:#10b981}.scenic-selection-summary{padding:10px 14px}.scenic-summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;font-size:14px}.scenic-summary-row+.scenic-summary-row{border-top:1px dashed var(--line)}.scenic-summary-row>span:first-child{color:var(--text-sub);font-size:13px;flex:0 0 auto}.scenic-summary-row strong{min-width:0;text-align:right;font-size:14px;line-height:1.45;overflow-wrap:anywhere}.scenic-summary-row .btn-text{min-height:28px;padding:0;font-size:13px}.scenic-summary-total{margin:6px 0 0;padding-top:8px;border-top:1px solid var(--line);font-size:13px;color:var(--text-sub);text-align:right}.scenic-date-chips{display:flex;gap:8px;overflow-x:auto;padding:8px 0 16px}.date-chip{min-width:64px;border:1px solid var(--line);border-radius:12px;padding:8px 6px;background:#fff}.date-chip.on{border-color:#10b981;background:#ecfdf5}.date-chip.disabled{opacity:.45}.date-chip span,.date-chip em{display:block;font-size:11px}.scenic-price-head{color:#dc2626;font-size:22px;margin:0}.store-trust-card,.campaign-card{display:block;margin-top:10px}.campaign-card{color:inherit;text-decoration:none}.campaign-card strong{display:block;margin-bottom:4px;font-size:16px;line-height:1.45}.campaign-card .hint+.hint{margin-top:2px}.campaign-range,.campaign-count{white-space:nowrap}.store-hero,.store-search{margin-bottom:10px}.store-filter-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.store-filter-row::-webkit-scrollbar{display:none}.coupon-row{display:flex;gap:8px;overflow-x:auto;margin:8px 0}.compare-date-context{display:flex;flex-wrap:wrap;column-gap:2px;margin-bottom:8px}.compare-date-part{white-space:nowrap}.compare-date-part+.compare-date-part:before{content:"· "}.compare-swipe-hint{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;line-height:1.4;color:var(--text-sub)}.compare-swipe-hint span{color:var(--text-muted)}.compare-scroll{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.35) transparent}.compare-scroll.is-scrollable:not(.at-end){box-shadow:inset -20px 0 16px -18px #0f172a59}.compare-scroll:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:6px}.compare-scroll::-webkit-scrollbar{height:4px}.compare-scroll::-webkit-scrollbar-track{background:transparent}.compare-scroll::-webkit-scrollbar-thumb{background:#64748b59;border-radius:999px}.compare-table{width:100%}.compare-head,.compare-row{display:grid;grid-template-columns:64px repeat(var(--compare-cols, 3),minmax(132px,1fr));gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}.compare-head>span:first-child,.compare-row>span:first-child{position:sticky;left:0;z-index:1;background:var(--bg-page)}.compare-head>span:first-child{z-index:2}.compare-head img{width:100%;height:72px;object-fit:cover;border-radius:8px}.compare-head a,.compare-head-static{display:block;color:inherit;text-decoration:none}.compare-head strong{display:block;margin-top:6px;font-size:13px;line-height:1.45}.compare-row>span{min-width:0;font-size:13px;line-height:1.5;overflow-wrap:break-word}.compare-row>span:first-child{font-size:12px;color:var(--text-sub);white-space:nowrap}.mall-category-page{display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;background:#fff;position:relative;box-shadow:0 0 24px #0f172a0a}.mall-category-page .sub-page-body{flex:1;padding:0;margin:0;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#f8fafc}.category-hint{margin:4px 12px;font-size:12px}.category-search-header{padding:8px 12px 10px;background:#fff;border-bottom:1px solid rgba(226,232,240,.8);flex-shrink:0}.category-search-field{display:flex;align-items:center;gap:8px;background:#f1f5f9;border-radius:999px;padding:6px 14px;transition:all .2s ease}.category-search-field:focus-within{background:#fff;box-shadow:0 0 0 2px #10b981,0 4px 12px #10b9811f}.category-search-field input{flex:1;border:0;background:transparent;outline:none;font-size:13.5px;color:#1e293b}.category-search-field input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}.category-search-field .search-icon{width:16px;height:16px;color:#94a3b8;flex-shrink:0}.category-search-field .search-clear-btn{border:0;background:#cbd5e1;color:#fff;border-radius:50%;width:18px;height:18px;font-size:13px;line-height:18px;text-align:center;cursor:pointer;padding:0}.category-split-container{flex:1;display:flex;min-height:0;overflow:hidden;background:#f8fafc}.category-nav-aside{width:96px;flex-shrink:0;background:#f8fafc;overflow-y:auto;overscroll-behavior:contain;padding:4px 0 24px;display:flex;flex-direction:column;gap:1px}.category-nav-aside::-webkit-scrollbar{display:none}.nav-tab-btn{position:relative;display:flex;align-items:center;gap:6px;width:100%;min-height:48px;padding:10px 8px 10px 10px;border:0;background:transparent;text-align:left;cursor:pointer;font-size:12.5px;color:#64748b;transition:all .15s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.nav-tab-btn:active{background:#e2e8f099}.nav-tab-btn.is-active{background:#fff;color:#047857;font-weight:600;box-shadow:2px 0 8px #00000005}.nav-tab-indicator{position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3.5px;height:18px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#10b981,#059669);transition:transform .2s cubic-bezier(.4,0,.2,1)}.nav-tab-btn.is-active .nav-tab-indicator{transform:translateY(-50%) scaleY(1)}.nav-tab-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.category-content-panel{flex:1;min-width:0;background:#fff;border-top-left-radius:14px;overflow-y:auto;overscroll-behavior:contain;box-shadow:-2px 0 10px #0f172a08}.panel-inner{padding:12px 12px 32px;display:flex;flex-direction:column;gap:16px}.category-hero-banner{border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}.category-hero-banner:active{transform:scale(.985)}.category-hero-banner.tone-amber{background:linear-gradient(135deg,#fffbeb,#fef3c7 60%,#fed7aa);border:1px solid rgba(245,158,11,.25)}.category-hero-banner.tone-emerald,.category-hero-banner.tone-teal{background:linear-gradient(135deg,#ecfdf5,#d1fae5 60%,#a7f3d0);border:1px solid rgba(16,185,129,.25)}.category-hero-banner.tone-blue,.category-hero-banner.tone-indigo{background:linear-gradient(135deg,#eff6ff,#dbeafe 60%,#bfdbfe);border:1px solid rgba(59,130,246,.25)}.category-hero-banner.tone-cyan{background:linear-gradient(135deg,#f0fdfa,#ccfbf1 60%,#99f6e4);border:1px solid rgba(20,184,166,.25)}.category-hero-banner.tone-rose,.category-hero-banner.tone-pink{background:linear-gradient(135deg,#fff1f2,#ffe4e6 60%,#fecdd3);border:1px solid rgba(244,63,94,.25)}.category-hero-banner.tone-orange{background:linear-gradient(135deg,#fff7ed,#ffedd5 60%,#fed7aa);border:1px solid rgba(249,115,22,.25)}.category-hero-banner.tone-purple{background:linear-gradient(135deg,#faf5ff,#f3e8ff 60%,#e9d5ff);border:1px solid rgba(168,85,247,.25)}.hero-badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#ffffffd9;color:#334155;margin-bottom:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-title{margin:0;font-size:16px;font-weight:700;color:#0f172a;line-height:1.3}.hero-desc{margin:2px 0 0;font-size:11.5px;color:#64748b;line-height:1.3}.hero-action-pill{border:0;background:#fff;color:#0f172a;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;box-shadow:0 2px 8px #0000000f;display:flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;cursor:pointer}.hero-arrow{font-size:13px;transition:transform .15s ease}.category-hero-banner:hover .hero-arrow{transform:translate(2px)}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;padding:0 2px}.section-title{margin:0;font-size:14px;font-weight:700;color:#1e293b}.section-count,.section-sub{font-size:11px;color:#94a3b8}.subcategory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px}.subcategory-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px 8px;background:#fff;border:1px solid #f1f5f9;border-radius:12px;cursor:pointer;text-align:center;box-shadow:0 1px 4px #0f172a05;transition:all .15s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.subcategory-card:hover{border-color:#e2e8f0;box-shadow:0 3px 10px #0f172a0d;transform:translateY(-1px)}.subcategory-card:active{transform:scale(.96);background:#f8fafc}.sub-icon-box{margin-bottom:6px}.sub-card-name{font-size:12px;font-weight:500;color:#334155;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subcategory-card.is-all-card{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#bbf7d0}.subcategory-card.is-all-card .sub-card-name{color:#047857;font-weight:600}.subcategory-card.is-enriched{background:#fafafa}.category-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden;flex-shrink:0;transition:transform .15s ease}.category-icon img{width:100%;height:100%;object-fit:contain;display:block}.category-icon-svg-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.category-icon-svg-wrapper svg{width:58%;height:58%}.category-icon.cat-icon-sm{width:22px;height:22px;border-radius:6px}.category-icon.cat-icon-md{width:32px;height:32px;border-radius:9px}.category-icon.cat-icon-lg{width:42px;height:42px;border-radius:12px}.category-icon.cat-icon-xl{width:52px;height:52px;border-radius:16px}.explore-tags-section{margin-top:4px;padding-top:14px;border-top:1px dashed #e2e8f0}.explore-tag-cloud{display:flex;flex-wrap:wrap;gap:6px}.explore-tag-chip{border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:11.5px;padding:5px 10px;border-radius:999px;cursor:pointer;transition:all .15s ease}.explore-tag-chip:hover{border-color:#10b981;color:#047857;background:#ecfdf5}.explore-tag-chip:active{transform:scale(.95)}.category-search-results{flex:1;padding:12px 14px 30px;overflow-y:auto;background:#fff}.search-count-tip{font-size:12px;color:#94a3b8;margin:0 0 10px 4px}.search-results-list{display:flex;flex-direction:column;gap:6px}.search-result-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid #f1f5f9;border-radius:12px;cursor:pointer;text-align:left;transition:all .15s ease}.search-result-item:hover{border-color:#10b981;background:#f0fdf4}.search-result-item .result-text{flex:1;display:flex;flex-direction:column}.result-name{font-size:14px;font-weight:600;color:#1e293b}.result-parent{font-size:11px;color:#94a3b8;margin-top:2px}.result-arrow{font-size:18px;color:#cbd5e1}.category-search-empty{padding:48px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-emoji{font-size:36px}.category-search-empty p{font-size:13.5px;color:#64748b;margin:0}.search-in-mall-btn{margin-top:10px;padding:8px 18px;border-radius:999px;border:0;background:#10b981;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.member-progress{height:6px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:8px 0}.member-progress span{display:block;height:100%;background:#10b981}.sla-notice-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0 0 12px;padding:0}.sla-notice-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fffdf8}.sla-notice-item strong{display:block;font-size:14px;line-height:1.45;color:var(--text-main)}.sla-notice-item .hint{margin:2px 0 0;font-size:12px;line-height:1.5}.sla-notice-item .chip{flex:0 0 auto;margin:2px 0 0}.service-chat-page{height:calc(100dvh - var(--keyboard-inset, 0px));min-height:calc(100dvh - var(--keyboard-inset, 0px))}.service-chat-page .sub-page-body{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0 var(--page-pad)}.service-chat-log{display:flex;flex:1;min-height:0;flex-direction:column;gap:8px;padding:4px 0 12px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.service-chat-log .me{align-self:flex-end;background:#ecfdf5;padding:8px 12px;border-radius:12px;max-width:80%;overflow-wrap:break-word}.service-chat-log .them{align-self:flex-start;background:#f1f5f9;padding:8px 12px;border-radius:12px;max-width:80%;overflow-wrap:break-word}.service-chat-page .composer .field:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #10b98129}.service-chat-page .composer{flex:0 0 auto;margin:0;padding:8px 0 calc(8px + env(safe-area-inset-bottom))}.voucher-code{font-size:28px;letter-spacing:2px;text-align:center;font-weight:700}.product-top-actions{display:flex;gap:8px}.hotel-sheet-hero{width:100%;height:160px;object-fit:cover;border-radius:12px}.checkout-page{background:#f6f8f6}.checkout-page .sub-page-top{padding:6px var(--page-pad);min-height:44px}.checkout-page .sub-back{min-height:40px;min-width:40px;padding:4px 10px;background:transparent;border-color:transparent;font-size:15px}.checkout-page .sub-page-top .page-top-title{font-size:16px;font-weight:600}.checkout-page .sub-page-body{padding:8px var(--page-pad) calc(150px + env(safe-area-inset-bottom))}.checkout-page .card{border-radius:14px;padding:12px 14px;margin-bottom:10px;box-shadow:none}.checkout-summary-item+.checkout-summary-item{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.checkout-summary-name{margin:0;font-size:17px;line-height:1.4;font-weight:700}.checkout-summary-spec{margin:2px 0 6px;font-size:13px;color:var(--text-sub)}.checkout-summary-meta{margin:2px 0 0;font-size:13px;color:var(--text-sub)}.checkout-summary-line{display:flex;align-items:center;gap:12px}.checkout-summary-line .field{flex:1;margin-bottom:0}.checkout-summary .qty-stepper{gap:8px;flex-shrink:0}.checkout-summary .qty-btn{width:28px;height:28px;font-size:15px;border-radius:8px}.checkout-summary .qty-value{font-size:15px;min-width:18px}.checkout-summary-dates .field{margin-bottom:6px;padding:8px 10px}.checkout-summary-dates .field input{font-size:15px}.checkout-summary-hint{margin:6px 0 0;font-size:12px}@media(max-width:359px){.checkout-summary-dates .field input,.checkout-summary-line .field input{font-size:14px}.checkout-summary-line .field{padding:8px 10px}}.checkout-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.checkout-section-title{margin:0;font-size:15px;font-weight:700}.checkout-paste-toggle{font-size:13px}.checkout-paste-hint{margin:2px 0 8px;font-size:12px}.checkout-paste .field{margin-bottom:8px}.checkout-paste-actions{display:flex;justify-content:flex-end}.checkout-paste-actions .btn{width:auto;min-height:36px;padding:0 16px;font-size:14px}.checkout-per-ticket{margin:4px 0 8px}.traveler{border:0;margin:0;padding:10px 0 2px}.traveler+.traveler{border-top:1px solid var(--line)}.traveler-title{font-size:14px;font-weight:700;padding:0;margin-bottom:2px}.traveler-bind{margin:0 0 6px;font-size:12px}.traveler-fields .field{margin-bottom:8px;padding:8px 12px;border-radius:10px}.checkout-page .field .field-label{display:block;margin:0;font-size:12px;color:var(--text-sub)}.checkout-page .field input,.checkout-page .field select{margin-top:4px}.field select{display:block;width:100%;min-width:0;border:0;background:transparent;padding:0;font:inherit;font-size:16px;color:inherit;text-align:left;appearance:none;-webkit-appearance:none}.field select::-ms-expand{display:none}.checkout-coupon{padding:10px 14px}.checkout-coupon-row{display:flex;align-items:center;gap:8px}.checkout-coupon-label{font-size:14px;font-weight:600}.checkout-coupon-select{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:14px;color:var(--text-main);text-align:right;appearance:none;-webkit-appearance:none}.checkout-coupon-value{flex:1;text-align:right;font-size:14px;color:var(--text-sub)}.checkout-coupon-arrow{color:var(--text-muted);font-size:18px;line-height:1}.checkout-coupon .row{margin-top:8px;flex-wrap:wrap}.checkout-coupon .btn-ghost{width:auto;min-height:34px;padding:0 14px;font-size:13px;flex:0 0 auto}.checkout-agreements{margin:2px 2px 0}.checkout-agreements .agree{margin:6px 0;font-size:12px;color:var(--text-muted);line-height:1.55}.checkout-pay-hint{margin:8px 2px 0;font-size:12px}.field-error{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:var(--danger)}.checkout-foot{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:480px;margin:0 auto;background:#fffdf8;border-top:1px solid var(--line);box-shadow:0 -6px 24px #0f172a0f;padding:8px 14px calc(6px + env(safe-area-inset-bottom))}.checkout-foot-error{margin:0 0 6px}.checkout-foot-row{display:flex;align-items:center;gap:12px}.checkout-foot-amount{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.checkout-foot-label{font-size:12px;color:var(--text-sub)}.checkout-foot-amount .checkout-payable-amount{font-size:20px}.checkout-foot-discount{font-size:12px;color:var(--text-muted)}.checkout-foot .checkout-submit{width:auto;flex:0 0 auto;min-width:132px;min-height:44px;padding:0 18px;font-size:15px}.checkout-foot-note{margin:4px 0 0;font-size:11px;color:var(--text-muted);line-height:1.4}@media(min-width:768px){.checkout-page .sub-page-body{max-width:560px;margin:0 auto;width:100%}}.route-shell{display:flex;flex-direction:column;gap:10px;min-width:0}.route-head-card{display:flex;flex-direction:column;gap:2px;min-width:0;padding:2px 2px 0}.route-head-card h2{margin:0;font-size:21px;line-height:1.35;font-weight:750;color:var(--text-main);overflow-wrap:anywhere}.route-head-card .hint{margin:0;font-size:13px;line-height:1.5}.route-price-head{display:flex;align-items:baseline;gap:3px;margin:0 0 2px;color:var(--danger);font-size:14px;line-height:1.2}.route-price-head strong{font-size:28px;font-weight:800;line-height:1}.route-price-head small{font-size:12px;font-weight:700}.route-shell>.btn-text{align-self:flex-start}.route-shell .field{margin-bottom:0}.art-quiz-link{border:0;background:none;color:var(--primary-color-deep);font-size:14px;min-height:44px;padding:0 8px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.art-quiz-demo-banner{flex:none;margin:0 0 8px;padding:10px 12px;border-radius:12px;border:1px dashed var(--gold);background:var(--gold-soft);color:var(--text-main);font-size:13px;line-height:1.5}.art-quiz-empty{margin:6px 0;padding:12px;border-radius:12px;border:1px solid var(--border-main);background:var(--bg-btn);color:var(--text-sub);font-size:14px;line-height:1.6}.art-quiz-chat-page .sub-page-body{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:4px var(--page-pad) 0}.app-shell.sub-route .sub-page.art-quiz-chat-page{height:calc(100dvh - 16px - var(--keyboard-inset, 0px));min-height:calc(100dvh - 16px - var(--keyboard-inset, 0px))}.art-quiz-chat{position:relative;display:flex;flex:1;flex-direction:column;min-height:0}.art-quiz-chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 0 10px}.art-quiz-composer{flex:none;padding:8px 0 12px;border-top:1px solid var(--border-main);background:var(--bg-page)}.art-quiz-composer .composer-shell{margin:0}.art-quiz-polishing{margin:0 4px 6px;color:var(--text-muted);font-size:12px}.art-quiz-jump{position:absolute;right:4px;bottom:92px;z-index:3;min-height:36px;padding:0 12px;border:1px solid var(--border-main);border-radius:999px;background:var(--glass-bg);color:var(--text-main);font-size:13px;box-shadow:var(--shadow-bubble-ai);cursor:pointer;touch-action:manipulation}.art-quiz-schedule{display:flex;flex:1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.art-quiz-event-list,.art-quiz-notes{list-style:none;margin:0;padding:0}.art-quiz-event-list{display:flex;flex-direction:column;gap:10px}.art-quiz-event{padding:12px;border-radius:14px;border:1px solid var(--border-main);background:var(--glass-bg)}.art-quiz-event-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;line-height:1.45;color:var(--text-main)}.art-quiz-event-when{margin:4px 0 0;font-size:13px;color:var(--text-sub);font-variant-numeric:tabular-nums}.art-quiz-event-venue{margin:2px 0 0;font-size:13px;color:var(--text-sub)}.art-quiz-notes{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:14px;border:1px dashed var(--gold);background:var(--gold-soft);font-size:13px;line-height:1.55;color:var(--text-main)}.art-quiz-entry{display:flex;align-items:center;gap:10px;width:100%;margin:14px 0 12px;padding:12px 14px;border-radius:16px;border:1px solid var(--border-glow);background:radial-gradient(circle at 0% 0%,rgba(217,119,6,.12) 0%,transparent 55%),var(--glass-bg);box-shadow:var(--shadow-bubble-ai);cursor:pointer;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.art-quiz-entry-icon{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--btn-primary-bg);color:#fff;font-weight:700}.art-quiz-entry-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.art-quiz-entry-text strong{font-size:15px;color:var(--text-main)}.art-quiz-entry-text small{font-size:12px;color:var(--text-sub)}.art-quiz-entry-arrow{flex:none;color:var(--text-muted);font-size:20px}.composer-nav-item.art-quiz-nav{color:var(--primary-color-deep);font-weight:600}.art-quiz-progress{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px 4px;font-size:12px;color:var(--text-sub)}.art-quiz-progress-state{color:var(--primary-color-deep);font-weight:600}.art-quiz-countdown{margin-left:8px;color:var(--primary-color-deep);font-variant-numeric:tabular-nums}.art-quiz-countdown.over{color:#c2410c;font-weight:600}.art-quiz-timeup,.art-quiz-next{display:flex;gap:10px;padding:0 4px 8px}.art-quiz-next .btn-text{min-height:36px;padding:0 14px;border:1px solid var(--border-glow);border-radius:999px;background:var(--glass-bg);font-weight:600}.art-quiz-divider{display:block;margin:2px 0 4px;font-size:12px;color:var(--text-muted);letter-spacing:.04em}.art-quiz-score{color:var(--text-sub);font-variant-numeric:tabular-nums}.art-quiz-chat-log .message-wrapper.ai{align-items:flex-start;gap:8px}.art-quiz-msg-avatar{flex:none;width:30px;height:30px;margin-top:2px;display:grid;place-items:center;border-radius:50%;background:var(--btn-primary-bg);color:#fff;font-size:13px;font-weight:700}.art-quiz-chat-log .message-wrapper.ai .message-bubble{min-width:0}.art-quiz-start{width:min(100%,360px);margin:18px auto 8px;padding:18px 16px;border-radius:18px;border:1px solid var(--border-glow);background:var(--glass-bg);box-shadow:var(--shadow-bubble-ai);text-align:center}.art-quiz-start-title{margin:0 0 4px;font-size:16px;font-weight:700;color:var(--text-main)}.art-quiz-start-desc{margin:0 0 12px;font-size:13px;color:var(--text-sub)}.art-quiz-start-btn{width:100%}.art-quiz-start-error{margin:0 0 10px;color:#c2410c;font-size:13px;line-height:1.5}.art-quiz-start-link{display:block;width:100%;min-height:36px;margin-top:4px;color:var(--text-sub)}.art-quiz-options{padding:0 4px 6px}.art-quiz-options-hint{margin:0 0 6px;font-size:12px;color:var(--text-muted)}.art-quiz-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.art-quiz-option{display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 12px;border:1px solid var(--border-main);border-radius:14px;background:var(--glass-bg);color:var(--text-main);text-align:left;font:inherit;font-size:14px;line-height:1.4;cursor:pointer;touch-action:manipulation}.art-quiz-option:disabled{opacity:.55;cursor:default}.art-quiz-option-key{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--bg-btn);color:var(--primary-color-deep);font-size:12px;font-weight:700}.art-quiz-option-text{min-width:0}.art-quiz-quick{display:flex;gap:4px;padding:0 4px 4px}.art-quiz-quick .btn-text{min-height:32px;font-size:13px;color:var(--text-sub)}.art-quiz-result{width:min(100%,380px);margin:16px auto 6px;padding:18px 16px;border-radius:18px;border:1px solid var(--border-glow);background:radial-gradient(circle at 50% 0%,rgba(217,119,6,.12) 0%,transparent 60%),var(--glass-bg);box-shadow:var(--shadow-bubble-ai);text-align:center}.art-quiz-result-kicker{margin:0;font-size:12px;letter-spacing:.08em;color:var(--text-muted)}.art-quiz-result-score{margin:6px 0 4px;color:var(--text-main)}.art-quiz-result-score strong{font-size:40px;line-height:1;font-weight:800;color:var(--primary-color-deep)}.art-quiz-result-score span{font-size:14px;color:var(--text-sub)}.art-quiz-result-hint{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--text-sub)}.art-quiz-result-note{margin:-6px 0 12px;font-size:12px;color:var(--text-muted)}.art-quiz-result-actions{display:flex;align-items:center;justify-content:center;gap:8px}.art-quiz-result-actions .btn{width:auto;min-width:150px;padding:0 22px}.art-quiz-result-actions .btn-text{flex:none;padding:0 10px;white-space:nowrap}.art-quiz-reward-card{min-width:220px;padding:2px 0 4px}.art-quiz-reward-kicker{margin:0 0 2px;font-size:12px;color:var(--text-muted);letter-spacing:.06em}.art-quiz-reward-name{display:block;font-size:17px;color:var(--primary-color-deep);line-height:1.4}.art-quiz-reward-products{margin:4px 0 2px;font-size:14px;color:var(--text-main)}.art-quiz-reward-options,.art-quiz-reward-meta,.art-quiz-reward-order{margin:2px 0;font-size:12px;color:var(--text-sub)}.art-quiz-reward-order{color:var(--primary-color-deep)}.art-quiz-reward-btn{width:100%;min-height:40px;margin-top:8px}.art-quiz-result-actions{flex-wrap:wrap}.art-quiz-order-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#1018286b;padding:16px}.art-quiz-order-panel{width:min(100%,420px);max-height:84vh;overflow-y:auto;border-radius:20px;background:var(--bg-page);padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 18px 50px #1018283d}.art-quiz-order-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.art-quiz-order-head h2{margin:0;font-size:17px;color:var(--text-main)}.art-quiz-order-prize{margin:8px 0 6px;font-size:15px;font-weight:600;color:var(--primary-color-deep)}.art-quiz-order-products{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.art-quiz-order-product{display:flex;flex-direction:column;gap:2px;min-height:52px;padding:10px 12px;border:1px solid var(--border-main);border-radius:14px;background:var(--glass-bg);color:var(--text-main);text-align:left;font:inherit;font-size:14px;cursor:pointer}.art-quiz-order-product.active{border-color:var(--primary-color-deep);box-shadow:0 0 0 2px #107a5724}.art-quiz-order-product small{font-size:12px;color:var(--text-sub)}.art-quiz-order-result{margin-top:10px;padding:12px;border-radius:14px;border:1px dashed var(--border-glow);background:var(--glass-bg);font-size:13px;color:var(--text-main)}.art-quiz-order-result p{margin:0 0 4px}.art-quiz-order-code{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--primary-color-deep)}.art-quiz-claim-history{margin-top:14px;padding-top:10px;border-top:1px solid var(--border-glow)}.art-quiz-claim-history ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.art-quiz-claim-history li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:12px;color:var(--text-sub)}.art-quiz-claim-history li strong{font-size:13px;color:var(--text-main)}.art-quiz-claim-history li code{width:100%;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-sub)}.art-prize-card{padding:14px 16px}.art-prize-title{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--text-main)}.art-prize-rows{margin:0 0 8px}.art-prize-row{display:flex;gap:10px;align-items:baseline;padding:6px 0;font-size:13px;border-bottom:1px solid var(--line)}.art-prize-row:last-child{border-bottom:0}.art-prize-row dt{flex:0 0 72px;color:var(--muted)}.art-prize-row dd{flex:1 1 auto;margin:0;color:var(--text-main);word-break:break-all}.art-prize-order-no{font-size:12px;color:var(--muted)}.art-prize-code-cell{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.art-prize-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--primary-color-deep)}.physical-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-top:12px;border-radius:16px;background:linear-gradient(120deg,#fff7ed,#ffedd5 60%,#fef3c7);color:var(--text-main);text-decoration:none}.physical-entry strong{display:block;font-size:15px}.physical-entry small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.physical-entry-cta{flex:none;color:#c2410c;font-size:13px;font-weight:600}.mall-traffic-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 8px;padding:12px 14px;border:1px solid rgba(16,185,129,.25);border-radius:14px;background:linear-gradient(135deg,#ecfdf5f2,#d1fae5cc);box-shadow:0 2px 10px #10b98114}.mall-traffic-banner-info{display:flex;align-items:center;gap:10px}.mall-traffic-icon{font-size:26px;line-height:1}.mall-traffic-banner-info strong{display:block;font-size:14px;font-weight:700;color:#065f46}.mall-traffic-banner-info p{margin:2px 0 0;font-size:11px;color:#047857}.mall-traffic-link{flex-shrink:0;padding:6px 12px;border-radius:10px;background:#10b981;color:#fff;font-size:12px;font-weight:650;text-decoration:none;box-shadow:0 2px 6px #10b98140}.physical-grid{display:grid;gap:12px;margin-top:12px}.physical-card{display:flex;gap:12px;padding:12px;align-items:stretch}.physical-card-cover{width:96px;height:96px;border-radius:12px;object-fit:cover;flex:none;background:var(--line)}.physical-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}.physical-card-body strong{font-size:15px;line-height:1.35}.physical-card-price{color:#dc2626;font-weight:700;font-size:16px}.physical-gallery{display:grid;gap:8px}.physical-hero{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:16px;background:var(--line)}.physical-thumbs{display:flex;gap:8px;overflow-x:auto}.physical-thumbs img{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:none}.physical-product-head h2{margin:6px 0;font-size:18px;line-height:1.35}.physical-price{color:#dc2626;font-size:22px}.physical-spec-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.physical-spec{display:flex;flex-direction:column;gap:2px;min-width:96px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card-bg);color:var(--text-main);text-align:left}.physical-spec.on{border-color:#ea580c;background:#fff7ed}.physical-spec:disabled{opacity:.45}.physical-qty-row{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.physical-description{white-space:pre-wrap;line-height:1.7;margin:10px 0 0}.physical-buy-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 4px;background:linear-gradient(180deg,rgba(255,255,255,.4),var(--bg) 40%)}.physical-buy-amount{color:#dc2626;font-size:20px;margin-right:8px}.physical-buy-btn{width:auto;flex:0 0 46%}.physical-order-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.physical-status{padding:3px 10px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:12px}.physical-status.done{background:#ecfdf5;color:#047857}.physical-item-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.physical-item-list li{display:flex;gap:10px;align-items:center}.physical-item-cover{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:none;background:var(--line)}.physical-item-main{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-width:0}.physical-item-amount{flex:none;font-weight:600}.physical-money{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--line);margin-top:10px;font-size:13px}.physical-money strong{font-size:16px;color:#dc2626}.physical-shipment,.physical-after-sale{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.physical-kind-row{display:flex;gap:8px;margin:10px 0}.physical-kind-row .btn{width:auto;flex:1}.physical-kind-row .btn.on{border-color:#ea580c;color:#c2410c;background:#fff7ed}.physical-address-list{display:grid;gap:10px;margin-top:12px}.physical-address-card{padding:12px}.physical-address-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.physical-default-tag{flex:none;padding:2px 8px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:11px}.physical-address-actions{display:flex;gap:14px;margin-top:8px}.physical-address-pick{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card-bg);text-align:left;color:var(--text-main)}.physical-address-pick.on{border-color:#ea580c;background:#fff7ed}.physical-region-row{display:flex;gap:8px}.physical-region-row .field{flex:1;min-width:0}.physical-checkout-head{display:flex;align-items:center;justify-content:space-between}.physical-checkout-item{display:flex;gap:12px;align-items:center}.scenic-quote-card{margin:8px 0 12px;padding:12px;border:1px solid #d9e2ec;border-radius:12px;background:#f8fbff;display:grid;gap:6px}.scenic-quote-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.scenic-quote-title{font-weight:600;margin:0}.scenic-quote-meta,.scenic-quote-total{margin:0}.scenic-quote-total strong{color:#e4572e;font-size:1.1em}.scenic-quote-stale{margin:0;color:#8a94a6;font-size:.9em}.scenic-quote-error .error{margin:0}.scenic-quote-code{font-size:.8em;color:#8a94a6}.scenic-quote-confirm{width:100%}.scenic-inline-checkout{display:grid;gap:8px;border-top:1px dashed #d9e2ec;padding-top:10px}.scenic-inline-title{margin:0;font-weight:600}.scenic-inline-travelers{display:grid;gap:8px}.scenic-inline-agree{margin-top:2px}.scenic-inline-actions{display:flex;gap:10px;align-items:center}.scenic-inline-actions .scenic-inline-submit{flex:1}.scenic-inline-error{margin:0}.checkout-ai-quote{display:grid;gap:4px;border-left:3px solid #2f80ed}.checkout-ai-shortfall{margin:4px 0}.ai-order-card{margin:8px 0 12px;padding:12px;border:1px solid #cfe8d8;border-radius:12px;background:#f6fcf8;display:grid;gap:6px}.ai-order-head{display:flex;justify-content:space-between;gap:8px}.ai-order-status{font-weight:600;white-space:nowrap}.ai-order-head strong{word-break:break-all}.ai-order-status.is-pending_pay{color:#e4572e}.ai-order-status.is-pending_use,.ai-order-status.is-pending_comment{color:#1a9a55}.ai-order-amount{margin:0}.ai-order-actions{display:flex;gap:12px;align-items:center}.taxi-trip-card{margin:8px 0 12px;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff;display:grid;gap:8px}.taxi-trip-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.taxi-trip-row{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:center;font-size:14px}.taxi-trip-row input{width:100%;padding:8px 10px;border:1px solid var(--border-main);border-radius:8px;font:inherit}.taxi-suggest-panel{border-top:1px dashed var(--border-main);padding-top:8px;display:grid;gap:6px}.taxi-suggest-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;width:100%}.taxi-suggest-list li{min-width:0;width:100%}.taxi-place-option{appearance:none;-webkit-appearance:none;border:0;background:none;color:var(--pine);font:inherit;line-height:1.35;cursor:pointer;text-decoration:none}.taxi-suggest-list li button.taxi-place-option,.taxi-place-pick .taxi-suggest-list li button{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;justify-content:stretch;justify-items:start;align-items:start;align-content:start;width:100%;max-width:100%;min-height:44px;padding:10px 12px;text-align:left;border-radius:8px;gap:4px}.taxi-suggest-list li button strong{display:block;width:100%;font-weight:600;line-height:1.35;text-align:left}.taxi-suggest-list li button small{display:block;width:100%;color:var(--text-sub);font-size:12px;line-height:1.45;text-align:left;word-break:break-word}.taxi-suggest-list li button:active{background:#2563eb14}.taxi-estimate-box{display:grid;gap:6px}.taxi-trip-error{color:#b45309}.taxi-trip-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.taxi-place-pick{border-top:1px dashed #bfdbfe;padding-top:8px;text-align:left;width:100%}.taxi-phone-offer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.taxi-order-card .ai-order-status{color:#2563eb}.plan-edit-page.sub-page{background:#f8fafc!important}.plan-edit-page .sub-page-top{background:#fffffff5!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.85)!important;box-shadow:0 1px 3px #0f172a08}.plan-edit-page .sub-page-top .page-top-title{font-size:16px;font-weight:700;color:#0f172a;letter-spacing:-.01em}.plan-edit-page .sub-back{background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;font-size:13px;font-weight:500;border-radius:999px;padding:6px 14px;min-height:36px;min-width:36px;transition:all .15s ease}.plan-edit-page .sub-back:hover{background:#e2e8f0;color:#0f172a}.plan-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.plan-top-actions .plan-save-state{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;padding:3px 10px;border-radius:999px;white-space:nowrap}.plan-top-actions .plan-save-state:before{content:"";display:inline-block;width:6px;height:6px;border-radius:999px;background:#10b981}.plan-top-actions .plan-save-state.dirty{color:#d97706;background:#fef3c7;border-color:#fde68a}.plan-top-actions .plan-save-state.dirty:before{background:#f59e0b}.plan-top-save.btn{width:auto!important;height:32px!important;min-height:32px!important;padding:0 16px!important;font-size:12px!important;font-weight:600!important;border-radius:999px!important;background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border:none!important;box-shadow:0 2px 8px #10b9814d!important;cursor:pointer;transition:all .15s ease}.plan-top-save.btn:hover:not(:disabled){box-shadow:0 4px 12px #10b98166!important;transform:translateY(-.5px)}.plan-top-actions .btn-ghost{width:auto!important;height:32px!important;min-height:32px!important;padding:0 12px!important;font-size:12px!important;font-weight:500!important;color:#475569!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:999px!important;transition:all .15s ease}.plan-top-actions .btn-ghost:hover{background:#f1f5f9!important;color:#0f172a!important;border-color:#cbd5e1!important}.plan-top-actions .btn-ghost[aria-pressed=true]{background:#ecfdf5!important;color:#047857!important;border-color:#a7f3d0!important;font-weight:600!important}.plan-top-prep-badge{display:inline-block;margin-left:5px;background:#10b981;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;line-height:1.2}.plan-more-trigger{height:32px;padding:0 12px;font-size:12px;font-weight:500;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease}.plan-more-trigger:hover{background:#f1f5f9;color:#0f172a}.plan-subheader{background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:14px;padding:10px 14px;margin-bottom:12px;box-shadow:0 2px 8px #0f172a08}.plan-subheader-city{display:inline-flex;align-items:center;gap:4px;background:#ecfdf5;color:#047857;font-weight:700;font-size:13px;padding:2px 10px;border-radius:999px;border:1px solid #a7f3d0}.plan-subheader-city:before{content:"📍";font-size:12px}.plan-subheader-meta{font-size:13px;color:#64748b;font-weight:500}.plan-subheader-date{display:inline-flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:3px 10px;font-size:12px;color:#334155;font-weight:500;cursor:pointer;transition:all .15s ease}.plan-subheader-date:hover{border-color:#cbd5e1;background:#f1f5f9;color:#0f172a}.plan-travel-segment{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:2px;gap:2px}.plan-travel-segment-btn{padding:2px 10px;min-height:24px;border-radius:999px;font-size:12px;font-weight:500;color:#64748b;transition:all .15s ease}.plan-travel-segment-btn[aria-pressed=true]{background:#fff;color:#047857;font-weight:700;box-shadow:0 1px 3px #00000014}.plan-subheader-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan-subheader-tools .plan-text-action,.plan-subheader-tools-mobile .plan-text-action{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:12px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;cursor:pointer;transition:all .15s ease}.plan-subheader-tools .plan-text-action:hover:not(:disabled),.plan-subheader-tools-mobile .plan-text-action:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.plan-subheader-tools .plan-text-action.is-on,.plan-subheader-tools-mobile .plan-text-action.is-on{background:#ecfdf5;border-color:#a7f3d0;color:#047857;font-weight:600}.plan-subheader-tools .plan-text-action:disabled{opacity:.45;cursor:not-allowed;background:#f8fafc}.plan-collab-panel{background:linear-gradient(135deg,#f0fdf4,#f8fafc);border:1px solid #bbf7d0;border-radius:14px;padding:10px 14px;margin-bottom:12px;box-shadow:0 2px 8px #10b9810d;transition:all .2s ease}.plan-collab-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.plan-collab-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-collab-badge{font-size:15px}.plan-collab-title{margin:0;font-size:13px;font-weight:700;color:#065f46}.plan-collab-count-chip{font-size:11px;background:#10b9811f;color:#047857;padding:2px 8px;border-radius:999px;font-weight:600}.plan-collab-avatar-stack{display:inline-flex;align-items:center;margin-left:2px}.plan-collab-avatar-dot{width:22px;height:22px;border-radius:999px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #fff;margin-left:-6px;box-shadow:0 1px 3px #0000001a}.plan-collab-avatar-dot:first-child{margin-left:0}.plan-collab-toggle-btn{border:1px solid #a7f3d0;background:#fff;color:#047857;font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;cursor:pointer;transition:all .15s ease}.plan-collab-toggle-btn:hover{background:#ecfdf5;border-color:#6ee7b7}.plan-collab-body{margin-top:10px;padding-top:10px;border-top:1px solid rgba(16,185,129,.18)}.plan-collab-hint-text{font-size:12px;color:#64748b;margin:0 0 8px;line-height:1.4}.plan-collab-invites{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.plan-collab-action-btn{background:#fff;border:1px solid #a7f3d0;color:#047857;font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;cursor:pointer;transition:all .15s ease}.plan-collab-action-btn:hover:not(:disabled){background:#ecfdf5}.plan-collab-code{background:#fff;border:1px dashed #10b981;color:#047857;font-family:monospace;font-size:13px;font-weight:700;padding:3px 8px;border-radius:6px;letter-spacing:1px}.plan-collab-join-row{display:flex;gap:8px;align-items:center;max-width:440px}.plan-collab-join-input{flex:1;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 10px!important;font-size:13px!important;border-radius:8px!important;border:1px solid #cbd5e1!important;background:#fff!important}.plan-collab-join-btn.btn{width:auto!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 16px!important;font-size:13px!important;font-weight:600!important;border-radius:8px!important;background:#10b981!important;color:#fff!important;flex-shrink:0!important}.plan-collab-members{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.plan-collab-member-item{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:3px 10px;font-size:12px;box-shadow:0 1px 2px #00000008}.plan-collab-role-tag{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px}.plan-collab-role-tag.role-owner{background:#ecfdf5;color:#047857}.plan-collab-role-tag.role-editor{background:#e0f2fe;color:#0369a1}.plan-collab-role-tag.role-viewer{background:#f1f5f9;color:#475569}.plan-collab-member-name{color:#334155;font-weight:500}.plan-day-group{padding:14px 16px!important;border:1px solid rgba(226,232,240,.9)!important;border-radius:16px!important;background:#fff!important;margin-bottom:14px!important;box-shadow:0 2px 10px #0f172a08!important}.plan-day-group-head{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important}.plan-day-head-bar{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:28px;gap:12px}.plan-day-head-left{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;min-width:0!important;flex:1 1 auto!important}.plan-day-head-right{display:inline-flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important;padding:0!important;margin:0!important}.plan-day-head-subline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:20px}.plan-day-head-toggle{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;padding:0;cursor:pointer;line-height:normal}.plan-day-head-toggle:focus-visible{outline:2px solid rgba(5,150,105,.4);outline-offset:2px;border-radius:999px}.plan-day-number-pill{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 10px;background:linear-gradient(135deg,#059669,#047857);color:#fff;font-weight:800;font-size:12px;border-radius:999px;letter-spacing:.5px;box-shadow:0 2px 6px #05966940;box-sizing:border-box;line-height:22px}.plan-day-date-wrap{position:relative;display:inline-flex;align-items:center}.plan-day-date-chip{font-size:15px!important;font-weight:700!important;color:#0f172a!important;background:transparent!important;padding:0 6px!important;margin:0!important;height:24px!important;border-radius:6px!important;border:none!important;font-family:inherit;line-height:24px!important;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:default;transition:all .15s ease;box-sizing:border-box}.plan-day-date-chip.is-interactive{cursor:pointer!important}.plan-day-date-chip.is-interactive:hover{background:#10b9811f!important;color:#047857!important}.plan-day-date-chip.is-interactive:hover .plan-day-date-edit-icon{color:#047857;opacity:1}.plan-day-date-chip .plan-day-date-edit-icon{color:#94a3b8;opacity:.7;transition:opacity .15s ease,color .15s ease;flex-shrink:0;display:block}.plan-day-date-chip.is-empty{font-size:13px!important;font-weight:600!important;color:#059669!important;background:#ecfdf5!important;border:1px dashed #a7f3d0!important;padding:0 8px!important;height:24px!important;line-height:24px!important}.plan-day-date-chip.is-empty:hover{background:#d1fae5!important;border-color:#6ee7b7!important}.plan-day-collapse{display:inline-flex!important;align-items:center!important;gap:4px!important;height:24px!important;width:auto!important;padding:0 6px!important;border:none!important;background:transparent!important;cursor:pointer!important;border-radius:6px!important;transition:background .15s ease!important;box-sizing:border-box!important}.plan-day-collapse:hover{background:#f1f5f9!important}.plan-day-collapse-arrow{font-size:11px;color:#64748b;line-height:1}.plan-day-count{font-size:12px!important;color:#64748b!important;font-weight:500!important;line-height:1!important;margin:0!important;white-space:nowrap!important}.plan-start-date-popover-title-wrap{display:flex;flex-direction:column}.plan-start-date-popover-subtitle{font-size:11px;color:#059669;margin:2px 0 0;font-weight:500}.plan-day-optimize-link{font-size:12px!important;font-weight:600!important;color:#059669!important;background:#ecfdf5!important;border:1px solid #a7f3d0!important;padding:2px 8px!important;border-radius:6px!important;text-decoration:none!important}.plan-day-optimize-link:hover{background:#d1fae5!important}.plan-day-theme{border-left:3px solid #10b981!important;background:#f0fdf4!important;border-radius:0 8px 8px 0!important;padding:6px 12px!important;font-size:13px!important;color:#166534!important;font-weight:500!important;margin:8px 0 12px!important;line-height:1.5!important}.plan-day-remark-link{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:4px 10px!important;border-radius:8px!important;border:1px dashed #cbd5e1!important;background:#f8fafc!important;color:#64748b!important;font-size:12px!important;margin:6px 0 10px!important;cursor:pointer!important;transition:all .15s ease!important}.plan-day-remark-link:hover{border-color:#10b981!important;color:#047857!important;background:#f0fdf4!important;text-decoration:none!important}.plan-stop-card{position:relative!important;display:grid!important;grid-template-columns:auto 56px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:12px 14px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 2px 8px #0f172a0a!important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease!important}.plan-stop-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a12!important;border-color:#cbd5e1!important}.plan-stop-card.is-focused{border-color:#10b981!important;box-shadow:0 0 0 2px #10b98140!important}.plan-stop-card-thumb{width:56px!important;height:56px!important;border-radius:12px!important;overflow:hidden!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:grab!important;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}.plan-stop-card-thumb[data-type=scenic]{background:#e6fee4!important;border-color:#bbf7d0!important}.plan-stop-card-thumb[data-type=food]{background:#fef3c7!important;border-color:#fde68a!important}.plan-stop-card-thumb[data-type=hotel]{background:#e0f2fe!important;border-color:#bae6fd!important}.plan-stop-card-thumb[data-type=transport]{background:#f1f5f9!important;border-color:#e2e8f0!important}.plan-stop-card-thumb[data-type=custom]{background:#fef3c7!important;border-color:#fde68a!important}.plan-stop-card-icon{font-size:26px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}.plan-stop-card-type{padding:2px 8px!important;border-radius:999px!important;font-size:11px!important;font-weight:600!important;letter-spacing:.02em!important}.plan-stop-card-type[data-type=scenic]{background:#e6fee4!important;color:#047857!important}.plan-stop-card-type[data-type=food]{background:#fef3c7!important;color:#b45309!important}.plan-stop-card-type[data-type=hotel]{background:#e0f2fe!important;color:#0369a1!important}.plan-stop-card-type[data-type=transport]{background:#f1f5f9!important;color:#475569!important}.plan-stop-card-type[data-type=custom]{background:#fef3c7!important;color:#b45309!important}.plan-stop-number-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:11px;font-weight:700;margin-right:6px;vertical-align:middle;flex-shrink:0;box-shadow:0 1px 3px #10b9814d}.plan-stop-card-title{margin:2px 0 4px!important;font-size:16px!important;font-weight:700!important;line-height:1.35!important;color:#0f172a!important;display:flex!important;align-items:center!important;flex-wrap:wrap!important}.plan-stop-name-text{color:#0f172a}.plan-stop-card-time-btn{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:3px 8px!important;border-radius:6px!important;font-size:12px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;color:#64748b!important;font-weight:500!important;cursor:pointer!important;transition:all .15s ease!important}.plan-stop-card-time-btn:hover{background:#f1f5f9!important;color:#0f172a!important;border-color:#cbd5e1!important}.plan-stop-card-time-btn.plan-stop-time-trigger.is-set{background:#f0fdf4!important;border-color:#bbf7d0!important;color:#047857!important;font-weight:600!important}.plan-stop-card-address{margin:4px 0 0!important;font-size:12px!important;color:#94a3b8!important;display:flex!important;align-items:center!important;gap:4px!important;line-height:1.35!important}.plan-stop-card-note{margin:4px 0 0!important;font-size:12px!important;color:#475569!important;line-height:1.45!important;background:#f8fafc!important;border-left:2px solid #cbd5e1!important;padding:3px 8px!important;border-radius:0 4px 4px 0!important}.plan-stop-leg{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:6px 12px!important;margin:4px 0 4px 34px!important;border-left:2px dashed #cbd5e1!important}.plan-stop-leg-main{display:inline-flex!important;align-items:center!important;gap:8px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:4px 12px!important;font-size:12px!important;color:#475569!important;box-shadow:0 1px 3px #00000008!important;flex:0 1 auto!important}.plan-stop-leg-text{font-size:12px!important;font-weight:600!important;color:#334155!important}.plan-stop-leg-error{display:inline-flex!important;align-items:center!important;gap:6px!important;margin-left:6px!important}.plan-stop-leg-err-text{font-size:11px!important;color:#b45309!important;background:#fef3c7!important;padding:1px 6px!important;border-radius:4px!important}.plan-stop-leg-retry-btn{font-size:11px!important;color:#059669!important;font-weight:600!important;cursor:pointer!important;border:none!important;background:transparent!important;padding:0!important}.plan-leg-mode-select{border:1px solid #e2e8f0!important;background:#fff!important;border-radius:999px!important;padding:2px 8px!important;font-size:12px!important;color:#475569!important;cursor:pointer!important;height:28px!important}.plan-leg-mode-wrap{position:relative!important;display:inline-flex!important;align-items:center!important}.plan-leg-mode-select-hidden{position:absolute!important;opacity:.001!important;width:24px!important;height:24px!important;margin:0!important;padding:0!important;border:none!important;pointer-events:none!important;z-index:-1!important}.plan-leg-mode-btn{display:inline-flex!important;align-items:center!important;gap:5px!important;height:28px!important;padding:0 10px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:999px!important;font-size:12px!important;font-weight:500!important;color:#334155!important;cursor:pointer!important;transition:all .15s ease!important;box-shadow:0 1px 2px #0f172a0a!important;box-sizing:border-box!important;white-space:nowrap!important}.plan-leg-mode-btn:hover{background:#f8fafc!important;border-color:#cbd5e1!important;color:#0f172a!important}.plan-leg-mode-btn.is-open{border-color:#10b981!important;box-shadow:0 0 0 2px #10b98126!important;background:#fff!important}.plan-leg-mode-btn-icon{font-size:13px!important;line-height:1!important;display:inline-block!important}.plan-leg-mode-btn-label{line-height:1!important;white-space:nowrap!important}.plan-leg-mode-btn-arrow{font-size:10px!important;color:#94a3b8!important;line-height:1!important;transition:transform .2s cubic-bezier(.16,1,.3,1)!important}.plan-leg-mode-btn.is-open .plan-leg-mode-btn-arrow{transform:rotate(180deg)!important;color:#059669!important}.plan-leg-mode-menu{position:absolute!important;top:calc(100% + 6px)!important;right:0!important;z-index:100!important;min-width:152px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:0 10px 25px -5px #0f172a1f,0 8px 10px -6px #0f172a14!important;padding:5px!important;display:flex!important;flex-direction:column!important;gap:2px!important;animation:planLegMenuIn .16s cubic-bezier(.16,1,.3,1)!important;transform-origin:top right!important;box-sizing:border-box!important}@keyframes planLegMenuIn{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.plan-leg-mode-menu-divider{height:1px!important;background:#f1f5f9!important;margin:3px 2px!important}.plan-leg-mode-item{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding:6px 10px!important;border-radius:8px!important;border:none!important;background:transparent!important;font-size:13px!important;font-weight:500!important;color:#334155!important;cursor:pointer!important;text-align:left!important;transition:all .12s ease!important;box-sizing:border-box!important;white-space:nowrap!important;gap:12px!important}.plan-leg-mode-item:hover{background:#f8fafc!important;color:#0f172a!important}.plan-leg-mode-item.is-selected{background:#ecfdf5!important;color:#047857!important;font-weight:600!important}.plan-leg-mode-item-left{display:inline-flex!important;align-items:center!important;gap:8px!important}.plan-leg-mode-item-icon{font-size:14px!important;line-height:1!important}.plan-leg-mode-item-label{line-height:1.2!important}.plan-leg-mode-item-check{font-size:13px!important;font-weight:700!important;color:#059669!important;line-height:1!important}.plan-day-add-trigger{width:100%!important;min-height:44px!important;border:1.5px dashed #cbd5e1!important;border-radius:12px!important;background:#f8fafc!important;color:#059669!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;transition:all .2s ease!important;margin-top:10px!important;padding:8px 12px!important}.plan-day-add-trigger:hover{background:#f0fdf4!important;border-color:#10b981!important;color:#047857!important}.plan-map-overview-canvas{width:100%!important;height:100%!important;min-height:480px!important;background:radial-gradient(#dcfce7 1.2px,transparent 1.2px),#f8fafc!important;background-size:24px 24px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:24px 20px!important;border-radius:16px!important;border:1px solid #e2e8f0!important;box-sizing:border-box!important}.plan-map-overview-card{width:100%;max-width:460px;background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.9);border-radius:16px;padding:20px;box-shadow:0 10px 30px #0f172a0f;display:flex;flex-direction:column;gap:16px}.plan-map-overview-header{display:flex;align-items:center;justify-content:space-between}.plan-map-overview-badge{font-size:15px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:6px}.plan-map-overview-stops-tag{font-size:12px;background:#ecfdf5;color:#047857;padding:2px 10px;border-radius:999px;font-weight:600}.plan-map-route-flow{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;max-height:280px;overflow-y:auto}.plan-map-node-row{display:flex;flex-direction:column;gap:4px}.plan-map-node-pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;box-shadow:0 1px 3px #00000008}.plan-map-node-idx{width:22px;height:22px;border-radius:999px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.plan-map-node-name{font-size:13px;font-weight:600;color:#1e293b}.plan-map-node-connector{display:flex;align-items:center;gap:8px;padding-left:20px;margin:2px 0}.plan-map-node-line{width:2px;height:16px;background:#cbd5e1}.plan-map-node-car{font-size:12px}.plan-map-empty-hint{font-size:13px;color:#94a3b8;text-align:center;margin:12px 0}.plan-map-travel-tips{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:12px;padding:12px 14px}.plan-map-tip-head{display:flex;align-items:center;gap:6px;font-size:13px;color:#065f46;margin-bottom:4px}.plan-map-tip-desc{margin:0;font-size:12px;color:#047857;line-height:1.5}.plan-map-status-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#94a3b8;justify-content:center;text-align:center}.plan-map-status-dot{width:6px;height:6px;border-radius:999px;background:#10b981}@media(min-width:960px){.plan-edit-page .sub-page-body{max-width:1400px!important}.plan-edit-page .plan-layout{grid-template-columns:minmax(420px,460px) minmax(0,1fr)!important;gap:16px!important}}.empty-page-state-wrapper{display:flex;flex-direction:column;gap:20px;width:100%;padding-bottom:24px}.empty-page-state-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 20px 28px;background:linear-gradient(180deg,#fffffff2,#f8fafce0);border:1px solid rgba(16,185,129,.14);border-radius:20px;box-shadow:0 8px 24px #0f172a0a;text-align:center;margin-top:6px}.empty-page-icon-badge{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin-bottom:16px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 6px 16px #0000000d}.empty-page-icon-badge svg{width:32px;height:32px}.empty-page-icon-badge.tone-cart{background:#ecfdf5;color:#059669;border:1px solid rgba(5,150,105,.18)}.empty-page-icon-badge.tone-order{background:#eff6ff;color:#2563eb;border:1px solid rgba(37,99,235,.18)}.empty-page-icon-badge.tone-favorite{background:#fff1f2;color:#e11d48;border:1px solid rgba(225,29,72,.18)}.empty-page-icon-badge.tone-checkout{background:#faf5ff;color:#9333ea;border:1px solid rgba(147,51,234,.18)}.empty-page-icon-badge.tone-guest{background:#f0fdf4;color:#10b981;border:1px solid rgba(16,185,129,.22)}.empty-page-icon-badge.tone-search{background:#fffbeb;color:#d97706;border:1px solid rgba(217,119,6,.2)}.empty-page-title{font-size:17px;font-weight:700;color:var(--text-main);margin:0 0 6px;line-height:1.35}.empty-page-desc{font-size:13px;color:var(--text-sub);margin:0 0 20px;max-width:320px;line-height:1.5}.empty-page-actions{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:300px}.empty-page-primary-btn{flex:1;height:42px;border-radius:999px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;font-size:14px;border:none;box-shadow:0 4px 14px #10b98147;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:all .15s ease}.empty-page-primary-btn:active{transform:scale(.97);box-shadow:0 2px 8px #10b98133}.empty-page-secondary-btn{flex:1;height:42px;border-radius:999px;background:#ffffffe6;color:var(--text-main);border:1px solid rgba(0,0,0,.12);font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:all .15s ease}.empty-page-secondary-btn:active{background:#f1f5f9e6;transform:scale(.97)}.empty-page-extension{width:100%}.mall-recommend-section{margin-top:10px;width:100%}.mall-recommend-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 4px}.mall-recommend-header-text{display:flex;flex-direction:column;gap:2px}.mall-recommend-title-row{display:flex;align-items:center;gap:6px}.mall-recommend-title{font-size:15px;font-weight:750;color:var(--text-main);margin:0;letter-spacing:-.2px}.mall-recommend-subtitle{font-size:11px;color:var(--text-muted);margin:0}.mall-recommend-more{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--primary-color-deep);text-decoration:none;padding:4px 6px;border-radius:6px;transition:background .15s ease}.mall-recommend-more:active{background:#10b98114}.mall-recommend-more .mall-chevron{width:6px;height:6px;border-top:1.8px solid currentColor;border-right:1.8px solid currentColor;transform:rotate(45deg);margin-left:2px}.mall-recommend-list,.skeleton-grid{display:flex;flex-direction:column;gap:10px}.mall-recommend-skeleton-card{height:90px;border-radius:14px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.filter-scroll,.drag-scroll{flex:1;overflow-x:auto;min-width:0;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;user-select:none;-webkit-user-select:none;mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);padding-right:12px}.filter-scroll.is-dragging,.drag-scroll.is-dragging{cursor:grabbing}.filter-scroll::-webkit-scrollbar,.drag-scroll::-webkit-scrollbar{display:none}.filter-section{margin-bottom:12px}.filter-section:last-child{margin-bottom:0}.filter-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.filter-section-head .filter-label{font-size:12px;font-weight:650;color:var(--text-main)}.filter-section-head .filter-hint{font-size:11px;color:var(--text-muted)}.filter-sub-reset{border:0;background:transparent;color:var(--primary-color-deep);font-size:11px;cursor:pointer}.filter-custom-price-row{display:flex;align-items:center;gap:6px;margin-top:8px}.filter-price-unit{font-size:12px;color:var(--text-muted);font-weight:600}.filter-price-sep{color:var(--text-muted);font-size:12px}.filter-price-input{width:76px;height:30px;padding:0 8px;font-size:12px;border:1px solid var(--border-glow);border-radius:8px;background:#fffffff2;color:var(--text-main);outline:none;transition:border-color .15s}.filter-price-input:focus{border-color:var(--primary-color-deep)}.filter-price-btn{padding:5px 12px;font-size:12px;border:0;border-radius:8px;background:var(--primary-color-deep);color:#fff;cursor:pointer;font-weight:500;transition:opacity .15s}.filter-price-btn:active{opacity:.85}.filter-action-bar{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px dashed var(--border-glow)}.filter-summary{font-size:12px;color:var(--text-muted)}.filter-action-buttons{display:flex;align-items:center;gap:8px}.filter-reset-btn{padding:6px 10px;font-size:12px;border-radius:8px}.filter-apply-btn{padding:6px 14px;font-size:12px;border-radius:8px;font-weight:600}.mall-discovery-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 2px}.mall-discovery-badge{font-size:12px;font-weight:600;color:var(--text-main);letter-spacing:-.2px}.mall-discovery-toggle-link{border:0;background:transparent;color:var(--primary-color-deep);font-size:12px;cursor:pointer;font-weight:500}.mall-discovery-collapse{width:100%;margin:6px 0 12px;padding:8px 12px;border:1px dashed rgba(16,185,129,.25);border-radius:12px;background:#ffffffb3;color:var(--primary-color-deep);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.mall-discovery-collapse:hover{background:#f0fdf4e6}.mall-infinite-sentinel{width:100%;height:20px;pointer-events:none;visibility:hidden}.mall-loading-sentinel{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0 20px;color:var(--text-muted);font-size:12px}.mall-loading-dot{width:6px;height:6px;border-radius:50%;background:var(--primary-color-deep);animation:mall-pulse 1.2s infinite ease-in-out both}.mall-loading-dot:nth-child(1){animation-delay:-.32s}.mall-loading-dot:nth-child(2){animation-delay:-.16s}@keyframes mall-pulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1.1);opacity:1}}.mall-loading-text{margin-left:4px;font-weight:500}.mall-end-divider{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 16px;margin:8px 0 16px}.mall-end-line{flex:1;max-width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.08),transparent)}.mall-end-text{font-size:12px;color:var(--text-muted);letter-spacing:.2px}.product-gallery-wrapper{position:relative;width:100%;margin-bottom:12px}.product-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;aspect-ratio:16 / 10;border-radius:16px;background:var(--card);box-shadow:0 4px 20px #0f172a0f}.product-gallery-slide{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;cursor:zoom-in}.product-gallery-badge{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:5px;background:#0f172aa6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;pointer-events:none}.gallery-badge-icon{font-size:13px}.product-lightbox-overlay{position:fixed;inset:0;z-index:1000;background:#000000eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:16px}.lightbox-close-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#ffffff26;border:none;color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10}.lightbox-close-btn:hover{background:#ffffff4d}.lightbox-image-container{display:flex;flex-direction:column;align-items:center;max-width:90vw;max-height:85vh}.lightbox-active-img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:10px;box-shadow:0 8px 32px #00000080}.lightbox-nav-row{display:flex;align-items:center;gap:20px;margin-top:16px;color:#fff}.lightbox-nav-btn{width:36px;height:36px;border-radius:50%;background:#fff3;border:none;color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox-nav-btn:disabled{opacity:.3;cursor:not-allowed}.lightbox-index-text{font-size:14px;font-weight:500}.modern-scenic-shell{display:flex;flex-direction:column;gap:16px}.scenic-head-section{display:flex;flex-direction:column;gap:12px}.scenic-title-row{display:flex;flex-direction:column;gap:8px}.scenic-main-title{margin:0;font-size:23px;line-height:1.3;font-weight:800;color:#0f172a;letter-spacing:-.3px}.scenic-badges-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.scenic-auth-badge{display:inline-flex;align-items:center;padding:3px 8px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:11.5px;font-weight:600;border-radius:6px}.scenic-rank-badge{display:inline-flex;align-items:center;padding:3px 8px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;font-size:11.5px;font-weight:600;border-radius:6px}.scenic-rating-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:11.5px;border-radius:6px;text-decoration:none;transition:all .15s ease}.scenic-rating-badge:hover{background:#dbeafe}.scenic-rating-badge strong{font-weight:700;color:#1e40af}.scenic-rating-badge .review-count{color:#60a5fa;font-size:11px}.scenic-rating-badge .badge-arrow{font-size:13px;color:#3b82f6}.scenic-guarantee-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #d1fae5;border-radius:12px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.scenic-guarantee-bar:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98114}.guarantee-item{display:flex;align-items:center;gap:6px;flex:1}.guarantee-icon{font-size:16px;flex-shrink:0}.guarantee-text{display:flex;flex-direction:column}.guarantee-text strong{font-size:12px;font-weight:700;color:#065f46;line-height:1.2}.guarantee-text small{font-size:10px;color:#047857;opacity:.8;line-height:1.2;margin-top:1px}.guarantee-divider{width:1px;height:20px;background:#10b98133;margin:0 4px}.guarantee-more-arrow{font-size:14px;color:#059669;font-weight:700;margin-left:4px}.scenic-interactive-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.scenic-info-modern-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:all .15s ease}.scenic-info-modern-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0f172a0a}.info-card-icon-col{width:38px;height:38px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.location-card .info-card-icon-col{background:#fef2f2}.hours-card .info-card-icon-col{background:#f0fdf4}.info-card-text-col{flex:1;min-width:0}.info-card-head{display:flex;align-items:center;gap:6px}.info-card-head strong{font-size:13.5px;font-weight:700;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.info-card-sub{margin:2px 0 0;font-size:11.5px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-status-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px #10b98140;flex-shrink:0}.info-card-action-btn{display:inline-flex;align-items:center;gap:2px;padding:4px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#2563eb;font-size:11.5px;font-weight:600;cursor:pointer;flex-shrink:0}.info-card-tag{padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;flex-shrink:0}.info-card-tag.green-tag{background:#ecfdf5;color:#059669}.scenic-booking-panel{padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--card)}.booking-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.booking-header-title{display:flex;align-items:center;gap:6px}.booking-header-title h3{margin:0;font-size:17px;font-weight:800;color:#0f172a}.scenic-price-badge{display:flex;align-items:baseline;gap:2px}.scenic-price-badge .price-label{font-size:11px;color:#ef4444;background:#fee2e2;padding:1px 5px;border-radius:4px;margin-right:3px;font-weight:600}.scenic-price-badge .currency{font-size:14px;font-weight:700;color:#ef4444}.scenic-price-badge .price-num{font-size:26px;font-weight:900;color:#ef4444;line-height:1}.scenic-price-badge small{font-size:11px;color:#64748b;margin-left:2px}.scenic-exposed-dates-container{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #f1f5f9}.scenic-dates-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dates-header-title{font-size:13px;font-weight:700;color:#334155}.dates-header-picked strong{color:#059669;font-size:13px}.dates-header-hint{font-size:11px;color:#94a3b8}.scenic-exposed-dates-scroll{display:flex;gap:8px;overflow-x:auto;padding:4px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scenic-exposed-dates-scroll::-webkit-scrollbar{display:none}.scenic-quick-date-chip{flex:0 0 68px;display:flex;flex-direction:column;align-items:center;padding:8px 4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.scenic-quick-date-chip:hover:not(:disabled){border-color:#cbd5e1;background:#f1f5f9}.scenic-quick-date-chip.is-selected{background:#ecfdf5;border-color:#10b981;box-shadow:0 2px 8px #10b98133}.scenic-quick-date-chip.is-disabled{opacity:.45;cursor:not-allowed;background:#f1f5f9}.chip-weekday{font-size:11px;color:#64748b;font-weight:500}.scenic-quick-date-chip.is-selected .chip-weekday{color:#047857;font-weight:700}.chip-date{font-size:13px;font-weight:700;color:#1e293b;margin:2px 0}.scenic-quick-date-chip.is-selected .chip-date{color:#065f46}.chip-price{font-size:11px;color:#ef4444;font-weight:600}.more-dates-trigger{justify-content:center;background:#f8fafc;border:1px dashed #cbd5e1}.more-dates-trigger .chip-icon{font-size:14px;margin-bottom:2px}.scenic-tickets-accordion-list{display:flex;flex-direction:column;gap:10px}.tickets-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;font-size:13px;font-weight:700;color:#334155}.scenic-rich-ticket-card{border:1px solid #e2e8f0;border-radius:12px;background:#fff;overflow:hidden;transition:all .2s ease}.scenic-rich-ticket-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0a}.scenic-rich-ticket-card.is-selected{border-color:#10b981;box-shadow:0 0 0 1.5px #10b981,0 4px 12px #10b9811a;background:#fcfffd}.scenic-rich-ticket-card.is-disabled{opacity:.55;background:#f8fafc}.ticket-card-primary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.ticket-info-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ticket-title-row{display:flex;align-items:center;gap:6px}.ticket-name{font-size:14.5px;font-weight:750;color:#0f172a}.ticket-type-pill{font-size:10.5px;color:#64748b;background:#f1f5f9;padding:1px 6px;border-radius:4px}.ticket-badges-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.ticket-pill-tag{font-size:10.5px;padding:1px 5px;border-radius:4px;line-height:1.3}.ticket-pill-tag.tag-green{background:#ecfdf5;color:#059669}.ticket-pill-tag.tag-blue{background:#eff6ff;color:#2563eb}.ticket-pill-tag.tag-muted{background:#f1f5f9;color:#64748b}.ticket-detail-toggle-btn{display:inline-flex;align-items:center;gap:3px;background:none;border:none;padding:2px 0 0;color:#64748b;font-size:11px;cursor:pointer;text-align:left}.ticket-detail-toggle-btn:hover{color:#059669}.toggle-chevron{display:inline-block;font-size:12px;transition:transform .2s ease}.toggle-chevron.is-open{transform:rotate(90deg)}.ticket-info-right{display:flex;align-items:center;gap:12px;margin-left:12px;flex-shrink:0}.ticket-price-box{display:flex;align-items:baseline;text-align:right}.ticket-price-currency{font-size:12px;font-weight:700;color:#ef4444}.ticket-price-num{font-size:20px;font-weight:900;color:#ef4444;line-height:1}.ticket-price-unit{font-size:10px;color:#94a3b8;margin-left:1px}.ticket-sold-out-tag{font-size:11px;color:#94a3b8;background:#e2e8f0;padding:2px 6px;border-radius:4px}.ticket-select-circle{width:22px;height:22px;border-radius:50%;border:1.5px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;transition:all .15s ease}.ticket-select-circle.is-selected{background:#10b981;border-color:#10b981}.ticket-accordion-detail{padding:12px 14px;background:#f8fafc;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:8px;font-size:12px}.ticket-detail-row{display:flex;gap:10px;line-height:1.45}.ticket-detail-row .detail-label{width:56px;flex-shrink:0;color:#64748b;font-weight:500}.ticket-detail-row .detail-value{flex:1;color:#334155}.scenic-selection-panel{margin-top:14px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:10px}.selection-summary-row{display:flex;align-items:center;justify-content:space-between}.summary-label{font-size:12.5px;color:#64748b}.summary-date{font-size:13px;color:#0f172a}.pick-date-btn{font-size:12px;color:#059669;font-weight:600;padding:0}.selection-total-row{display:flex;align-items:baseline;justify-content:space-between;padding-top:8px;border-top:1px dashed #e2e8f0}.total-label{font-size:13px;font-weight:600;color:#1e293b}.total-amount-box{display:flex;align-items:baseline;gap:1px}.total-amount-box .currency{font-size:13px;font-weight:700;color:#ef4444}.total-amount-box .amount{font-size:22px;font-weight:900;color:#ef4444}.scenic-desktop-actions{display:none;gap:10px;margin-top:6px}.scenic-desktop-cart-btn{flex:1;padding:10px;font-size:14px}.scenic-desktop-buy-btn{flex:1.5;padding:10px;font-size:14px;background:#10b981}.scenic-highlights-card,.scenic-notice-card{padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--card)}.section-title-rail{display:flex;align-items:center;gap:8px;margin-bottom:14px}.section-title-icon{font-size:20px}.section-title-text{flex:1}.section-title-text h3{margin:0;font-size:16px;font-weight:800;color:#0f172a;line-height:1.25}.section-title-text p{margin:2px 0 0;font-size:11.5px;color:#64748b}.section-title-tag{font-size:11px;padding:2px 6px;border-radius:4px;background:#f0fdf4;color:#15803d;font-weight:600;border:1px solid #bbf7d0}.scenic-spots-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px}.scenic-spot-card{padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #f1f5f9}.spot-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.spot-num{font-size:12px;font-weight:800;color:#059669;background:#d1fae5;padding:1px 5px;border-radius:4px}.spot-name{font-size:14px;font-weight:750;color:#1e293b}.spot-pill-tag{font-size:10.5px;color:#64748b;background:#e2e8f0;padding:1px 6px;border-radius:4px;margin-left:auto}.spot-desc{margin:0 0 6px;font-size:12.5px;color:#475569;line-height:1.5}.spot-tip{font-size:11.5px;color:#047857;background:#ecfdf5;padding:6px 8px;border-radius:6px;line-height:1.4}.scenic-route-guide{padding:12px;border-radius:12px;background:#f0fdf4;border:1px solid #d1fae5}.route-guide-title{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:750;color:#065f46}.route-steps{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.route-node{background:#fff;padding:3px 8px;border-radius:6px;font-weight:600;color:#0f172a;box-shadow:0 1px 3px #0000000d}.route-arrow{color:#10b981;font-weight:700}.policy-cards-grid{display:grid;grid-template-columns:1fr;gap:10px}.policy-detail-card{padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #f1f5f9}.policy-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.policy-head strong{font-size:13.5px;font-weight:750;color:#1e293b}.policy-text{margin:0;font-size:12.5px;color:#475569;line-height:1.55}.modern-store-card{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;text-decoration:none;background:#fff;border:1px solid #e2e8f0;transition:all .15s ease}.modern-store-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0f172a0d}.store-avatar{font-size:24px}.store-info{flex:1;display:flex;flex-direction:column}.store-info strong{font-size:14px;color:#0f172a}.store-info small{font-size:11.5px;color:#64748b;margin-top:2px}.store-enter-btn{font-size:12px;color:#059669;font-weight:600}.scenic-map-modal,.scenic-guarantee-modal{max-width:440px;margin:0 auto;border-radius:20px 20px 0 0;padding:20px;background:#fff}.map-modal-head,.guarantee-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.map-modal-head h3,.guarantee-modal-head h3{margin:0;font-size:17px;font-weight:800;color:#0f172a}.map-modal-addr-card{padding:14px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;margin-bottom:14px}.map-modal-addr-card strong{display:block;font-size:15px;color:#0f172a;margin-bottom:4px}.map-modal-addr-card p{margin:0 0 8px;font-size:13px;color:#64748b}.copy-addr-btn{font-size:12px;color:#2563eb;padding:0}.map-modal-trans-card{margin-bottom:16px}.map-modal-trans-card h4{margin:0 0 8px;font-size:13.5px;color:#1e293b}.map-modal-trans-card ul{margin:0;padding-left:18px;font-size:12.5px;color:#475569;line-height:1.6}.map-modal-actions{display:flex;gap:10px}.map-link-btn{flex:1;text-align:center;text-decoration:none}.guarantee-detail-item{margin-bottom:14px}.guarantee-detail-item .item-title{display:flex;align-items:center;gap:6px;margin-bottom:4px}.guarantee-detail-item .item-title strong{font-size:14px;color:#065f46}.guarantee-detail-item p{margin:0;font-size:12.5px;color:#475569;line-height:1.5}@media(min-width:960px){.product-detail{max-width:1100px;margin:0 auto;padding:24px}.product-gallery{aspect-ratio:21 / 9;max-height:380px}.modern-scenic-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,1fr);grid-template-areas:"head    booking" "detail  booking";gap:28px;align-items:start}.scenic-head-section{grid-area:head}.scenic-booking-section{grid-area:booking;position:sticky;top:80px}.scenic-detail-section{grid-area:detail}.scenic-desktop-actions{display:flex}.scenic-spots-grid,.policy-cards-grid{grid-template-columns:repeat(3,1fr)}.product-detail-bar{display:none}}.mall-category-breadcrumb-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;padding:10px 14px;border-radius:14px;background:linear-gradient(135deg,#eef2fff2,#e0e7ffd9);border:1px solid rgba(99,102,241,.2);box-shadow:0 2px 8px #6366f114}.mall-category-breadcrumb-bar .breadcrumb-back-btn{display:inline-flex;align-items:center;gap:4px;border:none;background:#ffffffe6;color:#4338ca;font-size:13px;font-weight:650;padding:5px 10px;border-radius:8px;cursor:pointer;box-shadow:0 1px 3px #0000000d}.mall-category-breadcrumb-bar .breadcrumb-back-btn .back-arrow{font-size:16px;line-height:1}.mall-category-breadcrumb-bar .breadcrumb-info{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.mall-category-breadcrumb-bar .breadcrumb-name{font-size:14px;font-weight:700;color:#1e1b4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mall-category-breadcrumb-bar .breadcrumb-tag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:6px;background:#6366f126;color:#4f46e5;white-space:nowrap}.mall-category-breadcrumb-bar .breadcrumb-clear-btn{border:none;background:transparent;color:#6366f1;font-size:12px;font-weight:600;padding:4px 6px;cursor:pointer;white-space:nowrap}.category-panel-head{display:flex;flex-direction:column;gap:10px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.category-head-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.category-head-title{margin:0;font-size:17px;font-weight:700;color:#0f172a}.category-head-count{font-size:12px;color:#64748b;font-weight:500}.subcat-chips-row{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px 0;-webkit-overflow-scrolling:touch}.subcat-chips-row::-webkit-scrollbar{display:none}.subcat-chip{flex-shrink:0;padding:5px 12px;border-radius:16px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.subcat-chip:active{transform:scale(.97)}.subcat-chip.active{background:#ecfdf5;border-color:#10b981;color:#047857;font-weight:650}.category-feature-card{border-radius:14px;padding:16px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid rgba(16,185,129,.25);display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px #10b98114}.feature-badge{display:inline-block;align-self:flex-start;padding:2px 8px;border-radius:6px;background:#10b981;color:#fff;font-size:10px;font-weight:700}.feature-title{margin:6px 0 4px;font-size:15px;font-weight:700;color:#065f46}.feature-desc{margin:0;font-size:12px;color:#047857;line-height:1.4}.feature-action-btn{align-self:flex-start;padding:8px 16px;border-radius:10px;border:none;background:#10b981;color:#fff;font-size:13px;font-weight:650;cursor:pointer;box-shadow:0 2px 6px #10b98140}.category-products-section,.category-products-list{display:flex;flex-direction:column;gap:10px}.category-products-list .product-card{margin:0;border-radius:12px;background:#fff;border:1px solid #f1f5f9;box-shadow:0 1px 4px #00000008}.category-loading-box{padding:40px 16px;text-align:center;color:#94a3b8;font-size:13px}.category-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;text-align:center;background:#f8fafc;border-radius:14px;border:1px dashed #cbd5e1;margin-top:4px}.category-empty-state .empty-emoji{font-size:38px;margin-bottom:8px;line-height:1}.category-empty-state .empty-title{font-size:14px;font-weight:650;color:#334155;margin:0 0 4px}.category-empty-state .empty-desc{font-size:12px;color:#94a3b8;margin:0}.cart-row-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:12px}.cart-stepper{display:inline-flex;align-items:center;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#f8fafc;box-shadow:0 1px 2px #0000000a}.stepper-btn{width:32px;height:30px;display:flex;align-items:center;justify-content:center;border:none;background:#fff;color:#1e293b;font-size:16px;font-weight:600;cursor:pointer;touch-action:manipulation;transition:background-color .15s ease}.stepper-btn:active:not(:disabled){background:#f1f5f9}.stepper-btn:disabled{color:#cbd5e1;background:#f8fafc;cursor:not-allowed}.stepper-value{min-width:32px;text-align:center;font-size:13px;font-weight:650;color:#0f172a}.cart-remove-btn{font-size:13px;color:#ef4444}.mall-load-more-wrap{display:flex;flex-direction:column;align-items:center;padding:16px 0;position:relative}.mall-load-more-btn{padding:8px 24px;border-radius:20px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:13px;cursor:pointer;box-shadow:0 1px 3px #0000000a}.mall-load-more-btn:active{background:#f8fafc}
