/* Qansha? — bright, minimal travel UI */
:root{color-scheme:light;--bg:#fffaf6;--panel:#fff;--card:#fff;--border:#f0e6de;--text:#231e1b;--muted:#766d67;--accent:#f46122;--accent-dark:#da4314;--accent-pale:#fff0e7;--ink:#211c18;--shadow:0 12px 48px rgba(89,46,22,.055)}
*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;scroll-behavior:smooth}body{margin:0;background:radial-gradient(1000px 440px at 95% -10%,#fff1df 0,transparent 90%),var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}[hidden]{display:none!important}a{color:var(--accent-dark);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fb9b6a;outline-offset:2px}
.shell{max-width:1030px;margin:0 auto;padding:0 28px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border)}.brand{color:var(--text);font-size:24px;font-weight:850;letter-spacing:-1.05px;display:flex;gap:11px;align-items:center;text-decoration:none}.brand:hover{text-decoration:none}.brand-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--accent);color:#fff;border-radius:13px;font-size:26px;box-shadow:0 5px 15px #ed6b2e2b}.brand-wordmark{display:flex;flex-direction:column;line-height:1.1}.brand-accent{color:var(--accent)}.brand-wordmark small{font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.2px;margin-top:5px}.top-actions{display:flex;align-items:center;gap:10px}.icon-button,.account-button{background:#fff;color:var(--text);border:1px solid #e9dcd3;border-radius:12px;display:flex;align-items:center;justify-content:center}.icon-button{width:43px;height:43px;position:relative}.icon-button svg{width:21px;height:21px}.account-button{padding:12px 20px;font-size:14px;font-weight:750}.icon-button:hover,.account-button:hover{border-color:var(--accent);background:var(--accent-pale)}.count{position:absolute;right:-5px;top:-5px;background:var(--accent);color:#fff;border-radius:99px;font-size:10px;font-weight:800;padding:3px 6px}
.headline{margin:28px 0 24px;padding:37px 42px 39px;border-radius:24px;background:linear-gradient(114deg,#ff8144 0%,#f36022 59%,#ea4b18 100%);box-shadow:0 16px 32px #e65a2524;position:relative;overflow:hidden;color:#fff}.headline:after{content:'';position:absolute;width:260px;height:260px;right:-118px;top:-118px;border:1px solid #ffffff57;border-radius:50%;box-shadow:0 0 0 43px #ffffff0b,0 0 0 87px #ffffff09;pointer-events:none}.small-label{font-size:11px;letter-spacing:2.2px;color:#fff4e9;font-weight:850;margin:0 0 15px}.headline h1{font-size:clamp(29px,5vw,48px);line-height:1.12;letter-spacing:-1.8px;margin:0;font-weight:840;position:relative;z-index:1}.headline h1 span{color:#fff9dd}.headline>p:last-child{color:#fff7ef;font-size:15px;line-height:1.6;margin:14px 0 0;max-width:620px;position:relative;z-index:1}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--border);padding:5px;gap:6px;border-radius:17px;margin:0 0 18px;box-shadow:0 4px 18px #8855230a}.tab{padding:16px 10px;border:0;border-radius:12px;background:transparent;color:#7c726c;font-weight:750;font-size:15px}.tab:hover{background:#fff4ea}.tab.is-active{color:#fff;background:var(--accent);box-shadow:0 6px 18px #f4612230}.panel{background:var(--panel);border:1px solid var(--border);border-radius:21px;padding:32px;min-height:410px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:26px}.panel-heading h2{font-size:28px;letter-spacing:-.8px;margin:0 0 6px}.panel-heading p{font-size:14px;color:var(--muted);margin:0;line-height:1.55}.hint-chip{background:var(--accent-pale);border:1px solid #ffd7c6;color:#c64411;white-space:nowrap;font-size:12px;font-weight:750;border-radius:99px;padding:8px 11px}
.fields{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;margin:0 0 17px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fields.three{grid-template-columns:1fr 1fr .85fr}.field{display:flex;flex-direction:column;gap:9px;min-width:0;position:relative}.field label,.budget-options label,.range-label label{font-size:13px;font-weight:750;color:#62574e}.input-wrap{position:relative}.field-symbol{position:absolute;top:50%;left:15px;transform:translateY(-50%);font-size:20px;color:var(--accent);pointer-events:none}.field input,.field select,.field .date-button,.budget-options select,.account-form input{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #ddcec3;border-radius:12px;height:55px;padding:0 15px;width:100%;color:var(--text);outline:none;min-width:0;font-size:15px}.field input{padding-left:43px}.field input:focus,.field select:focus,.field .date-button:focus-visible,.budget-options select:focus,.account-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f461221d}.field input::placeholder{color:#a59b94}.date-button{text-align:left;gap:8px}.date-button span:last-child{color:var(--accent);font-size:21px}.suggestions{z-index:15;position:absolute;top:100%;margin-top:5px;left:0;right:0;max-height:330px;overflow:auto;background:#fff;border:1px solid #eed6c5;box-shadow:0 16px 36px #70462d25;border-radius:12px}.suggestion{width:100%;border:0;background:#fff;color:var(--text);text-align:left;padding:12px 14px;display:flex;align-items:center;gap:12px}.suggestion:hover,.suggestion:focus{background:#fff3e9}.suggestion strong{font-weight:750;font-size:14px}.suggestion small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.suggestion .code{margin-left:auto;color:var(--accent-dark);font-size:12px}.suggestions-info{color:var(--muted);padding:15px;font-size:12px;line-height:1.5}
.form-bottom{margin-top:21px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.primary-btn{border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:820;padding:15px 23px;min-height:52px;display:flex;align-items:center;justify-content:center;gap:18px;box-shadow:0 7px 18px #f461222b}.primary-btn:hover{background:var(--accent-dark)}.form-note{font-size:12px;color:var(--muted)}.results{margin-top:26px;border-top:1px solid var(--border);padding-top:22px}.empty-state{text-align:center;margin:12px 0;padding:22px 15px;color:var(--muted)}.empty-icon{font-size:31px;display:block;margin-bottom:10px;color:var(--accent)}.empty-state strong{color:var(--text);display:block;font-size:16px}.empty-state p{font-size:13px;line-height:1.6;margin:8px auto 0;max-width:420px}.results-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.results-header h3{margin:0;font-size:18px}.results-count{color:var(--muted);font-size:13px}.offer-list{display:grid;gap:10px}.offer{background:#fffdfb;border:1px solid #efe1d8;border-radius:14px;padding:18px}.offer.chosen{border-color:var(--accent);box-shadow:0 0 0 1px #ffb692}.offer-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.offer-title{font-weight:780;font-size:15px;line-height:1.4}.offer-price{font-size:21px;white-space:nowrap;font-weight:850;color:#bd431b}.offer-details{font-size:12px;color:var(--muted);line-height:1.65;margin-top:8px}.offer-actions{display:flex;gap:10px;margin-top:14px;align-items:center;flex-wrap:wrap}.outline-btn{border:1px solid #efc9b6;background:#fff7f1;color:#ab3d12;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:730}.outline-btn:hover{border-color:var(--accent);background:#ffeadb}.tiny-link{font-size:12px;color:var(--accent-dark);margin-left:auto}.banner-note{border:1px solid #f0d9ca;background:#fff9f4;padding:13px;border-radius:11px;font-size:12px;color:#6b5343;line-height:1.65;margin-bottom:12px}.warning{color:#a73e17}.results-status{color:var(--muted);font-size:13px;line-height:1.6}.hotel-tags{margin-bottom:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.hotel-quick{display:grid;align-content:start;gap:5px;text-align:left;background:#fff;border:1px solid #efdfd5;border-radius:13px;min-width:0;padding:13px;color:var(--text)}.hotel-quick span{color:var(--accent-dark);font-size:12px;font-weight:850}.hotel-quick strong{font-size:12px;min-height:32px;line-height:1.3;overflow-wrap:anywhere}.hotel-quick small{font-size:13px;font-weight:850}.hotel-quick.is-active{background:#fff0e6;border-color:#f46122;box-shadow:0 0 0 1px #ff9f6c}.hotel-tag{padding:6px 10px;background:#fff1e6;border-radius:99px;color:#b34318;font-size:11px;font-weight:800}.hotel-image{width:91px;height:76px;object-fit:cover;border-radius:10px;flex:none}.hotel-row{display:flex;gap:15px;align-items:center}.hotel-content{min-width:0;flex:1}.hotel-title{overflow-wrap:anywhere}
.hotel-preferences{border:1px solid #f1ded1;border-radius:15px;padding:16px;background:#fffaf6;margin:8px 0 18px}.hotel-preferences-heading{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;align-items:baseline;margin-bottom:13px}.hotel-preferences-heading strong{font-size:14px}.hotel-preferences-heading span{font-size:12px;color:var(--muted)}.tier-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tier-pill{padding:12px 6px;border:1px solid #eddfd3;background:white;border-radius:10px;color:#655951;font-size:13px;font-weight:800}.tier-pill:hover{border-color:#ffac84}.tier-pill.is-active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 5px 12px #ed753823}
.recommendation-slot{background:linear-gradient(135deg,#fff7ef,#fff);border:1px solid #f9ceb7;border-radius:17px;padding:18px;margin:16px 0 6px}.recommendation-slot[hidden]{display:none}.recommendation-main{display:flex;gap:17px;align-items:center;justify-content:space-between}.recommendation-copy{min-width:0;display:grid;gap:7px}.recommendation-badge{display:inline-flex;width:max-content;background:#ffddc9;color:#ac3d10;border-radius:99px;padding:5px 10px;font-size:11px;font-weight:800}.recommendation-name{font-size:19px;font-weight:850;letter-spacing:-.4px;line-height:1.3;overflow-wrap:anywhere}.recommendation-copy p{margin:0;color:#745f4e;font-size:12px;line-height:1.5}.recommendation-price{font-size:22px;font-weight:850;color:#bb4319}.recommendation-price small{color:#7c7067;font-size:11px;font-weight:500;display:block;line-height:1.5;margin-top:3px}.recommend-image{width:116px;height:102px;object-fit:cover;flex:none;border-radius:12px}.recommendation-foot{border-top:1px solid #f5dfd1;margin-top:12px;padding-top:11px;color:#846b5a;font-size:11px;line-height:1.5;display:flex;justify-content:space-between;gap:9px;align-items:center}.recommendation-foot button{border:0;padding:7px 0;background:none;color:#be3f12;font-weight:800;white-space:nowrap}.recommendation-loading{display:flex;gap:13px;align-items:center;line-height:1.5}.recommendation-loading strong{font-size:14px;display:block}.recommendation-loading p{font-size:12px;color:var(--muted);margin:5px 0 0}.recommendation-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;font-weight:800;border-radius:11px;background:#ffeadb;color:#c95120}.mini-spinner{width:25px;height:25px;flex:none;border:3px solid #ffd4ba;border-top-color:var(--accent);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.budget-summary-route{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;background:#fff3e9;padding:16px;border-radius:12px;margin-bottom:20px;color:var(--text);font-weight:750}.budget-summary-route span:last-child{color:var(--muted);font-size:13px}.budget-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.budget-options>div{display:grid;gap:8px}.budget-recommendation{margin-bottom:20px}.budget-recommendation .recommendation-name{font-size:17px}.range-card{padding:18px;background:#fff7f0;border-radius:15px;margin:15px 0 20px}.range-label{display:flex;justify-content:space-between;gap:8px}.range-label strong{color:var(--accent-dark);white-space:nowrap}.range-card input{width:100%;accent-color:var(--accent);margin:18px 0 8px}.range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.totals{border:1px solid #efdfd3;border-radius:15px;overflow:hidden}.totals>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border-bottom:1px solid #efdfd3;font-size:14px}.totals>div:last-child{border-bottom:0}.totals>div span{color:var(--muted)}.totals>div strong{text-align:right;font-size:15px}.totals>.total-line{background:#fff1e5}.totals>.total-line strong{color:var(--accent-dark);font-size:23px}.budget-callout{font-size:12px;color:var(--muted);line-height:1.6;margin-top:13px}.budget-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.budget-shortcuts button{border:1px solid #edb995;border-radius:9px;background:#fff7f1;color:var(--accent-dark);padding:10px 14px;font-weight:700}footer{padding:35px 0 50px;color:#88786e;font-size:12px;line-height:1.7;text-align:center}footer span{display:block}
.modal-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#21150fb5;padding:18px;overflow:auto}.modal-sheet{width:min(490px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px;border-radius:19px;background:#fff;border:1px solid #efd6c3;box-shadow:0 25px 85px #38231955}.modal-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:20px}.modal-head h2{font-size:22px;margin:0 0 6px}.modal-head p{color:var(--muted);font-size:12px;margin:0;line-height:1.5}.modal-close{font-size:25px;flex:none;border:0;background:#fff1e8;color:#a84c1f}.calendar-month{display:flex;justify-content:space-between;align-items:center;margin:12px 0 15px}.calendar-month strong{font-size:16px}.calendar-month button{background:#fff5ec;border:1px solid #efd3c0;color:#a64615;border-radius:10px;font-size:25px;width:42px;height:40px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{margin-bottom:8px}.calendar-week span{text-align:center;color:var(--muted);font-size:12px}.day{border:1px solid #f5e8de;background:#fffaf7;color:#35261d;min-height:60px;border-radius:9px;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:5px 2px;gap:3px}.day small{font-size:9px;color:#c55422;white-space:nowrap}.day:disabled{opacity:.3}.day.selected{background:#ffdfca;border-color:var(--accent);font-weight:750}.day.today{border-color:#bcaf9f}.calendar-grid .blank{min-height:60px}.calendar-bottom{margin-top:18px;border-top:1px solid #eee1d4;padding-top:14px}.calendar-bottom p{font-size:12px;color:var(--muted);line-height:1.55;margin:0 0 12px}.account-form{display:grid;gap:11px}.account-form input{width:100%}.account-form .primary-btn{width:100%}.modal-message{font-size:12px;color:var(--muted);line-height:1.55}.favorites-list{max-height:60vh;overflow:auto}.fav-entry{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--border);padding:12px 0}.fav-entry>div{flex:1}.fav-entry strong{font-size:13px}.fav-entry p{margin:5px 0 0;color:var(--muted);font-size:12px}.toast{position:fixed;z-index:100;bottom:22px;left:50%;transform:translateX(-50%);border:1px solid #ffc2a0;background:#fffaf6;border-radius:11px;padding:13px 18px;color:var(--text);box-shadow:0 15px 35px #3f26122e;font-size:13px;max-width:90%;text-align:center}
@media(max-width:650px){.shell{padding:0 14px}.topbar{height:72px}.brand{font-size:21px}.brand-icon{width:38px;height:38px}.brand-wordmark small{font-size:9px}.headline{margin:19px 0 17px;padding:28px 21px 30px;border-radius:20px}.headline h1{font-size:32px;letter-spacing:-1px}.headline>p:last-child{font-size:13px}.small-label{font-size:10px;letter-spacing:1.5px}.tabs{margin-bottom:13px;gap:3px}.tab{font-size:13px;padding:13px 3px}.panel{padding:20px 15px;border-radius:17px;min-height:385px}.panel-heading{margin-bottom:22px}.panel-heading h2{font-size:22px}.panel-heading p{font-size:12px}.hint-chip{font-size:10px;padding:6px 8px}.fields.two{grid-template-columns:1fr}.fields.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fields.three .field:last-child{grid-column:1/-1}.field input,.field select,.field .date-button{height:51px;font-size:14px}.field label{font-size:12px}.form-bottom{align-items:stretch}.form-bottom .primary-btn{width:100%}.form-note{text-align:center;width:100%}.offer{padding:14px}.offer-price{font-size:19px}.hotel-image{width:75px;height:75px}.hotel-tags{grid-template-columns:1fr}.hotel-quick{grid-template-columns:65px 1fr auto;align-items:center;gap:8px}.hotel-quick strong{min-height:0}.hotel-quick small{font-size:11px}.recommend-image{width:85px;height:90px}.recommendation-slot{padding:15px}.recommendation-name{font-size:17px}.recommendation-price{font-size:19px}.hotel-preferences-heading{display:block}.hotel-preferences-heading span{display:block;margin-top:5px}.tier-pill{font-size:12px;padding:11px 4px}.modal-backdrop{padding:0;align-items:end}.modal-sheet{border-radius:20px 20px 0 0;max-height:94dvh;width:100%;padding:20px 15px calc(20px + env(safe-area-inset-bottom))}.day{min-height:55px}.calendar-grid .blank{min-height:55px}.day small{font-size:9px}.budget-options{grid-template-columns:1fr 1fr}.totals>div{padding:14px 12px}.totals>.total-line strong{font-size:20px}}
@media(max-width:360px){.tabs{gap:0}.tab{font-size:12px}.hint-chip{display:none}.field .date-button{padding:0 9px;font-size:12px}.day{min-height:48px}.day small{font-size:8px}.calendar-grid .blank{min-height:48px}.account-button{padding:10px 11px}.brand-wordmark small{font-size:8px}}