:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b0d12;--color-surface:#171b22;--color-elevated:#242a34;--color-text:#f4f6fb;--color-secondary:#b4bccb;--color-muted:#949eaf;--color-accent:#b8d5ff;--color-success:#a4dfc0;--color-error:#ffc2c6;--color-line:#dfe9ff1f;--glass-solid:#242a34;--glass-fill:#1e242fd1;--glass-border:#e1ecff2b;--glass-reflection:#eff5ff1a;--glass-blur:24px;--glass-saturation:115%;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-xl:36px;--radius-pill:999px;--shadow-glass:0 8px 28px #00000030, inset 0 1px 0 #ffffff12, inset 0 -1px 0 #00000026;--shadow-surface:0 24px 80px #00000040, inset 0 1px 0 #ffffff0a;--ease-system:cubic-bezier(.22, .68, .25, 1);--duration-fast:.18s;--duration-slow:.42s}*{box-sizing:border-box}html{background:var(--color-bg);font-size:16px}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;border:0}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}button,a,summary{outline-offset:4px}:focus-visible{outline:2px solid var(--color-accent)}button svg,a svg{flex-shrink:0}svg{display:block}h1,h2,p{margin:0}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.glass,.button-glass{background:var(--glass-solid);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.button-glass{background:linear-gradient(145deg, var(--glass-reflection), transparent 54%), var(--glass-fill);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation));backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation))}}.button{border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:var(--space-2);text-align:center;min-height:48px;transition:background var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast) var(--ease-system);padding:12px 21px;font-size:.9375rem;font-weight:600;line-height:1.45;display:inline-flex}.button-primary{color:#161c26;background:#edf2fa;box-shadow:0 2px 12px #0003,inset 0 1px #fff}.button-quiet{color:var(--color-text);background:0 0}.icon-button{border-radius:var(--radius-pill);width:48px;height:48px;color:var(--color-text);transition:background var(--duration-fast), transform var(--duration-fast) var(--ease-system);background:0 0;flex-shrink:0;place-items:center;padding:0;display:inline-grid}@media (hover:hover){.button-primary:hover:not(:disabled){background:#fff;box-shadow:0 3px 18px #d9e7ff18}.button-glass:hover,.button-quiet:hover:not(:disabled),.icon-button:hover:not(:disabled){background-color:#414a5b}.camera-footer a:hover,.privacy-details summary:hover{color:var(--color-text)}}.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.97)}.party-page{min-height:100svh;padding:max(var(--space-6), env(safe-area-inset-top)) max(var(--space-6), env(safe-area-inset-right)) max(var(--space-6), env(safe-area-inset-bottom)) max(var(--space-6), env(safe-area-inset-left));background:radial-gradient(at 50% 0,#19202d 0,#0b0d12 58%)}.app-header{max-width:960px;margin:0 auto var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.app-identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-icon{color:#e1eafa;border-radius:15px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.app-identity>div{min-width:0}.app-label{color:var(--color-muted);font-size:.8125rem;font-weight:500}.app-identity h1{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1rem;font-weight:600;line-height:1.4}.header-link{flex-shrink:0;font-size:.875rem}.party-content{max-width:960px;margin:auto}.booth{border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-surface);background:#11151c;overflow:hidden}.camera-frame{isolation:isolate;background:radial-gradient(at 47% 36%,#1b2330,#111720 48%,#0c1017 90%);height:clamp(280px,57svh,620px);position:relative;overflow:hidden}.camera-video,.captured-photo{object-fit:contain;background:#05070a;width:100%;height:100%;position:absolute;inset:0}.camera-video{object-fit:cover}.mirrored{transform:scaleX(-1)}.viewfinder-top{top:var(--space-5);left:var(--space-5);right:var(--space-5);justify-content:space-between;gap:var(--space-2);pointer-events:none;display:flex;position:absolute}.viewfinder-label{border-radius:var(--radius-pill);color:#e0e6f0;align-items:center;gap:7px;padding:7px 13px;font-size:.75rem;font-weight:500;display:inline-flex}.camera-empty,.frame-message{min-height:100%;padding:80px var(--space-6);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.lens-icon{width:76px;height:76px;margin-bottom:var(--space-6);color:#d7e2f4;border-radius:25px;place-items:center;display:grid}.camera-empty h2{letter-spacing:-.03em;font-size:clamp(1.125rem,2vw,1.375rem);font-weight:550;line-height:1.35}.camera-empty p{color:var(--color-secondary);max-width:260px;margin-top:var(--space-2);font-size:.875rem}.frame-message{gap:var(--space-4);color:var(--color-secondary);font-size:.875rem}.camera-controls{padding:var(--space-4) var(--space-6) var(--space-5);background:linear-gradient(#171c25,#12161e);border-top:1px solid #dce8ff0a;min-height:152px;position:relative}.camera-mode{letter-spacing:.17em;text-align:center;color:#d2def0;margin-bottom:var(--space-3);font-size:.6875rem;font-weight:600}.start-actions{justify-content:center;display:flex}.start-actions .button{min-width:210px}.camera-instruction{text-align:center;color:var(--color-muted);margin-top:var(--space-3);font-size:.75rem;line-height:1.5}.capture-controls{align-items:center;gap:var(--space-6);grid-template-columns:1fr auto 1fr;max-width:370px;margin:auto;display:grid}.shutter{color:#f5f7fc;background:0 0;border:2px solid #f5f7fc;border-radius:50%;place-items:center;width:78px;height:78px;padding:5px;display:grid}.shutter>span{width:100%;height:100%;transition:transform var(--duration-fast) var(--ease-system);background:#f5f7fc;border-radius:50%;display:block;box-shadow:inset 0 0 0 1px #fff,0 0 20px #ffffff0a}.shutter:active:not(:disabled)>span{transform:scale(.9)}.camera-tools{border-radius:var(--radius-pill);justify-self:end;padding:2px}.review-controls{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);width:fit-content;max-width:100%;margin:auto;padding:5px;display:flex}.review-controls .button{min-width:0}.camera-notices{bottom:var(--space-5);left:var(--space-5);right:var(--space-5);align-items:center;gap:var(--space-2);scrollbar-width:thin;flex-direction:column;max-height:calc(100% - 92px);display:flex;position:absolute;overflow-y:auto}.notice{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);padding:14px var(--space-4);width:fit-content;max-width:480px;animation:notice-in var(--duration-slow) var(--ease-system);flex-shrink:0;font-size:.875rem;line-height:1.5;display:flex}.notice>svg{flex-shrink:0}.notice>div,.notice>p{overflow-wrap:anywhere;min-width:0}.notice strong{font-weight:600}.notice p{color:var(--color-secondary)}.notice-success{min-width:238px}.notice-icon{color:var(--color-success);background:#a4dfc014;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.notice-error{align-items:flex-start}.notice-error>svg{color:var(--color-error);margin-top:1px}.notice-error p{color:#f4dfe3}.upload-notice{width:min(100%,400px)}.upload-notice>div{flex:1}.upload-caption{gap:3px var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.upload-caption>span{font-variant-numeric:tabular-nums;color:var(--color-secondary)}progress{appearance:none;width:100%;height:3px;margin:var(--space-2) 0 0;border-radius:var(--radius-pill);color:#d4e5ff;background:#596171;border:0;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#596171}progress::-webkit-progress-value{border-radius:var(--radius-pill);background:#d4e5ff;transition:width .2s}progress::-moz-progress-bar{background:#d4e5ff}.camera-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-3) 6px 0;color:var(--color-muted);font-size:.75rem;display:flex}.camera-footer>span,.camera-footer>a{align-items:center;gap:7px;display:inline-flex}.camera-footer>span svg{flex-shrink:0}.camera-footer>a{min-height:44px;color:var(--color-secondary);white-space:nowrap}.privacy-details{color:var(--color-muted);max-width:700px;margin:0 6px;font-size:.75rem}.privacy-details summary{cursor:pointer;align-content:center;width:fit-content;min-height:36px;display:list-item}.privacy-details p{margin-top:var(--space-1);color:var(--color-secondary);line-height:1.65}.slideshow{color:var(--color-text);background:#000;width:100%;height:100dvh;min-height:420px;position:relative;overflow:hidden}.slide-photo{object-fit:contain;width:100%;height:100%;animation:.55s ease-out slide-in;position:absolute;inset:0}.slide-controls{opacity:0;pointer-events:none;transition:opacity .36s ease-out}.show-controls .slide-controls,.slide-controls:focus-within{opacity:1;pointer-events:auto}.slide-header{top:max(var(--space-6), env(safe-area-inset-top));left:max(var(--space-6), env(safe-area-inset-left));right:max(var(--space-6), env(safe-area-inset-right));justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex;position:absolute}.slide-brand,.slide-counter{align-items:center;gap:var(--space-2);border-radius:22px;min-height:42px;padding:10px 15px;font-size:.8125rem;line-height:1.5;display:inline-flex}.slide-brand{min-width:0;max-width:min(70%,550px);font-weight:500}.slide-brand>span{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.slide-counter{color:#e1e7f1;font-variant-numeric:tabular-nums;flex-shrink:0}.slide-counter svg{color:var(--color-secondary)}.slide-footer{bottom:max(var(--space-6), env(safe-area-inset-bottom));left:var(--space-4);right:var(--space-4);align-items:center;gap:var(--space-3);flex-direction:column;display:flex;position:absolute}.playback-bar{align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-pill);max-width:100%;display:flex}.toolbar-divider{background:var(--glass-border);width:1px;height:21px;margin:0 var(--space-1);flex-shrink:0}.pause-button{color:#171c26;background:#ecf1f9}@media (hover:hover){.pause-button:hover:not(:disabled){background:#fff}}.keyboard-hint{justify-content:center;align-items:center;gap:var(--space-4);color:#aab3c3;text-shadow:0 1px 4px #000;flex-wrap:wrap;font-size:.6875rem;display:flex}.keyboard-hint>span{gap:var(--space-1);align-items:center;display:inline-flex}kbd{font:inherit}.pause-status{top:max(80px, calc(env(safe-area-inset-top) + 60px));right:max(var(--space-6), env(safe-area-inset-right));border-radius:var(--radius-pill);color:var(--color-secondary);align-items:center;gap:6px;padding:6px 11px;font-size:.6875rem;display:flex;position:absolute}.waiting-view{height:100%;padding:110px var(--space-6) 145px;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;overflow-y:auto}.waiting-view .lens-icon{width:66px;height:66px;margin-bottom:var(--space-5);border-radius:22px;flex-shrink:0}.waiting-view h2{letter-spacing:-.035em;font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:550;line-height:1.3}.waiting-view>p{color:var(--color-secondary);max-width:340px;margin-top:var(--space-2);font-size:.875rem}.waiting-qr{margin-top:var(--space-6);align-items:center;gap:var(--space-3);color:var(--color-secondary);flex-direction:column;font-size:.75rem;display:flex}.waiting-qr img{border-radius:var(--radius-sm);background:#fff;display:block}.slide-notice{top:max(84px, calc(env(safe-area-inset-top) + 70px));gap:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);align-items:flex-start;width:max-content;max-width:min(480px,100% - 32px);font-size:.8125rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.slide-notice>svg{flex-shrink:0;margin-top:2px}.slide-notice p{overflow-wrap:anywhere}.qr-page{min-height:100svh;padding:max(var(--space-6), env(safe-area-inset-top)) max(var(--space-5), env(safe-area-inset-right)) max(var(--space-8), env(safe-area-inset-bottom)) max(var(--space-5), env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 0, #1c2432, var(--color-bg) 60%)}.qr-header{justify-content:space-between;align-items:center;gap:var(--space-4);max-width:720px;margin:0 auto var(--space-8);display:flex}.qr-header>span{color:var(--color-muted);font-size:.8125rem}.qr-poster{max-width:560px;padding:var(--space-10) var(--space-8);border-radius:var(--radius-xl);text-align:center;margin:0 auto}.qr-emblem{margin:0 auto var(--space-5);color:#cedaf0;place-items:center;display:grid}.eyebrow{color:var(--color-secondary);overflow-wrap:anywhere;font-size:.8125rem;font-weight:500}.qr-poster h1{letter-spacing:-.045em;margin:var(--space-3) 0 var(--space-4);font-size:clamp(1.625rem,4vw,2.125rem);font-weight:600;line-height:1.2}.qr-description{color:var(--color-secondary);font-size:.9375rem;line-height:1.6}.qr-code-paper{padding:var(--space-2);margin:var(--space-8) auto var(--space-5);background:#fff;border-radius:20px;width:fit-content;max-width:100%;box-shadow:0 8px 24px #0002}.qr-code-paper img{width:100%;max-width:250px;height:auto;display:block}.qr-url{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:1rem;font-weight:550}.qr-footnote{color:var(--color-muted);margin-top:var(--space-2);font-size:.8125rem}.qr-actions{justify-content:center;align-items:center;gap:var(--space-2);margin:var(--space-6) auto var(--space-4);flex-wrap:wrap;display:flex}.qr-instructions{text-align:center;max-width:380px;color:var(--color-muted);margin:auto;font-size:.75rem}.simple-page{max-width:560px;padding:var(--space-8);margin:16svh auto}.simple-page h1{letter-spacing:-.04em;font-size:1.75rem;font-weight:600;line-height:1.2}.simple-page p{color:var(--color-secondary);margin:var(--space-4) 0 var(--space-6)}.spin{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes notice-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0}to{opacity:1}}@media (max-width:600px){.party-page{padding:max(var(--space-4), env(safe-area-inset-top)) max(var(--space-3), env(safe-area-inset-right)) max(var(--space-4), env(safe-area-inset-bottom)) max(var(--space-3), env(safe-area-inset-left))}.app-header{margin-bottom:var(--space-4);gap:var(--space-3);padding:0 var(--space-1)}.app-identity{gap:var(--space-2)}.app-icon{border-radius:13px;width:38px;height:38px}.app-identity h1{font-size:.875rem}.app-label{font-size:.75rem}.header-link{width:46px;height:46px;min-height:46px;padding:0}.header-link>span{display:none}.booth{border-radius:var(--radius-lg)}.camera-frame{height:clamp(270px,52svh,600px)}.viewfinder-top{top:var(--space-4);left:var(--space-4);right:var(--space-4)}.camera-empty{padding:70px var(--space-5)}.camera-empty .lens-icon{width:66px;height:66px;margin-bottom:var(--space-5);border-radius:23px}.camera-empty h2{font-size:1.125rem}.camera-empty p{font-size:.8125rem}.camera-controls{padding:var(--space-3) var(--space-4) var(--space-4);min-height:141px}.camera-mode{margin-bottom:var(--space-3)}.camera-notices{left:var(--space-3);right:var(--space-3);bottom:var(--space-3)}.notice{max-width:100%;padding:var(--space-3);font-size:.8125rem}.review-controls{width:100%}.review-controls .button{flex:1;gap:6px;padding:12px 10px;font-size:.8125rem}.camera-instruction{font-size:.6875rem}.camera-footer{margin-top:var(--space-2);gap:var(--space-2);font-size:.6875rem}.camera-footer>span{max-width:230px;line-height:1.5}.privacy-details{font-size:.6875rem}.slide-header{top:max(var(--space-4), env(safe-area-inset-top));left:max(var(--space-3), env(safe-area-inset-left));right:max(var(--space-3), env(safe-area-inset-right));gap:var(--space-2)}.slide-brand{max-width:70%;padding:9px 12px;font-size:.75rem}.slide-counter{padding:9px 12px;font-size:.75rem}.slide-counter svg{display:none}.slide-footer{bottom:max(var(--space-5), env(safe-area-inset-bottom));left:var(--space-2);right:var(--space-2)}.playback-bar{gap:2px;padding:6px}.playback-bar .icon-button{width:46px;height:46px}.toolbar-divider{margin:0 3px}.keyboard-hint{display:none}.pause-status{top:70px;right:var(--space-3)}.waiting-view{padding:130px var(--space-5) 105px}.waiting-view h2{font-size:1.25rem}.waiting-view>p{max-width:260px;font-size:.8125rem}.waiting-view .lens-icon{border-radius:20px;width:56px;height:56px}.slide-notice{top:max(84px, calc(env(safe-area-inset-top) + 70px))}.qr-header{margin-bottom:var(--space-6)}.qr-poster{border-radius:var(--radius-lg);padding:var(--space-8) var(--space-5)}.qr-poster h1{font-size:1.625rem}.qr-code-paper{margin-top:var(--space-6)}.qr-code-paper img{max-width:220px}.qr-actions .button{padding:12px 16px;font-size:.8125rem}}@media (max-width:350px){.app-icon{display:none}.review-controls{border-radius:var(--radius-md);flex-wrap:wrap}.review-controls .button{flex:1 0 100%}.camera-footer{align-items:flex-start}.camera-footer>span{padding-top:10px}.playback-bar .icon-button{width:44px;height:44px}.playback-bar{gap:0}.toolbar-divider{margin:0 2px}.desktop-break{display:none}}@media (max-height:600px) and (min-width:601px){.camera-frame{height:310px}.waiting-view{padding-top:90px;padding-bottom:110px}.waiting-view .lens-icon{display:none}.waiting-qr{margin-top:var(--space-3)}.waiting-qr img{width:96px;height:96px}.waiting-view h2{font-size:1.125rem}}@media (prefers-reduced-transparency:reduce){.glass,.button-glass{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}.party-page,.qr-page,.camera-controls{background:var(--color-bg)}.camera-frame{background:var(--color-surface)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-contrast:more){:root{--color-secondary:#e2e7f0;--color-muted:#cbd3e1;--glass-border:#94a0b5;--color-line:#68758c}.glass,.button-glass{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (forced-colors:active){.glass,.booth,.button,.shutter,.icon-button{border:1px solid buttontext}.shutter>span{background:buttontext}.qr-code-paper,.qr-code-paper img,.waiting-qr img{forced-color-adjust:none}}@page{size:A4;margin:18mm}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,.qr-page{color:#000!important;background:#fff!important}.no-print{display:none!important}.qr-page{min-height:0;padding:0}.qr-poster{max-width:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;break-inside:avoid;background:#fff;border:0;border-radius:0;margin:0;padding:18mm 4mm}.qr-poster .eyebrow,.qr-description,.qr-footnote{color:#333}.qr-poster .eyebrow{font-size:12pt}.qr-poster h1{font-size:28pt}.qr-description{font-size:12pt}.qr-code-paper{width:76mm;max-width:none;box-shadow:none;border-radius:0;margin:13mm auto 8mm;padding:0}.qr-code-paper img{width:76mm;max-width:none;height:76mm}.qr-url{color:#000;font-size:16pt}.qr-footnote{font-size:10pt}}
