/* New v6.5 visual review layer. Original styles and approved assets are retained. */
.internal-screen{overflow:clip}
/* The observed Netlify iframe stays visible in document flow, including when expanded. */
body>#nl-badge-frame{position:relative!important;inset:auto!important;display:block;margin:0 0 0 auto!important;max-width:100%}
.internal-screen .topbar{height:128px;grid-template-columns:280px minmax(0,1fr) 132px}
.internal-screen .logo{width:275px;height:120px}
.internal-screen .stage{opacity:1;font-size:13px;min-width:90px;max-width:120px}
.internal-screen .stage .bubble{width:46px;height:46px;font-size:24px}
.internal-screen .stage-line{margin-top:20px}
.internal-screen .page-title h1{font-size:clamp(32px,3.2vw,46px)}
.internal-screen .content{padding-bottom:100px}
.internal-screen .actions{flex-wrap:wrap}
.internal-screen .actions .btn{white-space:normal;max-width:100%}
.internal-screen :is(button,a,summary,[tabindex]):focus-visible{outline:3px solid #052e4f;outline-offset:4px;box-shadow:0 0 0 6px #fff}
.internal-screen .allocation-summary{position:sticky;top:8px;z-index:20;background:#fff;border:2px solid #287d49;border-radius:16px;padding:10px 16px;margin:12px 0;box-shadow:0 4px 14px #052e4f20}
.internal-screen .allocation-summary>div{display:flex;justify-content:center;gap:28px;font-size:18px}
.internal-screen .allocation-summary p{margin:5px 0 0;text-align:center;font-size:15px;line-height:1.4}
.internal-screen .invest-card button{scroll-margin-top:140px;scroll-margin-bottom:90px}
.internal-screen .risk-neutral{border:2px solid #687985;background:#f2f5f7;color:#304654}
.internal-screen .narrative-blocks p{margin:0 0 12px;line-height:1.55}
.internal-screen .narrative-blocks p:last-child{margin-bottom:0}
.internal-screen .final-body{gap:14px}
.internal-screen .chartbox{min-width:0;overflow-x:auto}
.internal-screen .readable-chart{display:block;min-width:760px;width:100%;max-height:none!important}
.internal-screen .readable-chart text{font-size:15px}
.internal-screen .legend-line.contributed{height:0;border-top:4px dashed #176899;background:none}
.internal-screen .chart-values{font-size:15px;margin-top:12px}
.internal-screen .chart-values summary{cursor:pointer;font-weight:800;padding:10px 2px}
.internal-screen .chart-values table{border-collapse:collapse;width:100%;font-size:14px}
.internal-screen .chart-values td,.internal-screen .chart-values th{padding:8px 5px;border-bottom:1px solid #ccd6dc;text-align:left}
.internal-screen .result-link{overflow-wrap:anywhere;user-select:all}
.internal-screen .keep-box{min-width:0}
@media(min-width:1000px) and (max-height:820px){
 .internal-screen[data-screen="choose"] .character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .internal-screen[data-screen="choose"] .character-card{padding:8px}
 .internal-screen[data-screen="choose"] .character-card img{height:215px}
 .internal-screen[data-screen="choose"] .character-card h3{font-size:21px;margin:4px 0}
 .internal-screen[data-screen="choose"] .character-card .tag{min-height:0;margin:4px 0;line-height:1.3}
 .internal-screen[data-screen="choose"] .character-card .btn{padding:8px 14px;min-height:44px}
 .internal-screen[data-screen="choose"] .page-title{margin-bottom:10px}
}
@media(max-width:1000px){
 .internal-screen .topbar{height:auto;grid-template-columns:220px minmax(0,1fr) 132px;padding:8px 16px}
 .internal-screen .logo{width:215px;height:88px}
 .internal-screen .progress{gap:5px}
 .internal-screen .stage{min-width:0;font-size:11px;flex:1}
 .internal-screen .stage .bubble{width:38px;height:38px;font-size:21px}
 .internal-screen .stage-line{display:none}
}
@media(min-width:1000px) and (max-height:740px){
 .internal-screen[data-screen="choose"] .character-card img{height:205px}
 .internal-screen[data-screen="choose"] .page-title p{margin:4px 0}
}
@media(max-width:700px){
 .internal-screen .topbar{grid-template-columns:minmax(0,1fr) 124px;grid-template-rows:88px auto;padding:6px 12px 12px}
 .internal-screen .logo{width:min(210px,100%);height:88px}
 .internal-screen .top-action{grid-column:2;grid-row:1}
 .internal-screen .progress{grid-column:1/-1;grid-row:2;gap:3px}
 .internal-screen .stage{font-size:10px;max-width:none}
 .internal-screen .stage .bubble{width:34px;height:34px;font-size:19px}
 .internal-screen .content{padding-bottom:100px}
 .internal-screen .allocation-summary{top:4px;padding:8px}
 .internal-screen .allocation-summary>div{font-size:17px;gap:16px}
 .internal-screen .allocation-summary p{font-size:14px}
 .internal-screen .chartbox:has(.readable-chart)::after{content:'Swipe the chart sideways, or open Read chart values.';display:block;font-size:14px;margin-top:8px}
 .internal-screen .bar-chart{height:auto;min-height:215px}
 .internal-screen .bar-wrap{min-width:0;font-size:12px}
 .internal-screen .final-hero-copy h2{font-size:23px}
 .internal-screen .softbox>div:has(img){flex-wrap:wrap}
}
@media print{
 .internal-screen{overflow:visible}
 @page{size:A4;margin:12mm}
 .internal-screen .content{padding:0!important}
 .internal-screen .readable-chart{min-width:0;width:100%}
 .internal-screen .chartbox{overflow:visible;break-inside:avoid}
 .internal-screen .chartbox::after,.internal-screen .chart-values,.internal-screen #copyResultStatus{display:none!important}
 .internal-screen .final-report,.internal-screen .final-body{display:block;overflow:visible}
 .internal-screen .final-body>*{margin-bottom:12px}
 .internal-screen .final-hero-copy h1{font-size:24pt}
 .internal-screen .final-hero-copy h2{font-size:15pt}
 .internal-screen .narrative-blocks,.internal-screen .final-education-note{font-size:10pt}
 .internal-screen .softbox,.internal-screen .keep-box,.internal-screen .final-small-grid,.internal-screen .final-age-strip{break-inside:avoid}
 .internal-screen .keep-grid{display:block}
 .internal-screen .result-link{font-size:8pt;word-break:break-all}
 .internal-screen .allocation-summary{position:static}
 #nl-badge-frame{display:none!important}
}
