*{margin:0;padding:0;box-sizing:border-box}
body{background:#1a0d2e;color:#f5f0e8;font-family:sans-serif;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}
h1{font-size:clamp(1.4rem,4vw,2.2rem);color:#E8834A;margin-bottom:8px;text-align:center;font-style:italic}
p{color:rgba(245,240,232,.6);margin-bottom:16px;text-align:center;font-size:.95rem}
#wrap{position:relative;width:480px;max-width:100%;border-radius:12px;overflow:hidden;background:#111;aspect-ratio:4/3}
video{width:100%;height:100%;display:block;transform:scaleX(-1);object-fit:cover}
canvas{position:absolute;top:0;left:0;width:100%;height:100%;transform:scaleX(-1)}
#status{margin-top:14px;font-size:.85rem;color:#E8834A;text-align:center;min-height:20px}
#startBtn{margin-top:16px;background:#E8834A;color:#1a0d2e;border:none;padding:12px 28px;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;display:block}
#startBtn:disabled{opacity:.5;cursor:not-allowed}
#stopBtn{margin-top:8px;background:transparent;color:rgba(245,240,232,.4);border:1px solid rgba(245,240,232,.2);padding:8px 20px;border-radius:8px;font-size:.85rem;cursor:pointer;display:none}
#cta{margin-top:24px;background:#E8834A;color:#1a0d2e;border:none;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}