:root{
  --bg:#0A0D12;
  --surface:#121721;
  --surface-2:#171e29;
  --surface-3:#1c2532;
  --line:#1F2937;
  --text:#F3F6FA;
  --muted:#98A2B3;
  --gold:#E2B170;
  --blue:#0284C7;
  --green:#10B981;
  --danger:#F87171;
  --warn:#F59E0B;
  --radius:22px;
  --radius-sm:14px;
  --shadow:0 20px 60px rgba(0,0,0,.28);
  --safe-bottom:max(12px,env(safe-area-inset-bottom));
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark}
body{margin:0;background:radial-gradient(circle at 50% -15%,rgba(2,132,199,.13),transparent 34%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-bottom));transform:translate(-50%,14px);background:#F3F6FA;color:#10151d;padding:11px 16px;border-radius:999px;font-weight:700;font-size:13px;z-index:1000;opacity:0;pointer-events:none;transition:.22s;max-width:min(90vw,560px);text-align:center;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translate(-50%,0)}

.brand-lockup{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;padding:0;text-align:left}
.brand-lockup.compact{pointer-events:none}
.brand-image{width:42px;height:42px;object-fit:cover;border-radius:12px;border:1px solid rgba(226,177,112,.24)}
.brand-lockup strong{font-size:17px;letter-spacing:.13em;display:block}
.brand-lockup span{display:block;color:var(--gold);font-size:9px;letter-spacing:.18em;margin-top:2px}
.text-btn,.icon-btn{border:1px solid var(--line);background:rgba(18,23,33,.85);color:var(--muted);border-radius:12px;padding:9px 11px}
.text-btn.active,.text-btn:hover,.icon-btn:hover{color:var(--text);border-color:#3b4656}
.icon-btn{width:40px;height:40px;display:grid;place-items:center;padding:0;font-size:18px}

.onboarding-screen{min-height:100vh;display:flex;flex-direction:column}
.onboarding-topbar,.app-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,34px);border-bottom:1px solid rgba(31,41,55,.7);backdrop-filter:blur(18px);background:rgba(10,13,18,.8);position:sticky;top:0;z-index:20}
.top-actions,.header-actions{display:flex;align-items:center;gap:8px}
.onboarding-shell{width:min(680px,calc(100% - 28px));margin:auto;padding:40px 0 72px}
.onboarding-progress{height:4px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:22px}
.onboarding-progress span{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--blue),var(--gold));transition:width .25s}
.onboarding-card{background:linear-gradient(145deg,rgba(18,23,33,.98),rgba(13,18,26,.98));border:1px solid var(--line);border-radius:30px;padding:clamp(24px,5vw,44px);box-shadow:var(--shadow)}
.step-kicker{font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:800;text-transform:uppercase}
.onboarding-card h1{font-size:clamp(29px,6vw,46px);line-height:1.05;margin:12px 0}
.onboarding-card>p{color:var(--muted);line-height:1.55;margin:0 0 26px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice{border:1px solid var(--line);background:var(--surface-2);border-radius:18px;padding:18px;text-align:left;color:var(--text);min-height:110px;transition:.18s;position:relative}
.choice:hover,.choice.selected{border-color:rgba(226,177,112,.7);transform:translateY(-1px);background:#1b2430}
.choice.selected:after{content:"✓";position:absolute;right:14px;top:12px;color:var(--green);font-weight:900}
.choice b{display:block;font-size:16px;margin-bottom:8px}
.choice span{display:block;color:var(--muted);font-size:13px;line-height:1.4}
.onboarding-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}
.primary,.secondary,.ghost,.danger-btn{border-radius:14px;padding:13px 17px;font-weight:800;border:1px solid transparent}
.primary{background:linear-gradient(135deg,var(--gold),#c58f4b);color:#15110a}
.primary:hover{filter:brightness(1.05)}
.secondary{background:var(--surface-3);border-color:#344153;color:var(--text)}
.ghost{background:transparent;border-color:var(--line);color:var(--muted)}
.danger-btn{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.2);color:#fca5a5}

.app-shell{min-height:100vh;padding-bottom:calc(78px + var(--safe-bottom))}
.app-header{height:66px}
.profile-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 11px;border-radius:999px;font-size:13px}
.profile-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.profile-dot.guest{background:#667085}
.main-content{width:min(1080px,100%);margin:0 auto;padding:24px clamp(14px,3vw,28px) 40px}
.view{display:none;animation:viewIn .18s ease}
.view.active{display:block}
@keyframes viewIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}

.page-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.page-title-row h1{margin:0;font-size:clamp(26px,4vw,38px)}
.page-title-row p{margin:7px 0 0;color:var(--muted)}
.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:800;text-transform:uppercase}
.card{background:linear-gradient(145deg,var(--surface),#0f141c);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.card h2,.card h3{margin:0 0 8px}
.card p{color:var(--muted);line-height:1.5}

.context-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:22px;border-radius:26px;background:linear-gradient(135deg,rgba(2,132,199,.13),rgba(18,23,33,.95) 50%,rgba(226,177,112,.08));border:1px solid #263245;margin-bottom:24px}
.context-card h2{font-size:clamp(22px,4vw,32px);margin:5px 0 6px}.context-card p{margin:0;color:var(--muted)}
.context-badge{border:1px solid rgba(226,177,112,.28);color:var(--gold);padding:9px 12px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.progress-line{height:6px;background:var(--line);border-radius:999px;margin-top:14px;max-width:360px;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--green)}

.assistant-stage{position:relative;min-height:430px;margin:2px auto 8px;display:grid;place-items:center;max-width:780px}
.assistant-orbit{position:relative;width:min(660px,100%);height:410px}
.ask-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:176px;height:176px;border-radius:50%;border:1px solid rgba(226,177,112,.45);background:radial-gradient(circle at 40% 30%,#1f2b39,#111720 62%,#0d1117);box-shadow:0 0 0 12px rgba(226,177,112,.025),0 30px 80px rgba(0,0,0,.38);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:3}
.ask-core:before{content:"";position:absolute;inset:9px;border-radius:50%;border:1px dashed rgba(2,132,199,.28);animation:spin 22s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ask-core .ask-letter{font-size:42px;color:var(--gold);font-weight:300;line-height:1}
.ask-core b{font-size:18px}.ask-core span{font-size:11px;color:var(--muted)}
.quick-tile{position:absolute;width:154px;min-height:92px;border:1px solid var(--line);background:rgba(18,23,33,.94);border-radius:18px;color:var(--text);padding:14px;text-align:left;transition:.16s;box-shadow:0 10px 32px rgba(0,0,0,.12)}
.quick-tile:hover{transform:translateY(-2px);border-color:#3a495c}.quick-tile .qicon{font-size:20px;color:var(--blue);display:block;margin-bottom:7px}.quick-tile b{display:block;font-size:13px}.quick-tile small{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin-top:4px}
.quick-tile.q1{left:50%;top:2px;transform:translateX(-50%)}.quick-tile.q1:hover{transform:translateX(-50%) translateY(-2px)}
.quick-tile.q2{right:2%;top:82px}.quick-tile.q3{right:5%;bottom:34px}.quick-tile.q4{left:5%;bottom:34px}.quick-tile.q5{left:2%;top:82px}.quick-tile.q6{left:50%;bottom:0;transform:translateX(-50%)}.quick-tile.q6:hover{transform:translateX(-50%) translateY(-2px)}

.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 12px}.section-row h2{font-size:18px;margin:0}.section-row button{border:0;background:none;color:var(--muted)}
.discovery-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);overflow-x:auto;gap:12px;padding-bottom:8px;scroll-snap-type:x mandatory}.discovery-card{scroll-snap-align:start;min-height:154px;display:flex;flex-direction:column;justify-content:space-between}.discovery-card .type{font-size:10px;letter-spacing:.12em;color:var(--blue);font-weight:900;text-transform:uppercase}.discovery-card.sponsored{border-color:rgba(226,177,112,.24)}.discovery-card.sponsored .type{color:var(--gold)}.discovery-card h3{font-size:15px;margin:9px 0 5px}.discovery-card p{font-size:12px;margin:0}.source-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:16px;color:var(--muted);font-size:10px}.source-row button{border:0;background:none;color:var(--text);font-weight:700;padding:0}
.save-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;border-style:dashed}.save-card p{margin:4px 0 0}.save-actions{display:flex;gap:8px;flex-shrink:0}

.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:40;width:min(560px,100%);height:calc(68px + var(--safe-bottom));padding:7px 16px var(--safe-bottom);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:rgba(10,13,18,.93);border:1px solid #1d2632;border-bottom:0;border-radius:22px 22px 0 0;backdrop-filter:blur(20px);box-shadow:0 -18px 42px rgba(0,0,0,.24)}
.bottom-nav button{border:0;background:transparent;color:#7d8796;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px}.bottom-nav button.active{color:var(--text)}.nav-icon{font-size:19px}.nav-main{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#b77b36);color:#15110a;font-weight:900;font-size:18px;margin-top:-15px;box-shadow:0 0 0 6px var(--bg)}

.assistant-panel{max-width:780px;margin:0 auto}.chat-feed{display:flex;flex-direction:column;gap:12px;min-height:320px;margin:18px 0}.bubble{max-width:84%;padding:14px 16px;border-radius:18px;border:1px solid var(--line);line-height:1.5;font-size:14px}.bubble.user{align-self:flex-end;background:#1b2735}.bubble.tothi{align-self:flex-start;background:var(--surface)}.bubble.tothi b{color:var(--gold)}
.composer{position:sticky;bottom:76px;background:rgba(10,13,18,.92);backdrop-filter:blur(12px);padding:10px 0;display:grid;grid-template-columns:auto 1fr auto;gap:8px}.composer textarea{resize:none;min-height:48px;max-height:120px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:16px;padding:13px;outline:none}.composer textarea:focus{border-color:#40536b}.composer .icon-btn{height:48px;width:48px}
.suggestion-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px}.suggestion-row button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:9px 12px;border-radius:999px;font-size:11px}

.grid-2,.grid-3{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.list-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-card .left{display:flex;align-items:center;gap:12px}.list-icon{width:42px;height:42px;border-radius:13px;background:#182230;display:grid;place-items:center;color:var(--blue);font-weight:900}.list-card small,.muted{color:var(--muted)}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.settings-row:first-child{border-top:0}.segmented{display:flex;gap:5px;background:#0d1219;padding:4px;border-radius:12px}.segmented button{border:0;background:transparent;color:var(--muted);padding:8px 9px;border-radius:9px;font-size:11px}.segmented button.active{background:var(--surface-3);color:var(--text)}

.printer-hero{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:center}.printer-visual{height:150px;border-radius:20px;background:linear-gradient(145deg,#1d2632,#0e131a);display:grid;place-items:center;border:1px solid var(--line);position:relative;overflow:hidden}.printer-visual:before{content:"";width:72px;height:80px;border:4px solid #738095;border-bottom-width:8px;border-radius:7px;box-shadow:inset 0 -20px #111820}.printer-visual:after{content:"";position:absolute;width:38px;height:4px;background:var(--gold);top:48px;border-radius:4px}.printer-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pill{font-size:10px;padding:7px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.pill.good{color:#6ee7b7;border-color:rgba(16,185,129,.26);background:rgba(16,185,129,.06)}
.timeline{position:relative;padding-left:20px}.timeline:before{content:"";position:absolute;left:5px;top:5px;bottom:5px;width:1px;background:var(--line)}.timeline-item{position:relative;padding:0 0 20px 15px}.timeline-item:before{content:"";position:absolute;left:-18px;top:5px;width:8px;height:8px;background:var(--blue);border-radius:50%;box-shadow:0 0 0 4px var(--bg)}.timeline-item b{font-size:13px}.timeline-item small{display:block;color:var(--muted);margin-top:4px}

.doctor-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:14px}.upload-zone{border:1px dashed #3a485b;border-radius:18px;min-height:190px;display:grid;place-items:center;text-align:center;padding:22px;background:#0e141c}.upload-zone img{max-width:100%;max-height:240px;border-radius:14px}.upload-zone button{margin-top:10px}.diag-step{margin-top:14px}.diag-step h3{margin-bottom:7px}.hypothesis{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.hypothesis:first-of-type{border-top:0}.rank{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#182230;color:var(--gold);font-weight:800}.confidence{font-size:11px;color:var(--muted)}.test-card{border:1px solid rgba(2,132,199,.25);background:rgba(2,132,199,.07);border-radius:16px;padding:14px;margin-top:14px}.outcomes{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.outcomes button{border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:10px 12px;border-radius:12px}.quality-good{color:#6ee7b7}.quality-warn{color:#fbbf24}

.author-card{display:flex;gap:14px;align-items:flex-start}.author-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#1d3a50,#7d633e);display:grid;place-items:center;font-weight:900;font-size:18px;flex:0 0 auto}.author-card button{margin-left:auto}.privacy-note{font-size:12px;color:var(--muted);padding:12px 14px;border-radius:14px;background:#0e141b;border:1px solid var(--line)}

.modal{position:fixed;inset:0;z-index:100}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(5px)}.modal-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(680px,100%);max-height:86vh;overflow:auto;background:#0e131a;border:1px solid #263141;border-bottom:0;border-radius:26px 26px 0 0;padding:10px 20px calc(22px + var(--safe-bottom));box-shadow:0 -24px 70px rgba(0,0,0,.4)}.modal-handle{width:46px;height:4px;background:#3a4451;border-radius:999px;margin:0 auto 12px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h2{margin:0;font-size:21px}.modal-body{padding:14px 0}.form-field{display:block;margin:12px 0}.form-field span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.form-field input,.form-field select{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:13px;padding:13px;outline:none}.form-field input:focus{border-color:#40536b}.form-error{color:#fca5a5;font-size:12px;min-height:18px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}

@media(max-width:760px){
  .main-content{padding-top:16px}.context-card{grid-template-columns:1fr}.context-badge{justify-self:start}.assistant-stage{min-height:420px}.assistant-orbit{height:400px}.quick-tile{width:128px;min-height:82px;padding:11px}.quick-tile small{display:none}.quick-tile.q2{right:0}.quick-tile.q5{left:0}.quick-tile.q3{right:1%}.quick-tile.q4{left:1%}.ask-core{width:154px;height:154px}.grid-3{grid-template-columns:1fr 1fr}.doctor-layout{grid-template-columns:1fr}.printer-hero{grid-template-columns:120px 1fr}.printer-visual{height:120px}.save-card{align-items:flex-start;flex-direction:column}.page-title-row{align-items:center}.page-title-row p{font-size:13px}.brand-lockup span{display:none}
}
@media(max-width:520px){
  .choice-grid{grid-template-columns:1fr}.onboarding-shell{padding-top:18px}.onboarding-card{border-radius:24px}.assistant-stage{min-height:455px}.assistant-orbit{height:445px}.quick-tile{width:122px}.quick-tile.q1{top:0}.quick-tile.q2{top:100px}.quick-tile.q5{top:100px}.quick-tile.q3{bottom:54px}.quick-tile.q4{bottom:54px}.quick-tile.q6{bottom:0}.ask-core{width:142px;height:142px}.ask-core b{font-size:16px}.grid-2,.grid-3{grid-template-columns:1fr}.printer-hero{grid-template-columns:1fr}.printer-visual{height:150px}.settings-row{align-items:flex-start;flex-direction:column}.discovery-strip{grid-auto-columns:82%}.app-header{padding-left:14px;padding-right:14px}.profile-chip{max-width:112px;overflow:hidden}.profile-chip span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
