:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Apple SD Gothic Neo,sans-serif}body{color:#e6edf5;background:#0b1017;min-height:100vh;margin:0}.app{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:16px;display:flex}header h1{margin:0 0 6px;font-size:1.5rem}header p,.hint,.notice{color:#9aa5b1;margin:0;font-size:.9rem}.cards{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.cards>.card{flex:0 200px}.card{color:inherit;cursor:pointer;text-align:center;background:#1a2230;border:1px solid #2a3547;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px;display:flex}.card:hover{border-color:#5fd3a0}.card span{color:#9aa5b1;font-size:.85rem}.thumb{background:linear-gradient(#2b3648,#171e2a);border-radius:10px;width:140px;height:140px}.stepper{color:#6b7785;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.stepper li{border:1px solid #2a3547;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;display:flex}.stepper li span{background:#2a3547;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.7rem;display:inline-grid}.stepper li.current{color:#fff;border-color:#5fd3a0}.stepper li.current span,.stepper li.done span{color:#0b1017;background:#5fd3a0}.stage{aspect-ratio:4/3;background:#05080c;border-radius:14px;width:100%;position:relative;overflow:hidden}.gl,.overlay{width:100%;height:100%;position:absolute;inset:0}.overlay{pointer-events:none}.veil{text-align:center;background:#05080cbf;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.warn{color:#ffb36b;font-size:.85rem}.fps{color:#c4ceda;background:#0000008c;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:3px 8px;font-size:.7rem;line-height:1.3;display:flex;position:absolute;top:8px;left:8px;right:8px}.fps b{color:#fff}.panel{background:#1a2230;border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.panel h2{margin:0;font-size:1rem}.panel label{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.panel.row{flex-flow:wrap;justify-content:center}.checks{grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.checks .ok{color:#5fd3a0}.checks .ng{color:#ff8a80}button{color:#e6edf5;cursor:pointer;background:#232d3f;border:1px solid #2a3547;border-radius:10px;padding:10px 14px;font-size:.9rem}button:disabled{opacity:.4;cursor:not-allowed}button.primary{color:#0b1017;background:#5fd3a0;border-color:#5fd3a0;font-weight:600}.section{color:#c4ceda;margin:8px 0 0;font-size:1rem}.item{justify-content:space-between;align-items:center;gap:8px;display:flex}input{color:inherit;background:#0f1622;border:1px solid #2a3547;border-radius:8px;max-width:100%;padding:10px;font-size:1rem}a{color:#5fd3a0}@media (width<=520px){.app{gap:12px;padding:12px}header h1{font-size:1.25rem}.cards>.card{flex:40%}.thumb{width:100px;height:100px}.panel.row button{flex:45%}.checks{grid-template-columns:1fr}}header,.section,.notice{text-align:center}.app.wide{max-width:1100px}.duo{grid-template-columns:1fr 1fr;gap:16px;display:grid}.camvideo{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}@media (width<=720px){.duo{grid-template-columns:1fr;gap:12px}.app.wide{justify-content:center;min-height:100svh}}.comp{object-fit:cover}.fps{z-index:2}.spinner{border:4px solid #2a3547;border-top-color:#5fd3a0;border-radius:50%;flex:none;width:40px;height:40px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gauge{background:#1a2230;border:1px solid #2a3547;border-radius:999px;flex:none;width:min(320px,90%);height:10px;overflow:hidden}.gauge>div{background:#5fd3a0;height:100%;transition:width .3s}.gauge.sm{flex:none;width:90px;height:6px}.stat{color:#c4ceda;font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.loadlist{color:#c4ceda;gap:6px;margin:0;padding:0;font-size:.8rem;list-style:none;display:grid}.loadlist li{align-items:center;gap:8px;display:flex}.loadlist .name{text-align:left;min-width:9em}.loadlist .num{white-space:nowrap;text-align:left;color:#5fd3a0;font-variant-numeric:tabular-nums;min-width:9em}@media (width<=520px){.loadlist li{flex-wrap:wrap;justify-content:center}.loadlist .name,.loadlist .num{min-width:0}}
