/* OET Medicine prep — clinical clipboard identity */
:root{
  --bg:#F5F7F5; --surface:#FFFFFF; --surface-2:#EDF1EE; --line:#D6DDD9; --line-2:#C2CBC6;
  --ink:#16201D; --ink-2:#3E4B46; --muted:#6C7873;
  --accent:#0E6B62; --accent-ink:#FFFFFF; --accent-soft:#DDEDEA;
  --amber:#A8690E; --amber-soft:#F6EAD3;
  --good:#2C7A4B; --good-soft:#DDF0E3; --bad:#B03A3A; --bad-soft:#F6DEDE;
  --focus:#1D8F84; --shadow:0 1px 2px rgba(20,40,35,.08),0 8px 24px -12px rgba(20,40,35,.18);
  --r:10px; --r-s:6px;
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Source Sans 3","Source Sans Pro",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0F1513; --surface:#161E1C; --surface-2:#1E2926; --line:#2A3632; --line-2:#3A4843;
    --ink:#E7EDEA; --ink-2:#BCC7C2; --muted:#8A9791;
    --accent:#4FB5A8; --accent-ink:#07211D; --accent-soft:#183531;
    --amber:#E0A44A; --amber-soft:#3A2D14;
    --good:#5CBF83; --good-soft:#163524; --bad:#E27272; --bad-soft:#3D1D1D;
    --focus:#6FD3C6; --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0F1513; --surface:#161E1C; --surface-2:#1E2926; --line:#2A3632; --line-2:#3A4843;
  --ink:#E7EDEA; --ink-2:#BCC7C2; --muted:#8A9791;
  --accent:#4FB5A8; --accent-ink:#07211D; --accent-soft:#183531;
  --amber:#E0A44A; --amber-soft:#3A2D14;
  --good:#5CBF83; --good-soft:#163524; --bad:#E27272; --bad-soft:#3D1D1D;
  --focus:#6FD3C6; --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.5;min-height:100vh}
a{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:2rem} h2{font-size:1.45rem} h3{font-size:1.15rem} h4{font-size:1rem;font-family:var(--font-body);font-weight:700}
p{margin:0 0 .8em} p:last-child{margin-bottom:0}
.eyebrow{font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)} .small{font-size:.9rem}
button{font:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
input,textarea,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-s);padding:.4rem .55rem}
textarea{width:100%;line-height:1.55;resize:vertical}
::selection{background:var(--accent-soft)}

/* shell */
.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.side{background:var(--surface);border-right:1px solid var(--line);padding:1.2rem 1rem;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1rem}
.brand{display:flex;flex-direction:column;gap:.15rem;padding:.2rem .4rem}
.brand .t{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--ink)}
.brand .s{font-size:.8rem;color:var(--muted)}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:var(--r-s);color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.95rem}
.nav a .k{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);width:1.4rem}
.nav a.on{background:var(--accent-soft);color:var(--accent)}
.nav a.on .k{color:var(--accent)}
.nav a:hover{background:var(--surface-2)}
.side .foot{margin-top:auto;font-size:.78rem;color:var(--muted);padding:.4rem}
.main{padding:2rem clamp(1rem,4vw,3rem) 5rem;max-width:1100px;width:100%}
.tabbar{display:none}
@media (max-width:800px){
  .shell{grid-template-columns:1fr}
  .side{display:none}
  .main{padding:1rem 1rem 6rem}
  .tabbar{display:grid;grid-template-columns:repeat(7,1fr);position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);z-index:20;padding-bottom:env(safe-area-inset-bottom)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.5rem 0 .4rem;font-size:.66rem;font-weight:700;color:var(--muted);text-decoration:none;letter-spacing:.02em}
  .tabbar a .k{font-family:var(--font-mono);font-size:.95rem}
  .tabbar a.on{color:var(--accent)}
  h1{font-size:1.6rem}
}

