/* One assessment. Static graphics and bounded tiles; no ambient animation,
   blur layers, canvas, or forced compositor surfaces on any device. */
#screen-results .ro-page { --ro-line:color-mix(in srgb,var(--text) 12%,transparent); --ro-soft:color-mix(in srgb,var(--blue) 6%,var(--surface)); width:100%; max-width:1360px; margin-inline:auto; padding-inline:clamp(18px,4vw,48px); color:var(--text); font-family:var(--font-body); }
.ro-page * { box-sizing:border-box; animation:none!important; transition:none!important; }
.ro-page::before,.ro-page::after,.ro-page *::before,.ro-page *::after { animation:none!important; transition:none!important; }
.ro-page :is(h1,h2,h3,p) { margin:0; }
.ro-page :is(button,summary) { -webkit-tap-highlight-color:transparent; }
.ro-page :focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.ro-page svg { width:20px; height:20px; flex-shrink:0; }
.ro-page button { font-family:var(--font-body); }
#screen-results .ro-intro { padding-top:clamp(24px,3vw,42px); padding-bottom:30px; }
.ro-heading { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:28px; }
.ro-eyebrow { display:block; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.15em; line-height:1.6; }
.ro-heading h1 { font:600 clamp(30px,3.5vw,47px)/1.12 var(--font-display); letter-spacing:-.045em; margin-top:10px; overflow-wrap:anywhere; }
.ro-heading h1>span { color:var(--text-2); }
.ro-date { display:flex; align-items:center; gap:12px; color:var(--text-2); font-size:13px; line-height:1.5; flex-shrink:0; }
.ro-date>svg { color:var(--blue); width:18px; height:18px; }
.ro-date small { display:block; font-size:9px; font-weight:650; letter-spacing:.1em; color:var(--muted); margin-bottom:3px; }
.ro-hero-grid { display:grid; grid-template-columns:minmax(260px,.78fr) minmax(0,1.55fr); gap:24px; align-items:stretch; }
.ro-score-card { border:1px solid var(--ro-line); border-radius:25px; padding:23px; background:linear-gradient(145deg,var(--ro-soft),var(--surface) 75%); min-width:0; align-self:start; }
.ro-score-top { display:flex; justify-content:space-between; align-items:center; gap:10px; font:600 13px/1.4 var(--font-display); }
.ro-score-top>span:last-child { color:var(--muted); font:650 9px var(--font-body); letter-spacing:.1em; }
.ro-dial { position:relative; width:min(100%,260px); aspect-ratio:1; margin:6px auto; }
.ro-dial>svg { width:100%; height:100%; display:block; }
.ro-dial-track { fill:none; stroke:color-mix(in srgb,var(--blue) 12%,transparent); stroke-width:7; }
.ro-dial-inner { fill:var(--surface); stroke:var(--ro-line); stroke-width:.6; }
.ro-dial-value { fill:none; stroke:var(--blue); stroke-width:7; stroke-linecap:round; }
.ro-dial-center { position:absolute; inset:28% 17%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:5px; }
.ro-dial-center strong { font:650 clamp(48px,5vw,68px)/1 var(--font-display); letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.ro-dial-center>span { color:var(--text-2); font-size:10px; font-weight:650; line-height:1.5; }
.ro-score-note { color:var(--text-2); font-size:12px; line-height:1.7; text-align:center; max-width:260px; margin-inline:auto!important; }
.ro-age { margin-top:20px; padding-top:16px; border-top:1px solid var(--ro-line); }
.ro-age summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; cursor:pointer; list-style:none; }
.ro-age summary::-webkit-details-marker { display:none; }
.ro-age summary>span { color:var(--text-2); font-size:11px; line-height:1.6; }
.ro-age summary small { display:block; color:var(--muted); font-size:9px; margin-top:2px; }
.ro-age summary b { display:flex; align-items:center; gap:9px; font:600 22px var(--font-display); color:var(--blue); }
.ro-age summary b::after { content:'+'; font:400 16px var(--font-body); }
.ro-age[open] summary b::after { content:'−'; }
.ro-age>div { padding-top:13px; }
.ro-age p { font-size:11px; line-height:1.8; color:var(--text-2); margin-top:8px; }
.ro-report-hub { min-width:0; padding:20px 0 8px; display:flex; flex-direction:column; justify-content:center; }
.ro-hub-heading { margin-bottom:20px; }
.ro-hub-heading h2 { font:600 clamp(23px,2.3vw,30px)/1.25 var(--font-display); letter-spacing:-.035em; margin:8px 0; }
.ro-hub-heading p { color:var(--text-2); font-size:13px; line-height:1.7; }
.ro-editions { display:grid; gap:13px; }
.ro-edition { position:relative; display:flex; align-items:center; gap:18px; width:100%; min-height:118px; padding:23px; text-align:left; border:1px solid var(--ro-line); border-radius:19px; color:var(--text); background:var(--surface); cursor:pointer; }
.ro-edition--concise { border-color:color-mix(in srgb,var(--blue) 30%,var(--ro-line)); background:linear-gradient(115deg,var(--ro-soft),var(--surface) 65%); }
.ro-edition:disabled { cursor:wait; }
.ro-edition-art { width:48px; height:56px; flex:0 0 48px; display:grid; place-items:center; border-radius:13px; background:color-mix(in srgb,var(--blue) 12%,var(--surface)); color:var(--blue); border:1px solid color-mix(in srgb,var(--blue) 20%,transparent); }
.ro-edition--complete .ro-edition-art { color:var(--teal); background:color-mix(in srgb,var(--teal) 9%,var(--surface)); border-color:color-mix(in srgb,var(--teal) 22%,transparent); }
.ro-edition-art svg { width:23px; height:23px; }
.ro-edition-main { display:flex; flex-direction:column; gap:6px; flex:1; min-width:0; overflow-wrap:anywhere; }
.ro-kicker { color:var(--muted); font-size:9px; font-weight:700; line-height:1.5; letter-spacing:.1em; }
.ro-edition-main strong { font:600 21px/1.2 var(--font-display); letter-spacing:-.025em; }
.ro-edition-main>span:last-child { color:var(--text-2); font-size:12px; line-height:1.6; }
.ro-edition-arrow { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border:1px solid var(--ro-line); border-radius:50%; color:var(--blue); }
.ro-edition-arrow svg { width:16px; height:16px; }
.ro-edition[aria-busy="true"] .ro-edition-arrow::after { content:'…'; }
.ro-edition[aria-busy="true"] .ro-edition-arrow svg { display:none; }
.ro-report-meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px 14px; color:var(--muted); font-size:10px; line-height:1.7; margin:14px 2px 0!important; }
.ro-report-meta>span { display:inline-flex; align-items:center; gap:6px; margin-left:auto; }
.ro-report-meta svg { width:13px; height:13px; }
.ro-goals { padding-top:20px; margin-top:20px; border-top:1px solid var(--ro-line); }
.ro-goals>span { color:var(--muted); font-size:9px; font-weight:650; letter-spacing:.1em; }
.ro-goals>div { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.ro-goals>div>span { color:var(--text-2); border:1px solid var(--ro-line); border-radius:8px; padding:6px 10px; font-size:11px; line-height:1.5; background:var(--surface); }
.ro-unavailable { padding:23px; border:1px dashed var(--ro-line); border-radius:18px; background:var(--surface); }
.ro-unavailable h3 { font:600 17px var(--font-display); margin-bottom:9px; }
.ro-unavailable p,.ro-empty { font-size:13px; color:var(--text-2); line-height:1.8; }
#screen-results .ro-systems { padding-bottom:40px; }
.ro-section-head { display:flex; align-items:center; justify-content:space-between; gap:22px; padding-top:25px; margin-bottom:22px; border-top:1px solid var(--ro-line); }
.ro-section-head h2 { font:600 27px/1.25 var(--font-display); letter-spacing:-.035em; margin-top:6px; }
.ro-section-head p { color:var(--text-2); font-size:12px; margin-top:8px; line-height:1.7; }
.ro-sort { display:flex; padding:4px; border:1px solid var(--ro-line); border-radius:13px; background:var(--surface); gap:3px; flex-shrink:0; }
.ro-sort button { border:0; background:transparent; color:var(--text-2); padding:9px 13px; min-height:44px; border-radius:9px; font-size:11px; font-weight:650; cursor:pointer; }
.ro-sort button[aria-pressed="true"] { background:var(--ro-soft); color:var(--blue); }
.ro-system-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.ro-system { --ro-tone:var(--blue); display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:13px 10px; min-width:0; min-height:146px; padding:21px; border:1px solid var(--ro-line); border-radius:17px; background:var(--surface); color:var(--text); text-align:left; cursor:pointer; }
.ro-band-strong { --ro-tone:var(--teal); }
.ro-band-focus { --ro-tone:var(--warning); }
.ro-band-nodata { --ro-tone:var(--muted); cursor:default; }
.ro-system-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:color-mix(in srgb,var(--ro-tone) 8%,var(--surface)); color:var(--ro-tone); }
.ro-system-icon svg { width:18px; height:18px; }
.ro-system-name { font:600 14px/1.4 var(--font-display); letter-spacing:-.015em; overflow-wrap:anywhere; }
.ro-system-value { color:var(--text); text-align:right; font:600 25px/1 var(--font-display); font-variant-numeric:tabular-nums; }
.ro-system-value small { display:block; color:var(--muted); font:500 9px/1.6 var(--font-body); margin-top:4px; }
.ro-system-track { grid-column:1/-1; height:4px; background:var(--fill-1); border-radius:4px; overflow:hidden; }
.ro-system-track i { display:block; height:100%; background:var(--ro-tone); border-radius:inherit; }
.ro-system-band { grid-column:1/3; color:var(--text-2); font-size:10px; line-height:1.5; }
.ro-system-go { justify-self:end; color:var(--ro-tone); }
.ro-system-go svg { width:15px; height:15px; }
.ro-empty { grid-column:1/-1; padding:24px; border:1px dashed var(--ro-line); border-radius:17px; }
.ro-footnote { color:var(--muted); font-size:10px; line-height:1.8; margin-top:20px!important; }
@media(hover:hover) and (pointer:fine) {
 .ro-edition:hover,.ro-system:not(:disabled):hover { border-color:var(--blue); background:var(--ro-soft); }
 .ro-sort button:hover { color:var(--blue); }
}
@media(max-width:1024px) {
 .ro-hero-grid { grid-template-columns:minmax(230px,.8fr) minmax(0,1.3fr); gap:20px; }
 .ro-score-card { padding:20px; }
 .ro-system-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ro-edition { padding:18px; gap:13px; }
 .ro-edition-art { width:40px; flex-basis:40px; height:48px; }
 .ro-edition-main strong { font-size:19px; }
 .ro-edition-arrow { width:28px; flex-basis:28px; height:28px; }
 .ro-report-meta>span { margin-left:0; }
}
@media(max-width:760px) {
 .ro-heading { align-items:flex-start; }
 .ro-heading h1 { font-size:32px; }
 .ro-hero-grid { grid-template-columns:1fr; gap:23px; }
 .ro-score-card { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:center; column-gap:20px; }
 .ro-score-top { grid-column:1/-1; }
 .ro-dial { grid-column:1; grid-row:2/4; width:190px; margin:8px 0 0; }
 .ro-dial-center strong { font-size:52px; }
 .ro-score-note { grid-column:2; text-align:left; align-self:end; }
 .ro-age { grid-column:2; margin-top:12px; padding-top:12px; align-self:start; }
 .ro-report-hub { padding:0; }
 .ro-edition { min-height:110px; }
 .ro-section-head { align-items:flex-start; }
}
@media(max-width:640px) {
 #screen-results .ro-intro { padding-top:24px; padding-bottom:24px; }
 .ro-heading { flex-direction:column; gap:16px; margin-bottom:21px; }
 .ro-heading h1 { font-size:clamp(29px,7.8vw,39px); }
 .ro-heading h1 br { display:none; }
 .ro-date { font-size:12px; gap:9px; }
 .ro-date>span { display:flex; flex-wrap:wrap; align-items:center; gap:7px 10px; }
 .ro-date small { margin:0; font-size:8px; }
 .ro-score-card { grid-template-columns:minmax(115px,.9fr) minmax(0,1fr); padding:18px; column-gap:12px; border-radius:20px; }
 .ro-dial { width:100%; max-width:185px; grid-row:2; }
 .ro-dial-center strong { font-size:clamp(35px,9vw,48px); }
 .ro-dial-center>span { font-size:9px; line-height:1.4; }
 .ro-score-note { font-size:11px; align-self:center; }
 .ro-age { grid-column:1/-1; margin-top:4px; }
 .ro-age summary>span { font-size:11px; }
 .ro-age summary small { font-size:9px; }
 .ro-edition-main strong { font-size:19px; }
 .ro-edition-main>span:last-child { font-size:11px; }
 .ro-edition { padding:18px 14px; gap:12px; border-radius:16px; }
 .ro-edition-art { width:35px; flex-basis:35px; height:43px; border-radius:10px; }
 .ro-edition-art svg { width:19px; height:19px; }
 .ro-edition-arrow { width:24px; flex-basis:24px; height:24px; }
 .ro-kicker { font-size:8px; letter-spacing:.065em; }
 .ro-goals { margin-top:16px; padding-top:16px; }
 .ro-section-head { flex-direction:column; gap:16px; padding-top:23px; margin-bottom:17px; }
 .ro-section-head h2 { font-size:25px; }
 .ro-sort { width:100%; }
 .ro-sort button { flex:1; font-size:12px; }
 .ro-system-grid { grid-template-columns:1fr; gap:11px; }
 .ro-system { min-height:124px; padding:18px; gap:10px; }
 .ro-system-name { font-size:15px; }
 .ro-system-value { font-size:27px; }
 .ro-system-band { font-size:11px; }
 .ro-footnote { font-size:10px; }
}
@media(max-height:500px) and (orientation:landscape) { #screen-results .ro-intro { padding-top:18px; } .ro-heading { margin-bottom:18px; } }
@media(prefers-reduced-motion:reduce) { .ro-page,.ro-page * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

@media (min-width: 1025px) {
    body.myai-open #screen-results .ro-page { padding-inline: 18px; }
    body.myai-open .ro-heading,
    body.myai-open .ro-section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
    body.myai-open .ro-heading h1 { font-size: 30px; letter-spacing: 0; }
    body.myai-open .ro-hero-grid,
    body.myai-open .ro-system-grid { grid-template-columns: minmax(0, 1fr); }
    body.myai-open .ro-edition { padding: 18px 14px; gap: 12px; }
    body.myai-open .ro-edition-main strong { font-size: 19px; }
    body.myai-open .ro-edition-art { width: 35px; flex-basis: 35px; height: 43px; }
    body.myai-open .ro-edition-arrow { width: 24px; flex-basis: 24px; height: 24px; }
    body.myai-open .ro-sort { max-width: 100%; flex-wrap: wrap; }
    body.myai-open .ro-report-meta > span { margin-left: 0; }
}