:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#173342;background:#eef3f6;font-size:16px;--accent:#087e72;--navy:#0d2635}*{box-sizing:border-box}body{margin:0}header{background:var(--navy);color:white;padding:24px 4vw 28px;border-bottom:4px solid #35d9b0}.brand{color:#6be4c5;letter-spacing:2px;font-size:13px;font-weight:700}.headerline{display:flex;align-items:center;justify-content:space-between;gap:18px}h1{font-size:28px;margin:14px 0 0;letter-spacing:-.6px}h1 span{font-weight:400;color:#c4d7e1}h2{font-size:17px;margin:0 0 12px}h3{font-size:17px}main{max-width:1600px;margin:auto;padding:22px 3vw}nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}button,select,input{font:inherit}button{cursor:pointer;border:1px solid #cad9e0;background:white;color:#193948;border-radius:6px;padding:9px 14px;font-size:14px;font-weight:600}button:hover{background:#e8f7f3}button.active,button.primary{background:var(--accent);color:white;border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #edac26;outline-offset:2px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:white;border:1px solid #d4e1e6;border-radius:9px;padding:12px;margin-bottom:18px}.toolbar label{display:flex;align-items:center;gap:6px;margin:0 5px;font-size:14px}.toolbar input{width:65px}.toolbar output{margin-left:auto;font-size:14px;font-family:monospace}.workspace{display:grid;grid-template-columns:300px 1fr;gap:18px}.panel{background:white;border:1px solid #d3e0e6;border-radius:10px;padding:20px;margin-bottom:18px;box-shadow:0 3px 12px #142f4010}.sectiontitle{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.sectiontitle h2{margin:0}.sectiontitle span{font-size:12px}.param{margin:0 0 16px}.param label{display:block;font-size:14px;margin-bottom:6px}.param .pair{display:flex;align-items:center;gap:10px}.pair input[type=range]{width:100%;accent-color:var(--accent);min-width:60px}.pair input[type=number]{width:88px}input[type=number],select{border:1px solid #bdced6;border-radius:5px;padding:7px;background:#f9fcfd;color:#173342;max-width:100%}details>label,aside label{font-size:14px}details>label{display:block;margin:14px 0}details>label input,details>label select{display:block;width:100%;margin-top:5px}summary{cursor:pointer;font-weight:600;font-size:15px;margin-bottom:12px}.hint{color:#586e7a;font-size:14px;line-height:1.6}.badge{border:1px solid #759aa1;border-radius:20px;padding:5px 10px;font-size:12px;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.metric{border:1px solid #d3e0e6;background:white;border-radius:7px;padding:14px}.metric span{font-size:13px;display:block;color:#56717e;min-height:32px}.metric strong{font-size:23px;font-weight:650;font-variant-numeric:tabular-nums}.metric small{font-size:13px;color:#59737e}.circuit svg{width:100%;height:150px}.chartwrap{position:relative}canvas{display:block;width:100%;height:260px;touch-action:pan-y}#sweep{height:235px}.chartwrap output{position:absolute;right:12px;top:6px;pointer-events:none;font-size:12px;background:#eef5f7ee;padding:5px;border-radius:4px;white-space:pre-line}.legend{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;margin:12px 0}.legend span:before{content:'';display:inline-block;width:18px;height:3px;background:var(--color);vertical-align:middle;margin-right:5px}.export{display:flex;gap:10px;flex-wrap:wrap}#warning:not(:empty){background:#fff0d3;border-left:4px solid #d58b00;padding:12px;margin-bottom:16px;font-size:14px}#learn{line-height:1.65}.experiments{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.experiment{border:1px solid #d1e2e8;padding:16px;border-radius:8px;background:#f8fbfc}.equations{font-family:monospace;background:#eef5f7;padding:14px;border-left:3px solid #087e72;font-size:15px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid #d7e3e9}th{background:#ecf4f7}.quizitem{padding:14px 0;border-bottom:1px solid #d5e2e8}.quizitem button{margin:4px}.feedback{color:#08685f;font-weight:600}footer{font-size:13px;color:#67808d;padding:10px 0 25px}.printonly{display:none}@media(max-width:1000px){.workspace{grid-template-columns:260px 1fr}.metrics{grid-template-columns:repeat(2,1fr)}.experiments{grid-template-columns:1fr}}@media(max-width:700px){main{padding:15px}header{padding:20px}h1{font-size:23px}.headerline{display:block}.headerline .badge{display:inline-block;margin-top:15px}.workspace{grid-template-columns:1fr}.toolbar output{width:100%;margin:5px 0}.panel{padding:16px}.metrics{grid-template-columns:repeat(2,1fr)}nav button{flex:1;padding:10px 7px}.badge{white-space:normal}canvas{height:240px}}@media print{header{color:#173342;background:white}nav,.toolbar,aside,.export,button,footer,#learnTabs{display:none}.workspace{display:block}.panel{break-inside:avoid;box-shadow:none}.printonly{display:block}.learning{display:none}canvas{max-width:100%}}
.compareActions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.compareSetup{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}.comparison textarea{display:block;width:100%;font:inherit;border:1px solid #b8ccd5;border-radius:6px;padding:10px}.comparison #comparisonReport{margin:20px 0}.comparison #compareChart{height:310px}.comparison label{font-size:14px}.comparison h3{margin-top:24px}@media print{body.comparisonPrinting header,body.comparisonPrinting main>nav,body.comparisonPrinting .workspace,body.comparisonPrinting main>section:not(.comparison){display:none}body.comparisonPrinting .comparison{border:none}body.comparisonPrinting .comparison>.hint,body.comparisonPrinting .compareActions,body.comparisonPrinting .compareSetup,body.comparisonPrinting textarea,body.comparisonPrinting #predictPrompt,body.comparisonPrinting #compareStatus,body.comparisonPrinting label,body.comparisonPrinting select{display:none}.comparison:not(.printing){display:none}.comparison.printing{display:block}.comparison.printing table{font-size:12px}}
@media print{body.comparisonPrinting details>*{display:block!important}body.comparisonPrinting details>summary{display:none}}
