/* ADAM Questionnaire · "Quiet Instrument" · design reference stylesheet
   Fonts: Geist, Geist Mono, Newsreader (SIL OFL 1.1, self-hostable). */

.aq{
  --ground:#EFF1EE; --surface:#FAFBF9; --raised:#FFFFFF;
  --ink:#121915; --ink-2:#434D48; --ink-3:#5B6560;
  --line:#D6DBD6; --line-2:#B9C1BB;
  --accent:#33489A; --accent-hover:#283C86; --accent-soft:#E1E5F2; --on-accent:#FFFFFF;
  --focus:#33489A;
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Newsreader",ui-serif,Georgia,Cambria,"Times New Roman",serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.22,.9,.24,1);
  --ease-soft:cubic-bezier(.4,.1,.2,1);
  --r-s:12px; --r-m:20px; --r-l:28px;
  position:relative; min-height:100vh; background:var(--ground); color:var(--ink);
  font-family:var(--sans); font-size:1rem; line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip;
}
.aq *,.aq *::before,.aq *::after{box-sizing:border-box}
.aq button{font-family:inherit;color:inherit}
.aq :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.aq [tabindex="-1"]:focus{outline:none}
.aq svg.i{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.aq-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- shell ---------- */
.aq-shell{container-type:inline-size;container-name:aq;min-height:100vh;display:flex;flex-direction:column}
.aq-proto{margin:0;display:flex;gap:10px;align-items:flex-start;padding:10px 20px;font:400 .8125rem/1.45 var(--mono);color:var(--ink-2);border-bottom:1px dashed var(--line-2);background:repeating-linear-gradient(-45deg,transparent 0 7px,rgba(18,25,21,.045) 7px 8px)}
.aq-proto svg{margin-top:1px}
.aq-wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;flex:1}
.aq-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-height:72px;padding:8px 0}
.aq-mark{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}
.aq-mark-logo circle{fill:var(--ink)}
.aq-mark-logo circle.is-a{fill:var(--accent)}
.aq-mark-a{font:600 .9375rem/1 var(--sans);letter-spacing:.14em}
.aq-mark-q{font:italic 400 1.0625rem/1 var(--serif);color:var(--ink-2)}
.aq-nav{display:flex;gap:2px}
.aq-navbtn{min-height:44px;padding:0 14px;border:0;border-radius:999px;background:transparent;cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--ink-2);display:inline-flex;align-items:center;gap:8px;transition:background-color .2s,color .2s}
.aq-navbtn:hover{background:rgba(18,25,21,.06);color:var(--ink)}
.aq-nav-wide{display:none}
@container aq (min-width:44em){.aq-nav-wide{display:flex}.aq-nav-narrow{display:none}}
.aq-main{flex:1;display:flex;flex-direction:column;padding:8px 0 28px}

/* ---------- shared bits ---------- */
.aq-text{margin:0;color:var(--ink-2);max-width:56ch;text-wrap:pretty}
.aq-help{margin:0;font-size:.875rem;line-height:1.45;color:var(--ink-3)}
.aq-flag{display:inline-block;margin-left:6px;padding:1px 7px;border:1px dashed var(--line-2);border-radius:6px;font:400 .75rem/1.5 var(--mono);color:var(--ink-3);white-space:nowrap;vertical-align:1px}
.aq-todo{font-family:var(--mono);font-size:.875em;padding:1px 6px;border-radius:5px;border:1px dashed var(--line-2);background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(51,72,154,.07) 6px 7px);color:var(--ink)}
.aq-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;background:var(--accent-soft);color:var(--accent-hover);font:500 .8125rem/1.3 var(--sans)}

