*{box-sizing:border-box;margin:0;padding:0}html,body{background:#0f141b;height:100%;overflow:hidden}canvas{display:block}#hud{color:#cfe3ff;pointer-events:none;z-index:10;background:#0a1018b8;border-radius:8px;padding:8px 12px;font:14px/1.5 ui-monospace,Consolas,monospace;position:fixed;top:16px;left:16px}#panel{color:#cfe3ff;z-index:10;background:#0a1018d9;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;font:14px/1.4 ui-monospace,Consolas,monospace;display:flex;position:fixed;top:16px;right:16px}#panel .row{align-items:center;gap:8px;display:flex}#panel .row label{opacity:.75;width:56px}#panel .row span{text-align:right;opacity:.85;width:40px}#panel input[type=range]{accent-color:#2a9d8f;width:110px}#panel button{color:#cfe3ff;font:inherit;cursor:pointer;background:#1b2733;border:1px solid #33465a;border-radius:6px;flex:1;padding:6px 10px}#panel button:hover{background:#24374a}.modal{z-index:100;background:#06090eb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal .box{color:#cfe3ff;background:#101720;border:1px solid #22303f;border-radius:14px;width:380px;padding:22px 24px;font:14px/1.6 ui-monospace,Consolas,monospace}.modal h2{margin:0 0 6px;font-size:18px}.modal .hint{color:#8fa6bd;margin:0 0 16px;font-size:12px}.modal label{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.modal input{color:#cfe3ff;width:100px;font:inherit;background:#0f141b;border:1px solid #33465a;border-radius:6px;padding:5px 8px}.modal .actions{gap:10px;margin-top:16px;display:flex}.modal .checks{color:#8fa6bd;gap:14px;margin:8px 0 2px;font-size:12px;display:flex}.modal .checks label{align-items:center;gap:4px;margin:0;display:inline-flex}.modal .checks input{width:auto}.modal .actions button{color:#cfe3ff;font:inherit;cursor:pointer;background:#1b2733;border:1px solid #33465a;border-radius:8px;flex:1;padding:8px}.modal .bar{background:#1b2733;border-radius:4px;height:8px;overflow:hidden}.modal .bar i{background:#2a9d8f;width:0;height:100%;transition:width .15s;display:block}.modal.running{pointer-events:none;background:0 0;justify-content:center;align-items:flex-end;padding-bottom:24px}body.exp-running #hud,body.exp-running #charts,body.exp-running #panel{opacity:.28;transition:opacity .2s}.modal.running .box{pointer-events:auto;background:#0c121aeb;border-color:#2a9d8f;width:440px}.modal.running .speed{color:#8fa6bd;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;display:flex}.modal.running .speed input{width:80px}#report{z-index:100;color:#cfe3ff;background:#0b1017;padding:18px 22px 40px;font:14px/1.5 ui-monospace,Consolas,monospace;position:fixed;inset:0;overflow:auto}#report header{align-items:center;gap:14px;margin-bottom:16px;display:flex}#report header .meta{color:#8fa6bd;font-size:12px}#report header .spacer{flex:1}#report header button{color:#cfe3ff;font:inherit;cursor:pointer;background:#1b2733;border:1px solid #33465a;border-radius:8px;padding:6px 12px}#report .grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}#report section{background:#101720;border:1px solid #1f2c3a;border-radius:12px;padding:12px 14px}#report section.wide{grid-column:1/-1}#report h3{margin:0 0 8px;font-size:13px;font-weight:600}#report .chart{width:100%;height:300px}#report table{border-collapse:collapse;width:100%;font-size:13px}#report th,#report td{text-align:left;border-bottom:1px solid #1f2c3a;padding:6px 8px}#report th{color:#8fa6bd;font-weight:500}#panel select{color:#cfe3ff;font:inherit;background:#1b2733;border:1px solid #33465a;border-radius:6px;outline:none;flex:1;padding:4px 8px}#charts{z-index:10;background:#0a1018d1;border-radius:10px;width:392px;padding:8px 10px;position:fixed;bottom:16px;left:16px}#chartFit,#chartDiv{width:372px;height:112px}#intro{z-index:100;color:#cfe3ff;background:#0b1017;padding:18px 22px 60px;font:14px/1.85 ui-monospace,Consolas,monospace;position:fixed;inset:0;overflow:auto}#intro header{align-items:center;gap:14px;margin-bottom:18px;display:flex}#intro header .meta{color:#8fa6bd;font-size:12px}#intro header .spacer{flex:1}#intro header button{color:#cfe3ff;cursor:pointer;font:inherit;background:#1b2733;border:1px solid #33465a;border-radius:8px;padding:6px 12px}#intro .wrap{max-width:920px;margin:0 auto}#intro section{margin-bottom:36px}#intro h2{color:#eaf2ff;margin:0 0 10px;font-size:20px}#intro .formula{color:#dbe9f7;white-space:pre-wrap;background:#0f1620;border-left:3px solid #2a9d8f;border-radius:6px;margin:6px 0 14px;padding:10px 14px;font:13px/1.75 ui-monospace,Consolas,monospace;overflow-x:auto}#intro p{color:#b9cbe0;margin:0 0 12px}#intro .lead p{font-size:15px}#intro img{background:#fff;border:1px solid #1f2c3a;border-radius:10px;width:100%;margin:8px 0 4px}#intro .caption{color:#7f93aa;margin:4px 0 18px;font-size:12px}#intro .muted{color:#8fa6bd}#intro code{color:#dbe9f7;background:#0f1620;border:1px solid #1f2c3a;border-radius:4px;padding:1px 5px;font:13px ui-monospace,Consolas,monospace}#intro h3{color:#cfe3ff;margin:18px 0 6px;font-size:16px}#intro .intro-table{border-collapse:collapse;width:100%;margin:8px 0 14px;font-size:13px}#intro .intro-table th,#intro .intro-table td{text-align:left;vertical-align:top;border-bottom:1px solid #1f2c3a;padding:7px 9px}#intro .intro-table th{color:#8fa6bd;font-weight:500}#intro ul{color:#b9cbe0;margin:6px 0 0 18px}#intro li{margin-bottom:6px}
