:root{--bg:#0c100f;--pane:#171e1b;--stage:#0b1412;--line:#34453a;--ink:#f5f1e6;--muted:#b6c4b8;--soft:#8f9e93;--accent:#f5a65d;--accent2:#71c6a5;--highlight:#ecd19c;--shadow:0 16px 40px #0006;--widget:#1c2721;--graph:#111e1a}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;overflow:hidden}button,select,input{font:inherit}button,select{color:var(--ink)}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}
body[data-theme='light']{--bg:#efeee6;--pane:#fffef9;--stage:#f0f6ef;--line:#cbd5c8;--ink:#26362d;--muted:#52675b;--soft:#617466;--accent:#b95427;--accent2:#147862;--highlight:#895d16;--widget:#f4f7f0;--graph:#f7f8f1;--shadow:0 9px 30px #344d3920}
body[data-theme='blue']{--bg:#061322;--pane:#10243a;--stage:#061c31;--line:#294968;--ink:#e8f4ff;--muted:#b6c9df;--soft:#8aa8c2;--accent:#76bdff;--accent2:#75e9ca;--highlight:#f9ca78;--widget:#17334e;--graph:#091d32}
#app{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:9px;min-height:100dvh;height:100dvh}.surface{background:var(--pane);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 13px;min-height:72px}.brand{display:flex;gap:12px;align-items:center;min-width:0}.mark{display:grid;place-items:center;flex:none;background:linear-gradient(135deg,#f1aa6a,#d86e45);color:#17201d;font-size:28px;font-weight:950;border-radius:13px;width:48px;height:48px;box-shadow:inset 0 -4px #a3492466}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.15em;color:var(--accent2)}h1{font-size:clamp(18px,2vw,25px);line-height:1.11;margin:3px 0;font-weight:850;letter-spacing:-.025em}.subtitle{font-size:10px;color:var(--muted);letter-spacing:.04em;max-width:68ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.btn,.tab,.chip{border:1px solid var(--line);border-radius:9px;background:var(--widget);padding:8px 10px;font-size:12px;font-weight:700;line-height:1.25;transition:background .15s,border-color .15s}.btn:hover,.tab:hover,.chip:hover{border-color:var(--accent2)}.btn.primary{background:var(--accent);color:#171c16;border-color:transparent}.btn.active,.tab.active,.chip.active{background:var(--accent2);color:#0c1710;border-color:transparent}.btn.icon{min-width:36px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(312px,.85fr);gap:8px;min-height:0}.sim{min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.simHead{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:11px;font-weight:750;letter-spacing:.06em;color:var(--muted)}.simHead span:first-child:before{content:'●';color:var(--accent2);margin-right:8px}.simView{position:relative;flex:1;min-height:160px;background:var(--stage);overflow:hidden;touch-action:none}#scene,#ink{position:absolute;inset:0;width:100%;height:100%;touch-action:none}#ink{pointer-events:none}#scene.penMode{cursor:crosshair}.hud{position:absolute;top:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:5px;pointer-events:none}.hudItem{background:#0b1515d9;border:1px solid #53715b75;padding:6px 9px;border-radius:8px;color:#eaf4e9;font:600 11px ui-monospace,'Consolas',monospace;max-width:100%}.hudItem b{color:#f5c480}.stageControls{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-top:1px solid var(--line)}.stageControls .btn{padding:7px 9px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:7px;border-top:1px solid var(--line)}.metric{padding:9px 10px;background:var(--widget);border:1px solid var(--line);border-radius:9px;min-width:0}.metric .k{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--soft);font-weight:750}.metric .v{font-size:clamp(13px,1.45vw,20px);font-weight:850;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--highlight)}.side{display:flex;min-height:0;flex-direction:column;overflow:hidden}.tabs{display:flex;gap:4px;overflow-x:auto;padding:9px;border-bottom:1px solid var(--line);scrollbar-width:thin}.tab{flex:none}.panel{overflow:auto;min-height:0;flex:1;padding:14px;scrollbar-width:thin}.panel h2{margin:0 0 12px;font-size:17px}.panel h3{font-size:14px;margin:17px 0 7px}.panel p,.panel li{color:var(--muted);font-size:13px;line-height:1.6}.panel strong{color:var(--ink)}.control{margin-bottom:14px;padding:10px 11px;background:var(--widget);border:1px solid var(--line);border-radius:11px}.control label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:9px}.control label b{font-size:12px;color:var(--accent)}.control input[type=range]{width:100%;accent-color:var(--accent2);cursor:pointer}.control select{background:var(--pane);width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:13px}.presetRow{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 14px}.boxNote{padding:11px 12px;border:1px solid var(--line);background:var(--widget);border-radius:11px;color:var(--muted);font-size:12px;line-height:1.5;margin:10px 0}.formula{display:block;margin:10px 0;padding:10px 12px;background:var(--graph);border-left:3px solid var(--accent2);font:600 13px/1.65 ui-monospace,'Consolas',monospace;color:var(--ink);overflow-x:auto}.graphCanvas{display:block;width:100%;height:210px;background:var(--graph);border:1px solid var(--line);border-radius:10px}.qbox{padding:12px;border-radius:11px;background:var(--widget);border:1px solid var(--line);margin:12px 0}.qbox h3{margin:0 0 9px}.qOpt{display:block;width:100%;text-align:left;white-space:normal;margin:6px 0;background:var(--pane);border:1px solid var(--line);border-radius:8px;padding:9px;font-size:12px;color:var(--ink)}.qOpt.good{border-color:#52b894;background:#31715133}.qOpt.bad{border-color:#ef8a74;background:#93463333}.answer{padding:9px;font-size:12px;line-height:1.5;border:1px solid var(--accent2);border-radius:8px;color:var(--ink);margin-top:7px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.footer{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--soft);font-size:10px;padding:0 5px}.tagline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.a{color:var(--accent2)}.warn{color:#f9b18e!important}.kbd{font:600 11px ui-monospace,monospace;border:1px solid var(--line);border-radius:4px;padding:2px 5px}.hidden{display:none!important}
#app.fullFallback{position:fixed;inset:0;width:100vw;height:100dvh;z-index:9999;background:var(--bg)}#app:fullscreen{background:var(--bg);width:100vw;height:100dvh}.inkHint{position:absolute;right:10px;bottom:12px;background:#172822d9;color:#e0f2e7;font-size:11px;border-radius:8px;padding:6px;pointer-events:none;display:none}.inkHint.on{display:block}.printOnly{display:none}
@media (max-width:980px){.workspace{grid-template-columns:1fr;grid-template-rows:minmax(230px,52%) minmax(180px,48%)}.subtitle{max-width:44ch}.panel{padding:11px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.simView{min-height:125px}.header{min-height:58px;padding:7px}.mark{width:39px;height:39px;font-size:23px}.btn{padding:7px}}
@media (max-width:600px){#app{padding:5px;gap:5px}.header{flex-wrap:wrap;gap:5px}.brand{gap:7px;flex:1}.eyebrow{font-size:9px}.subtitle{font-size:9px;max-width:55vw}.quick{width:100%;flex-wrap:nowrap;justify-content:space-between}.quick .btn{flex:1;padding:7px 4px;font-size:11px}.workspace{grid-template-rows:minmax(230px,54%) minmax(170px,46%);gap:5px}.hudItem{font-size:10px;padding:4px 6px}.simHead{font-size:9px;padding:5px 8px}.metrics{padding:4px;gap:3px}.metric{padding:5px}.metric .k{font-size:8px}.metric .v{font-size:12px}.stageControls{gap:3px;padding:4px}.stageControls .btn{padding:6px 7px;font-size:10px}.tabs{padding:5px}.tab{padding:7px 9px}.footer{font-size:9px}}
@media (max-height:480px) and (orientation:landscape){#app{padding:4px;gap:3px}.header{min-height:44px}.mark{height:31px;width:31px;font-size:20px}.subtitle{display:none}.eyebrow{display:none}.workspace{grid-template-columns:minmax(0,1.55fr) minmax(275px,.9fr);grid-template-rows:1fr}.stageControls{padding:3px}.metrics{padding:3px}.metric .v{font-size:11px}.metric{padding:3px}.footer{display:none}}
@media print{html,body{overflow:visible;height:auto;background:white;color:#000}#app{display:none!important}.printOnly{display:block;color:#111;padding:25px;font:14px/1.6 Georgia,serif}.printOnly h1{font-size:26px}.printOnly h2{font-size:17px;margin-top:25px}.printOnly .soln{page-break-before:always}}

body.lws-embedded .header .brand,body.lws-embedded #fullscreen,body.lws-embedded #guideBtn{display:none!important}
body.lws-embedded .header{min-height:0;padding:5px 9px;justify-content:flex-end}
body.lws-embedded .header .quick{width:auto;display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
body.lws-embedded .header .quick .btn{flex:none;min-width:74px}
@media(max-width:600px){body.lws-embedded .header{min-height:0;padding:5px 7px}body.lws-embedded .header .quick{width:auto;gap:5px}body.lws-embedded .header .quick .btn{font-size:11px;padding:7px 9px;min-width:66px}}
