:root{--kami-parchment: #f5f4ed;--kami-ivory: #faf9f5;--kami-sand: #e8e6dc;--kami-ink: #141413;--kami-charcoal: #4d4c48;--kami-olive: #5e5d59;--kami-stone: #87867f;--kami-silver: #b0aea5;--kami-border: #e8e5da;--kami-border-2: #e0ddd2;--kami-brand: #1B365D;--kami-brand-deep: #11233F;--kami-brand-pale: #E8EEF6;--kami-brand-border: #cfdce9;--kami-error: #b53333;--kami-error-pale: #f5e4e4;--kami-error-border: #e8c8c8;--kami-success: #5a7a3a;--kami-success-pale: #eaefe2;--kami-success-border: #d4dec4;--kami-warning: #7a5a25;--kami-warning-pale: #f5ead4;--kami-warning-border: #e8d8b8}.dark{--kami-parchment: #1c1b18;--kami-ivory: #242320;--kami-sand: #2e2d29;--kami-ink: #e8e5dc;--kami-charcoal: #c8c4ba;--kami-olive: #a09c92;--kami-stone: #7a776e;--kami-silver: #5a5850;--kami-border: #33312b;--kami-border-2: #3d3b34;--kami-brand: #6b9fd4;--kami-brand-deep: #8ab4e0;--kami-brand-pale: #1d2a3a;--kami-brand-border: #3d4d63;--kami-error: #d08888;--kami-error-pale: #3d1e1e;--kami-error-border: #5a3030;--kami-success: #8fb060;--kami-success-pale: #253418;--kami-success-border: #3a4d2a;--kami-warning: #c49a54;--kami-warning-pale: #2e2416;--kami-warning-border: #4a3a1f}:root{--bg: var(--kami-parchment);--panel: var(--kami-ivory);--panel-2: var(--kami-sand);--border: var(--kami-border);--border-strong: var(--kami-border-2);--text: var(--kami-ink);--muted: var(--kami-olive);--accent: var(--kami-brand);--accent-soft: var(--kami-brand-pale);--good: var(--kami-success);--good-soft: var(--kami-success-pale);--good-border: var(--kami-success-border);--warn: var(--kami-warning);--warn-soft: var(--kami-warning-pale);--warn-border: var(--kami-warning-border);--err: var(--kami-error);--err-soft: var(--kami-error-pale);--err-border: var(--kami-error-border);--on-accent: var(--kami-ivory);--accent-deep: var(--kami-brand-deep);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;background:var(--bg);color:var(--text);font:14px/1.55 Lato,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color-scheme:light}.dark body{color-scheme:dark}.app{display:flex;flex-direction:column;height:100%}.mobilebar{display:none}.brand{font-weight:700;letter-spacing:.3px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hamburger{display:none;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;font-size:16px;line-height:1;cursor:pointer}.workspace{display:flex;flex:1;min-height:0}.sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:var(--panel);padding:10px 8px}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:6px 8px 12px}.sidebar-brand .brand{font-size:16px}.sidebar-new{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:var(--text);border:none;border-radius:var(--radius-md);padding:9px 10px;cursor:pointer;font:inherit;font-weight:600;text-align:left}.sidebar-new:hover{background:var(--panel-2)}.sidebar-new svg{color:var(--muted);flex-shrink:0}.sidebar-head{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:14px 10px 6px}.sidebar-list{flex:1;overflow-y:auto;min-height:0}.sidebar-empty{color:var(--muted);font-size:13px;padding:8px 10px}.session{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:transparent;color:var(--text);border:none;border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer}.session:hover{background:var(--panel-2)}.session.active{background:var(--accent-soft)}.session-title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:5px}.session-spinner{width:9px;height:9px;border:1.5px solid var(--muted);border-top-color:transparent;border-radius:50%;animation:session-spin .8s linear infinite}@keyframes session-spin{to{transform:rotate(360deg)}}.sidebar-foot{display:flex;align-items:center;gap:8px;padding:10px 6px 4px;margin-top:8px;border-top:1px solid var(--border)}.sidebar-user{flex:1;min-width:0;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot .theme-toggle{flex-shrink:0}.sidebar-backdrop{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.debug-panel{flex:1 1 0;min-width:0;min-height:0;overflow-y:auto;border-left:1px solid var(--border);background:var(--panel);padding:16px 14px}.debug-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}.debug-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.debug-title{font-weight:700;font-size:14px}.debug-badge{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--on-accent);background:var(--accent);border-radius:var(--radius-pill);padding:2px 8px}.debug-label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.debug-input{width:100%;box-sizing:border-box;resize:vertical;font:inherit;font-size:12px;line-height:1.5;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 10px}.debug-input:focus{outline:none;border-color:var(--accent)}.debug-actions{display:flex;gap:8px;margin-top:8px}.debug-ghost{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 10px;cursor:pointer;font:inherit;font-size:12px}.debug-ghost:hover:not(:disabled){color:var(--text);background:var(--panel-2)}.debug-ghost:disabled{opacity:.45;cursor:default}.debug-hint{margin:8px 0 0;font-size:11px;line-height:1.55;color:var(--muted)}.debug-hint b{color:var(--text);font-weight:600}.debug-sep{height:1px;background:var(--border);margin:16px 0}.debug-btn{width:100%;margin-top:12px;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--radius-md);padding:9px 12px;cursor:pointer;font:inherit;font-weight:600;font-size:13px}.debug-btn:hover:not(:disabled){background:var(--accent-deep)}.debug-btn:disabled{opacity:.6;cursor:default}@media(max-width:820px){.mobilebar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--panel)}.hamburger{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:80%;max-width:300px;transform:translate(-100%);transition:transform .2s ease;box-shadow:2px 0 18px #00000073}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080}.card{padding:14px}.hamburger{padding:8px 10px}.pf-grid{grid-template-columns:1fr}.debug-panel{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:45;width:auto;max-height:62vh;border-left:none;border-top:1px solid var(--border);box-shadow:0 -2px 18px #00000059}}.chat{flex:1;overflow:auto;padding:22px clamp(20px,3vw,36px);display:flex;flex-direction:column;gap:12px;width:100%;max-width:1280px;margin:0 auto}.chat-welcome{color:var(--muted);margin-top:12px}.chat-welcome h1{color:var(--text);margin:0 0 4px;font-size:22px;font-family:Newsreader,Georgia,"Source Han Serif SC",serif;font-weight:500}.chat-loading{align-self:flex-start;color:var(--muted);font-size:13px;padding:10px 4px}.suggestions{display:flex;flex-direction:column;gap:8px;margin-top:16px;max-width:440px}.suggestion{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:11px 13px;cursor:pointer;font:inherit;font-size:13.5px}.suggestion svg{color:var(--accent);flex-shrink:0}.suggestion:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.suggestion:disabled{opacity:.5;cursor:default}.bubble{padding:10px 13px;border-radius:var(--radius-lg);max-width:92%;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble.error{background:var(--err-soft);border-color:var(--err-border);color:var(--err);white-space:pre-wrap}.agent-progress-message{gap:0}.agent-status{display:inline-flex;align-items:center;gap:8px;min-height:30px;max-width:min(100%,720px);padding:4px 2px;color:var(--muted);font-size:13px;line-height:1.45}.agent-status.is-active{color:var(--text)}.agent-status.is-error{color:var(--err)}.agent-status-mark{display:inline-flex;align-items:center;justify-content:center;width:14px;height:16px;flex:0 0 14px;font-size:11px}.agent-status.is-error .agent-status-mark{font-weight:700}.agent-status-spinner{width:12px;height:12px;flex:0 0 12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:agent-status-spin .8s linear infinite}@keyframes agent-status-spin{to{transform:rotate(360deg)}}.agent-question{width:min(100%,720px);padding:16px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg)}.agent-question-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.agent-question-head strong{font-size:15px}.agent-question-head span,.agent-question-status{color:var(--muted);font-size:12px}.agent-question-field{min-width:0;margin:0;padding:0;border:0}.agent-question-field+.agent-question-field{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.agent-question-field legend{width:100%;margin:0 0 9px;padding:0;color:var(--text);font-size:14px;font-weight:600}.agent-question-options{display:flex;flex-direction:column;gap:7px}.agent-question-option{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.agent-question-option:hover{border-color:var(--accent)}.agent-question-option.is-selected{background:var(--accent-soft);border-color:var(--accent)}.agent-question-option input{flex:0 0 auto;margin:3px 0 0;accent-color:var(--accent)}.agent-question-option span{display:flex;flex-direction:column;min-width:0}.agent-question-option strong{font-size:13px;font-weight:600}.agent-question-option small{margin-top:1px;color:var(--muted);font-size:12px}.agent-question-custom{display:flex;flex-direction:column;gap:6px;margin-top:10px}.agent-question-custom>span{color:var(--muted);font-size:12px;font-weight:600}.agent-question-custom textarea{width:100%;min-height:58px;resize:vertical;padding:8px 10px;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;line-height:1.45}.agent-question-custom textarea::placeholder{color:var(--muted)}.agent-question-custom textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.agent-question-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.agent-question-actions button{flex:0 0 auto;padding:8px 14px;color:var(--on-accent);background:var(--accent);border:0;border-radius:var(--radius-md);cursor:pointer;font:inherit;font-weight:600}.agent-question-actions button:hover:not(:disabled){background:var(--accent-deep)}.agent-question-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.agent-question-actions button:disabled{opacity:.5;cursor:default}.agent-question-error{color:var(--err);font-size:12px}.agent-question.is-answered{display:flex;flex-direction:column;gap:8px;padding:12px 14px}.agent-question-status{font-weight:600}.agent-question-answer{display:flex;align-items:baseline;gap:8px 14px;flex-wrap:wrap}.agent-question-answer span{color:var(--muted);font-size:13px}.agent-question-answer strong{color:var(--text);font-size:13px}@media(max-width:820px){.agent-question{padding:14px}.agent-question-head{align-items:flex-start;flex-direction:column;gap:2px}.agent-question-actions{align-items:stretch;flex-direction:column}.agent-question-actions button{width:100%;min-height:42px}}.msg{display:flex;flex-direction:column;gap:4px;max-width:92%}.msg.user{align-self:flex-end;align-items:flex-end}.msg.assistant{align-self:flex-start;align-items:flex-start}.msg.full{align-self:stretch;max-width:100%;align-items:flex-start}.msg .bubble{max-width:100%}.msg-time{font-size:11px;line-height:1;color:var(--muted);padding:0 4px;-webkit-user-select:none;user-select:none}.bubble.assistant{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 8px}.md ul,.md ol{margin:6px 0;padding-left:20px}.md li{margin:2px 0}.md li>p{margin:0}.md h1,.md h2,.md h3,.md h4{font-family:Newsreader,Georgia,"Source Han Serif SC",serif;font-weight:600;line-height:1.25;margin:10px 0 6px}.md h1{font-size:18px}.md h2{font-size:16px}.md h3,.md h4{font-size:15px}.md code{font-family:SF Mono,Monaco,Cascadia Code,Consolas,monospace;font-size:12.5px;background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:1px 4px}.md pre{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin:8px 0;overflow-x:auto}.md pre code{border:none;background:none;padding:0}.md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.md strong{font-weight:700}.md blockquote{margin:8px 0;padding:2px 0 2px 10px;border-left:3px solid var(--border);color:var(--muted)}.md .table-scroll{margin:8px 0 12px;max-width:100%}.md .table-scroll table{width:max-content;min-width:0}.md .table-scroll th,.md .table-scroll td{white-space:nowrap}.md hr{border:none;border-top:1px solid var(--border);margin:10px 0}.run-link{font-size:12px;color:var(--accent);text-decoration:none;opacity:.8}.run-link:hover{opacity:1;text-decoration:underline}.composer{padding:8px clamp(20px,3vw,36px) 18px;background:var(--bg)}.composer-shell{max-width:1280px;margin:0 auto;background:var(--panel);border:1px solid var(--kami-border-2);border-radius:var(--radius-xl);padding:6px;box-shadow:0 1px 2px #1414130d,0 6px 18px #1414130d;transition:border-color .16s ease,box-shadow .16s ease}.composer-shell:focus-within,.composer.dragging .composer-shell{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-row{display:flex;gap:4px;align-items:flex-end}.composer textarea{flex:1;resize:none;min-height:36px;max-height:200px;padding:8px 6px;background:transparent;color:var(--text);border:none;font:inherit;line-height:1.5}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:var(--muted)}.composer .icon-btn{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;padding:0;border:none;border-radius:50%;cursor:pointer;transition:background .15s ease,color .15s ease}.composer .icon-btn svg{width:18px;height:18px}.composer .attach-btn{background:transparent;color:var(--muted)}.composer .attach-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.composer .attach-btn:disabled{color:var(--kami-silver);cursor:default}.composer .send-btn{background:var(--accent);color:var(--on-accent)}.composer .send-btn:hover:not(:disabled){background:var(--accent-deep)}.composer .send-btn:disabled{background:var(--panel-2);color:var(--kami-silver);cursor:default}.composer .stop-btn{background:var(--accent);color:var(--on-accent)}.composer .stop-btn:hover:not(:disabled){background:var(--accent-deep)}.composer .stop-btn:disabled{background:var(--panel-2);color:var(--kami-silver);cursor:default}.composer-attachments{display:flex;flex-wrap:wrap;gap:8px;padding:6px 6px 2px}.attachment-card{position:relative;display:inline-flex}.attachment-preview{width:58px;height:58px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);display:block}.attachment-card.uploading .attachment-preview{opacity:.5}.attachment-spinner{position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid var(--on-accent);border-top-color:transparent;border-radius:50%;animation:session-spin .8s linear infinite;filter:drop-shadow(0 1px 2px rgba(20,20,19,.5))}.attachment-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;display:grid;place-items:center;background:var(--err);color:var(--on-accent);border-radius:50%;font-size:12px;font-weight:700}.attachment-remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;display:grid;place-items:center;padding:0;background:var(--text);color:var(--bg);border:1.5px solid var(--panel);border-radius:50%;cursor:pointer;font-size:12px;line-height:1;transition:background .12s ease}.attachment-remove:hover{background:var(--err)}.file-card{display:inline-flex;align-items:center;gap:10px;width:240px;max-width:100%;height:58px;padding:9px;box-sizing:border-box;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md)}.file-card-icon{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-sm)}.file-card-icon svg{width:20px;height:20px}.file-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.file-card-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-sub{font-size:11px;color:var(--muted);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-spinner{width:18px;height:18px;border:2px solid var(--accent);border-top-color:transparent;border-radius:50%;animation:session-spin .8s linear infinite}.file-card.uploading .file-card-sub{letter-spacing:0}.file-card.error .file-card-icon{background:var(--err-soft);color:var(--err)}.file-card.error .file-card-sub{color:var(--err);letter-spacing:0}.msg-attachments{display:flex;flex-wrap:wrap;gap:6px;max-width:88%}.msg-attachments.user{align-self:flex-end;justify-content:flex-end}.msg-attachments.assistant{align-self:flex-start}.msg-thumb{max-width:240px;max-height:280px;border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;display:block}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#000c;cursor:zoom-out}.lightbox img{max-width:92vw;max-height:92vh;border-radius:var(--radius-md);box-shadow:0 8px 40px #00000080}.results-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.results-head h2{margin:0;font-size:17px}.muted{color:var(--muted)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);font-size:13px}th{color:var(--muted);font-weight:600;background:var(--panel-2)}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;white-space:nowrap}.mono{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}tr.cheapest td{background:var(--good-soft)}.results button{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:4px 12px;cursor:pointer;font-weight:600;white-space:nowrap}.results button:disabled{opacity:.5;cursor:default}.hint{color:var(--muted);font-size:12px;margin-top:12px}.flight-table-block,.fare-table-block{align-self:stretch}.flight-section{margin-top:22px}.flight-section:first-of-type{margin-top:12px}.flight-section h3{margin:0 0 10px;font-size:15px;line-height:1.3;font-weight:700;color:var(--text)}.flight-table{min-width:1120px;table-layout:auto}.flight-table th,.flight-table td{white-space:nowrap;vertical-align:top}.flight-table .route-cell{white-space:normal;min-width:260px}.flight-table th:first-child,.flight-table .option-cell{position:sticky;left:0;z-index:1;background:var(--panel)}.flight-table th:first-child{z-index:2;background:var(--panel-2)}.flight-table tr.recommended td,.flight-table tr.recommended .option-cell{background:var(--good-soft)}.recommendations{align-self:stretch;display:flex;flex-direction:column;gap:12px;min-width:0}.recommendations-state{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--good-border);border-radius:var(--radius-lg);background:var(--good-soft)}.recommendations-state.is-warning{border-color:var(--warn-border);background:var(--warn-soft)}.recommendations-state.is-error{border-color:var(--err-border);background:var(--err-soft)}.recommendations-state h2{margin:2px 0 0;font-size:18px}.recommendations-state p{margin:5px 0 0;font-size:13px}.recommendations-state button,.recommend-actions button,.recommendations-actions button{flex-shrink:0;border-radius:var(--radius-sm);padding:7px 12px;cursor:pointer;font:inherit;font-weight:700}.recommendations-state button,.recommend-actions button,.recommendations-actions button:not(.ghost){background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent)}.recommendations-state button:disabled,.recommend-actions button:disabled,.recommendations-actions button:disabled{opacity:.5;cursor:default}.recommendations-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.recommendations-actions button.ghost{margin-left:auto;font-weight:600}.recommend-table-scroll{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel)}.recommend-table{min-width:1700px;border:0;border-collapse:separate;border-spacing:0;border-radius:0;table-layout:fixed}.recommend-table th,.recommend-table td{padding:8px 9px;vertical-align:top;border-bottom:0;border-right:1px solid var(--border);font-size:12px;line-height:1.4}.recommend-table tr>:last-child{border-right:0}.recommend-table thead th{white-space:nowrap;border-bottom:1px solid var(--border)}.recommend-table thead th:nth-child(1){width:225px}.recommend-table thead th:nth-child(2){width:130px}.recommend-table thead th:nth-child(3){width:82px}.recommend-table thead th:nth-child(4){width:84px}.recommend-table thead th:nth-child(5){width:260px}.recommend-table thead th:nth-child(6){width:118px}.recommend-table thead th:nth-child(7){width:92px}.recommend-table thead th:nth-child(8){width:180px}.recommend-table thead th:nth-child(9){width:210px}.recommend-table thead th:nth-child(10){width:220px}.recommend-table thead th:nth-child(11){width:160px}.recommend-segment-row+.recommend-segment-row>*{border-top:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.recommend-segment-row.is-journey-start:not(:first-child)>*{border-top-color:var(--border)}.recommend-plan-cell,.recommend-journey-cell{background:var(--panel);font-weight:400}.recommend-plan-group:nth-of-type(2n)>tr>*{background:color-mix(in srgb,var(--panel-2) 48%,var(--panel))}.recommend-plan-summary{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.recommend-plan-label{color:var(--text);font-size:14px}.recommend-plan-total{display:flex;align-items:baseline;gap:7px;margin:2px 0}.recommend-plan-total-label{color:var(--muted);font-size:11px;font-weight:600}.recommend-plan-total-amount{color:var(--accent);font-size:15px;white-space:nowrap}.recommend-plan-journeys{margin:1px 0 2px;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.55}.recommend-plan-journeys li{padding-left:1px}.recommend-plan-journeys li span+span{margin-left:6px}.recommend-validity{display:inline-flex;padding:2px 7px;border-radius:var(--radius-pill);background:var(--warn-soft);color:var(--warn);font-size:11px;font-weight:700}.recommend-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px;margin-top:2px}.recommend-plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:1px 0 2px -5px}.recommend-book-action{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border:0;border-radius:6px;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}.recommend-book-action svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.recommend-book-action:hover{background:var(--accent-soft)}.recommend-book-action:disabled{opacity:.5;cursor:default}.recommendations-stale{padding:11px 14px;border:1px solid var(--err-border);border-radius:var(--radius-md);background:var(--err-soft);font-size:13px;font-weight:600}.action-chip{display:inline-flex;align-items:center;gap:6px;align-self:flex-end;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:600}.action-chip svg{flex-shrink:0}.plan-booking-record{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--good-border);border-radius:var(--radius-md);background:var(--good-soft);font-size:13px}.plan-booking-record.is-changed{border-color:var(--warn-border);background:var(--warn-soft)}.plan-booking-record.is-failed{border-color:var(--err-border);background:var(--err-soft)}.plan-booking-record strong{font-size:12px;white-space:nowrap}.recommend-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex-shrink:0}.recommend-copy-action,.recommend-ctrip-action{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;text-decoration:none}.recommend-copy-action svg,.recommend-ctrip-action svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.recommend-copy-action:hover:not(:disabled),.recommend-ctrip-action:hover{background:var(--panel-2);color:var(--text)}.recommend-copy-action:active:not(:disabled){background:var(--border)}.recommend-copy-action.is-copied{color:var(--good)}.recommend-copy-action:disabled{opacity:.65;cursor:wait}.recommend-copy-fallback{display:flex;flex-direction:column;gap:4px;width:190px;font-size:12px;color:var(--err)}.recommend-copy-fallback textarea{width:100%;min-height:90px;resize:vertical;color:var(--text);background:var(--panel-2);border:1px solid var(--err-border);border-radius:var(--radius-sm);padding:8px}.recommend-journey-cell{white-space:nowrap}.recommend-journey-summary{display:flex;align-items:baseline}.recommend-journey-summary span{color:var(--muted)}.recommend-flight-cell,.recommend-date-cell,.recommend-route-cell,.recommend-time-cell,.recommend-duration-cell,.recommend-cabin-cell,.recommend-baggage-cell,.recommend-channel-cell{white-space:nowrap}.recommend-date-cell,.recommend-time-cell{color:var(--muted)}.recommend-detail-lines,.recommend-ticket-lines{display:flex;flex-direction:column;gap:5px}.recommend-detail-lines>div,.recommend-ticket-lines>div{min-height:22px;display:flex;align-items:center;gap:3px}.recommend-detail-lines span,.recommend-channel-lines span{color:var(--muted)}.recommend-price-lines>div{gap:6px}.recommend-source-badge{display:inline-flex;padding:1px 5px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text);font-size:10px;font-weight:800}.recommend-source-badge.is-joint{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.recommend-fare-price{color:var(--accent);white-space:nowrap}.recommend-evidence{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel)}.recommend-evidence>summary{padding:10px 13px;cursor:pointer;color:var(--muted);font-weight:600}.recommend-evidence-list{display:flex;flex-direction:column;gap:14px;padding:0 13px 13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.option-cell{min-width:92px}.option-mark{display:flex;align-items:center;gap:6px}.option-num{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700}.option-badge{display:inline-flex;align-items:center;height:22px;padding:0 7px;border-radius:999px;background:var(--good);color:#fff;font-size:12px;font-weight:700}.flight-recommend{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin:-2px 0 10px;padding:8px 10px;border:1px solid var(--good-border);border-radius:var(--radius-sm);background:var(--good-soft);color:var(--text);font-size:13px;line-height:1.4}.flight-search-coverage{display:inline-flex;align-items:center;width:fit-content;margin:-2px 0 10px;padding:7px 10px;border:1px solid var(--good-border);border-radius:var(--radius-sm);background:var(--good-soft);color:var(--text);font-size:13px;line-height:1.4}.flight-search-coverage.is-warning{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn)}.flight-actions{display:inline-flex;gap:6px;align-items:center}.flight-actions button{padding:4px 9px}.fare-table-block .results-head{align-items:center}.chat-cards{display:flex;flex-direction:column;gap:10px;align-self:stretch}.chat-cards .bubble{max-width:100%}.credit-banner{display:flex;align-items:center;gap:10px;background:var(--warn-soft);border-bottom:1px solid var(--warn-border);color:var(--warn);padding:9px 16px;font-size:13px;flex-shrink:0}.credit-banner-text{flex:1}.credit-banner-close{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:4px;opacity:.7}.credit-banner-close:hover{opacity:1}.chat-notice{background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--warn);border-radius:var(--radius-md);padding:10px 13px;font-size:13px;align-self:stretch}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;max-width:720px}.card-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;flex-wrap:wrap}.card-head h2{margin:0;font-size:17px}.card h3{margin:0 0 6px;font-size:13px;color:var(--muted);font-weight:600}.fare-section{padding:14px 0;border-bottom:1px solid var(--border)}.fare-section:last-of-type{border-bottom:none}.fare-journey+.fare-journey{margin-top:10px}.fare-journey-main{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap}.fare-route{font-size:15px;font-weight:600}.fare-flights{color:var(--muted);font-size:13px;min-width:0;word-break:break-word}.fare-journey-sub{font-size:12px;margin-top:2px}.fare-price-total{display:flex;align-items:baseline;justify-content:space-between}.fare-price-total strong{font-size:24px;color:var(--good)}.fare-price-break{font-size:13px;margin-top:2px}.fare-strike{margin-left:10px;text-decoration:line-through;opacity:.7}.fare-pax{width:100%;margin-top:10px;background:var(--panel-2)}.fare-pax td{font-size:12px;padding:6px 10px}.fare-kv{font-size:13px;line-height:1.7}.fare-kv+.fare-kv{margin-top:8px}.fare-tag{display:inline-block;font-size:11px;color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:var(--radius-pill);margin-right:6px}.fare-warn{background:var(--err-soft);border:1px solid var(--err-border);color:var(--err);border-radius:var(--radius-md);padding:10px 13px;margin-top:14px;font-size:13px}.fare-cta{margin-top:16px}.fare-cta button{background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--radius-md);padding:10px 18px;cursor:pointer;font-weight:600;font-size:14px}.fare-cta button:disabled{opacity:.5;cursor:default}.pf-pax{padding:14px 0;border-bottom:1px solid var(--border)}.pf-pax:last-of-type{border-bottom:none}.pf-pax-head{font-weight:600;margin-bottom:10px}.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.pf-field{display:flex;flex-direction:column;gap:4px;min-width:0}.pf-label{font-size:12px;color:var(--muted)}.pf-label em{color:var(--err);font-style:normal;margin-left:2px}.pf input,.pf select{width:100%;min-width:0;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font:inherit}.pf input:focus,.pf select:focus{outline:none;border-color:var(--accent)}.pf-actions,.gate-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.pf-actions button,.gate-actions button{border-radius:var(--radius-md);padding:9px 18px;cursor:pointer;font-weight:600;font:inherit;border:none}.pf-actions button:not(.ghost),.gate-confirm{background:var(--accent);color:var(--on-accent)}.pf-actions button:disabled,.gate-actions button:disabled{opacity:.5;cursor:default}.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)!important}.ghost:hover{color:var(--text)}.gate{border-color:var(--warn-border)}.gate-rows{width:100%;background:transparent;border:none}.gate-rows td{border-bottom:1px solid var(--border);padding:9px 0;vertical-align:top}.gate-rows tr:last-child td{border-bottom:none}.gate-k{color:var(--muted);width:84px;white-space:nowrap;padding-right:14px!important}.gate-v{font-size:13px}.gate-amount{margin-top:14px;padding:10px 13px;background:var(--accent-soft);border-radius:var(--radius-md);font-weight:600;color:var(--text)}.gate-confirm{background:var(--good)!important}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fare-cta button:hover:not(:disabled),.pf-actions button:not(.ghost):hover:not(:disabled){background:var(--accent-deep)}.results button:hover:not(:disabled){background:var(--accent);color:var(--on-accent)}.gate-confirm:hover:not(:disabled){filter:brightness(.95)}.theme-toggle{display:inline-flex;align-items:center;padding:5px 9px}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}.agent-status-spinner{animation:none}}@media(max-width:820px){.recommendations-state{align-items:flex-start;flex-direction:column}}.app-booting{height:100%;background:var(--bg)}.unauth{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text);padding:24px}.unauth-card{max-width:420px;text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px}.unauth-lock{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);margin-bottom:16px}.unauth-card h1{font-size:18px;margin:0 0 10px}.unauth-card p{font-size:14px;line-height:1.6;color:var(--text);margin:0 0 8px}.unauth-card .unauth-sub{font-size:12px;color:var(--muted);margin-top:12px}
