:root{--bg:#14171b;--panel:#161a1feb;--line:#2b323b;--txt:#e7eaee;--mut:#8b95a3;--acc:#ff7a2f;--blue:#4c8dff;--ok:#49c37a}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--txt);margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#view{width:100%;height:100%;display:block;position:fixed;inset:0}button,select,input{font:inherit;color:inherit}button{border:1px solid var(--line);cursor:pointer;background:#232a32;border-radius:7px;padding:6px 11px}button:hover{border-color:#4a5563}button.on,button.primary{background:var(--acc);border-color:var(--acc);color:#1a0d04;font-weight:600}button.good{background:var(--ok);border-color:var(--ok);color:#06210f;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}select{border:1px solid var(--line);background:#232a32;border-radius:7px;padding:5px 8px}#top{background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3;justify-content:space-between;align-items:center;height:52px;padding:0 14px;display:flex;position:fixed;top:0;left:0;right:0}.brand b{letter-spacing:.2px;font-size:16px}.brand span{color:var(--mut);margin-left:10px}.tools{gap:8px;display:flex}.asm{border:1px solid var(--line);border-radius:9px;margin:0 auto 0 22px;display:flex;overflow:hidden}.asm button{border:0;border-right:1px solid var(--line);opacity:.6;white-space:nowrap;border-radius:0}.asm button:last-child{border-right:0}.asm button.on{opacity:1}@media (width<=1480px){.brand span{display:none}}@media (width<=1700px){.asm{margin-left:12px}.asm button{padding-left:8px;padding-right:8px;font-size:12px}}.brand,.tools button,.gearSel{white-space:nowrap}@media (width<=1560px){.brand{display:none}.asm{margin-left:0}.tools{gap:5px}.tools button{padding-left:9px;padding-right:9px}}aside{background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;flex-direction:column;width:300px;display:flex;position:fixed;top:52px;bottom:128px}#left{border-right:1px solid var(--line);left:0}#right{border-left:1px solid var(--line);width:330px;right:0}#search{border:1px solid var(--line);background:#11151a;border-radius:7px;outline:none;margin:10px;padding:7px 10px}#search:focus{border-color:var(--blue)}#tree{flex:1;padding:0 6px 10px;overflow:auto}.grp>.gh{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;padding:6px;font-weight:600;display:flex}.grp>.gh:hover{background:#1e242b}.gh .cnt{color:var(--mut);margin-left:auto;font-size:12px;font-weight:400}.gh .arr{width:10px;color:var(--mut);transition:transform .12s}.grp.open>.gh .arr{transform:rotate(90deg)}.grp>.gb{border-left:1px solid var(--line);margin-left:10px;padding-left:4px;display:none}.grp.open>.gb{display:block}.grp .grp>.gh{color:#c5ccd6;font-weight:500}.it{cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:4px 6px;display:flex}.it:hover{background:#1e242b}.it.sel{background:#1d3157}.it .dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px}.it.gone .dot{background:#5b6470}.it.gone .nm{color:var(--mut);text-decoration:line-through}.it.hid .nm{opacity:.5}.it .nm{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.it .eye{opacity:0;color:var(--mut);background:0 0;border:0;padding:0 4px}.it:hover .eye,.it.hid .eye{opacity:1}.tabs{border-bottom:1px solid var(--line);display:flex}.tabs button{color:var(--mut);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:11px}.tabs button.on{color:var(--txt);border-bottom-color:var(--acc);background:0 0;font-weight:600}#tabPart,#tabProc{flex:1;padding:14px;overflow:auto}h2{margin:0 0 2px;font-size:18px;line-height:1.25}h3{text-transform:uppercase;letter-spacing:.8px;color:var(--mut);margin:16px 0 6px;font-size:12px}.sub{color:var(--mut);font-size:13px}p{color:#cfd5dd;margin:10px 0}table{border-collapse:collapse;width:100%}td{border-bottom:1px solid var(--line);vertical-align:top;padding:5px 0}td:first-child{color:var(--mut);padding-right:10px}td:last-child{text-align:right}.acts{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.badge{color:#7be3a4;background:#1c3a27;border-radius:20px;padding:2px 8px;font-size:12px;display:inline-block}.badge.off{color:#aab2bd;background:#33383f}.warn{background:#2a2113;border:1px solid #5a4320;border-radius:8px;margin-top:12px;padding:10px;font-size:13px}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{cursor:pointer;background:#3a2e17;border:1px solid #6b5326;border-radius:20px;padding:2px 9px;font-size:12.5px}.chip:hover{border-color:var(--acc)}.proc{border:1px solid var(--line);cursor:pointer;border-radius:9px;margin-bottom:10px;padding:11px 12px}.proc:hover{border-color:#4a5563}.proc b{display:block}.proc span{color:var(--mut);font-size:13px}.step{border-radius:7px;gap:10px;padding:8px 6px;display:flex}.step.cur{background:#1d3157}.step.done{opacity:.55}.step .n{background:#2b323b;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.step.done .n{background:var(--ok);color:#06210f}.step small{color:var(--mut);display:block}#bottom{background:var(--panel);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3;align-items:center;gap:16px;height:128px;padding:8px 14px;display:flex;position:fixed;bottom:0;left:0;right:0}.rows{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}#dash{border-right:1px solid var(--line);align-items:center;gap:10px;height:100%;padding-right:16px;display:flex}#ign{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;flex:none;width:136px;height:114px}#ign .panel{fill:#0b0c0e;stroke:#2a2f36}#ign .lb{fill:#c8ced6;letter-spacing:.6px;cursor:pointer;font-family:Helvetica,Arial,sans-serif;font-size:7.5px;font-weight:700}#ign .lb.on{fill:var(--acc)}#ign .mk{stroke:#c8ced6;stroke-width:1px}#ign .knurl line{stroke:#3d444c;stroke-width:.7px;opacity:.55}#keyG{transition:transform .14s ease-out;transform:rotate(0)}#ign.on #keyG{transform:rotate(60deg)}#ign.start #keyG{transform:rotate(92deg)}#fob{transform-origin:0 4px;transition:transform .5s cubic-bezier(.3,1.9,.5,1)}#ign.on #fob{transform:rotate(-5deg)}#ign.start #fob{transform:rotate(7deg)}#tach{width:118px;height:98px}#tach .arc{fill:none;stroke:#56606c;stroke-width:3px}#tach .red{fill:none;stroke:#e5484d;stroke-width:3px}#tach .tk{stroke:#aab2bd;stroke-width:1.4px}#tach .tn{fill:#aab2bd;text-anchor:middle;dominant-baseline:middle;font-size:8px}#tach .needle{stroke:var(--acc);stroke-width:2.4px;stroke-linecap:round}#tach .hub{fill:#2b323b;stroke:#56606c}#tach .rpm{fill:var(--txt);text-anchor:middle;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}#tach .unit{fill:var(--mut);text-anchor:middle;font-size:6.5px}#tach .lamp{fill:#2b2f35;stroke:#444c57;stroke-width:.8px}#tach .lamp.lit{fill:#ff3b30;filter:drop-shadow(0 0 3px #ff3b30)}.dcol{flex-direction:column;gap:6px;width:214px;display:flex}.drow{gap:6px;display:flex}.drow button{padding:3px 8px;font-size:12.5px}#bSlow{flex:1}#runMsg{color:var(--mut);height:31px;font-size:12px;line-height:1.3;overflow:hidden}#runMsg.run{color:#7be3a4}#runMsg.err{color:#ffb86b}.row{align-items:center;gap:14px;display:flex}.sl{color:var(--mut);white-space:nowrap;align-items:center;gap:8px;display:flex}.sl.grow{flex:1}.sl input{min-width:90px;accent-color:var(--acc);flex:1}.sl output{color:var(--txt);font-variant-numeric:tabular-nums;min-width:74px}.chk{align-items:center;gap:6px;display:flex}.chk input{accent-color:var(--acc)}.play{flex:none;width:40px;height:36px;padding:0;font-size:15px}#strokes{gap:4px;display:flex}.stk{text-align:center;color:#0d1014;border-radius:6px;width:62px;padding:3px 0;font-size:11.5px;font-weight:600;line-height:1.2}.stk b{font-size:13px;display:block}.stk.s0{background:#ff8a3a}.stk.s1{background:#9aa0a8}.stk.s2{background:#5aa9ff}.stk.s3{background:#a393ff}#toast{z-index:5;background:#2a2113;border:1px solid #6b5326;border-radius:9px;max-width:520px;padding:9px 14px;position:fixed;bottom:144px;left:50%;transform:translate(-50%)}#credit{z-index:2;color:var(--mut);background:var(--panel);border:1px solid var(--line);border-radius:6px;max-width:calc(100vw - 660px);padding:3px 8px;font-size:11px;position:fixed;bottom:134px;left:310px}#credit[hidden]{display:none}#credit a{color:#b9c4d2}#loading{background:var(--bg);z-index:10;color:var(--mut);place-items:center;font-size:18px;display:grid;position:fixed;inset:0}@media (width<=1100px){aside{width:240px}#right{width:270px}#strokes{display:none}}@media (width<=1500px){.dcol{width:168px}.stk{width:50px;font-size:10px}.sl output{min-width:62px}.sl input{min-width:56px}.row{gap:10px}#sRpm{flex:0 0 64px;min-width:0}#strokes{flex:1 1 0;gap:3px;min-width:0;overflow:hidden}.stk{letter-spacing:-.2px;flex:1 1 0;width:auto;min-width:0;font-size:9px;overflow:hidden}.row:first-child .sl.grow{flex:0 200px}}@media (width<=1250px){.dcol{width:150px}}#legend{z-index:2;background:var(--panel);border:1px solid var(--line);width:max-content;max-width:calc(100vw - 660px);color:var(--mut);white-space:nowrap;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;padding:6px 12px;font-size:12px;display:flex;position:fixed;top:62px;left:50%;transform:translate(-50%)}#legend[hidden]{display:none}#legend i{vertical-align:middle;border-radius:3px;width:18px;height:5px;margin-right:6px;display:inline-block}#legend b{color:var(--txt);font-variant-numeric:tabular-nums;font-weight:600}@media (width<=1100px){#legend{white-space:normal;flex-wrap:wrap;gap:4px 12px;max-width:46vw}}#legend span{cursor:pointer;-webkit-user-select:none;user-select:none}#legend span.off{opacity:.35;text-decoration:line-through}.drow button{white-space:nowrap;padding:3px 6px;font-size:12px}#tune{z-index:5;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;width:330px;padding:12px 14px;font-size:12.5px;position:fixed;bottom:140px;left:14px}#tune[hidden]{display:none}#tune h4{margin:0 0 4px;font-size:13.5px}#tune p{color:var(--mut);margin:0 0 8px;line-height:1.35}#tune label{color:var(--mut);grid-template-columns:150px 1fr 40px;align-items:center;gap:8px;margin:3px 0;display:grid}#tune input{width:100%;accent-color:var(--acc)}#tune output{color:var(--txt);text-align:right;font-variant-numeric:tabular-nums}#tune .btns{gap:6px;margin-top:8px;display:flex}#tune .btns button{flex:1;padding:4px 6px;font-size:12px}.gearSel{color:var(--mut);align-items:center;gap:6px;font-size:13px;display:inline-flex}.gearSel select{padding:5px 6px}.mnav{display:none}@media (width<=820px),(height<=520px){:root{--bh:calc(100px + env(safe-area-inset-bottom,0px));--th:88px}html,body{-webkit-text-size-adjust:100%;overscroll-behavior:none;font-size:13.5px}button,select{min-height:34px}.brand{display:none}#top{height:var(--th);padding:6px 8px;padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));flex-direction:column;justify-content:center;align-items:stretch;gap:6px}.asm,.tools{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:none;margin:0;overflow:auto hidden}.asm::-webkit-scrollbar{display:none}.tools::-webkit-scrollbar{display:none}.asm button,.tools button,.gearSel{flex:none}.asm button{padding:6px 10px;font-size:12.5px}.tools{gap:6px}.tools button{padding:5px 10px}.mnav{border-right:1px solid var(--line);flex:none;gap:6px;margin-right:2px;padding-right:6px;display:inline-flex}.mnav button.on{background:var(--blue);border-color:var(--blue);color:#06101f}aside{top:auto;bottom:var(--bh);height:44vh;max-height:calc(100vh - var(--bh) - var(--th) - 40px);z-index:4;border-radius:14px 14px 0 0;display:none;left:0;right:0;box-shadow:0 -8px 24px #00000073;border:0!important;border-top:1px solid var(--line)!important;width:auto!important}body.m-parts #left,body.m-info #right{display:flex}#search{font-size:16px}.it{padding:8px 6px}.grp>.gh{padding:9px 6px}.it .eye{opacity:1;padding:0 8px}#tabPart,#tabProc{padding:12px}h2{font-size:16.5px}.acts button{flex:auto}#bottom{height:var(--bh);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));gap:8px}#dash{border-right:0;flex:1;gap:8px;min-width:0;padding-right:0}#ign{width:92px;height:78px}#tach{display:none}.dcol{flex:1;gap:4px;width:auto;min-width:0}.drow button{min-height:30px;padding:3px 8px}#runMsg{height:30px;font-size:11.5px}input[type=range]{height:28px}.rows{left:0;right:0;bottom:var(--bh);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);z-index:4;max-height:calc(100vh - var(--bh) - var(--th) - 20px);border-radius:14px 14px 0 0;flex:none;gap:8px;padding:12px 10px;display:none;position:fixed;overflow:auto;box-shadow:0 -8px 24px #00000073}body.m-more .rows{display:flex}.row{flex-wrap:wrap;gap:8px 12px}.row .sl.grow,.row:first-child .sl.grow{flex:100%}.row .sl{flex:44%}#sRpm{flex:1}#sSteer{width:auto!important}#strokes{flex:100%;display:flex}.stk{font-size:10px}#selAxis{flex:1;min-width:0}#legend{top:calc(var(--th) + 6px);white-space:normal;gap:3px 10px;max-width:96vw;padding:5px 8px;font-size:11px}#credit{max-width:none;left:8px;right:8px;bottom:calc(var(--bh) + 6px);z-index:1;font-size:10px}#toast{bottom:calc(var(--bh) + 10px);width:max-content;max-width:92vw;font-size:13px}#tune{width:auto;left:8px;right:8px;bottom:calc(var(--bh) + 8px);max-height:calc(100vh - var(--bh) - var(--th) - 16px);overflow:auto}#tune label{grid-template-columns:120px 1fr 36px}}@media (height<=520px) and (width>=600px){:root{--th:50px;--bh:84px}#top{flex-direction:row;align-items:center;gap:8px}.asm{flex:0 auto;min-width:0}.tools{flex:auto;min-width:0}#ign{width:78px;height:66px}#runMsg{height:16px}aside{top:var(--th);bottom:var(--bh);border-radius:0;height:auto;max-height:none;width:46vw!important}#left{right:auto}#right{left:auto}.rows{border-radius:14px 0 0;width:60vw;left:auto}}
