:root{--bg: #fbf9f5;--bg-subtle: #f5f0e6;--surface: #ffffff;--surface-raised: #ffffff;--surface-tint: #faf6ee;--border: #e8dfd2;--border-subtle: #f0e9dc;--border-focus: #c23e32;--ink: #1c1917;--ink-secondary: #57534e;--muted: #78716c;--muted-light: #a8a29e;--red: #c23e32;--red-deep: #9e2a20;--red-subtle: #fef2f2;--red-border: #fecaca;--gold: #d97706;--gold-subtle: #fffbeb;--blue: #2563eb;--blue-subtle: #eff6ff;--green: #059669;--green-subtle: #ecfdf5;--purple: #7c3aed;--purple-subtle: #f5f3ff;--teal: #0d9488;--teal-subtle: #f0fdfa;--shadow-sm: 0 1px 3px rgba(28, 25, 23, .05);--shadow: 0 6px 20px rgba(28, 25, 23, .07);--shadow-lg: 0 16px 40px rgba(28, 25, 23, .1);--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--radius-full: 9999px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;color:var(--ink);background:var(--bg)}html{scrollbar-gutter:stable;overflow-y:scroll}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 0%,#fffbf5 0%,var(--bg) 50%,#f4eee3 100%);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased}button,textarea,input,select{font:inherit;color:inherit}button{cursor:pointer}.shell{width:min(1360px,calc(100% - 40px));margin:0 auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.page{padding:36px 0 80px;animation:fadeIn .25s ease-out}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fbf9f5e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:40;transition:all .2s ease}.brand{display:flex;gap:12px;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.brand-mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--red) 0%,var(--red-deep) 100%);color:#fff;display:grid;place-items:center;font-weight:800;font-size:19px;box-shadow:0 3px 10px #c23e3247;transition:transform .15s ease}.brand:hover .brand-mark{transform:scale(1.04)}.brand-name{font-weight:700;font-size:16px;letter-spacing:.02em;display:flex;align-items:center;gap:8px}.brand-note{color:var(--muted);font-size:12px;margin-top:2px}.admin-role-badge{background:#fef08a;color:#854d0e;font-size:11px;padding:1px 7px;border-radius:var(--radius-full);font-weight:700;border:1px solid #fde047}.perspective-btn{background:#fef3c7!important;border:1px solid #fde68a!important;color:#92400e!important;font-weight:700;border-radius:var(--radius-sm);padding:6px 12px!important;font-size:12px!important;transition:all .15s ease}.perspective-btn:hover{background:#fde68a!important;transform:translateY(-1px)}.nav{display:flex;align-items:center;gap:4px}.nav-item{border:0;background:transparent;color:var(--ink-secondary);padding:8px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:13.5px;transition:all .15s ease}.nav-item.active{background:#c23e3217;color:var(--red-deep);font-weight:700}.nav-item:hover:not(.active){background:#0000000a;color:var(--ink)}.user-button{display:flex;align-items:center;gap:6px;border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--ink)!important;padding:6px 12px!important;border-radius:var(--radius-sm)!important;font-size:13px!important;font-weight:600;box-shadow:var(--shadow-sm);transition:all .15s ease}.user-button:hover{border-color:var(--muted-light)!important;transform:translateY(-1px)}.user-dot{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--border);color:var(--ink-secondary);font-size:11px;font-weight:700}.hero{min-height:420px;display:grid;grid-template-columns:1.18fr .82fr;gap:36px;align-items:start;animation:slideUp .3s ease-out}.eyebrow{color:var(--red);font-size:12px;letter-spacing:.12em;font-weight:700;margin-bottom:10px;text-transform:uppercase}h1{font-family:"Noto Serif SC",Songti SC,serif;font-size:clamp(34px,4.5vw,52px);line-height:1.15;letter-spacing:-.02em;margin:0 0 16px;font-weight:800}h1 em{color:var(--red);font-style:normal}.lede{color:var(--ink-secondary);font-size:15px;line-height:1.7;max-width:530px;margin-bottom:20px}.prompt-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:border-color .2s ease,box-shadow .2s ease}.prompt-box:focus-within{border-color:var(--red);box-shadow:0 8px 24px #c23e321f}.prompt-box textarea{width:100%;min-height:72px;resize:vertical;border:0;background:transparent;outline:0;line-height:1.65;color:var(--ink);font-size:14.5px}.prompt-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border-subtle);padding-top:12px;margin-top:8px}.prompt-footer .hint{font-size:12px;color:var(--ink-secondary);display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.prompt-footer .hint-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;background:#c23e3214;color:var(--red-deep);font-size:11px;font-weight:700;letter-spacing:.02em}.home-memory-dock{margin:0 0 16px;padding:14px 18px;background:linear-gradient(135deg,#fffffffa,#fffaf4eb);border:1px solid rgba(217,119,6,.22);border-left:4px solid #d97706;border-radius:var(--radius);box-shadow:0 4px 18px #b453090d;display:flex;flex-direction:column;gap:10px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.home-memory-dock.is-disabled{border-color:#e2e8f0;border-left-color:#94a3b8;background:linear-gradient(135deg,#f8fafcf5,#f1f5f9eb);box-shadow:0 2px 10px #00000008}.memory-dock-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.memory-dock-title{display:flex;align-items:center;gap:8px}.memory-dock-icon{font-size:15px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#f59e0b1f;line-height:1}.is-disabled .memory-dock-icon{background:#e2e8f0;filter:grayscale(1)}.memory-dock-heading{font-size:13.5px;font-weight:700;color:#78350f;letter-spacing:-.01em}.is-disabled .memory-dock-heading{color:#64748b}.memory-dock-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;display:inline-flex;align-items:center;line-height:1.3}.memory-dock-badge.badge-active{background:#d977061f;color:#b45309;border:1px solid rgba(217,119,6,.25)}.memory-dock-badge.badge-inactive{background:#e2e8f0;color:#64748b;border:1px solid #cbd5e1}.memory-dock-actions{display:flex;align-items:center;gap:10px}.memory-dock-switch{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 6px;background:#fff;border:1.5px solid rgba(234,88,12,.32);border-radius:999px;cursor:pointer;box-shadow:0 1px 4px #0000000d;font-family:inherit;transition:all .2s ease;-webkit-user-select:none;user-select:none}.memory-dock-switch:hover{border-color:#ea580c;background:#fff7ed;transform:translateY(-1px);box-shadow:0 3px 8px #ea580c26}.memory-dock-switch:active{transform:scale(.97)}.switch-track{width:32px;height:18px;border-radius:999px;background:#cbd5e1;position:relative;display:inline-block;transition:background-color .22s ease;flex-shrink:0}.memory-dock-switch.is-active .switch-track{background:linear-gradient(135deg,#ea580c,#c2410c)}.switch-thumb{width:14px;height:14px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #00000040;transition:transform .22s cubic-bezier(.4,0,.2,1)}.memory-dock-switch.is-active .switch-thumb{transform:translate(14px)}.switch-label{font-size:12.5px;font-weight:700;color:#7c2d12}.memory-dock-switch:not(.is-active) .switch-label{color:#64748b}.switch-status-tag{font-size:11px;font-weight:700;padding:1px 6px;border-radius:999px;line-height:1.3}.switch-status-tag.is-on{background:#ffedd5;color:#c2410c}.switch-status-tag.is-off{background:#e2e8f0;color:#64748b}.memory-dock-link{font-size:12px;font-weight:600;color:#92400e;text-decoration:none;padding:4px 8px;border-radius:6px;transition:all .15s ease}.memory-dock-link:hover{color:var(--red);background:#c23e3214;text-decoration:underline}.memory-dock-prompt-box{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid rgba(234,88,12,.22);border-radius:12px;padding:10px 14px;box-shadow:0 1px 4px #b453090a;transition:all .2s ease;cursor:pointer}.memory-dock-prompt-box:hover{border-color:#ea580c73;background:#fffdfb;box-shadow:0 3px 12px #ea580c14}.memory-dock-prompt-box.is-muted{background:#f8fafc;border-color:#cbd5e1;opacity:.65;cursor:default}.prompt-sparkle-icon{font-size:16px;line-height:1.55;flex-shrink:0}.memory-dock-prompt-text{font-size:13.5px;line-height:1.55;color:#292524;font-weight:500;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.memory-dock-prompt-label{font-weight:700;color:#9a3412;margin-right:4px}.memory-dock-prompt-box.is-muted .memory-dock-prompt-text{color:#64748b;text-decoration:line-through}.memory-dock-prompt-box.is-muted .memory-dock-prompt-label{color:#94a3b8}.memory-dock-chips{display:flex;flex-wrap:wrap;gap:8px}.memory-dock-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;background:#fff;border:1px solid rgba(217,119,6,.25);box-shadow:0 1px 3px #b453090a;font-size:12.5px;color:var(--ink);transition:all .2s ease}.memory-dock-chip .chip-cat{font-size:11px;font-weight:700;color:#b45309;background:#f59e0b1f;padding:2px 6px;border-radius:4px;display:inline-flex;align-items:center;gap:3px}.memory-dock-chip .chip-val{font-weight:600;color:#292524}.memory-dock-chip.is-muted{opacity:.55;filter:grayscale(.85);background:#f8fafc;border-color:#cbd5e1}.memory-dock-chip.is-muted .chip-cat{background:#e2e8f0;color:#64748b}.memory-dock-chip.is-muted .chip-val{color:#64748b;text-decoration:line-through}.memory-dock-hint{font-size:12px;line-height:1.5;color:#854d0e;padding-top:2px}.is-disabled .memory-dock-hint{color:#64748b}.home-memory-alert{margin-bottom:16px;padding:14px 18px}.smart-presets-wrap{margin-top:18px;padding:12px 14px;background:var(--surface-tint);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px}.presets-label{font-size:12px;font-weight:700;color:var(--red-deep)}.presets-row{display:flex;gap:8px;flex-wrap:wrap}.preset-badge{border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:5px 11px;border-radius:var(--radius-full);font-size:12px;font-weight:600;transition:all .18s ease}.preset-badge:hover{border-color:var(--red);color:var(--red);background:var(--red-subtle);transform:translateY(-1px)}.primary{border:0;background:linear-gradient(135deg,var(--red) 0%,var(--red-deep) 100%);color:#fff;border-radius:var(--radius-sm);padding:10px 18px;font-weight:700;font-size:13.5px;box-shadow:0 4px 14px #c23e3238;transition:all .18s ease}.primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #c23e324d}.secondary{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:9px 14px;font-weight:600;font-size:13px;box-shadow:var(--shadow-sm);transition:all .15s ease}.secondary:hover{border-color:var(--muted-light);background:var(--surface-tint)}.ghost{border:0;background:transparent;color:var(--red);padding:6px 4px;font-weight:700;font-size:13px}.ghost:hover{text-decoration:underline}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--surface);color:var(--ink-secondary);padding:5px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1)}.chip:hover{border-color:var(--red-border);color:var(--red)}.chip.selected{background:var(--red);border-color:var(--red);color:#fff}.preference-capsules{margin-top:18px;display:flex;flex-direction:column;gap:12px}.capsule-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.capsule-label{font-size:12px;font-weight:700;color:var(--muted);min-width:64px}.capsule-list{display:flex;gap:6px;flex-wrap:wrap}.pref-chip{border:1px solid var(--border);background:var(--surface);color:var(--ink-secondary);padding:4px 11px;border-radius:var(--radius-full);font-size:12px;font-weight:500;transition:all .18s ease}.pref-chip:hover{border-color:var(--red);color:var(--red);background:var(--red-subtle)}.pref-chip.active{background:var(--red-subtle);border-color:var(--red-border);color:var(--red-deep);font-weight:700;box-shadow:0 0 0 1px var(--red-border)}.hero-visual{min-height:440px;border-radius:var(--radius-lg);position:relative;overflow:hidden;background:linear-gradient(135deg,#2b2524 0,#2b2524 35%,#9e2a20 35%,#9e2a20 55%,#c27d32 55%,#c27d32 72%,#3a4d5a 72%);box-shadow:var(--shadow-lg)}.hero-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1411100d,#141110b3)}.hero-visual:after{content:"重庆";position:absolute;right:24px;bottom:20px;color:#ffffffb3;font-family:serif;font-size:84px;font-weight:900;writing-mode:vertical-rl;letter-spacing:.18em}.visual-tag{position:absolute;left:20px;top:20px;color:#fff;padding:6px 12px;background:#1e181699;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-full);font-size:12px;font-weight:600;z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.visual-caption{position:absolute;left:20px;bottom:20px;color:#fff;z-index:1}.visual-caption strong{display:block;font-size:20px;font-family:serif}.visual-caption span{font-size:12px;color:#f3dfc9;margin-top:4px;display:block}.chat-panel{margin-top:34px;padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.chat-header-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.chat-mode-select-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chat-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.chat-panel h2{margin:0 0 6px;font-family:"Noto Serif SC",Songti SC,serif;font-size:25px}.chat-panel-head p{margin:0;color:var(--ink-secondary);font-size:13px;line-height:1.6}.chat-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chat-mode-label{color:var(--muted);font-size:12px;font-weight:700}.chat-mode-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-tint);color:var(--ink);padding:7px 9px;font-size:12px}.chat-transcript{display:flex;flex-direction:column;gap:12px;min-height:118px;max-height:360px;overflow-y:auto;margin-top:18px;padding:14px;background:var(--surface-tint);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);scroll-behavior:smooth}.chat-empty{color:var(--muted);font-size:13px;line-height:1.7;align-self:center;text-align:center;padding:25px 12px}.chat-empty-orb{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border-radius:14px;color:#fff;background:linear-gradient(145deg,var(--red),var(--gold));box-shadow:0 9px 20px #c23e322e;font-size:22px}.chat-empty strong{display:block;margin-bottom:4px;color:var(--ink);font-size:14px}.chat-empty p{max-width:290px;margin:0 auto}.chat-message{max-width:min(88%,720px)}.chat-message-user{align-self:flex-end}.chat-message-assistant{align-self:flex-start}.chat-message-role{color:var(--muted);font-size:11px;font-weight:700;margin-bottom:4px}.chat-role-mark{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:5px;border-radius:6px;color:#fff;background:linear-gradient(145deg,var(--red),var(--gold));font-size:10px;vertical-align:-4px}.chat-message-user .chat-role-mark{color:var(--red-deep);background:var(--red-subtle);border:1px solid var(--red-border)}.chat-message-user .chat-message-role{text-align:right}.chat-progress{display:block;margin-bottom:5px;color:var(--muted);font-size:12px}.chat-message-content{padding:10px 13px;border-radius:13px;color:var(--ink);background:var(--surface);border:1px solid var(--border);line-height:1.7;font-size:13.5px;overflow-wrap:anywhere}.chat-message-assistant .chat-message-content{background:#fffdf9}.chat-message-user .chat-message-content{background:var(--red-subtle);border-color:var(--red-border)}.chat-message-error{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;padding:7px 10px;border:1px solid #fecaca;border-radius:9px;background:#fff7f7;color:#b42318;font-size:12px;line-height:1.5}.chat-message-error-soft{border-color:#f5d58a;background:#fffaf0;color:#8b5e1a}.chat-error-copy{min-width:0}.chat-error-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.chat-login-action{color:#1d4ed8}.chat-message-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.chat-action-chips-group{margin-top:10px;padding:10px 12px;background:linear-gradient(135deg,#fff7edd9,#fef2f2b3);border:1px solid rgba(251,146,60,.25);border-radius:12px;box-shadow:0 2px 8px #ea580c0d}.chat-action-chips-hint{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:#c2410c;margin-bottom:8px}.chat-action-chips-icon{font-size:13px;color:#ea580c}.chat-action-chips-list{display:flex;flex-wrap:wrap;gap:7px}.chat-action-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:500;line-height:1.4;color:#7c2d12;background:#fff;border:1px solid #fed7aa;border-radius:16px;cursor:pointer;box-shadow:0 1px 3px #0000000a;transition:all .18s ease;-webkit-user-select:none;user-select:none}.chat-action-chip:hover{background:#fff7ed;border-color:#fb923c;color:#9a3412;transform:translateY(-1px);box-shadow:0 3px 6px #ea580c1f}.chat-action-chip:active{transform:translateY(0)}.chat-action-chip.is-memory-chip{background:linear-gradient(135deg,#fdf4ff,#fae8ff);border-color:#e879f9;color:#86198f}.chat-action-chip.is-memory-chip:hover{background:#f5d0fe;border-color:#d946ef;color:#701a75}.chat-action-chip.is-applied{background:#f0fdf4;border-color:#86efac;color:#166534;cursor:default;pointer-events:none}.chat-action-chip.is-active-loading{opacity:.7;pointer-events:none}.chat-action-chip-icon{font-size:13px;flex-shrink:0}.chat-action-chip-label{white-space:normal;text-align:left}.chat-inline-action{border:0;background:transparent;color:#b42318;font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline}.chat-mode-adjust-action{color:#9a5d43}.chat-input-row{display:flex;align-items:flex-end;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-subtle)}.chat-input-row textarea{flex:1;min-width:0;min-height:42px;max-height:144px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-tint);color:var(--ink);outline:0;font-size:13.5px;line-height:1.5;resize:none;overflow-y:hidden;font-family:inherit}.chat-input-row textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #c23e321a}.chat-input-row button{min-height:42px;white-space:nowrap}.chat-meta{margin-top:12px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff80}.chat-meta-pill{padding:4px 8px;border-radius:var(--radius-full);background:var(--surface-tint);border:1px solid var(--border);color:var(--ink-secondary);font-size:11px}.chat-meta-reason{color:var(--muted);font-size:11.5px;line-height:1.5}.chat-meta-citations{width:100%;display:flex;flex-wrap:wrap;gap:6px}.chat-composer{margin-top:14px}.chat-composer textarea{width:100%;min-height:70px;resize:vertical;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-tint);color:var(--ink);outline:0;line-height:1.6;font-size:13.5px}.chat-composer textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #c23e321a}.chat-composer-footer{margin-top:8px;display:flex;justify-content:space-between;gap:10px;align-items:center}.chat-panel button:disabled,.chat-panel select:disabled,.chat-panel textarea:disabled{opacity:.62;cursor:not-allowed}.chat-dock{position:fixed;right:24px;bottom:24px;z-index:1000}.chat-dock-trigger{min-width:154px;min-height:56px;display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:#fff;background:linear-gradient(135deg,#a8322b,#c8523d 52%,#d97706);box-shadow:0 12px 28px #712a1f42,0 0 0 5px #c23e3214;transition:transform .2s ease,box-shadow .2s ease}.chat-dock-trigger:hover{transform:translateY(-3px);box-shadow:0 16px 34px #712a1f52,0 0 0 7px #c23e321a}.chat-dock-trigger-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#ffffff2e;border:1px solid rgba(255,255,255,.36);font-size:20px}.chat-dock-trigger-copy{display:grid;gap:2px;text-align:left}.chat-dock-trigger-copy strong{font-size:13px;letter-spacing:.03em}.chat-dock-trigger-copy small{color:#ffffffd1;font-size:10.5px}.chat-dock-badge{width:20px;height:20px;display:grid;place-items:center;margin-left:2px;border-radius:50%;color:var(--red-deep);background:#fff;font-size:11px;font-weight:800}.chat-dock-panel{width:min(470px,calc(100vw - 32px));height:min(760px,calc(100vh - 112px));animation:chatDockIn .2s ease-out}.planner-proposal-dock-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;pointer-events:none}.planner-proposal-dock-root>*{pointer-events:auto}.planner-proposal-trigger{position:fixed;right:24px;bottom:92px;min-width:164px;display:inline-flex;align-items:center;gap:9px;padding:9px 12px 9px 9px;border:1px solid rgba(255,255,255,.78);border-radius:18px;color:#6b2a1e;background:linear-gradient(135deg,#fffaf1,#fff1df);box-shadow:0 14px 32px #69361d33,0 0 0 5px #d9770614;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.planner-proposal-trigger:hover{transform:translateY(-3px);box-shadow:0 18px 38px #69361d42,0 0 0 7px #d977061a}.planner-proposal-trigger-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#f59e0b,#c8523d);color:#fff;font-size:17px}.planner-proposal-trigger>span:not(.planner-proposal-trigger-icon){display:grid;gap:2px;flex:1}.planner-proposal-trigger strong{font-size:12.5px}.planner-proposal-trigger small{color:#9a5d43;font-size:10.5px}.planner-proposal-trigger b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#c8523d;font-size:10px}.planner-proposal-dock{position:fixed;right:510px;bottom:24px;width:min(430px,calc(100vw - 32px));max-height:min(78vh,760px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(194,62,50,.2);border-radius:20px;background:#fffcf7fa;box-shadow:0 22px 60px #301c1638,0 0 0 6px #d977060f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:chatDockIn .2s ease-out}.planner-proposal-dock-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px 12px;border-bottom:1px solid rgba(185,92,64,.12);background:linear-gradient(135deg,#fff7e8,#fffdf8)}.planner-proposal-dock-head>div{display:grid;gap:3px}.planner-proposal-kicker{color:#b45309;font-size:9.5px;font-weight:800;letter-spacing:.14em}.planner-proposal-dock-head strong{color:var(--ink);font-size:15px}.planner-proposal-close{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);background:#ffffffc2;font-size:20px;line-height:1}.planner-proposal-close:hover{color:var(--red);border-color:var(--red-border);background:var(--red-subtle)}.planner-proposal-dock-body{overflow:auto;padding:12px}.planner-proposal-dock .chat-proposal{margin:0;box-shadow:none}.planner-proposal-dock .chat-proposal-actions{position:sticky;bottom:-12px;padding:12px 0 0;background:linear-gradient(transparent,#fffdf8 32%)}.mode-banner-action{margin-left:auto}.mode-chat-banner{background:#f6faff;border:1px solid #dbeafe;color:#1d4ed8}.mode-chat-banner .sub-tip{color:#1e40af}.chat-mode-fallback-action{border-color:#93c5fd;color:#1d4ed8;background:#eff6ff}.chat-mode-fallback-action:hover{background:#dbeafe}@media(max-width:1100px){.planner-proposal-dock{right:12px;bottom:12px}.planner-proposal-dock-root.with-chat .planner-proposal-dock{bottom:calc(26px + min(82vh,720px));max-height:min(52vh,520px)}}@keyframes chatDockIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-panel-floating{width:100%;height:100%;min-height:0;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden;border-color:#c23e3238;box-shadow:0 22px 60px #301c1633,0 0 0 6px #c23e320d;background:#fff!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chat-panel-floating .panel-pad{height:100%;min-height:0;padding:0;display:flex;flex-direction:column}.chat-panel-floating .chat-header-row{flex:0 0 auto;align-items:center;padding:15px 16px 12px;background:linear-gradient(135deg,#fff9f0fa,#ffffffeb);border-bottom:1px solid var(--border-subtle)}.chat-context-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 16px;background:#fcf7efbd;border-bottom:1px solid rgba(185,92,64,.09)}.chat-context-label{color:var(--red-deep);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.chat-context-pill{padding:3px 8px;border-radius:999px;color:var(--ink-secondary);background:#ffffffb8;border:1px solid var(--border-subtle);font-size:10.5px}.chat-context-note{margin-left:auto;color:var(--muted);font-size:10.5px}.chat-dock-heading{display:flex;align-items:center;gap:9px;min-width:0}.chat-panel-floating .chat-dock-heading>.chat-subtitle{display:none}.chat-dock-avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:#fff;background:linear-gradient(145deg,var(--red),var(--gold));font-family:serif;font-weight:800;box-shadow:0 5px 12px #c23e3233}.chat-dock-heading .panel-title{margin:0;font-size:14px}.chat-dock-live{display:flex;align-items:center;gap:4px;margin-top:3px;color:var(--muted);font-size:10.5px}.chat-dock-live i{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #0596691f}.chat-header-controls{display:flex;align-items:center;gap:8px}.chat-panel-floating .chat-mode-label{display:none}.chat-panel-floating .chat-mode-select{padding:6px 7px;font-size:11px}.chat-dock-close{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:50%;color:var(--muted);background:#ffffffb8;font-size:21px;line-height:1}.chat-dock-close:hover{color:var(--red);border-color:var(--red-border);background:var(--red-subtle)}.chat-panel-floating .chat-mode-banner-mount{flex:0 0 auto;padding:0 14px}.chat-mode-helper{display:flex;align-items:center;gap:8px;min-height:42px;margin-top:10px;padding:7px 10px;border:1px solid rgba(185,92,64,.14);border-radius:12px;background:linear-gradient(135deg,#fffaf3,#fffdf9)}.chat-mode-helper.is-chat{border-color:#60a5fa38;background:linear-gradient(135deg,#f7fbff,#fffdf9)}.chat-mode-helper-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#fff;background:linear-gradient(145deg,var(--red),var(--gold));font-size:14px}.chat-mode-helper.is-chat .chat-mode-helper-icon{background:linear-gradient(145deg,#60a5fa,#2563eb)}.chat-mode-helper-copy{display:grid;gap:1px;min-width:0}.chat-mode-helper-copy strong{color:var(--ink);font-size:12px}.chat-mode-helper-copy small{color:var(--muted);font-size:10.5px;line-height:1.35}.chat-selected-stop{max-width:46%;margin-left:auto;overflow:hidden;color:var(--red-deep);font-size:10.5px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.chat-panel-floating .chat-transcript{flex:1 1 auto;min-height:130px;max-height:none;margin:12px 14px 0;padding:12px;background:linear-gradient(180deg,#faf6eed1,#fffcf7eb);box-shadow:inset 0 1px #ffffffe6}.chat-panel-floating .chat-proposal{flex:0 0 auto;max-height:310px;overflow:auto;margin:10px 14px 0}.chat-panel-floating .chat-input-row{flex:0 0 auto;margin:10px 14px 14px;padding-top:10px}.chat-panel-floating .chat-message-content{font-size:13px}.chat-panel-floating .chat-message-actions{gap:5px}.chat-panel-floating .chat-proposal-actions{position:sticky;bottom:-1px;padding-top:9px;background:linear-gradient(transparent,var(--surface) 25%)}@media(prefers-reduced-motion:reduce){.chat-dock-panel,.chat-dock-trigger{animation:none;transition:none}}.feature-strip{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.feature{padding:22px 24px;display:flex;gap:14px;border-right:1px solid var(--border)}.feature:last-child{border-right:0}.feature-marker{font-size:14px;font-weight:800;color:var(--red);font-family:monospace;line-height:1;margin-top:2px}.feature strong{display:block;font-size:14px;margin-bottom:4px}.feature span{color:var(--muted);font-size:12.5px;line-height:1.6}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.section-title h2{font-family:"Noto Serif SC",Songti SC,serif;font-size:28px;margin:0;font-weight:800}.section-title p{margin:4px 0 0;color:var(--muted);font-size:13.5px}.workspace-grid{display:grid;grid-template-columns:250px minmax(0,1.2fr) 360px;gap:20px;align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:all .2s ease}.panel-pad{padding:18px}.panel-title{font-weight:700;font-size:15px;margin-bottom:12px}.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panel-title-row .panel-title{margin-bottom:0}.constraint-source{margin-top:12px;padding-top:11px;border-top:1px dashed var(--border);color:var(--muted);font-size:11.5px;line-height:1.6}.constraint-form label{display:block;color:var(--muted);font-size:11.5px;margin:10px 0;font-weight:700}.constraint-form input,.constraint-form select{width:100%;margin-top:5px;padding:8px 10px;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);color:var(--ink);outline:0;font-size:13px}.constraint-form input:focus,.constraint-form select:focus{border-color:var(--border-focus)}.constraint-submit{width:100%;margin-top:8px;font-size:12.5px}.slot{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.slot:last-child{border:0}.slot-mark{width:24px;height:24px;border-radius:6px;background:var(--bg-subtle);color:var(--red);display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.slot strong{display:block;font-size:13px}.slot span{color:var(--muted);font-size:11.5px}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px;border-bottom:1px solid var(--border)}.plan-header h2{margin:0 0 4px;font-family:serif;font-size:22px}.plan-header p{color:var(--muted);margin:0;font-size:13px}.status-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;padding:4px 10px;border-radius:var(--radius-full);font-size:11.5px;font-weight:600}.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:#22c55e}.ai-preference-banner{padding:12px 20px;background:linear-gradient(135deg,#eef2ffbf,#fef3c773);border-bottom:1px solid rgba(199,210,254,.6);display:flex;flex-direction:column;gap:8px}.pref-banner-header{display:flex;align-items:center;gap:6px;font-size:12.5px}.pref-banner-icon{font-size:14px}.pref-banner-title{font-weight:700;color:#312e81}.pref-banner-sub{font-size:11px;color:#6366f1;margin-left:auto;font-weight:500}.pref-badge-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pref-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;line-height:1.4;border:1px solid transparent;box-shadow:0 1px 2px #00000008}.pref-chip-type{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;letter-spacing:.2px}.pref-chip-memory{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.pref-chip-memory .pref-chip-type{background:#c7d2fe;color:#312e81}.pref-chip-prompt{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.pref-chip-prompt .pref-chip-type{background:#fed7aa;color:#7c2d12}.pref-chip-default{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.pref-chip-default .pref-chip-type{background:#bbf7d0;color:#14532d}.day-block{padding:18px 20px 8px}.day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:10px}.day-head-title-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.day-head strong{font-family:serif;font-size:18px}.weather-badge{display:inline-flex;align-items:center;gap:4px;color:#854d0e;background:#fef9c3;border:1px solid #fef08a;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.day-context{font-size:13px;line-height:1.5;color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-left:4px solid #0284c7;padding:8px 14px;border-radius:8px;margin-bottom:12px;display:flex;align-items:center;gap:8px;font-weight:500;box-shadow:0 1px 2px #00000008}.dining-stop-card{background:linear-gradient(180deg,#fffdfa,#fff)!important;border:1px solid #fed7aa!important;border-left:4px solid #f59e0b!important}.stop,.stop-card,.itinerary-stop-card{display:flex!important;flex-direction:column!important;width:100%!important;box-sizing:border-box!important;gap:12px;background:#fff;border:1px solid var(--border-subtle);border-radius:14px;padding:16px 18px;margin-bottom:14px;transition:all .2s ease;box-shadow:0 2px 8px #00000008}.stop:hover,.stop-card:hover,.itinerary-stop-card:hover{border-color:#c23e3240;box-shadow:0 4px 14px #0000000d}.stop.selected-stop-card,.itinerary-stop-card.selected-stop-card{border-color:#2563eb!important;background:#f8fbff!important;box-shadow:0 0 0 1px #2563eb!important}.stop.pinned-stop-card,.itinerary-stop-card.pinned-stop-card{border-color:#d97706!important;background:#fffdfa!important}.stop-card-main{display:flex;flex-direction:column;gap:8px}.stop-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.stop-badge-name-group{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}.stop-step-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#c23e32,#9e2a20);color:#fff;font-size:12px;font-weight:800;letter-spacing:.5px;box-shadow:0 2px 5px #c23e3240;flex-shrink:0}.stop-icon-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:6px;font-size:11.5px;font-weight:700;color:#fff;flex-shrink:0}.tone-red{background:var(--red)}.tone-gold{background:var(--gold)}.tone-blue{background:var(--blue)}.tone-green{background:var(--green)}.tone-purple{background:var(--purple)}.tone-teal{background:var(--teal)}.tone-default{background:var(--muted)}.stop-name{margin:0;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.35}.stop-header-status{display:flex;align-items:center;gap:6px}.stop-meta-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:12px;font-weight:500}.stop-meta-divider{color:var(--border)}.stop-summary{margin:2px 0 0;color:var(--ink-secondary);font-size:13.5px;line-height:1.6}.recommendation-box{margin-top:6px;background:#fdfaf6;border:1px solid rgba(217,119,6,.18);border-left:3.5px solid #d97706;border-radius:8px;padding:8px 12px;font-size:12.5px;line-height:1.55;color:#78350f}.recommendation-header{display:flex;align-items:center;gap:5px;font-weight:700;font-size:12px;color:#92400e;margin-bottom:2px}.recommendation-content{color:#854d0e}.stop-chip-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.chip-ticket{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.chip-time{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.chip-transit{background:#faf5ff;border-color:#e9d5ff;color:#7e22ce}.stop-actions-bar,.stop-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px dashed rgba(0,0,0,.08);margin-top:4px}.stop-actions-bar button,.stop-actions button{font-size:12px;padding:5px 11px;border-radius:20px;font-weight:600;transition:all .15s ease}.danger-mini{border:1px solid #fecaca;color:#dc2626;background:#fef2f2;border-radius:var(--radius-sm);padding:5px 9px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s ease}.danger-mini:hover{background:#fee2e2}.map-card-head{display:flex;justify-content:space-between;align-items:center}.fullscreen-map-btn{border:1px solid var(--border);background:var(--bg-subtle);color:var(--ink-secondary);padding:3px 8px;border-radius:6px;font-size:11.5px;font-weight:600;transition:all .15s ease}.fullscreen-map-btn:hover{background:var(--surface);border-color:var(--muted)}.map-day-tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;padding-bottom:2px}.map-tab{border:1px solid var(--border);background:var(--surface);color:var(--ink-secondary);padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;white-space:nowrap}.map-tab.active{background:var(--red);color:#fff;border-color:var(--red)}.trip-map{height:320px;border-radius:var(--radius);overflow:hidden;margin-bottom:14px;background:#f4eee3;position:relative;border:1px solid var(--border)}.trip-map .map-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:20px;background:linear-gradient(135deg,#eef3ec,#fdf8ee);color:var(--ink-secondary)}.map-fallback-title{color:var(--red);font-size:14px;font-weight:700}.map-fallback-desc{font-size:12.5px;line-height:1.5;margin:0}.map-fallback-note{font-size:11.5px;color:var(--muted);line-height:1.5}.map-marker-pin{color:#fff;padding:3px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:700;box-shadow:0 3px 8px #00000040;border:2px solid #fff;white-space:nowrap}.map-info-popup{padding:8px;min-width:190px;font-family:inherit}.info-popup-meta{font-size:11px;color:var(--muted);margin-bottom:3px}.info-popup-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}.info-popup-desc{font-size:12px;color:var(--ink-secondary);margin:0 0 6px;line-height:1.4}.info-popup-chips{display:flex;gap:4px;flex-wrap:wrap}.info-chip{font-size:10.5px;padding:2px 6px;border-radius:4px;font-weight:600}.info-chip.duration{background:#fef2f2;color:#dc2626}.info-chip.transit{background:#ecfdf5;color:#059669}.map-head-actions{display:flex;align-items:center;gap:6px}.map-action-btn{border:1px solid var(--border);background:var(--surface);color:var(--ink-secondary);padding:3px 8px;border-radius:6px;font-size:11.5px;font-weight:600;transition:all .15s ease}.map-action-btn:hover{border-color:var(--red);color:var(--red)}.map-action-btn.active{background:var(--blue-subtle);border-color:#bfdbfe;color:var(--blue);font-weight:700}.user-location-row{background:var(--blue-subtle);border:1px solid #bfdbfe;border-radius:var(--radius-sm);padding:8px 10px!important}.user-location-row strong{color:#1e40af!important}.map-marker-user-location{position:relative;display:grid;place-items:center}.user-pulse-ring{position:absolute;width:28px;height:28px;border-radius:50%;background:#2563eb59;animation:pulseUserLocation 1.8s infinite ease-out}@keyframes pulseUserLocation{0%{transform:scale(.6);opacity:1}to{transform:scale(1.6);opacity:0}}.user-marker-core{background:#2563eb;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--radius-full);border:2px solid white;box-shadow:0 3px 10px #2563eb66;white-space:nowrap;position:relative;z-index:2}.map-intel-card{background:var(--surface-tint);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.intel-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:6px;border-bottom:1px dashed var(--border)}.intel-badge{font-size:11px;font-weight:700;color:var(--green);background:var(--green-subtle);padding:2px 6px;border-radius:4px;border:1px solid #bbf7d0}.intel-poi-count{font-size:11.5px;color:var(--muted);font-weight:600}.intel-row strong{display:block;font-size:11.5px;color:var(--ink);margin-bottom:2px}.intel-row p{margin:0;font-size:11.5px;color:var(--ink-secondary);line-height:1.5}.fullscreen-map-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--surface);display:flex;flex-direction:column;animation:fadeIn .2s ease-out}.fullscreen-map-header{min-height:64px;padding:0 24px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--border);background:var(--surface)}.fullscreen-map-title-row{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.fullscreen-header-left{min-width:0;display:flex;align-items:center;gap:12px}.fullscreen-map-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;font-family:serif}.fullscreen-map-tabs-rail{flex:0 1 auto;min-width:0}.fullscreen-map-tabs-rail .map-day-tabs{scrollbar-width:none}.fullscreen-map-tabs-rail .map-day-tabs::-webkit-scrollbar{display:none}.fullscreen-map-close{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-secondary);font-size:12px;font-weight:700;white-space:nowrap}.fullscreen-map-close>span{font-size:19px;line-height:.8;font-weight:400}.fullscreen-map-close:hover{color:var(--red);border-color:var(--red-border);background:var(--red-subtle)}.fullscreen-map-canvas{flex:1 1 0;min-height:0;width:100%;height:auto;background:#f4eee3}.detail-header-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.back-to-plan-btn{font-size:14px;font-weight:700;background:var(--surface);border:1px solid var(--border);padding:8px 16px;border-radius:var(--radius-sm);color:var(--red-deep);box-shadow:var(--shadow-sm);transition:all .15s ease}.back-to-plan-btn:hover{background:var(--red-subtle);border-color:var(--red-border);transform:translate(-2px)}.detail-district-badge{font-size:13px;color:var(--muted);font-weight:600}.detail-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;animation:slideUp .3s ease-out}.detail-hero{min-height:440px;border-radius:var(--radius-lg);overflow:hidden;position:relative;background-size:cover;background-position:center;box-shadow:var(--shadow)}.detail-hero .vertical{position:absolute;right:24px;top:24px;color:#ffffffd9;font-family:serif;font-size:56px;writing-mode:vertical-rl;text-shadow:0 4px 12px rgba(0,0,0,.5)}.image-credit{position:absolute;left:14px;right:14px;bottom:14px;padding:6px 10px;border-radius:var(--radius-sm);color:#fff;background:#1c1917bf;font-size:11.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.detail-copy h1{font-size:clamp(32px,4vw,48px);margin:6px 0 12px}.detail-copy .intro{color:var(--ink-secondary);line-height:1.8;font-size:15px;margin-bottom:16px}.tag{display:inline-flex;padding:4px 10px;border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--ink-secondary);font-size:12px;font-weight:600;margin:2px 4px 2px 0}.detail-facts{margin-top:18px}.detail-fact{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--border-subtle)}.detail-fact strong{font-size:13px;color:var(--ink)}.detail-fact div{font-size:13px;line-height:1.5}.detail-fact small{display:block;color:var(--muted);margin-top:2px}.detail-provider-section{margin-top:24px;padding:18px;border:1px solid #eadfd2;border-radius:18px;background:linear-gradient(145deg,#fffdf9,#f8f4ee)}.detail-provider-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-provider-heading h2{margin:3px 0 0;font-size:20px}.detail-data-status,.detail-fact-status{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;color:#a83a2e;background:#fff1eb;border:1px solid #f4c9bb;font-size:11px;font-weight:700}.detail-data-status{padding:5px 9px}.detail-provider-note{margin:10px 0 14px;color:var(--muted);font-size:12px;line-height:1.6}.detail-provider-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-provider-fact{min-width:0;padding:12px;border:1px solid #eee3d8;border-radius:12px;background:#ffffffb8}.detail-provider-fact>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink-secondary);font-size:12px}.detail-provider-fact .detail-fact-status{padding:2px 6px;color:#1d7b58;background:#effaf3;border-color:#c8ead7}.detail-provider-fact>b{display:block;margin-top:7px;overflow-wrap:anywhere;color:var(--ink);font-size:13px;line-height:1.55}.detail-provider-fact>small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}.add-to-trip-panel{margin-top:22px;padding:16px;border:1px solid #fed7aa;background:#fffaf0;border-radius:var(--radius)}.add-select-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.add-select-row label{font-size:13px;font-weight:700;color:#9a3412}.add-select-row select{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid #fdba74;background:#fff;outline:0}.detail-actions{justify-content:flex-start;margin-top:0}.explore-toolbar{margin-bottom:20px}.explore-toolbar input{width:100%;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:11px 14px;outline:0;font-size:14px}.explore-toolbar input:focus{border-color:var(--border-focus)}.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.explore-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:380px;border-radius:var(--radius);transition:transform .15s ease,box-shadow .15s ease}.explore-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.explore-card-thumb{height:160px;background-size:cover;background-position:center;position:relative}.explore-cat-badge{position:absolute;left:12px;top:12px;background:#1c1917b3;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.explore-card-body{padding:16px;display:flex;flex-direction:column;flex:1}.explore-card-body h3{margin:4px 0 6px;font-family:serif;font-size:18px;font-weight:700}.explore-card-body p{color:var(--ink-secondary);font-size:12.5px;line-height:1.6;margin:0 0 10px}.explore-fit{margin-top:auto;font-size:11.5px;color:var(--muted);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 8px}.explore-actions{margin-top:12px;display:flex;align-items:center;justify-content:space-between}.explore-add-wrap{display:flex;align-items:center;gap:6px}.explore-day-select{padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;font-size:11.5px}.button-secondary{background:var(--bg-subtle)!important;color:var(--ink-secondary)!important;border:1px solid var(--border)!important;box-shadow:none!important}.trip-empty{min-height:340px;display:grid;place-items:center;text-align:center;padding:50px}.empty-symbol{width:64px;height:64px;border:1px dashed var(--border);border-radius:18px;display:grid;place-items:center;color:var(--red);font-size:26px;font-weight:800;margin:0 auto 16px}.trip-card{padding:18px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}.trip-card h3{margin:0 0 6px;font-family:serif;font-size:20px}.trip-card p{color:var(--muted);margin:0;font-size:13px}.trip-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.danger{border:1px solid #fecaca;color:#dc2626;background:#fef2f2;border-radius:var(--radius-sm);padding:9px 14px;cursor:pointer;font-weight:600;font-size:13px}.danger:hover{background:#fee2e2}.history-sync{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 16px}.history-sync strong{color:var(--green)}.history-sync span{color:var(--muted);font-size:12px}.profile-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.profile-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow-sm)}.stat-val{font-size:28px;font-weight:800;color:var(--red);margin:4px 0 2px}.stat-name{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase}.stat-sub{font-size:11.5px;color:var(--muted-light)}.profile-layout-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.preference-tags-container{display:flex;gap:8px;flex-wrap:wrap;min-height:44px}.pref-tag-badge{background:var(--red-subtle);border:1px solid var(--red-border);color:var(--red-deep);padding:5px 12px;border-radius:var(--radius-full);font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.pref-tag-del{border:0;background:transparent;color:var(--red);font-weight:800;cursor:pointer;padding:0 2px;font-size:14px}.add-pref-inline{display:flex;gap:8px;margin-top:16px}.add-pref-inline input{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;outline:0;font-size:13px}.add-pref-inline input:focus{border-color:var(--border-focus)}.timeline-container{display:flex;flex-direction:column;gap:14px;position:relative;padding-left:16px;border-left:2px solid var(--border)}.timeline-item{position:relative}.timeline-marker{position:absolute;left:-22px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--red);border:2px solid white;box-shadow:0 0 0 2px var(--border)}.timeline-content strong{display:block;font-size:13.5px}.timeline-time{font-size:11px;color:var(--muted);display:block;margin-top:2px}.version-badges-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.v-badge{font-size:11px;background:var(--bg-subtle);color:var(--ink-secondary);padding:2px 7px;border-radius:4px;border:1px solid var(--border-subtle)}.admin-stream-page{display:flex;flex-direction:column;gap:24px;animation:fadeIn .25s ease-out}.admin-stream-section{display:flex;flex-direction:column;gap:12px}.admin-planner-test-note{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid rgba(198,61,47,.18);border-radius:var(--radius);background:linear-gradient(135deg,#fff7edf5,#ffffffdb);box-shadow:var(--shadow-sm)}.admin-planner-test-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;color:#fff;background:linear-gradient(145deg,#dc5b3e,#a92d25);box-shadow:0 5px 12px #a92d2533}.admin-planner-test-note strong{color:var(--ink);font-size:14px}.admin-planner-test-note p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.admin-stream-head{display:flex;align-items:center;justify-content:space-between}.admin-stream-head h3{margin:0;font-size:17px;font-family:serif;color:var(--ink)}.head-with-meta{display:flex;align-items:center;gap:12px}.head-meta-badge{font-size:12px;color:var(--muted);background:var(--bg-subtle);padding:2px 8px;border-radius:var(--radius-full);border:1px solid var(--border-subtle)}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.kpi-title{font-size:12px;color:var(--muted);font-weight:700}.kpi-num{font-size:30px;font-weight:800;color:var(--red);margin:4px 0 2px}.kpi-sub{font-size:11.5px;color:var(--muted-light)}.admin-assets-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.asset-kpi-card{border-top:3px solid var(--red)}.asset-kpi-card:nth-child(2){border-top-color:#3b82f6}.asset-kpi-card:nth-child(3){border-top-color:#d97706}.asset-kpi-card:nth-child(4){border-top-color:#059669}.admin-assets-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.asset-distribution-block+.asset-distribution-block{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-subtle)}.asset-distribution-title{margin-bottom:10px;color:var(--ink-secondary);font-size:12px;font-weight:700}.asset-distribution-row{display:grid;grid-template-columns:minmax(70px,1fr) 28px minmax(80px,1.2fr);align-items:center;gap:8px;margin:9px 0;color:var(--ink-secondary);font-size:12px}.asset-distribution-row b{color:var(--ink);text-align:right}.asset-distribution-bar{height:7px;overflow:hidden;border-radius:99px;background:var(--bg-subtle)}.asset-distribution-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),#f59e0b)}.panel-title-meta{margin-left:6px;color:var(--muted);font-size:11px;font-weight:400}.admin-attraction-list{display:flex;flex-direction:column}.asset-coverage-panel{display:flex;flex-direction:column;justify-content:space-between;min-height:210px;background:linear-gradient(145deg,#fffdf9,#fff4eb)}.asset-coverage-panel .muted{line-height:1.7}.asset-coverage-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:5px 8px;margin-top:18px;color:var(--muted);font-size:11px}.asset-coverage-summary strong{color:var(--red-deep);font-size:22px;font-family:var(--font-display)}.admin-attraction-catalog{margin-top:18px}.admin-attraction-catalog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.admin-attraction-catalog-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.admin-attraction-catalog-head>span{flex:0 0 auto;padding:6px 10px;border:1px solid #fed7c2;border-radius:999px;background:#fff7f1;color:var(--red-deep);font-size:11px;font-weight:700}.admin-attraction-list-full{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.admin-attraction-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border-subtle)}.admin-attraction-row:last-child{border-bottom:0}.attraction-main-info{display:flex;align-items:center;min-width:0;gap:9px}.attraction-main-info>div{min-width:0}.attraction-main-info strong,.attraction-main-info span:not(.attraction-icon){display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attraction-main-info strong{color:var(--ink);font-size:13px}.attraction-main-info div>span{margin-top:3px;color:var(--muted);font-size:11px}.attraction-icon{display:inline-grid;flex:0 0 auto;place-items:center;min-width:36px;height:24px;padding:0 5px;border-radius:7px;background:var(--red-subtle);color:var(--red-deep);font-size:10px;font-weight:700}.attraction-content-meta{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:4px;color:var(--muted);font-size:10.5px;white-space:nowrap}.asset-status{color:#b45309;font-weight:700}.asset-status.is-complete{color:var(--green)}.admin-charts-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.chart-box{display:flex;flex-direction:column;justify-content:space-between;min-height:250px}.svg-chart-container{margin-top:10px;width:100%;overflow-x:auto}.donut-chart-wrap{display:flex;align-items:center;justify-content:space-around;gap:16px;padding:10px 0}.donut-legends{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--ink-secondary)}.donut-leg{display:flex;align-items:center;gap:8px}.donut-leg span{width:10px;height:10px;border-radius:3px}.rerank-explainer-panel{background:linear-gradient(145deg,#fffdf9,#fff9f3)}.rerank-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.rerank-intro strong{display:block;max-width:720px;margin-top:5px;color:var(--ink);font-size:15px;line-height:1.55}.rerank-intro p{max-width:780px;margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.rerank-intro .mini-btn{white-space:nowrap}.rerank-stats-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cache-tier{padding:14px 16px;border-radius:var(--radius-sm);border:1px solid}.tier-l1{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.tier-l2{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.tier-l3{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.tier-name{font-size:12px;font-weight:700}.tier-val{font-size:16px;font-weight:800;margin:4px 0 2px}.tier-sub{font-size:11px;opacity:.85}.rerank-summary-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.rerank-summary-row>div{display:inline-flex;align-items:baseline;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#ffffff9e;color:var(--muted);font-size:12px}.rerank-summary-row b{color:var(--ink-secondary)}.intent-shadow-panel{margin-top:12px;background:linear-gradient(145deg,#fffdf9,#f8fbff)}.intent-shadow-copy{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.intent-shadow-copy strong{display:block;margin-top:5px;color:var(--ink);font-size:15px}.intent-shadow-copy p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.intent-shadow-copy .mini-btn{white-space:nowrap}.intent-shadow-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.intent-shadow-grid>div{padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#ffffffa8}.intent-shadow-grid span{display:block;color:var(--muted);font-size:11px}.intent-shadow-grid b{display:block;margin-top:4px;color:var(--ink);font-size:15px}.intent-shadow-diagnostics{margin-top:12px;padding:11px 12px;border-radius:10px;background:#ffffffa8;border:1px solid var(--line);color:var(--muted);font-size:11px}.intent-shadow-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.intent-shadow-tag{padding:4px 7px;border-radius:999px;color:var(--ink-secondary);background:#fff7e8;border:1px solid #f0ddbd}.intent-shadow-diagnostics small{display:block;margin-top:8px;color:var(--muted)}.intent-shadow-diagnostics em{font-style:normal;color:var(--muted)}.intent-shadow-footnote{margin-top:12px;color:var(--muted);font-size:11px}@media(max-width:760px){.intent-shadow-copy{flex-direction:column}.intent-shadow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.health-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--ink-secondary)}.health-ok{color:var(--green);font-weight:700}.admin-doc-toolbar{margin-bottom:14px}.admin-doc-toolbar input{width:100%;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);padding:9px 12px;outline:0;font-size:13px}.admin-doc-toolbar input:focus{border-color:var(--border-focus)}.doc-toolbar-sub{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:12px;flex-wrap:wrap}.fold-toggle-btn{font-size:11.5px;padding:4px 10px;font-weight:600}.fold-footer-bar{margin-top:12px;text-align:center;padding-top:8px;border-top:1px dashed var(--border)}.fold-footer-bar button{font-size:12.5px;color:var(--red-deep);font-weight:700}.doc-accordion-list{display:flex;flex-direction:column;gap:10px}.doc-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;transition:border-color .15s ease}.doc-item.expanded{border-color:var(--red-border)}.doc-item-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface)}.doc-item-head:hover{background:var(--bg-subtle)}.doc-title-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-badge{background:var(--red-subtle);color:var(--red-deep);font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px}.doc-topic-tag{color:var(--muted);font-size:11.5px}.doc-head-actions{display:flex;align-items:center;gap:10px}.mini-btn{padding:4px 10px;font-size:11.5px;border-radius:6px}.expand-icon{font-size:11px;color:var(--muted);font-weight:600}.doc-body-view{display:none;padding:12px 14px;border-top:1px solid var(--border-subtle);background:var(--bg)}.doc-body-view.show-full{display:block}.doc-content-text{font-size:13px;line-height:1.7;color:var(--ink);white-space:pre-wrap}.doc-meta-footer{display:flex;gap:16px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);font-size:11.5px;color:var(--muted)}.doc-meta-footer code{background:var(--bg-subtle);padding:1px 4px;border-radius:4px;font-family:monospace}.admin-users-panel{max-width:none}.admin-user-directory-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 4px 18px}.admin-user-directory-intro h4{margin:4px 0 6px;font-family:var(--font-display);font-size:22px}.admin-user-directory-intro p{margin:0;color:var(--muted);font-size:13px}.admin-user-overview{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-user-overview span{padding:8px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;white-space:nowrap}.admin-user-overview b{color:var(--red);font-size:14px}.admin-user-list{display:flex;flex-direction:column;gap:8px}.admin-users-disclosure{border:1px solid rgba(181,60,37,.18);border-radius:16px;background:linear-gradient(135deg,#fffcf6f5,#fff8f1b8);overflow:hidden}.admin-users-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:800;list-style:none}.admin-users-disclosure summary::-webkit-details-marker{display:none}.admin-users-disclosure summary:after{content:"＋";color:var(--red);font-size:17px;line-height:1}.admin-users-disclosure[open] summary:after{content:"−"}.admin-users-disclosure summary:hover{background:#fff7ede6}.admin-users-disclosure-hint{margin-left:auto;color:var(--muted);font-size:11px;font-weight:500}.admin-users-disclosure .admin-user-list{padding:0 10px 10px}.admin-user-row{display:grid;grid-template-columns:minmax(240px,1.15fr) minmax(240px,.9fr) auto;align-items:center;gap:18px;padding:14px 16px;border:1px solid rgba(121,85,56,.12);border-radius:12px;background:#ffffffad;transition:opacity .18s ease,transform .18s ease,background .18s ease}.admin-user-row:hover{background:#fffdf9}.admin-user-row.is-removing{opacity:0;transform:translate(12px)}.admin-user-row.is-updating{opacity:.58;pointer-events:none}.user-main-info{display:flex;align-items:center;gap:10px}.user-avatar-circle{width:32px;height:32px;border-radius:50%;background:var(--border);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}.user-email-meta{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.user-metrics-chips{display:flex;flex-wrap:wrap;gap:6px}.user-mini-stat{min-width:68px;display:inline-flex;align-items:baseline;justify-content:space-between;gap:7px;font-size:12px;color:var(--muted);background:#ffffffd6;padding:6px 8px;border-radius:8px;border:1px solid var(--border-subtle)}.user-mini-stat small{font-size:11px;color:var(--muted)}.user-mini-stat b{color:var(--ink)}.user-actions-group{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.action-btn-sm{border:1px solid var(--border);background:var(--surface);color:var(--ink-secondary);padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.action-btn-sm:hover{background:var(--bg-subtle)}.action-btn-sm.role-promote{color:#854d0e;border-color:#fde047;background:#fef9c3}.action-btn-sm.role-demote{color:#1e40af;border-color:#bfdbfe;background:#eff6ff}.action-btn-sm.danger{color:#dc2626;border-color:#fecaca;background:#fef2f2}.action-btn-sm.danger:hover{background:#fee2e2}.quick-fill-bar{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 10px;background:var(--surface-tint);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap}.quick-fill-label{font-size:11.5px;font-weight:700;color:var(--muted)}.quick-fill-btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;transition:all .15s ease}.quick-fill-btn:hover{border-color:var(--red);color:var(--red)}.floating-admin-btn{position:fixed;right:24px;bottom:84px;z-index:50;background:#1c1917;color:#fde047;font-weight:700;font-size:12.5px;padding:10px 18px;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);border:1px solid #eab308;cursor:pointer;transition:transform .15s ease}.floating-admin-btn:hover{transform:translateY(-2px)}#modal-mount{position:relative;z-index:2147483000;isolation:isolate}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483001;display:grid;place-items:center;background:#1c191773;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(480px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:0 20px 60px #1c191733;animation:scaleIn .2s ease-out}.modal h2{margin:0 0 8px;font-family:serif;font-size:24px}.modal p{color:var(--muted);line-height:1.6;font-size:13px;margin:0 0 16px}.auth-tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:8px}.auth-tab{border:0;background:transparent;padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--muted);border-radius:var(--radius-sm);transition:all .15s ease}.auth-tab.active{background:var(--red);color:#fff}.form-row{margin:14px 0}.form-row label{display:block;font-size:12px;color:var(--ink-secondary);margin-bottom:6px;font-weight:700}.form-row input,.form-row select{width:100%;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius-sm);padding:10px 12px;outline:0;font-size:13.5px}.form-row input:focus,.form-row select:focus{border-color:var(--border-focus)}.doc-edit-modal{width:min(680px,100%)}.doc-editor-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;background:var(--bg);font-size:13.5px;line-height:1.6;resize:vertical;outline:0}.doc-editor-textarea:focus{border-color:var(--border-focus)}.replan-preview-modal{width:min(580px,100%)!important}.replan-reason-section{margin-bottom:12px}.section-sub-label{font-size:12px;font-weight:700;color:var(--muted);display:block;margin-bottom:6px}.replan-candidate-card{border:1px solid var(--border);background:var(--surface-tint);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:130px 1fr;margin:14px 0;box-shadow:var(--shadow-sm)}.candidate-thumb{background-size:cover;background-position:center;position:relative;min-height:160px}.candidate-cat-tag{position:absolute;left:8px;top:8px;background:#1c1917b3;color:#fff;font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:4px}.candidate-info{padding:14px;display:flex;flex-direction:column;gap:6px}.candidate-header{display:flex;justify-content:space-between;align-items:flex-start}.candidate-meta{font-size:11px;color:var(--muted);font-weight:600}.candidate-name{margin:2px 0 0;font-size:16.5px;font-weight:800;font-family:serif}.candidate-ticket-pill{font-size:11px;font-weight:700;color:var(--green);background:var(--green-subtle);border:1px solid #bbf7d0;padding:2px 6px;border-radius:4px;white-space:nowrap}.candidate-summary{font-size:12px;color:var(--ink-secondary);line-height:1.5;margin:0}.candidate-reason-box{background:var(--surface);border:1px solid #fde68a;border-radius:var(--radius-sm);padding:6px 8px;font-size:11.5px;color:#92400e;line-height:1.45}.candidate-detail-snippet{font-size:11.5px;color:var(--muted);line-height:1.45}.replan-modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.replan-action-right{display:flex;gap:8px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.button-danger{background:#dc2626!important;color:#fff!important}.reason-grid{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.toast{position:fixed;right:24px;bottom:24px;z-index:70;background:#1c1917;color:#fff;padding:11px 18px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.1);animation:slideUp .2s ease-out}.loading{opacity:.6;pointer-events:none}.planning-loader{position:fixed;left:50%;top:84px;z-index:45;width:min(720px,calc(100% - 32px));transform:translate(-50%);padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius);background:#fffffffa;box-shadow:var(--shadow-lg);pointer-events:none;animation:fadeIn .15s ease-out}.loader-kicker{color:var(--red);font-size:11.5px;font-weight:800;letter-spacing:.06em}.loader-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.loader-step{display:flex;gap:8px;align-items:flex-start;min-width:0;color:var(--muted-light);transition:color .18s ease}.loader-step>span{display:grid;place-items:center;flex:0 0 20px;height:20px;border:1px solid var(--border);border-radius:50%;font-size:10.5px;transition:all .18s ease}.loader-step.active{color:var(--ink)}.loader-step.active>span{border-color:var(--red);color:var(--red)}.loader-step.current>span{color:#fff;background:var(--red);border-color:var(--red)}.loader-step strong{font-size:11.5px;line-height:1.3}.loader-step small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}@media(max-width:960px){.hero,.detail-layout,.profile-layout-grid,.admin-charts-grid{grid-template-columns:1fr}.hero-visual{min-height:320px}.workspace-grid,.explore-grid,.admin-kpi-grid,.admin-assets-kpi-grid,.profile-stats-grid,.rerank-stats-bar,.strategy-cards-cluster,.admin-assets-layout,.admin-attraction-list-full{grid-template-columns:1fr}}@media(max-width:640px){.admin-attraction-catalog-head,.rerank-intro{flex-direction:column}.asset-coverage-summary{grid-template-columns:auto 1fr}.rerank-intro .mini-btn{width:100%}.shell{width:min(100% - 28px,1200px)}.topbar{height:auto;min-height:68px;flex-wrap:wrap;gap:10px;padding:10px 0}.nav{width:100%;overflow-x:auto}.nav-item{white-space:nowrap;padding:6px 10px;font-size:12.5px}.page{padding:20px 0 60px}.feature-strip{grid-template-columns:1fr}.chat-panel{padding:16px}.chat-panel-floating{padding:0}.chat-panel-head,.chat-header-row,.chat-composer-footer,.chat-input-row{flex-direction:column;align-items:stretch}.chat-panel-floating .chat-header-row{flex-direction:row;align-items:center}.chat-panel-actions{justify-content:flex-start}.chat-message{max-width:100%}.chat-error-actions{width:100%;margin-left:0}.feature{padding:15px 18px;border-right:0;border-bottom:1px solid var(--border)}.feature:last-child{border-bottom:0}.stop,.stop-card,.itinerary-stop-card{display:flex!important;flex-direction:column!important;width:100%!important;padding:14px}.stop-actions-bar,.stop-actions{gap:6px}.explore-grid,.admin-kpi-grid,.admin-assets-kpi-grid,.profile-stats-grid,.rerank-stats-bar{grid-template-columns:1fr}.trip-card{align-items:flex-start;flex-direction:column}.trip-actions{justify-content:flex-start}.history-sync{align-items:flex-start;flex-direction:column}.loader-steps{grid-template-columns:1fr 1fr}.chat-dock{right:12px;bottom:12px}.chat-dock-panel{width:calc(100vw - 24px);height:min(82vh,720px)}.planner-proposal-trigger{right:12px;bottom:82px}.planner-proposal-dock{right:12px;bottom:12px;width:calc(100vw - 24px);max-height:min(78vh,680px)}.planner-proposal-dock-root.with-chat .planner-proposal-dock{bottom:calc(26px + min(82vh,720px));max-height:min(52vh,520px)}.chat-panel-floating .chat-context-note{width:100%;margin-left:0}.admin-user-row{grid-template-columns:1fr;gap:8px}h1{font-size:34px}}.chat-memory-candidate{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;margin:10px 0 2px;padding:10px 11px;border:1px solid #bfdbfe;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#f8fbff)}body{background:radial-gradient(circle at 6% -10%,rgba(227,173,108,.14),transparent 29rem),radial-gradient(circle at 100% 20%,rgba(69,121,149,.08),transparent 30rem),var(--bg)}.page{padding-top:30px;padding-bottom:54px}.topbar{border-bottom-color:#7052371f;box-shadow:0 6px 22px #412d1c09}.nav-item{letter-spacing:.01em}.nav-item.active{box-shadow:inset 0 -2px 0 var(--red)}.panel,.profile-stat-card,.kpi-card,.feature{border-color:#79553824;box-shadow:0 10px 26px #553c260b}.panel{background:#ffffffe6}.section-title{padding-bottom:13px;border-bottom:1px solid rgba(121,85,56,.12)}.section-title h2{letter-spacing:-.035em}.eyebrow{letter-spacing:.13em;font-weight:800}.primary{box-shadow:0 9px 20px #a72e222e}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 24px #a72e2240}.planner-home-hero{gap:42px;align-items:start}.planner-home-hero .hero-content{padding:8px 0}.planner-home-hero h1{font-size:clamp(42px,4.25vw,64px);line-height:1.08;letter-spacing:-.065em}.planner-home-hero h1 em{color:var(--red)}.planner-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin:19px 0 20px}.planner-trust-row span{padding:6px 10px;border:1px solid rgba(194,62,50,.16);border-radius:999px;color:#8a493d;background:#fffaf6e6;font-size:11.5px;font-weight:700}.planner-home-hero .prompt-box{border:1px solid rgba(171,63,46,.25);box-shadow:0 16px 38px #62341e17}.planner-home-hero .prompt-box:before{content:"规划输入";display:block;margin:-5px 0 10px;color:var(--red);font-size:10px;letter-spacing:.13em;font-weight:800}.planner-home-hero .hero-visual{min-height:500px;border-radius:28px;background:linear-gradient(142deg,#151516,#252c38 30%,#a94c35 62%,#d99b58)}.planner-home-hero .hero-visual:before{background:linear-gradient(180deg,#0e0f120d,#0e0f12db)}.planner-home-hero .hero-visual:after{font-size:98px;right:28px;bottom:18px;opacity:.13}.planner-home-hero .visual-tag{border-color:#ffffff61;background:#0a0f173b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.planner-home-hero .visual-caption{left:28px;bottom:28px;max-width:310px}.planner-home-hero .visual-caption strong{font-size:23px}.planner-home-hero>*{min-width:0}.planner-home-hero .hero-content{min-width:0}.planner-home-hero h1{overflow-wrap:anywhere}.planner-home-hero .hero-visual{align-self:start;height:430px;min-height:0;background:radial-gradient(circle at 78% 17%,rgba(255,255,255,.78) 0 5%,transparent 5.5%),linear-gradient(145deg,#f9eee1,#f5d7bf 45%,#df9c78);box-shadow:0 22px 48px #70432821}.planner-home-hero .hero-visual:before{background:linear-gradient(120deg,transparent 0 25%,rgba(255,255,255,.18) 25% 26%,transparent 26% 100%),radial-gradient(circle at 34% 32%,rgba(255,255,255,.7),transparent 28%);opacity:.9}.planner-home-hero .hero-visual:after{content:"渝游";right:25px;bottom:92px;color:#7037261f;font-size:88px;opacity:1}.planner-home-hero .visual-tag{color:#7b3f2e;background:#fffcf7bd;border-color:#7b3f2e2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.visual-route-board{position:absolute;top:84px;right:24px;bottom:104px;left:24px;border:1px solid rgba(123,63,46,.15);border-radius:24px;background:#fffaf375;box-shadow:inset 0 1px #ffffffa6}.visual-route-board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-image:linear-gradient(rgba(123,63,46,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(123,63,46,.08) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(135deg,black,transparent 82%);mask-image:linear-gradient(135deg,black,transparent 82%)}.visual-route-line{position:absolute;height:2px;transform-origin:left center;background:#bc5539;box-shadow:0 0 0 4px #bc553914}.visual-route-line-a{width:43%;left:18%;top:42%;transform:rotate(-24deg)}.visual-route-line-b{width:44%;left:47%;top:34%;transform:rotate(65deg)}.visual-route-point{position:absolute;display:grid;place-items:center;width:58px;height:58px;border:5px solid rgba(255,249,241,.78);border-radius:50%;background:#bd5038;color:#fff;font-size:11px;font-weight:800;box-shadow:0 8px 16px #7a3c272e;z-index:1}.visual-route-point-a{left:12%;top:31%}.visual-route-point-b{left:40%;top:17%;background:#d67a45}.visual-route-point-c{left:67%;top:60%;background:#8f6474}.visual-route-label{position:absolute;right:16px;top:15px;color:#a45b44;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.planner-home-hero .visual-caption{color:#fffaf4;text-shadow:0 2px 12px rgba(74,39,26,.24)}.planner-home-hero .visual-caption span{color:#fffaf4e0}.rerank-activity-note{margin-top:10px;color:var(--muted);font-size:11px}.common-plan-library{margin-top:20px}.library-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.library-head>span:last-child{color:var(--muted);font-size:11px}.common-plan-library .presets-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.common-plan-library .preset-badge{min-height:66px;display:grid;justify-content:start;gap:4px;text-align:left;border-radius:13px;background:#ffffffc2;border-color:#8758372b}.common-plan-library .preset-badge b{color:var(--ink);font-size:12px}.common-plan-library .preset-badge small{color:var(--muted);font-size:10.5px}.common-plan-library .preset-badge:hover{color:inherit;background:#fff8f2;border-color:#c23e326b;transform:translateY(-1px)}.planner-home-hero+.feature-strip{margin-top:28px;overflow:hidden;border-radius:18px;background:#ffffffad}.feature{background:transparent}.admin-stream-page{gap:30px}.admin-stream-head{gap:12px}.admin-stream-head h3{font-size:19px;letter-spacing:-.025em}.kpi-card{position:relative;overflow:hidden;padding:19px;border-radius:16px;background:linear-gradient(150deg,#fffffffa,#fff9f1e6)}.kpi-card:after{content:"";position:absolute;width:82px;height:82px;right:-32px;top:-32px;border-radius:999px;background:#c23e3212}.kpi-card:nth-child(2):after{background:#2563eb12}.kpi-card:nth-child(3):after{background:#0d948814}.kpi-card:nth-child(4):after{background:#d977061a}.kpi-num{position:relative;z-index:1;font-size:34px}.admin-metric-note{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:10px;color:var(--muted);font-size:11.5px;background:#f6f1e8bf;border:1px solid rgba(121,85,56,.1)}.admin-operations-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.admin-insight-card{min-height:252px}.admin-insight-card .muted{margin:5px 0 15px;font-size:12px}.hot-question-list,.admin-template-list,.feedback-inbox-list{display:grid;gap:8px}.hot-question-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--border-subtle)}.hot-question-row:last-child{border-bottom:0}.hot-question-row b{color:var(--red);font-size:11px;letter-spacing:.06em}.hot-question-row span{overflow:hidden;color:var(--ink-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.hot-question-row em{color:var(--muted);font-style:normal;font-size:11px}.admin-template-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:10px;border:1px solid rgba(121,85,56,.12);border-radius:12px;background:linear-gradient(100deg,#fffdf9,#fff7ed);text-align:left;color:inherit}.admin-template-row:hover{border-color:#c23e3259;transform:translate(2px)}.admin-template-row>span{color:var(--red);font-weight:800;font-size:11px}.admin-template-row strong,.admin-template-row small{display:block}.admin-template-row strong{font-size:12.5px}.admin-template-row small{margin-top:2px;color:var(--muted);font-size:10.5px}.admin-template-row i{color:var(--red);font-size:11px;font-style:normal}.feedback-inbox-panel{padding-bottom:13px}.feedback-summary-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-bottom:13px;padding:10px 12px;border-radius:10px;color:var(--muted);font-size:11.5px;background:#fbf8f2}.feedback-summary-good,.feedback-summary-work{padding:4px 8px;border-radius:999px;font-weight:800}.feedback-summary-good{color:#067647;background:#eafaf1}.feedback-summary-work{color:#b54708;background:#fff4e5}.feedback-inbox-list{grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-inbox-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:11px;min-width:0;border:1px solid var(--border-subtle);border-radius:12px;background:#fff}.feedback-inbox-item{position:relative;cursor:pointer;padding-right:82px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.feedback-inbox-item:hover,.feedback-inbox-item:focus-visible{border-color:#c23e3259;box-shadow:0 8px 18px #553c2614;transform:translateY(-1px);outline:none}.feedback-inbox-item>span{align-self:start;padding:3px 6px;border-radius:5px;font-size:10px;font-weight:800}.feedback-inbox-item.is-helpful>span{color:#067647;background:#eafaf1}.feedback-inbox-item.is-needs-work>span{color:#b54708;background:#fff4e5}.feedback-inbox-item strong,.feedback-inbox-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-inbox-item strong{color:var(--ink-secondary);font-size:12px}.feedback-inbox-item small{margin-top:4px;color:var(--muted-light);font-size:10px}.feedback-detail-hint{position:absolute;right:11px;top:50%;color:var(--red);font-size:10px;transform:translateY(-50%)}.feedback-detail-status{margin-bottom:14px;padding:10px 12px;border-radius:9px;font-size:12px;font-weight:800}.feedback-detail-status.is-helpful{color:#067647;background:#eafaf1}.feedback-detail-status.is-needs-work{color:#b54708;background:#fff4e5}.compact-notice{min-height:64px;display:grid;place-items:center;text-align:center}.profile-stat-card{border-radius:16px;background:linear-gradient(150deg,#fff,#fffbf5)}.profile-stat-card:hover,.trip-card:hover,.explore-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px #553c2617}.profile-stat-card,.trip-card,.explore-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.travel-memory-item{border-radius:12px;background:#fffdf9}.history-sync,.explore-toolbar{border-radius:14px;background:#fffcf6bf}@media(max-width:960px){.admin-operations-grid,.feedback-inbox-list{grid-template-columns:1fr}.admin-metric-note{align-items:flex-start;flex-direction:column}.planner-home-hero .hero-visual{height:340px}}@media(max-width:640px){.page{padding-top:20px}.planner-home-hero h1{font-size:39px}.common-plan-library .presets-row{grid-template-columns:1fr}.planner-home-hero .hero-visual{height:270px}.planner-home-hero .visual-caption{left:20px;bottom:20px}.feedback-inbox-list{grid-template-columns:1fr}}.chat-memory-candidate-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#2563eb;color:#fff;font-size:13px}.chat-memory-candidate strong{font-size:12.5px}.chat-memory-candidate p{margin:3px 0;color:var(--ink);font-size:12.5px}.chat-memory-candidate small{color:var(--muted);font-size:10.5px}.chat-memory-candidate-actions{grid-column:2;display:flex;align-items:center;gap:9px}.travel-memory-list{display:grid;gap:10px}.travel-memory-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 16px;border:1px solid #e2e8f0;border-left:4px solid var(--red);border-radius:12px;background:#fff;box-shadow:0 1px 4px #0000000a;transition:all .2s ease}.travel-memory-item:hover{box-shadow:0 4px 12px #0000000f;border-color:#cbd5e1}.travel-memory-body{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 auto}.travel-memory-header-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.travel-memory-category{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;background:var(--red-subtle);color:var(--red);font-size:11px;font-weight:700;letter-spacing:.02em}.travel-memory-source-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:10.5px;font-weight:600}.badge-manual{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.badge-chat{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.badge-pending{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.travel-memory-content{font-size:13.5px;font-weight:700;color:#1e293b;line-height:1.45}.travel-memory-origin-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:7px 11px;margin-top:2px;font-size:12px;line-height:1.5}.origin-label{font-weight:700;color:#0284c7}.origin-text{color:#475569}.travel-memory-date{color:#94a3b8;font-size:11px}.travel-memory-actions{display:flex;gap:8px;flex:0 0 auto;margin-top:2px}.candidate-list-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.candidate-tip{font-size:11px;color:#64748b}.candidate-item-main{display:flex;flex-direction:column;gap:6px;min-width:0}.candidate-tags{display:flex;align-items:center;gap:8px}.selected-stop-card{border:2px solid #3b82f6!important;background:#f0f7ff!important;border-radius:var(--radius-sm);padding:12px!important}.pinned-stop-card{border-left:3px solid var(--gold)!important}.chip-selected{background:#dbeafe!important;border-color:#93c5fd!important;color:#1d4ed8!important;font-weight:700;font-size:11px!important;padding:2px 8px!important}.chip-pinned{background:#fef3c7!important;border-color:#fde047!important;color:#b45309!important;font-weight:700;font-size:11px!important;padding:2px 8px!important}.active-btn{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}.guest-topbar .brand-name{gap:7px}.guest-role-badge{padding:2px 7px;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;background:#eff6ff;font-size:10px;font-weight:800}.guest-nav{gap:8px}.auth-link-button{border:0;color:var(--ink-secondary);background:transparent;padding:8px 12px;font-weight:700}.auth-link-button:hover{color:var(--red-deep)}.guest-register-button{padding:8px 14px!important;font-size:12px!important}.guest-page{padding-top:30px}.guest-hero{min-height:350px;display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding:42px 46px;overflow:hidden;border:1px solid rgba(194,62,50,.12);border-radius:28px;background:radial-gradient(circle at 80% 10%,rgba(255,224,177,.58),transparent 35%),linear-gradient(135deg,#fffaf3,#fffdf9 54%,#eef6ff);box-shadow:0 18px 50px #5c38221a}.guest-hero-copy{position:relative;z-index:2}.guest-hero h1{margin:13px 0 14px;font-family:"Noto Serif SC",Songti SC,serif;font-size:clamp(38px,5vw,62px);line-height:1.15;letter-spacing:-.04em}.guest-hero h1 em{color:var(--red);font-style:normal}.guest-hero-copy>p{max-width:600px;color:var(--ink-secondary);line-height:1.8;font-size:15px}.guest-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.guest-proof-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px;color:var(--muted);font-size:11.5px}.guest-hero-art{position:relative;min-height:280px}.guest-orbit{position:absolute;border:1px solid rgba(194,62,50,.2);border-radius:50%;transform:rotate(-18deg)}.guest-orbit-one{width:320px;height:170px;top:52px;left:35px}.guest-orbit-two{width:250px;height:130px;top:72px;left:68px;border-color:#2563eb2e}.guest-art-card{position:absolute;display:grid;gap:5px;padding:17px 20px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:#ffffffbd;box-shadow:0 18px 38px #4f2c1b24;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.guest-art-main{top:88px;left:108px;min-width:200px;color:var(--ink);transform:rotate(-4deg)}.guest-art-main strong{font-family:serif;font-size:19px}.guest-art-main span{color:var(--muted);font-size:12px}.guest-art-float{padding:10px 13px;color:var(--ink-secondary);font-size:12px;font-weight:700}.guest-art-float-one{top:35px;right:20px;transform:rotate(7deg)}.guest-art-float-two{right:46px;bottom:34px;transform:rotate(-6deg)}.guest-workspace{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start;margin-top:24px}.guest-side-panel{padding:25px;border:1px solid var(--border);border-radius:var(--radius);background:#ffffffb8;box-shadow:var(--shadow-sm)}.guest-side-eyebrow{color:var(--red-deep);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.guest-side-panel h2{margin:9px 0 8px;font-family:serif;font-size:24px;line-height:1.3}.guest-side-panel>p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.7}.guest-feature-list{display:grid;gap:9px}.guest-feature-card{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;width:100%;padding:11px;border:1px solid var(--border);border-radius:13px;color:var(--ink);background:var(--surface);text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.guest-feature-card:hover{transform:translateY(-2px);border-color:var(--red-border);box-shadow:var(--shadow-sm)}.guest-feature-card>span:nth-child(2){display:grid;gap:2px}.guest-feature-card strong{font-size:12.5px}.guest-feature-card small{color:var(--muted);font-size:10.5px}.guest-feature-card b{color:var(--red);font-size:20px;font-weight:400}.guest-feature-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--red-subtle);font-size:17px}.guest-history-note{margin-top:16px;padding:9px 10px;border:1px solid #bfdbfe;border-radius:10px;color:#1e40af;background:#eff6ff;font-size:11px;line-height:1.5}.guest-chat-column .chat-panel{margin-top:0}.guest-chat-column .chat-panel:not(.chat-panel-floating){min-height:0;border-color:#60a5fa38;background:linear-gradient(180deg,#fffefd,#fffaf4)}.guest-chat-column .chat-panel:not(.chat-panel-floating) .panel-pad{padding:20px}.guest-chat-column .chat-panel:not(.chat-panel-floating) .chat-transcript{min-height:clamp(220px,32vh,290px);max-height:min(420px,52vh);background:linear-gradient(145deg,#fffaf1,#fffdf9 70%,#f7fbff)}.guest-chat-mode-pill{padding:6px 10px;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;background:#eff6ff;font-size:11px;font-weight:800}.auth-page{min-height:calc(100vh - 72px);display:grid;place-items:center}.auth-page-card{display:grid;grid-template-columns:1.08fr .92fr;width:min(900px,100%);overflow:hidden;border:1px solid rgba(194,62,50,.14);border-radius:26px;background:var(--surface);box-shadow:0 22px 65px #482c1e21}.auth-page-intro{padding:48px 42px;background:linear-gradient(145deg,#fff8ec,#fffdf9 58%,#eef6ff)}.auth-page-intro h1{margin:17px 0 14px;font-family:serif;font-size:clamp(30px,4vw,47px);line-height:1.2}.auth-page-intro>p{color:var(--ink-secondary);line-height:1.8;font-size:14px}.auth-benefit-list{display:grid;gap:9px;margin-top:28px;color:var(--red-deep);font-size:12px;font-weight:700}.auth-form-card{padding:38px 36px}.auth-page-tabs{display:flex;gap:7px;margin-bottom:26px;padding-bottom:10px;border-bottom:1px solid var(--border)}.auth-page-tab{border:0;border-radius:999px;padding:8px 14px;color:var(--muted);background:transparent;font-weight:700;font-size:12px}.auth-page-tab.active{color:#fff;background:var(--red)}.auth-form-card h2{margin:0 0 8px;font-family:serif;font-size:25px}.auth-form-hint{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.6}.auth-submit-button{width:100%;margin-top:8px}.auth-back-link{margin-top:20px;border:0;color:var(--muted);background:transparent;font-size:12px}.auth-back-link:hover{color:var(--red-deep)}.chat-selection-panel{display:grid;gap:10px;margin-top:10px;padding:11px 12px;border:1px solid rgba(194,62,50,.16);border-radius:13px;background:linear-gradient(135deg,#fffaf2,#fff)}.chat-selection-panel.is-chat{border-color:#60a5fa38;background:linear-gradient(135deg,#f7fbff,#fff)}.chat-selection-copy{display:grid;gap:3px}.chat-selection-copy strong{color:var(--ink);font-size:12px}.chat-selection-copy span{color:var(--muted);font-size:11px;line-height:1.5}.chat-selection-actions{display:flex;flex-wrap:wrap;gap:6px}.chat-selection-action{padding:6px 9px;border:1px solid rgba(194,62,50,.2);border-radius:999px;color:var(--red-deep);background:#fff;font-size:11px;font-weight:700}.chat-selection-action:hover{color:#fff;background:var(--red);border-color:var(--red)}.chat-selection-panel.is-chat .chat-selection-action{color:#1d4ed8;border-color:#bfdbfe}.chat-selection-panel.is-chat .chat-selection-action:hover{color:#fff;background:#2563eb;border-color:#2563eb}.chat-selection-clear{padding:6px 8px;border:0;color:var(--muted);background:transparent;font-size:11px}.chat-selection-clear:hover{color:var(--red)}.stop-actions{flex-wrap:wrap}@media(max-width:760px){.guest-hero,.auth-page-card,.guest-workspace{grid-template-columns:1fr}.guest-hero{padding:30px 24px}.guest-hero-art{min-height:235px}.guest-art-main{left:20%}.guest-art-float-one{right:0}.guest-art-float-two{right:12px}.auth-page{place-items:start center}.auth-page-intro,.auth-form-card{padding:28px 24px}}.planner-version-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);background:#f8fafc;border:1px solid var(--border);font-size:11.5px;color:var(--ink-secondary);font-weight:700}.legacy-mode-notice{margin-bottom:14px;background:#fffbeb;border:1px solid #fef3c7;color:#92400e;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:600}.selection-context-notice{margin-bottom:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:8px 12px;border-radius:var(--radius-sm);font-size:12.5px}.quick-chips-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;margin-bottom:12px}.quick-chips-label{font-size:12px;color:var(--muted);font-weight:700}.proposal-infeasible{border-color:#f4d6b2!important;background:linear-gradient(160deg,#fffdfa,#fff8f1)!important}.proposal-alert{margin:10px 0;padding:10px 12px;background:#fef2f2;border:1px solid #fee2e2;border-radius:var(--radius-sm);color:#991b1b;font-size:12.5px}.proposal-id-tag{font-size:11px;color:var(--muted);margin-left:8px;font-family:monospace}.direct-replacement-summary{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;margin:10px 0;padding:11px 12px;border:1px solid rgba(194,62,50,.2);border-radius:11px;background:linear-gradient(135deg,#fff7ed,#fffdf8)}.direct-replacement-summary span,.direct-replacement-summary strong{min-width:0;overflow-wrap:anywhere}.direct-replacement-place{color:var(--ink-secondary);font-size:12.5px}.direct-replacement-summary strong{color:var(--red-deep);font-size:13px}.direct-replacement-arrow{color:var(--red);font-size:18px;font-weight:800}.direct-replacement-summary small{grid-column:1 / -1;color:var(--muted);font-size:10.5px}.candidate-options-group{margin-top:14px;margin-bottom:14px}.options-title-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.options-title-icon{font-size:16px}.options-title-text{font-size:13px;font-weight:700;color:#1e293b}.candidate-options-list{display:flex;flex-direction:column;gap:10px}.candidate-option-card{display:block;padding:13px 15px;border:1.5px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px #0000000a;position:relative}.candidate-option-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.candidate-option-card.selected.candidate-dining-card{border-color:#ea580c;background:linear-gradient(180deg,#fff7ed,#fff 40px);box-shadow:0 4px 16px #ea580c24}.candidate-option-card.selected.candidate-attraction-card{border-color:#2563eb;background:linear-gradient(180deg,#eff6ff,#fff 40px);box-shadow:0 4px 16px #2563eb24}.cand-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed #f1f5f9}.cand-scheme-badge-wrap{display:flex;align-items:center;gap:6px}.cand-scheme-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569}.cand-scheme-recommended{background:#ffedd5;color:#c2410c;font-weight:800;border:1px solid #fed7aa}.candidate-attraction-card .cand-scheme-recommended{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}.cand-scheme-direct{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.cand-fit-tag{font-size:10.5px;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;padding:1px 7px;border-radius:6px;font-weight:600}.cand-meta-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cand-chip{font-size:11px;padding:2px 7px;border-radius:6px;font-weight:500}.cand-chip-district{background:#f8fafc;color:#334155;border:1px solid #e2e8f0}.cand-chip-cost{background:#fff7ed;color:#c2410c;border:1px solid #ffedd5;font-weight:600}.cand-chip-walk{background:#f0fdf4;color:#15803d;border:1px solid #dcfce7}.cand-chip-dist{background:#f1f5f9;color:#475569}.cand-card-body{display:flex;align-items:flex-start;gap:10px}.cand-radio-col{display:flex;align-items:center;justify-content:center;position:relative;margin-top:2px;flex-shrink:0}.cand-radio-input{position:absolute;opacity:0;width:18px;height:18px;margin:0;cursor:pointer}.cand-radio-dot-circle{width:18px;height:18px;border-radius:50%;border:2px solid #cbd5e1;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;background:#fff}.candidate-option-card.selected.candidate-dining-card .cand-radio-dot-circle{border-color:#ea580c}.candidate-option-card.selected.candidate-attraction-card .cand-radio-dot-circle{border-color:#2563eb}.candidate-option-card.selected.candidate-dining-card .cand-radio-dot-circle:after{content:"";width:8px;height:8px;border-radius:50%;background:#ea580c;display:block}.candidate-option-card.selected.candidate-attraction-card .cand-radio-dot-circle:after{content:"";width:8px;height:8px;border-radius:50%;background:#2563eb;display:block}.cand-info-col{display:flex;flex-direction:column;gap:5px;flex:1 1 auto;min-width:0}.cand-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.cand-venue-name{font-size:14.5px;font-weight:700;color:#0f172a;line-height:1.4}.cand-type-pill{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}.cand-type-attraction{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.cand-specialty-box{display:flex;align-items:baseline;gap:6px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:6px 10px;margin:2px 0;font-size:12.5px}.cand-specialty-badge{font-weight:700;color:#9a3412;flex-shrink:0}.cand-specialty-dish{color:#7c2d12;font-weight:600;overflow-wrap:break-word}.cand-summary{margin:0;font-size:12px;color:#475569;line-height:1.5}.option-fit{color:#047857;font-weight:600}.changed-scope-note{font-size:11.5px;color:#047857;font-weight:600;margin:8px 0}.chip-danger{background:#fee2e2!important;color:#dc2626!important;border-color:#fca5a5!important}.chip-success{background:#ecfdf5!important;color:#059669!important;border-color:#a7f3d0!important}.chat-message-content p{margin:0 0 8px;line-height:1.6}.chat-message-content p:last-child{margin-bottom:0}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4{margin:10px 0 6px;font-weight:700;color:var(--ink);line-height:1.4}.chat-message-content h1{font-size:16px}.chat-message-content h2{font-size:15px}.chat-message-content h3{font-size:14px}.chat-message-content h4{font-size:13px}.chat-message-content ul,.chat-message-content ol{margin:6px 0 8px 18px;padding:0}.chat-message-content li{margin-bottom:4px;line-height:1.5}.chat-message-content blockquote{margin:8px 0;padding:6px 12px;background:#00000008;border-left:3px solid var(--accent, #3b82f6);border-radius:2px;color:var(--ink-secondary);font-size:12.5px}.chat-message-content .inline-code{background:#0000000f;padding:2px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:#be123c}.chat-message-content .code-block{margin:8px 0;padding:10px 12px;background:#1e293b;color:#f8fafc;border-radius:var(--radius-sm);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.chat-message-content .markdown-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:12px}.chat-message-content .markdown-table th,.chat-message-content .markdown-table td{border:1px solid var(--border);padding:6px 10px;text-align:left}.chat-message-content .markdown-table th{background:#0000000a;font-weight:700}.typing-cursor{display:inline-block;color:var(--accent, #3b82f6);font-weight:700;margin-left:2px;animation:pulse-cursor .8s infinite}@keyframes pulse-cursor{0%,to{opacity:1}50%{opacity:.2}}.mode-planner-loading{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.mode-planner-loading .sub-tip{color:#1e40af}.mode-badge-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-radius:var(--radius-sm);margin-bottom:12px;font-size:12.5px;font-weight:600;flex-wrap:wrap}.mode-badge-banner .sub-tip{font-size:11.5px;font-weight:400;opacity:.85}.mode-proposal-banner{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.mode-conflict-banner{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.mode-replace-banner{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.mode-legacy-banner{background:#f8fafc;border:1px solid #cbd5e1;color:#475569}.mode-degraded-banner{background:#fffbeb;border:1px solid #fef3c7;color:#92400e}.suggestion-callout{margin:10px 0 14px;padding:12px 14px;border-radius:var(--radius-sm);font-size:13px;box-shadow:0 2px 8px #0000000d;animation:slide-in-down .2s ease-out}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.suggestion-conflict{background:#fff5f5;border:1px solid #fed7d7;color:#742a2a}.suggestion-degraded{background:#fffaf0;border:1px solid #feebc8;color:#7b341e}.suggestion-replace{background:#ebf8ff;border:1px solid #bee3f8;color:#2b6cb0}.suggestion-legacy{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.callout-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.callout-title{font-weight:700;font-size:13px}.callout-close{background:none;border:none;font-size:18px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px;border-radius:4px}.callout-close:hover{background:#00000014;color:var(--ink)}.callout-body p{margin:0 0 8px;font-size:12.5px;line-height:1.5}.callout-chips{margin-top:6px}.tip-reopen-btn{background:#f0fdf4;border-color:#86efac;color:#15803d;font-size:11.5px}.primary-chip{background:var(--accent, #3b82f6)!important;color:#fff!important;border-color:var(--accent, #3b82f6)!important;font-weight:700!important}.danger-chip{background:#fef2f2!important;color:#dc2626!important;border-color:#fca5a5!important}.ghost-chip{background:transparent!important;border-color:var(--border)!important;color:var(--ink-secondary)!important}.admin-governance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-config-card{position:relative;overflow:hidden;border:1px solid rgba(185,92,64,.14);background:linear-gradient(145deg,#fffcf6fa,#fff7ebdb);box-shadow:0 18px 42px #673e2a14}.admin-config-card:after{content:"";position:absolute;width:150px;height:150px;right:-70px;top:-70px;border-radius:50%;background:#c769421a}.config-card-head,.modal-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.config-card-head h4{margin:4px 0 18px;font-size:19px}.config-kicker{color:#b45e41;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.config-status-dot{color:#3b8064;font-size:12px;white-space:nowrap}.config-inline-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 16px}.switch-label,.settings-check-grid label{display:inline-flex;align-items:center;gap:8px;color:var(--ink-secondary);font-size:13px}.settings-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 16px}.config-save-btn{width:100%;position:relative;z-index:1}.admin-detail-modal{max-width:620px}.admin-detail-modal h2{margin:4px 0 20px}.icon-btn{border:0;background:transparent;color:var(--muted);font-size:26px;cursor:pointer;line-height:1}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-detail-grid>div{display:grid;gap:5px;padding:12px;border-radius:12px;background:#ffffffa6;border:1px solid rgba(185,92,64,.1)}.admin-detail-grid span{color:var(--muted);font-size:12px}.admin-detail-grid strong,.admin-detail-grid code{color:var(--ink);font-size:13px;overflow-wrap:anywhere}@media(max-width:820px){.admin-governance-grid{grid-template-columns:1fr}.settings-check-grid{grid-template-columns:1fr 1fr}.admin-detail-grid{grid-template-columns:1fr}}.planner-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;color:var(--ink-secondary);font-size:12px}.planner-flow span{display:inline-flex;align-items:center;gap:6px}.planner-flow b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--red-subtle);color:var(--red);font-size:10px}.planner-flow i{color:#d3b9a7;font-style:normal}.prompt-box-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.prompt-box-head strong{font-size:14px}.prompt-box-head span{color:var(--muted);font-size:11.5px}.preference-capsules-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:2px}.preference-capsules-head strong{font-size:13px}.preference-capsules-head span{color:var(--muted);font-size:11.5px;text-align:right}.planner-proposal-dock .chat-proposal{display:flex;flex-direction:column;gap:10px}.chat-proposal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.chat-proposal-head>div{display:grid;gap:3px}.proposal-overline{color:#b45309;font-size:9.5px;font-weight:800;letter-spacing:.12em}.chat-proposal-head strong{font-size:16px;line-height:1.25}.proposal-impact{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700}.proposal-impact.is-ready{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.proposal-impact.is-caution{color:#a16207;background:#fffbeb;border:1px solid #fde68a}.proposal-message{margin:0;color:var(--ink-secondary);font-size:13px;line-height:1.65}.proposal-alert{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;margin:0;padding:10px 11px;background:#fff8eb;border:1px solid #f5d9a2;border-radius:11px;color:#7c4a16;font-size:12px;line-height:1.5}.proposal-alert-icon{color:#d97706;font-size:16px;line-height:1}.proposal-alternative-hint{grid-column:2;color:#9a5d43}.direct-replacement-summary,.candidate-options-group{margin:0}.chat-proposal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.chat-proposal-actions .mini-btn{min-height:34px}.proposal-primary-action{padding-inline:14px}.proposal-dismiss-action{margin-left:auto;color:var(--muted)}.proposal-dismiss-action:hover{color:var(--red)}@media(max-width:640px){.planner-flow{gap:5px;font-size:11px}.planner-flow i{display:none}.prompt-box-head,.preference-capsules-head{align-items:flex-start;flex-direction:column;gap:3px}.preference-capsules-head span{text-align:left}.proposal-dismiss-action{margin-left:0}}html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%}@media(max-width:900px){.shell{width:min(calc(100% - 32px),760px)}.page{padding-top:clamp(22px,4vw,32px)}.hero,.detail-layout,.profile-layout-grid,.workspace-grid,.admin-charts-grid,.admin-governance-grid{grid-template-columns:1fr}.planner-home-hero{gap:clamp(20px,4vw,32px)}.planner-home-hero h1{font-size:clamp(36px,7vw,50px)}.planner-home-hero .hero-visual{order:-1;width:100%;height:clamp(270px,52vw,360px);min-height:0}.planner-home-hero .visual-route-board{top:66px;right:18px;bottom:78px;left:18px}.planner-home-hero .visual-caption{left:20px;right:20px;bottom:20px}.planner-home-hero .visual-caption strong{font-size:clamp(18px,3.2vw,22px)}.section-title,.plan-header,.detail-header-nav{align-items:flex-start;flex-wrap:wrap}.section-title>*,.plan-header>*{min-width:0}.section-actions,.map-head-actions{display:flex;flex-wrap:wrap;gap:7px}.section-actions{width:100%;justify-content:flex-start}.section-actions button{flex:1 1 auto}.strategy-cards-cluster{grid-template-columns:repeat(3,minmax(0,1fr))}.map-head-actions{justify-content:flex-start}.trip-map{height:clamp(300px,48vw,380px)}.detail-hero{min-height:clamp(300px,62vw,440px)}.guest-hero,.auth-page-card,.guest-workspace{grid-template-columns:1fr}.guest-hero{padding:clamp(28px,6vw,42px) clamp(22px,6vw,46px)}.guest-hero-art{min-height:clamp(220px,38vw,280px)}.auth-page{min-height:auto}.admin-kpi-grid,.admin-assets-kpi-grid,.profile-stats-grid,.rerank-stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-operations-grid,.feedback-inbox-list{grid-template-columns:1fr}.settings-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-metric-note{align-items:flex-start;flex-direction:column}.chat-dock{right:16px;bottom:16px}.chat-dock-panel{width:min(480px,calc(100vw - 32px));height:min(78dvh,700px)}.planner-proposal-dock{right:16px;bottom:16px;width:min(520px,calc(100vw - 32px));max-height:min(76dvh,700px)}.planner-proposal-dock-root.with-chat .planner-proposal-dock{bottom:calc(30px + min(78dvh,700px));max-height:min(52dvh,500px)}}@media(max-width:640px){.shell{width:calc(100% - 24px)}.page{padding:18px 0 54px}.topbar{height:auto;min-height:64px;padding:10px 0;gap:8px;align-items:center}.brand{min-width:0;gap:8px}.brand-mark{width:34px;height:34px;border-radius:9px;font-size:17px}.brand-name{min-width:0;font-size:14px;gap:5px}.brand-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-note{font-size:10px}.user-button{max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px!important;font-size:11px!important}.nav{width:calc(100% + 4px);order:3;gap:2px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto;padding:7px 10px;font-size:12px}.guest-nav{width:auto;order:0;margin-left:auto}.guest-nav .auth-link-button{padding:7px 8px;font-size:11px}.guest-register-button{padding:7px 10px!important;font-size:11px!important}h1{font-size:clamp(30px,9.5vw,40px)}.section-title{gap:12px;margin-bottom:16px}.section-title h2{font-size:clamp(23px,7vw,29px)}.section-title p{font-size:12px;line-height:1.55}.section-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.section-actions button{min-width:0;padding-inline:8px}.section-actions button:last-child{grid-column:1 / -1}.planner-home-hero{gap:18px}.planner-home-hero h1{font-size:clamp(32px,10vw,42px);line-height:1.18}.planner-home-hero .hero-visual{height:clamp(240px,67vw,310px);border-radius:20px}.planner-home-hero .visual-route-board{top:58px;right:12px;bottom:68px;left:12px;border-radius:15px;background-size:24px 24px}.planner-home-hero .visual-route-label{right:10px;top:10px;font-size:8px}.planner-home-hero .visual-route-point{width:46px;height:46px;border-width:4px;font-size:9px}.planner-home-hero .visual-caption{left:15px;right:15px;bottom:15px}.planner-home-hero .visual-caption strong{font-size:18px}.planner-home-hero .visual-caption span{font-size:10px}.planner-flow{margin-bottom:14px}.prompt-box{padding:13px;border-radius:16px}.prompt-box textarea{min-height:92px;font-size:14px}.prompt-footer,.chat-composer-footer{align-items:stretch;flex-direction:column}.prompt-footer .primary,.chat-composer-footer button{width:100%}.common-plan-library .presets-row{grid-template-columns:1fr}.feature-strip{grid-template-columns:1fr;margin-top:24px}.workspace-grid{gap:14px}.panel-pad{padding:14px}.plan-header{padding:15px;gap:10px}.plan-header h2{font-size:19px}.plan-header>div:last-child{width:100%;display:flex!important;flex-wrap:wrap}.strategy-cards-cluster{grid-template-columns:1fr;padding:12px 14px}.day-block{padding:15px 14px 5px}.day-head{align-items:flex-start;gap:8px;flex-wrap:wrap}.day-head strong{font-size:16px}.stop,.stop-card,.itinerary-stop-card{display:flex!important;flex-direction:column!important;width:100%!important;padding:12px;gap:10px}.stop-name{font-size:15px}.stop-summary{font-size:12.5px}.stop-actions-bar,.stop-actions{display:flex;flex-wrap:wrap;gap:6px}.stop-actions-bar button,.stop-actions button{flex:1 1 auto;min-height:36px;justify-content:center}.map-card-head{align-items:flex-start;flex-direction:column;gap:8px}.map-head-actions{width:100%}.map-head-actions button{flex:1 1 auto}.trip-map{height:min(78vw,330px);min-height:250px;border-radius:14px}.map-intel-card{padding:12px}.detail-header-nav{gap:10px;margin-bottom:14px}.detail-header-nav .back-to-plan-btn{flex:1 1 auto}.detail-layout{gap:18px}.detail-hero{min-height:min(84vw,360px);border-radius:18px}.detail-copy h1{font-size:clamp(30px,9vw,42px)}.detail-fact{grid-template-columns:70px minmax(0,1fr);gap:10px}.detail-provider-facts{grid-template-columns:1fr}.chat-panel{margin-top:22px;padding:13px;border-radius:16px}.chat-panel-head,.chat-header-row{gap:10px}.chat-panel h2{font-size:21px}.chat-panel-actions{width:100%;justify-content:flex-start}.chat-mode-select-wrap{width:100%}.chat-mode-select{min-width:0;flex:1}.chat-transcript{min-height:180px;max-height:min(55vh,430px);margin-top:14px;padding:11px}.chat-message{max-width:96%}.chat-message-content{padding:9px 11px;font-size:13px}.chat-error-actions{width:100%;margin-left:0}.chat-input-row{align-items:stretch;flex-direction:column}.chat-input-row textarea,.chat-input-row button{width:100%}.chat-meta{gap:5px}.chat-meta-reason{width:100%}.chat-selection-actions{display:grid;grid-template-columns:1fr}.chat-selection-action,.chat-selection-clear{width:100%;text-align:left}.chat-dock{right:12px;bottom:12px}.chat-dock-trigger{min-width:0;min-height:50px;padding:7px 11px 7px 8px;gap:7px}.chat-dock-trigger-icon{width:32px;height:32px;font-size:17px}.chat-dock-trigger-copy strong{font-size:12px}.chat-dock-trigger-copy small{font-size:9.5px}.chat-dock-panel{width:calc(100vw - 24px);height:min(80dvh,680px)}.chat-panel-floating .chat-header-row{padding:12px}.chat-panel-floating .chat-context-strip{padding:8px 12px}.chat-panel-floating .chat-transcript{margin:10px 10px 0;padding:10px}.chat-panel-floating .chat-input-row{margin:8px 10px 10px;padding-top:8px}.planner-proposal-trigger{right:12px;bottom:76px;min-width:0;max-width:calc(100vw - 24px)}.planner-proposal-dock{right:12px;bottom:12px;width:calc(100vw - 24px);max-height:min(78dvh,660px);border-radius:17px}.planner-proposal-dock-root.with-chat .planner-proposal-dock{bottom:calc(24px + min(80dvh,680px));max-height:min(48dvh,440px)}.planner-proposal-dock-head{padding:12px}.planner-proposal-dock-body{padding:10px}.chat-proposal-head{flex-direction:column;gap:7px}.proposal-impact{align-self:flex-start}.chat-proposal-actions{align-items:stretch;flex-direction:column}.chat-proposal-actions .mini-btn{width:100%}.proposal-dismiss-action{margin-left:0}.guest-page{padding-top:18px}.guest-hero{padding:26px 20px;border-radius:21px}.guest-hero h1{font-size:clamp(32px,10vw,42px)}.guest-hero-copy>p{font-size:13px}.guest-hero-actions{display:grid;grid-template-columns:1fr;margin-top:18px}.guest-hero-actions button{width:100%}.guest-hero-art{min-height:205px;transform:scale(.88);transform-origin:center;margin:-10px 0}.guest-art-main{left:16%;min-width:175px}.guest-art-float-one{right:0}.guest-art-float-two{right:4px;bottom:22px}.guest-workspace{gap:14px}.guest-side-panel{padding:18px}.guest-side-panel h2{font-size:21px}.guest-chat-column .chat-panel:not(.chat-panel-floating) .panel-pad{padding:13px}.guest-chat-column .chat-panel:not(.chat-panel-floating) .chat-transcript{min-height:230px;max-height:56vh}.auth-page-card{width:100%;border-radius:20px}.auth-page-intro,.auth-form-card{padding:24px 20px}.auth-page-intro h1{font-size:clamp(30px,9vw,40px)}.auth-page-tabs{margin-bottom:20px}.admin-stream-page{gap:22px}.admin-stream-head{align-items:flex-start;flex-direction:column;gap:8px}.admin-stream-head>*{max-width:100%}.admin-kpi-grid,.admin-assets-kpi-grid,.profile-stats-grid,.rerank-stats-bar{grid-template-columns:1fr 1fr;gap:9px}.kpi-card{padding:13px}.kpi-num{font-size:27px}.kpi-label{font-size:11px}.admin-insight-card{min-height:0}.hot-question-row{grid-template-columns:23px minmax(0,1fr)}.hot-question-row em{grid-column:2}.feedback-inbox-item{padding-right:60px}.admin-users-disclosure summary{align-items:flex-start;gap:8px}.admin-users-disclosure-hint{margin-left:0;font-size:10px;line-height:1.35}.admin-user-directory-intro{align-items:flex-start;flex-direction:column;gap:12px}.admin-user-directory-intro h4{font-size:20px}.admin-user-overview{justify-content:flex-start}.admin-user-row{grid-template-columns:1fr;gap:10px;padding:12px}.user-actions-group{justify-content:flex-start}.admin-user-actions{justify-content:flex-start;flex-wrap:wrap}.admin-governance-grid{gap:12px}.settings-check-grid{grid-template-columns:1fr 1fr}.config-inline-row{align-items:flex-start;flex-direction:column}.config-inline-row select{width:100%}.explore-toolbar,.history-sync{align-items:flex-start;flex-direction:column}.explore-toolbar .chip-row{width:100%}.trip-card{gap:12px}.trip-actions{width:100%}.trip-actions button{flex:1 1 auto}.travel-memory-item{flex-direction:column}.travel-memory-actions{width:100%}.travel-memory-actions button{flex:1 1 auto}.modal-wrap{padding:12px}.modal,.doc-edit-modal,.replan-preview-modal,.admin-detail-modal{width:100%;max-height:calc(100dvh - 24px);overflow-y:auto;padding:18px;border-radius:18px}.replan-candidate-card{grid-template-columns:1fr}.candidate-thumb{min-height:125px}.candidate-info{padding:12px}.replan-modal-actions,.modal-actions{align-items:stretch;flex-direction:column}.replan-action-right{flex-direction:column}.modal-actions button,.replan-action-right button{width:100%}.toast{right:12px;bottom:12px;left:12px;text-align:center}.planning-loader{top:76px;width:calc(100% - 24px);padding:12px}.loader-steps{grid-template-columns:1fr 1fr;gap:7px}.loader-step strong{font-size:10.5px}}.admin-upload-panel{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid rgba(194,62,50,.16);border-radius:16px;background:linear-gradient(135deg,#fffaf2,#fffdf9 62%,#f5f9ff)}.admin-upload-copy{display:grid;gap:4px}.admin-upload-copy strong{font-size:17px}.admin-upload-copy small{color:var(--muted);font-size:11.5px;line-height:1.55}.admin-upload-form{display:grid;gap:10px}.admin-upload-fields{display:grid;grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(140px,1fr));gap:10px}.admin-upload-fields .form-row{margin:0}.admin-upload-fields input,.admin-upload-fields select{min-height:40px}.admin-upload-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-upload-actions button{min-width:170px}.admin-upload-actions span{color:var(--muted);font-size:11px}@media(max-width:900px){.admin-upload-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.admin-upload-panel{padding:13px}.admin-upload-fields{grid-template-columns:1fr}.admin-upload-actions{align-items:stretch;flex-direction:column}.admin-upload-actions button{width:100%}}.admin-loading-page{min-height:min(620px,calc(100dvh - 120px));display:grid;place-items:center}.admin-loading-panel{width:min(680px,100%);padding:42px;text-align:center}.admin-loading-panel h2{margin:8px 0 10px;font-size:clamp(24px,4vw,34px)}.admin-loading-panel p{max-width:440px;margin:0 auto;color:var(--muted);line-height:1.7}.admin-loading-panel .primary{margin-top:22px}.admin-loading-skeleton{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px}.admin-loading-skeleton i{height:70px;border-radius:14px;background:linear-gradient(100deg,#f7f0e6 8%,#fffdf9,#f7f0e6 62%);background-size:220% 100%;animation:admin-skeleton-pulse 1.15s ease-in-out infinite}.admin-loading-skeleton i:nth-child(2){animation-delay:.12s}.admin-loading-skeleton i:nth-child(3){animation-delay:.24s}.admin-loading-skeleton i:nth-child(4){animation-delay:.36s}@keyframes admin-skeleton-pulse{to{background-position:-220% 0}}.admin-control-center{display:grid;gap:14px;padding:18px;border:1px solid rgba(194,62,50,.14);border-radius:18px;background:linear-gradient(135deg,#fffbf4f5,#ffffffdb);box-shadow:0 14px 35px #5d382312}.admin-control-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-control-center-head>div{display:grid;gap:4px}.admin-control-center-head strong{font-size:18px}.admin-control-center-head small{color:var(--muted);font-size:11.5px;line-height:1.5}.admin-current-section{flex:0 0 auto;padding:6px 9px;border:1px solid rgba(194,62,50,.14);border-radius:999px;color:var(--red-deep);background:#fff;font-size:11px;font-weight:700}.admin-control-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.admin-control-link{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:2px 8px;padding:11px;border:1px solid rgba(121,85,56,.14);border-radius:13px;color:var(--ink);background:#ffffffc7;text-align:left;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}.admin-control-link:hover,.admin-control-link.is-active{border-color:#c23e3261;background:#fffaf4;box-shadow:0 8px 18px #553c2614;transform:translateY(-1px)}.admin-control-link>span{grid-row:1 / span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#fff;background:linear-gradient(145deg,var(--red),var(--gold));font-size:15px}.admin-control-link strong{font-size:12px}.admin-control-link small{color:var(--muted);font-size:10px;line-height:1.35}.admin-control-link b{grid-column:3;grid-row:1 / span 2;color:var(--red);font-size:10px;white-space:nowrap}.admin-section-panel.is-hidden{display:none}.admin-section-panel.is-current{animation:slideUp .2s ease-out}@media(max-width:900px){.admin-control-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.admin-control-center{padding:13px}.admin-control-center-head{flex-direction:column}.admin-current-section{align-self:flex-start}.admin-control-nav{grid-template-columns:1fr}.admin-control-link{padding:10px}}.admin-workspace-layout{display:flex!important;flex-direction:row!important;gap:24px!important;align-items:flex-start!important;margin-top:16px!important;width:100%!important;box-sizing:border-box!important}.admin-sidebar{width:260px!important;min-width:260px!important;max-width:260px!important;flex-shrink:0!important;position:sticky!important;top:84px!important;display:flex!important;flex-direction:column!important;gap:12px!important;padding:16px!important;border:1px solid rgba(194,62,50,.14)!important;border-radius:18px!important;background:linear-gradient(145deg,#fffbf4fa,#fffffff0)!important;box-shadow:0 10px 30px #5d382312!important;box-sizing:border-box!important}.admin-sidebar-header{display:flex;flex-direction:column;gap:6px;padding-bottom:12px;border-bottom:1px dashed rgba(194,62,50,.18)}.admin-sidebar-header strong{font-size:16px;color:var(--ink)}.admin-sidebar .admin-control-nav{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:8px!important;width:100%!important}.admin-sidebar .admin-control-link{display:grid!important;grid-template-columns:32px minmax(0,1fr) auto auto!important;grid-template-rows:auto!important;align-items:center!important;gap:8px!important;padding:10px 12px!important;border-radius:12px!important;width:100%!important;box-sizing:border-box!important}.admin-sidebar .admin-control-link>span{grid-row:auto!important}.admin-sidebar .admin-control-link b{grid-column:auto!important;grid-row:auto!important}.admin-nav-info{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-nav-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#c23e321f;color:var(--red-deep);white-space:nowrap}.admin-sidebar-status{padding-top:10px;border-top:1px dashed rgba(194,62,50,.14)}.admin-status-indicator{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.status-dot.standby{background:#eab308;box-shadow:0 0 0 3px #eab30833}.admin-content-area{flex:1 1 0%!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:20px!important}.admin-attraction-toolbar,.admin-user-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px;margin-bottom:12px}.admin-attraction-toolbar input,.admin-user-toolbar input{max-width:280px;flex:1 1 200px}.attraction-icon.is-indoor{background:linear-gradient(135deg,#0284c7,#38bdf8)}.attraction-icon.is-dining{background:linear-gradient(135deg,#ea580c,#f97316)}@media(max-width:768px){.admin-workspace-layout{flex-direction:column!important}.admin-sidebar{width:100%!important;min-width:100%!important;max-width:100%!important;position:static!important}.admin-sidebar .admin-control-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:500px){.admin-sidebar .admin-control-nav{grid-template-columns:1fr!important}.admin-attraction-toolbar input,.admin-user-toolbar input{max-width:100%}}.weather-query-note{display:flex;align-items:flex-start;gap:10px;margin:14px 24px 0;padding:10px 12px;border:1px solid #e6dfd3;border-radius:12px;background:#faf8f3;color:var(--muted);font-size:12px;line-height:1.55}.weather-query-note strong{flex:0 0 auto;color:#8a4a20}.spatial-plan-notice{display:grid;gap:4px;margin:14px 24px 0;padding:12px 14px;border:1px solid;border-radius:12px;font-size:12px;line-height:1.55}.spatial-plan-notice strong{font-size:13px}.spatial-plan-notice.is-blocked{color:#8f3028;background:#fff5f2;border-color:#f0c3bb}.spatial-plan-notice.is-partial{color:#805411;background:#fff9e9;border-color:#ead59f}.spatial-recovery{display:grid;gap:14px;margin:14px 24px 0;padding:16px;border:1px solid #efc5bc;border-radius:14px;color:#71362f;background:linear-gradient(135deg,#fff7f3,#fffdf8)}.spatial-recovery-heading{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start}.spatial-recovery-heading strong{font-size:14px}.spatial-recovery-heading p{margin:4px 0 0;color:#765c54;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.spatial-recovery-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:#b63a2d;font-weight:800}.spatial-candidate-list{display:grid;gap:8px}.spatial-candidate-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid rgba(157,94,72,.2);border-radius:11px;background:#fffc}.spatial-candidate-row>div{display:grid;gap:3px;min-width:0}.spatial-candidate-row strong{color:var(--ink);font-size:13px}.spatial-candidate-row span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.spatial-candidate-row.is-informational{justify-content:start}.spatial-refine-form{display:grid;gap:8px;padding-top:12px;border-top:1px solid rgba(157,94,72,.18)}.spatial-refine-form label{color:var(--ink);font-size:12px;font-weight:700}.spatial-refine-form textarea{width:100%;min-height:78px;resize:vertical;border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--ink);background:#fff;font:inherit;font-size:13px}.spatial-refine-footer{display:flex;gap:12px;align-items:center;justify-content:space-between}.spatial-refine-footer>span{color:var(--muted);font-size:11px;line-height:1.5}@media(max-width:680px){.spatial-recovery{margin:12px 14px 0;padding:13px}.spatial-candidate-row,.spatial-refine-footer{align-items:stretch;flex-direction:column}.spatial-candidate-row button,.spatial-refine-footer button{width:100%}}.feedback-letter-wrap{padding:18px}.feedback-letter-modal{width:min(620px,calc(100vw - 32px));padding:0;overflow:hidden}.feedback-letter-head{display:flex;align-items:center;justify-content:space-between;padding:17px 21px 14px;border-bottom:1px solid var(--border-subtle);color:var(--red-deep);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.feedback-letter-modal h2{margin:20px 21px 6px}.feedback-letter-modal>p{margin:0 21px 15px;color:var(--muted);font-size:13px;line-height:1.55}.modal-close{width:30px;height:30px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--muted);font-size:21px;line-height:1}.feedback-letter-input{display:block;width:calc(100% - 42px);min-height:148px;margin:0 21px;padding:14px;resize:vertical;border:1px solid #ddd4c7;border-radius:14px;background:#fffdf9;line-height:1.6;outline:none}.feedback-letter-input:focus{border-color:var(--red);box-shadow:0 0 0 3px #c23e321a}.feedback-letter-quick{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:13px 21px 0}.feedback-letter-quick>span{margin-right:2px;color:var(--muted);font-size:11px}.feedback-letter-quick .chip{padding:5px 9px;background:#fff;font-size:11px}.feedback-letter-modal .modal-actions{margin:17px 21px 21px}.feedback-summary-letter,.feedback-inbox-item.is-letter>span{color:#8b5a1f;background:#fff4dc}.feedback-inbox-item.is-letter{border-color:#efd6ae;background:linear-gradient(90deg,#fffdf8,#fff8eb)}.memory-profile-panel{background:linear-gradient(145deg,#fffefa,#fffaf4)}.memory-profile-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.memory-kicker{display:block;margin-bottom:5px;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.12em}.memory-switch{display:inline-flex;align-items:center;gap:7px;min-width:80px;padding:7px 10px;border:1px solid #d8d0c4;border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:700}.memory-switch i{width:9px;height:9px;border-radius:50%;background:#bbb2a6}.memory-switch.is-on{border-color:#9bd6bf;color:#087455;background:#f1fffa}.memory-switch.is-on i{background:#0caa78;box-shadow:0 0 0 3px #0caa781f}.memory-profile-copy{margin:10px 0 9px!important;max-width:620px;line-height:1.55}.memory-enable-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:13px 14px;border:1px solid #f1c3b1;border-radius:14px;background:linear-gradient(105deg,#fff8f3,#fffdf9)}.memory-enable-cta div{display:grid;gap:4px}.memory-enable-cta strong{color:#8e3320;font-size:13px}.memory-enable-cta span{color:var(--muted);font-size:11px;line-height:1.45}.memory-enable-btn{flex:0 0 auto;min-height:36px;white-space:nowrap}.memory-priority-line{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 13px;color:#8b6254;font-size:11px}.memory-review-status{display:flex;justify-content:space-between;gap:10px;margin:0 0 12px;padding:8px 10px;border-radius:10px;background:#ffffffb8;color:var(--muted);font-size:11px;line-height:1.45}.memory-review-status time{flex:0 0 auto;color:#98604b}.memory-candidate-list{display:grid;gap:8px;margin:0 0 13px;padding:11px;border:1px solid #f0d49e;border-radius:13px;background:#fff9e9}.memory-candidate-list>strong{color:#8c5b11;font-size:12px}.memory-candidate-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-radius:10px;background:#ffffffc2}.memory-candidate-item>div:first-child{display:grid;gap:3px}.memory-candidate-item span{color:#a36b0c;font-size:10px;font-weight:800}.memory-candidate-item b{font-size:13px}.memory-candidate-item small{color:var(--muted);font-size:11px}.memory-candidate-item>div:last-child{display:flex;gap:7px;flex:0 0 auto}.memory-priority-line span{padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #ede1d2}.memory-priority-line span:first-child{color:var(--red-deep);border-color:#f1b9b2;background:#fff5f4;font-weight:700}.memory-priority-line b{color:var(--muted-light)}.memory-add-row{border-top:1px dashed #e4dacd;padding-top:13px}@media(max-width:640px){.weather-query-note{margin:12px 14px 0;flex-direction:column;gap:3px}.spatial-plan-notice{margin:12px 14px 0}.feedback-letter-wrap{padding:12px}.feedback-letter-modal{width:calc(100vw - 24px)}.memory-profile-head{align-items:flex-start}.memory-enable-cta{align-items:stretch;flex-direction:column}.memory-enable-btn{width:100%}.memory-review-status{flex-direction:column;gap:2px}.memory-candidate-item{align-items:stretch;flex-direction:column}.memory-candidate-item>div:last-child{justify-content:flex-end}}@media(max-width:640px){body.map-fullscreen-open{overflow:hidden;overscroll-behavior:none}.fullscreen-map-overlay{height:100dvh;min-height:100svh;overflow:hidden;background:#f4eee3}.fullscreen-map-header{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:9px;min-height:0;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:#fffdf9f7;box-shadow:0 3px 15px #4e37241a;z-index:2}.fullscreen-map-title-row{gap:9px}.fullscreen-header-left{gap:7px}.fullscreen-map-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;font-family:inherit;font-size:14px;line-height:1.28}.fullscreen-header-left .intel-badge{flex:0 0 auto;padding:3px 5px;font-size:10px}.fullscreen-map-close{flex:0 0 auto;min-width:40px;min-height:40px;padding:7px 9px;border-radius:12px}.fullscreen-map-close b{display:none}.fullscreen-map-close>span{font-size:24px}.fullscreen-map-tabs-rail{width:100%;overflow:hidden}.fullscreen-map-tabs-rail .map-day-tabs{width:max-content;max-width:100%;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding:1px 1px 3px}.fullscreen-map-tabs-rail .map-tab{flex:0 0 auto;min-height:34px;padding:6px 11px;font-size:12px}.fullscreen-map-canvas{min-height:0;height:auto;touch-action:none}.fullscreen-map-canvas .amap-container,.fullscreen-map-canvas .amap-maps,.fullscreen-map-canvas .amap-layers{touch-action:none}body.chat-dock-open{overflow:hidden;overscroll-behavior:none}.topbar:not(.guest-topbar){align-items:flex-start}.topbar .brand{width:100%;min-width:0}.brand-mark{width:34px;height:34px;border-radius:9px;font-size:17px}.brand-name{font-size:15px}.brand-note{font-size:11px}.admin-role-badge{flex:0 0 auto;font-size:10px;padding:2px 6px}.nav{width:100%;min-width:0;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav>button{flex:0 0 auto;min-width:max-content;white-space:nowrap}.nav .perspective-btn{width:auto!important;min-height:34px;padding:6px 10px!important}.nav .user-button{padding:6px 8px!important}.nav .user-button>span:last-child{display:none}.chat-dock{inset:auto 0 0;right:0;bottom:0}.chat-dock-panel{width:100vw;height:min(86dvh,760px);min-height:min(480px,86dvh);animation-name:chatDockMobileIn}.chat-panel-floating{border-right:0;border-bottom:0;border-left:0;border-radius:22px 22px 0 0;box-shadow:0 -16px 42px #301c1633;-webkit-backdrop-filter:none;backdrop-filter:none}.chat-panel-floating .chat-header-row{padding:13px 16px 10px}.chat-panel-floating .chat-mode-banner-mount{padding:0 12px}.chat-panel-floating .chat-transcript{margin:10px 12px 0;padding:12px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.chat-panel-floating .chat-input-row{flex-direction:row;align-items:flex-end;gap:8px;margin:9px 12px calc(12px + env(safe-area-inset-bottom))}.chat-panel-floating .chat-input-row textarea{min-width:0;max-height:120px}.chat-panel-floating .chat-input-row button{flex:0 0 auto;min-width:68px;width:auto}.chat-panel-floating .chat-selected-stop{max-width:42%}.chat-panel-floating .chat-proposal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat-panel-floating .chat-interaction-context{flex:0 0 auto;margin:8px 12px 0;padding:8px 9px;border:1px solid rgba(194,62,50,.16);border-radius:13px;background:linear-gradient(135deg,#fffaf3,#fffdf9)}.chat-panel-floating .chat-context-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-panel-floating .chat-context-topline>span{min-width:0;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.3;text-align:right;text-overflow:ellipsis;white-space:nowrap}.chat-panel-floating .chat-context-topline .chat-mode-select-wrap{flex:0 0 auto}.chat-panel-floating .chat-context-topline .chat-mode-select{min-height:32px;padding:5px 25px 5px 8px;color:var(--red-deep);font-size:11px;font-weight:800}.chat-panel-floating .chat-interaction-context.has-compact-mode-picker .chat-mode-banner-mount{display:none}.chat-panel-floating .chat-selection-mount:empty{display:none}.chat-panel-floating .chat-selection-panel{gap:6px;margin:7px 0 0;padding:7px 0 0;border:0;border-top:1px dashed rgba(194,62,50,.2);border-radius:0;background:transparent}.chat-panel-floating .chat-selection-copy{display:flex;align-items:baseline;min-width:0;gap:5px}.chat-panel-floating .chat-selection-copy strong{flex:0 0 auto;font-size:11px}.chat-panel-floating .chat-selection-copy span{overflow:hidden;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.chat-panel-floating .chat-selection-actions{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chat-panel-floating .chat-selection-actions::-webkit-scrollbar{display:none}.chat-panel-floating .chat-selection-action,.chat-panel-floating .chat-selection-clear{flex:0 0 auto;width:auto;min-height:30px;padding:5px 8px;font-size:10.5px;line-height:1.2;text-align:center;white-space:nowrap}.chat-panel-floating .chat-selection-clear{color:var(--muted)}.chat-panel-floating .chat-transcript{margin-top:8px}.doc-item-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px}.doc-title-group{min-width:0;align-items:flex-start}.doc-title-group strong,.doc-title-group span{overflow-wrap:anywhere}.doc-head-actions{flex:0 0 auto;gap:7px}.doc-head-actions .mini-btn{min-width:72px;min-height:38px;padding:7px 9px;white-space:nowrap}.expand-icon{min-width:42px;white-space:nowrap;text-align:center}.admin-user-row{padding:12px}.user-main-info{align-items:flex-start}.user-avatar-circle{width:36px;height:36px;font-size:14px}.user-metrics-chips{gap:6px}.user-mini-stat{min-width:0;padding:6px 7px}.admin-control-link{grid-template-columns:34px minmax(0,1fr) auto;min-height:64px}.admin-control-link>span{width:34px;height:34px}}@keyframes chatDockMobileIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.map-marker-start{background:#1f2937!important;border-color:#f59e0b!important;box-shadow:0 0 0 2px #f59e0b,0 4px 10px #0000004d!important}.amap-copyright,.amap-logo,.amap-scalecontrol,.amap-toolbar,.amap-geolocation-con{z-index:10!important}.chat-context-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;background:#fdfbf7;border-bottom:1px solid rgba(185,92,64,.12)}.chat-mode-select-wrap{display:flex;align-items:center;gap:6px}.chat-mode-label{font-size:11px;font-weight:700;color:var(--ink-secondary)}.chat-mode-select{padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:#fff;font-size:12px;font-weight:600;color:var(--red-deep);cursor:pointer}.chat-context-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em}.chat-context-badge.is-planner{background:#d977061f;color:#b45309;border:1px solid rgba(217,119,6,.28)}.chat-context-badge.is-chat{background:#2563eb1a;color:#1d4ed8;border:1px solid rgba(37,99,235,.24)}.detail-loading-box{margin:16px 0 24px;padding:16px 20px;border-radius:16px;background:linear-gradient(135deg,#fffcf6,#fff7eb);border:1px solid rgba(217,119,6,.25);box-shadow:0 4px 18px #b4530914}.detail-progress-track{width:100%;height:6px;background:#d9770626;border-radius:999px;overflow:hidden;margin-bottom:12px}.detail-progress-bar{width:100%;height:100%;background:linear-gradient(90deg,#c8523d,#f59e0b,#10b981);border-radius:999px;animation:detailProgressAnim 1.8s infinite cubic-bezier(.4,0,.2,1);transform-origin:left}@keyframes detailProgressAnim{0%{transform:translate(-100%) scaleX(.2)}50%{transform:translate(0) scaleX(.8)}to{transform:translate(100%) scaleX(.2)}}.detail-loading-message{display:flex;align-items:center;gap:14px}.detail-loading-spinner{width:28px;height:28px;flex-shrink:0;border:3px solid rgba(217,119,6,.2);border-top-color:#c8523d;border-radius:50%;animation:spin .8s linear infinite}.detail-loading-message strong{display:block;font-size:14px;color:var(--ink);margin-bottom:2px}.detail-loading-message p{margin:0;font-size:12px;color:var(--muted)}.detail-skeleton .detail-skeleton-hero{min-height:280px;background:#f1ede6}.skeleton-line,.skeleton-card{background:#f1ede6}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmerAnim 1.6s infinite}@keyframes shimmerAnim{to{transform:translate(100%)}}.detail-ai-guide-card{margin:22px 0;padding:22px 24px;border-radius:18px;background:linear-gradient(135deg,#fff,#fffbf5);border:1.5px solid rgba(217,119,6,.28);box-shadow:0 8px 30px #b4530914,0 2px 6px #00000008}.detail-ai-guide-card .ai-guide-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(217,119,6,.16)}.ai-guide-title-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ai-guide-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;background:linear-gradient(135deg,#c8523d,#ea580c);color:#fff;font-size:13.5px;font-weight:800;box-shadow:0 2px 10px #c8523d4d}.ai-guide-tag{padding:4px 10px;border-radius:999px;background:#fef3c7;color:#92400e;border:1px solid #fde68a;font-size:11.5px;font-weight:700}.ai-guide-verified{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;font-size:11.5px;font-weight:700}.detail-ai-guide-card .ai-guide-body{display:flex;flex-direction:column;gap:12px}.ai-guide-subcard,.ai-guide-section{padding:14px 18px;background:#fff;border-radius:12px;border:1px solid rgba(217,119,6,.16);border-left:4px solid #ea580c;box-shadow:0 2px 8px #00000008;transition:transform .2s ease,box-shadow .2s ease}.ai-guide-subcard:hover{transform:translateY(-1px);box-shadow:0 4px 14px #b4530914}.ai-guide-section-title{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:#9a3412;font-size:14px;font-weight:800}.ai-guide-section-icon{font-size:15px}.ai-guide-section-content{margin:0;font-size:13.5px;line-height:1.7;color:#374151}.ai-guide-footer{margin-top:14px;padding-top:10px;border-top:1px dashed rgba(217,119,6,.15);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11.5px}.chat-mode-tabs{display:inline-flex;align-items:center;gap:4px;padding:3px 4px;background:#ece6decc;border:1px solid rgba(185,92,64,.18);border-radius:999px;box-shadow:inset 0 1px 2px #0000000f}.chat-mode-tab-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 13px;border-radius:999px;border:none;background:transparent;color:#64748b;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;outline:none}.chat-mode-tab-btn:hover{color:#1e293b;background:#fff9}.chat-mode-tab-btn.is-active{background:#fff;color:#c8523d;box-shadow:0 2px 8px #c8523d38,0 1px 2px #0000000d}.chat-mode-tab-btn[data-action=switch-adjustment-mode].is-active{color:#ea580c;box-shadow:0 2px 8px #ea580c40,0 1px 2px #0000000d}.chat-mode-tab-icon{font-size:13px}.chat-context-topline{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 4px}.chat-selection-panel{background:#fff!important;border:1px solid rgba(185,92,64,.22)!important;border-radius:14px!important;padding:13px 15px!important;box-shadow:0 4px 16px #b453090f}.chat-selection-panel.is-chat{border-color:#2563eb38!important;box-shadow:0 4px 16px #2563eb0f}.chat-selection-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.chat-selection-title-row strong{font-size:13px;color:#9a3412}.chat-selection-panel.is-chat .chat-selection-title-row strong{color:#1d4ed8}.chat-selection-clear{padding:3px 8px;border:1px solid rgba(100,116,139,.25);border-radius:6px;color:#64748b;background:#f8fafce6;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.chat-selection-clear:hover{color:#dc2626;border-color:#fca5a5;background:#fef2f2}.chat-selection-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.chat-selection-action{display:inline-flex;align-items:center;gap:5px;padding:6px 12px!important;border:1.5px solid rgba(234,88,12,.3)!important;border-radius:999px!important;color:#c2410c!important;background:#fffaf5!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important;-webkit-user-select:none;user-select:none;transition:all .18s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 1px 3px #0000000a}.chat-selection-action:hover:not(:disabled){color:#fff!important;background:linear-gradient(135deg,#ea580c,#c2410c)!important;border-color:#c2410c!important;transform:translateY(-1px);box-shadow:0 4px 12px #ea580c40}.chat-selection-action:active:not(:disabled),.chat-selection-action.is-active-loading{transform:scale(.96)!important;background:#9a3412!important;color:#fff!important}.chat-selection-panel.is-chat .chat-selection-action{color:#1d4ed8!important;border-color:#2563eb4d!important;background:#f0f7ff!important}.chat-selection-panel.is-chat .chat-selection-action:hover:not(:disabled){color:#fff!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;border-color:#1d4ed8!important;box-shadow:0 4px 12px #2563eb40}.chat-selection-panel.is-chat .chat-selection-action:active:not(:disabled),.chat-selection-panel.is-chat .chat-selection-action.is-active-loading{transform:scale(.96)!important;background:#1e40af!important;color:#fff!important}.chat-mode-tab-btn:active{transform:scale(.95)}.evidence-card{position:relative;background:#fff!important;border-radius:16px!important;box-shadow:0 4px 20px #0000000d!important}.map-intel-card{background:#fdfaf6!important;border:1px solid rgba(185,92,64,.15)!important;border-radius:12px!important;padding:12px 14px!important;margin-top:10px}@media(max-width:900px){.workspace-grid{display:flex!important;flex-direction:column!important;gap:16px!important}.workspace-grid>.panel:not(.evidence-card):not(#constraint-slot-mount .panel){order:1!important}.workspace-grid>.evidence-card{order:2!important}#constraint-slot-mount{order:3!important;width:100%!important}.section-title{flex-direction:column!important;align-items:stretch!important;gap:12px!important}.section-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important}.section-actions button{flex:1 1 auto!important;min-height:40px!important;justify-content:center!important}}@media(max-width:640px){.shell{width:calc(100% - 20px)!important;padding-left:0!important;padding-right:0!important}.page{padding-top:14px!important;padding-bottom:72px!important}.topbar{padding:8px 0!important;min-height:56px!important}.brand-name{font-size:14px!important}.brand-mark{width:32px!important;height:32px!important;font-size:15px!important}.nav{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;padding-bottom:2px!important}.nav::-webkit-scrollbar{display:none!important}.nav-item{font-size:13px!important;padding:6px 10px!important;flex-shrink:0!important}.planner-home-hero h1{font-size:28px!important;line-height:1.3!important}.planner-flow{display:none!important}.prompt-box{padding:14px!important;border-radius:14px!important}.prompt-box textarea{min-height:80px!important;font-size:14px!important}.prompt-footer{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.prompt-footer button{width:100%!important;min-height:44px!important;font-size:15px!important}.capsule-group{flex-direction:column!important;align-items:flex-start!important;gap:6px!important}.capsule-label{min-width:unset!important;font-size:12px!important;color:var(--muted)!important}.capsule-list{display:flex!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important}.pref-chip{padding:6px 12px!important;font-size:12.5px!important;min-height:34px!important}.stop,.stop-card,.itinerary-stop-card{display:flex!important;flex-direction:column!important;width:100%!important;box-sizing:border-box!important;padding:12px 14px!important;border-radius:12px!important;gap:10px!important}.stop-name{font-size:15px!important}.stop-meta-line{font-size:11.5px!important;gap:4px!important}.stop-summary{font-size:12.5px!important;line-height:1.55!important}.recommendation-box{padding:7px 10px!important;font-size:12px!important}.day-context{font-size:12px!important;padding:7px 10px!important;margin-bottom:10px!important}.dining-specialty-box{font-size:11.5px!important;padding:6px 10px!important}.stop-chip-row .chip{font-size:11px!important;padding:4px 8px!important}.stop-actions-bar{gap:6px!important;padding-top:8px!important}.stop-actions-bar button{flex:1 1 calc(33.333% - 6px)!important;min-width:72px!important;font-size:11.5px!important;padding:7px 6px!important;min-height:36px!important;text-align:center!important}.trip-map{height:260px!important;min-height:240px!important}.map-day-tabs{overflow-x:auto!important;scrollbar-width:none!important;display:flex!important;flex-wrap:nowrap!important;gap:6px!important;padding-bottom:4px!important}.map-day-tabs::-webkit-scrollbar{display:none!important}.map-tab{flex-shrink:0!important;font-size:12px!important;padding:5px 12px!important}.modal-wrap{padding:10px!important}.modal,.doc-edit-modal,.replan-preview-modal,.admin-detail-modal{width:100%!important;max-width:100%!important;padding:16px 14px!important;border-radius:16px!important}.constraint-form{padding:14px!important}.constraint-form label{font-size:12.5px!important;margin-bottom:10px!important}.constraint-form input,.constraint-form select{font-size:13.5px!important;min-height:38px!important;padding:6px 10px!important}.constraint-submit{min-height:42px!important;font-size:14px!important}}.preference-slots-panel{border:1px solid rgba(226,232,240,.9);box-shadow:0 4px 16px #0f172a0a;background:var(--surface);border-radius:var(--radius)}.slots-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.slots-sub-badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;color:#0369a1;background:#e0f2fe;padding:3px 9px;border-radius:999px;white-space:nowrap}.slot-group-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;transition:all .2s ease}.slot-group-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000005}.slot-group-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#1e293b;margin-bottom:10px}.slot-group-icon{font-size:16px}.slot-active-tags-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:34px;padding:6px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px}.slot-empty-tip{font-size:12.5px;color:#94a3b8;padding:2px 0}.slot-tag-pill{display:inline-flex;align-items:center;gap:6px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:3px 8px 3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;box-shadow:0 1px 2px #2563eb14;animation:slotPopIn .2s cubic-bezier(.16,1,.3,1)}@keyframes slotPopIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.slot-tag-remove{border:none;background:transparent;color:#60a5fa;cursor:pointer;padding:0 2px;font-size:14px;line-height:1;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.slot-tag-remove:hover{color:#dc2626;background:#fee2e2}.slot-presets-section{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.slot-presets-label{font-size:12px;color:#64748b;font-weight:600}.slot-preset-pills{display:flex;flex-wrap:wrap;gap:6px}.slot-preset-pill{border:1px dashed #cbd5e1;background:#fff;color:#475569;padding:3px 9px;border-radius:999px;font-size:12px;cursor:pointer;transition:all .15s ease}.slot-preset-pill:hover{background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.slot-preset-pill.is-active{background:#dbeafe;border:1px solid #3b82f6;color:#1d4ed8;font-weight:600}.slot-add-input-row{display:flex;gap:8px;align-items:center}.slot-custom-input{flex:1;max-width:320px;height:32px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:0 10px;font-size:12.5px;color:#1e293b;outline:none;transition:border-color .15s ease}.slot-custom-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.prepend-prompt-panel{border:1px solid rgba(226,232,240,.9);box-shadow:0 4px 16px #0f172a0a;background:linear-gradient(145deg,#fff,#f9fbfd);border-radius:var(--radius)}.prepend-prompt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.prepend-prompt-status-badge{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;white-space:nowrap}.prepend-prompt-status-badge.is-active{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.prepend-prompt-editor-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #00000005}.prepend-prompt-editor-top{display:flex;justify-content:space-between;align-items:center}.editor-label-row{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:#1e293b}.prepend-prompt-counter{font-size:12px;color:#94a3b8;font-family:monospace}.prepend-prompt-textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;padding:12px 14px;font-size:13.5px;line-height:1.6;color:#1e293b;background:#f8fafc;resize:vertical;min-height:130px;font-family:inherit;transition:all .2s ease}.prepend-prompt-textarea:focus{background:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61f}.prepend-prompt-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.prepend-prompt-tip-text{font-size:11.5px;color:#64748b;line-height:1.45;flex:1;min-width:220px}.prepend-prompt-btn-group{display:flex;gap:8px;flex-shrink:0}.travel-memory-ttl-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;padding:1px 6px;margin-left:6px;letter-spacing:.02em}.memory-expand-row{display:flex;justify-content:center;margin:12px 0 8px}.expand-memories-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 16px!important;font-size:12.5px!important;font-weight:600!important;color:#2563eb!important;background:#eff6ff!important;border:1px solid #bfdbfe!important;border-radius:999px!important;cursor:pointer;transition:all .2s ease}.expand-memories-toggle:hover{background:#dbeafe!important;border-color:#93c5fd!important;color:#1d4ed8!important;transform:translateY(-1px)}
