*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#000;color:#e0e0e0}.video-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0}#preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000;z-index:1}.output-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:3;display:none}.info-panel{position:fixed;top:1.5rem;left:50%;transform:translate(-50%);background:#0f0f1ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:.6rem 1.2rem;font-size:.82rem;color:#ccc;text-align:center;z-index:10;max-width:90vw;line-height:1.5}.info-panel:empty{display:none}.status{position:fixed;top:1.5rem;right:1.5rem;font-size:.85rem;color:#888;background:#0f0f1ab3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.4rem .9rem;border-radius:20px;z-index:10}.status.recording{color:#e74c3c;font-weight:600;animation:pulse 1.5s infinite}.timer{position:fixed;bottom:6rem;left:50%;transform:translate(-50%);font-size:1.4rem;font-weight:700;color:#e74c3c;background:#0f0f1ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:.3rem 1rem;z-index:20;font-variant-numeric:tabular-nums;letter-spacing:1px;display:none;opacity:0;transition:opacity .3s ease}.timer.active{opacity:1}.toolbar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.2rem;padding:.6rem 1.2rem;z-index:20}#codec-select{background:transparent;color:#ccc;border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:.4rem .8rem;font-size:.82rem;cursor:pointer;outline:none}#codec-select:focus{border-color:#00d4ff}.icon-btn{width:56px;height:56px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn svg{display:block}.icon-blur{background:#2c2c3e;color:#00d4ff}.icon-blur:hover{background:#1a1a2e;transform:scale(1.08)}.icon-blur.active{background:#00d4ff;color:#0f0f1a}.icon-start{background:#e74c3c;color:#fff}.icon-start:not(:disabled):hover{background:#c0392b;transform:scale(1.08)}.icon-stop{background:#ff1616;color:#fff}.icon-stop:not(:disabled):hover{background:red;transform:scale(1.08)}.icon-download{background:#27ae60;color:#fff}.icon-download:not(:disabled):hover{background:#229954;transform:scale(1.08)}.icon-discard{background:#3a3a3a;color:#ccc}.icon-discard:not(:disabled):hover{background:#ff1616;color:#fff;transform:scale(1.08)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.footer-credit{position:fixed;bottom:1.2rem;right:1.5rem;font-size:.8rem;font-weight:500;color:#ffffff8c;text-decoration:none;letter-spacing:.3px;z-index:20;transition:color .2s ease,opacity .2s ease}.footer-credit:hover{color:#00d4ff}.wasm-loader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;background:#0f0f1a;z-index:9999;transition:opacity .4s ease}.wasm-loader.hidden{opacity:0;pointer-events:none}.wasm-spinner{width:56px;height:56px;border:4px solid rgba(255,255,255,.08);border-top-color:#00d4ff;border-radius:50%;animation:wasm-spin .8s linear infinite}.wasm-loader-text{font-size:.9rem;font-weight:500;color:#aaa;letter-spacing:.4px}@keyframes wasm-spin{to{transform:rotate(360deg)}}