/* buttons */
.aq-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 1.5rem;border-radius:999px;border:1.5px solid transparent;font-size:1.0625rem;font-weight:500;letter-spacing:-.005em;line-height:1.2;text-align:center;cursor:pointer;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .18s var(--ease),box-shadow .25s}
.aq-btn:active{transform:scale(.975)}
.aq-btn svg{transition:transform .3s var(--ease)}
.aq-btn-primary{background:var(--ink);color:#fff}
.aq-btn-primary:hover{background:#000;box-shadow:0 12px 26px -14px rgba(18,25,21,.6)}
.aq-btn-primary:hover .aq-arrow{transform:translateX(4px)}
.aq-btn-primary.is-unavailable{background:var(--line);color:var(--ink-3);cursor:not-allowed;box-shadow:none}
.aq-btn-primary.is-unavailable:active{transform:none}
.aq-btn-primary.is-unavailable:hover .aq-arrow{transform:none}
.aq-btn-quiet{background:transparent;color:var(--ink);border-color:var(--line-2)}
.aq-btn-quiet:hover{border-color:var(--ink);background:rgba(18,25,21,.03)}
.aq-btn-quiet:hover .aq-arrow-back{transform:translateX(-3px)}
.aq-btn-block{width:100%}
.aq-linkbtn{min-height:44px;padding:0 10px;border-radius:999px;border:0;background:transparent;cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:background-color .2s}
.aq-linkbtn:hover{background:var(--accent-soft);color:var(--accent-hover)}

/* progress scale: ten marks */
.aq-scale{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;align-items:end;margin:0;padding:0;list-style:none}
.aq-scale-item{display:grid;gap:7px;text-align:center}
.aq-tick{display:block;height:6px;border-radius:3px;background:var(--line);transform-origin:bottom;transition:background-color .35s var(--ease-soft),height .35s var(--ease)}
.aq-scale-item.is-done .aq-tick{background:var(--ink)}
.aq-scale-item.is-current .aq-tick{background:var(--accent);height:14px}
.aq-scale-num{font:400 .75rem/1 var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums}
.aq-scale-item.is-current .aq-scale-num{color:var(--accent);font-weight:500}
.aq-scale.is-result .aq-scale-item.is-yes .aq-tick{background:var(--accent);height:24px}
.aq-scale.is-result .aq-scale-item.is-no .aq-tick{background:var(--line-2);height:8px}
.aq-scale.is-result .aq-scale-num{color:var(--ink-2);font-weight:500}

/* ---------- intro ---------- */
.aq-intro{display:grid;gap:32px;padding-top:12px;align-content:start}
.aq-intro-lead{display:grid;gap:24px;align-content:end}
.aq-h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(2.75rem,1rem + 9cqi,6.5rem);line-height:.94;letter-spacing:-.025em;hyphens:auto;overflow-wrap:break-word}
.aq-h1 em{display:block;font-style:italic;color:var(--ink-2)}
.aq-lede{margin:0;font-size:1.25rem;line-height:1.38;letter-spacing:-.012em;max-width:30ch;text-wrap:pretty}
.aq-intro-aside{display:grid;gap:22px;align-content:end}
.aq-expect{display:grid;gap:14px;padding:18px 20px 16px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface)}
.aq-expect-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;font:500 .8125rem/1.3 var(--mono);color:var(--ink-2)}
.aq-cta{display:grid;gap:10px}
.aq-resume{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}
.aq-notes{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.aq-notes li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start}
.aq-notes svg{margin-top:1px;color:var(--ink-3)}
@container aq (min-width:56em){
  .aq-intro{flex:1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(40px,6cqi,112px);align-items:end;padding:40px 0 24px}
  .aq-lede{font-size:1.625rem}
}

