/* ASR Quiz – base v2 "Raso Brooklyn": reset circoscritto a .asr-scope, tipografia (DESIGN-V2 §5), focus (§4.3) */
.asr-scope{-webkit-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility;overflow-wrap:break-word;font-kerning:normal}
.asr-scope *,.asr-scope *::before,.asr-scope *::after{box-sizing:border-box}
.asr-scope :where(h1,h2,h3,h4,h5,p,ul,ol,li,figure,figcaption,blockquote,dl,dd,table,fieldset,legend){margin:0;padding:0}
.asr-scope :where(ul,ol){padding-inline-start:1.25em}
.asr-scope :where(ul[role=list],ol[role=list]){list-style:none;padding:0}
.asr-scope :where(img,svg,video){display:block;max-width:100%}
.asr-scope :where(img){height:auto}
.asr-scope :where(button,input,select,textarea){font:inherit;color:inherit;letter-spacing:inherit;margin:0}
.asr-scope :where(button){cursor:pointer;background:none;border:0;padding:0;text-align:inherit;-webkit-tap-highlight-color:transparent}
.asr-scope :where(fieldset){border:0;min-width:0}
.asr-scope :where(table){border-collapse:collapse;width:100%}
.asr-scope :where(a){color:var(--asr-color-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;transition:color var(--asr-dur-base) var(--asr-ease),text-decoration-color var(--asr-dur-base) var(--asr-ease)}
.asr-scope :where(a:hover){color:var(--asr-color-link-hover)}
.asr-scope :where(strong,b){font-weight:var(--asr-weight-bold);color:var(--asr-color-heading)}
.asr-scope :where(hr){height:1px;border:0;background:var(--asr-color-border);margin:var(--asr-space-6) 0}
.asr-scope :where(kbd,time,progress){font-variant-numeric:var(--asr-numeric-tabular)}
.asr-scope :focus-visible{outline:2px solid var(--asr-color-focus);outline-offset:2px}
.asr-scope :focus:not(:focus-visible){outline:none}
.asr-scope [hidden]{display:none!important}

/* Titoli: minuscolo nell'HTML, maiuscolo applicato dal CSS (si spegne in "lettura facilitata") */
.asr-scope :where(h1),.asr-h1{font-family:var(--asr-font-display);font-size:var(--asr-text-3xl);font-weight:var(--asr-weight-bold);line-height:var(--asr-leading-tight);color:var(--asr-color-heading);text-transform:var(--asr-transform-display);letter-spacing:var(--asr-tracking-title);text-wrap:balance}
.asr-scope :where(h2),.asr-h2{font-family:var(--asr-font-display);font-size:var(--asr-text-2xl);font-weight:var(--asr-weight-bold);line-height:1.3;color:var(--asr-color-heading);text-transform:var(--asr-transform-display);letter-spacing:.04em;text-wrap:balance}
.asr-scope :where(h3),.asr-h3{font-family:var(--asr-font-body);font-size:var(--asr-text-lg);font-weight:var(--asr-weight-bold);line-height:var(--asr-leading-snug);color:var(--asr-color-heading);text-transform:none;letter-spacing:0}
.asr-scope :where(h4){font-weight:var(--asr-weight-bold);color:var(--asr-color-heading)}
@media (min-width:768px){.asr-scope :where(h1),.asr-h1{font-size:var(--asr-text-4xl)}}
.asr-scope [tabindex="-1"]:focus{outline:none}

/* Linea 30×2 sotto i titoli di sezione (firma del sito) */
.asr-rule{display:block;width:var(--asr-rule-w);height:var(--asr-rule-h);margin-top:15px;background:var(--asr-color-heading);border:0}
.asr-rule--accent{background:var(--asr-color-accent)}

/* Utilità tipografiche */
.asr-eyebrow{display:block;font-family:var(--asr-font-brand);font-size:var(--asr-text-xs);font-weight:var(--asr-weight-bold);letter-spacing:var(--asr-tracking-caps);text-transform:var(--asr-transform-display);color:var(--asr-color-accent-text);line-height:1.4}
.asr-muted{color:var(--asr-color-text-muted)}
.asr-small{font-size:var(--asr-text-sm);line-height:1.5}
.asr-lead{font-size:var(--asr-text-lead);line-height:var(--asr-leading-lead);color:var(--asr-color-text-muted);max-width:var(--asr-measure)}
.asr-num{font-family:var(--asr-font-numeric);font-weight:var(--asr-weight-extrabold);line-height:1;font-variant-numeric:var(--asr-numeric-tabular);color:var(--asr-color-heading)}
.asr-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.asr-icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}
.asr-icon--sm{width:20px;height:20px}
.asr-icon--lg{width:48px;height:48px;stroke-width:1.25}

