@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');:root{font-family:'DM Sans',sans-serif;color:#f4f0e8;background:#090909}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -20%,#342714,#11100e 40%,#080808 75%)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;border:0}header{height:76px;padding:0 clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16}.brand{display:flex;gap:12px;align-items:center;color:#d9b86b;letter-spacing:.13em;font-size:12px}.brand b{color:#fff}nav{display:flex;gap:24px}nav a,.quiet{color:#bcb6a9;font-size:13px}.eyebrow{color:#c5a45e;letter-spacing:.24em;font-size:10px;font-weight:700}.booth{text-align:center;width:min(880px,92%);margin:54px auto 70px}.booth h1,h1{font:500 clamp(38px,6vw,66px)/1.08 'Playfair Display',serif;margin:13px 0}.muted{color:#a9a397}.camera-wrap{position:relative;max-width:760px;margin:36px auto 0;border:1px solid #b99a594f;border-radius:18px;overflow:hidden;background:#171614;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.camera-wrap video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:none}.camera-placeholder{display:flex;flex-direction:column;align-items:center;color:#b7a57b}.camera-placeholder span{font-size:45px;color:#d5b66e}.camera-placeholder p{font:26px 'Playfair Display',serif}.camera-placeholder small{color:#898477}.camera-controls{position:absolute;bottom:24px;display:flex;gap:14px}.gold{display:inline-block;background:linear-gradient(135deg,#e8ce8c,#b18b45);color:#17130b;padding:13px 24px;border-radius:30px;font-weight:700}.big{font-size:16px;padding:17px 34px}.count{position:absolute;font:700 clamp(90px,20vw,180px) 'Playfair Display',serif;text-shadow:0 4px 30px #000}.flash{position:absolute;inset:0;background:white;opacity:0;pointer-events:none}.flash.on{animation:blink .17s}@keyframes blink{from{opacity:1}to{opacity:0}}.result{margin:30px auto;max-width:560px}.result>img{width:100%;border-radius:14px;border:1px solid #b99a59}.result h2,h2{font:26px 'Playfair Display',serif}.share{display:flex;align-items:center;justify-content:center;gap:22px;margin:28px auto;padding:22px;background:#ffffff08;border:1px solid #ffffff18;border-radius:16px;max-width:600px}.share p{max-width:230px;color:#aaa395;font-size:13px}.share canvas{background:white;padding:5px;border-radius:6px}.wide{width:min(1120px,92%);margin:60px auto}.wide h1,.narrow h1{font-size:48px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;margin:34px 0}.gallery a{aspect-ratio:4/3;overflow:hidden;border-radius:10px;border:1px solid #ffffff20}.gallery img{width:100%;height:100%;object-fit:cover}.empty{padding:50px;text-align:center;color:#aaa}.narrow{width:min(680px,92%);margin:55px auto}.panel{background:#ffffff08;border:1px solid #ffffff1c;border-radius:16px;padding:24px;margin:22px 0}.form{display:grid;gap:17px}.form label{display:grid;gap:8px;color:#c9c1b1;font-size:13px}.form input:not([type=checkbox]),.form select{background:#171614;border:1px solid #ffffff26;border-radius:8px;color:white;padding:12px}.check{display:flex!important;align-items:center;gap:9px}.check input{accent-color:#c9a65e;width:17px;height:17px}.admin-photo{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #ffffff17;font-size:12px;color:#aaa}.admin-photo img{width:76px;height:58px;object-fit:cover;border-radius:6px}.admin-photo span{flex:1}.danger{color:#f18b80;border:1px solid #9c5048;padding:8px 12px;border-radius:8px;background:none}.notice{margin:16px auto;padding:12px 18px;background:#482b27;border:1px solid #a55b50;border-radius:9px;max-width:90%;color:#ffe0d9;font-size:13px}.footnote{font-size:11px;color:#827d72;margin-top:24px}.quiet{background:none;border:0;padding:12px}footer{border-top:1px solid #ffffff16;padding:22px clamp(18px,5vw,70px);display:flex;gap:22px;color:#a69d8b;font-size:11px;letter-spacing:.08em}footer span{margin-right:auto;color:#c4a45e}footer a{color:#a69d8b}@media(max-width:600px){header{height:auto;padding:16px;align-items:flex-start;gap:12px;flex-direction:column}nav{width:100%;justify-content:space-between}.booth{margin-top:40px}.camera-wrap{aspect-ratio:3/4}.share{flex-direction:column;text-align:center}.share p{max-width:none}footer{flex-wrap:wrap}}