/* ---------- question ---------- */
.aq-q{display:flex;flex-direction:column;flex:1;width:100%;max-width:780px;margin:0 auto;gap:28px;padding-top:8px}
.aq-prog{display:grid;gap:14px}
.aq-prog-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-height:28px}
.aq-prog-label{margin:0;font:500 .875rem/1.2 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.aq-stage{display:grid;gap:28px}
.aq-qbody{display:grid;gap:16px}
.aq-qtext{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.875rem,1.2rem + 3.2cqi,3.5rem);line-height:1.1;letter-spacing:-.018em;text-wrap:pretty;overflow-wrap:break-word;hyphens:auto}
.aq-qtext.is-long{font-size:clamp(1.5rem,1.1rem + 2cqi,2.5rem);line-height:1.2}
.aq-topic{margin:0;justify-self:start;display:inline-flex;gap:8px;align-items:center;padding:5px 10px;border:1px dashed var(--line-2);border-radius:8px;font:400 .8125rem/1.35 var(--mono);color:var(--ink-2)}
.aq-choices{border:0;margin:0;padding:0;min-width:0}
.aq-legend{padding:0;margin:0 0 12px;font-size:.9375rem;color:var(--ink-2)}
.aq-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@container aq (max-width:21em){.aq-choice-grid{grid-template-columns:minmax(0,1fr)}}
.aq-choice{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:8.5rem;padding:1rem 1rem 1.125rem 1.25rem;border:1.5px solid var(--line-2);border-radius:var(--r-m);background:var(--raised);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .25s,color .25s,transform .2s var(--ease),box-shadow .3s}
.aq-choice::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--accent);opacity:0;transform:scale(.55);transition:transform .45s var(--ease),opacity .3s var(--ease-soft)}
.aq-choice:hover{border-color:var(--ink-3);box-shadow:0 14px 30px -20px rgba(18,25,21,.45)}
.aq-choice:active{transform:scale(.985)}
.aq-choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.aq-choice.is-selected{border-color:var(--accent);color:var(--on-accent);box-shadow:0 18px 34px -20px rgba(51,72,154,.75)}
.aq-choice.is-selected::before{opacity:1;transform:scale(1)}
.aq-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.aq-choice-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:28px}
.aq-choice-state{font:500 .8125rem/1.2 var(--sans);color:rgba(255,255,255,.92)}
.aq-radio{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;color:var(--accent);transition:background-color .25s,border-color .25s}
.aq-radio svg.i{stroke-width:2.5;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .35s var(--ease) .1s}
.aq-choice.is-selected .aq-radio{background:#fff;border-color:#fff}
.aq-choice.is-selected .aq-radio svg.i{stroke-dashoffset:0}
.aq-choice-word{font-family:var(--serif);font-weight:400;font-size:2.5rem;line-height:1;letter-spacing:-.02em}
@container aq (min-width:56em){.aq-choice{min-height:11rem;padding:1.25rem 1.25rem 1.5rem 1.5rem}.aq-choice-word{font-size:3.25rem}}
.aq-helper-slot{min-height:2.25rem}
.aq-helper{margin:12px 0 0;display:flex;gap:8px;align-items:center;font-size:.9375rem;color:var(--ink-2)}
.aq-helper svg{color:var(--accent)}
.aq-nudge-0{animation:aqNudge0 .5s var(--ease)}
.aq-nudge-1{animation:aqNudge1 .5s var(--ease)}
@keyframes aqNudge0{0%,100%{transform:none}25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-2px)}}
@keyframes aqNudge1{0%,100%{transform:none}25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-2px)}}
.aq-actions{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:12px}
.aq-actions .aq-btn-primary{flex:1}
@container aq (min-width:44em){.aq-actions .aq-btn-primary{flex:0 1 auto;min-width:240px;margin-left:auto}}
@container aq (max-width:21em){.aq-actions{flex-direction:column-reverse;align-items:stretch}.aq-actions .aq-btn{width:100%}}

