:root{color-scheme:dark}*{box-sizing:border-box;margin:0}body{background:#0e1116;color:#dfe5ec;font:15px/1.5 system-ui,sans-serif;padding:24px}h1{font-size:20px;margin-bottom:4px}.sub{color:#8b95a3;margin-bottom:20px}.sub a{color:#60a5fa}button{background:#2563eb;color:#fff;border:0;border-radius:8px;padding:10px 18px;font-size:15px;cursor:pointer}button:disabled{background:#2a3341;color:#6b7686;cursor:default}button.warn{background:#b45309}button.danger{background:#dc2626}button.ghost{background:#171c24;border:1px solid #2a3341}input,select{background:#171c24;border:1px solid #242b36;border-radius:8px;color:#dfe5ec;padding:9px 12px;font-size:14px}.rigcard{background:#171c24;border:1px solid #242b36;border-radius:12px;padding:16px;margin:10px 0;max-width:560px;display:flex;justify-content:space-between;align-items:center;gap:12px}.rigcard .meta{color:#8b95a3;font-size:13px}.rigcard .actions{display:flex;flex-direction:column;gap:6px}.authbox{max-width:380px;background:#171c24;border:1px solid #242b36;border-radius:12px;padding:22px;margin:40px auto}.authbox h2{font-size:17px;margin-bottom:14px}.authbox form{display:flex;flex-direction:column;gap:10px}.authbox .err{color:#f87171;font-size:13px}.authbox .alt{margin-top:12px;font-size:13px;color:#8b95a3}.authbox .alt a{color:#60a5fa;cursor:pointer}.userline{position:absolute;top:24px;right:24px;font-size:13px;color:#8b95a3;display:flex;gap:10px;align-items:center}.userline button{padding:5px 10px;font-size:13px}#stage{margin-top:8px;max-width:1100px}#videowrap{position:relative;width:100%;background:#000;border-radius:12px;overflow:hidden;border:1px solid #242b36}#videowrap canvas{display:block;width:100%;height:auto}.ovl{position:absolute;font-size:13px;background:#0a0d129e;border-radius:8px;padding:4px 10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#ovl-status{top:10px;left:10px}#ovl-meter{top:10px;left:50%;transform:translate(-50%);font-size:15px;font-weight:600}#ovl-actions{top:10px;right:10px;display:flex;gap:6px;padding:0;background:none}#ovl-tel{top:46px;left:10px;display:flex;flex-direction:column;gap:4px;background:none;padding:0}#ovl-tel .gauge{background:#0a0d128c;border:0;border-radius:8px;padding:3px 10px;min-width:0;display:flex;gap:8px;align-items:baseline}#ovl-tel .gauge .v{font-size:15px;font-weight:600}#ovl-tel .gauge .l{font-size:11px;color:#aab4c2}#ovl-keys{bottom:8px;left:50%;transform:translate(-50%);color:#b8c2cf;white-space:nowrap;max-width:96%;overflow:hidden;text-overflow:ellipsis}#ovl-sound{bottom:40px;left:50%;transform:translate(-50%);background:#2563ebd9;cursor:pointer}#estop{background:#dc2626;font-weight:700;padding:6px 14px}#fullscr{background:#2a3341;padding:6px 10px}#panel{margin-top:10px}#panel summary{cursor:pointer;color:#8b95a3;font-size:14px;margin-bottom:8px}#panel-inner{display:flex;gap:10px;flex-wrap:wrap}#panel-inner .ctl{min-width:240px;flex:1;max-width:340px}.ctl{background:#171c24;border:1px solid #242b36;border-radius:10px;padding:12px 14px;margin-bottom:10px}.ctl label{display:block;font-size:13px;color:#8b95a3;margin-bottom:6px}.ctl input[type=range]{width:100%}.ctl .keys{float:right;color:#56607080;font-size:12px}.banner{background:#7c2d12;border:1px solid #b45309;border-radius:10px;padding:10px 14px;margin-bottom:10px}.ok{color:#4ade80}.bad{color:#f87171}.warn-c{color:#fbbf24}#report{background:#171c24;border:1px solid #242b36;border-radius:12px;padding:18px;max-width:560px;margin-top:16px}#report h2{font-size:16px;margin-bottom:8px}#report td{padding:2px 14px 2px 0;color:#8b95a3}#report td:last-child{color:#dfe5ec}.opanel{min-width:260px;flex:1;max-width:320px}.opanel .box{background:#171c24;border:1px solid #242b36;border-radius:10px;padding:14px;margin-bottom:10px}.opanel .box .l{font-size:12px;color:#8b95a3;margin-bottom:8px}.opanel .authority{font-weight:700}.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.drivehint{color:#fbbf24;font-size:13px;margin-top:8px}.ostage{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px}.ostage #videowrap{width:660px;max-width:100%}.queuecard{flex-direction:column;align-items:flex-start}.tpad{position:fixed;bottom:18px;width:128px;height:128px;border-radius:50%;background:#171c24cc;border:1px solid #2a3341;touch-action:none;z-index:30;display:grid;place-items:center}#tpad-left{left:16px}#tpad-right{right:16px}.tpad .knob{width:52px;height:52px;border-radius:50%;background:#f0644c;opacity:.9;transition:transform 40ms}@media (pointer: fine){.tpad{display:none}}.footnote{margin-top:28px;color:#56637a;font-size:12px;max-width:560px}.padxy{width:160px;height:160px;border-radius:12px;margin:0 auto;background:#0e1116;border:1px solid #2a3341;touch-action:none;display:grid;place-items:center}.padxy .knob{width:40px;height:40px;border-radius:50%;background:#2563eb;transition:transform 40ms}.rangebar{width:84px;height:4px;border-radius:2px;background:#242b36;margin:3px 0;overflow:hidden}.rangebar .fill{height:100%;background:#4ade80;border-radius:2px;transition:width .2s}.rangebar .fill.warn-c{background:#fbbf24}.rangebar .fill.bad{background:#f87171}.gauge .v.bad,.gauge .v.warn-c{font-weight:700}.statebadge{display:inline-block;font-size:13px;font-weight:600;padding:1px 8px;border:1px solid #56607080;border-radius:999px;color:#dfe5ec}.clickmark{position:absolute;width:26px;height:26px;margin:-13px;border:2px solid #4ade80;border-radius:50%;pointer-events:none;animation:clickfade .7s ease-out}@keyframes clickfade{0%{transform:scale(.5);opacity:1}to{transform:scale(1.4);opacity:0}}
