:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;background:#151515;color:#f2f0e9}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}.top{max-width:1040px;margin:auto;padding:24px;display:flex;justify-content:space-between;gap:20px;font-size:14px}a{color:#d0e9aa;text-underline-offset:4px}main{max-width:760px;margin:auto;padding:36px 24px 56px}.screen{text-align:center}h1{font-size:clamp(30px,6vw,54px);line-height:1.1;letter-spacing:-.035em;margin:18px 0}p{color:#bdbdb6;line-height:1.6}.eyebrow{color:#d0e9aa}.settings{max-width:360px;text-align:left;display:grid;gap:8px;margin:28px auto}label{margin-top:10px}input,select{font:inherit;width:100%;padding:12px;border:1px solid #777;background:#252525;color:#fff;border-radius:6px}button{font:inherit;font-weight:650;border:1px solid transparent;border-radius:8px;padding:16px 24px;min-height:52px;cursor:pointer;touch-action:manipulation}.primary{background:#d0e9aa;color:#192211}.primary:hover{background:#e0f5c0}.secondary{background:#2a2a2a;border-color:#666;color:#eee}.secondary:hover{background:#393939}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #edba67;outline-offset:4px}.note{font-size:13px;max-width:480px;margin:20px auto}.viewfinder{position:relative;width:min(100%,360px);aspect-ratio:3/4;background:#252525;margin:24px auto;overflow:hidden;border:1px solid #777;border-radius:8px}video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}#countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:100px;font-weight:800;color:white;text-shadow:0 2px 12px #000}canvas{display:block;width:min(100%,288px);height:auto;margin:24px auto;background:white;image-rendering:pixelated}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}#status{text-align:center;color:#edba67;overflow-wrap:anywhere}#print-sheet{display:none}@media(max-width:480px){main{padding:20px 18px 40px}.top{padding:18px;flex-wrap:wrap}.actions{flex-direction:column}.actions button{width:100%}}@media print{@page{margin:0}body{background:white}body>header,body>main{display:none!important}#print-sheet{display:block;width:58mm;padding:0 5mm;break-inside:avoid}#print-sheet img{display:block;width:48mm;height:auto;image-rendering:pixelated}}
#pose-cue{position:absolute;inset:auto 16px 24px;padding:18px 14px;background:#151515ed;color:#f2f0e9;font-size:24px;font-weight:700;line-height:1.35;border-radius:8px}
/* One full-screen decorative canvas remains behind all booth content. */
.top,main{position:relative;max-width:1040px;background:transparent;z-index:1}
.photo-stage{position:relative;isolation:isolate}
.ascii-side{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ascii-side canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100vw,150vh);height:auto;max-width:none;margin:0;background:transparent;color:#a4ba89;opacity:.28;image-rendering:auto;aspect-ratio:3/2}
.screen h1,.screen>p,.top a,.settings label{position:relative;width:fit-content;max-width:100%;background:#151515;box-shadow:0 0 14px 8px #151515}
.screen h1,.screen>p{margin-left:auto;margin-right:auto}
#motion-toggle{display:block;margin:0 auto 24px;padding:8px 14px;min-height:44px;font-size:13px}


@media print{.ascii-side,#motion-toggle{display:none!important}}
.viewfinder video{position:absolute;inset:0;opacity:0;pointer-events:none}
#live-camera{width:100%;height:100%;margin:0;background:#252525;border-radius:0}
