@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}:root{--bg-ink:#060a10;--bg-night:#0a1628;--bg-teal:#0e2a32;--accent:#d4952b;--accent-hover:#e5a63c;--accent-soft:#f5dca0;--accent-cool:#7dd4be;--surface:#060a10bf;--surface-strong:#060a10e6;--surface-soft:#f6f0e60f;--line:#ffffff0f;--line-strong:#d4952b59;--text:#f0ebe4;--text-soft:#f0ebe4a6;--ink:#060a10;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--transition-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-smooth:cubic-bezier(.25, .46, .45, .94)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 12% 18%, #d4952b2e, transparent 22%), radial-gradient(circle at 85% 18%, #7dd4be1f, transparent 24%), radial-gradient(circle at 76% 74%, #d4952b12, transparent 22%), linear-gradient(140deg, var(--bg-ink), var(--bg-night) 48%, var(--bg-teal));min-height:100vh;color:var(--text);font-family:var(--font-sans), sans-serif;font-size:.875rem;font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;transition:transform .2s var(--transition-spring), box-shadow .2s ease}button:active{transform:scale(.97)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d4952b40;border-radius:3px}.kiosk-shell{min-height:100vh;padding:1rem}.experience{isolation:isolate;background-color:#0000;background-image:radial-gradient(circle at 14% 14%,#d4952b24,#0000 20%),radial-gradient(circle at 88% 88%,#7dd4be1a,#0000 22%),linear-gradient(135deg,#060a10f2,#0a1628e6);background-position:50%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:40px;min-height:calc(100vh - 2rem);padding:1.25rem;transition:filter .6s;position:relative;overflow:hidden}.experience:hover{filter:none}.experience-background{z-index:0;position:absolute;inset:0;overflow:hidden}.experience-background-image{object-fit:cover;width:100%;height:100%;transition:transform .22s,object-position .22s}.experience-background-overlay{background:linear-gradient(135deg,#060b16db,#0d2434d1),linear-gradient(#060a101a,#060a102e);position:absolute;inset:0}.experience .ambient-glow{pointer-events:none;z-index:1;opacity:.7;position:absolute;inset:-20%}.experience .ambient-glow:before,.experience .ambient-glow:after{content:"";filter:blur(80px);border-radius:50%;position:absolute}.experience .ambient-glow:before{background:#d4952b26;width:500px;height:400px;animation:16s ease-in-out infinite alternate glowOrbit1}.experience .ambient-glow:after{background:#7dd4be1a;width:420px;height:340px;animation:20s ease-in-out infinite alternate glowOrbit2}@keyframes glowOrbit1{0%{top:5%;left:10%}25%{top:35%;left:55%}50%{top:60%;left:70%}75%{top:25%;left:80%}to{top:50%;left:20%}}@keyframes glowOrbit2{0%{bottom:10%;right:5%}25%{bottom:50%;right:40%}50%{bottom:20%;right:70%}75%{bottom:60%;right:25%}to{bottom:30%;right:60%}}.experience:before{content:"";pointer-events:none;opacity:.35;z-index:2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.025'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;position:absolute;inset:0}.experience:after{content:"";pointer-events:none;z-index:3;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:120px 120px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#00000059,#0000 86%);mask-image:linear-gradient(#00000059,#0000 86%)}.topbar{z-index:4;justify-content:center;align-items:flex-start;gap:1rem;display:flex;position:relative}.brand-block{text-align:center;max-width:52rem;margin:0 auto}.event-badge{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text)!important;background:#fff6ec1a!important}.topbar h1{max-width:18ch;font-family:var(--font-display), sans-serif;letter-spacing:-.04em;text-wrap:balance;margin:.85rem auto 0;font-size:clamp(3rem,8vw,5.8rem);font-weight:300;line-height:.92}.headline-copy{max-width:42rem;color:var(--text-soft);margin:1rem auto 0;font-size:clamp(.875rem,1.8vw,1rem);font-weight:400;line-height:1.65}.topbar-actions{justify-items:end;gap:.9rem;display:grid;position:absolute;top:0;right:0}.status-pill,.mini-pill{border-radius:var(--radius-pill);font-family:var(--font-mono), monospace;letter-spacing:.2em;text-transform:uppercase;color:#f0ebe4b3;background:#060a1080;border:1px solid #ffffff0f;align-items:center;gap:.45rem;padding:.7rem 1rem;font-size:.72rem;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.locale-switcher{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#060a1080;border:1px solid #ffffff0f;gap:.55rem;padding:.35rem;display:inline-flex}.locale{border-radius:var(--radius-pill);min-width:3.35rem;color:var(--text-soft);letter-spacing:.08em;transition:transform .2s var(--transition-spring), background .16s ease, color .16s ease;background:0 0;border:none;padding:.88rem 1rem;font-size:.78rem;font-weight:600}.locale:hover{transform:translateY(-1px)}.locale.active{background:linear-gradient(135deg, var(--accent-hover), var(--accent));color:#fff8ef}.content-grid{z-index:4;grid-template-columns:1fr;gap:1rem;margin-top:1rem;display:grid;position:relative}.phase-result .content-grid{grid-template-columns:2fr 1fr;align-items:start}.phase-result .sidebar-stack{grid-template-columns:1fr}.sidebar-stack{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.stage-card,.theme-card,.info-card,.download-card,.theme-picker{color:var(--text);-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px);border:1px solid var(--line)!important;background:linear-gradient(#060a10ad,#060a10e0)!important;box-shadow:0 32px 80px #0000004d,inset 0 1px #ffffff0a!important}.stage-card{width:min(100%,820px);max-width:820px;margin:0 auto;padding:.75rem}.theme-card,.info-card,.download-card{padding:1rem}.theme-card{min-height:0}.stage-card-header{justify-content:flex-end;align-items:center;margin-bottom:.5rem;padding:0;display:flex}.stage-card-title{color:var(--text);margin-top:.25rem;font-size:1rem;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;font-weight:500;font-family:var(--font-mono), monospace;color:#d4952bcc}.sidebar-intro h2,.stage-copy h2,.review-copy h2{margin:.38rem 0 0;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:300;line-height:1.05}.sidebar-intro p,.stage-copy p,.review-copy p,.privacy-copy{color:var(--text-soft);margin:.8rem 0 0;font-size:.875rem;line-height:1.65}.kiosk-stage{border-radius:var(--radius-lg);width:100%;max-width:820px;height:calc(100vh - var(--stage-top-offset,20rem));background:#060a1080 linear-gradient(#ffffff08,#ffffff03) padding-box padding-box;border:2px solid #0000;min-height:240px;max-height:640px;margin:0 auto;transition:opacity .3s,transform .3s;position:relative;overflow:hidden}.kiosk-stage:before{content:"";border-radius:inherit;background:conic-gradient(from var(--angle), var(--accent), var(--accent-cool), #ffffff1a, var(--accent));z-index:-1;-webkit-mask-composite:xor;padding:2px;animation:20s linear infinite borderRotate;position:absolute;inset:-2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0)}.stage-video,.stage-image{object-fit:cover;width:100%;height:100%}.kiosk-stage video,.kiosk-stage img{margin:0 auto;display:block}.camera-frame,.review-shell,.result-shell,.generating-shell{position:relative}.camera-frame{cursor:pointer}.camera-file-input{display:none}.camera-buttons{z-index:5;gap:.75rem;display:flex;position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%)}.camera-upload-button{z-index:5;width:3rem;bottom:1.2rem;left:1.2rem;box-shadow:0 12px 24px #08132347;min-width:3rem!important;min-height:3rem!important;padding:0!important;position:absolute!important}.camera-overlay,.review-panel{background:linear-gradient(#0000,#060a10e6 55%,#060a10fa);gap:1rem;padding:1.4rem;display:grid;position:absolute;inset:auto 0 0}.camera-copy{max-width:40rem}.camera-copy p{color:#f0ebe4bf;max-width:38rem;margin:.7rem 0 0;line-height:1.6}.camera-copy h2,.review-copy h2{margin:.4rem 0 0;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:300;line-height:.98}.capture-rail{justify-content:space-between;align-items:end;gap:1rem;display:flex}.capture-hint{gap:.35rem;max-width:22rem;display:grid}.capture-hint strong{font-size:.9rem;font-weight:600;font-family:var(--font-mono), monospace;letter-spacing:.08em}.capture-hint span{color:var(--text-soft);font-size:.8rem;line-height:1.55}.button-row,.button-column{flex-wrap:wrap;gap:.75rem;display:flex}.button-column{flex-direction:column}.download-card .button-column{margin-top:1.35rem}.button-row button,.button-column button{min-height:3.35rem;box-shadow:0 14px 28px #d4952b26}.button-row button:disabled,.button-column button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.capture-btn{animation:2.5s ease-in-out infinite pulse;min-height:3.8rem!important;padding:1.1rem 2rem!important;font-size:1.05rem!important;font-weight:700!important}.capture-btn:hover{animation:none}.review-panel{background:linear-gradient(#060a1000,#060a1042 42%,#060a109e);align-items:end}.review-copy{text-shadow:0 2px 18px #000000a3;max-width:34rem}.privacy-inline-notice{color:#fffaf2c7;text-shadow:0 2px 14px #000000c2;max-width:42rem;margin:-.2rem 0 0;font-size:.78rem;line-height:1.55}.consent-check{color:#fffaf2eb;text-shadow:0 2px 14px #000000c2;cursor:pointer;align-items:flex-start;gap:.65rem;max-width:42rem;font-size:.82rem;line-height:1.5;display:flex}.consent-check input[type=checkbox]{width:1.5rem;height:1.5rem;accent-color:var(--accent-soft);cursor:pointer;flex:none;margin-top:.05rem}.consent-required{color:#ff5d5d;font-weight:700}.privacy-text-button{color:var(--accent-soft);cursor:pointer;text-underline-offset:.18em;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.privacy-text-button:hover{color:#fff8ef}.kiosk-footer{z-index:4;color:#f0ebe49e;justify-content:center;margin-top:.9rem;font-size:.78rem;display:flex;position:relative}.privacy-modal-backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:40;background:#060a10c2;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.privacy-modal{color:#18202b;width:min(640px,100%);max-height:min(82vh,720px);padding:1.1rem;overflow:auto;background:#fffaf2!important;border:1px solid #30261824!important;box-shadow:0 24px 80px #00000052,inset 0 1px #ffffffc7!important}.privacy-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.privacy-modal-header h2{color:#18202b;margin:.35rem 0 0;font-size:1.45rem;font-weight:650;line-height:1.1}.privacy-modal .eyebrow{color:#a56615;font-weight:700}.privacy-close-button{color:#5f4b34;cursor:pointer;background:#18202b0a;border:1px solid #18202b24;border-radius:999px;place-items:center;width:2.4rem;height:2.4rem;display:inline-grid}.privacy-close-button:hover{color:#18202b;background:#d4952b24}.privacy-modal-body{color:#334155;margin-top:1rem;font-size:.88rem;line-height:1.65}.privacy-modal-body p{color:#334155;margin:0}.privacy-facts{gap:.55rem;margin:1rem 0 0;display:grid}.privacy-facts div{border-bottom:1px solid #18202b1f;grid-template-columns:minmax(8rem,.45fr) 1fr;gap:.75rem;padding:.65rem 0;display:grid}.privacy-facts dt{color:#8a5a17;font-family:var(--font-mono), monospace;letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:700}.privacy-facts dd{color:#18202b;margin:0;font-weight:650}.privacy-bullets{color:#334155;gap:.4rem;margin:1rem 0 0;padding-left:1.1rem;display:grid}.privacy-bullets li::marker{color:#c87f1d}.privacy-full-link{color:#8a4d08;text-underline-offset:.18em;margin-top:1rem;font-weight:600;text-decoration:underline;display:inline-flex}.stage-gradient{pointer-events:none;background:linear-gradient(#0000,#00000005 56%,#00000029 82%,#0000004d);position:absolute;inset:0}.generating-shell{background-position:50%;background-size:cover;place-items:center;padding:1.5rem;display:grid}.generating-card,.state-shell{text-align:center;justify-items:center;gap:1.2rem;padding:2rem;display:grid}.state-shell{align-content:center;min-height:64vh}.event-access-form{gap:.85rem;width:min(100%,360px);display:grid}.event-access-form label{text-align:left;gap:.4rem;display:grid}.event-access-form span{color:var(--muted);font-size:.85rem}.event-access-form input{width:100%;min-height:3rem;color:var(--text);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:12px;padding:0 .9rem}.event-access-form input:focus{outline-offset:2px;outline:2px solid #d4952ba6}.error-shell{background:radial-gradient(circle at top,#d4952b1a,#0000 30%),linear-gradient(#ffffff0d,#ffffff05)}.state-mark{background:radial-gradient(circle at 30% 30%,#d4952b52,#0000 44%),#ffffff05;border:1px solid #ffffff0f;border-radius:50%;width:88px;height:88px;box-shadow:0 16px 48px #d4952b1a}.state-mark.error{background:radial-gradient(circle at 30% 30%,#ff636357,#0000 44%),#ffffff05}.error-code{width:fit-content;color:var(--muted);font-family:var(--font-mono,ui-monospace), SFMono-Regular, Consolas, monospace;background:#ffffff0f;border-radius:999px;justify-self:center;padding:.35rem .55rem;font-size:.72rem;display:inline-flex}.spinner{border:6px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;width:92px;height:92px;animation:.9s linear infinite spin;box-shadow:0 0 24px #d4952b26}.result-shell .stage-image{animation:revealBlur 1.2s var(--transition-smooth) forwards}.result-shell{background:radial-gradient(circle,#21437e1f,#0000 52%),linear-gradient(#060a10eb,#060a10fa);overflow:hidden}.result-image{object-fit:contain}.result-badge{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#060a10b3;border:1px solid #ffffff0f;gap:.2rem;padding:.85rem 1rem;display:grid;position:absolute;top:1rem;left:1rem;box-shadow:inset 0 1px #ffffff0a,0 0 32px #d4952b1f}.result-badge strong{font-size:.95rem;font-weight:600}.ai-disclosure{color:#fff3df;width:fit-content;font-family:var(--font-mono), monospace;letter-spacing:0;text-transform:uppercase;background:#d4952b21;border:1px solid #d4952b47;border-radius:999px;align-items:center;padding:.26rem .48rem;font-size:.68rem;font-weight:750;display:inline-flex}.download-card .ai-disclosure{margin-top:.45rem}.theme-list,.tips-list,.generation-steps{gap:.6rem;margin-top:1rem;display:grid}.theme-list{overscroll-behavior:contain;max-height:min(42vh,460px);padding-right:.2rem;overflow-y:auto}.theme-chip,.theme-tile{isolation:isolate;border-radius:var(--radius-md);color:var(--text);text-align:left;transition:transform .2s var(--transition-spring), border-color .16s ease, box-shadow .16s ease;background-color:#060a10cc;background-image:linear-gradient(135deg,#ffffff0d,#ffffff05),none;background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #ffffff0f;position:relative;overflow:hidden}.theme-chip{min-height:80px;padding:.75rem .9rem}.theme-chip:hover,.theme-tile:hover{transform:translateY(-1px);box-shadow:0 8px 24px #0003}.theme-chip.active,.theme-tile.active{border-color:var(--line-strong);box-shadow:0 22px 44px #00000038,inset 0 0 0 1px #d4952b26}.theme-chip-image,.theme-tile-image{object-fit:cover;z-index:0;width:100%;height:100%;transition:transform .22s,object-position .22s;position:absolute;inset:0}.theme-chip:after,.theme-tile:after{content:"";z-index:1;background:linear-gradient(#0000000a,#00000094);position:absolute;inset:0}.theme-chip-content,.theme-tile-content{z-index:2;gap:.25rem;display:grid;position:relative}.theme-chip-title{font-size:1rem;font-weight:600}.theme-chip-meta,.theme-tile-content span{color:#f0ebe4a6;font-size:.78rem}.info-card.accent{background:radial-gradient(circle at 100% 0,#d4952b1a,#0000 34%),linear-gradient(#060a10b8,#060a10e0)!important}.tip-item,.generation-step{border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff0d;padding:.75rem .9rem;font-size:.825rem;line-height:1.55}.generation-step.active{background:#d4952b12;border-color:#d4952b38}.generation-step.current{background:#d4952b1f;border-color:#d4952b66;font-weight:500}.download-card{text-align:center}.qr-link{border-radius:22px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.qr-link:focus-visible{outline-offset:5px;outline:3px solid #f59e0bb8}.qr-code{aspect-ratio:1;width:min(100%,250px);transition:transform .3s var(--transition-spring);background:#fff;border-radius:20px;margin:1.2rem auto 0;padding:.8rem;transform:rotate(0);box-shadow:0 24px 56px #00000042}.qr-placeholder{color:#111827;place-items:center;font-size:.9rem;font-weight:700;display:grid}.qr-code:hover{animation:1.8s ease-in-out infinite qrWobble}.theme-picker-backdrop{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#060a10bf;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.theme-picker{width:min(1080px,100%);max-height:min(88vh,840px);padding:1.1rem;overflow-y:auto}.theme-picker-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.2rem;display:grid}.theme-picker-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.theme-tile{align-items:end;min-height:220px;padding:1rem;display:flex}.theme-picker-grid.compact .theme-tile{min-height:176px}.countdown-overlay{z-index:10;background:#060a1099;place-items:center;display:grid;position:absolute;inset:0}.countdown-number{color:var(--text);animation:countdownPop .6s var(--transition-spring) forwards;text-shadow:0 0 60px var(--accent);font-size:8rem;font-weight:300;line-height:1}.shutter-flash{z-index:100;pointer-events:none;background:#fff;animation:.4s ease-out forwards shutterFlash;position:fixed;inset:0}.generation-progress-text{color:var(--text-soft);font-size:.8rem;font-family:var(--font-mono), monospace;letter-spacing:.05em}.phase-transition{animation:fadeIn .35s var(--transition-smooth) forwards}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.04)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes borderRotate{0%{--angle:0deg}to{--angle:360deg}}@keyframes revealBlur{0%{filter:blur(20px);opacity:0}60%{filter:blur(4px);opacity:.8}to{filter:blur();opacity:1}}@keyframes shutterFlash{0%{opacity:0}15%{opacity:.8}to{opacity:0}}@keyframes countdownPop{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes qrWobble{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-1.1deg)scale(1.01)}50%{transform:rotate(.7deg)scale(1.015)}75%{transform:rotate(-.45deg)scale(1.01)}}@media (max-width:1080px){.content-grid{grid-template-columns:1fr}.sidebar-stack{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:760px){.phase-result .content-grid{grid-template-columns:1fr}}@media (max-width:840px){.topbar{flex-direction:column;align-items:stretch}.topbar-actions{justify-items:stretch;width:100%;position:static}.status-pill,.locale-switcher{justify-content:center}.capture-rail{flex-direction:column;align-items:stretch}}@media (max-width:640px){.kiosk-shell{padding:.7rem}.experience{border-radius:28px;min-height:calc(100vh - 1.4rem);padding:.95rem}.topbar h1{max-width:none}.stage-card{padding:.4rem}.theme-card,.info-card,.download-card,.theme-picker{padding:.85rem}.kiosk-stage{height:calc(100vh - 16rem)}.camera-overlay,.review-panel{padding:1rem}.button-row,.button-column{flex-direction:column}.button-row button,.button-column button{width:100%}.privacy-facts div{grid-template-columns:1fr;gap:.3rem}}
