
:root{--navy:#153f61;--navy2:#0d2c45;--blue:#1d6492;--gold:#f4c43d;--green:#2f7d54;--purple:#67429a;--red:#a13e3e;--ink:#1d2b36;--line:#cad9e3;--soft:#f4f8fb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eaf0f4;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.55}img,svg{max-width:100%;height:auto}a{color:#125b87}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip{position:fixed;top:-80px;left:8px;z-index:9999;background:#fff;padding:10px}.skip:focus{top:8px}.top{position:sticky;top:0;z-index:99;background:var(--navy2);border-bottom:4px solid var(--gold);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px}.brand{display:flex;align-items:center;gap:9px;font-weight:800;min-width:0}.brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.brand span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top nav{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.top a,.top button{min-height:44px;padding:8px 12px;border:2px solid #ffffff80;border-radius:10px;color:#fff;background:transparent;text-decoration:none;font-weight:750}.top button{background:var(--gold);color:#222;border-color:var(--gold)}.shell{width:min(1160px,calc(100% - 20px));margin:14px auto;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #153f6120}.hero{padding:28px;background:linear-gradient(135deg,var(--navy2),var(--blue));color:#fff}.hero h1{font-size:clamp(27px,5vw,50px);line-height:1.1;margin:8px 0}.hero p{max-width:850px}.badges{display:flex;flex-wrap:wrap;gap:7px}.badge{padding:5px 9px;border-radius:999px;background:#ffffff20;border:1px solid #ffffff40}.tabs{display:grid;grid-template-columns:repeat(8,1fr);border-bottom:4px solid var(--navy)}.tab{min-height:62px;border:0;border-right:1px solid var(--line);background:#eef4f8;color:var(--navy);font-weight:800;padding:8px;cursor:pointer}.tab[aria-selected="true"]{background:var(--navy);color:#fff}.panel{padding:clamp(16px,3vw,32px)}.panel[hidden]{display:none}.section-title{color:var(--navy);font-size:clamp(24px,4vw,38px);border-bottom:3px solid #d7e7f1;padding-bottom:8px}.sub{color:var(--navy);margin-top:28px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.note{border-left:5px solid var(--gold);background:#fff8db;padding:13px;border-radius:10px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;min-width:720px}caption{text-align:left;padding:12px;font-weight:800;color:var(--navy)}th,td{border:1px solid var(--line);padding:10px;vertical-align:top}th{background:#edf4f8}.field{margin:12px 0}.field label{display:block;font-weight:750;margin-bottom:5px}.field input,.field textarea,.field select{width:100%;padding:11px;border:1px solid #9db3c1;border-radius:9px}.field textarea{min-height:110px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.btn{min-height:44px;border:0;border-radius:9px;padding:10px 14px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}.btn.alt{background:var(--purple)}.btn.danger{background:var(--red)}.privacy{padding:12px;background:#eef8f1;border:1px solid #aad1b8;border-radius:10px}.slide-deck{border:3px solid var(--navy);border-radius:17px;overflow:hidden;background:#edf5fa}.slide{display:none;min-height:520px;padding:clamp(22px,5vw,56px);background:linear-gradient(145deg,#f9fdff,#e6f3fa);position:relative}.slide.active{display:block}.slide:nth-child(4n+2){background:linear-gradient(145deg,#effaf3,#dff2e7)}.slide:nth-child(4n+3){background:linear-gradient(145deg,#fff9e7,#f7e6ad)}.slide:nth-child(4n){background:linear-gradient(145deg,#f5f0fb,#e9def5)}.slide h3{font-size:clamp(25px,4.7vw,44px);color:var(--navy);margin:0 0 16px}.slide p,.slide li{font-size:clamp(18px,2.5vw,25px)}.slide .math{font-size:clamp(25px,5vw,48px);font-weight:900;text-align:center;color:var(--purple);padding:20px}.slide-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;background:#fff}.slide-controls button{min-height:48px;border:0;border-radius:10px;padding:10px 16px;background:var(--navy);color:#fff;font-weight:850}.dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;padding:12px}.dot{width:26px;height:26px;border-radius:50%;border:0;background:#aac1d0;cursor:pointer}.dot.active{background:var(--navy)}.problem{border:2px solid #d0dce5;border-radius:15px;margin:18px 0;overflow:hidden}.problem header{background:var(--navy);color:#fff;padding:14px}.problem-body{padding:14px}.step{border-left:4px solid var(--blue);padding:10px 12px;margin:12px 0;background:var(--soft)}.feedback{min-height:26px;font-weight:750}.correct{color:#17643a}.wrong{color:#933}.teacher-only{display:none}.teacher-mode .teacher-only{display:block}.signature{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px;text-align:center}.signature img{height:118px;width:240px;object-fit:contain}.footer-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px;background:#eef4f8}.footer-nav a,.footer-nav button{min-height:52px;border:2px solid var(--navy);border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-weight:850;background:#fff;color:var(--navy)}.footer-nav button{background:var(--gold);border-color:var(--gold);color:#222}@media(max-width:760px){.top{align-items:flex-start}.brand span{display:none}.top nav{flex-wrap:nowrap}.top a,.top button{padding:7px 9px;font-size:14px}.tabs{grid-template-columns:repeat(4,1fr)}.tab{min-height:58px;font-size:13px}.grid,.grid.three{grid-template-columns:1fr}.shell{width:calc(100% - 8px);margin:4px auto;border-radius:8px}.panel{padding:14px 10px}.slide{min-height:560px;padding:24px 18px}.signature{gap:8px}.signature img{width:145px;height:94px}.signature p{font-size:13px}.footer-nav{grid-template-columns:1fr 1fr;padding:10px}}@media(max-width:360px){.tabs{grid-template-columns:repeat(2,1fr)}.top nav a:first-child{display:none}.slide-controls button{padding:9px 11px}.signature img{width:125px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media print{@page{size:A4;margin:14mm}.top,.tabs,.footer-nav,.actions,.slide-controls,.dots,.no-print{display:none!important}.shell{width:100%;margin:0;box-shadow:none}.panel{display:block!important;padding:0}.slide{display:block!important;min-height:auto;page-break-after:always}.teacher-only{display:none}.teacher-mode .teacher-only{display:block}.signature{break-inside:avoid}.problem{break-inside:avoid}}

/* Stage 4 rational-number module enhancements */
:root{--teal:#0d766e;--orange:#c66a20}.diagnostic-cta{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 14px;border-radius:12px;background:var(--gold);color:#222;text-decoration:none;font-weight:900;margin-top:8px}.hero-rational{background:radial-gradient(circle at 86% 18%,rgba(255,255,255,.15) 0 88px,transparent 90px),linear-gradient(135deg,#0d2c45,#0d766e)}.concept-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.concept-strip>div{border-radius:12px;padding:12px;text-align:center;background:#eef8f7;border:1px solid #bddbd8}.concept-strip b{display:block;color:var(--teal);font-size:clamp(20px,3vw,30px)}.fraction-model{display:flex;width:100%;min-height:62px;border:2px solid var(--navy);border-radius:10px;overflow:hidden;background:#fff}.fraction-cell{flex:1;border-right:1px solid var(--navy);display:grid;place-items:center;font-weight:800}.fraction-cell:last-child{border-right:0}.fraction-cell.fill{background:#f4c43d}.hundred-grid{display:grid;grid-template-columns:repeat(10,1fr);aspect-ratio:1;max-width:380px;border:2px solid var(--navy);margin:12px auto}.hundred-grid span{border:1px solid #b9cad6}.hundred-grid span.fill{background:#5bb7ad}.conversion-chain{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center;text-align:center;margin:15px 0}.conversion-chain .node{padding:16px;border-radius:14px;border:2px solid var(--teal);background:#f1fbfa;font-weight:900;font-size:clamp(20px,3vw,30px)}.conversion-chain .arrow{font-size:32px;color:var(--teal);font-weight:900}.step.locked{opacity:.62}.step.locked textarea,.step.locked input,.step.locked button{pointer-events:none}.step.completed{border-left-color:var(--green);background:#eef8f1}.step .hint{display:none;margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff8db;border:1px solid #efd67a}.step .hint.show{display:block}.mastery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.mastery-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}.mastery-card b{display:block;font-size:24px;color:var(--navy)}.media-lab{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(300px,1.1fr);gap:18px;align-items:start}.lab-output{border:2px solid var(--teal);border-radius:15px;padding:16px;background:#f4fbfa}.lab-number{font-size:clamp(28px,6vw,54px);font-weight:950;color:var(--teal);text-align:center}.external-media{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.external-media article{border:1px solid var(--line);border-radius:14px;padding:14px}.external-media a{display:inline-flex;min-height:44px;align-items:center;padding:8px 12px;border-radius:9px;background:var(--navy);color:#fff;text-decoration:none;font-weight:800}.media-frame{width:100%;height:520px;border:2px solid var(--line);border-radius:12px;background:#f4f8fb}.teacher-key{border:2px solid #7653a4;border-radius:14px;padding:15px;background:#f8f3fc}.print-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.print-tools select{min-height:44px;border-radius:9px;padding:7px;border:1px solid #fff8;color:#111;background:#fff}.micro-diag{border:2px solid #9cc9c5;border-radius:14px;padding:15px;background:#f2fbfa}.question-block{border:1px solid var(--line);border-radius:12px;padding:13px;margin:12px 0}.question-block legend{font-weight:850;color:var(--navy)}.options-list{display:grid;gap:7px}.options-list label{display:flex;gap:8px;align-items:flex-start;padding:9px;border:1px solid #d5e0e7;border-radius:9px}.status-chip{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:850;background:#e8f6f3;color:#14685f}.slide{background-image:radial-gradient(circle at 92% 12%,rgba(13,118,110,.10) 0 68px,transparent 70px),linear-gradient(145deg,#f9fdff,#e6f3fa)}.slide:nth-child(4n+2){background-image:radial-gradient(circle at 8% 90%,rgba(47,125,84,.12) 0 82px,transparent 84px),linear-gradient(145deg,#effaf3,#dff2e7)}.slide:nth-child(4n+3){background-image:radial-gradient(circle at 90% 85%,rgba(244,196,61,.18) 0 80px,transparent 82px),linear-gradient(145deg,#fff9e7,#f7e6ad)}.slide:nth-child(4n){background-image:radial-gradient(circle at 8% 12%,rgba(103,66,154,.12) 0 75px,transparent 77px),linear-gradient(145deg,#f5f0fb,#e9def5)}
@media(max-width:820px){.media-lab{grid-template-columns:1fr}.external-media{grid-template-columns:1fr}.conversion-chain{grid-template-columns:1fr}.conversion-chain .arrow{transform:rotate(90deg)}.concept-strip{grid-template-columns:1fr 1fr}.media-frame{height:430px}.mastery{grid-template-columns:1fr}}
@media(max-width:420px){.concept-strip{grid-template-columns:1fr}.media-frame{height:360px}.top .print-tools select{display:none}}
@media print{body[data-print-scope]:not([data-print-scope="all"]) .panel{display:none!important}body[data-print-scope="modul"] #panel-modul,body[data-print-scope="lkpd"] #panel-lkpd,body[data-print-scope="bacaan"] #panel-bacaan,body[data-print-scope="slide"] #panel-slide,body[data-print-scope="soal"] #panel-soal,body[data-print-scope="asesmen"] #panel-asesmen,body[data-print-scope="rubrik"] #panel-rubrik{display:block!important}body[data-print-scope="slide"] @page{size:A4 landscape}}

/* Stage 5 — Bab Bilangan Rasional lengkap */
.rational-lab{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr);gap:18px;align-items:start}.lab-controls{display:grid;gap:12px}.fraction-input{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.fraction-input input{min-width:0;text-align:center;font-weight:800}.lab-result{border:2px solid var(--teal);border-radius:16px;padding:16px;background:#f4fbfa}.lab-result .big{font-size:clamp(28px,5vw,48px);font-weight:950;color:var(--teal);text-align:center}.number-track{position:relative;height:72px;margin:16px 8px 4px;border-top:4px solid var(--navy)}.number-track::before,.number-track::after{position:absolute;top:-28px;font-weight:800}.number-track::before{content:'−1';left:0}.number-track::after{content:'1';right:0}.track-point{position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--gold);border:3px solid var(--navy);transform:translateX(-50%)}.formula-box{padding:12px;border-radius:12px;background:#fff;border:1px solid #b8d7d4;font-family:ui-monospace,Consolas,monospace;font-size:clamp(17px,2.5vw,24px);overflow-wrap:anywhere}.chapter-map{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:16px 0}.chapter-map article{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}.chapter-map strong{display:block;color:var(--navy)}.score-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.score-banner article{padding:12px;border-radius:12px;background:#eef8f7;border:1px solid #b8d7d4;text-align:center}.score-banner b{display:block;font-size:28px;color:var(--teal)}.sumative-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.manual-rubric{border:2px solid #7653a4;border-radius:14px;padding:14px;background:#faf7fd}.share-note{padding:12px;border-left:5px solid var(--gold);background:#fff8dc;border-radius:8px}.chapter-complete{background:linear-gradient(135deg,#0d2c45,#0d766e);color:#fff;padding:18px;border-radius:16px;margin:16px 0}.chapter-complete a{display:inline-flex;margin:5px;padding:10px 13px;border-radius:10px;background:#f4c43d;color:#18202a;text-decoration:none;font-weight:900}
@media(max-width:860px){.rational-lab{grid-template-columns:1fr}.chapter-map{grid-template-columns:1fr 1fr}.score-banner{grid-template-columns:1fr}.sumative-grid{grid-template-columns:1fr}}
@media(max-width:440px){.chapter-map{grid-template-columns:1fr}.fraction-input{grid-template-columns:1fr auto 1fr}}

/* Stage 6 — Rasio dan Perbandingan */
:root{--ratio:#9a4f20;--ratio2:#d5782f;--ratio-soft:#fff5e9}.hero-ratio{background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.14) 0 95px,transparent 97px),linear-gradient(135deg,#0d2c45,#8b461d)}.ratio-cta{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 14px;border-radius:12px;background:var(--gold);color:#222;text-decoration:none;font-weight:900;margin-top:8px}.ratio-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.ratio-strip article{border:1px solid #e5c3a9;background:#fff8f0;border-radius:13px;padding:13px;text-align:center}.ratio-strip strong{display:block;color:var(--ratio);font-size:clamp(20px,3vw,30px)}.ratio-visual{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border:2px solid #d6a27b;border-radius:15px;background:#fff}.ratio-token{width:38px;height:38px;border-radius:50%;border:2px solid #173e5d;display:grid;place-items:center;font-weight:900}.ratio-token.a{background:#f4c43d}.ratio-token.b{background:#65b8ad}.ratio-lab{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:18px;align-items:start}.ratio-output{border:2px solid var(--ratio);border-radius:16px;padding:16px;background:#fff8f0}.ratio-big{font-size:clamp(30px,6vw,58px);font-weight:950;color:var(--ratio);text-align:center}.equiv-table{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.equiv-table div{padding:9px;border:1px solid #dfc4b0;border-radius:8px;text-align:center;background:#fff}.step.locked{opacity:.58}.step.locked textarea,.step.locked button{pointer-events:none}.step.completed{border-left-color:var(--green);background:#eef8f1}.step .hint{display:none;margin-top:8px;padding:9px;border-radius:8px;background:#fff8db;border:1px solid #efd67a}.step .hint.show{display:block}.mastery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.mastery-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}.mastery-card b{display:block;font-size:24px;color:var(--navy)}.micro-diag{border:2px solid #e2b48e;border-radius:14px;padding:15px;background:#fff8f0}.teacher-key{border:2px solid #7653a4;border-radius:14px;padding:15px;background:#f8f3fc}.question-block{border:1px solid var(--line);border-radius:12px;padding:13px;margin:12px 0}.question-block legend{font-weight:850;color:var(--navy)}.options-list{display:grid;gap:7px}.options-list label{display:flex;gap:8px;align-items:flex-start;padding:9px;border:1px solid #d5e0e7;border-radius:9px}.print-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.print-tools select{min-height:44px;border-radius:9px;padding:7px;border:1px solid #fff8;color:#111;background:#fff}.external-media{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.external-media article{border:1px solid var(--line);border-radius:14px;padding:14px}.external-media a{display:inline-flex;min-height:44px;align-items:center;padding:8px 12px;border-radius:9px;background:var(--navy);color:#fff;text-decoration:none;font-weight:800}.slide{background-image:radial-gradient(circle at 92% 12%,rgba(154,79,32,.10) 0 70px,transparent 72px),linear-gradient(145deg,#fffdfb,#f9eee4)}.slide:nth-child(4n+2){background-image:radial-gradient(circle at 8% 90%,rgba(47,125,84,.11) 0 82px,transparent 84px),linear-gradient(145deg,#effaf3,#dff2e7)}.slide:nth-child(4n+3){background-image:radial-gradient(circle at 90% 85%,rgba(244,196,61,.18) 0 80px,transparent 82px),linear-gradient(145deg,#fff9e7,#f7e6ad)}.slide:nth-child(4n){background-image:radial-gradient(circle at 8% 12%,rgba(29,100,146,.12) 0 75px,transparent 77px),linear-gradient(145deg,#edf7fd,#dcecf7)}.status-chip{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:850;background:#fff0e2;color:#854017}.field-help{font-size:13px;color:#526672}.privacy-box{padding:12px;border:1px solid #aad1b8;background:#eef8f1;border-radius:10px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.domain-plan{border:1px solid var(--line);border-radius:12px;padding:13px;margin:10px 0;background:#f8fbfd}.session-plan{display:grid;grid-template-columns:120px 1fr;gap:10px;border-bottom:1px solid #dbe4ea;padding:8px 0}.session-plan:last-child{border-bottom:0}.feedback[aria-live]{min-height:28px}
@media(max-width:820px){.ratio-lab{grid-template-columns:1fr}.ratio-strip{grid-template-columns:1fr 1fr}.external-media{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.mastery{grid-template-columns:1fr}}
@media(max-width:430px){.ratio-strip{grid-template-columns:1fr}.print-tools select{display:none}.session-plan{grid-template-columns:1fr}.ratio-token{width:32px;height:32px}}
@media print{body[data-print-scope]:not([data-print-scope="all"]) .panel{display:none!important}body[data-print-scope="modul"] #panel-modul,body[data-print-scope="lkpd"] #panel-lkpd,body[data-print-scope="bacaan"] #panel-bacaan,body[data-print-scope="slide"] #panel-slide,body[data-print-scope="soal"] #panel-soal,body[data-print-scope="asesmen"] #panel-asesmen,body[data-print-scope="rubrik"] #panel-rubrik{display:block!important}.external-media,.ratio-lab iframe{display:none!important}}

/* Stage 7 — five remaining Ratio modules */
.lab-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lab-result{border:2px solid #9a4f20;border-radius:16px;padding:16px;background:#fff8f0}.lab-result strong{font-size:clamp(22px,4vw,38px);color:#8b461d}.mini-chart{height:240px;border:1px solid #cad8e1;border-radius:12px;background:linear-gradient(#fff,#f7fbfd);position:relative;overflow:hidden}.mini-chart svg{width:100%;height:100%}.compound-bars{display:grid;gap:8px}.compound-row{display:flex;align-items:center;gap:8px}.compound-row span:first-child{width:28px;font-weight:900}.compound-bar{height:28px;border-radius:8px;background:linear-gradient(90deg,#f4c43d,#d5782f);min-width:20px}.compound-row:nth-child(2) .compound-bar{background:linear-gradient(90deg,#65b8ad,#1b7b72)}.compound-row:nth-child(3) .compound-bar{background:linear-gradient(90deg,#8fb4d2,#1d6492)}.scale-ruler{height:74px;border-bottom:4px solid #153f61;position:relative;margin:16px 0}.scale-ruler i{position:absolute;bottom:-10px;width:2px;height:22px;background:#153f61}.scale-ruler b{position:absolute;bottom:18px;transform:translateX(-50%);font-size:12px}.decision-list{display:grid;gap:9px}.decision-list article{padding:11px;border:1px solid #d6e1e8;border-radius:10px;background:#f8fbfd}.stage7-complete{background:linear-gradient(135deg,#0d2c45,#8b461d);color:#fff;padding:18px;border-radius:16px;margin:18px 0}.stage7-complete a{display:inline-flex;margin:5px;padding:10px 13px;border-radius:10px;background:#f4c43d;color:#18202a;text-decoration:none;font-weight:900}
@media(max-width:760px){.lab-grid{grid-template-columns:1fr}.mini-chart{height:210px}}
@media(max-width:430px){.lab-card,.lab-result{padding:11px}.mini-chart{height:180px}}
/* Prevent wide pedagogical tables from widening the page; they remain scrollable inside their wrappers. */
.shell,.panel{min-width:0;max-width:100%;overflow-x:clip}.table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-wrap table{max-width:none}
@media(max-width:760px){.top{flex-wrap:wrap}.top nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}.top nav>a,.top nav>.print-tools{min-width:0;width:100%}.top nav>.print-tools{grid-column:1/-1}.top nav>.print-tools button{width:100%}}
html,body{max-width:100%;overflow-x:hidden}

/* Tahap 8 — Bentuk Aljabar */
:root{--alg:#6b3fa0;--alg2:#9c6ad0;--alg-soft:#f8f1ff;--tile-x:#6db5dd;--tile-c:#f3c24c;--tile-neg:#ef8d8d}.hero-algebra{background:radial-gradient(circle at 88% 16%,rgba(255,255,255,.13) 0 98px,transparent 100px),linear-gradient(135deg,#122f49,#6b3fa0)}.alg-cta{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 14px;border-radius:12px;background:var(--gold);color:#222;text-decoration:none;font-weight:900;margin-top:8px}.alg-card{border:1px solid #d9c7ea;background:#fbf7ff;border-radius:14px;padding:14px}.expression{font-family:Cambria,"Times New Roman",serif;font-size:clamp(26px,5vw,48px);font-weight:800;color:#3c2261;text-align:center;padding:12px}.algebra-lab{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(320px,1.25fr);gap:18px;align-items:start}.tile-board{min-height:230px;border:2px dashed #a989c6;border-radius:16px;background:linear-gradient(#fff,#fbf7ff);padding:16px;display:flex;align-items:flex-end;align-content:flex-start;gap:10px;flex-wrap:wrap}.alg-tile{display:grid;place-items:center;border:2px solid #193b57;border-radius:8px;font-weight:900;box-shadow:0 3px 0 rgba(0,0,0,.08)}.alg-tile.x{width:34px;height:126px;background:var(--tile-x)}.alg-tile.y{width:34px;height:94px;background:#77c9ac}.alg-tile.c{width:36px;height:36px;background:var(--tile-c)}.alg-tile.neg{background:var(--tile-neg)}.term-chip{display:inline-flex;align-items:center;min-height:42px;padding:8px 12px;margin:4px;border:1px solid #bea8d3;border-radius:10px;background:#fff;font-weight:800}.like-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}.like-box{border:1px solid #d8c7e8;border-radius:13px;padding:13px;background:#fff}.like-box h4{margin:0 0 8px;color:#54317d}.machine{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.machine .box{border:2px solid var(--alg);border-radius:14px;padding:16px;background:#fff;text-align:center}.machine .arrow{font-size:34px;color:var(--alg)}.diag-domain{border-left:5px solid var(--alg);background:#fbf7ff;border-radius:12px;padding:14px;margin:12px 0}.profile-priority{border:2px solid #e3b23d;background:#fff9e7;border-radius:14px;padding:14px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plan-grid article{border:1px solid #d8c7e8;border-radius:13px;padding:13px;background:#fff}.algebra-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eee3f8;color:#523078;font-size:12px;font-weight:850}.slide{background-image:radial-gradient(circle at 92% 12%,rgba(107,63,160,.11) 0 74px,transparent 76px),linear-gradient(145deg,#fff,#f6f0fb)}.slide:nth-child(4n+2){background-image:linear-gradient(135deg,rgba(109,181,221,.16),transparent 55%),linear-gradient(145deg,#f2fbff,#e2f2fb)}.slide:nth-child(4n+3){background-image:linear-gradient(135deg,rgba(243,194,76,.19),transparent 55%),linear-gradient(145deg,#fffbed,#f6e8b4)}.slide:nth-child(4n){background-image:linear-gradient(135deg,rgba(119,201,172,.14),transparent 55%),linear-gradient(145deg,#effaf5,#def1e8)}.micro-diag{border:2px solid #bea8d3;border-radius:14px;padding:15px;background:#fbf7ff}.teacher-key{border:2px solid #7653a4;border-radius:14px;padding:15px;background:#f8f3fc}.step.locked{opacity:.58}.step.locked textarea,.step.locked button{pointer-events:none}.step.completed{border-left-color:var(--green);background:#eef8f1}.step .hint{display:none;margin-top:8px;padding:9px;border-radius:8px;background:#fff8db;border:1px solid #efd67a}.step .hint.show{display:block}.mastery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.mastery-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}.mastery-card b{display:block;font-size:24px;color:var(--navy)}.privacy-box{padding:12px;border:1px solid #aad1b8;background:#eef8f1;border-radius:10px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.session-plan{display:grid;grid-template-columns:120px 1fr;gap:10px;border-bottom:1px solid #dbe4ea;padding:8px 0}.session-plan:last-child{border-bottom:0}.feedback[aria-live]{min-height:28px}
.hero-algebra .nav-module a{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:9px;padding:7px 10px;text-decoration:none;font-weight:800}.hero-algebra .nav-module a:hover{background:rgba(255,255,255,.22)}
@media(max-width:820px){.algebra-lab{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.like-group{grid-template-columns:1fr}.mastery{grid-template-columns:1fr}}
@media(max-width:430px){.machine{grid-template-columns:1fr}.machine .arrow{transform:rotate(90deg)}.session-plan{grid-template-columns:1fr}.tile-board{min-height:190px}.alg-tile.x{height:100px}}
@media print{.algebra-lab iframe,.external-media{display:none!important}}

/* Tahap 9 — laboratorium aljabar lanjutan */
.alg-lab-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:16px;align-items:start}.alg-output{border:2px solid var(--alg);border-radius:16px;background:linear-gradient(145deg,#fff,#f7efff);padding:16px}.alg-output .big{font-family:Cambria,"Times New Roman",serif;font-size:clamp(25px,5vw,46px);font-weight:900;color:#432568;text-align:center;overflow-wrap:anywhere}.area-model{display:grid;grid-template-columns:repeat(2,minmax(80px,1fr));gap:8px;margin-top:12px}.area-cell{min-height:86px;border:2px solid #31536a;border-radius:12px;display:grid;place-items:center;text-align:center;padding:8px;font-weight:900;background:#dff2fc}.area-cell:nth-child(even){background:#fff0bd}.factor-strip{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:stretch;margin-top:14px}.factor-common{display:grid;place-items:center;min-width:72px;border:2px solid #6b3fa0;border-radius:12px;background:#eadcf7;font-weight:900;font-size:22px}.factor-inside{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.factor-inside div{display:grid;place-items:center;min-height:70px;border:2px solid #31536a;border-radius:10px;background:#fff}.division-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.division-flow .box{border:2px solid #6b3fa0;border-radius:13px;padding:14px;background:#fff;text-align:center;font-weight:850}.division-flow .arrow{font-size:34px;color:#6b3fa0}.substitution-table{width:100%;border-collapse:collapse}.substitution-table td,.substitution-table th{border:1px solid #cdd9e2;padding:10px}.substitution-table th{background:#e9f2f8}.model-selector{display:grid;gap:12px}.model-card{border:1px solid #d7c5e8;border-radius:13px;padding:13px;background:#fff}.model-card strong{color:#56317e}.check-list{display:grid;gap:8px;margin-top:12px}.check-list div{padding:9px;border-radius:9px;background:#eef7f3;border-left:4px solid #2f835c}.stage9-complete{background:linear-gradient(135deg,#173a56,#6b3fa0);color:#fff;padding:18px;border-radius:16px;margin:18px 0}.stage9-complete a{display:inline-flex;margin:5px;padding:10px 13px;border-radius:10px;background:#f4c43d;color:#18202a;text-decoration:none;font-weight:900}
@media(max-width:820px){.alg-lab-layout{grid-template-columns:1fr}}
@media(max-width:430px){.area-model{grid-template-columns:1fr}.division-flow{grid-template-columns:1fr}.division-flow .arrow{transform:rotate(90deg)}.factor-strip{grid-template-columns:1fr}.factor-inside{grid-template-columns:1fr}}

/* Tahap 10 — Sudut dan Kesebangunan */
:root{--geo:#9a5d20;--geo2:#d79039;--geo-soft:#fff8ef;--geo-blue:#326b8b;--geo-green:#2f7b67}
.hero-geometry{background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.13) 0 92px,transparent 94px),linear-gradient(135deg,#173b55,#9a5d20)}
.geo-cta{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 14px;border-radius:12px;background:var(--gold);color:#222;text-decoration:none;font-weight:900;margin-top:8px}
.geo-card{border:1px solid #ead0b2;background:#fffaf4;border-radius:14px;padding:14px}.geo-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#faead7;color:#733f10;font-size:12px;font-weight:850}
.geometry-lab{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(330px,1.2fr);gap:18px;align-items:start}.geo-output{border:2px solid var(--geo);border-radius:16px;background:linear-gradient(145deg,#fff,#fff5e9);padding:16px}.geo-output .big{font-family:Cambria,"Times New Roman",serif;font-size:clamp(25px,5vw,46px);font-weight:900;color:#6f3b0d;text-align:center;overflow-wrap:anywhere}
.angle-stage{min-height:300px;border:2px dashed #cc9d6d;border-radius:16px;background:linear-gradient(#fff,#fff8ef);display:grid;place-items:center;padding:12px}.angle-stage svg{width:min(100%,470px);height:auto}.angle-line{stroke:#244b63;stroke-width:7;stroke-linecap:round}.angle-ray{stroke:#a75c18;stroke-width:7;stroke-linecap:round}.angle-arc{fill:none;stroke:#d79a2c;stroke-width:5}.angle-label{font-size:21px;font-weight:900;fill:#18384d}.angle-value{font-size:18px;font-weight:850;fill:#7b4212}
.sim-stage{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.shape-box{min-height:240px;border:2px dashed #b48b62;border-radius:15px;background:#fff;display:grid;place-items:center;padding:12px}.shape-rect{border:4px solid var(--geo-blue);background:linear-gradient(135deg,rgba(50,107,139,.12),rgba(215,144,57,.13));display:grid;place-items:center;font-weight:900;color:#173b55;max-width:100%;max-height:200px}.shape-rect.target{border-color:var(--geo)}
.ratio-check{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.ratio-check div{border:1px solid #e4c7aa;border-radius:10px;background:#fff;padding:10px;text-align:center}.status-similar{border-left:5px solid #2f835c;background:#eff9f4;padding:12px;border-radius:10px}.status-not{border-left:5px solid #b74942;background:#fff1ef;padding:12px;border-radius:10px}
.angle-pair-grid{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px}.angle-pair-grid article{border:1px solid #e2c7aa;border-radius:12px;background:#fff;padding:12px;text-align:center}.angle-pair-grid strong{display:block;color:#763f0e}.vertex-map{display:flex;flex-wrap:wrap;gap:8px}.vertex-map span{padding:8px 11px;border-radius:10px;border:1px solid #d9b890;background:#fff;font-weight:850}
.diag-domain{border-left:5px solid var(--geo);background:#fff8ef;border-radius:12px;padding:14px;margin:12px 0}.profile-priority{border:2px solid #e3b23d;background:#fff9e7;border-radius:14px;padding:14px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plan-grid article{border:1px solid #e2c7aa;border-radius:13px;padding:13px;background:#fff}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.privacy-box{padding:12px;border:1px solid #aad1b8;background:#eef8f1;border-radius:10px}.mastery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.mastery-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}.mastery-card b{display:block;font-size:24px;color:var(--navy)}
.micro-diag{border:2px solid #dcb585;border-radius:14px;padding:15px;background:#fff8ef}.teacher-key{border:2px solid #9a5d20;border-radius:14px;padding:15px;background:#fff6eb}.step.locked{opacity:.58}.step.locked textarea,.step.locked button{pointer-events:none}.step.completed{border-left-color:var(--green);background:#eef8f1}.step .hint{display:none;margin-top:8px;padding:9px;border-radius:8px;background:#fff8db;border:1px solid #efd67a}.step .hint.show{display:block}.feedback[aria-live]{min-height:28px}
.slide{background-image:radial-gradient(circle at 92% 12%,rgba(154,93,32,.11) 0 74px,transparent 76px),linear-gradient(145deg,#fff,#fff8ef)}.slide:nth-child(4n+2){background-image:linear-gradient(135deg,rgba(50,107,139,.16),transparent 55%),linear-gradient(145deg,#f2fbff,#e2f2fb)}.slide:nth-child(4n+3){background-image:linear-gradient(135deg,rgba(215,144,57,.19),transparent 55%),linear-gradient(145deg,#fffbed,#f7e6c8)}.slide:nth-child(4n){background-image:linear-gradient(135deg,rgba(47,123,103,.14),transparent 55%),linear-gradient(145deg,#effaf5,#def1e8)}
.hero-geometry .nav-module a{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:9px;padding:7px 10px;text-decoration:none;font-weight:800}.hero-geometry .nav-module a:hover{background:rgba(255,255,255,.22)}
@media(max-width:820px){.geometry-lab{grid-template-columns:1fr}.plan-grid,.profile-grid{grid-template-columns:1fr}.angle-pair-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.sim-stage{grid-template-columns:1fr}.ratio-check{grid-template-columns:1fr}.angle-pair-grid{grid-template-columns:1fr}.angle-stage{min-height:230px}.shape-box{min-height:190px}}
@media print{.external-media,.geometry-lab iframe{display:none!important}}

/* Tahap 11 — laboratorium kesebangunan lanjutan */
.triangle-lab{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(330px,1.15fr);gap:18px;align-items:start}.triangle-canvas{min-height:300px;border:2px dashed #cf9f6d;border-radius:16px;background:linear-gradient(145deg,#fff,#fff8ef);display:grid;place-items:center;padding:14px}.triangle-canvas svg{width:min(100%,520px);height:auto}.tri-line{stroke:#24526d;stroke-width:6;fill:rgba(50,107,139,.09);stroke-linejoin:round}.tri-line.alt{stroke:#a65c18;stroke-dasharray:10 7}.tri-label{font-size:19px;font-weight:900;fill:#173b55}.tri-value{font-size:17px;font-weight:850;fill:#804610}.criteria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.criteria-grid article{border:1px solid #dfc3a5;border-radius:12px;background:#fff;padding:12px;text-align:center}.criteria-grid strong{display:block;color:#804610}.solver-flow{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;margin-top:14px}.solver-flow article{border:1px solid #dfc3a5;border-radius:12px;background:#fff;padding:12px;text-align:center}.solver-flow .big{font-size:clamp(22px,4.5vw,38px);font-weight:900;color:#6f3b0d}.formula-board{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px}.formula-board div{border:1px solid #ddc09e;border-radius:11px;background:#fff;padding:11px;text-align:center;font-family:Cambria,"Times New Roman",serif;font-weight:850}.measurement-card{border:2px solid #9a5d20;border-radius:16px;background:linear-gradient(145deg,#fff,#fff6e8);padding:16px}.measurement-scene{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end;min-height:260px;border:2px dashed #d8b188;border-radius:16px;padding:16px;background:linear-gradient(#e9f6fc 0 65%,#e7f0dc 65%)}.stick,.object{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.stick-bar,.object-bar{width:16px;background:#804610;border-radius:8px 8px 2px 2px}.object-bar{width:28px;background:#285f78}.shadow{height:10px;background:rgba(34,50,60,.45);border-radius:50%}.measurement-scene span{font-weight:850;text-align:center}.result-good{border-left:5px solid #2f835c;background:#eef8f2;padding:12px;border-radius:10px}.result-warn{border-left:5px solid #b44a42;background:#fff1ef;padding:12px;border-radius:10px}.data-simulation{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff1b8;color:#5d4300;font-size:12px;font-weight:900}.proof-list{display:grid;gap:8px}.proof-list div{padding:10px;border-left:4px solid #9a5d20;background:#fff7ec;border-radius:8px}.chapter-complete{background:linear-gradient(135deg,#173b55,#9a5d20);color:#fff;padding:18px;border-radius:16px;margin:18px 0}.chapter-complete a{display:inline-flex;margin:5px;padding:10px 13px;border-radius:10px;background:#f4c43d;color:#18202a;text-decoration:none;font-weight:900}
@media(max-width:820px){.triangle-lab{grid-template-columns:1fr}.criteria-grid,.solver-flow{grid-template-columns:1fr}.formula-board{grid-template-columns:1fr}}
@media(max-width:430px){.measurement-scene{grid-template-columns:1fr;min-height:420px}.triangle-canvas{min-height:230px}}

/* Tahap 12 — Data dan Statistika */
:root{--data:#5b3f95;--data2:#8e6cc7;--data-soft:#f7f3ff;--data-blue:#286a8b;--data-green:#2f7b67}
.hero-data{background:radial-gradient(circle at 88% 18%,rgba(255,255,255,.13) 0 92px,transparent 94px),linear-gradient(135deg,#173b55,#5b3f95)}
.data-cta{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 14px;border-radius:12px;background:var(--gold);color:#222;text-decoration:none;font-weight:900;margin-top:8px}
.data-card{border:1px solid #d8c9ee;background:#fbf9ff;border-radius:14px;padding:14px}.data-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eee6fb;color:#432777;font-size:12px;font-weight:850}
.data-lab{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(330px,1.15fr);gap:18px;align-items:start}.data-output{border:2px solid var(--data);border-radius:16px;background:linear-gradient(145deg,#fff,#f7f3ff);padding:16px}.data-output .big{font-size:clamp(25px,5vw,44px);font-weight:950;color:#432777;text-align:center;overflow-wrap:anywhere}
.plan-checklist{display:grid;gap:8px;margin-top:12px}.plan-checklist li{border:1px solid #ddd0ee;border-radius:10px;background:#fff;padding:10px;list-style:none}.plan-checklist li::before{content:'✓';font-weight:900;color:var(--data-green);margin-right:8px}
.freq-chart{display:flex;align-items:flex-end;gap:10px;min-height:240px;border:2px dashed #c8b5e1;border-radius:15px;padding:18px;background:#fff;overflow-x:auto}.freq-bar{display:grid;grid-template-rows:1fr auto;align-items:end;min-width:64px;height:200px;text-align:center}.freq-bar span{display:flex;align-items:flex-start;justify-content:center;width:100%;min-height:8px;border-radius:8px 8px 0 0;background:linear-gradient(#8e6cc7,#5b3f95);color:#fff;font-weight:900;padding-top:5px}.freq-bar small{padding-top:7px;font-weight:800;overflow-wrap:anywhere}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.summary-grid div{border:1px solid #ded3ee;border-radius:10px;background:#fff;padding:10px;text-align:center}.summary-grid strong{display:block;font-size:24px;color:#4d2f81}
.diag-domain{border-left:5px solid var(--data);background:#f8f4ff;border-radius:12px;padding:14px;margin:12px 0}.profile-priority{border:2px solid #e3b23d;background:#fff9e7;border-radius:14px;padding:14px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plan-grid article{border:1px solid #ded2ee;border-radius:13px;padding:13px;background:#fff}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.privacy-box{padding:12px;border:1px solid #aad1b8;background:#eef8f1;border-radius:10px}.mastery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.mastery-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}.mastery-card b{display:block;font-size:24px;color:var(--navy)}
.micro-diag{border:2px solid #c8b5e1;border-radius:14px;padding:15px;background:#f8f4ff}.teacher-key{border:2px solid #5b3f95;border-radius:14px;padding:15px;background:#f7f3ff}.step.locked{opacity:.58}.step.locked textarea,.step.locked button{pointer-events:none}.step.completed{border-left-color:var(--green);background:#eef8f1}.step .hint{display:none;margin-top:8px;padding:9px;border-radius:8px;background:#fff8db;border:1px solid #efd67a}.step .hint.show{display:block}.feedback[aria-live]{min-height:28px}
.slide{background-image:radial-gradient(circle at 92% 12%,rgba(91,63,149,.12) 0 74px,transparent 76px),linear-gradient(145deg,#fff,#f8f4ff)}.slide:nth-child(4n+2){background-image:linear-gradient(135deg,rgba(40,106,139,.16),transparent 55%),linear-gradient(145deg,#f2fbff,#e2f2fb)}.slide:nth-child(4n+3){background-image:linear-gradient(135deg,rgba(142,108,199,.18),transparent 55%),linear-gradient(145deg,#faf7ff,#ece3fb)}.slide:nth-child(4n){background-image:linear-gradient(135deg,rgba(47,123,103,.14),transparent 55%),linear-gradient(145deg,#effaf5,#def1e8)}
.hero-data .nav-module a{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);border-radius:9px;padding:7px 10px;text-decoration:none;font-weight:800}.hero-data .nav-module a:hover{background:rgba(255,255,255,.22)}
@media(max-width:820px){.data-lab{grid-template-columns:1fr}.plan-grid,.profile-grid{grid-template-columns:1fr}}
@media(max-width:520px){.summary-grid{grid-template-columns:1fr}.freq-chart{min-height:210px}}
@media print{.external-media,.data-lab iframe{display:none!important}}

/* Tahap 13 — visualisasi dan statistika lanjutan */
.stat-lab{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(340px,1.14fr);gap:18px;align-items:start}.stat-control,.stat-view{border:1px solid #d9cdea;border-radius:15px;background:#fff;padding:15px}.chart-stage{min-height:300px;border:2px dashed #cbb7e4;border-radius:15px;background:linear-gradient(145deg,#fff,#f7f3ff);padding:12px;overflow:auto}.chart-stage svg{width:100%;min-width:420px;height:auto;display:block}.chart-axis{stroke:#263746;stroke-width:2}.chart-grid{stroke:#dbe3ea;stroke-width:1}.chart-bar{fill:#7652ae}.chart-line{fill:none;stroke:#286a8b;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.chart-point{fill:#286a8b;stroke:#fff;stroke-width:2}.chart-label{font-size:13px;font-weight:800;fill:#263746}.chart-value{font-size:12px;font-weight:900;fill:#432777}.pie-wrap{display:grid;grid-template-columns:minmax(210px,320px) 1fr;gap:18px;align-items:center}.pie-disc{aspect-ratio:1;border-radius:50%;border:6px solid #fff;box-shadow:0 0 0 2px #cdbce3,0 12px 30px rgba(62,40,94,.16)}.legend-list{display:grid;gap:8px}.legend-item{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #e3d8f0;border-radius:10px;background:#fff}.legend-swatch{width:16px;height:16px;border-radius:4px}.stat-number{font-size:clamp(24px,5vw,44px);font-weight:950;color:#432777}.data-strip{display:flex;gap:8px;flex-wrap:wrap;padding:12px;border:1px dashed #bba6d8;border-radius:12px;background:#faf8ff}.data-chip{display:inline-flex;min-width:42px;min-height:42px;align-items:center;justify-content:center;border-radius:10px;background:#eee5fb;color:#432777;font-weight:900}.data-chip.median{outline:3px solid #e4a11b}.data-chip.quartile{outline:3px solid #286a8b}.boxplot{position:relative;height:120px;border:1px dashed #cbb7e4;border-radius:14px;background:#fff;margin-top:12px}.boxplot .axis{position:absolute;left:6%;right:6%;top:72px;height:2px;background:#263746}.boxplot .box{position:absolute;top:39px;height:66px;border:3px solid #5b3f95;background:rgba(142,108,199,.18)}.boxplot .median-line{position:absolute;top:39px;height:66px;width:3px;background:#e4a11b}.boxplot .whisker{position:absolute;top:71px;height:3px;background:#286a8b}.boxplot .cap{position:absolute;top:54px;height:36px;width:3px;background:#286a8b}.claim-card{border:2px solid #cbb7e4;border-radius:14px;padding:14px;background:#fff}.claim-card.good{border-color:#4b946f;background:#eef8f2}.claim-card.warn{border-color:#c36c57;background:#fff1ed}.claim-evidence{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.claim-evidence article{border:1px solid #ded3ee;border-radius:11px;padding:10px;background:#fff;text-align:center}.small-note{font-size:.9rem;color:#53626d}.chapter-complete{background:linear-gradient(135deg,#173b55,#5b3f95);color:#fff;padding:18px;border-radius:16px;margin:18px 0}.chapter-complete a{display:inline-flex;margin:5px;padding:10px 13px;border-radius:10px;background:#f4c43d;color:#18202a;text-decoration:none;font-weight:900}
@media(max-width:820px){.stat-lab,.pie-wrap{grid-template-columns:1fr}.claim-evidence{grid-template-columns:1fr}}
@media(max-width:430px){.chart-stage{padding:6px}.stat-control,.stat-view{padding:11px}}
