/* Mobile landing continuity: the Mini App follows the published phone layout. */
:root{--bg:#efede8;--panel:#f7f3ed;--panel2:#e5ddd3;--text:#171411;--muted:#6d645c;--beige:#e8d4bd;--line:rgba(23,20,17,.16)}
html{background:#d8d3cc}body,.app{background:var(--bg);color:var(--text)}
.topbar{height:calc(64px + var(--safe-top));background:rgba(23,20,17,.96);color:#fff;border-bottom-color:rgba(255,255,255,.13)}
.hero{height:min(760px,calc(100svh - 134px));min-height:590px;margin:0 6px;border-radius:0 0 26px 26px;color:#fff}
.hero-copy{bottom:138px}.hero h1{font-weight:600;text-transform:uppercase}.hero p{color:#eee6dd}.hero .primary{border-radius:999px;background:#fff}.version{top:12px}
.section{padding:38px 16px}.section.compact{padding-bottom:38px}.section-title h2{font-size:31px}.section .eyebrow,.page-head .eyebrow{color:#5f554c}.text-button{color:#171411}
.featured-rail{grid-auto-columns:82%}.venue-card{color:#fff;border-color:rgba(23,20,17,.12);box-shadow:0 10px 28px rgba(32,24,18,.08)}
.landing-intro{padding-top:44px;padding-bottom:48px}.landing-intro h2{max-width:440px;margin:10px 0 20px;font-size:40px;line-height:.96;letter-spacing:-.05em}.landing-intro p{max-width:430px;color:var(--muted);font-size:14px;line-height:1.6}.landing-intro .text-button{padding:10px 0;border-bottom:1px solid}
.format-grid button{color:#171411;border-color:rgba(23,20,17,.12);background:#ded7cc}.format-grid button:nth-child(2){background:#c9baa9}.format-grid button:nth-child(3){background:#d7c7b4}.format-grid button:nth-child(4){background:#b8afa5}.format-grid small{color:#5f574f}.format-grid span{color:#796858}
.page-head p{color:var(--muted)}
.screen[data-screen="venues"]{min-height:100svh;background:#171411;color:#fff}.screen[data-screen="venues"] .page-head .eyebrow{color:#cdbca9}.screen[data-screen="venues"] .page-head p{color:#c9c1ba}.screen[data-screen="venues"] .chip{color:#c9c1ba;border-color:rgba(255,255,255,.25)}.screen[data-screen="venues"] .chip.active{color:#171411;background:#fff;border-color:#fff}
.compare-item,.brief,.result-card{background:#f7f3ed;color:#171411}.compare-item p,.results>p,.result-card p{color:#6d645c}.compare-item button{color:#171411}.option-list button{color:#171411;background:#f7f3ed;border-color:rgba(23,20,17,.18)}.option-list button.selected{background:#171411;color:#fff}.progress{background:#d6cfc7}.progress span{background:#171411}
.screen[data-screen="compare"]>.secondary,.brief-actions .secondary{color:#171411;border-color:rgba(23,20,17,.22)}
.ivan-fab{position:fixed;z-index:24;right:max(14px,calc((100vw - 520px)/2 + 14px));bottom:calc(82px + var(--safe-bottom));height:54px;display:flex;align-items:center;gap:9px;padding:5px 13px 5px 5px;border:1px solid rgba(255,255,255,.22);border-radius:29px;background:rgba(31,25,21,.94);color:#fff;box-shadow:0 12px 34px rgba(0,0,0,.34);backdrop-filter:blur(16px)}
.ivan-fab img{width:42px;height:42px;border-radius:50%;object-fit:cover}.ivan-fab span{display:grid;text-align:left;line-height:1.05}.ivan-fab b{font-size:12px}.ivan-fab small{margin-top:4px;color:#bfb3a6;font-size:8px;letter-spacing:.04em;text-transform:uppercase}.ivan-fab i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:#9acd6b;box-shadow:0 0 0 3px rgba(154,205,107,.1)}
.bottom-nav .venue-symbol{width:25px;height:25px;display:grid;place-items:center}.venue-symbol svg{width:25px;height:25px;overflow:visible}.venue-symbol path,.venue-symbol circle{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.venue-symbol circle{fill:currentColor;stroke:none}
.sheet{color:#171411}.sheet>article{background:#f7f3ed}.detail-body h2{color:#fff}.detail-body>p,.hall span,.ivan-dialog p,.about p{color:#6d645c}.detail-facts div{background:#e8e1d8}.sheet .secondary{color:#171411;border-color:rgba(23,20,17,.22)}
.step h3{margin:22px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.step-hint{margin:-4px 0 16px;color:var(--muted);font-size:13px}.brief-context{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#e7ddd1;font-size:12px}.field{display:grid;gap:7px;margin:14px 0;color:#5f574f;font-size:12px}.field input,.field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(23,20,17,.2);border-radius:14px;background:#fff;color:#171411;padding:14px;font:inherit;font-size:15px}.field textarea{resize:vertical}.check-field{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:14px}.check-field input{width:20px;height:20px;accent-color:#171411}.brief-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.brief-summary span{display:grid;gap:4px;padding:12px;border-radius:13px;background:#e9e2d9}.brief-summary small{color:#6d645c;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.brief-summary b{font-size:12px}.brief-preview,.draft-status{padding:12px 14px;border-radius:13px;background:#e0d4c6;color:#5e5146;font-size:12px}.draft-status{margin-top:16px}.brief-feedback{min-height:18px;margin:12px 0 0;color:#4f6d38;font-size:12px}.brief-feedback.brief-invalid{color:#a13d32}.brief-actions{gap:8px}.brief-actions>*{flex:1}.result-group{margin:18px 0}.result-group h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:17px}.result-group h3 span{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:#171411;color:#fff;font-size:11px}.result-group>button{width:100%;display:grid;grid-template-columns:62px 1fr 18px;align-items:center;gap:10px;margin:8px 0;padding:8px;border:0;border-radius:15px;background:#f7f3ed;color:#171411;text-align:left}.result-group img{width:62px;height:62px;border-radius:11px;object-fit:cover}.result-group span{display:grid;gap:5px}.result-group small{color:#6d645c;font-size:10px}.result-group i{font-style:normal}.hall-list{display:grid;gap:8px}.hall{width:100%;display:grid;gap:5px;border:1px solid rgba(23,20,17,.13);border-radius:13px;background:#e8e1d8;color:#171411;padding:13px;text-align:left}.hall.selected{border-color:#171411;box-shadow:inset 0 0 0 1px #171411}.hall:disabled{opacity:.55}.hall small{font-size:10px}.compare-select{margin-top:8px;border:0;background:none;color:#171411;padding:0;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.chat-sheet{max-width:520px;color:#171411}.chat-sheet>article{height:min(720px,calc(100svh - 20px));display:grid;grid-template-rows:auto auto 1fr auto auto auto;padding:0;overflow:hidden;background:#f2eee8}.chat-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid rgba(23,20,17,.1);background:#171411;color:#fff}.chat-head img{width:44px;height:44px;border-radius:50%;object-fit:cover}.chat-head span{display:grid;line-height:1.05}.chat-head small{margin-top:5px;color:#bfb3a6;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.chat-head i{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#9acd6b}.chat-head .sheet-close{position:static;margin-left:auto;color:#fff;background:rgba(255,255,255,.1)}.chat-context{margin:10px 12px 0;padding:9px 12px;border-radius:12px;background:#e4d8ca;font-size:10px}.chat-messages{min-height:0;overflow:auto;padding:18px 14px;display:flex;flex-direction:column;gap:10px}.chat-message{max-width:84%;display:grid;gap:4px}.chat-message span{padding:11px 13px;border-radius:16px;background:#fff;font-size:13px;line-height:1.4;box-shadow:0 4px 14px rgba(28,22,18,.06)}.chat-message small{padding:0 5px;color:#80766d;font-size:8px;text-transform:uppercase}.chat-message.user{align-self:flex-end}.chat-message.user span{background:#171411;color:#fff;border-bottom-right-radius:5px}.chat-message.ivan span{border-bottom-left-radius:5px}.chat-quick{display:flex;gap:7px;overflow:auto;padding:0 12px 10px}.chat-quick button{flex:none;border:1px solid rgba(23,20,17,.17);border-radius:999px;background:transparent;color:#171411;padding:8px 11px;font-size:10px}.chat-form{display:grid;grid-template-columns:1fr 42px;gap:8px;padding:10px 12px calc(10px + var(--safe-bottom));border-top:1px solid rgba(23,20,17,.1);background:#fff}.chat-form input{min-width:0;border:1px solid rgba(23,20,17,.16);border-radius:22px;padding:11px 14px;font-size:14px}.chat-form button{border:0;border-radius:50%;background:#171411;color:#fff;font-size:20px}.chat-disclosure{margin:0;padding:7px 12px;background:#e6ded4;color:#6d645c;font-size:8px;text-align:center;text-transform:uppercase;letter-spacing:.05em}

/* Telegram chat layout: keep every child in its intended grid row even when
   the optional context line is hidden. This prevents quick replies from
   expanding into tall vertical pills on iOS WebView. */
.chat-sheet{inset:0;height:100dvh;max-height:100dvh;margin:0 auto}
.chat-sheet>article{height:100dvh;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;border-radius:0}
.chat-head{grid-row:1;min-height:72px;padding:max(12px,var(--safe-top)) 16px 12px}
.chat-context{grid-row:2}
.chat-messages{grid-row:3;padding:14px 16px 12px}
.chat-quick{grid-row:4;min-height:52px;align-items:center;padding:7px 12px 9px;scrollbar-width:none}
.chat-quick::-webkit-scrollbar{display:none}
.chat-quick button{height:38px;min-height:38px;padding:0 14px;white-space:nowrap;line-height:1}
.chat-form{grid-row:5}
.chat-disclosure{grid-row:6}
.chat-head .sheet-close{position:static;float:none;flex:0 0 40px;margin:0 0 0 auto;width:40px;height:40px}
@media(min-width:700px){
  html,body{background:var(--bg)}body{padding:0}.app{width:100%;min-height:100svh;margin:0;border-radius:0;box-shadow:none;overflow:visible}.topbar{padding-left:max(24px,calc((100vw - 1280px)/2));padding-right:max(24px,calc((100vw - 1280px)/2))}.hero{height:calc(100svh - 66px);min-height:640px;margin:0;border-radius:0}.hero-copy{left:max(32px,calc((100vw - 1280px)/2));right:auto;max-width:760px;bottom:110px}.hero h1{font-size:clamp(68px,8vw,126px)}.hero p{font-size:17px}.section,.page-head{max-width:1280px;margin-left:auto;margin-right:auto}.featured-rail{grid-auto-flow:initial;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.format-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.venue-list{max-width:1280px;margin:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.brief{max-width:760px;margin-left:auto;margin-right:auto}.results{max-width:760px;margin-left:auto;margin-right:auto}.bottom-nav{left:0;transform:none;bottom:0;width:100%;border-radius:0}.ivan-fab{right:24px;bottom:90px}.sheet{left:50%;transform:translateX(-50%)}
}
@media(min-width:1180px){.featured-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.venue-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
