*{box-sizing:border-box}html,body{margin:0;height:100%;background:#07090c;color:#d7dee8;font:13px/1.35 Inter,system-ui,Segoe UI,Roboto,sans-serif}
header{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #1a222d;background:#0b0f14}
.brand{display:flex;gap:10px;align-items:center}.brand b{letter-spacing:.18em;font-size:14px}.brand span{color:#7d8ea3;font-size:12px}
.status{display:flex;gap:10px;align-items:center;color:#9fb0c3}.status i{width:8px;height:8px;border-radius:50%;background:#3ccf7a;box-shadow:0 0 8px #3ccf7a}.status .k{color:#5f6f82;font-size:11px}
button{background:#121922;color:#cfd8e3;border:1px solid #243041;border-radius:6px;padding:5px 9px;cursor:pointer;font:inherit}button:hover{border-color:#c79a52}
main{display:grid;grid-template-columns:250px 1fr 250px;height:calc(100% - 46px - 230px)}
aside{padding:12px 14px;overflow:auto;background:#0a0e13;border-right:1px solid #1a222d}#right{border-right:0;border-left:1px solid #1a222d}
h4{margin:0 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}h5{margin:14px 0 6px;font-size:11px;color:#8193a8;letter-spacing:.08em;text-transform:uppercase}h5 small{text-transform:none;letter-spacing:0;color:#56657a}
.chip{display:inline-block;border:1px solid #2b3747;border-radius:10px;padding:1px 8px;font-size:11px;color:#9fb0c3}.big{font-size:16px;font-weight:600}
.kv div{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px solid #121a24}.kv b{font-weight:500;color:#eef2f7;font-variant-numeric:tabular-nums}
label{display:block;margin:6px 0;color:#9fb0c3;font-size:12px}label b{float:right;color:#e9c88f;font-weight:500}input[type=range]{width:100%;accent-color:#c79a52}select{width:100%;background:#121922;color:#d7dee8;border:1px solid #243041;border-radius:5px;padding:3px}
.cams{display:flex;flex-wrap:wrap;gap:5px}
#stage{position:relative;overflow:hidden;background:#05070a}#c{width:100%;height:100%;display:block}#lead{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#tags{position:absolute;inset:0;pointer-events:none}.tag{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;font-size:11.5px;color:#aab8c8;text-shadow:0 1px 3px #000}.tag b{display:block;color:#f1f4f8;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
#fps{position:absolute;right:8px;top:8px;font:11px monospace;color:#7ef0a0;background:#000a;padding:4px 6px;border-radius:4px;display:none;white-space:pre}
#why{margin:0;padding-left:18px}#why li{margin:0 0 7px;color:#b9c6d4}#why li b{color:#e9c88f}#log{font:11px/1.4 monospace;color:#7f90a4;white-space:pre-wrap}
footer{height:230px;display:grid;grid-template-columns:260px 1fr 300px;gap:10px;padding:10px;border-top:1px solid #1a222d;background:#0a0e13}
.card{background:#0d131a;border:1px solid #1a2430;border-radius:8px;padding:8px 10px;overflow:hidden}.card h5{margin:0 0 6px}.card canvas{width:100%;height:calc(100% - 22px);display:block}#dew{height:120px!important}.small{font-size:11px;color:#8ea0b5}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}
@media (max-width:820px){html,body{height:auto}main{display:flex;flex-direction:column;height:auto}#stage{order:-1}#stage{height:62vh}#left,#right{border:0}footer{display:block;height:auto}.card{margin-bottom:8px}.card[ph] canvas{height:200px}header .brand span,.status .k{display:none}}
button.on{border-color:#c79a52;color:#e9c88f}#resp{margin-top:6px;line-height:1.5}#resp b{color:#e9c88f;font-weight:500}#resp i{color:#7ef0a0;font-style:normal}.tag.sm{font-size:10px}.tag.sm b{font-size:10px;letter-spacing:.04em}#badge{position:absolute;left:10px;top:10px;background:#0b0f14d0;border:1px solid #3ccf7a;border-left-width:4px;border-radius:6px;padding:6px 10px;font-size:12px;color:#c9d4e0;pointer-events:none}#badge b{letter-spacing:.12em;margin-right:6px}#badge i{color:#8193a8;font-style:normal;font-size:11px}@media (max-width:820px){#badge{font-size:13px}}.story{margin:0;color:#c9d4e0;line-height:1.5}.story b{color:#e9c88f;font-weight:500}#fx{margin-top:4px;line-height:1.45}#fx b{color:#e9c88f}