*{box-sizing:border-box}
:root{--brand-primary:#627f98;--brand-accent:#f39200;--ink:#172744;--muted:#5f6679;--surface:#fff;--line:#b7c0c8;--user:#71869a;--shadow:0 14px 38px rgba(29,49,70,.12)}
html{scroll-behavior:smooth;background:#eaf1f5}
body{margin:0;padding-top:82px;min-width:280px;overflow-x:hidden;font-family:"Segoe UI",Inter,Arial,sans-serif;color:var(--ink);background:#eaf1f5}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.site-header{position:sticky;top:0;z-index:20;min-height:96px;padding:10px max(24px,env(safe-area-inset-right)) 10px max(24px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(98,127,152,.12);box-shadow:0 4px 18px rgba(20,35,55,.07);backdrop-filter:blur(10px)}
.brand{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none;min-width:0;max-width:min(100%,620px);flex:1 1 auto}
.brand-full-logo{display:block;width:min(100%,470px);height:auto;max-height:76px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;gap:36px}
.site-nav>a{font-size:17px;color:var(--ink);text-decoration:none;transition:.16s}
.site-nav>a:hover{color:var(--brand-primary)}
.restart-button{width:42px;height:42px;padding:8px;flex:0 0 42px;border:0;border-radius:10px;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;transition:.16s}
.restart-button:hover{background:#edf3f7}
.restart-button span{display:block;height:2px;background:var(--ink);border-radius:3px}
.chat-background{position:relative;isolation:isolate;min-height:calc(100vh - 96px);min-height:calc(100svh - 96px);padding:48px 20px calc(120px + env(safe-area-inset-bottom));background:radial-gradient(circle at 8% 10%,rgba(98,127,152,.23),transparent 31%),radial-gradient(circle at 93% 14%,rgba(243,146,0,.13),transparent 25%),linear-gradient(145deg,#f7fafc 0%,#e7eff4 48%,#fff5e8 100%)}
.chat-background:before{content:"";position:fixed;inset:96px 0 0;z-index:-1;pointer-events:none;opacity:.34;background-image:linear-gradient(rgba(98,127,152,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(98,127,152,.045) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,black,transparent 78%)}
.chat-shell{width:min(980px,100%);margin:0 auto}
.chat-list{display:flex;flex-direction:column;gap:9px;min-width:0}
.chat-row{width:100%;display:flex;align-items:flex-end;gap:14px;animation:messageIn .22s ease;min-width:0}
.avatar-wrap{width:60px;flex:0 0 60px;display:flex;flex-direction:column;align-items:center;gap:7px;min-height:1px}
.avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid rgba(255,255,255,.88);box-shadow:0 7px 22px rgba(31,45,66,.15);overflow:hidden}
.avatar img{width:48px;height:48px;object-fit:contain}
.time,.user-meta{font-size:13px;color:#39445b;white-space:nowrap}
.message-stack{max-width:780px;min-width:0;display:flex;flex-direction:column;gap:8px}
.bubble{max-width:100%;padding:19px 32px;background:rgba(255,255,255,.97);border:1px solid rgba(98,127,152,.08);border-radius:18px 18px 18px 3px;box-shadow:0 9px 25px rgba(45,68,89,.07);font-size:20px;line-height:1.42;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-row.user{justify-content:flex-end;align-items:center;padding-left:110px}
.user .bubble{max-width:670px;background:linear-gradient(135deg,var(--brand-primary),#73899b);color:#fff;border:0;border-radius:18px 18px 3px 18px;padding:17px 29px;box-shadow:0 10px 28px rgba(62,83,103,.17)}
.user-meta{align-self:center}
.typing{width:72px;height:45px;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(45,68,89,.07);display:flex;align-items:center;justify-content:center;gap:5px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--brand-primary);animation:pulse 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
.option-group{width:calc(100% - 74px);margin:3px 0 18px 74px;animation:messageIn .22s ease}
.option-label{display:block;margin:0 0 12px;text-transform:uppercase;font-size:14px;font-weight:600;letter-spacing:.35px;color:#38445b}
.option-list{display:grid;gap:8px}
.option-list.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.option-button{min-height:68px;padding:14px 20px;border:1.5px solid rgba(98,127,152,.5);border-radius:16px;background:rgba(255,255,255,.72);color:#111827;font-size:19px;line-height:1.18;cursor:pointer;transition:.16s;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 6px 18px rgba(45,68,89,.045)}
.option-button small{font-size:13px;color:var(--muted);margin-top:5px}
.option-button:hover,.option-button:focus-visible{border-color:var(--brand-primary);background:#fff;transform:translateY(-1px);outline:none;box-shadow:0 9px 24px rgba(45,68,89,.1)}
.option-button.selected{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}
.option-button.tone-danger{border-color:#d99a95}.option-button.tone-warning{border-color:#e4b96f}
.input-row{align-items:flex-end}
.input-card{width:min(540px,calc(100% - 74px));padding:21px 30px 18px;background:rgba(255,255,255,.97);border:1px solid rgba(98,127,152,.1);border-radius:18px 18px 18px 3px;box-shadow:var(--shadow);min-width:0}
.input-card label{display:block;font-size:20px;line-height:1.38;margin-bottom:17px}
.input-shell{min-height:70px;border:2px solid #5a6068;border-radius:9px;display:flex;align-items:stretch;background:#fff;overflow:hidden}
.input-shell:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 4px rgba(98,127,152,.13)}
.input-shell input,.input-shell textarea{min-width:0;width:100%;border:0;outline:0;padding:14px 17px;font-size:18px;color:var(--ink);background:transparent;resize:none}
.input-shell textarea{min-height:96px;line-height:1.4}
.send-answer{width:62px;flex:0 0 62px;border:0;background:transparent;color:#aeb6bd;font-size:34px;line-height:1;cursor:pointer;transition:.15s}
.send-answer:hover{color:var(--brand-accent)}
.send-answer:disabled{opacity:.45;cursor:not-allowed}
.input-help{display:flex;justify-content:space-between;gap:10px;min-height:21px;margin-top:7px;font-size:13px;color:#535b72;flex-wrap:wrap}
.input-help .detected{font-weight:700;color:var(--brand-primary)}
.input-error{margin-top:7px;color:#b42318;font-size:14px}
.lookup-chip{margin-top:10px;padding:10px 12px;border-radius:10px;background:#eef4f7;color:#36536b;font-size:13px}
.lookup-chip.searching{background:#fff7e8;color:#8c5a00}.lookup-chip.found{background:#ecfdf3;color:#027a48}.lookup-chip.not-found{background:#f2f4f7;color:#475467}
.final-actions{width:calc(100% - 74px);margin:8px 0 20px 74px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.final-action{min-height:62px;border:0;border-radius:14px;background:#219653;color:#fff;text-decoration:none;font-weight:700;display:flex;align-items:center;justify-content:center;padding:13px 18px;cursor:pointer;text-align:center}
.final-action:hover{filter:brightness(.96)}
.final-action.secondary{background:#fff;color:var(--ink);border:1px solid #b9c3cc}
.priority-banner{width:calc(100% - 74px);margin:0 0 6px 74px;padding:14px 17px;border-radius:13px;background:#fff3e0;border:1px solid #efb55c;color:#7a4600;font-weight:700}
.priority-banner.urgent{background:#fff0ef;border-color:#e38d84;color:#9f251b}
.scroll-button{position:fixed;z-index:25;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:50px;height:50px;border:0;border-radius:50%;background:#fff;box-shadow:0 8px 26px rgba(0,0,0,.18);font-size:29px;cursor:pointer}
.chat-error{padding:25px;text-align:center;background:#fff;border-radius:14px}.chat-error button{margin-left:12px}.noscript{padding:20px;text-align:center}.hidden{display:none!important}
@keyframes messageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
@media(max-width:820px){.site-header{min-height:78px;padding:8px 12px;gap:10px}.brand{max-width:calc(100% - 48px)}.brand-full-logo{width:min(100%,340px);max-height:56px}.site-nav{gap:14px}.site-nav>a{display:none}.chat-background{min-height:calc(100svh - 82px);padding:27px 11px calc(94px + env(safe-area-inset-bottom))}.chat-background:before{inset:82px 0 0}.chat-row{gap:8px}.avatar-wrap{width:46px;flex-basis:46px}.avatar{width:44px;height:44px}.avatar img{width:36px;height:36px}.time,.user-meta{font-size:11px}.message-stack{max-width:calc(100% - 54px)}.bubble{font-size:17px;padding:15px 17px}.chat-row.user{padding-left:44px}.user .bubble{font-size:17px;padding:14px 17px}.option-group,.final-actions,.priority-banner{width:calc(100% - 54px);margin-left:54px}.option-list.grid{grid-template-columns:1fr 1fr}.option-button{font-size:16px;min-height:58px;padding:11px 10px;border-radius:13px}.input-card{width:calc(100% - 54px);padding:17px}.input-card label{font-size:18px}.input-shell{min-height:60px}.input-shell input,.input-shell textarea{font-size:16px;padding:12px}.send-answer{width:50px;flex-basis:50px;font-size:29px}.final-actions{grid-template-columns:1fr}}
@media(max-width:575.98px){body{padding-top:72px}}
@media(max-width:500px){.site-header{min-height:68px;padding:7px 9px;gap:6px}.brand{max-width:calc(100vw - 54px)}.brand-full-logo{width:min(100%,255px);max-height:48px}.restart-button{width:38px;height:38px}.chat-background{min-height:calc(100svh - 72px);padding:20px 8px calc(86px + env(safe-area-inset-bottom))}.chat-background:before{inset:72px 0 0}.avatar-wrap{width:40px;flex-basis:40px}.avatar{width:38px;height:38px}.avatar img{width:31px;height:31px}.message-stack{max-width:calc(100% - 46px)}.bubble{font-size:16px;padding:14px 15px;border-radius:15px 15px 15px 3px}.chat-row.user{padding-left:28px}.user .bubble{font-size:16px;max-width:calc(100vw - 76px)}.option-group,.final-actions,.priority-banner{width:100%;margin-left:0}.option-label{padding-left:4px}.option-list.grid{grid-template-columns:1fr}.option-button{width:100%;min-height:54px}.input-row{gap:6px}.input-row .avatar-wrap{display:none}.input-card{width:100%;padding:16px;border-radius:15px}.input-card label{font-size:17px}.input-help{font-size:12px}.priority-banner{font-size:14px}.final-action{min-height:56px}.scroll-button{width:44px;height:44px}}
@media(max-width:340px){.brand{max-width:calc(100vw - 48px)}.brand-full-logo{width:min(100%,205px);max-height:40px}.site-header{padding-left:8px;padding-right:8px}.chat-background{padding-left:6px;padding-right:6px}.bubble{font-size:15px}.user-meta{display:none}}
