.diagnostic-shell{max-width:1080px;margin:auto;padding:0 2rem 3rem;line-height:1.9}.diagnostic-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.4rem 0;display:flex}.diagnostic-header>p{color:var(--muted-foreground);font-size:.875rem}.diagnostic-brand{align-items:center;gap:.8rem;text-decoration:none;display:flex}.diagnostic-brand strong{color:var(--primary);font-size:1.5rem;display:block}.diagnostic-brand small{color:var(--muted-foreground);display:block}.diagnostic-shell h1{margin:.4rem 0 1rem;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;line-height:1.55}.diagnostic-shell h2{font-size:1.25rem;font-weight:800}.diagnostic-shell h3{margin-top:1rem;font-size:1rem;font-weight:800}.diagnostic-intro,.diagnostic-question,.diagnostic-summary{max-width:900px;margin:2rem auto}.diagnostic-intro>p{max-width:760px}.diagnostic-intro ul{margin:1rem 1.4rem 1.5rem;list-style:outside}.diagnostic-kicker{color:var(--primary);font-size:.875rem;font-weight:800}.diagnostic-notice{border-inline-start:4px solid var(--accent-foreground);background:var(--secondary);border-radius:.4rem;margin:1.2rem 0;padding:1rem}.diagnostic-counter{color:var(--muted-foreground);justify-content:space-between;gap:1rem;font-size:.9rem;display:flex}.diagnostic-question progress{width:100%;height:.8rem;accent-color:var(--primary);margin:.5rem 0 1.5rem}.diagnostic-question fieldset{margin:1.5rem 0}.diagnostic-question legend{margin-bottom:.7rem;font-weight:700}.diagnostic-question fieldset label{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:.8rem;margin:.65rem 0;padding:1rem;display:flex}.diagnostic-question fieldset label.selected{border-color:var(--primary);background:var(--secondary)}.diagnostic-question input{width:1.2rem;height:1.2rem;accent-color:var(--primary);flex:none;margin-top:.35rem}.diagnostic-actions{flex-wrap:wrap;gap:.8rem;margin:1.5rem 0;display:flex}.diagnostic-report{color:var(--primary);text-underline-offset:4px;font-size:.875rem;text-decoration:underline;display:inline-block}.diagnostic-passage,.diagnostic-figure,.diagnostic-chart,.diagnostic-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin:1rem 0;padding:1.2rem}.diagnostic-passage p{white-space:pre-line}.diagnostic-figure img{max-width:100%;height:auto;margin:1rem auto 0;display:block}.diagnostic-figure figcaption,.diagnostic-chart figcaption,table caption{text-align:right;margin-bottom:.7rem;font-weight:800}.diagnostic-table-wrap,.diagnostic-chart{overflow-x:auto}.diagnostic-shell table{border-collapse:collapse;width:100%;min-width:420px}.diagnostic-shell th,.diagnostic-shell td{border:1px solid var(--border);text-align:center;padding:.65rem}.diagnostic-bars{border-bottom:2px solid var(--foreground);justify-content:space-around;align-items:flex-end;gap:1rem;height:230px;margin:1rem 0 1.5rem;padding:0 1rem;display:flex}.diagnostic-bars>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.35rem;height:100%;display:flex}.diagnostic-bar{background:var(--primary);color:var(--primary-foreground);border-radius:.35rem .35rem 0 0;justify-content:center;align-items:flex-start;width:min(70px,80%);min-height:2rem;padding:.2rem;display:flex}.diagnostic-total{font-size:1.3rem;font-weight:800}.diagnostic-family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.diagnostic-family-grid article{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem}.diagnostic-family-grid summary{cursor:pointer;color:var(--primary);padding:.8rem 0;font-weight:800}.diagnostic-links{flex-wrap:wrap;gap:.5rem;display:flex}.diagnostic-links a{border:1px solid var(--border);color:var(--primary);text-underline-offset:3px;border-radius:999px;padding:.25rem .75rem;text-decoration:underline}.diagnostic-review{border-top:1px solid var(--border);margin-top:.8rem;padding-top:.8rem}.diagnostic-review p{margin:.45rem 0}.diagnostic-shell :focus-visible{outline:3px solid var(--ring);outline-offset:3px}@media (max-width:700px){.diagnostic-shell{padding-inline:1rem}.diagnostic-header{flex-direction:column;align-items:flex-start}.diagnostic-header>p{margin:0}.diagnostic-brand small{font-size:.78rem}.diagnostic-counter{flex-direction:column;gap:.2rem}.diagnostic-family-grid{grid-template-columns:1fr}.diagnostic-actions>*{flex:1}.diagnostic-bars{height:190px;padding:0 .25rem}}