/* blocks */
.page-head{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem}
.page-head .lead{max-width:62ch;color:var(--ink-2);font-size:1.05rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem}
.card.tight{padding:.8rem .9rem}
.grid{display:grid;gap:1rem}
.grid.c2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid.c3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.stack{display:flex;flex-direction:column;gap:.75rem}
.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.spread{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--accent);color:var(--accent-ink);border:1px solid transparent;border-radius:var(--r-s);padding:.5rem .95rem;font-weight:700;text-decoration:none}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn.quiet{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
.btn.warn{background:var(--amber);color:#fff}
.btn.sm{padding:.3rem .65rem;font-size:.88rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.15rem .55rem;border-radius:999px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}
.pill.good{background:var(--good-soft);color:var(--good);border-color:transparent}
.pill.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}
.pill.amber{background:var(--amber-soft);color:var(--amber);border-color:transparent}
.pill.accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.tablewrap{overflow-x:auto}
ul.clean{list-style:none;padding:0;margin:0}
ul.dots{padding-left:1.2rem;margin:.3rem 0}
ul.dots li{margin:.25rem 0}
.callout{border-left:4px solid var(--accent);background:var(--accent-soft);padding:.8rem 1rem;border-radius:0 var(--r-s) var(--r-s) 0}
.callout.amber{border-color:var(--amber);background:var(--amber-soft)}
.callout.bad{border-color:var(--bad);background:var(--bad-soft)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;font-size:.95rem}
.kv dt{color:var(--muted);font-weight:600} .kv dd{margin:0}
details{border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface)}
details>summary{cursor:pointer;padding:.65rem .9rem;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:.6rem}
details>summary::after{content:"+";font-family:var(--font-mono);color:var(--muted)}
details[open]>summary::after{content:"–"}
details>.body{padding:0 .9rem .9rem;border-top:1px solid var(--line);padding-top:.7rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.8rem .9rem}
.tile .n{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}
.tile .l{font-size:.78rem;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:.2rem}
.check{display:flex;gap:.6rem;align-items:flex-start;padding:.45rem .2rem;border-bottom:1px dashed var(--line)}
.check:last-child{border-bottom:0}
.check input{margin-top:.3rem;width:1.05rem;height:1.05rem;accent-color:var(--accent)}
.check.done label{color:var(--muted);text-decoration:line-through}
.check label{cursor:pointer;flex:1}
.progress{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.progress>i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s}

