@charset "UTF-8";
:root{color-scheme:light;--paper:#f7f3e8;--ink:#2b3429;--muted:#777e6d;--orange:#dc713a;--green:#405b46;--line:#dce0d2}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:13px/1.5 "Microsoft YaHei","PingFang SC",system-ui,sans-serif;height:100dvh;min-height:580px;overflow:hidden;background:linear-gradient(#faf7efa8,#faf7efc9),url('./assets/travel-landscape.png') center/cover no-repeat fixed}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit}button,a{touch-action:manipulation}header{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #d8ddcd9c;background:#faf8efc9;backdrop-filter:blur(14px)}.brand{display:flex;gap:9px;align-items:center;text-decoration:none;font-size:21px;font-weight:900}.brand img{width:29px;height:29px}.brand>span{font-size:10px;letter-spacing:1px;font-weight:400;border-left:1px solid #c8cebd;padding-left:14px;margin-left:8px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:18px}.header-actions>span{font-size:10px;color:var(--green)}.settings-button,.small-button{border:1px solid #ccd4c1;border-radius:7px;padding:7px 12px;background:#fffdf4;color:var(--green);font-size:11px}.settings-button span{font-size:16px;margin-right:4px}
main{max-width:1310px;margin:auto;height:calc(100dvh - 86px);padding:0 28px 16px;display:flex;flex-direction:column;min-height:0}.intro{height:98px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:8px;letter-spacing:2.5px;font-weight:700;color:var(--green);margin:0 0 4px}h1{font-size:clamp(24px,2.6vw,35px);line-height:1.2;letter-spacing:-1px;margin:0 0 5px}h1 span{color:var(--orange)}.intro p:not(.eyebrow){font-size:11px;color:#68725f;margin:0}.intro-note{display:flex;gap:8px;font-size:10px;color:#5f6e55;white-space:nowrap}.intro-note i{color:#aab29a}
.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);flex:1;min-height:0;overflow:hidden;border:1px solid #d2d9c5;border-radius:16px;background:#fffef8ed;box-shadow:0 8px 28px #3c4f3010;backdrop-filter:blur(9px)}.brief{padding:18px 20px;border-right:1px solid var(--line);min-height:0;display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;gap:9px;flex:none;min-height:26px}.panel-heading h2{margin:0;font-size:16px}.step{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;font-size:9px;color:var(--green);background:#e9eddf;border:1px solid #d6deca}.helper{font-size:10px;color:var(--muted);margin:6px 0 12px}
#trip-form{display:flex;flex-direction:column;gap:9px;flex:1;min-height:0}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:space-between}.field label a{font-size:10px;color:var(--orange);font-weight:400}.field input,.field textarea,.field select{min-width:0;width:100%;height:34px;padding:7px 9px;color:var(--ink);border:1px solid #d6dccb;border-radius:7px;background:#fffef8;outline:none;font-size:12px}.field textarea{height:55px;resize:none;line-height:1.7}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 2px #dc713a16}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.destination-row{grid-template-columns:1.2fr 1fr}.two input[type=date]{font-size:11px;padding:7px}.chips{display:flex;gap:5px;flex-wrap:wrap}.chips button{background:#f2f4e9;border:1px solid #e0e5d7;border-radius:20px;padding:4px 8px;font-size:9px;color:#647057}.chips button:hover{border-color:var(--orange)}.budget-hint{font-size:10px;color:var(--green);margin:auto 0 0;min-height:15px}.primary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:var(--orange);color:#fffaf1;border-radius:8px;padding:11px 13px;font-weight:700;font-size:12px;min-height:40px}.primary:hover{background:#c95f2c}.primary>span{font-size:20px;line-height:1}.micro{font-size:9px;color:#8b927f;text-align:center;margin:0}.decision{padding:18px 24px;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.live-badge{font-size:9px;color:#6d7e5c;border:1px solid #d8e0cb;padding:3px 8px;border-radius:20px;margin-left:auto;background:#f5f7ed}.decision #result{flex:1;min-height:0;position:relative}.empty-state{height:100%;position:relative;overflow:hidden;display:flex;align-items:center;min-height:230px;background:radial-gradient(ellipse at 80% 55%,#e7eddb9e,transparent 58%)}.empty-copy{position:relative;z-index:2;padding:0 0 20px 4px;max-width:65%;pointer-events:none}.tiny-label{font-size:8px;letter-spacing:1.6px;color:#788568;font-weight:600}.empty-copy h3{font-size:clamp(19px,2.2vw,29px);line-height:1.55;letter-spacing:-.6px;margin:13px 0}.empty-copy p{font-size:11px;color:#7a826f;line-height:1.9}.mascot{position:absolute;width:47%;max-height:94%;object-fit:contain;right:-1%;bottom:2%;z-index:1;filter:drop-shadow(0 12px 13px #62724820)}.travel-stickers{position:absolute;width:165px;height:55px;object-fit:contain;left:0;bottom:0;opacity:.82}.pipeline{display:flex;align-items:center;gap:8px;margin-top:23px;font-size:9px;color:#6b795c}.pipeline span{background:#edf1e3;border:1px solid #e0e6d3;padding:5px 7px;border-radius:5px}.pipeline b{font-weight:400;color:#acb59e}
footer{height:30px;padding:0 28px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;color:#627255}footer a{text-decoration:none}.loading,.error{padding:9px 12px;border-radius:7px;line-height:1.65;font-size:11px;margin-top:10px;flex:none}.loading{background:#eef2e3;color:var(--green)}.error{background:#ffefe5;color:#a54e2b}#status:empty{display:none}
.recommendation{height:100%;display:flex;flex-direction:column;gap:10px;padding-top:10px;min-height:0}.result-topline{font-size:10px;color:var(--green);margin:0}.hotel-card{display:grid;grid-template-columns:42% 1fr;gap:16px;min-height:135px;flex:1;max-height:205px;align-items:stretch}.hotel-image{width:100%;height:100%;min-height:125px;max-height:205px;object-fit:cover;border-radius:10px;background:#e5ebda}.hotel-info{display:flex;flex-direction:column;justify-content:center;min-width:0}.result-title{font-size:clamp(17px,1.8vw,24px);line-height:1.45;margin:0 0 8px;letter-spacing:-.4px}.hotel-meta{font-size:10px;color:var(--muted);line-height:1.7;margin:0 0 6px}.price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.price-row strong{font-size:30px;color:var(--orange);line-height:1.3}.price-row span{font-size:9px;color:var(--muted)}.reason-box{padding:8px 11px;border-left:3px solid #91a37c;font-size:11px;line-height:1.75;background:#f4f6ec;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.result-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:auto}.booking,.secondary{border:1px solid #ccd5bf;border-radius:7px;padding:9px 12px;background:transparent;font-size:11px;text-decoration:none;color:var(--green);display:inline-flex;align-items:center;justify-content:center;min-height:35px}.booking{background:var(--green);color:#fff;border-color:var(--green)}.booking:hover{background:#304c36}.secondary:hover{background:#edf2e3}.risk-note{font-size:9px;color:#8b8068;line-height:1.65;margin:0}.proof-line{font-size:9px;color:#7c8870;line-height:1.7;border-top:1px solid var(--line);padding-top:7px;margin:0}.no-match{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:15px}.no-match img{height:150px;object-fit:contain;opacity:.85}.no-match h3{font-size:21px;margin:12px 0 8px}.no-match p{font-size:12px;line-height:1.8;color:var(--muted);max-width:400px}.no-match button{margin-top:10px}
dialog{border:1px solid #d2dcc4;padding:25px;border-radius:16px;max-width:min(580px,calc(100vw - 32px));width:580px;background:#fffdf4;color:var(--ink);box-shadow:0 25px 80px #21342038;max-height:calc(100dvh - 36px);overflow:auto}dialog::backdrop{background:#273a2b59;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{font-size:20px;margin:4px 0}.icon-button{border:1px solid #d9dfcf;background:transparent;color:#6a765e;width:29px;height:29px;border-radius:50%;font-size:22px;line-height:1;flex:none}.dialog-intro{font-size:11px;color:var(--muted);margin:12px 0 18px}#settings-form{display:flex;flex-direction:column;gap:17px}.verify-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:10px;color:var(--green)}.verify-row span{max-width:280px;overflow-wrap:anywhere}.small-button{font-size:10px;padding:5px 8px}.privacy-note{background:#f0f3e7;padding:12px 14px;border-radius:8px;font-size:10px;line-height:1.8;color:#6e7b60}.privacy-note p{margin:5px 0;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:space-between;gap:12px}.dialog-actions .primary{flex:1;justify-content:center}.advanced-settings{font-size:11px;border-top:1px solid var(--line);padding-top:10px}.advanced-settings summary{cursor:pointer;color:var(--green)}.advanced-settings .field{margin-top:12px}#settings-status{font-size:11px;margin:0;color:#b15831;overflow-wrap:anywhere}.evidence-section{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.evidence-section h3{font-size:13px;margin:0 0 8px}.evidence-section ul{padding-left:18px;color:#707b63;font-size:11px;line-height:1.9}.evidence-section p{font-size:11px;color:#707b63;line-height:1.9}.mobile-tabs{display:none}.reselect-form{display:flex;flex-direction:column;gap:12px}.reselect-form label{font-size:12px}.reselect-form textarea{min-height:75px;width:100%;border:1px solid #ccd6bd;border-radius:7px;padding:10px;font:inherit;background:#fffdf6}.reselect-form p{font-size:11px;color:var(--muted)}:focus-visible{outline:2px solid #c15b2b;outline-offset:3px}
@media(max-height:680px) and (min-width:761px){header{height:48px}main{height:calc(100dvh - 74px)}.intro{height:72px}.intro h1{font-size:28px}.intro .eyebrow{display:none}.brief,.decision{padding:13px 17px}.helper{margin:4px 0 8px}#trip-form{gap:7px}.field input,.field select{height:31px}.field textarea{height:42px}.panel-heading h2{font-size:15px}.micro{display:none}.empty-copy h3{font-size:24px}.hotel-card{min-height:112px}.hotel-image{min-height:112px}.recommendation{gap:7px}footer{height:26px}}
@media(max-width:1000px) and (min-width:761px){.workspace{grid-template-columns:295px minmax(0,1fr)}.brief{padding:16px}.decision{padding:16px}.intro-note{display:none}.hotel-card{grid-template-columns:38% 1fr;gap:11px}.empty-copy{max-width:65%}.empty-copy h3{font-size:22px}.header-actions{gap:10px}}
@media(max-width:760px){body{min-height:600px}header{height:52px;padding:0 16px}.brand{font-size:18px}.brand>span,.header-actions>span{display:none}.settings-button{padding:5px 8px;font-size:10px}main{height:calc(100dvh - 80px);padding:0 14px 12px}.intro{height:83px}.intro h1{font-size:24px;line-height:1.3;max-width:350px}.intro h1 span{display:block}.intro p:not(.eyebrow){font-size:9px;max-width:330px}.eyebrow{display:none}.intro-note{display:none}.workspace{display:flex;flex-direction:column}.brief{border:0;padding:17px 20px;flex:1}.decision{padding:17px 20px;flex:1}.panel-heading h2{font-size:16px}#trip-form{gap:10px}.field input,.field select{height:35px}.field textarea{height:58px}.micro{font-size:9px}.helper{margin:5px 0 12px}.budget-hint{margin-top:auto}.mobile-tabs{display:flex;gap:5px;align-self:flex-start;background:#f8fbf0c9;border:1px solid #d8e0c9;border-radius:8px;padding:3px;margin:0 0 8px}.mobile-tabs button{font-size:10px;padding:5px 13px;background:none;border:0;border-radius:5px;color:#758366}.mobile-tabs button.active{background:var(--green);color:white}body:not([data-mobile-panel=result]) .decision{display:none}body[data-mobile-panel=result] .brief{display:none}.hotel-card{grid-template-columns:1fr;gap:7px;flex:none;max-height:none;min-height:0}.hotel-image{height:120px;min-height:0;max-height:120px}.hotel-info{display:block}.result-title{font-size:18px;margin:0 0 4px}.hotel-meta{font-size:9px;margin:0 0 3px}.price-row strong{font-size:25px}.recommendation{gap:8px}.reason-box{font-size:10px;-webkit-line-clamp:2;padding:5px 9px}.result-actions{margin-top:auto;gap:6px}.booking,.secondary{font-size:10px;padding:8px 9px;min-height:32px}.risk-note{font-size:8px}.proof-line{font-size:8px;padding-top:4px}.empty-copy{max-width:65%}.empty-copy h3{font-size:22px}.empty-copy p{font-size:10px}.mascot{width:60%;right:-13%;opacity:.8}.pipeline{gap:4px;font-size:8px}.pipeline span{padding:5px}.travel-stickers{width:125px;height:45px}.no-match img{height:100px}.no-match h3{font-size:20px}.no-match p{font-size:11px}footer{height:28px;padding:0 14px;font-size:8px}footer>span:nth-child(2){display:none}dialog{padding:19px}.dialog-heading h2{font-size:19px}.privacy-note{font-size:9px}.dialog-actions .primary{font-size:11px}.dialog-actions .secondary{font-size:10px}}
@media(max-height:740px) and (max-width:760px){.intro{height:64px}.intro p:not(.eyebrow){display:none}.brief,.decision{padding:13px 17px}#trip-form{gap:7px}.field input,.field select{height:31px}.field textarea{height:42px}.micro{display:none}.helper{margin-bottom:8px}.hotel-image{height:90px;max-height:90px}.result-title{font-size:16px}.recommendation{gap:6px}.risk-note{font-size:8px}.proof-line{font-size:8px}}
@media(prefers-reduced-motion:no-preference){.loading{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{opacity:.6}}}
/* Readable controls at normal desktop sizes; main actions remain within one view. */
@media(min-width:761px){
 body{font-size:14px}header{height:60px;padding:0 max(28px,calc((100vw - 1254px)/2))}.brand{font-size:23px}.brand>span{font-size:12px}.header-actions>span{font-size:12px}.settings-button{font-size:13px;padding:8px 14px}main{height:calc(100dvh - 88px)}.intro{height:92px}.eyebrow{font-size:10px}.intro p:not(.eyebrow){font-size:13px}.intro-note{font-size:12px}.workspace{grid-template-columns:360px minmax(0,1fr)}.brief{padding:17px 20px}.decision{padding:18px 24px}.panel-heading h2{font-size:19px}.step{font-size:11px;width:27px;height:27px}.helper{font-size:12px;margin:5px 0 9px}#trip-form{gap:7px}.field{gap:4px}.field label{font-size:12px}.field input,.field select{font-size:14px;height:36px}.two input[type=date]{font-size:13px}.field textarea{height:52px;font-size:14px;line-height:1.65}.chips button{font-size:11px;padding:4px 8px}.budget-hint{font-size:12px;min-height:18px}.primary{font-size:14px;min-height:44px}.micro{font-size:10px}.live-badge{font-size:11px}.tiny-label{font-size:10px}.empty-copy{max-width:65%}.empty-copy h3{font-size:31px;line-height:1.5}.empty-copy p{font-size:14px}.pipeline{font-size:13px;gap:9px}.pipeline span{padding:7px 10px}.travel-stickers{width:180px;height:62px}.result-topline{font-size:12px}.hotel-meta{font-size:12px}.result-title{font-size:24px}.reason-box{font-size:13px}.price-row strong{font-size:34px}.price-row span{font-size:11px}.booking,.secondary{font-size:13px;padding:10px 13px}.risk-note,.proof-line{font-size:11px}.loading,.error{font-size:13px}footer{height:28px;font-size:10px;padding:0 max(28px,calc((100vw - 1254px)/2))}
}
dialog{width:620px;padding:27px}.dialog-heading h2{font-size:23px}.dialog-intro{font-size:13px}.dialog-heading .tiny-label{font-size:10px}#settings-form{gap:18px}#settings-form>.field{padding:14px;background:#f4f6eb;border:1px solid #e0e5d4;border-radius:10px;gap:8px}#settings-form .field label{font-size:13px}#settings-form .field input{height:40px;font-size:14px}#settings-form .field label a{font-size:12px}.verify-row{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:11px;align-items:start;font-size:12px;line-height:1.6}.verify-row span{max-width:none;word-break:normal}.verify-row span[data-state=success]{color:#3e6742}.verify-row span[data-state=error]{color:#ad4d2c}.small-button{font-size:12px;padding:6px 9px}.privacy-note{font-size:12px}.advanced-settings{font-size:13px}#settings-status{font-size:13px}.dialog-actions .primary,.dialog-actions .secondary{font-size:13px}.evidence-section h3{font-size:15px}.evidence-section p,.evidence-section ul{font-size:13px}.reselect-form label,.reselect-form textarea{font-size:14px}.reselect-form p{font-size:12px}
@media(max-height:680px) and (min-width:761px){header{height:48px}main{height:calc(100dvh - 74px)}.intro{height:68px}.brief,.decision{padding:12px 17px}.helper{font-size:11px;margin:4px 0 7px}.panel-heading h2{font-size:17px}.field label{font-size:11px}.field input,.field select{height:30px;font-size:13px}.field textarea{height:39px;font-size:13px}#trip-form{gap:6px}.chips button{font-size:10px}.budget-hint{font-size:10px}.primary{min-height:38px;font-size:13px}.empty-copy h3{font-size:27px}.empty-copy p{font-size:13px}.pipeline{font-size:12px}.reason-box{font-size:12px}.risk-note,.proof-line{font-size:10px}.hotel-meta{font-size:11px}.result-title{font-size:21px}.booking,.secondary{font-size:12px;padding:8px 10px}}
@media(max-width:1000px) and (min-width:761px){.workspace{grid-template-columns:330px minmax(0,1fr)}.brief{padding:16px}.decision{padding:16px}.empty-copy h3{font-size:26px}.empty-copy p{font-size:12px}.pipeline{font-size:11px;gap:6px}.pipeline span{padding:6px}.result-title{font-size:21px}.hotel-card{grid-template-columns:36% 1fr}.hotel-meta,.reason-box{font-size:12px}}
@media(max-width:760px){.panel-heading h2{font-size:18px}.helper{font-size:12px}.field label{font-size:12px}.field input,.field select{font-size:14px}.two input[type=date]{font-size:13px}.field textarea{font-size:14px}.chips button{font-size:11px}.budget-hint{font-size:11px}.primary{font-size:14px}.mobile-tabs button{font-size:12px}.empty-copy h3{font-size:25px}.empty-copy p{font-size:12px}.pipeline{font-size:11px}.pipeline span{padding:6px}.live-badge{font-size:11px}.reason-box,.hotel-meta{font-size:11px}.booking,.secondary{font-size:12px}.risk-note,.proof-line{font-size:10px}dialog{padding:19px}.verify-row{grid-template-columns:1fr}.privacy-note{font-size:11px}.dialog-heading h2{font-size:21px}}

/* Multi-scenario workspace: keep the outer page within one viewport. */
[hidden]{display:none!important}.mode-nav{display:flex;gap:8px;margin:0 0 12px;flex:none;height:49px}.mode-nav button{display:flex;align-items:center;gap:13px;border:1px solid #d5dccb;border-radius:9px;background:#fffdf4c9;padding:8px 16px;color:#60715b}.mode-nav strong{font-size:14px}.mode-nav span{font-size:11px}.mode-nav .active{background:#405b46;color:#fffdf2;border-color:#405b46;box-shadow:0 3px 12px #405b4620}.travel-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);flex:1;min-height:0;overflow:hidden;border:1px solid #d2d9c5;border-radius:16px;background:#fffef8f5;box-shadow:0 8px 28px #3c4f3010}.travel-sidebar{padding:22px;border-right:1px solid var(--line);overflow:auto}.travel-sidebar h2{font-size:21px;margin:8px 0}.muted{font-size:12px;color:#747d6c;line-height:1.6}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.category-grid button{display:flex;align-items:center;gap:8px;background:#f5f5eb;border:1px solid #e0e4d7;border-radius:9px;padding:10px;color:#455841;text-align:left}.category-grid button span{font-size:20px}.category-grid strong{font-size:12px;font-weight:500}.category-grid .active{border-color:#db743d;background:#fbeddc}.sidebar-note{font-size:11px;color:#859078;line-height:1.6;margin-top:18px}.travel-content{padding:20px 24px;min-width:0;min-height:0;overflow:hidden}.search-panel{height:100%;display:flex;flex-direction:column;min-height:0}.search-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}.search-head h2{font-size:21px;margin:0}.search-head select{max-width:230px;border:1px solid #d5dccb;border-radius:7px;padding:7px;background:#fffef8;color:#405b46}.tool-form{display:flex;align-items:flex-end;gap:14px;flex:none;max-height:43%;overflow:auto;padding:0 1px 12px;border-bottom:1px solid var(--line)}.tool-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1}.tool-fields .wide{grid-column:1/-1}.tool-fields textarea{height:70px}.tool-form>.primary{flex:none;font-size:12px;max-width:170px}.travel-results{overflow:auto;min-height:0;flex:1;padding-top:12px}.source-stamp{font-size:10px;color:#79896f;margin:0 0 10px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{border:1px solid #dfe3d5;border-radius:10px;padding:12px;background:#fffef8;overflow:hidden}.product-card>img{width:72px;height:72px;object-fit:cover;border-radius:8px;float:left;margin-right:12px}.product-card h3{font-size:14px;margin:0 0 8px}.product-price{font-size:12px;font-weight:600;color:#d56b35;margin:5px 0}.product-link{font-size:12px;color:#426345}.semantic-output,.raw-data pre{font:12px/1.7 'Microsoft YaHei',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.raw-data{font-size:11px;color:#7d886e;padding:10px 0}.raw-data pre{max-height:250px;overflow:auto;background:#f3f4e9;padding:12px}.platform-hint{font-size:11px;color:#7d886e}.search-placeholder{padding:48px 10px;text-align:center;color:#8b977f;font-size:13px}.chat-panel{height:100%;min-height:0;display:flex;flex-direction:column;gap:12px}.scenario-prompts{display:flex;gap:6px;flex-wrap:wrap;flex:none}.scenario-prompts button{border:1px solid #dbe1d0;background:#f6f6ed;color:#5d6c54;border-radius:18px;padding:5px 10px;font-size:11px}.chat-log{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:7px 6px 12px}.chat-bubble{max-width:93%;align-self:flex-start;border:1px solid #e1e6d7;background:#f5f6ec;padding:12px 15px;border-radius:3px 13px 13px 13px;font-size:13px}.bubble-label{font-size:10px;font-weight:700;color:#728165;display:block;margin-bottom:5px}.bubble-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}.bubble-content a{color:#c66c38;text-decoration:underline}.chat-bubble.user{align-self:flex-end;background:#eaf0e1;border-color:#cfdcc3;border-radius:13px 3px 13px 13px}.chat-bubble.tool{background:transparent;border:0;padding:1px 5px;color:#8a937f;font-size:11px}.chat-bubble.tool .bubble-label{display:none}.chat-composer{display:flex;gap:12px;flex:none;border:1px solid #cdd8bf;background:#fffef8;border-radius:12px;padding:10px}.chat-composer textarea{border:0;resize:none;flex:1;min-width:0;height:58px;background:transparent;outline:none;font-size:13px;color:#2b3429;padding:4px}.chat-composer .primary{align-self:flex-end;font-size:12px}.chat-footnote{font-size:10px;color:#8c967e;margin:0;text-align:center}body[data-mode=explore] .mobile-tabs,body[data-mode=chat] .mobile-tabs{display:none!important}#settings-dialog{max-height:90dvh;overflow:auto}.header-actions>span{max-width:250px}#settings-form select{height:36px;border:1px solid #d6dccb;border-radius:7px;background:#fffef8;color:#405b46;width:100%}
@media(min-width:761px){.intro{height:80px}.brief,.decision{padding-top:15px;padding-bottom:15px}#trip-form{gap:7px}.helper{margin:5px 0 9px}.field textarea{height:45px}.empty-copy h3{font-size:30px}.hotel-card{min-height:140px;max-height:195px}.hotel-image{max-height:195px}.recommendation{gap:8px}.reason-box{padding:8px 12px}.result-title{font-size:23px}.risk-note,.proof-line{font-size:10px}.result-actions{gap:7px}.booking,.secondary{padding:8px 11px}}
@media(max-height:680px) and (min-width:761px){.mode-nav{height:39px;margin-bottom:8px}.mode-nav strong{font-size:12px}.mode-nav span{font-size:10px}.intro{height:60px}.brief,.decision{padding:10px 16px}.helper{margin:3px 0 5px}#trip-form{gap:5px}.field input,.field select{height:28px}.field textarea{height:36px}.primary{min-height:34px;padding:7px 11px}.chips button{padding:2px 6px}.travel-sidebar{padding:15px}.category-grid{gap:5px;margin-top:12px}.category-grid button{padding:7px}.travel-sidebar h2{font-size:18px}.travel-content{padding:15px}.search-head h2{font-size:18px}.hotel-card{max-height:150px}.hotel-image{max-height:150px}}
@media(max-width:760px){.mode-nav{height:47px;gap:5px;margin-bottom:9px}.mode-nav button{padding:6px 8px;justify-content:center;flex:1}.mode-nav strong{font-size:12px}.mode-nav span{display:none}.intro{height:93px}.travel-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.travel-sidebar{padding:10px;border-right:0;border-bottom:1px solid #dce0d2;overflow:visible}.travel-sidebar>.tiny-label,.travel-sidebar>h2,.travel-sidebar>.muted,.sidebar-note{display:none}.category-grid{display:flex;overflow:auto;gap:6px;margin:0;padding-bottom:3px}.category-grid button{flex:none;padding:6px 9px;white-space:nowrap}.category-grid button span{font-size:16px}.category-grid strong{font-size:11px}.travel-content{padding:13px}.search-head h2{font-size:17px}.search-head select{max-width:170px;font-size:11px}.tool-form{flex-direction:column;align-items:stretch;max-height:45%;gap:9px}.tool-fields{grid-template-columns:1fr 1fr;width:100%}.tool-form>.primary{max-width:none;align-self:flex-end}.product-grid{grid-template-columns:1fr}.chat-panel{gap:8px}.scenario-prompts{gap:4px}.scenario-prompts button{padding:4px 7px;font-size:10px}.chat-bubble{font-size:12px;padding:9px 11px;max-width:97%}.chat-composer{padding:7px;gap:5px}.chat-composer textarea{height:54px;font-size:12px}.chat-composer .primary{font-size:11px;padding:7px}.search-head .secondary{font-size:11px}.travel-results{padding-top:8px}.chat-footnote{font-size:9px}}
@media(max-width:760px){.travel-workspace{grid-template-columns:minmax(0,1fr)}.travel-sidebar,.category-grid,.travel-content,.chat-panel,.search-panel,.chat-log,.chat-composer{min-width:0}.category-grid{max-width:100%}.scenario-prompts{max-width:100%}.chat-bubble{max-width:100%;min-width:0}.bubble-content{overflow-wrap:anywhere}}
@media(min-width:761px){.travel-sidebar{padding:18px}.category-grid{gap:6px;margin-top:14px}.category-grid button{padding:8px}.travel-sidebar h2{margin:6px 0;font-size:20px}}
/* A quieter user-facing hierarchy, with room for reading and choosing. */
body{background:radial-gradient(ellipse at 50% 38%,#fffef9e8 0%,#fffef9c8 54%,#fffef9a8 100%),url('./assets/travel-landscape.png') center/cover no-repeat fixed;color:#30392e}.brand>span{letter-spacing:0}.eyebrow,.tiny-label{letter-spacing:.8px;font-weight:500}.intro-note{display:none}h1{font-size:30px;font-weight:650;letter-spacing:-.6px}.intro p:not(.eyebrow){font-size:12px}.mode-nav{gap:10px;height:50px}.mode-nav button{min-width:160px;padding:9px 18px;gap:14px;background:#fdfcf6;border-color:#dedfd4}.mode-nav strong{font-size:15px;font-weight:600}.mode-nav span{color:#7e8778}.mode-nav .active span{color:#dce5d5}.workspace,.travel-workspace{box-shadow:0 6px 24px #33442b08;border-color:#dedfd4;background:#fffef9}.travel-sidebar{background:#f7f7ef}.travel-sidebar>.tiny-label{display:none}.travel-sidebar h2{font-size:20px;font-weight:600;margin:2px 0 12px}.category-grid{grid-template-columns:1fr;gap:6px;margin-top:20px}.category-grid button{border-color:transparent;background:transparent;padding:10px 12px;border-radius:7px;min-height:37px}.category-grid strong{font-size:14px;font-weight:400}.category-grid button:hover{background:#eeefe4}.category-grid .active{background:#e8eddf;border-color:#d6ddc9}.more-categories{font-size:12px;color:#65785c;border:0;background:transparent;padding:12px;cursor:pointer}.sidebar-note{line-height:1.8}.travel-content{padding:24px 28px}.search-head h2{font-size:22px;font-weight:600}.search-panel>.muted{font-size:13px;margin:12px 0 8px}.tool-switch{font-size:11px;align-self:flex-end;color:#7e8b73;flex:none;margin:0 0 10px}.tool-switch select{display:block;max-width:230px;margin-top:8px;padding:7px;border:1px solid #dadfd1;border-radius:6px;background:#fffef8}.tool-form{gap:18px;padding-bottom:18px;max-height:44%}.tool-fields{gap:12px 14px}.tool-fields label{font-size:12px;font-weight:500}.tool-fields input,.tool-fields select{height:37px;font-size:14px}.tool-fields textarea{height:80px;font-size:14px;padding:10px 12px}.travel-results{padding-top:18px}.product-grid{gap:16px}.product-card{padding:16px;border-radius:10px}.product-card h3{font-size:15px;line-height:1.5;font-weight:600}.product-price{margin:10px 0}.source-stamp{font-size:11px;margin-bottom:15px}.scene-title{font-size:12px;color:#849076;font-weight:400;margin:25px 0 10px}.scenario-prompts{display:flex;flex-direction:column;gap:8px}.scenario-prompts button{border-color:transparent;background:transparent;text-align:left;border-radius:7px;padding:9px 12px;font-size:13px;color:#506548}.scenario-prompts button:hover{background:#e8eddf}.chat-panel{gap:16px}.chat-log{gap:18px;padding:10px 6px 14px}.chat-bubble{font-size:14px;max-width:88%;padding:14px 18px;line-height:1.85;background:#f4f5ec;border-color:#e1e5d8}.chat-bubble.user{background:#e9eedf}.chat-bubble.tool{font-size:11px;padding:0 4px}.chat-composer{padding:12px 14px;border-radius:10px}.chat-composer textarea{font-size:14px;height:65px}.chat-composer .primary{min-width:82px;justify-content:center}.chat-footnote{font-size:10px}.travel-stickers{opacity:.7}.pipeline{gap:10px}.pipeline span{border:0;background:#edf0e4;padding:8px 12px}.helper{line-height:1.7}.header-actions>span{font-size:11px}.dialog-intro{line-height:1.8}.dialog-heading h2{font-weight:600}#settings-form{gap:20px}#settings-form>.field{padding:16px}#settings-form label{font-weight:500}.verify-row{gap:14px}.privacy-note{line-height:1.75}.small-button{padding:7px 10px}.result-actions{gap:10px}
@media(min-width:761px){.travel-workspace{grid-template-columns:230px minmax(0,1fr)}.travel-sidebar{padding:24px 18px}.category-grid{margin-top:18px}.tool-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.empty-copy h3{font-weight:600;font-size:29px}.empty-copy p{font-size:14px;line-height:1.9}.mascot{opacity:.95}.field label{font-size:12px;font-weight:500}.chips button{font-size:10px}.brief{padding:17px 20px}.helper{font-size:11px;margin:5px 0 10px}}
@media(max-height:740px) and (min-width:761px){.category-grid{gap:2px;margin-top:12px}.category-grid button{min-height:32px;padding:7px 10px}.category-grid strong{font-size:13px}.travel-sidebar{padding:18px}.scenario-prompts{gap:3px}.scenario-prompts button{padding:8px 10px}.scene-title{margin-top:15px}.travel-content{padding:19px 23px}.chat-panel{gap:12px}.chat-bubble{font-size:13px}.tool-fields{gap:9px}.tool-form{padding-bottom:13px}}
@media(max-width:760px){h1{font-size:25px}.mode-nav{gap:7px;height:44px}.mode-nav button{min-width:0;padding:7px 9px}.mode-nav strong{font-size:13px}.travel-sidebar{padding:10px 12px}.travel-sidebar h2,.travel-sidebar>.muted,.scene-title,.more-categories{display:none}.category-grid{display:flex;margin:0;gap:5px}.category-grid button{padding:6px 10px;background:#f2f3e9;border:1px solid #e3e6d9;min-height:32px}.category-grid strong{font-size:12px}.category-grid button[hidden]{display:flex!important}.travel-content{padding:16px 13px}.search-head h2{font-size:19px}.tool-switch{margin-bottom:7px}.tool-fields{gap:9px}.tool-form{max-height:45%;gap:10px;padding-bottom:13px}.tool-fields textarea{font-size:13px;height:70px}.product-card{padding:13px}.product-card h3{font-size:14px}.scenario-prompts{flex-direction:row;flex-wrap:nowrap;overflow:auto;gap:6px}.scenario-prompts button{flex:none;font-size:11px;padding:6px 9px;white-space:nowrap;background:#f2f3e9;border:1px solid #e3e6d9}.chat-bubble{font-size:13px;max-width:97%;padding:11px 13px}.chat-composer{padding:9px}.chat-composer textarea{font-size:13px;height:57px}.chat-composer .primary{min-width:55px;font-size:12px}.chat-footnote{font-size:9px}.chat-panel{gap:12px}.travel-content{min-width:0}body[data-mode=chat] .travel-workspace{grid-template-rows:auto minmax(0,1fr)}}
.markdown-body{white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.85}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1{font-size:23px;line-height:1.45;margin:20px 0 12px;letter-spacing:0}.markdown-body h2{font-size:20px;line-height:1.5;margin:25px 0 13px;font-weight:650}.markdown-body h3{font-size:17px;line-height:1.6;margin:18px 0 10px;font-weight:650}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:15px;line-height:1.65;margin:19px 0 8px;font-weight:600}.markdown-body p{margin:9px 0}.markdown-body strong{font-weight:700;color:#2d402b}.markdown-body ul,.markdown-body ol{padding-left:25px;margin:10px 0}.markdown-body li{margin:5px 0}.markdown-body a[href]{color:#466b42;text-decoration:underline;text-underline-offset:3px}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body blockquote{margin:14px 0;padding:8px 13px;border-left:3px solid #c4d0b6;background:#eef1e5;color:#68755c;font-size:12px}.markdown-body hr{border:0;border-top:1px solid #dce2d2;margin:22px 0}.markdown-body code{font:12px/1.6 Consolas,monospace;background:#e9eddf;padding:2px 5px;border-radius:4px}.markdown-body pre{max-width:100%;overflow:auto;background:#edf0e5;padding:13px;border-radius:7px;white-space:pre}.markdown-body pre code{padding:0;background:transparent}.markdown-body img{display:block;max-width:100%;max-height:250px;object-fit:contain;border-radius:8px;margin:12px 0}.markdown-table{max-width:100%;overflow:auto;margin:14px 0}.markdown-table table{border-collapse:collapse;font-size:12px;width:100%;min-width:320px}.markdown-table th,.markdown-table td{padding:9px 12px;border:1px solid #dbe1d0;text-align:left;vertical-align:top}.markdown-table th{background:#e8eddf;font-weight:600}.markdown-table tr:nth-child(even){background:#f7f8f0}.chat-bubble.assistant{max-width:96%;width:fit-content}.chat-bubble.assistant:has(h2){width:100%}.chat-bubble .markdown-body h2:first-child{font-size:20px}.semantic-output.markdown-body{font-family:inherit;font-size:13px;white-space:normal}.decision #result{overflow:auto;padding-right:3px}.recommendation{height:auto;min-height:100%}.recommendation>.hotel-card{flex:none;height:195px}.hotel-candidate-section{border-top:1px solid #dce2d2;margin-top:15px;padding-top:15px;padding-bottom:15px}.hotel-candidate-section>h3{font-size:16px;margin:0 0 15px}.hotel-candidate-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.hotel-candidate-item{padding:13px;border:1px solid #e0e5d6;border-radius:9px;background:#fbfcf4}.hotel-candidate-item h4{font-size:14px;line-height:1.6;margin:0 0 8px}.hotel-candidate-item p{font-size:12px;line-height:1.7;margin:6px 0}.hotel-candidate-item a{font-size:12px;color:#466b42;text-underline-offset:3px}.no-match.compact{height:auto;min-height:0;padding:22px 8px 15px;align-items:flex-start;text-align:left}.no-match.compact h3{font-size:22px;margin:0 0 9px}.no-match.compact p{max-width:600px;margin:0 0 10px}.no-match.compact button{margin-top:5px}
@media(max-width:760px){.markdown-body{font-size:13px;line-height:1.85}.markdown-body h2,.chat-bubble .markdown-body h2:first-child{font-size:18px}.markdown-body h3{font-size:16px}.markdown-body h4{font-size:14px}.markdown-table th,.markdown-table td{padding:7px 9px}.chat-bubble.assistant{max-width:100%;padding:12px}.hotel-candidate-list{grid-template-columns:1fr}.recommendation>.hotel-card{height:auto;max-height:none}.hotel-candidate-section>h3{font-size:15px}.no-match.compact{padding-top:15px}.no-match.compact h3{font-size:20px}}

/* Keep the introduction readable and put shared candidate context above the list. */
.brand{min-width:0;flex:none}.brand>span{max-width:min(44vw,520px);font-size:12px;line-height:1.45;font-weight:400;letter-spacing:0}.intro{height:96px}.intro .eyebrow{font-size:12px;letter-spacing:0;color:#596d54;margin-bottom:3px}.intro h1{font-size:clamp(21px,2.15vw,28px);font-weight:650;line-height:1.26;margin-bottom:4px;letter-spacing:-.35px}.intro p:not(.eyebrow){font-size:13px;color:#68725f}.candidate-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.candidate-heading h3{font-size:17px;line-height:1.4;margin:0 0 4px}.candidate-summary{margin:0;font-size:12px;line-height:1.65;color:#65735f}.candidate-dog{width:72px;height:72px;object-fit:contain;flex:none}.hotel-candidate-item:has(.candidate-photo){display:grid;grid-template-columns:68px minmax(0,1fr);column-gap:11px;align-content:start}.candidate-photo{width:68px;height:72px;object-fit:cover;border-radius:6px;grid-row:1 / span 4;background:#edf0e5}.hotel-candidate-item:has(.candidate-photo)>:not(.candidate-photo){grid-column:2}.hotel-candidate-item p{margin:2px 0;line-height:1.55}.hotel-candidate-item h4{margin:0 0 3px}.hotel-candidate-item .muted{color:#776e60}.tool-fields textarea,.chat-composer textarea{height:auto;min-height:39px;max-height:168px;overflow-y:auto;resize:none;line-height:1.5}.chat-composer textarea{padding:7px 4px}.chat-composer .primary{align-self:flex-end}.search-panel>.muted{font-size:13px;line-height:1.6}.search-placeholder{font-size:13px}.semantic-output.markdown-body{font-size:14px;line-height:1.8}
@media(max-width:1050px){.brand>span{max-width:360px;font-size:10px}.header-actions>span{display:none}}
@media(max-width:760px){.brand>span{display:none}.intro{height:128px}.intro .eyebrow{display:block;font-size:11px}.intro h1{font-size:20px;line-height:1.35}.intro p:not(.eyebrow){font-size:11px}.candidate-dog{width:58px;height:58px}.candidate-heading h3{font-size:16px}.candidate-summary{font-size:11px}.hotel-candidate-item:has(.candidate-photo){grid-template-columns:62px minmax(0,1fr)}.candidate-photo{width:62px;height:68px}.chat-composer textarea{min-height:38px}.tool-fields textarea{min-height:39px}}
@media(max-width:760px){header{height:84px}main{height:calc(100dvh - 112px)}.brand{display:grid;grid-template-columns:25px minmax(0,1fr);column-gap:7px;row-gap:2px;max-width:calc(100vw - 115px);line-height:1.2}.brand img{width:25px;height:25px}.brand>span{display:block;grid-column:1 / -1;max-width:none;margin:0;padding:0;border:0;font-size:10px;line-height:1.35;color:#6a7567}.intro{height:128px}.intro .eyebrow{display:block;font-size:11px}.intro h1{font-size:20px;line-height:1.35}.intro p:not(.eyebrow){font-size:11px}.candidate-dog{width:58px;height:58px}.candidate-heading h3{font-size:16px}.candidate-summary{font-size:11px}.hotel-candidate-item:has(.candidate-photo){grid-template-columns:62px minmax(0,1fr)}.candidate-photo{width:62px;height:68px}.chat-composer textarea{min-height:38px}.tool-fields textarea{min-height:39px}}
.scenario-prompts button{line-height:1.5;min-height:43px;white-space:normal;text-wrap:pretty}.scenario-prompts button:focus-visible{outline-offset:-2px}
@media(max-width:760px){.scenario-prompts{scroll-snap-type:x proximity}.scenario-prompts button{width:205px;max-width:70vw;min-height:42px;white-space:normal;scroll-snap-align:start;text-align:left;line-height:1.45}}

#settings-form label[for=jev-key]{gap:12px}#settings-form .jev-label-copy{min-width:0;line-height:1.55}#settings-form .jev-label-copy small{display:block;margin-top:3px;font-size:11px;font-weight:400;color:#68725f}#settings-form label[for=jev-key] a{flex:none;white-space:nowrap}
