:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:#0b0d10;color:#f4f6f8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#202938 0,#0b0d10 48%)}main{max-width:1100px;margin:auto;padding:32px 20px 80px}header{margin-bottom:24px}.eyebrow{color:#ff4db8;font-weight:800;letter-spacing:.12em;font-size:.78rem}h1{font-size:clamp(2rem,5vw,4rem);margin:.2em 0}h2{font-size:1rem}.status-card,article,section{border:1px solid #303844;background:rgba(16,20,26,.92);border-radius:16px;padding:18px}.status-card{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.captures{display:grid;grid-template-columns:1fr 1fr;gap:16px}.captures article{min-width:0}.stage{position:relative;margin:14px 0;aspect-ratio:3/4;background:#050607;border-radius:12px;overflow:hidden}.stage img,.stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.stage img:not([src]){display:none}input,button{font:inherit}input[type=file],input[type=number]{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #455064;border-radius:10px;background:#0b0d10;color:#fff}.actions{display:flex;gap:12px;margin:18px 0}button{border:0;border-radius:12px;padding:14px 18px;background:#ff4db8;color:#160410;font-weight:900}button.secondary{background:#263041;color:#fff}button:disabled{opacity:.5}pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#a9f2d0}.pwa-hint{margin-top:24px;padding:12px 14px;border-left:3px solid #7fffd4;background:#111820;color:#c9fff0}.warning{color:#ffcf70;font-weight:700}@media(max-width:760px){.captures{grid-template-columns:1fr}.status-card{flex-direction:column}.actions{flex-direction:column}}
