:root{color-scheme:dark;--ink:#071525;--navy:#0b2138;--blue:#28a8ff;--blue-soft:#8bd3ff;--orange:#ff8a42;--paper:#f8fbff;--muted:#8ea4b7;--line:#ffffff1f;--danger:#ff9a8f;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{min-height:100%}
body{margin:0;color:var(--paper);background:radial-gradient(circle at 15% 10%,#153f64 0,transparent 34%),radial-gradient(circle at 90% 84%,#5d2b1f 0,transparent 28%),linear-gradient(145deg,#06111e,#0a1f35 58%,#0b1726)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}
button,input,textarea,select{font:inherit}
.intake-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(460px,1.18fr);gap:clamp(28px,6vw,92px);align-items:center;width:min(1180px,calc(100% - 48px));min-height:100vh;margin:auto;padding:48px 0}
.intake-brand{max-width:520px}
.eyebrow,.panel-heading>span,.chat-head span{color:var(--blue-soft);font-size:11px;font-weight:900;letter-spacing:.2em}
.intake-brand h1{margin:14px 0 20px;font-size:clamp(48px,7vw,88px);line-height:.95;letter-spacing:-.055em}
.intake-brand>p:not(.eyebrow){max-width:470px;color:#c5d4df;font-size:16px;line-height:1.9}
.brand-orbit{position:relative;display:grid;place-items:center;width:104px;height:104px;margin-bottom:28px;border:1px solid #7fd0ff55;border-radius:50%;box-shadow:0 0 48px #28a8ff33}
.brand-orbit:before,.brand-orbit:after{content:"";position:absolute;border:1px solid #ff9a5a55;border-radius:50%;inset:13px}
.brand-orbit:after{inset:-12px;border-color:#ffffff1b}
.brand-orbit b{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;color:#071525;background:linear-gradient(145deg,var(--blue-soft),var(--blue));box-shadow:0 14px 30px #0008}
.brand-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 18px var(--orange)}
.brand-orbit i:nth-child(1){top:0;left:28px}
.brand-orbit i:nth-child(2){right:-3px;bottom:28px}
.brand-orbit i:nth-child(3){left:6px;bottom:8px}
.brand-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.brand-points span{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:#cfe5f4;background:#ffffff0a;font-size:12px}
.intake-panel{padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:30px;background:linear-gradient(160deg,#102b45e8,#091727e8);box-shadow:0 30px 90px #0009,0 1px 0 #ffffff22 inset;backdrop-filter:blur(18px)}
.panel-heading h2,.chat-head h2{margin:8px 0;color:#fff;font-size:clamp(28px,4vw,42px)}
.panel-heading p{margin:0 0 28px;color:var(--muted);line-height:1.7}
.intake-form{display:grid;gap:18px}
.intake-form label span{display:block;margin-bottom:8px;color:#cbd9e3;font-size:12px;font-weight:750}
.intake-form input,.message-form textarea,.review-login input,.review-card select,.review-card textarea{width:100%;border:1px solid #ffffff24;border-radius:14px;outline:0;color:#f7fbff;background:#061321cc;transition:.2s}
.intake-form input{height:52px;padding:0 16px}
.intake-form input:focus,.message-form textarea:focus,.review-login input:focus,.review-card select:focus,.review-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #28a8ff1c}
.intake-form button,.message-form button,.review-card button,.review-login button{border:0;border-radius:14px;color:#071525;background:linear-gradient(135deg,#69c9ff,#28a8ff 55%,#ff9b55);font-weight:900;cursor:pointer;box-shadow:0 12px 28px #0a75b63d}
.intake-form button{display:flex;align-items:center;justify-content:space-between;height:54px;padding:0 19px}
.intake-form button:disabled,.message-form button:disabled,.review-card button:disabled{cursor:not-allowed;opacity:.5}
.privacy-note{display:block;margin-top:22px;color:#72899b;line-height:1.6}
.form-error{min-height:20px;margin:12px 0 0;color:var(--danger);font-size:12px}
.chat-panel{display:flex;flex-direction:column;height:min(780px,calc(100vh - 56px));padding:0;overflow:hidden}
.chat-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}
.chat-head h2{margin-bottom:0;font-size:26px}
.text-button{border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:#c9d8e3;background:#ffffff08;cursor:pointer}
.progress-card{padding:17px 28px;border-bottom:1px solid var(--line);background:#07152399}
.progress-card>div:first-child{display:flex;justify-content:space-between;color:#bdd0de;font-size:12px}
.progress-card strong{color:var(--orange);font-size:18px}
.progress-track{height:7px;margin:10px 0;border-radius:999px;overflow:hidden;background:#ffffff12}
.progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--orange));transition:width .35s}
.progress-card small{color:#71899b}
.messages{flex:1;overflow:auto;padding:26px 28px 14px;scroll-behavior:smooth}
.message{display:flex;margin-bottom:18px}
.message.user{justify-content:flex-end}
.message article{max-width:min(78%,620px);padding:13px 15px;border-radius:17px;line-height:1.75;white-space:pre-wrap}
.message.assistant article{border:1px solid #2daeff42;border-top-left-radius:5px;color:#eaf7ff;background:#0e3150}
.message.user article{border-top-right-radius:5px;color:#172438;background:linear-gradient(145deg,#ffb477,#ff8a42)}
.message small{display:block;margin-top:5px;opacity:.55;font-size:9px}
.message-form{display:grid;grid-template-columns:1fr 82px;gap:10px;padding:15px 18px calc(15px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#061321e8}
.message-form textarea{min-height:54px;max-height:130px;padding:12px 14px;resize:vertical}
.message-form button{min-height:54px}
.chat-panel>.form-error{position:absolute}
.complete-card{margin:4px 0 18px;padding:15px;border:1px solid #65d2a455;border-radius:16px;color:#bdf4dc;background:#153c30}
.review-shell{width:min(1240px,calc(100% - 40px));margin:auto;padding:38px 0 80px}
.review-top{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}
.review-top h1{margin:8px 0 0;font-size:44px}
.review-login{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#ffffff09}
.review-login input{height:44px;padding:0 12px}
.review-login button{padding:0 18px}
.review-list{display:grid;gap:18px;margin-top:22px}
.review-card{padding:22px;border:1px solid var(--line);border-radius:22px;background:#0c2238e8}
.review-card header{display:flex;justify-content:space-between;gap:18px}
.review-card h2{margin:6px 0}
.review-card header span{color:var(--blue-soft);font-size:11px;font-weight:800}
.review-card header b{color:var(--orange)}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.review-block{padding:14px;border:1px solid var(--line);border-radius:14px;background:#06132199}
.review-block h3{margin:0 0 8px;font-size:14px}
.review-block p{margin:0;color:#bfd0dc;line-height:1.7;white-space:pre-wrap}
.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.review-card select,.review-card textarea{min-height:44px;padding:9px 11px}
.review-card textarea{grid-column:1/-1}
.review-buttons{display:flex;gap:10px;grid-column:1/-1}
.review-card button{min-height:42px;padding:0 18px}
.review-card button.reject{color:#fff;background:#8b3a41}
.status-pill{padding:6px 10px;border-radius:999px;color:#bfe5fa;background:#177eb744;font-size:10px}
@media(max-width:840px){.intake-shell{grid-template-columns:1fr;width:min(680px,calc(100% - 28px));padding:28px 0}
.intake-brand{padding:20px 8px 0}
.intake-brand h1{font-size:54px}
.chat-panel{height:calc(100vh - 28px)}
.review-top{align-items:flex-start;flex-direction:column}
.review-login,.review-grid,.review-actions{grid-template-columns:1fr}
.review-card textarea,.review-buttons{grid-column:auto}
}
@media(max-width:520px){.intake-shell{width:100%;padding:0;gap:0}
.intake-brand{display:none}
.intake-panel{min-height:100vh;border:0;border-radius:0}
.login-panel{display:flex;flex-direction:column;justify-content:center}
.chat-panel{height:100vh}
.chat-head,.progress-card{padding-left:18px;padding-right:18px}
.messages{padding:20px 16px}
.message article{max-width:88%}
.review-shell{width:calc(100% - 24px)}
.review-top h1{font-size:34px}
}
