*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#0d0d0d;color:#fff;font-family:Arial,"Helvetica Neue",sans-serif;overflow:hidden}button{font:inherit}.booth{width:100%;height:100%;position:relative}.screen{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:32px}.screen.is-active{display:flex}#startScreen{background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.12),transparent 30%),linear-gradient(135deg,#0a0a0a,#242424 60%,#0d0d0d)}.brand{position:absolute;top:28px;left:32px;font-weight:800;letter-spacing:.18em;font-size:14px}.start-card,.processing-card,.error-card{width:min(720px,92vw);text-align:center}.camera-mark{width:72px;height:72px;margin:0 auto 26px;border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:46px;line-height:1}.start-card h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(56px,10vw,118px);margin:0;line-height:.9;letter-spacing:-.05em}.start-card p{font-size:clamp(17px,2vw,24px);opacity:.78;margin:30px auto 36px;max-width:650px;line-height:1.55}.primary-btn{appearance:none;border:0;background:#fff;color:#111;border-radius:999px;min-width:250px;padding:20px 42px;font-weight:900;font-size:22px;letter-spacing:.1em;cursor:pointer}.primary-btn:active{transform:scale(.98)}.hint{margin-top:22px;font-size:14px;opacity:.45}#cameraScreen{padding:0;background:#000;flex-direction:column}.camera-shell{position:relative;width:100%;height:calc(100% - 100px);overflow:hidden;background:#000}#camera{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-overlay{position:absolute;inset:0;pointer-events:none}.shot-counter{position:absolute;top:28px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);padding:12px 20px;border-radius:999px;font-weight:800;letter-spacing:.08em}.countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:min(35vw,300px);font-weight:900;text-shadow:0 10px 40px rgba(0,0,0,.55)}.flash{position:absolute;inset:0;background:#fff;opacity:0;transition:opacity .12s}.flash.is-flashing{opacity:1}.camera-footer{height:100px;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#111;border-top:1px solid #242424;font-weight:700}.dots{display:flex;gap:12px}.dots span{width:16px;height:16px;border-radius:50%;background:#555;display:block}.dots span.done{background:#fff}#processingScreen{background:#f2efe7;color:#111}.processing-card h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,6vw,72px);margin:30px 0 10px}.processing-card p{font-size:18px;color:#5f5a51}.spinner{width:76px;height:76px;margin:0 auto;border-radius:50%;border:7px solid #d8d2c7;border-top-color:#111;animation:spin .8s linear infinite}.progress{height:10px;width:min(520px,80vw);margin:30px auto 0;background:#d8d2c7;overflow:hidden;border-radius:999px}.progress span{display:block;height:100%;width:8%;background:#111;transition:width .35s ease}@keyframes spin{to{transform:rotate(360deg)}}#errorScreen{background:#181818}.error-card{padding:40px;border:1px solid #333;border-radius:24px;background:#111}.error-card h2{font-size:36px;margin-top:0}.error-card p{opacity:.7;line-height:1.6;margin-bottom:28px}@media(max-width:700px){.screen{padding:20px}.brand{top:20px;left:20px}.camera-footer{padding:0 20px;font-size:14px}}
