@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#101114;--paper:#f6f5f1;--white:#fff;--muted:#74767f;--line:#dededb;--accent:#ff4f64;--accent-dark:#df3046;--blue:#5267ff;--green:#20a56b;--radius:22px;--shadow:0 18px 60px rgba(16,17,20,.12)}
*{box-sizing:border-box}html{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:16px}body{margin:0;min-height:100vh}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',system-ui,sans-serif;line-height:1.08}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.16em;color:var(--accent);margin-bottom:.65rem}.brand{display:flex;align-items:center;gap:12px;font-family:'Manrope';font-weight:800;line-height:1.05}.brand small{display:block;font-size:.62rem;letter-spacing:.15em;color:var(--muted);margin-top:5px}.brand-mark{width:60px;height:60px;border-radius:18px;background:var(--accent);color:#fff;display:inline-grid;place-items:center;font:800 1.1rem 'Manrope';box-shadow:0 10px 25px rgba(255,79,100,.25)}.brand-mark.small{width:45px;height:45px;border-radius:13px;font-size:.85rem}.button{border:1px solid transparent;border-radius:14px;padding:.78rem 1.08rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--ink);color:#fff}.button.primary:hover{background:#292b30}.button.ghost{border-color:var(--line);background:transparent}.button.light{background:#fff;color:var(--ink)}.button.ghost-light{border-color:rgba(255,255,255,.3);color:#fff}.button.large{padding:1rem 1.25rem;font-size:1.05rem}.button.full{width:100%}.text-button{border:0;background:none;color:var(--muted);font-weight:700;padding:.75rem;cursor:pointer}.light-text{color:#d8d9de}.stack{display:grid;gap:1.1rem}.alert{padding:1rem 1.1rem;border-radius:14px;margin:1rem 0;font-weight:600}.alert.danger{background:#ffe7ea;color:#a21b2d}.alert.success{background:#dcf7ea;color:#136b48}.alert.info{background:#e7edff;color:#2741b0}label{display:grid;gap:.45rem;font-weight:700;font-size:.9rem}label small{font-weight:400;color:var(--muted);line-height:1.4}input,select{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:.9rem 1rem;color:var(--ink);outline:0}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(82,103,255,.13)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}
/* Auth */
.auth-page{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 15%,rgba(255,79,100,.14),transparent 28%),radial-gradient(circle at 85% 80%,rgba(82,103,255,.12),transparent 30%),var(--paper)}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(28px,6vw,48px);box-shadow:var(--shadow)}.auth-card h1{font-size:2.2rem;margin:.5rem 0}.auth-card .brand-mark{margin-bottom:1.5rem}
/* Admin */
.admin-page{background:#f2f2ef}.topbar{height:78px;padding:0 clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar nav{display:flex;gap:8px}.topbar nav a{padding:.7rem .8rem;color:var(--muted);font-weight:700}.topbar nav a:hover{color:var(--ink)}.admin-shell{max-width:1240px;margin:auto;padding:clamp(24px,5vw,60px)}.admin-footer{text-align:center;color:var(--muted);padding:28px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading h1{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:.5rem}.page-heading.compact{align-items:start}.back-link{display:block;color:var(--muted);font-weight:700;margin-bottom:1rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.stat-card{padding:24px;background:var(--ink);color:#fff;border-radius:var(--radius);display:grid;gap:10px}.stat-card span{color:#b8bac1}.stat-card strong{font:800 2rem 'Manrope'}.stat-card .status-ok{font-size:1.5rem;color:#72e3b2}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.event-preview{height:230px;background:linear-gradient(145deg,#17181c,#33353d);display:grid;place-items:center;position:relative;color:#aeb0b7}.event-preview img{height:88%;max-width:80%;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.25))}.badge{position:absolute;top:14px;right:14px;background:#6b6d75;color:#fff;padding:.35rem .65rem;border-radius:99px;font-size:.72rem;font-weight:800}.badge.live{background:var(--green)}.event-body{padding:20px}.event-body h2{font-size:1.25rem;margin-bottom:.45rem}.event-date{font-size:.76rem;font-weight:800;color:var(--accent);letter-spacing:.07em}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.action-row .button{font-size:.84rem;padding:.65rem .75rem}.empty-state{border:1px dashed #c6c6c1;border-radius:var(--radius);min-height:280px;display:grid;place-content:center;justify-items:center;text-align:center;padding:40px;color:var(--muted)}.empty-state h2{color:var(--ink)}.empty-icon{font-size:2.5rem;color:var(--accent);margin-bottom:10px}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,36px);align-content:start}.panel h2{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.toggle-row{display:flex;gap:24px;flex-wrap:wrap}.toggle-row label{display:flex;align-items:center}.frame-thumb{display:flex;align-items:center;gap:18px;background:#202126;color:#fff;border-radius:16px;padding:14px}.frame-thumb img{width:70px;height:120px;object-fit:contain}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}
/* Home */
.home-page{background:var(--ink);color:#fff}.home-shell{max-width:1280px;margin:auto;padding:clamp(20px,4vw,56px)}.home-header{display:flex;justify-content:space-between;align-items:center}.home-header .button{border-color:#3a3b42;color:#fff}.home-intro{padding:clamp(70px,10vw,145px) 0 55px;max-width:850px}.home-intro h1{font-size:clamp(3rem,7vw,6.5rem);letter-spacing:-.055em;margin-bottom:25px}.home-intro h1 span{color:var(--accent)}.home-intro>p:last-child{font-size:1.15rem;color:#b8bac1}.public-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.public-event{min-height:220px;border:1px solid #34353b;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.public-event:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-4px)}.public-event span{font-size:.76rem;letter-spacing:.12em;color:#aeb0b7}.public-event:hover span{color:#fff}.public-event h2{font-size:1.5rem}.public-event strong{font-size:.9rem}
/* Booth */
.booth-page{background:#0c0d10;color:#fff;overflow:hidden}.booth-app{height:100dvh;display:grid;grid-template-rows:auto 1fr}.booth-header{height:78px;padding:0 clamp(18px,3vw,38px);display:flex;align-items:center;justify-content:space-between;background:#101114;border-bottom:1px solid #292a30;z-index:12}.booth-header .brand>span:last-child{display:grid;gap:3px}.booth-header .brand small{color:#898b94}.device-status{font-size:.82rem;color:#aeb0b7;display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:#35d28b;box-shadow:0 0 0 4px rgba(53,210,139,.14)}.dot.offline{background:#f0a23a;box-shadow:0 0 0 4px rgba(240,162,58,.14)}.booth-stage{min-height:0}.start-stage{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,70px);align-items:center;padding:clamp(24px,6vw,80px)}.start-copy{max-width:550px}.start-copy h1{font-size:clamp(3.2rem,7vw,7rem);letter-spacing:-.055em;margin-bottom:22px}.start-copy>p:not(.eyebrow){color:#b8bac1;font-size:clamp(1rem,2vw,1.25rem);line-height:1.6}.capture-button{width:100%;border:0;border-radius:18px;background:var(--accent);color:#fff;font:800 clamp(1.15rem,2vw,1.5rem) 'Manrope';padding:1.2rem 1.4rem;margin-top:20px;display:flex;justify-content:space-between;cursor:pointer}.capture-button:hover{background:var(--accent-dark)}.camera-card{height:min(68vh,720px);border-radius:32px;overflow:hidden;position:relative;background:#22242a;box-shadow:0 28px 80px rgba(0,0,0,.32)}.camera-card video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.focus-corners{position:absolute;inset:28px;border:2px solid rgba(255,255,255,.3);border-radius:22px}.capture-stage{position:relative;overflow:hidden}.capture-stage video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 30%,transparent 70%,rgba(0,0,0,.4))}.countdown{position:absolute;inset:0;display:grid;place-items:center;font:800 clamp(6rem,25vw,18rem) 'Manrope';text-shadow:0 8px 35px rgba(0,0,0,.3)}.countdown.pop{animation:countPop .55s ease}.countdown.shutter-ready{font-size:clamp(4rem,15vw,11rem);letter-spacing:.04em;color:#fff}.countdown.capture-message{font-size:clamp(2.2rem,8vw,6.5rem);letter-spacing:-.035em;text-align:center;padding:8vw}.shot-progress{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;gap:10px}.shot-progress span{width:44px;height:7px;border-radius:99px;background:rgba(255,255,255,.35)}.shot-progress span.active{background:#fff}.shot-progress span.done{background:var(--accent)}.round-button{position:absolute;top:24px;right:24px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.3);color:#fff;font-size:1.8rem;cursor:pointer}.camera-flash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;z-index:50}.camera-flash.active{animation:flash .18s ease}.result-stage{display:grid;grid-template-columns:1.15fr .85fr;background:#18191e;min-height:0}.result-preview{display:grid;place-items:center;min-height:0;padding:28px;background:radial-gradient(circle,#3a3d47,#17181c 65%)}.result-preview img{max-height:calc(100dvh - 135px);max-width:90%;object-fit:contain;border:8px solid #fff;box-shadow:0 25px 60px rgba(0,0,0,.45)}.result-actions{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.result-actions h1{font-size:clamp(2.2rem,5vw,4.5rem);margin-bottom:14px}.save-status{color:#aeb0b7;margin-bottom:28px}.button-stack{display:grid;gap:10px;max-width:430px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);background:#fff;color:var(--ink);border-radius:99px;padding:.8rem 1.1rem;opacity:0;pointer-events:none;transition:.25s;z-index:70;box-shadow:var(--shadow);font-weight:700}.toast.show{opacity:1;transform:translate(-50%,0)}
.dslr-preview-guide,.dslr-capture-guide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--booth-primary) 30%,transparent),transparent 35%),#17191f;color:#fff;gap:12px}.dslr-preview-guide[hidden],.dslr-capture-guide[hidden]{display:none}.dslr-preview-guide strong{font:800 clamp(1.4rem,3vw,2.5rem) 'Manrope'}.dslr-preview-guide small,.dslr-capture-guide small{color:#bec1ca;line-height:1.6}.dslr-camera-icon{width:88px;height:88px;border:2px solid color-mix(in srgb,var(--booth-primary) 70%,#fff);border-radius:28px;display:grid;place-items:center;font-size:3rem;box-shadow:0 0 45px color-mix(in srgb,var(--booth-primary) 40%,transparent)}.dslr-capture-guide{position:absolute;z-index:0}.dslr-capture-guide span{font-weight:800;letter-spacing:.25em;color:var(--booth-primary)}.dslr-capture-guide strong{font:800 clamp(2rem,6vw,5.5rem) 'Manrope';line-height:1.04}.camera-shade,.capture-frame-label,.countdown,.shot-progress,.capture-stage .round-button{z-index:2}.camera-connector-card{align-self:start}.setup-steps{display:grid;gap:12px;padding-left:22px;color:var(--muted)}.connector-result{padding:14px 16px;border-radius:13px;background:#f2f3f6;font-weight:700}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.camera-settings-layout{align-items:start}
/* Gallery */
.gallery-page{background:var(--paper)}.gallery-header{height:82px;padding:0 clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.gallery-shell{max-width:1280px;margin:auto;padding:clamp(35px,7vw,90px) clamp(18px,4vw,50px)}.gallery-title{max-width:800px;margin-bottom:45px}.gallery-title h1{font-size:clamp(2.6rem,6vw,5.8rem);letter-spacing:-.05em;margin-bottom:16px}.gallery-title>p:last-child{color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.photo-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.photo-card>a{display:block;background:#25262b;aspect-ratio:10/18;overflow:hidden}.photo-card img{width:100%;height:100%;object-fit:contain;transition:.25s}.photo-card:hover img{transform:scale(1.025)}.photo-card>div{display:flex;justify-content:space-between;padding:12px 14px;font-size:.82rem;color:var(--muted)}.photo-card>div a{color:var(--ink);font-weight:700}.gallery-footer{text-align:center;padding:35px;color:var(--muted)}
@keyframes countPop{0%{transform:scale(1.6);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes flash{0%{opacity:0}40%{opacity:1}100%{opacity:0}}
@media(max-width:900px){.event-grid,.public-event-grid{grid-template-columns:repeat(2,1fr)}.settings-layout{grid-template-columns:1fr}.start-stage{grid-template-columns:1fr;padding:24px}.start-copy{text-align:center;margin:auto}.start-copy h1{font-size:3.4rem}.camera-card{height:42vh;grid-row:1}.result-stage{grid-template-columns:1fr;overflow:auto}.result-preview{min-height:52vh}.result-preview img{max-height:48vh}.result-actions{text-align:center}.button-stack{margin:auto;width:100%}.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.topbar .brand>span:last-child,.gallery-header .brand>span:last-child{display:none}.topbar nav a{padding:.6rem .5rem;font-size:.85rem}.page-heading{align-items:start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid article:last-child{grid-column:1/-1}.event-grid,.public-event-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.home-intro{padding-top:75px}.home-intro h1{font-size:3.3rem}.booth-header{height:68px}.booth-header .brand>span:last-child{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-status span:last-child{display:none}.start-stage{display:flex;flex-direction:column;padding:18px}.camera-card{width:100%;height:45vh;order:-1}.start-copy h1{font-size:2.7rem}.start-copy>p:not(.eyebrow){font-size:.95rem}.capture-button{margin-top:12px}.result-preview{min-height:45vh}.result-actions{padding:24px}.result-actions h1{font-size:2.2rem}.photo-grid{grid-template-columns:repeat(2,1fr);gap:10px}.gallery-header .button{font-size:.8rem}.settings-layout{gap:14px}.panel{padding:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* v0.5.0 — responsive navigation, branded booth, wallet and HD controls */
.mobile-menu-button{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px;cursor:pointer}.mobile-menu-button i{display:block;height:2px;background:var(--ink);margin:5px 0;border-radius:4px}.nav-backdrop{position:fixed;inset:0;background:rgba(8,9,12,.62);backdrop-filter:blur(3px);z-index:79}.mobile-nav{position:fixed;top:0;right:0;width:min(360px,88vw);height:100dvh;background:#111216;color:#fff;z-index:80;padding:22px;transform:translateX(105%);transition:transform .28s ease;box-shadow:-25px 0 70px rgba(0,0,0,.35)}.mobile-nav.open{transform:translateX(0)}.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;padding:5px 3px 22px;color:#aeb0b7;font-size:.76rem;letter-spacing:.14em}.mobile-nav-head button{width:46px;height:46px;border:1px solid #34353d;border-radius:14px;background:#1d1f25;color:#fff;font-size:1.6rem}.mobile-nav nav{display:grid}.mobile-nav nav a{min-height:58px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #292b31;font:700 1.05rem 'Manrope'}.mobile-nav nav a b{color:var(--accent)}.mobile-nav .logout-link{color:#ff8b99}.nav-open{overflow:hidden}.form-help-row{display:flex;justify-content:flex-end;margin-top:-8px}.form-help-row a,.register-link a{color:#cc3045;font-weight:800}.payment-setting{display:grid;gap:12px;padding:18px;border-radius:16px;background:#f4f4f1;border:1px solid var(--line)}.payment-toggle{display:flex;align-items:flex-start;gap:10px}.payment-toggle input{width:20px;margin-top:2px}.payment-toggle span{display:grid;gap:3px}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.theme-choice input{position:absolute;opacity:0}.theme-choice span{min-height:58px;border:2px solid transparent;background:#f0f0ee;border-radius:14px;display:flex;align-items:center;gap:9px;padding:10px;cursor:pointer}.theme-choice input:checked+span{border-color:var(--ink);box-shadow:0 0 0 2px #fff inset}.theme-choice i{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#ff4f64,#ff9b54)}.theme-blue i{background:linear-gradient(135deg,#2f7cff,#37d5ff)}.theme-purple i{background:linear-gradient(135deg,#9b5cff,#ff59c7)}.theme-neon i{background:linear-gradient(135deg,#21f6a8,#bf5cff)}.theme-glass i{background:linear-gradient(135deg,#8bdcff,#b399ff)}.theme-custom i{background:conic-gradient(red,#ff0,#0f8,#08f,#a0f,red)}.theme-colors{grid-template-columns:repeat(3,1fr)}input[type=color]{padding:5px;height:48px}.wallet-note{background:#eef2ff;color:#30417a;border-radius:14px;padding:14px;line-height:1.5}.money.positive{color:#158457;font-weight:800}.money.negative{color:#c42d43;font-weight:800}.withdraw-actions{display:flex;gap:6px;min-width:390px}.withdraw-actions input{min-width:140px}.withdraw-actions .button{white-space:nowrap}
.booth-page{--accent:var(--booth-primary,#ff4f64);--accent-dark:var(--booth-primary,#ff4f64);background:var(--booth-bg,#0c0d10)}.booth-app{background:radial-gradient(circle at 8% 18%,color-mix(in srgb,var(--booth-primary) 25%,transparent),transparent 32%),radial-gradient(circle at 92% 78%,color-mix(in srgb,var(--booth-secondary) 22%,transparent),transparent 35%),var(--booth-bg)}.booth-header{background:color-mix(in srgb,var(--booth-bg) 90%,#000);border-color:rgba(255,255,255,.12)}.capture-button{background:linear-gradient(135deg,var(--booth-primary),var(--booth-secondary));box-shadow:0 18px 50px color-mix(in srgb,var(--booth-primary) 28%,transparent)}.capture-button:hover{filter:brightness(1.08)}.brand-spectacle{text-align:center;margin:0 0 26px;position:relative;display:grid;justify-items:center;gap:9px}.brand-spectacle .brand-orbit{width:clamp(128px,16vw,190px);height:clamp(128px,16vw,190px);margin-bottom:12px;filter:drop-shadow(0 0 42px color-mix(in srgb,var(--booth-primary) 55%,transparent));animation:spectacleFloat 3.4s ease-in-out infinite}.brand-spectacle .brand-orbit:before{content:"";position:absolute;inset:-28px;border:2px solid color-mix(in srgb,var(--booth-secondary) 70%,transparent);border-radius:50%;animation:orbitPulse 2.1s ease-out infinite}.brand-spectacle .brand-orbit img{width:76%;height:76%;object-fit:contain}.brand-spectacle .brand-orbit span{font-size:2.2rem}.brand-spectacle>small{letter-spacing:.35em;color:#c5c7cf;font-weight:800}.brand-spectacle>strong{font:800 clamp(1.55rem,3vw,2.8rem) 'Manrope';max-width:620px}.spectacle-particles{position:absolute;inset:-35px 5%;pointer-events:none}.spectacle-particles i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--booth-secondary);box-shadow:0 0 18px currentColor;animation:particle 2.8s ease-in-out infinite}.spectacle-particles i:nth-child(1){left:10%;top:20%}.spectacle-particles i:nth-child(2){left:25%;bottom:10%;animation-delay:.4s}.spectacle-particles i:nth-child(3){right:12%;top:12%;animation-delay:.8s}.spectacle-particles i:nth-child(4){right:28%;bottom:3%;animation-delay:1.2s}.spectacle-particles i:nth-child(5){left:3%;top:70%;animation-delay:1.6s}.spectacle-particles i:nth-child(6){right:3%;top:63%;animation-delay:2s}.quality-status{display:block;margin-top:9px;color:#bfc1ca;font-size:.75rem}.payment-stage{display:grid;place-items:center;padding:28px}.payment-box{width:min(620px,100%);padding:clamp(28px,6vw,64px);border:1px solid rgba(255,255,255,.16);border-radius:34px;text-align:center;background:color-mix(in srgb,var(--booth-bg) 72%,transparent);backdrop-filter:blur(24px);box-shadow:0 35px 100px rgba(0,0,0,.35)}.payment-box h1{font-size:clamp(2.4rem,6vw,5rem);margin:12px 0 18px}.payment-box>p:not(.eyebrow){color:#c5c7cf;line-height:1.6}.payment-icon{width:76px;height:76px;margin:0 auto 20px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,var(--booth-primary),var(--booth-secondary));font-size:2rem}.session-price{display:flex;justify-content:space-between;align-items:center;margin:28px 0 6px;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:17px}.session-price span{color:#c5c7cf}.session-price strong{font:800 1.5rem 'Manrope'}.payment-status{min-height:24px;color:#bfc1ca;font-size:.86rem;margin-top:10px}.theme-glass .camera-card,.theme-glass .payment-box{background:rgba(255,255,255,.1);backdrop-filter:blur(25px)}
@keyframes spectacleFloat{50%{transform:translateY(-10px) scale(1.025)}}@keyframes orbitPulse{0%{transform:scale(.85);opacity:.8}100%{transform:scale(1.25);opacity:0}}@keyframes particle{50%{transform:translateY(-18px) scale(1.7);opacity:.35}}
@media(max-width:900px){.desktop-nav{display:none!important}.mobile-menu-button{display:block}.topbar{height:70px;padding:0 16px}.admin-shell{padding:24px 16px}.stats-four{grid-template-columns:repeat(2,1fr)}.dashboard-split{grid-template-columns:1fr}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:720px}.theme-grid{grid-template-columns:repeat(2,1fr)}.brand-spectacle .brand-orbit{width:118px;height:118px}.brand-spectacle>strong{font-size:1.45rem}.brand-spectacle{margin-bottom:12px}.start-copy h1{margin-bottom:10px}.payment-stage{overflow:auto}}
@media(max-width:620px){.stats-four,.stats-grid{grid-template-columns:1fr}.stats-grid article:last-child{grid-column:auto}.subscription-alert{align-items:flex-start;flex-direction:column}.subscription-alert .button{width:100%}.theme-colors{grid-template-columns:1fr}.withdraw-actions{min-width:330px;flex-wrap:wrap}.withdraw-actions input{flex:1 0 100%}.admin-shell{padding-top:24px}.topbar .brand>span:last-child{display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-spectacle>small{font-size:.62rem}.camera-card{height:38vh}.start-stage{overflow:auto}.start-copy{padding-bottom:22px}.capture-button{min-height:56px}.frame-stage-action{padding-bottom:max(18px,env(safe-area-inset-bottom))}}
.save-status{margin-bottom:18px}.qr-row{display:flex;align-items:center;gap:20px;margin-bottom:22px;color:#c7c8ce}.qr-row img{width:168px;height:168px;flex:none;border:12px solid #fff;border-radius:16px;box-shadow:0 14px 38px rgba(0,0,0,.34);image-rendering:pixelated}.qr-row>span{display:grid;gap:7px;max-width:220px}.qr-row strong{color:#fff;font-size:1.05rem}.qr-row small{color:#b9bbc4;font-size:.78rem;line-height:1.45}

/* Login v0.1.1 — editorial dark studio */
.auth-page{display:grid;place-items:center;padding:clamp(14px,3vw,34px);background:#0d0e12;min-height:100dvh}
.auth-layout{width:min(1180px,100%);min-height:min(720px,calc(100dvh - 68px));display:grid;grid-template-columns:1.15fr .85fr;background:#17181d;border:1px solid #2b2c33;border-radius:32px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.45)}
.auth-visual{position:relative;overflow:hidden;padding:clamp(32px,5vw,66px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(255,79,100,.48),transparent 28%),radial-gradient(circle at 10% 88%,rgba(82,103,255,.36),transparent 34%),#111216}
.auth-visual:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-180px;bottom:-190px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:14px;font:800 1rem 'Manrope',system-ui;letter-spacing:.03em}.auth-brand small{display:block;color:#8f919b;font-size:.65rem;letter-spacing:.17em;margin-top:5px}
.auth-visual-copy{position:relative;z-index:1;max-width:650px;margin:80px 0}.auth-visual-copy h1{max-width:620px;font-size:clamp(3.1rem,6vw,6.2rem);letter-spacing:-.065em;margin:0 0 25px}.auth-visual-copy>p:last-child{max-width:560px;color:#b9bbc4;font-size:1.06rem;line-height:1.7}
.auth-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.auth-metrics>div{padding-top:16px;border-top:1px solid #34353d;display:grid;gap:4px}.auth-metrics strong{font:800 .82rem 'Manrope';color:var(--accent)}.auth-metrics span{font-size:.78rem;color:#a4a6af}
.auth-layout>.auth-card{width:auto;border:0;border-radius:0;box-shadow:none;padding:clamp(34px,6vw,74px);display:flex;flex-direction:column;justify-content:center;background:#f8f8f6}.auth-layout>.auth-card h2{font-size:clamp(2.2rem,4vw,3.35rem);letter-spacing:-.045em;margin:.15rem 0 .8rem}.auth-layout>.auth-card>.muted{font-size:.95rem;line-height:1.6;margin-bottom:30px}.login-mobile-brand{display:none}.login-form{gap:18px}.login-form label span{font-size:.84rem}.login-form input{height:55px;border-color:#d5d6d3;background:#fff}.login-form .button{height:57px;margin-top:4px;justify-content:space-between;padding-inline:20px;background:#111216}.login-form .button:hover{background:var(--accent)}.login-footnote{margin:34px 0 0;color:#a1a29e;font-size:.7rem;font-weight:700;letter-spacing:.12em}
@media(max-width:820px){.auth-layout{grid-template-columns:1fr;min-height:0;max-width:520px}.auth-visual{display:none}.auth-layout>.auth-card{padding:clamp(30px,8vw,52px);border-radius:30px}.login-mobile-brand{display:block;margin-bottom:32px}.auth-page{background:radial-gradient(circle at 10% 10%,rgba(255,79,100,.18),transparent 35%),radial-gradient(circle at 90% 90%,rgba(82,103,255,.17),transparent 38%),#0d0e12}}

/* SaaS dashboard v0.2 */
textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:.9rem 1rem;color:var(--ink);font:inherit;resize:vertical;outline:0}textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(82,103,255,.13)}.nav-logo{width:45px;height:45px;border-radius:13px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:4px}.subscription-alert{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;background:#fff0d9;border:1px solid #f4d29d;margin-bottom:24px}.subscription-alert div{display:grid;gap:3px}.subscription-alert span{color:#7c6240;font-size:.86rem}.subscription-pill{background:#e2faee;color:#146b49;border-radius:16px;padding:12px 18px;display:grid;gap:3px}.subscription-pill span{font-size:.72rem;font-weight:700}.subscription-pill strong{font-family:'Manrope'}.status-warn{color:#ffb457!important}.stats-four{grid-template-columns:repeat(4,1fr)}.stats-four .stat-card strong{font-size:clamp(1.3rem,2.3vw,2rem)}.stat-card small{color:#999ca6}.accent-stat{background:linear-gradient(145deg,#ff4f64,#df3046)}.accent-stat span{color:#ffe1e5}.dashboard-split{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;margin:0 0 38px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px}.section-title h2{margin:0}.section-title a{font-weight:700;font-size:.86rem;color:var(--accent)}.bar-chart{height:260px;display:flex;align-items:end;gap:14px;padding-top:35px}.bar-col{height:100%;flex:1;display:grid;grid-template-rows:20px 1fr 22px;gap:7px;text-align:center;min-width:0}.bar-value{font-size:.65rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:100%;background:#eeeef0;border-radius:10px;display:flex;align-items:end;overflow:hidden}.bar-track i{display:block;width:100%;min-height:4px;border-radius:10px;background:linear-gradient(180deg,var(--accent),#ff8795)}.bar-col span{font-size:.72rem;color:var(--muted);font-weight:700}.quick-panel{display:flex;flex-direction:column}.quick-panel>a{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.quick-panel>a>span{width:38px;height:38px;border-radius:12px;background:#f0f0ee;display:grid;place-items:center;font-weight:800}.quick-panel>a>div{display:grid;gap:3px;flex:1}.quick-panel small{color:var(--muted)}.event-section-title{margin-top:15px}.event-card{position:relative;isolation:isolate}.event-preview{overflow:hidden;isolation:isolate}.event-preview img{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);max-width:none;object-fit:contain;z-index:1}.event-preview .badge{z-index:3}.event-body{position:relative;z-index:5;background:#fff}.event-body .action-row{position:relative;z-index:7}.button.disabled{opacity:.55}.table-panel{margin-top:22px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);font-size:.86rem}th{font-size:.72rem;letter-spacing:.08em;color:var(--muted)}td small{display:block;color:var(--muted);margin-top:3px}.status-tag{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:.68rem;font-weight:800;background:#e8e8e6;color:#62636a}.status-tag.paid{background:#dcf8e9;color:#137149}.status-tag.pending,.status-tag.created{background:#fff0d6;color:#916119}.status-tag.expired,.status-tag.failed,.status-tag.cancelled,.status-tag.error{background:#ffe2e6;color:#9c2635}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:30px}.pricing-card{background:#fff;border:1px solid var(--line);border-radius:25px;padding:clamp(24px,4vw,38px)}.pricing-card.featured{border:2px solid var(--accent);box-shadow:0 18px 60px rgba(255,79,100,.12)}.plan-cycle{display:inline-flex;font-size:.68rem;letter-spacing:.12em;font-weight:800;color:var(--accent);margin-bottom:12px}.pricing-card h2,.pricing-card h3{font-size:1.6rem}.plan-price{font:800 clamp(2rem,4vw,3rem) 'Manrope';letter-spacing:-.05em;margin:15px 0}.plan-price small{font:500 .8rem 'DM Sans';letter-spacing:0;color:var(--muted)}.pricing-card ul{padding-left:18px;color:var(--muted);line-height:1.9;margin:20px 0}.pricing-card button:disabled{opacity:.4;cursor:not-allowed}.checkbox-label{display:flex;align-items:center}.template-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-content:start}.template-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px;min-width:0}.template-card>div{height:260px;border-radius:14px;background:#202127;display:grid;place-items:center;overflow:hidden}.template-card img{width:100%;height:100%;object-fit:contain}.template-card h3{font-size:1rem;margin:14px 0 5px}.template-card p{color:var(--muted);font-size:.8rem}.customer-library{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:40px}.prompt-builder{display:grid;grid-template-columns:.7fr .8fr 1.2fr;gap:20px;background:#111216;color:#fff;border-radius:28px;padding:clamp(24px,4vw,42px);margin-top:30px}.prompt-builder h2{font-size:2rem}.prompt-builder>div:first-child>p:last-child{color:#aeb0b8;line-height:1.6}.prompt-form{display:grid;gap:13px}.prompt-form label{color:#d4d5da}.prompt-output textarea{background:#202127;color:#e9e9ec;border-color:#383940}.brand-preview{border-radius:28px;min-height:520px;background:radial-gradient(circle at 50% 35%,rgba(255,79,100,.22),transparent 28%),#111216;color:#fff;display:grid;place-content:center;justify-items:center;text-align:center;padding:35px;overflow:hidden}.brand-preview h2{font-size:clamp(2rem,4vw,3.6rem);margin:10px 0}.brand-preview>p{font-size:.7rem;letter-spacing:.18em;color:#aeb0b8}.brand-preview>small{color:#7f8189}.brand-orbit{width:118px;height:118px;position:relative;display:grid;place-items:center;margin-bottom:20px}.brand-orbit:before,.brand-orbit:after,.brand-orbit i{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.2);border-radius:42% 58% 55% 45%;animation:orbitSpin 8s linear infinite}.brand-orbit:after{inset:-13px;animation-direction:reverse;animation-duration:11s}.brand-orbit i:nth-child(2){inset:-27px;animation-duration:14s}.brand-orbit i:nth-child(3){inset:-40px;animation-direction:reverse;animation-duration:18s}.brand-orbit img,.brand-orbit>span{position:relative;z-index:3;width:84px;height:84px;border-radius:26px;object-fit:contain;background:#fff;color:var(--ink);display:grid;place-items:center;font:800 1.4rem 'Manrope';padding:8px;box-shadow:0 15px 40px rgba(0,0,0,.3)}.preview-orbit{margin-bottom:55px}.booth-brand-intro{display:flex;align-items:center;gap:25px;margin-bottom:45px}.booth-brand-intro .brand-orbit{width:76px;height:76px;margin:0}.booth-brand-intro .brand-orbit:after{inset:-8px}.booth-brand-intro .brand-orbit i:nth-child(2){inset:-15px}.booth-brand-intro .brand-orbit i:nth-child(3){display:none}.booth-brand-intro .brand-orbit img,.booth-brand-intro .brand-orbit>span{width:58px;height:58px;border-radius:18px}.booth-brand-intro>div:last-child{display:grid;gap:5px}.booth-brand-intro small{font-size:.65rem;letter-spacing:.16em;color:#8f919a}.booth-brand-intro strong{font:800 1.15rem 'Manrope'}.signup-page{background:#f2f2ef;min-height:100vh}.signup-shell{max-width:1160px;margin:auto;padding:clamp(20px,5vw,60px)}.signup-head{display:flex;justify-content:space-between;align-items:center}.signup-title{max-width:780px;padding:80px 0 36px}.signup-title h1{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.06em}.signup-title>p:last-child{color:var(--muted);font-size:1.08rem}.signup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-label{display:block;margin-bottom:8px}.plan-picker{display:grid;gap:9px}.plan-choice{display:block;cursor:pointer}.plan-choice input{position:absolute;opacity:0}.plan-choice>span{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:6px;padding:16px;border:1px solid var(--line);border-radius:14px}.plan-choice input:checked+span{border-color:var(--accent);background:#fff1f3;box-shadow:0 0 0 2px rgba(255,79,100,.12)}.plan-choice b{font-size:1rem}.plan-choice small{color:var(--muted)}.register-link{font-size:.86rem;margin:25px 0 0}.register-link a{color:var(--accent);font-weight:800}.saas-hero{padding-bottom:100px}.hero-actions{display:flex;gap:10px;margin-top:30px}.hero-primary{background:var(--accent);color:#fff;padding:1rem 1.25rem}.public-pricing{padding-bottom:90px}.public-pricing .section-title h2{font-size:clamp(2rem,5vw,4rem)}.dark-card{background:#18191e;border-color:#33343b}.dark-card p{color:#aeb0b8}.dark-card .plan-price small{color:#aeb0b8}@keyframes orbitSpin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.stats-four{grid-template-columns:repeat(2,1fr)}.dashboard-split{grid-template-columns:1fr}.customer-library{grid-template-columns:repeat(3,1fr)}.prompt-builder{grid-template-columns:1fr 1fr}.prompt-output{grid-column:1/-1}.desktop-nav{max-width:65vw;overflow:auto}.template-library{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.stats-four,.pricing-grid,.signup-grid{grid-template-columns:1fr}.customer-library,.template-library{grid-template-columns:repeat(2,1fr)}.prompt-builder{grid-template-columns:1fr}.prompt-output{grid-column:auto}.signup-title{padding-top:55px}.desktop-nav a:not(:last-child){display:none}.subscription-alert{align-items:flex-start;flex-direction:column}.booth-brand-intro{justify-content:center;margin-bottom:25px}.bar-chart{gap:7px}.bar-value{display:none}}

/* Multi-mode booth v0.3 */
.booth-settings-form{gap:20px}.optional{font-weight:500;color:var(--muted);font-size:.75rem}.toggle-list{display:grid;gap:10px}.toggle-list>label{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fafaf8;cursor:pointer}.toggle-list input{margin-top:2px;flex:0 0 auto}.toggle-list span{display:grid;gap:3px}.toggle-list small{font-weight:400;color:var(--muted)}.upload-zone{display:grid;gap:12px;border:1px dashed #c8c9c6;border-radius:18px;padding:18px;background:#fafaf8}.upload-zone>p{color:var(--muted);font-size:.86rem;margin:-4px 0 4px}.frame-select-panel{padding:clamp(22px,3vw,32px)}.frame-check-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.frame-check-card{border:1px solid var(--line);border-radius:18px;padding:10px;background:#fafaf8;min-width:0}.frame-pick{position:relative;cursor:pointer}.frame-pick>input{position:absolute;opacity:0;pointer-events:none}.frame-pick-image{height:210px;border-radius:12px;background:linear-gradient(145deg,#17181d,#30323a);display:grid;place-items:center;overflow:hidden;margin-bottom:10px}.frame-pick-image img{width:100%;height:100%;object-fit:contain}.frame-pick strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frame-pick small{font-size:.72rem;min-height:39px}.check-mark{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;color:transparent;border:2px solid #d7d8d5;z-index:2}.frame-pick>input:checked~.check-mark{background:var(--accent);border-color:var(--accent);color:#fff}.frame-pick:has(input:checked) .frame-pick-image{box-shadow:0 0 0 3px var(--accent)}.default-frame{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px;font-size:.72rem;color:var(--muted);cursor:pointer}.default-frame input{width:15px;height:15px;accent-color:var(--accent)}.sticky-actions{position:sticky;bottom:15px;z-index:15;background:rgba(242,242,239,.92);backdrop-filter:blur(12px);padding:12px 14px;border:1px solid rgba(210,210,206,.8);border-radius:18px;box-shadow:0 16px 45px rgba(16,17,20,.12)}.event-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.event-meta-row .event-date{margin:0}.mode-badge{font-size:.65rem;font-weight:800;letter-spacing:.07em;border-radius:99px;padding:5px 8px;background:#ececf0;color:#555863}.mode-badge.studio{background:#e7edff;color:#3148b7}.mode-badge.street{background:#fff0d9;color:#8a5c17}.template-card>.template-card-meta{height:auto;display:flex;justify-content:space-between;background:transparent;border-radius:0;margin-top:10px;overflow:visible;color:var(--muted);font-size:.68rem;font-weight:700}.scope-badge{padding:4px 7px;border-radius:99px;background:#e7edff;color:#3148b7}.scope-badge.private{background:#e2faee;color:#146b49}.upload-frame-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start;margin:30px 0}.upload-frame-panel .prompt-form label{color:var(--ink)}
.frame-insight{display:grid;grid-template-columns:.65fr 1.35fr;gap:30px;margin-bottom:38px;background:#17181d;color:#fff;border-color:#292a30}.frame-insight .muted{color:#92949d}.frame-rank-list{display:grid}.frame-rank-list>div{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #303139}.frame-rank-list>div:last-child{border-bottom:0}.frame-rank-list span{font:800 .72rem 'Manrope';color:var(--accent)}.frame-rank-list strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frame-rank-list b{font-size:.76rem;color:#aeb0b7}

.booth-nav-logo{width:45px;height:45px;border-radius:13px;object-fit:contain;background:#fff;padding:4px}.live-chip{position:absolute;left:22px;bottom:22px;border-radius:99px;padding:8px 11px;background:rgba(12,13,16,.68);backdrop-filter:blur(8px);font-size:.65rem;font-weight:800;letter-spacing:.12em;display:flex;align-items:center;gap:7px}.live-chip i{width:7px;height:7px;border-radius:50%;background:#35d28b;box-shadow:0 0 0 4px rgba(53,210,139,.16)}.frame-stage{display:grid;grid-template-rows:auto 1fr auto;gap:22px;padding:clamp(22px,4vw,48px);background:radial-gradient(circle at 15% 5%,rgba(255,79,100,.18),transparent 25%),#0c0d10;overflow:hidden}.frame-stage-head{display:flex;justify-content:space-between;align-items:start}.frame-stage-head h1{font-size:clamp(2.3rem,5vw,4.4rem);letter-spacing:-.05em;margin-bottom:8px}.frame-stage-head>div>p:last-child{color:#aeb0b7;margin:0}.light-round{position:static;background:#fff;color:#111216;border:0;font-size:1.3rem}.guest-frame-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:14px;overflow:auto;padding:4px 4px 18px}.guest-frame-card{appearance:none;border:1px solid #303139;border-radius:22px;background:#18191e;color:#fff;padding:11px;text-align:left;cursor:pointer;position:relative;transition:.22s;min-width:0}.guest-frame-card:hover{transform:translateY(-3px);border-color:#595b65}.guest-frame-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 20px 45px rgba(0,0,0,.28)}.guest-frame-image{height:min(45vh,390px);min-height:240px;border-radius:15px;background:linear-gradient(145deg,#282a31,#111216);display:grid;place-items:center;overflow:hidden}.guest-frame-image img{width:100%;height:100%;object-fit:contain}.no-frame-preview{font:800 2rem 'Manrope';color:#626570}.guest-frame-copy{display:grid;gap:5px;padding:13px 5px 5px}.guest-frame-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-frame-copy small{color:#989aa3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-frame-card>i{position:absolute;right:20px;top:20px;width:30px;height:30px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-style:normal;opacity:0;transform:scale(.7);transition:.2s}.guest-frame-card.selected>i{opacity:1;transform:scale(1)}.frame-stage-action{display:flex;align-items:center;justify-content:flex-end;gap:25px;border-top:1px solid #292a30;padding-top:18px}.frame-stage-action>div{display:grid;gap:3px;text-align:right}.frame-stage-action small{font-size:.62rem;letter-spacing:.14em;color:#858791}.compact-capture{width:min(360px,100%);margin:0}.capture-frame-label{position:absolute;left:24px;top:24px;border-radius:99px;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);padding:10px 14px;font-weight:700;font-size:.78rem}.result-frame-name{display:inline-flex;align-self:flex-start;padding:7px 10px;border-radius:99px;background:#292a31;color:#d8d9de;font-size:.75rem;margin-bottom:12px}

@media(max-width:1100px){.frame-check-grid{grid-template-columns:repeat(4,1fr)}.guest-frame-grid{grid-template-columns:repeat(4,minmax(170px,1fr))}}
@media(max-width:850px){.frame-check-grid{grid-template-columns:repeat(3,1fr)}.upload-frame-panel,.frame-insight{grid-template-columns:1fr}.guest-frame-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.frame-stage{overflow:auto}.guest-frame-grid{overflow:visible}.guest-frame-image{min-height:210px;height:36vh}}
@media(max-width:620px){.frame-check-grid{grid-template-columns:repeat(2,1fr)}.frame-pick-image{height:190px}.guest-frame-grid{grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px}.frame-stage{padding:18px}.frame-stage-head h1{font-size:2rem}.frame-stage-head>div>p:last-child{font-size:.85rem}.guest-frame-image{height:230px;min-height:0}.frame-stage-action{position:sticky;bottom:-1px;background:#0c0d10;padding-bottom:4px;flex-direction:column;gap:10px;align-items:stretch}.frame-stage-action>div{text-align:left}.compact-capture{width:100%}.result-frame-name{align-self:center}.capture-frame-label{left:16px;top:16px}.booth-nav-logo{width:40px;height:40px}}

/* Final visual overrides */
.home-hero{display:grid;grid-template-columns:1fr .92fr;gap:clamp(30px,6vw,85px);align-items:center;padding:clamp(60px,9vw,125px) 0 70px}.home-hero .home-intro{padding:0;max-width:700px}.home-hero .home-intro h1{font-size:clamp(3rem,6vw,6.2rem)}.hero-visual{min-height:650px;position:relative;border-radius:34px;overflow:hidden;background:#24252a;box-shadow:0 40px 100px rgba(0,0,0,.45)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,9,12,.75))}.hero-visual>img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-float{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:19px;background:rgba(10,11,15,.7);backdrop-filter:blur(16px);display:flex;gap:13px;align-items:center;color:#d8dae2}.hero-float i{width:12px;height:12px;flex:none;border-radius:50%;background:#42e69e;box-shadow:0 0 0 6px rgba(66,230,158,.13)}.hero-float span{display:grid;gap:3px;font-size:.82rem}.hero-float strong{color:#fff;font-size:1rem}.hero-proof{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.hero-proof span{padding:8px 10px;border:1px solid #34363d;border-radius:99px;color:#aeb1ba;font-size:.65rem;font-weight:800;letter-spacing:.1em}.frame-stage{background:radial-gradient(circle at 15% 5%,color-mix(in srgb,var(--booth-primary) 22%,transparent),transparent 28%),var(--booth-bg)}.frame-stage-action{background:color-mix(in srgb,var(--booth-bg) 94%,transparent)}.booth-page .eyebrow{color:color-mix(in srgb,var(--booth-primary) 72%,#fff)}.booth-page p,.booth-page h1,.booth-page h2,.booth-page strong{color:inherit}.booth-page .text-button{color:#d7d9e1}.button:disabled,.capture-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.status-tag.approved{background:#e7edff;color:#2944b9}.status-tag.rejected,.status-tag.failed{background:#ffe7ea;color:#a21b2d}
@media(max-width:950px){.home-hero{grid-template-columns:1fr;padding-top:70px}.hero-visual{min-height:480px}.home-hero .home-intro{max-width:850px}.home-hero .home-intro h1{font-size:clamp(3.2rem,9vw,6rem)}}
@media(max-width:620px){.home-header{gap:12px}.home-header .brand>span:last-child{display:none}.home-header .action-row{margin:0}.home-header .action-row .button{font-size:.78rem;padding:.7rem .8rem}.home-hero{padding-top:54px;gap:34px}.home-hero .home-intro h1{font-size:3rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-visual{min-height:390px;border-radius:24px}.hero-float{left:12px;right:12px;bottom:12px}.hero-proof{gap:6px}.hero-proof span{font-size:.58rem}.event-card .action-row{display:grid;grid-template-columns:1fr 1fr}.event-card .action-row .button:first-child{grid-column:1/-1}.event-preview{height:210px}.admin-footer{font-size:.75rem}}
.booth-app{background:radial-gradient(circle at 8% 18%,color-mix(in srgb,var(--booth-primary) 28%,transparent),transparent 32%),radial-gradient(circle at 92% 78%,color-mix(in srgb,var(--booth-secondary) 25%,transparent),transparent 35%),linear-gradient(rgba(5,6,10,.56),rgba(5,6,10,.7)),var(--booth-bg)}.booth-header{background:rgba(9,10,14,.91)}.frame-stage{background:radial-gradient(circle at 15% 5%,color-mix(in srgb,var(--booth-primary) 24%,transparent),transparent 28%),linear-gradient(rgba(5,6,10,.62),rgba(5,6,10,.76)),var(--booth-bg)}.capture-button{background:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2)),linear-gradient(135deg,var(--booth-primary),var(--booth-secondary));text-shadow:0 1px 3px rgba(0,0,0,.45)}

/* Print studio, setup wizard and install experience v0.5 */
.setup-steps{position:sticky;top:90px;z-index:15;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:9px;background:rgba(255,255,255,.92);backdrop-filter:blur(15px);border:1px solid var(--line);border-radius:18px}.setup-steps button{border:0;border-radius:12px;background:transparent;padding:10px;color:var(--muted);font-weight:800;cursor:pointer}.setup-steps button.active{background:var(--ink);color:#fff}.setup-steps b{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(255,255,255,.14);margin-right:5px}.print-profile-grid,.format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.print-profile-card,.format-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fafaf8}.format-card{color:#fff;background:#18191e;border-color:#34363c;text-align:left;cursor:pointer}.format-card strong,.print-profile-card strong{display:block}.format-card small,.print-profile-card small{color:var(--muted)}.template-card{position:relative}.template-card>.template-sample{background:radial-gradient(circle at 50% 28%,#f0c4ab 0 10%,transparent 11%),linear-gradient(135deg,#5f6b86,#b7c0d7);position:relative}.template-sample .sample-person{font-size:0}.template-sample img{position:absolute;inset:0;z-index:2}.favorite-form{position:absolute;top:23px;right:23px;z-index:4}.favorite-form button{width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:#f0a21b;font-size:1.25rem;box-shadow:0 7px 20px rgba(0,0,0,.2);cursor:pointer}.print-insight{display:grid;grid-template-columns:.7fr 1.3fr;gap:25px;margin-bottom:20px}.mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mini-stats article{border-radius:16px;background:#f3f3f0;padding:16px;display:grid;gap:8px}.mini-stats span{font-size:.75rem;color:var(--muted)}.mini-stats strong{font:800 1.15rem 'Manrope'}.operator-filters{display:grid;grid-template-columns:2fr 1.5fr 1.2fr 1.2fr auto;gap:10px;align-items:end;margin-bottom:14px}.print-toolbar{position:sticky;top:88px;z-index:12;display:flex;align-items:end;gap:16px;padding:14px 18px;background:#17181d;color:#fff;border-radius:18px;margin-bottom:18px}.print-toolbar label{min-width:160px}.print-toolbar input,.print-toolbar select{padding:.65rem}.inline-check{display:flex;align-items:center;gap:8px;margin-right:auto}.operator-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.operator-photo-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:11px;position:relative}.operator-photo-card>label{position:absolute;left:19px;top:19px;z-index:2;display:flex;align-items:center;gap:6px;background:#fff;padding:6px 9px;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,.16)}.operator-photo-card>img{width:100%;height:290px;object-fit:contain;background:#1b1c21;border-radius:12px}.operator-photo-card>div{display:grid;gap:6px;padding:12px 3px 4px}.operator-photo-card code{font-size:.75rem;color:var(--accent)}.operator-photo-card small{color:var(--muted)}.install-banner{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:999;width:min(620px,calc(100% - 28px));display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;padding:13px;background:rgba(255,255,255,.96);color:#101114;border:1px solid #ddd;border-radius:19px;box-shadow:0 20px 60px rgba(0,0,0,.3);backdrop-filter:blur(18px)}.install-banner[hidden]{display:none}.install-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800}.install-banner>div:nth-child(2){display:grid;gap:3px}.install-banner span{font-size:.78rem;color:#686a72}.install-close{border:0;background:transparent;font-size:1.5rem;color:#777;cursor:pointer}
@media(max-width:950px){.operator-filters{grid-template-columns:repeat(2,1fr)}.operator-photo-grid{grid-template-columns:repeat(3,1fr)}.print-insight{grid-template-columns:1fr}.print-profile-grid,.format-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.setup-steps{top:70px;overflow:auto;grid-template-columns:repeat(4,minmax(120px,1fr))}.operator-filters{grid-template-columns:1fr}.operator-photo-grid{grid-template-columns:repeat(2,1fr);gap:9px}.operator-photo-card>img{height:220px}.print-toolbar{top:72px;overflow:auto;align-items:center}.print-toolbar label{min-width:145px}.mini-stats{grid-template-columns:1fr}.install-banner{grid-template-columns:auto 1fr auto}.install-banner .install-action{grid-column:2}.install-close{grid-column:3;grid-row:1}.format-grid,.print-profile-grid{grid-template-columns:1fr}}

.format-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:center}.format-choice-card{min-height:210px;border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:24px;background:rgba(255,255,255,.07);color:#fff;text-align:left;display:grid;grid-template-columns:1fr auto;align-content:center;gap:7px;cursor:pointer;transition:.22s}.format-choice-card:hover{transform:translateY(-4px);border-color:var(--booth-primary);background:rgba(255,255,255,.11)}.format-choice-card strong{font:800 1.3rem 'Manrope';grid-column:1}.format-choice-card small{color:#b7b9c2;grid-column:1}.format-choice-card>b{grid-column:2;grid-row:2;font-size:1.4rem}.format-icon{grid-column:1/-1;width:48px;height:70px;border:3px solid color-mix(in srgb,var(--booth-primary) 70%,#fff);border-radius:6px;margin-bottom:9px;box-shadow:10px 9px 0 color-mix(in srgb,var(--booth-secondary) 45%,transparent)}.format-icon.landscape{width:78px;height:52px}.help-chip{width:38px;height:38px;border:0;border-radius:50%;background:#ececea;font-weight:900;cursor:pointer}.print-profile-card{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.print-profile-card input{width:18px;margin-top:3px}.print-profile-card span{display:grid;gap:4px}.print-profile-card em{font-size:.7rem;color:#777a83;font-style:normal}.operator-list{display:grid;margin-top:18px}.operator-list form{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.operator-list form>div{display:grid;gap:4px}.operator-list small{color:var(--muted)}.event-card .action-row form{display:inline-flex;margin:0}.printer-settings{display:grid;gap:14px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:950px){.format-choice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.format-choice-grid{grid-template-columns:1fr}.format-choice-card{min-height:145px}.operator-list form{grid-template-columns:1fr auto}.operator-list form .button{grid-column:1/-1}.event-card .action-row form{display:flex}.event-card .action-row form .button{width:100%}}

/* Hand cursor and gesture control v0.8.0 */
.gesture-settings{display:grid;gap:14px;padding-top:18px;border-top:1px solid var(--line)}.settings-check{display:flex!important;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fafaf8;cursor:pointer}.settings-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}.settings-check span{display:grid;gap:4px}.settings-check small{color:var(--muted);font-weight:500}.gesture-guide-panel{margin-top:24px}.gesture-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.gesture-guide-grid article{display:grid;gap:6px;padding:18px;border-radius:17px;background:#f4f4f1}.gesture-guide-grid b{font-size:2.2rem}.gesture-guide-grid small{color:var(--muted)}.gesture-camera-feed{position:fixed!important;left:-10px!important;bottom:-10px!important;width:2px!important;height:2px!important;opacity:.001!important;pointer-events:none!important}.gesture-hud{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:45;display:flex;align-items:center;gap:12px;min-width:min(390px,calc(100% - 28px));padding:11px 18px 11px 11px;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(10,11,15,.84);color:#fff;box-shadow:0 16px 50px rgba(0,0,0,.38);backdrop-filter:blur(18px)}.gesture-hud[hidden]{display:none}.gesture-hud>span:last-child{display:grid;gap:2px}.gesture-hud strong{font-size:.86rem}.gesture-hud small{color:#b9bbc4;font-size:.7rem}.gesture-progress{--gesture-progress:0deg;width:49px;height:49px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--booth-primary) var(--gesture-progress),rgba(255,255,255,.13) 0);position:relative}.gesture-progress:before{content:"";position:absolute;inset:4px;border-radius:50%;background:#17181d}.gesture-progress b{position:relative;z-index:1;font-size:1.28rem}.format-choice-card.gesture-selected{border-color:var(--booth-primary);box-shadow:0 0 0 3px var(--booth-primary),0 18px 45px rgba(0,0,0,.3);background:rgba(255,255,255,.14);transform:translateY(-3px)}
@media(max-width:650px){.gesture-guide-grid{grid-template-columns:1fr}.gesture-hud{bottom:max(12px,env(safe-area-inset-bottom));min-width:calc(100% - 20px)}.gesture-hud small{font-size:.66rem}}

.hand-cursor{--cursor-progress:0deg;position:fixed;left:0;top:0;width:66px;height:66px;border-radius:50%;z-index:120;pointer-events:none;display:grid;place-items:center;background:conic-gradient(#fff var(--cursor-progress),rgba(255,255,255,.22) 0);box-shadow:0 0 0 6px rgba(255,255,255,.14),0 10px 35px rgba(0,0,0,.42);will-change:transform;transition:width .12s,height .12s}.hand-cursor[hidden]{display:none}.hand-cursor:before{content:"";position:absolute;inset:6px;border-radius:50%;background:color-mix(in srgb,var(--booth-primary) 82%,#15161b);border:2px solid rgba(255,255,255,.86)}.hand-cursor span{position:relative;z-index:1;color:#fff;font-size:1rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}.hand-cursor-hover{outline:4px solid color-mix(in srgb,var(--booth-primary) 72%,#fff)!important;outline-offset:4px!important;filter:brightness(1.12);box-shadow:0 0 0 9px color-mix(in srgb,var(--booth-primary) 18%,transparent),0 18px 48px rgba(0,0,0,.3)!important}

/* Touch-first booth and downloadable GIF v0.9.0 */
.booth-page{overscroll-behavior:none;touch-action:manipulation}.booth-stage{-webkit-overflow-scrolling:touch}.frame-stage,.result-stage,.start-stage{touch-action:pan-y}.frame-stage{overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:none}.frame-stage::-webkit-scrollbar,.guest-frame-grid::-webkit-scrollbar,.result-stage::-webkit-scrollbar,.start-stage::-webkit-scrollbar{display:none}.guest-frame-grid{overflow:visible;touch-action:pan-y}.format-choice-grid{align-content:start;touch-action:pan-y}.frame-stage-action{position:sticky;bottom:-1px;z-index:8;padding-bottom:max(12px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--booth-bg) 96%,transparent);backdrop-filter:blur(18px)}.result-stage{overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}.start-stage{overflow-y:auto;scrollbar-width:none}.booth-page button,.booth-page .button,.booth-page a.button{min-height:52px;touch-action:manipulation}.button.disabled{pointer-events:none;opacity:.5;cursor:wait}.guest-frame-card,.format-choice-card{-webkit-tap-highlight-color:transparent}.guest-frame-card:active,.format-choice-card:active,.capture-button:active{transform:scale(.985)}
@media(pointer:coarse){.guest-frame-card{min-height:310px}.round-button{width:56px;height:56px}.text-button{padding:14px 18px}.frame-stage{padding-bottom:max(24px,env(safe-area-inset-bottom))}}
/* Animated previews remain static in JPG and on printed paper. */
.guest-frame-motion .guest-frame-image{position:relative;isolation:isolate}
.guest-frame-grid{align-items:start}.guest-frame-image{position:relative;width:100%;height:auto!important;min-height:0!important;aspect-ratio:var(--frame-ratio,10 / 16);max-height:none;padding:12px;background:linear-gradient(145deg,#282a31,#111216)}.guest-frame-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.frame-shot-badge{position:absolute;z-index:4;right:9px;bottom:9px;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(8,9,13,.86);color:#fff;font:900 .7rem 'Manrope';letter-spacing:.08em;box-shadow:0 7px 20px rgba(0,0,0,.32);backdrop-filter:blur(10px)}.frame-shot-badge span{color:var(--booth-primary);font-size:.8rem}.guest-frame-copy small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}.guest-frame-copy>b{color:#fff;font-size:.72rem;font-weight:800}.guest-frame-card{overflow:visible}
.media-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.media-setting-card{display:grid;align-content:start;gap:16px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fafaf8}.media-setting-card>div:first-child{display:grid;gap:5px}.media-setting-card>div:first-child>strong{font:800 1.08rem 'Manrope'}.media-setting-card>div:first-child>small{color:var(--muted);line-height:1.45}.media-setting-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.frame-search{display:block;max-width:460px;margin:16px 0;font-size:.78rem;font-weight:700;color:var(--ink)}.frame-search input{display:block;width:100%;margin-top:8px;padding:12px 15px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink)}.frame-check-card[hidden],.template-card[hidden]{display:none!important}
.guest-frame-motion .guest-frame-image::after{content:"";position:absolute;inset:-60%;pointer-events:none;background:conic-gradient(from 20deg,transparent 0 30%,rgba(255,255,255,.22) 43%,transparent 56% 100%);mix-blend-mode:screen;animation:kkdFrameGlint 5s linear infinite}
.guest-frame-motion.selected .guest-frame-image{box-shadow:inset 0 0 30px rgba(103,255,230,.4),0 0 23px rgba(174,80,255,.35)}
@keyframes kkdFrameGlint{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.guest-frame-motion .guest-frame-image::after{animation:none}}
@media(max-width:620px){.guest-frame-image{height:auto!important;min-height:0!important;padding:8px}.frame-shot-badge{right:6px;bottom:6px;padding:6px 8px;font-size:.6rem}.guest-frame-copy{padding-top:10px}.guest-frame-copy>b{font-size:.65rem}}
@media(max-width:760px){.media-setting-grid{grid-template-columns:1fr}.media-setting-card .form-grid{grid-template-columns:1fr}}
@media(max-width:620px){.qr-row{gap:14px;justify-content:center}.qr-row img{width:136px;height:136px;border-width:10px}.qr-row>span{max-width:165px;text-align:left}.qr-row strong{font-size:.92rem}.qr-row small{font-size:.7rem}}
.guide-list{display:grid;gap:12px;margin:0;padding-left:24px}.guide-list li{padding:10px 12px;line-height:1.55;border-bottom:1px solid var(--line)}.guide-list li:last-child{border-bottom:0}

/* Landing page v0.9.3: visible header CTA and undistorted hero media. */
.home-header .button.light{background:#fff;border-color:#fff;color:#101114}
.home-header .button.light:hover{background:var(--coral);border-color:var(--coral);color:#fff}
.trial-note{margin:14px 0 0!important;color:#b8bac1!important;font-size:.84rem!important;line-height:1.5}.trial-note:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:rgba(66,230,158,.14);color:#42e69e;font-weight:900}
.hero-visual{min-height:0;aspect-ratio:8/5}
.hero-visual>picture{position:absolute;inset:0;display:block}
.hero-visual>picture>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-visual:after{pointer-events:none}
@media(max-width:950px){.hero-visual{min-height:0}}
@media(max-width:620px){.hero-visual{min-height:0;aspect-ratio:4/3}}

/* v0.9.4: clear multi-shot feedback and photo + GIF result preview. */
.shot-label{position:absolute;z-index:3;left:50%;top:28px;transform:translateX(-50%);padding:11px 18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(10,11,15,.68);backdrop-filter:blur(12px);font:800 clamp(.78rem,1.5vw,1rem) 'Manrope';letter-spacing:.08em;white-space:nowrap}
.result-media-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:center}
.result-media-grid figure{min-width:0;margin:0;display:grid;place-items:center;gap:9px;position:relative}
.result-media-grid figure>span{position:absolute;z-index:2;left:12px;top:12px;padding:7px 10px;border-radius:99px;background:rgba(10,11,15,.78);font-size:.68rem;font-weight:900;letter-spacing:.12em}
.result-media-grid img{display:block;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;border:6px solid #fff;box-shadow:0 22px 55px rgba(0,0,0,.42)}
.capture-freeze{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transition:opacity .08s ease;pointer-events:none}.capture-freeze.show{opacity:1;visibility:visible}.capture-thumbnails{position:absolute;z-index:4;left:24px;bottom:24px;display:flex;gap:10px}.capture-shot{width:82px;height:104px;padding:5px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(8,9,12,.7);backdrop-filter:blur(10px);display:grid;grid-template-rows:1fr auto;gap:4px;color:#fff;overflow:hidden}.capture-shot img,.result-shot img{width:100%;height:100%;min-height:0;object-fit:cover;border:0;box-shadow:none}.capture-shot strong{font-size:.65rem;text-align:center}.shot-empty{display:grid;place-items:center;min-height:0;border-radius:9px;background:rgba(255,255,255,.1);font:800 1.25rem 'Manrope';color:rgba(255,255,255,.48)}
.shot-review{display:grid;gap:12px;margin:4px 0 18px}.shot-review[hidden]{display:none}.shot-review>div:first-child{display:grid;gap:3px}.shot-review>div:first-child small{color:#aeb0b7;line-height:1.4}.result-shot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:430px}.result-shot{appearance:none;min-width:0;height:132px;padding:6px;border:1px solid #393b44;border-radius:15px;background:#202127;color:#fff;display:grid;grid-template-rows:1fr auto auto;gap:3px;cursor:pointer;overflow:hidden;transition:.2s;touch-action:manipulation}.result-shot:hover,.result-shot:focus-visible{border-color:var(--accent);transform:translateY(-2px)}.result-shot strong{font-size:.72rem}.result-shot small{font-size:.63rem;color:#ff9caa}.result-shot:disabled{cursor:default;opacity:.72;transform:none}.result-shot:disabled small{color:#7ce7b3}.shot-review.locked>div:first-child small{color:#7ce7b3}.confirm-result{width:min(430px,100%);margin-bottom:18px}.result-actions{overflow:auto;min-height:0}.result-actions>#savedResultActions{width:100%}.result-actions>#savedResultActions[hidden]{display:none}
.gallery-type{position:absolute;left:18px;top:18px;z-index:2;padding:6px 9px;border-radius:99px;background:rgba(10,11,15,.82);color:#fff;font-size:.65rem;font-weight:900;letter-spacing:.1em}
.photo-card{position:relative}
.share-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin:22px 0}
.share-media-grid figure{margin:0;display:grid;gap:10px}.share-media-grid img{width:100%;max-height:60vh;object-fit:contain;background:#18191e}
@media(max-width:900px){.result-media-grid{height:auto}.result-media-grid img{max-height:46vh}.share-media-grid{grid-template-columns:1fr}}
@media(max-width:620px){.shot-label{top:16px;max-width:calc(100% - 110px);overflow:hidden;text-overflow:ellipsis}.result-media-grid{grid-template-columns:1fr 1fr;gap:8px}.result-media-grid img{border-width:3px;max-height:42vh}.result-media-grid figure>span{left:6px;top:6px}}
@media(max-width:620px){.capture-thumbnails{left:12px;bottom:15px;gap:6px}.capture-shot{width:64px;height:82px;border-radius:11px;padding:4px}.capture-shot strong{font-size:.56rem}.shot-progress{bottom:18px;left:auto;right:14px;transform:none}.shot-progress span{width:25px}.result-shot-list{margin-inline:auto}.result-shot{height:116px}.shot-review>div:first-child{text-align:center}.confirm-result{margin-inline:auto}}

/* v0.9.5: accessible touchscreen page scrolling. */
.booth-scroll-controls{position:fixed;z-index:45;right:max(16px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);display:grid;gap:10px;padding:8px;border:1px solid rgba(255,255,255,.2);border-radius:22px;background:rgba(8,9,12,.78);backdrop-filter:blur(14px);box-shadow:0 14px 38px rgba(0,0,0,.32)}
.booth-scroll-controls[hidden]{display:none}.booth-scroll-controls button{width:58px;height:58px;min-height:58px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.12);color:#fff;font:800 1.55rem 'Manrope';cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.booth-scroll-controls button:active{transform:scale(.94);background:var(--booth-primary)}.booth-scroll-controls button:disabled{opacity:.28;cursor:default;transform:none}
@media(max-width:620px){.booth-scroll-controls{right:8px;gap:7px;padding:6px;border-radius:18px}.booth-scroll-controls button{width:50px;height:50px;min-height:50px;border-radius:13px;font-size:1.3rem}.result-actions{padding-right:68px}}

/* v0.10.2 — ZIP/template importer, automatic frame detection, and draft review */
.template-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-bottom:34px}.template-zip-import{border-color:#cdd6ff;background:linear-gradient(145deg,#fff,#f4f6ff)}.compact-alert{margin:0;padding:12px 14px;font-size:.78rem;line-height:1.5}.alert.warning{background:#fff6df;color:#755110;border:1px solid #f0d58c}.import-report{margin-bottom:20px}.import-report-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.import-report-list>div{display:grid;gap:3px;padding:11px 13px;border-radius:12px;background:#edf8f2;color:#145c3a;font-size:.75rem}.import-report-list>div.failed{background:#fff0f2;color:#97263a}.import-report-list span{opacity:.8}.template-library-heading{display:flex;align-items:end;justify-content:space-between;margin:26px 0 15px}.template-library-heading h2{font-size:1.65rem}.template-library-heading .button.active{background:#111216;color:#fff}.bulk-template-form{display:flex;justify-content:flex-end;margin-bottom:14px}.super-template-library{grid-template-columns:repeat(4,minmax(0,1fr))}.draft-template-card{border-style:dashed;background:#fbfaf6}.template-select{position:absolute;left:18px;top:18px;z-index:5;display:flex;align-items:center;gap:6px;background:#fff;padding:6px 9px;border-radius:10px;box-shadow:0 5px 18px rgba(0,0,0,.15);font-size:.72rem;font-weight:800}.template-select input:disabled+span{opacity:.45}.template-admin-preview{height:330px;position:relative;overflow:hidden;border-radius:13px;background:linear-gradient(145deg,#243553,#b9d2dc);display:grid;place-items:center}.template-preview-sample{position:absolute;inset:8% 16%;border-radius:45% 45% 20% 20%;background:radial-gradient(circle at 50% 24%,#f1bd9d 0 10%,transparent 11%),linear-gradient(145deg,#425b8d,#8eb1bc)}.template-admin-preview img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain}.template-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.template-card-actions form,.template-card-actions .button{width:100%}.template-review-layout{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);align-items:start}.template-review-preview{display:grid;place-items:center;min-height:720px;background:#22242a}.template-review-preview canvas{display:block;max-width:100%;max-height:78vh;object-fit:contain;background:#ddd}.publish-template-check{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f5f5f2}.publish-template-check input{width:19px;height:19px}
@media(max-width:1100px){.super-template-library{grid-template-columns:repeat(3,minmax(0,1fr))}.import-report-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.template-import-grid,.template-review-layout{grid-template-columns:1fr}.super-template-library{grid-template-columns:repeat(2,minmax(0,1fr))}.template-review-preview{min-height:500px}}
@media(max-width:620px){.template-library-heading{align-items:start;flex-direction:column;gap:14px}.template-library-heading .action-row{width:100%;overflow:auto}.bulk-template-form .button{width:100%}.super-template-library{grid-template-columns:1fr}.template-admin-preview{height:430px}.import-report-list{grid-template-columns:1fr}.template-card-actions{grid-template-columns:1fr}.template-review-preview{min-height:420px}}

/* v0.10.2 — compact, readable template actions. The direct-child selector
   intentionally overrides the legacy .template-card>div preview rule. */
.template-card>.template-card-actions{height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:8px;margin-top:12px;background:transparent;border-radius:0;overflow:visible}
.template-card>.template-card-actions form{width:100%;margin:0;display:block}
.template-card>.template-card-actions .button{width:100%;min-height:42px;height:auto;padding:.68rem .72rem;border-radius:12px;font-size:.76rem;line-height:1.2;white-space:normal;display:flex;align-items:center;justify-content:center;text-align:center}
.template-card>.template-card-actions .button.ghost{background:#fff;color:#101114;border-color:var(--line)}
.template-card>.template-card-actions form .button{background:#111216;color:#fff;border-color:#111216}
@media(max-width:620px){.template-card>.template-card-actions{grid-template-columns:1fr 1fr}.template-card>.template-card-actions .button{font-size:.8rem}}
/* v0.10.3 — Super Admin support access, booth test, Canon live preview */
.support-access-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;margin-bottom:18px;border-radius:18px;background:#15161a;color:#fff;border:1px solid #ffbf47}.support-access-banner div{display:grid;gap:3px}.support-access-banner span{color:#d8dae1;font-size:.9rem}.support-access-banner form{margin:0}.table-search{display:flex;gap:8px;flex-wrap:wrap}.table-search input{min-width:min(320px,70vw)}.admin-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button.small{padding:8px 12px;min-height:0;font-size:.82rem}.test-mode-banner{position:fixed;left:50%;top:82px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:16px;padding:10px 14px;border-radius:999px;background:#ffbf47;color:#17120a;box-shadow:0 10px 35px #0008;font-weight:800}.test-mode-banner a{color:inherit;text-decoration:underline}.dslr-live-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#090a0d}.dslr-live-preview[hidden]{display:none}.camera-card .focus-corners,.camera-card .live-chip{z-index:2}
@media(max-width:760px){.support-access-banner{align-items:flex-start;flex-direction:column;border-radius:14px}.admin-account-grid{grid-template-columns:1fr}.test-mode-banner{top:auto;bottom:12px;width:calc(100% - 24px);justify-content:space-between;border-radius:15px}}
.connector-live-test{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:15px;background:#101114}.connector-live-test[hidden]{display:none}
