/* Shared mobile reading/interaction rules for the test and its saved card. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:16px}
.wrap{padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}
.foot{padding:24px max(16px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom));line-height:1.6}
h1,h2,h3,h4,p,blockquote,.savenote,.count{overflow-wrap:anywhere}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--gold);margin-bottom:14px}
.hero5{padding-top:20px}
.hero5 h1{font-size:clamp(34px,7vw,52px);letter-spacing:0;text-transform:none;line-height:1.08;margin:0 auto 18px;max-width:580px}
.hero5 .tag{font-size:17px;line-height:1.6}
.heropanel p,.gate .sub,.thanks p,.res .lead,.mpcard .tx,.cta p,.tblock .lead,.interp p{font-size:16px;line-height:1.65}
.heropanel .meta{font-size:14px;color:var(--muted);margin:14px 0}
.btn{min-height:48px;max-width:100%;font-size:16px;line-height:1.5;padding:14px 20px;text-align:center;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.gate{padding:24px 20px}
.gate h2{font-size:30px;line-height:1.15;margin-bottom:12px}
.gate input[type=text],.gate input[type=email],.gate textarea{font:400 16px/1.5 var(--sans);min-height:48px;width:100%;min-width:0;max-width:100%;padding:12px 14px;color:var(--ink);background:#101d33;border:1px solid #2b3d59;border-radius:12px}
.field-label{display:block;font-size:15px;font-weight:600;margin:16px 0 8px;color:var(--ink)}
.gate textarea{resize:vertical;margin-bottom:4px}
.field-note{font-size:13px;line-height:1.6;color:var(--muted);margin:16px 0 20px}
.consent{font-size:14px;line-height:1.6;gap:12px}
.consent input{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0}
.consent span{min-width:0}
.text-button{display:block;width:100%;min-height:48px;margin-top:8px;border:0;background:transparent;color:var(--muted);font:400 15px/1.5 var(--sans);cursor:pointer;text-decoration:underline}
.videostub.explain{padding:18px 20px}
.videostub summary{font-size:15px;font-weight:600;color:var(--gold);cursor:pointer;min-height:32px}
.videostub.explain p{font-size:15px;margin-top:12px}
.qitem{padding:18px 14px}
.qitem .qt{font-size:16px;line-height:1.6}
.opts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.opts button{min-width:0;min-height:48px;height:auto;font-size:16px;padding:0}
.optlbl{gap:12px;font-size:12px;color:var(--muted)}
.optlbl span:last-child{text-align:right}
.qprog{flex-wrap:wrap}
.qprog .bar{min-width:70px}
.qnav .btn{width:100%;max-width:360px}
.mpcard{padding:20px 18px}
.mptop{align-items:flex-start;flex-wrap:wrap}
.mptop .nm{min-width:0;overflow-wrap:anywhere;flex:1 1 140px}
.badge{flex-shrink:0;font-size:12px;padding:3px 9px}
.savenote{font-size:14px;line-height:1.6;color:var(--muted)}
.fairnote,.disclaimer{font-size:14px;line-height:1.65}
.situation-result{padding:24px 20px;margin:28px 0;background:var(--panel);border:1px solid #354665;border-radius:18px}
.situation-result h3{font:600 28px/1.15 var(--serif);margin:0 0 20px}
.situation-result h4{font-size:16px;line-height:1.5;color:var(--gold);margin:24px 0 8px}
.situation-result p{font-size:16px;line-height:1.65;color:#c8d2df;margin:8px 0 16px}
.situation-result .context-label{font-size:13px;color:var(--muted);margin-bottom:6px}
.situation-result blockquote{margin:0 0 18px;padding-left:14px;border-left:2px solid var(--goldDim);font-size:16px;line-height:1.6;white-space:pre-line}
.situation-result .q{color:#f0e8d6}
.situation-result .context-limit{font-size:14px;color:var(--muted);border-top:1px solid #354665;padding-top:16px}
.cta{padding:24px 20px}
.cta .btn{margin:8px 0 0!important}
.rhero .count{white-space:normal;line-height:1.6;font-size:13px}
.restable{table-layout:fixed}.restable th,.restable td{overflow-wrap:anywhere;padding:9px 6px}
.slotrow{flex-wrap:wrap}.slotbtn{margin-left:0}
@media(max-width:480px){
 .topbar{padding:14px 16px;min-height:68px}
 .heropanel{padding:24px 18px;margin-top:24px}
 .heropanel .btn,.cta .btn{display:block;width:100%}
 .res h2{margin-top:24px;font-size:30px;line-height:1.2}
 .rhero h1{font-size:32px;line-height:1.15}
 .situation-result{padding:22px 18px}
 .restable .badge{white-space:normal;line-height:1.4;padding:3px 6px}
}
@media(max-width:359px){.opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero5 h1{font-size:32px}}