/* screen-to-screen motion (class name alternates so it replays) */
.aq-in-fwd-0{animation:aqInF0 .5s var(--ease) both}
.aq-in-fwd-1{animation:aqInF1 .5s var(--ease) both}
.aq-in-back-0{animation:aqInB0 .5s var(--ease) both}
.aq-in-back-1{animation:aqInB1 .5s var(--ease) both}
@keyframes aqInF0{from{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes aqInF1{from{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes aqInB0{from{opacity:0;transform:translateY(-16px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes aqInB1{from{opacity:0;transform:translateY(-16px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.aq-reveal > *{animation:aqRise .6s var(--ease) both}
.aq-reveal > *:nth-child(2){animation-delay:.06s}
.aq-reveal > *:nth-child(3){animation-delay:.12s}
.aq-reveal > *:nth-child(4){animation-delay:.18s}
.aq-reveal > *:nth-child(5){animation-delay:.24s}
.aq-reveal > *:nth-child(6){animation-delay:.3s}
.aq-reveal > *:nth-child(7){animation-delay:.36s}
.aq-reveal > *:nth-child(8){animation-delay:.42s}
@keyframes aqRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes aqFade{from{opacity:0}to{opacity:1}}

/* ---------- result ---------- */
.aq-result{display:grid;gap:40px;width:100%;padding-top:8px}
.aq-result-head{display:grid;gap:22px;align-content:start}
.aq-eyebrow{margin:0;font:500 .875rem/1.2 var(--mono);color:var(--ink-2)}
.aq-result-h1{margin:0;font-size:1.5rem;font-weight:500;line-height:1.2;letter-spacing:-.012em}
.aq-status{margin:0;display:grid;gap:8px}
.aq-status-label{font:500 .8125rem/1.2 var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.aq-status-word{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(4rem,2rem + 9cqi,8.5rem);line-height:.92;letter-spacing:-.03em;padding-bottom:.06em;animation:aqWord .9s var(--ease) .12s both}
@keyframes aqWord{from{clip-path:inset(0 0 100% 0);transform:translateY(.18em)}to{clip-path:inset(0 0 -10% 0);transform:none}}
.aq-scale.is-reveal .aq-tick{animation:aqTick .55s var(--ease) both}
.aq-scale.is-reveal .aq-scale-item:nth-child(2) .aq-tick{animation-delay:.04s}
.aq-scale.is-reveal .aq-scale-item:nth-child(3) .aq-tick{animation-delay:.08s}
.aq-scale.is-reveal .aq-scale-item:nth-child(4) .aq-tick{animation-delay:.12s}
.aq-scale.is-reveal .aq-scale-item:nth-child(5) .aq-tick{animation-delay:.16s}
.aq-scale.is-reveal .aq-scale-item:nth-child(6) .aq-tick{animation-delay:.2s}
.aq-scale.is-reveal .aq-scale-item:nth-child(7) .aq-tick{animation-delay:.24s}
.aq-scale.is-reveal .aq-scale-item:nth-child(8) .aq-tick{animation-delay:.28s}
.aq-scale.is-reveal .aq-scale-item:nth-child(9) .aq-tick{animation-delay:.32s}
.aq-scale.is-reveal .aq-scale-item:nth-child(10) .aq-tick{animation-delay:.36s}
@keyframes aqTick{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.aq-demo{margin:0;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px dashed var(--line-2);border-radius:var(--r-s);font:400 .8125rem/1.45 var(--mono);color:var(--ink-2)}
.aq-demo svg{margin-top:1px}
.aq-result-body{display:grid;gap:20px;align-content:start}
.aq-meaning{margin:0;font-size:clamp(1.375rem,1.1rem + 1.2cqi,2rem);line-height:1.3;letter-spacing:-.015em;text-wrap:pretty}
.aq-card{display:grid;gap:8px;padding:20px 22px;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line)}
.aq-card-h{display:flex;align-items:center;gap:10px;margin:0;font-size:1rem;font-weight:600;line-height:1.3}
.aq-card-h svg{color:var(--accent)}
.aq-card p{margin:0;color:var(--ink-2);text-wrap:pretty}
.aq-card.is-next{background:var(--ink);color:#fff;border-color:var(--ink)}
.aq-card.is-next p{color:rgba(255,255,255,.84)}
.aq-card.is-next .aq-card-h svg{color:#B3BDEB}
.aq-disclosure{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.aq-disc-btn{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 6px 0 2px;border:0;background:transparent;cursor:pointer;font-size:1.0625rem;font-weight:500;text-align:left}
.aq-disc-btn .aq-chev{transition:transform .4s var(--ease)}
.aq-disc-btn[aria-expanded="true"] .aq-chev{transform:rotate(180deg)}
.aq-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.aq-collapse.is-open{grid-template-rows:1fr}
.aq-collapse-inner{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s linear .45s}
.aq-collapse.is-open .aq-collapse-inner{visibility:visible;transition-delay:0s}
.aq-answers{list-style:none;margin:0;padding:0 0 12px;display:grid}
.aq-ans{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.aq-ans-n{font:500 .8125rem/1 var(--mono);color:var(--ink-3)}
.aq-ans-q{font-family:var(--serif);font-size:1.0625rem;line-height:1.35}
.aq-ans-side{display:flex;align-items:center;gap:4px}
.aq-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:4.25rem;padding:4px 11px;border-radius:999px;font-size:.875rem;font-weight:500;line-height:1.3;border:1.5px solid var(--line-2)}
.aq-pill-dot{width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor}
.aq-pill.is-yes{background:var(--accent);border-color:var(--accent);color:#fff}
.aq-pill.is-yes .aq-pill-dot{background:currentColor}
@container aq (max-width:26em){.aq-ans{grid-template-columns:2rem minmax(0,1fr)}.aq-ans-side{grid-column:2;justify-content:space-between}}
.aq-tools{display:grid;gap:22px;padding-top:4px}
@container aq (min-width:44em){.aq-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
.aq-tool{display:grid;gap:8px;align-content:start;justify-items:start}
.aq-clinical{margin:0;padding-top:20px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.5;color:var(--ink-2);display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px}
.aq-clinical svg{margin-top:1px;color:var(--ink-3)}
@container aq (min-width:56em){
  .aq-result{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(40px,6cqi,112px);align-items:start;padding-top:32px}
  .aq-result-head{position:sticky;top:24px}
}

/* ---------- sheet (About / Privacy / Contact) ---------- */
.aq-scrim{position:fixed;inset:0;z-index:40;border:0;padding:0;margin:0;background:rgba(14,19,17,.36);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;animation:aqFade .3s var(--ease-soft) both}
.aq-sheet{position:fixed;z-index:41;left:0;right:0;bottom:0;max-height:88vh;display:flex;flex-direction:column;background:var(--raised);color:var(--ink);border-radius:28px 28px 0 0;box-shadow:0 -24px 60px -24px rgba(14,19,17,.4);animation:aqSheetUp .45s var(--ease) both}
@keyframes aqSheetUp{from{transform:translateY(104%)}to{transform:none}}
@keyframes aqSheetIn{from{transform:translateX(calc(100% + 24px))}to{transform:none}}
.aq-sheet-grab{flex:none;width:40px;height:4px;border-radius:2px;background:var(--line-2);margin:10px auto 0}
.aq-sheet-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px 16px}
.aq-tabs{display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--ground);overflow-x:auto;min-width:0}
.aq-tab{flex:none;min-height:44px;padding:0 14px;border:0;border-radius:999px;background:transparent;cursor:pointer;font-size:.9375rem;font-weight:500;color:var(--ink-2);transition:background-color .25s,color .25s,box-shadow .25s}
.aq-tab:hover{color:var(--ink)}
.aq-tab[aria-current="true"]{background:var(--raised);color:var(--ink);box-shadow:0 1px 2px rgba(18,25,21,.12),0 6px 14px -8px rgba(18,25,21,.3)}
.aq-iconbtn{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--ground);display:grid;place-items:center;cursor:pointer;transition:background-color .2s}
.aq-iconbtn:hover{background:var(--line)}
.aq-sheet-body{overflow-y:auto;padding:8px 24px 32px;display:grid;gap:16px;align-content:start;overscroll-behavior:contain;animation:aqFade .3s var(--ease-soft) both}
.aq-sheet-h{margin:12px 0 4px;font-family:var(--serif);font-weight:400;font-size:2.5rem;line-height:1.02;letter-spacing:-.02em}
.aq-sheet-body p{margin:0;color:var(--ink-2);text-wrap:pretty}
.aq-sheet-sub{margin:12px 0 0;font:500 .8125rem/1.3 var(--mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.aq-ref{font-size:.875rem}
.aq-links{list-style:none;margin:0;padding:0;display:grid}
.aq-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:6px 2px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500;transition:color .2s}
.aq-links a:hover{color:var(--accent)}
.aq-links a:hover svg{transform:translate(2px,-2px)}
.aq-links svg{transition:transform .25s var(--ease)}
.aq-fields{margin:0;display:grid}
.aq-field{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}
.aq-field dt{font:500 .8125rem/1.3 var(--mono);color:var(--ink-3)}
.aq-field dd{margin:0}
@media (min-width:56em){
  .aq-sheet{left:auto;top:12px;right:12px;bottom:12px;width:min(500px,calc(100vw - 24px));max-height:none;border-radius:24px;animation-name:aqSheetIn}
  .aq-sheet-grab{display:none}
  .aq-sheet-head{padding-top:16px}
}

/* ---------- toast ---------- */
.aq-toast{position:fixed;z-index:50;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:12px 18px 12px 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:.9375rem;line-height:1.3;box-shadow:0 18px 40px -16px rgba(14,19,17,.6);animation:aqToast .45s var(--ease) both;max-width:calc(100vw - 32px);white-space:nowrap}
.aq-toast svg{color:#B3BDEB}
@keyframes aqToast{from{opacity:0;transform:translate(-50%,16px) scale(.96)}to{opacity:1;transform:translate(-50%,0)}}

/* ---------- print summary ---------- */
.aq-print{display:none;background:#fff;color:#111;font-family:var(--sans)}
.aq.is-print-preview{background:#fff}
.aq.is-print-preview .aq-shell{display:none}
.aq-print.is-preview{display:block;width:100%;max-width:794px;min-height:1123px;margin:0 auto;padding:60px 64px 52px}
.aq-print-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:14px;border-bottom:2px solid #111}
.aq-print-kicker{margin:0 0 6px;font:400 12px/1.3 var(--mono);color:#444}
.aq-print-title{margin:0;font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.05;letter-spacing:-.01em}
.aq-print-meta{margin:0;font:400 12px/1.5 var(--mono);color:#333;text-align:right}
.aq-print-proto{margin:14px 0 0;padding:8px 10px;border:1px dashed #777;font:400 12px/1.45 var(--mono);color:#333}
.aq-print-outcome{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;margin-top:22px;padding-bottom:18px;border-bottom:1px solid #111}
.aq-print-label{margin:0 0 6px;font:600 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#333}
.aq-print-status{margin:0;font-family:var(--serif);font-style:italic;font-size:48px;line-height:1}
.aq-print-secs{display:grid;gap:12px}
.aq-print-sec h3{margin:0 0 3px;font:600 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#333}
.aq-print-sec p{margin:0;font-size:14.5px;line-height:1.5}
.aq-print-list{list-style:none;margin:16px 0 0;padding:0;font-size:14px}
.aq-print-row{display:grid;grid-template-columns:40px minmax(0,1fr) 64px;gap:12px;padding:8px 0;border-bottom:1px solid #bbb;line-height:1.4}
.aq-print-row.is-head{font:600 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#333;border-bottom:1.5px solid #111;padding-top:0}
.aq-print-row span:first-child{font-family:var(--mono);color:#444}
.aq-print-row span:last-child{font-weight:600;text-align:right}
.aq-print-foot{margin-top:18px;display:grid;gap:8px;font-size:12px;line-height:1.5;color:#222}
.aq-print-foot p{margin:0}

@media print{
  @page{size:A4;margin:14mm}
  .aq{background:#fff!important;min-height:0}
  .aq-shell,.aq-sheet,.aq-scrim,.aq-toast{display:none!important}
  .aq-print{display:block!important;max-width:none!important;min-height:0!important;padding:0!important;margin:0!important}
}


/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .aq *,.aq *::before,.aq *::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .aq .aq-stage,.aq .aq-intro,.aq .aq-result,.aq .aq-sheet-body{animation:aqFade .18s linear both!important}
}
