:root{--bg:#050b14;--panel:#0c1726;--panel2:#101f32;--line:rgba(148,188,224,.16);--text:#f5f8fc;--muted:#8fa2b7;--cyan:#56e0d3;--blue:#4d85ff;--violet:#8d6bff;--gold:#f2bf62;--radius:24px;color-scheme:dark;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#030812;color:var(--text)}body{overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{position:relative;width:min(100%,760px);min-height:100vh;margin:auto;padding:22px 24px 150px;overflow:hidden;background:radial-gradient(circle at 50% -10%,rgba(38,96,164,.18),transparent 42%),var(--bg)}.grid-bg{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(88,141,203,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(88,141,203,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000,transparent 70%);pointer-events:none}.glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.18;pointer-events:none}.glow-a{width:260px;height:260px;background:#3c79ff;top:20%;left:-180px}.glow-b{width:280px;height:280px;background:#8b5dff;right:-200px;top:54%}.topbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(93,226,214,.36);border-radius:13px;background:linear-gradient(145deg,rgba(74,134,255,.24),rgba(86,224,211,.08));color:var(--cyan);font-weight:900;letter-spacing:-1px;box-shadow:inset 0 0 20px rgba(86,224,211,.08)}.brand strong,.brand small{display:block}.brand strong{font-size:16px;letter-spacing:.04em}.brand small{margin-top:3px;font-size:8px;letter-spacing:.16em;color:#6f859d}.ghost-button{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(10,22,37,.72);color:#91a6bc;font-size:12px}.hero{position:relative;z-index:1;text-align:center;padding-top:30px}.progress-line{display:flex;align-items:center;gap:12px;color:#71879e;font-size:11px;letter-spacing:.08em}.progress-line i{height:2px;flex:1;background:rgba(129,160,194,.16);overflow:hidden}.progress-line b{display:block;width:33%;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));transition:.4s}.progress-line strong{font-size:11px;color:#a9b8c8;font-weight:500}.agent-wrap{position:relative;width:148px;height:148px;margin:32px auto 22px;display:grid;place-items:center}.agent-core{position:relative;z-index:2;display:grid;place-items:center;width:78px;height:78px;border:1px solid rgba(86,224,211,.6);border-radius:28px;background:linear-gradient(145deg,#102c43,#0a1727);box-shadow:0 0 60px rgba(64,166,255,.3),inset 0 0 30px rgba(86,224,211,.12);transform:rotate(45deg)}.agent-core span{transform:rotate(-45deg);font-size:22px;font-weight:900;background:linear-gradient(135deg,#fff,var(--cyan));-webkit-background-clip:text;color:transparent}.orbit{position:absolute;border:1px solid rgba(87,175,226,.25);border-radius:50%;animation:spin 14s linear infinite}.orbit:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.orbit-one{inset:14px}.orbit-one:after{top:11px;left:21px}.orbit-two{inset:0;border-style:dashed;animation-direction:reverse;animation-duration:22s}.orbit-two:after{right:8px;bottom:35px;background:var(--violet);box-shadow:0 0 14px var(--violet)}@keyframes spin{to{transform:rotate(360deg)}}.online{position:absolute;z-index:3;bottom:0;display:flex;gap:6px;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#091524;color:#98aabd;font-size:10px}.online i{width:6px;height:6px;border-radius:50%;background:#54e49f;box-shadow:0 0 8px #54e49f}.eyebrow{margin:0;color:var(--cyan);font-size:10px;font-weight:700;letter-spacing:.25em}.hero h1{max-width:630px;margin:10px auto 9px;font-size:clamp(28px,7vw,45px);line-height:1.18;letter-spacing:-.045em}.subtitle{max-width:610px;margin:0 auto;color:#91a3b7;font-size:14px;line-height:1.8}.conversation-card{text-align:left;margin:28px 0 18px;padding:19px 20px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(17,34,54,.95),rgba(8,19,33,.94));box-shadow:0 18px 50px rgba(0,0,0,.2)}.conversation-card header{display:flex;align-items:center;gap:9px}.avatar-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(86,224,211,.1);color:var(--cyan);font-size:10px;font-weight:800}.conversation-card header strong{font-size:13px}.conversation-card header small{margin-left:auto;color:#6f849b;font-size:10px}.conversation-card>p{margin:14px 0 0;color:#dbe5ef;line-height:1.75;font-size:15px}.typing{display:flex;align-items:center;gap:5px;margin-top:15px;color:#7f93a8;font-size:11px}.typing i{width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.typing span{margin-left:5px}@keyframes pulse{50%{opacity:.2;transform:translateY(-3px)}}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;text-align:left}.quick-grid button{position:relative;display:grid;grid-template-columns:37px 1fr;column-gap:10px;padding:15px;border:1px solid var(--line);border-radius:17px;background:rgba(10,23,39,.78);color:#eaf1f7;transition:.2s}.quick-grid button:hover{transform:translateY(-2px);border-color:rgba(86,224,211,.42);background:rgba(14,31,50,.95)}.quick-grid button>span{grid-row:1/3;display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:linear-gradient(145deg,rgba(75,133,255,.18),rgba(86,224,211,.08));color:var(--cyan);font-size:17px}.quick-grid b{font-size:13px}.quick-grid small{margin-top:4px;color:#74899f;font-size:10px}.composer-panel{position:fixed;z-index:10;left:50%;bottom:0;width:min(100%,760px);transform:translateX(-50%);padding:15px 24px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,#050b14 75%,transparent);pointer-events:none}.composer,.composer-panel>p{pointer-events:auto}.composer{display:flex;align-items:flex-end;gap:8px;padding:8px;border:1px solid rgba(107,155,197,.24);border-radius:20px;background:#0d1928;box-shadow:0 16px 50px rgba(0,0,0,.45)}.composer textarea{flex:1;min-height:40px;max-height:120px;padding:10px;border:0;outline:0;resize:none;background:transparent;color:#f5f8fc;line-height:1.45}.composer textarea::placeholder{color:#60748a}.composer button{height:40px;border:0;border-radius:13px}.composer #voiceButton{width:40px;background:#15283d;color:#85a0ba}.composer #sendButton{padding:0 14px;background:linear-gradient(135deg,var(--cyan),#5ca0ff);color:#03111a;font-weight:800}.composer #sendButton:disabled{opacity:.3;cursor:not-allowed}.composer-panel>p{margin:8px 0 0;text-align:center;color:#5f748a;font-size:10px}.composer-panel>p span{color:#59dba3}.result-view{position:fixed;z-index:20;inset:0;margin:auto;width:min(100%,760px);background:var(--bg);overflow:hidden}.result-head{height:82px;display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line);background:rgba(7,17,31,.96)}.result-head button{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#0e1c2d;color:#dce8f2;font-size:18px}.result-head div{flex:1}.result-head span{color:var(--cyan);font-size:9px;letter-spacing:.16em}.result-head h2{margin:3px 0 0;font-size:18px}.result-head>b{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(86,224,211,.12);color:var(--cyan);font-size:19px}.result-scroll{height:calc(100vh - 82px);overflow:auto;padding:20px 22px 110px}.diagnosis-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px;border:1px solid rgba(85,224,211,.23);border-radius:22px;background:linear-gradient(145deg,rgba(23,54,69,.75),rgba(12,29,45,.9))}.diagnosis-card div{padding:13px;border-radius:14px;background:rgba(3,12,22,.32)}.diagnosis-card small,.diagnosis-card strong{display:block}.diagnosis-card small{color:#8196aa;font-size:10px}.diagnosis-card strong{margin-top:6px;font-size:14px}.diagnosis-card p{grid-column:1/-1;margin:4px 0 0;color:#cbd7e2;line-height:1.7;font-size:14px}.section-block,.resource-block,.project-card,.product-card{margin-top:14px;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}.section-block>header{display:flex;align-items:center;gap:10px}.section-block>header span{color:var(--cyan);font-size:10px}.section-block h3,.resource-block h3,.project-card h3,.product-card h3{margin:0;font-size:17px}.section-block ul{margin:15px 0 0;padding:0;list-style:none}.section-block li{position:relative;padding:10px 0 10px 22px;border-bottom:1px solid rgba(132,165,196,.09);color:#c9d5e0;font-size:13px;line-height:1.65}.section-block li:before{content:"";position:absolute;left:2px;top:18px;width:7px;height:7px;border:2px solid var(--cyan);border-radius:50%}.steps{display:grid;gap:10px;margin-top:15px}.step{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:13px;border-radius:14px;background:#0a1523}.step b{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(77,133,255,.15);color:#87b3ff;font-size:11px}.step strong,.step small{display:block}.step strong{font-size:13px}.step small{margin-top:5px;color:#8295a8;line-height:1.55}.resource-block>header{display:flex;justify-content:space-between;align-items:center}.resource-block>header span,.project-card>span,.product-copy>span{color:var(--cyan);font-size:9px;letter-spacing:.15em}.resource-block>header b{padding:5px 9px;border-radius:999px;background:rgba(86,224,211,.1);color:var(--cyan);font-size:9px}.resource-item{display:flex;gap:12px;align-items:center;margin-top:12px;padding:13px;border-radius:15px;background:#0a1523}.resource-icon{display:grid;place-items:center;width:40px;height:48px;border-radius:10px;background:linear-gradient(160deg,#1c4e72,#17304d);color:#a8f4ed;font-weight:800;font-size:11px}.resource-item div{flex:1}.resource-item strong,.resource-item small{display:block}.resource-item strong{font-size:12px}.resource-item small{margin-top:4px;color:#72869a;font-size:10px}.resource-item button{padding:8px 10px;border:1px solid rgba(86,224,211,.26);border-radius:10px;background:transparent;color:var(--cyan);font-size:10px}.project-card{background:linear-gradient(145deg,rgba(48,40,92,.72),rgba(16,28,50,.96));border-color:rgba(141,107,255,.28)}.project-card h3{margin-top:7px}.project-card p{color:#aebbd0;line-height:1.65;font-size:13px}.project-card button,.product-copy button{width:100%;padding:12px 14px;border:0;border-radius:13px;background:linear-gradient(135deg,#8d6bff,#4d85ff);color:white;font-weight:700}.product-card{padding:0;overflow:hidden}.video-shell{aspect-ratio:16/9;background:#02060c}.video-shell video{width:100%;height:100%;object-fit:cover}.product-copy{padding:18px}.product-copy h3{margin-top:6px}.product-copy p{color:#91a3b6;font-size:12px;line-height:1.65}.product-copy button{background:linear-gradient(135deg,var(--gold),#f29a4b);color:#231305}.modal-backdrop,.drawer-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:rgba(1,6,13,.82);backdrop-filter:blur(15px);opacity:0;visibility:hidden;transition:.25s}.modal-backdrop.show,.drawer-backdrop.show{opacity:1;visibility:visible}.welcome-modal,.project-form,.success-card{width:min(100%,520px);padding:27px;border:1px solid rgba(119,165,207,.25);border-radius:27px;background:linear-gradient(145deg,#13243a,#091524);box-shadow:0 30px 90px rgba(0,0,0,.5)}.welcome-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:19px;border:1px solid rgba(86,224,211,.35);border-radius:18px;background:rgba(86,224,211,.08);color:var(--cyan);font-weight:900}.welcome-modal>span,.project-form header span,.success-card>span{color:var(--cyan);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.welcome-modal h2,.project-form h2,.success-card h2{margin:7px 0 9px;font-size:24px}.welcome-modal p,.success-card p{color:#91a3b6;line-height:1.7;font-size:13px}.welcome-modal label,.project-form label{display:grid;gap:7px;margin-top:16px;color:#9fb0c1;font-size:11px}.welcome-modal input,.project-form input,.project-form textarea,.project-form select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;outline:0;background:#081321;color:white}.welcome-modal input:focus,.project-form input:focus,.project-form textarea:focus{border-color:rgba(86,224,211,.5)}.welcome-modal>button,.project-form .primary,.success-card>button{width:100%;margin-top:15px;padding:14px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--cyan),#5a9cff);color:#04121b;font-weight:800}.welcome-modal>small{display:block;margin-top:12px;text-align:center;color:#60758a;font-size:9px}.project-form{max-height:92vh;overflow:auto}.project-form header{display:flex;align-items:start;justify-content:space-between}.project-form header button,.drawer-backdrop aside header button{border:0;background:transparent;color:#8195aa;font-size:22px}.project-form textarea{min-height:78px;resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.upload-note{padding:11px;border:1px dashed var(--line);border-radius:12px;color:#6f849a!important}.success-card{text-align:center}.success-card>div:first-child{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 17px;border-radius:50%;background:rgba(84,228,159,.12);color:#54e49f;font-size:27px}.task-code{margin:18px 0;padding:14px;border-radius:14px;background:#081321}.task-code small,.task-code strong{display:block}.task-code small{color:#71869b;font-size:9px}.task-code strong{margin-top:5px;color:var(--cyan);letter-spacing:.1em}.drawer-backdrop{place-items:end center;padding:0}.drawer-backdrop aside{width:min(100%,760px);padding:25px 24px calc(30px + env(safe-area-inset-bottom));border-radius:27px 27px 0 0;background:#101e30;transform:translateY(30px);transition:.25s}.drawer-backdrop.show aside{transform:none}.drawer-backdrop aside header{display:flex;justify-content:space-between}.drawer-backdrop aside p,.drawer-backdrop aside li{color:#a8b6c6;font-size:13px;line-height:1.7}
@media(max-width:520px){.app-shell{padding:17px 16px 145px}.brand small{display:none}.ghost-button{font-size:10px}.hero{padding-top:24px}.agent-wrap{width:128px;height:128px;margin-top:25px}.agent-core{width:68px;height:68px}.hero h1{font-size:29px}.subtitle{font-size:12px}.conversation-card{padding:16px}.quick-grid{gap:8px}.quick-grid button{grid-template-columns:32px 1fr;padding:12px 10px}.quick-grid button>span{width:32px;height:32px}.quick-grid b{font-size:12px}.quick-grid small{font-size:9px}.composer-panel{padding-left:15px;padding-right:15px}.composer #voiceButton{display:none}.result-scroll{padding-left:15px;padding-right:15px}.form-grid{grid-template-columns:1fr}.project-form{padding:21px}.diagnosis-card{grid-template-columns:1fr}.diagnosis-card p{grid-column:1}}

/* Personal portrait branding */
.brand-mark,.agent-core,.avatar-dot,.welcome-icon{overflow:hidden;padding:2px}
.brand-mark img,.agent-core img,.avatar-dot img,.welcome-icon img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.brand-mark img{border-radius:10px}
.agent-core{width:84px;height:84px;padding:3px;border-radius:50%;transform:none;animation:advisor-breathe 3.2s ease-in-out infinite}
.agent-core img{border-radius:50%}
.avatar-dot img{border-radius:7px}
.welcome-icon{padding:3px;border-radius:50%}
.welcome-icon img{border-radius:50%}
@keyframes advisor-breathe{0%,100%{transform:scale(1);box-shadow:0 0 48px rgba(64,166,255,.26),inset 0 0 24px rgba(86,224,211,.1)}50%{transform:scale(1.055);box-shadow:0 0 72px rgba(64,166,255,.42),0 0 24px rgba(86,224,211,.2),inset 0 0 24px rgba(86,224,211,.14)}}
@media(max-width:520px){.agent-core{width:72px;height:72px}}
@media(min-width:760px){.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}}

/* Step navigation */
.progress-line{gap:10px}.progress-line>span,.progress-line>strong{flex:none}.step-nav-button{display:flex;align-items:center;justify-content:center;gap:5px;flex:none;height:30px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:rgba(10,22,37,.72);color:#a9b8c8;font-size:10px}.step-nav-button span{color:var(--cyan);font-size:14px}.step-nav-button em{font-style:normal}.step-nav-button:hover:not(:disabled){border-color:rgba(86,224,211,.42);background:rgba(14,31,50,.95);color:#eef6fa}.step-nav-button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.step-nav-button:disabled{opacity:.38;cursor:default}.result-head .result-nav{display:flex;flex:none;gap:7px}.result-head .result-nav button:last-child{color:var(--cyan)}.result-head .result-title{flex:1}
@media(max-width:520px){.progress-line{gap:7px}.step-nav-button{width:30px;padding:0}.step-nav-button em{display:none}.progress-line strong{max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-head{gap:9px;padding-left:15px;padding-right:15px}.result-head .result-nav{gap:5px}.result-head .result-nav button{width:34px;height:38px}.result-head h2{font-size:16px}}

/* Resource matching result */
.resource-match-intro{padding:21px;border:1px solid rgba(86,224,211,.28);border-radius:22px;background:linear-gradient(145deg,rgba(19,61,72,.76),rgba(10,29,45,.94))}.resource-match-intro>span,.companion-card>div>span{color:var(--cyan);font-size:9px;letter-spacing:.15em}.resource-match-intro h3{margin:7px 0 8px;font-size:19px}.resource-match-intro p{margin:0;color:#b5c5d3;font-size:13px;line-height:1.7}.resource-action,.resource-pending{flex:none;padding:9px 11px;border-radius:10px;font-size:10px;white-space:nowrap}.resource-action{border:1px solid rgba(86,224,211,.32);color:var(--cyan);text-decoration:none;background:rgba(86,224,211,.06)}.resource-action:hover{background:rgba(86,224,211,.14)}.resource-pending{border:1px dashed rgba(143,162,183,.24);color:#6f8499;background:rgba(8,19,33,.35)}.companion-card{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;margin-top:14px;padding:21px;border:1px solid rgba(141,107,255,.3);border-radius:22px;background:linear-gradient(145deg,rgba(45,39,86,.78),rgba(14,27,48,.96))}.companion-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,rgba(141,107,255,.32),rgba(77,133,255,.18));color:#c8baff;font-size:20px}.companion-card h3{margin:7px 0 0;font-size:18px}.companion-card p{margin:9px 0 14px;color:#aebbd0;font-size:13px;line-height:1.65}.companion-card button{width:100%;padding:12px 14px;border:0;border-radius:13px;background:linear-gradient(135deg,#8d6bff,#4d85ff);color:white;font-weight:700}.result-view[data-mode="resource"] .resource-block{margin-top:14px;border-color:rgba(86,224,211,.2)}
@media(max-width:520px){.resource-item{align-items:flex-start;flex-wrap:wrap}.resource-item>div{min-width:calc(100% - 52px)}.resource-action,.resource-pending{margin-left:52px}.companion-card{grid-template-columns:40px 1fr;padding:17px}.companion-icon{width:40px;height:40px}}
[hidden]{display:none!important}
/* Mobile voice consultation controls. Keep this override after the legacy compact rule. */
.composer #voiceButton{display:grid;grid-template-columns:auto auto;place-content:center;align-items:center;gap:4px;min-width:58px;padding:0 10px;background:#15283d;color:#9fb6cc;white-space:nowrap;transition:.2s}.composer #voiceButton span{font-size:17px;line-height:1}.composer #voiceButton em{font-size:10px;font-style:normal}.composer #voiceButton:hover{color:var(--cyan);background:#183149}.composer #voiceButton.is-listening{color:#fff;background:#e85562;box-shadow:0 0 0 5px rgba(232,85,98,.13);animation:voicePulse 1.2s ease-in-out infinite}.composer #voiceButton.is-processing{color:var(--cyan);pointer-events:none}@keyframes voicePulse{50%{box-shadow:0 0 0 10px rgba(232,85,98,.04)}}
@media(max-width:520px){.app-shell{padding-bottom:165px}.composer-panel{padding-left:12px;padding-right:12px}.composer{gap:6px;padding:7px}.composer textarea{min-width:0;padding:9px 7px}.composer #voiceButton{display:grid;min-width:48px;width:48px;padding:0;grid-template-columns:1fr;gap:1px}.composer #voiceButton span{font-size:16px}.composer #voiceButton em{font-size:9px}.composer #sendButton{padding:0 11px}.composer-panel>p{font-size:9px}}
/* Synced consultation fields */
.field-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-label b{padding:3px 7px;border-radius:999px;background:rgba(86,224,211,.1);color:var(--cyan);font-size:8px;font-weight:600;white-space:nowrap}
