*{box-sizing:border-box}
:root{
    --brown:#4f2f18;
    --brown-2:#7a481e;
    --gold:#d9a35d;
    --cream:#f4efe6;
    --paper:#fffdf9;
    --line:#ead8c2;
    --muted:#806c5a;
    --green:#2f7a4a;
}
body{
    margin:0;
    background:var(--cream);
    color:var(--brown);
    font-family:Tahoma,Arial,sans-serif;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.ai-travel-shell{
    width:min(1280px,calc(100% - 24px));
    margin:18px auto;
}
.ai-travel-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:13px 16px;
    border-radius:15px;
    background:#2f1d12;
    color:#fff;
}
.ai-travel-brand{
    display:flex;
    align-items:center;
    gap:11px;
    color:#fff;
    text-decoration:none;
}
.ai-travel-brand img{
    width:46px;
    height:46px;
    border-radius:50%;
    object-fit:cover;
}
.ai-travel-brand small{
    display:block;
    color:#dcb275;
    font-size:9px;
    letter-spacing:.1em;
}
.ai-travel-brand strong{
    display:block;
    margin-top:3px;
    font-size:16px;
}
.ai-memory-clear{
    border:1px solid rgba(255,255,255,.2);
    border-radius:9px;
    padding:9px 12px;
    background:rgba(255,255,255,.08);
    color:#fff;
}
.ai-travel-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-top:14px;
    padding:26px;
    border-radius:18px;
    background:linear-gradient(135deg,#5a3217,#9a5d25);
    color:#fff;
    box-shadow:0 12px 28px rgba(70,39,16,.16);
}
.ai-travel-kicker{
    color:#f0c884;
    font-size:10px;
    letter-spacing:.14em;
}
.ai-travel-hero h1{
    margin:7px 0 6px;
    font-size:31px;
}
.ai-travel-hero p{
    margin:0;
    max-width:720px;
    color:#f0e4d4;
    line-height:1.7;
}
.ai-travel-hero-badge{
    display:grid;
    place-items:center;
    width:118px;
    height:118px;
    min-width:118px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:50%;
    background:rgba(255,255,255,.1);
}
.ai-travel-hero-badge span{font-size:11px}
.ai-travel-hero-badge strong{font-size:27px}
.ai-travel-hero-badge small{font-size:9px}
.ai-travel-layout{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
    gap:16px;
    margin-top:16px;
}
.ai-travel-chat,.ai-travel-results{
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:17px;
    background:var(--paper);
    box-shadow:0 7px 22px rgba(71,44,20,.07);
}
.ai-chat-messages{
    height:380px;
    overflow:auto;
    padding:18px;
    background:linear-gradient(#fffdf9,#fbf4ea);
}
.ai-message{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:14px;
}
.ai-message-user{justify-content:flex-end}
.ai-message-user .ai-avatar{order:2;background:#7d4b22}
.ai-message-user .ai-bubble{background:#75451d;color:#fff}
.ai-avatar{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:50%;
    background:#e8c999;
    color:#4b2c15;
    font-weight:bold;
    font-size:11px;
}
.ai-bubble{
    max-width:82%;
    padding:12px 14px;
    border-radius:13px;
    background:#fff;
    border:1px solid #eadcc9;
    line-height:1.65;
}
.ai-bubble p{margin:5px 0 0}
.ai-bubble ul{margin:7px 0 0;padding-left:20px}
.ai-travel-form{
    padding:16px;
    border-top:1px solid var(--line);
}
.ai-filter-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.ai-filter-grid label span{
    display:block;
    margin-bottom:5px;
    color:var(--muted);
    font-size:10px;
}
.ai-filter-grid input,.ai-filter-grid select{
    width:100%;
    min-height:39px;
    border:1px solid var(--line);
    border-radius:9px;
    padding:0 9px;
    background:#fff;
    color:var(--brown);
}
.ai-location-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:11px;
}
.ai-location-row button{
    border:0;
    border-radius:8px;
    padding:8px 11px;
    background:#e8d5ba;
    color:#5a3518;
    font-weight:bold;
}
.ai-location-row span{color:var(--muted);font-size:10px}
.ai-question-box{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    margin-top:11px;
}
.ai-question-box textarea{
    width:100%;
    resize:vertical;
    border:1px solid #d9bea0;
    border-radius:11px;
    padding:12px;
    color:var(--brown);
}
.ai-question-actions{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.ai-question-actions button{
    min-width:82px;
    border:0;
    border-radius:9px;
    padding:10px 12px;
}
#aiVoice{background:#eadbc8}
#aiSubmit{flex:1;background:#72421b;color:#fff;font-weight:bold}
.ai-quick-prompts{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:11px;
}
.ai-quick-prompts button{
    border:1px solid #e2cfb8;
    border-radius:999px;
    padding:7px 10px;
    background:#fff8ee;
    color:#674321;
    font-size:10px;
}
.ai-travel-results>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px;
    border-bottom:1px solid var(--line);
}
.ai-travel-results>header span{
    color:#9a6a36;
    font-size:9px;
    letter-spacing:.1em;
}
.ai-travel-results>header h2{
    margin:4px 0 0;
    font-size:18px;
}
.ai-travel-results>header>strong{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#f1dec3;
}
.ai-result-list{
    height:625px;
    overflow:auto;
    padding:12px;
}
.ai-result-empty{
    display:grid;
    place-items:center;
    min-height:250px;
    text-align:center;
    color:var(--muted);
}
.ai-result-empty span{font-size:42px}
.ai-result-empty strong{margin-top:8px;color:var(--brown)}
.ai-result-empty p{max-width:300px;line-height:1.6}
.ai-place-card{
    margin-bottom:11px;
    padding:13px;
    border:1px solid #e6d6c3;
    border-radius:13px;
    background:#fff;
}
.ai-place-head{
    display:flex;
    align-items:flex-start;
    gap:10px;
}
.ai-place-rank{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:50%;
    background:#6f411b;
    color:#fff;
    font-weight:bold;
}
.ai-place-title{flex:1;min-width:0}
.ai-place-title h3{margin:0;font-size:15px;line-height:1.4}
.ai-place-title p{margin:4px 0 0;color:var(--muted);font-size:10px}
.ai-place-score{
    min-width:50px;
    padding:7px;
    border-radius:9px;
    background:#edf6ef;
    color:#2e6b41;
    text-align:center;
    font-weight:bold;
}
.ai-place-reasons{
    margin:10px 0 0;
    padding:10px;
    border-radius:9px;
    background:#fff8ed;
    color:#684a2d;
    font-size:11px;
    line-height:1.6;
}
.ai-place-reasons ul{margin:6px 0 0;padding-left:17px}
.ai-place-actions{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:10px;
}
.ai-place-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:0 10px;
    border-radius:8px;
    background:#795024;
    color:#fff;
    text-decoration:none;
    font-size:10px;
    font-weight:bold;
}
.ai-place-actions a.secondary{background:#4f6754}
.ai-loading{
    display:flex;
    align-items:center;
    gap:9px;
    color:var(--muted);
}
.ai-loading i{
    width:17px;
    height:17px;
    border:2px solid #d6c4af;
    border-top-color:#71431e;
    border-radius:50%;
    animation:ai-spin .8s linear infinite;
}
@keyframes ai-spin{to{transform:rotate(360deg)}}
.ai-travel-footer{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:14px 4px;
    color:var(--muted);
    font-size:10px;
}
@media(max-width:950px){
    .ai-travel-layout{grid-template-columns:1fr}
    .ai-result-list{height:auto;max-height:620px}
}
@media(max-width:650px){
    .ai-travel-shell{width:min(100% - 14px,1280px);margin:7px auto}
    .ai-travel-header{align-items:flex-start}
    .ai-memory-clear{font-size:10px}
    .ai-travel-hero{padding:19px}
    .ai-travel-hero h1{font-size:24px}
    .ai-travel-hero-badge{display:none}
    .ai-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ai-question-box{grid-template-columns:1fr}
    .ai-question-actions{flex-direction:row}
    .ai-question-actions button{flex:1}
    .ai-chat-messages{height:330px}
    .ai-travel-footer{flex-direction:column}
}