:root{--navy:#0b3557;--ink:#163746;--muted:#526b74;--teal:#087d77;--gold:#f3c361;--paper:#f8faf7;--line:#d4e1db;--accent:#087d77}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{min-height:44px;padding:11px 17px;border:1px solid #b7cbc4;background:white;color:var(--ink);border-radius:10px;font-weight:650}button:hover{background:#eaf5ef}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}:focus-visible{outline:3px solid #c58814;outline-offset:4px}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #b7cbc4;border-radius:9px;background:white;color:var(--ink)}textarea{resize:vertical;line-height:1.65}.skip-link{position:absolute;left:15px;top:-80px;background:#fff;padding:12px;z-index:500}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.site-header{padding:18px max(24px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand span{display:grid;line-height:1.35}.brand strong{font-size:21px;letter-spacing:-.6px}.brand small{font-size:12px;color:var(--muted)}.site-header nav{display:flex;flex-wrap:wrap;gap:22px;font-size:14px;font-weight:650}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:35px;padding:56px 30px 48px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:850;color:var(--teal);margin:0 0 10px}.hero h1{font-size:clamp(40px,5vw,68px);line-height:1.05;letter-spacing:-.05em;margin:15px 0 24px;color:var(--navy)}.hero h1 em{font-style:normal;color:var(--teal)}.hero-lead{max-width:600px;font-size:17px;color:var(--muted)}.hero-meta{font-size:12px;font-weight:750}.hero-meta span{margin:0 10px;color:var(--teal)}.hero-bridge{height:315px;position:relative;max-width:460px;width:100%;justify-self:center}.orbit{position:absolute;width:280px;height:190px;border:1px solid #b6d7cb;border-radius:50%;top:72px;left:calc(50% - 140px);transform:rotate(30deg)}.orbit-two{transform:rotate(-35deg);height:210px;top:45px}.hero-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;width:160px;height:160px;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:19px;font-weight:850;box-shadow:0 20px 55px #0b355725}.hero-core small{font-size:9px;font-weight:500;margin-top:8px}.hero-node{position:absolute;width:98px;height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:26px;font-weight:850;box-shadow:0 8px 20px #0b35570b}.hero-node small{font-size:10px;font-weight:650}.node-math{left:4%;top:18px}.node-music{right:0;top:80px;color:#7451a1}.node-nature{bottom:0;left:22%;color:#457247}.workspace{max-width:1320px;margin:0 auto 60px;padding:0 30px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px;scroll-margin-top:22px}.concept-picker{align-self:start;position:sticky;top:20px}.concept-picker h2{font-size:21px;line-height:1.35;letter-spacing:-.025em;margin:0 0 18px}.concept-picker input{font-size:13px}.concept-list{display:grid;gap:8px;margin-top:14px}.concept-list button{display:flex;align-items:center;gap:12px;text-align:left;border-color:transparent;background:transparent;padding:12px}.concept-list button:hover{background:#e5efea}.concept-list button[aria-pressed=true]{background:#fff;border-color:var(--teal);box-shadow:0 4px 12px #0b35570c}.concept-list .concept-icon{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:10px;background:#e8f0eb;color:var(--concept-color);font-size:18px}.concept-list button[aria-pressed=true] .concept-icon{color:#fff;background:var(--concept-color)}.concept-list small{display:block;font-size:10px;font-weight:550;color:var(--muted)}.local-note{font-size:12px;color:var(--muted);margin-top:22px}.concept-work{min-width:0}.settings{display:flex;align-items:end;gap:14px;padding:16px 20px;border-radius:15px;background:#e9f1ed}.settings label{font-size:12px;font-weight:750;min-width:145px}.settings select{margin-top:5px;font-size:14px}.stage-label{margin:auto 0 auto auto;font-size:12px;color:var(--muted);font-weight:650}.concept-heading{margin:28px 0 18px}.concept-heading h2{font-size:43px;line-height:1.15;letter-spacing:-.04em;color:var(--accent);margin:0 0 8px}.concept-heading>p:last-child{margin:0;color:var(--muted)}.goal-box{border-left:4px solid var(--accent);padding:13px 18px;background:#fff;border-radius:0 12px 12px 0;margin-bottom:22px}.goal-box label{font-size:12px;font-weight:800;color:var(--accent)}.goal-box textarea{border:0;padding:5px 0 0;min-height:65px;background:transparent;font-size:15px}.lens-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lens-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;min-width:0}.lens-number{font-size:11px;font-weight:850;color:var(--accent)}.lens-card h3{font-size:19px;margin:6px 0 10px;letter-spacing:-.025em}.lens-meaning{font-size:14px;font-weight:700;min-height:68px;margin:0 0 12px}.lens-example{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;margin:0 0 18px;line-height:1.7}.lens-card h4{font-size:12px;letter-spacing:.04em;margin:0;color:var(--accent)}.lens-task{font-size:14px;line-height:1.75;margin:7px 0 15px}.lens-card label{font-size:12px;font-weight:700;margin-top:auto}.lens-card textarea{font-size:13px;margin:6px 0 12px}.teacher-hint{font-size:12px;color:var(--muted)}details summary{cursor:pointer;font-weight:700;min-height:40px;align-content:center}.teacher-hint p{margin:7px 0}.ratio-lab{margin-top:25px;padding:24px;background:#e7f2ef;border:1px solid #bed6cd;border-radius:16px}.ratio-lab h3{font-size:23px;margin:0}.ratio-lab>div>p:not(.eyebrow){font-size:14px;color:var(--muted)}.ratio-controls{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;align-items:center;margin:20px 0}.ratio-controls label{font-size:12px;font-weight:750}.ratio-controls output{float:right;font-size:19px;line-height:1;color:var(--teal)}input[type=range]{accent-color:var(--teal);padding:12px 0;border:0;background:transparent;min-height:44px}.ratio-controls select{font-size:12px;margin-top:6px}.ratio-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ratio-result{padding:15px;border-radius:12px;background:white;font-size:12px}.ratio-result h4{margin:0 0 10px;font-size:13px}.ratio-result strong{font-size:23px;color:var(--teal)}.ratio-result p{margin:8px 0}.ratio-dots{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}.ratio-dot{width:11px;height:11px;border-radius:50%;background:#c67767}.ratio-dot.second{background:#528eb1}.ratio-question{font-size:13px;font-weight:750}.bridge-question{display:flex;gap:18px;margin-top:26px;padding:26px;background:var(--navy);color:white;border-radius:16px}.bridge-question .eyebrow{color:#90d8c3}.question-icon{font-size:35px;color:var(--gold);line-height:1}.bridge-question>div:last-child{flex:1;min-width:0}.bridge-question h3{font-size:22px;line-height:1.45;margin:0 0 12px}.bridge-question p:not(.eyebrow){font-size:13px;color:#d0e0e5}.bridge-question label{display:block;font-size:13px;margin:20px 0 8px}.bridge-question textarea{background:#fff;color:var(--ink)}.support{font-size:13px;margin-top:10px}.support ul{padding-left:20px}.teacher-guide{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 20px;margin-top:20px;font-size:13px}.teacher-guide li{margin-bottom:8px}.action-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.action-bar button{font-size:13px}.action-bar .primary{margin-left:auto}.status{font-size:13px;color:#21694f;min-height:24px}.status.is-error{color:#a52d2d}footer{display:flex;justify-content:space-between;gap:20px;padding:25px max(30px,calc((100vw - 1260px)/2));border-top:1px solid var(--line);font-size:12px;color:var(--muted)}dialog{border:0;border-radius:18px;box-shadow:0 25px 100px #052b4260;color:var(--ink)}dialog::backdrop{background:#082b43a3;backdrop-filter:blur(3px)}.student-dialog{width:96vw;max-width:1500px;max-height:94vh;padding:28px}.student-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:16px}.student-dialog>header span{font-size:13px;font-weight:800}.student-dialog h2{font-size:clamp(30px,4vw,56px);margin:18px 0 5px;color:var(--accent)}.student-goal{font-size:22px}.student-lenses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.student-lenses article{background:#f0f6f1;padding:22px;border-radius:15px}.student-lenses h3{font-size:24px;margin:0 0 12px}.student-lenses p{font-size:clamp(17px,1.7vw,23px);line-height:1.7}.student-question{font-size:24px;font-weight:750;border-top:3px solid var(--accent);padding-top:20px}.schedule-dialog{width:min(600px,94vw);padding:27px}.schedule-dialog header{display:flex;align-items:start;justify-content:space-between;gap:15px}.schedule-dialog h2{margin:0}.schedule-dialog p{font-size:14px}.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.schedule-fields label{font-size:13px;font-weight:700}.schedule-fields input{margin-top:5px}.schedule-dialog a{display:block;margin-top:15px}.schedule-dialog [role=status]{color:#a52d2d}.schedule-dialog textarea{margin:12px 0}
@media(max-width:1100px){.workspace{grid-template-columns:195px minmax(0,1fr);gap:22px}.lens-card{padding:16px}.lens-grid{gap:10px}.lens-meaning{min-height:90px}.stage-label{display:none}.hero-bridge{transform:scale(.88)}}
@media(max-width:820px){.hero{padding:35px 24px;gap:0;grid-template-columns:1fr}.hero-bridge{display:none}.hero-lead{max-width:680px}.workspace{display:block;padding:0 24px}.concept-picker{position:static;margin-bottom:24px}.concept-picker h2{font-size:19px}.concept-picker input{max-width:420px}.concept-list{grid-template-columns:repeat(3,minmax(0,1fr))}.concept-list button{padding:10px}.concept-list small{display:none}.local-note{margin:10px 0}.lens-grid{grid-template-columns:1fr}.lens-meaning{min-height:0}.lens-card{padding:20px}.lens-card textarea{min-height:85px}.ratio-controls,.ratio-results{grid-template-columns:1fr}.ratio-controls{gap:10px}.ratio-controls label{display:block}.student-lenses{grid-template-columns:1fr}.site-header{padding:15px 24px;align-items:flex-start}.site-header nav{gap:12px;font-size:12px}.action-bar .primary{margin-left:0}.action-bar button{flex:1;min-width:160px}.student-dialog>header{align-items:flex-start}.student-dialog{padding:20px}}
@media(max-width:480px){.hero{padding:28px 18px}.hero h1{font-size:43px}.hero-meta{font-size:10px}.hero-meta span{margin:0 4px}.workspace{padding:0 16px}.concept-list{grid-template-columns:repeat(2,minmax(0,1fr))}.settings{padding:13px;gap:9px}.settings label{min-width:0;flex:1}.settings select{padding:10px 8px}.site-header{padding:14px 17px;flex-direction:column;gap:12px}.site-header nav{gap:19px}.concept-heading h2{font-size:37px}.bridge-question{padding:20px;gap:10px}.question-icon{display:none}.ratio-lab{padding:18px}.schedule-fields{grid-template-columns:1fr}footer{padding:24px 18px;flex-direction:column;gap:8px}}
@media print{@page{size:A4;margin:16mm}body{background:#fff;font-size:11pt;color:#000}.site-header,.hero,.concept-picker,.settings,.nb-flow,.action-bar,.teacher-guide,.teacher-hint,.support,.status,.ratio-lab,footer,.skip-link,dialog{display:none!important}.workspace{display:block;margin:0;padding:0}.concept-heading{margin:0 0 12px}.concept-heading h2{font-size:27pt;color:#000}.eyebrow{color:#333}.goal-box{border:1px solid #999}.goal-box textarea{font-size:11pt}.lens-grid{display:block}.lens-card{break-inside:avoid;margin:12px 0;border-color:#aaa;padding:15px}.lens-card h3{font-size:16pt}.lens-meaning{min-height:0}.lens-card textarea{min-height:65px;border-color:#aaa}.lens-example,.lens-task{font-size:10pt}.bridge-question{background:white;color:#000;border:1px solid #aaa;break-inside:avoid;padding:18px}.bridge-question .eyebrow,.bridge-question p:not(.eyebrow){color:#333}.bridge-question h3{font-size:15pt}.question-icon{display:none}textarea{overflow:visible;resize:none}}