/* Contenuti HTML di teoria e spiegazioni (già filtrati lato server) */
.asr-prose{max-width:var(--asr-measure);font-size:var(--asr-text-md);line-height:var(--asr-leading-normal);color:var(--asr-color-text)}
@media (min-width:768px){.asr-prose:not(.asr-prose--compact){font-size:calc(1.0625rem * var(--asr-font-scale))}}
.asr-prose>*+*{margin-top:1.25rem}
.asr-prose>:first-child{margin-top:0}
.asr-prose h2{margin-top:3rem;font-size:var(--asr-text-2xl)}
.asr-prose h2::after{content:"";display:block;width:var(--asr-rule-w);height:var(--asr-rule-h);margin-top:12px;background:var(--asr-color-accent)}
.asr-prose h3{margin-top:2rem}
.asr-prose h4{margin-top:var(--asr-space-5);font-size:var(--asr-text-md)}
.asr-prose ul{list-style:none;padding-inline-start:0}
.asr-prose ul>li{position:relative;padding-left:1.5em}
.asr-prose ul>li::before{content:"";position:absolute;left:0;top:.8em;width:.75em;height:2px;background:var(--asr-color-accent)}
.asr-prose ol>li::marker{color:var(--asr-color-accent-text);font-weight:var(--asr-weight-bold)}
.asr-prose li+li{margin-top:var(--asr-space-2)}
.asr-prose figure{margin-block:2.5rem}
.asr-prose img{margin-inline:auto;background:var(--asr-color-media-bg);border:1px solid var(--asr-color-border);padding:var(--asr-space-5)}
.asr-prose figcaption{display:flex;gap:var(--asr-space-3);align-items:baseline;margin-top:var(--asr-space-3);font-size:var(--asr-text-sm);line-height:1.5;color:var(--asr-color-text-muted)}
.asr-prose figcaption::before{content:"";flex:none;width:var(--asr-rule-w);height:var(--asr-rule-h);background:var(--asr-color-accent);transform:translateY(-.3em)}
.asr-prose table{display:block;overflow-x:auto;font-size:var(--asr-text-sm);font-variant-numeric:var(--asr-numeric-tabular)}
.asr-prose th,.asr-prose td{padding:var(--asr-space-3);border-bottom:1px solid var(--asr-color-border);text-align:left;vertical-align:top}
.asr-prose th{font-size:var(--asr-text-xs);font-weight:var(--asr-weight-bold);letter-spacing:var(--asr-tracking-label);text-transform:var(--asr-transform-display);color:var(--asr-color-text-muted);border-bottom-color:var(--asr-color-border-strong)}
.asr-prose blockquote{border-left:2px solid var(--asr-color-accent);padding-left:var(--asr-space-5);font-size:var(--asr-text-xl);line-height:var(--asr-leading-snug);font-weight:var(--asr-weight-medium);color:var(--asr-color-heading)}
.asr-prose aside{position:relative;padding:var(--asr-space-5);border-left:2px solid var(--asr-color-info);background:var(--asr-color-info-soft);color:var(--asr-color-text)}
.asr-prose aside::before{content:"Nota";display:block;margin-bottom:var(--asr-space-2);font-size:var(--asr-text-xs);font-weight:var(--asr-weight-bold);letter-spacing:var(--asr-tracking-caps);text-transform:var(--asr-transform-display);color:var(--asr-color-info)}
.asr-prose aside.asr-tip{border-color:var(--asr-color-success);background:var(--asr-color-success-soft)}
.asr-prose aside.asr-tip::before{content:"Consiglio";color:var(--asr-color-success)}
.asr-prose aside.asr-warn{border-color:var(--asr-color-warning);background:var(--asr-color-warning-soft)}
.asr-prose aside.asr-warn::before{content:"Attenzione";color:var(--asr-color-warning)}
.asr-prose aside>*+*{margin-top:var(--asr-space-2)}
.asr-prose--compact>*+*{margin-top:var(--asr-space-2)}
.asr-prose--compact h2::after{display:none}

/* Caricamento iniziale (prima che parta il JS) */
.asr-boot{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--asr-space-5);padding:var(--asr-space-6);background:var(--asr-color-bg)}
.asr-boot__brand{font-family:var(--asr-font-brand);font-size:var(--asr-text-sm);font-weight:var(--asr-weight-extrabold);letter-spacing:var(--asr-tracking-wide);text-transform:var(--asr-transform-display);color:var(--asr-color-heading)}
.asr-boot__line{display:block;width:var(--asr-space-8);height:2px;background:var(--asr-color-accent);transform-origin:left;animation:asr-boot 1.2s var(--asr-ease) infinite alternate}
@keyframes asr-boot{from{transform:scaleX(.2)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.asr-boot__line{animation:none}}
