:root{--bg: #050406;--ink: #e8dcc8;--danger: #c41e3a;--muted: #7a6f63;font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;height:100%}body{overflow:hidden;cursor:none}body.safe-cursor{cursor:auto}#app{position:relative}.screen{position:absolute;inset:0;display:grid;place-items:center;padding:24px}.panel{max-width:520px;background:#0c0a0eeb;border:1px solid #2a2228;border-radius:18px;padding:28px;box-shadow:0 30px 80px #0009}.panel h1{margin:0 0 8px;font-family:"IBM Plex Serif",Georgia,serif;font-weight:500;letter-spacing:-.02em}.panel p{color:var(--muted);line-height:1.55}.warn{color:#d4a574;font-size:.92rem;background:#1a1210;border-left:3px solid var(--danger);padding:10px 12px;margin:16px 0}.opts{display:flex;flex-direction:column;gap:10px;margin:16px 0 22px;font-size:.92rem}.opts label{display:flex;gap:10px;align-items:flex-start;color:var(--ink)}button{appearance:none;border:0;border-radius:999px;padding:12px 20px;font:inherit;font-weight:600;background:linear-gradient(180deg,#8b1528,#5a0e18);color:#fff;cursor:pointer}button.ghost{background:transparent;border:1px solid #3a3036;color:var(--ink)}.row{display:flex;gap:10px;flex-wrap:wrap}.stage{position:absolute;inset:0;background:#030204}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 30%,rgba(0,0,0,.85) 100%)}.noise{position:absolute;inset:0;opacity:.08;pointer-events:none;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.msg{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-family:Georgia,serif;font-size:clamp(1rem,3vw,1.6rem);opacity:0;transition:opacity 1.2s ease;text-align:center;max-width:16em;text-shadow:0 0 24px rgba(180,40,40,.35)}.msg.show{opacity:.85}.cursor-dot{position:fixed;width:10px;height:10px;border-radius:50%;background:#c41e3ad9;pointer-events:none;z-index:50;transform:translate(-50%,-50%);box-shadow:0 0 18px #c41e3acc;transition:width .15s,height .15s}.cursor-dot.big{width:28px;height:28px}.hud{position:absolute;left:16px;bottom:16px;z-index:5;display:flex;gap:8px}.hud button{padding:8px 14px;font-size:.8rem;opacity:.7}.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.face{position:absolute;width:min(70vw,420px);aspect-ratio:3/4;left:50%;top:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;pointer-events:none;background:radial-gradient(circle at 35% 38%,#111 0 6%,transparent 7%),radial-gradient(circle at 65% 38%,#111 0 6%,transparent 7%),radial-gradient(ellipse at 50% 72%,#1a0508 0 18%,transparent 19%),linear-gradient(180deg,#2a0a0e,#0a0406);border-radius:46% 46% 40% 40%;filter:contrast(1.2) brightness(.7);box-shadow:0 0 80px #78000073}video.cam{position:absolute;right:18px;bottom:18px;width:160px;height:120px;object-fit:cover;border-radius:12px;opacity:.35;filter:grayscale(1) contrast(1.3);transform:scaleX(-1);border:1px solid #2a2228;z-index:4}.behind{position:absolute;inset:0;display:grid;place-items:center;opacity:0;pointer-events:none;font-size:clamp(1.2rem,4vw,2rem);color:#b91c1c;letter-spacing:.3em;text-transform:uppercase}
