@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#193630;--muted:#65746e;--green:#123d38;--lime:#dff1b1;--line:#e4e8dd;--paper:#f7f5ef;--white:#fff;--gold:#f1c981;--red:#a54a45}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #80b4a4;outline-offset:2px}a{color:inherit}.shell{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--green);color:#f2f8eb;padding:27px 16px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;gap:11px;align-items:center;padding:0 11px}.logo{width:40px;height:40px;border-radius:12px;background:var(--lime);color:var(--green);display:grid;place-items:center;font-size:24px;font-weight:800}.brand strong{font-family:Manrope,sans-serif;font-size:15px;line-height:1.1;display:block}.brand small{font-size:11px;color:#b9d2c9}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#c5d9d1;border-radius:11px;text-align:left;padding:12px 14px;display:flex;gap:12px;align-items:center;font-weight:600;font-size:14px}.nav button:hover,.nav button.active{background:#2b574e;color:white}.nav .ico{width:21px;text-align:center;font-size:18px}.sidebar-foot{margin-top:auto;padding:15px 12px;color:#a9c4b8;font-size:12px;line-height:1.55;border-top:1px solid #427066}.main{min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);background:#fffdfa;display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.topbar .crumb{font-weight:700;font-size:14px}.topbar .right{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.status{height:8px;width:8px;background:#78b78c;border-radius:50%;display:inline-block;margin-right:4px}.content{max-width:1390px;margin:auto;padding:34px 4vw 80px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-weight:800;font-size:11px;color:#728b75}.heading{font-family:Manrope,sans-serif;letter-spacing:-.045em;font-size:clamp(31px,3.2vw,49px);line-height:1.11;margin:9px 0 12px}.lead{color:var(--muted);font-size:15px;line-height:1.65;max-width:720px;margin:0 0 27px}.hero{background:var(--green);color:#fff;min-height:270px;border-radius:24px;padding:34px 38px;display:grid;grid-template-columns:1.3fr .7fr;gap:16px;overflow:hidden;position:relative}.hero:after{content:'7';position:absolute;right:42px;bottom:-112px;font:800 340px Manrope,sans-serif;color:#25584e;pointer-events:none}.hero h1{font:800 clamp(30px,3.6vw,49px)/1.12 Manrope,sans-serif;letter-spacing:-.05em;margin:13px 0}.hero p{color:#cfe0d4;max-width:550px;line-height:1.55}.hero .art{position:relative;z-index:1;align-self:center;justify-self:end;transform:rotate(-7deg);background:#fffdfa;color:var(--ink);padding:18px;border-radius:14px;box-shadow:0 20px 50px #071c1b70;width:215px}.art .line{height:8px;background:#e5e9e1;border-radius:10px;margin:11px 0}.art .formula{font:800 36px Manrope,sans-serif;color:#376758}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{border:1px solid #cbd8cf;background:white;color:var(--green);border-radius:10px;padding:10px 15px;font-size:13px;font-weight:800;display:inline-flex;gap:8px;align-items:center;text-decoration:none;justify-content:center}.btn:hover{filter:brightness(.96)}.btn.primary{background:var(--lime);border-color:var(--lime)}.btn.dark{background:var(--green);color:white;border-color:var(--green)}.btn.ghost{background:transparent;color:inherit;border-color:#ffffff55}.btn.small{padding:7px 10px;font-size:12px}.grid{display:grid;gap:17px}.cols3{grid-template-columns:repeat(3,1fr)}.cols2{grid-template-columns:repeat(2,1fr)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:35px 0 16px}.section-top h2{font:800 20px Manrope,sans-serif;letter-spacing:-.025em;margin:0}.section-top p{font-size:13px;color:var(--muted);margin:5px 0 0}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:21px}.metric{display:flex;align-items:flex-start;gap:16px}.metric .round{height:42px;width:42px;background:#eef5d9;border-radius:13px;display:grid;place-items:center;font-size:21px}.metric strong{display:block;font:800 25px Manrope,sans-serif}.metric small{color:var(--muted);font-size:12px}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.topic-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;text-align:left;min-height:163px;transition:.18s}.topic-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #173a2514}.topic-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;color:#fff;font:800 19px Manrope,sans-serif;margin-bottom:16px}.topic-card strong{font:800 16px Manrope,sans-serif;display:block}.topic-card small{display:block;color:var(--muted);margin-top:6px;line-height:1.45}.topic-card .go{float:right;font-size:20px;color:#7c9989}.month-row{display:grid;grid-template-columns:104px 1fr 1.25fr auto;gap:18px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}.month-row:last-child{border:0}.month-row strong{font-size:14px}.month-row span,.month-row small{color:var(--muted);font-size:13px;line-height:1.45}.month-row span{color:var(--ink)}.pill{display:inline-flex;align-items:center;background:#edf3dc;color:#466b4a;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field label{display:block;font-weight:800;font-size:12px;margin:0 0 8px}.field input,.field select,.field textarea{width:100%;border:1px solid #d6dfd6;background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink)}.field textarea{min-height:75px}.field .hint{display:block;color:var(--muted);font-size:11px;margin-top:6px}.studio{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:20px;align-items:start}.studio .panel{position:sticky;top:15px}.preview{min-height:500px}.paper{max-width:760px;margin:auto;background:#fff;border:1px solid #e2e3d9;box-shadow:0 12px 35px #203d2811;padding:37px 42px;color:#202f2a}.paper h2{font:800 24px Manrope,sans-serif;margin:6px 0}.paper .meta{display:flex;justify-content:space-between;font-size:11px;color:#73827a;border-bottom:2px solid #294e44;padding-bottom:16px}.exercise{padding:17px 0;border-bottom:1px solid #e9ede7;break-inside:avoid}.exercise .num{font-weight:800;color:#4f866c;margin-right:10px}.exercise .tag{font-size:10px;color:#637569;background:#eff3e8;padding:3px 7px;border-radius:99px;margin-left:7px}.answer-line{height:26px;border-bottom:1px dotted #c0d0c2;margin:5px 0 0 25px}.answer{color:#356252;font-weight:700;font-size:12px;margin:8px 0 0 25px}.help{font-size:12px;color:#547067;background:#f1f6ed;border-radius:7px;padding:7px 9px;margin:8px 0 0 25px}.notice{background:#fff6dc;border:1px solid #f0dca3;color:#765c2d;padding:13px 15px;border-radius:12px;font-size:12px;line-height:1.55}.notice.info{background:#edf5f1;border-color:#cee4dc;color:#3a6557}.empty{text-align:center;color:var(--muted);padding:70px 20px}.empty .big{font-size:56px;display:block;margin-bottom:13px}.library-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.library-card h3{margin:0 0 6px;font:800 16px Manrope,sans-serif}.library-card p{margin:0;color:var(--muted);font-size:12px}.library-actions{display:flex;gap:6px;flex-wrap:wrap}.ai-card{background:linear-gradient(135deg,#173e38,#35695c);color:white;border-radius:20px;padding:30px}.ai-card p{color:#d2e5dc;line-height:1.6}.two-panel{display:grid;grid-template-columns:1fr 1fr;gap:18px}.source-list{margin:0;padding-left:20px;line-height:1.9;font-size:13px}.source-list a{text-decoration:underline;text-underline-offset:3px}.game{max-width:760px;margin:0 auto;padding:30px 20px}.game header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.game .question{font:800 clamp(25px,4vw,37px)/1.3 Manrope,sans-serif;margin:19px 0 26px}.game .card{padding:32px}.game .progress{height:8px;border-radius:10px;background:#e8ede5;overflow:hidden}.game .progress b{display:block;height:100%;background:#65a181;transition:width .3s}.feedback{border-radius:10px;padding:12px 14px;margin-top:16px;font-size:14px}.feedback.ok{background:#e6f4e7;color:#2c6942}.feedback.no{background:#fff0e9;color:#92563b}.muted{color:var(--muted)}.small{font-size:12px}.footer{margin-top:50px;padding-top:20px;border-top:1px solid var(--line);color:#819189;font-size:12px}.mobile-head{display:none}.print-only{display:none}
@media(max-width:1060px){.cols3,.topic-grid{grid-template-columns:repeat(2,1fr)}.studio{grid-template-columns:1fr}.studio .panel{position:static}.hero .art{display:none}.hero{grid-template-columns:1fr}.month-row{grid-template-columns:100px 1fr 1fr}.month-row .pill{display:none}}
@media(max-width:720px){.shell{display:block}.sidebar{display:none}.mobile-head{display:flex;background:var(--green);color:#fff;align-items:center;justify-content:space-between;padding:10px 15px}.mobile-head select{background:#25584e;color:#fff;border:0;border-radius:8px;padding:9px}.topbar{height:55px;padding:0 20px}.content{padding:25px 17px 60px}.hero{padding:25px;min-height:250px}.hero:after{right:0;bottom:-65px;font-size:200px}.cols3,.cols2,.topic-grid,.form-grid,.two-panel{grid-template-columns:1fr}.month-row{grid-template-columns:1fr;gap:5px}.paper{padding:23px 20px}.library-card{grid-template-columns:1fr}.game .card{padding:21px}}
@media print{body{background:#fff}.sidebar,.mobile-head,.topbar,.no-print,.footer{display:none!important}.shell,.content,.studio{display:block;padding:0;margin:0;max-width:none}.studio .panel{display:none}.preview,.paper{border:0;box-shadow:none;margin:0;max-width:none;padding:10mm 12mm}.print-only{display:block}.answer-line{height:34px}.exercise{padding:14px 0} @page{size:A4;margin:10mm}}
.scenario-tabs{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.data-input-row{display:grid;grid-template-columns:1fr 95px 60px;gap:8px;align-items:center;margin:10px 0;font-size:13px}.data-input-row input{width:100%;min-width:0;border:1px solid #d6dfd6;border-radius:8px;padding:7px}.data-input-row input[type=range]{border:0;padding:0}.chart-bars{display:grid;gap:10px;padding:6px 0 15px}.bar-row{display:grid;grid-template-columns:90px 1fr 50px;align-items:center;gap:10px;font-size:12px}.bar-track{height:17px;background:#edf2ea;border-radius:8px;overflow:hidden}.bar-track b{display:block;height:100%;border-radius:8px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid #e4e8dd;text-align:left;padding:10px 8px}th{background:#f3f6ee;color:#4b6659}.share-dialog{border:0;border-radius:20px;padding:0;max-width:min(440px,95vw);box-shadow:0 30px 90px #0004}.share-dialog::backdrop{background:#0a221ed0}.share-dialog .card{border:0}.share-dialog img{display:block;margin:12px auto}.share-dialog a{word-break:break-all;font-size:12px}
@media print{.scenario-tabs,.share-dialog,.sidebar,.mobile-head,.topbar{display:none!important}.chart-bars,.table-wrap{break-inside:avoid}}
.ai-bridge-dialog{width:min(720px,95vw);max-width:min(88vh,900px);overflow:auto}
.ai-bridge-dialog textarea{width:100%;min-height:125px;font:13px/1.45 Consolas,monospace;resize:vertical}
.ai-bridge-dialog .actions a.btn{font:600 14px 'DM Sans',Arial,sans-serif;word-break:normal;text-decoration:none}
.stack-fraction{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;text-align:center;white-space:nowrap;line-height:1.05;font-size:.86em;margin:0 .12em;min-width:1.15em;color:inherit}
.stack-fraction .stack-num{border-bottom:1.4px solid currentColor;padding:0 .12em .09em}
.stack-fraction .stack-den{padding:.09em .12em 0}
.answer-preview{min-height:1.5em;margin-top:8px}
.agent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.agent-card{display:flex;gap:13px;align-items:flex-start;min-height:132px}.agent-card strong{font:800 15px Manrope,sans-serif}.agent-card p{line-height:1.5;margin:7px 0 10px}.agent-number{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:var(--lime);color:var(--green);font-weight:800}.agent-live{font-size:11px;font-weight:800;color:#397354}.agent-check{font-size:12px;color:#397354;background:#edf5f1;border-radius:9px;padding:8px 10px}
@media(max-width:1060px){.agent-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.agent-grid{grid-template-columns:1fr}}
@media print{.stack-fraction{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
