*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#0f1115;color:#e9ecf1}
a{color:#7cc4ff}header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #222831}
header h1{font-size:18px;margin:0}main{max-width:1000px;margin:0 auto;padding:16px}
button,select,input{font:inherit;border-radius:8px;border:1px solid #333b47;background:#1a1f27;color:inherit;padding:8px 12px}
button{cursor:pointer}button.primary{background:#e4572e;border-color:#e4572e;color:#fff;font-weight:600}button:disabled{opacity:.45;cursor:default}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}.modes label{padding:6px 10px;border:1px solid #333b47;border-radius:8px;cursor:pointer}
.modes input{margin-right:6px}.stage{position:relative;background:#000;border-radius:12px;overflow:hidden;aspect-ratio:16/9;width:100%}
.stage canvas,.stage video{width:100%;height:100%;object-fit:contain;display:block}
#countdown{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-size:140px;font-weight:800;background:rgba(0,0,0,.35)}
#recDot{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.6);padding:4px 10px;border-radius:20px;display:none}
#recDot.on{display:block}#recDot.on::before{content:'●';color:#ff4d4d;margin-right:6px}
.card{background:#151a21;border:1px solid #222831;border-radius:12px;padding:14px;margin:14px 0}.muted{color:#8b95a5;font-size:14px}
progress{width:100%;height:12px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 6px;border-bottom:1px solid #222831;font-size:14px}
.hidden{display:none!important}.link{font-family:ui-monospace,monospace;word-break:break-all}
/* watch page */
.watch main{max-width:900px}.watch video{width:100%;max-height:80vh;background:#000;border-radius:12px}
.brand{display:flex;flex-direction:column}.brand small{color:#8b95a5}