/* exam bar */
.exambar{position:sticky;top:0;z-index:10;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.6rem .9rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;box-shadow:var(--shadow);margin-bottom:1rem;flex-wrap:wrap}
.timer{font-family:var(--font-mono);font-size:1.35rem;font-weight:600;font-variant-numeric:tabular-nums;padding:.1rem .5rem;border-radius:var(--r-s);background:var(--surface-2)}
.timer.low{background:var(--amber-soft);color:var(--amber)}
.timer.out{background:var(--bad-soft);color:var(--bad)}
.q{padding:.8rem 0;border-bottom:1px solid var(--line)}
.q:last-child{border-bottom:0}
.q .qn{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);font-weight:600;margin-right:.4rem}
.q .qt{font-weight:600}
.opts{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}
.opt{display:flex;gap:.6rem;align-items:flex-start;padding:.45rem .6rem;border:1px solid var(--line);border-radius:var(--r-s);cursor:pointer;background:var(--surface)}
.opt:hover{background:var(--surface-2)}
.opt input{margin-top:.25rem;accent-color:var(--accent)}
.opt.sel{border-color:var(--accent);background:var(--accent-soft)}
.opt.right{border-color:var(--good);background:var(--good-soft)}
.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}
.gap{display:inline-block;min-width:8.5rem;padding:.1rem .4rem;margin:0 .15rem;border:0;border-bottom:2px solid var(--line-2);border-radius:0;background:transparent;font-family:var(--font-mono);font-size:.95rem}
.gap:focus{border-bottom-color:var(--accent);outline:none}
.gap.right{border-bottom-color:var(--good);background:var(--good-soft)}
.gap.wrong{border-bottom-color:var(--bad);background:var(--bad-soft)}
.gapn{font-family:var(--font-mono);font-size:.72rem;color:var(--muted)}
.notes{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;font-size:.98rem}
.notes h4{margin:.8rem 0 .3rem;font-family:var(--font-body);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.notes h4:first-child{margin-top:0}
.notes li{margin:.25rem 0}
.split{display:grid;grid-template-columns:1.15fr 1fr;gap:1.2rem;align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.reading{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;font-size:1rem;line-height:1.6;max-width:70ch}
.reading p{margin:0 0 .8em}
.reading table{font-size:.9rem;margin:.5rem 0}
.reading h3{margin-bottom:.5rem}
.sticky{position:sticky;top:5rem}
.transcript{font-size:.95rem;line-height:1.6}
.transcript .spk{display:block;font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.6rem}
.transcript mark{background:var(--good-soft);color:inherit;padding:0 .15em;border-radius:3px;font-weight:600}
.playing{color:var(--accent);font-weight:700}
.wordcount{font-family:var(--font-mono);font-size:.85rem;padding:.2rem .5rem;border-radius:var(--r-s);background:var(--surface-2)}
.wordcount.ok{background:var(--good-soft);color:var(--good)} .wordcount.no{background:var(--amber-soft);color:var(--amber)}
.letter{white-space:pre-wrap;font-family:var(--font-body);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;max-width:70ch;line-height:1.6}
.rubric{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;align-items:center}
.rubric input[type=range]{width:100%;accent-color:var(--accent)}
.rubric .val{font-family:var(--font-mono);min-width:3rem;text-align:right}
.rolecard{border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;background:var(--surface)}
.rolecard.doctor{border-top:4px solid var(--accent)}
.rolecard.patient{border-top:4px solid var(--amber)}
.bigtimer{font-family:var(--font-mono);font-size:3rem;font-weight:600;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rec{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:var(--bad);animation:blink 1s infinite}
@keyframes blink{50%{opacity:.2}}
@media (prefers-reduced-motion:reduce){.rec{animation:none}.progress>i{transition:none}}
.toast{position:fixed;bottom:5.5rem;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:.6rem 1rem;border-radius:var(--r-s);font-weight:600;z-index:50;box-shadow:var(--shadow)}
@media (min-width:801px){.toast{bottom:1.5rem}}
.score{font-family:var(--font-display);font-size:2.4rem;font-weight:700;line-height:1}
.parts{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0 1rem}
.parts .btn{padding:.35rem .8rem}
.empty{border:1px dashed var(--line-2);border-radius:var(--r);padding:1.5rem;text-align:center;color:var(--muted)}
.att{display:grid;grid-template-columns:auto 1fr auto auto;gap:.3rem 1rem;align-items:center;font-size:.92rem;padding:.4rem 0;border-bottom:1px solid var(--line)}
.att:last-child{border-bottom:0}
kbd{font-family:var(--font-mono);font-size:.8em;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:4px;padding:0 .3em;background:var(--surface-2)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{font-size:.85rem;padding:.25rem .6rem;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.phrase{padding:.35rem 0;border-bottom:1px dashed var(--line)} .phrase:last-child{border-bottom:0}
.tl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem}
.tl .d{font-family:var(--font-mono);font-size:.82rem;color:var(--muted);white-space:nowrap;padding-top:.15rem}
.tl .ph{border-left:2px solid var(--line-2);padding:0 0 1rem 1rem;margin-left:.2rem}
.tl .ph.now{border-color:var(--accent)}
.tl .ph.now h3{color:var(--accent)}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem;align-items:stretch}
@media (max-width:900px){.hero{grid-template-columns:1fr}}
.reqs{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
@media (max-width:600px){.reqs{grid-template-columns:repeat(2,1fr)}}
.req{background:var(--surface-2);border-radius:var(--r-s);padding:.6rem .7rem;text-align:center}
.req .n{font-family:var(--font-mono);font-size:1.4rem;font-weight:600}
.req .l{font-size:.75rem;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.hidden{display:none!important}

/* tutor / explain / sheet / fun */
.clickable{cursor:pointer;position:relative}
.clickable:hover{background:var(--surface-2)}
.clickable::after{content:"explain →";position:absolute;right:.4rem;top:.6rem;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);opacity:.85}
li.clickable::after{top:.1rem}
.sheet{position:fixed;inset:0;background:rgba(10,20,17,.45);z-index:40;display:flex;align-items:flex-end;justify-content:center;padding:0}
.sheet-in{background:var(--bg);width:min(760px,100%);max-height:88vh;overflow:auto;border-radius:var(--r) var(--r) 0 0;padding:1rem 1.2rem 2rem;box-shadow:var(--shadow)}
@media (min-width:801px){.sheet{align-items:center;padding:2rem}.sheet-in{border-radius:var(--r)}}
.sheet-body{margin-top:.6rem}
.explain{display:flex;flex-direction:column;gap:.9rem}
.explain .eyebrow{display:block;margin-bottom:.2rem}
.explain blockquote{margin:.2rem 0;padding:.6rem .9rem;border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:0 var(--r-s) var(--r-s) 0;font-style:italic}
.explain .ex-ans>div{font-size:1.1rem}
.tutorbox{border-top:1px dashed var(--line-2);padding-top:.8rem;margin-top:.4rem}
.tutorout{margin-top:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.1rem;line-height:1.55}
.tutorout h4.mdh,.msg h4.mdh{font-family:var(--font-display);font-size:1.05rem;margin:.9rem 0 .3rem;color:var(--accent)}
.tutorout h4.mdh:first-child{margin-top:0}
.tutorout p,.msg p{margin:0 0 .6em}
.tutorout code,.msg code{font-family:var(--font-mono);font-size:.85em;background:var(--surface-2);padding:0 .3em;border-radius:3px}
.think{display:inline-flex;gap:.3rem;padding:.3rem 0}
.think span{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);animation:bounce 1s infinite}
.think span:nth-child(2){animation-delay:.15s}.think span:nth-child(3){animation-delay:.3s}
@keyframes bounce{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}
@media (prefers-reduced-motion:reduce){.think span{animation:none}}
.msg{padding:.7rem .9rem;border-radius:var(--r);max-width:75ch}
.msg.user{background:var(--accent-soft);align-self:flex-end;font-weight:600}
.msg.bot{background:var(--surface-2)}
.transcriptbox{min-height:5rem;max-height:14rem;overflow:auto;border:1px solid var(--line-2);border-radius:var(--r-s);padding:.6rem .8rem;margin-top:.6rem;background:var(--surface);line-height:1.55}
.transcriptbox:empty::before{content:attr(placeholder);color:var(--muted)}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:60}
.xp{display:flex;gap:.4rem;flex-wrap:wrap;padding:0 .4rem}
.side .xp .pill{font-size:.7rem}

/* exam skin: test-centre look, no menus */
body.exam .side,body.exam .tabbar{display:none}
body.exam .shell{grid-template-columns:1fr}
body.exam{--bg:#FFFFFF;--surface:#FFFFFF;--surface-2:#F2F2F2;--line:#D9D9D9;--line-2:#BFBFBF;--ink:#111;--ink-2:#333;--muted:#666;--accent:#1F4E79;--accent-soft:#E4ECF4;--accent-ink:#fff}
body.exam .main{max-width:1000px;margin:0 auto;padding-bottom:3rem}
body.exam .exambar{border-radius:0;border-left:0;border-right:0;border-top:0;box-shadow:none;background:#F2F2F2;margin:-2rem calc(-1 * clamp(1rem,4vw,3rem)) 1rem;padding:.7rem clamp(1rem,4vw,3rem)}
body.exam h1,body.exam h2,body.exam h3{font-family:var(--font-body)}

.inline-explain{margin:.7rem 0 .2rem;padding:.9rem 1rem;background:var(--surface-2);border:1px solid var(--line);border-left:4px solid var(--bad);border-radius:var(--r-s);cursor:default}
.inline-explain .explain{font-size:.95rem}
.q.clickable::after{content:"tap for full explanation"}

.explain .de{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 var(--r-s) var(--r-s) 0;padding:.7rem .9rem;background:var(--surface)}
.explain .de p{margin:.2rem 0 .4rem}

.grid>*,.split>*,.hero>*{min-width:0}
.kv dd,.rolecard,.reading,.notes,.explain,.tutorout{overflow-wrap:anywhere}

/* Apple devices */
html{-webkit-tap-highlight-color:transparent}
input,select,textarea,.gap{font-size:max(16px,1em)} /* iOS zooms into fields under 16px */
button,.btn,.opt,.check label,.nav a,.tabbar a{touch-action:manipulation}
.main{padding-left:max(clamp(1rem,4vw,3rem),env(safe-area-inset-left));padding-right:max(clamp(1rem,4vw,3rem),env(safe-area-inset-right))}
@media (max-width:800px){.main{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:calc(6rem + env(safe-area-inset-bottom))}}
@media (display-mode:standalone){.exambar{top:env(safe-area-inset-top)} body{padding-top:env(safe-area-inset-top)}}
.side{height:100dvh}
@supports not (height:100dvh){.side{height:100vh}}
/* iPad portrait (768–1024): keep the sidebar but slimmer */
@media (min-width:801px) and (max-width:1024px){.shell{grid-template-columns:190px 1fr}.side{padding:1rem .7rem}.split{grid-template-columns:1fr}.reading{max-width:none}}
/* large Mac screens: don't stretch lines */
@media (min-width:1500px){.main{max-width:1200px}}
.sheet-in{max-height:min(88vh,88dvh)}
/* narrow screens: questions before the texts (read the questions first, then scan) */
@media (max-width:1024px){.split>.card.sticky{order:-1;position:static;max-height:none}.split>.card.tight.sticky{order:0}}

/* pacer, convo, chips-as-links, print */
.pacer{display:flex;align-items:center;gap:.5rem;width:100%;margin-top:.4rem}
.pacer .progress{flex:1}
.convo{display:flex;flex-direction:column;gap:.5rem;max-height:40vh;overflow:auto;padding:.2rem}
.convo .msg .eyebrow{display:block;margin-bottom:.15rem}
.convo:empty::before{content:"Say hello to start. The patient answers out loud.";color:var(--muted);font-size:.9rem}
.btn.warn{background:var(--bad);color:#fff}
a.chip{text-decoration:none;color:var(--ink)} a.chip.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
.nav a .k{font-size:.62rem}
.printsheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.4rem;margin-bottom:1rem}
@media print{.side,.tabbar,.page-head,.noprint,.toast{display:none!important}.shell{display:block}.main{padding:0;max-width:none}.printsheet{page-break-after:always;border:0;padding:0;margin:0 0 1rem}body{background:#fff;color:#000}}
