:root{--paper:#fdf1f4;--mat:#fffafb;--ink:#3d1f2a;--ink-3:#96707c;--accent:#e0457b;--on-accent:#fffafb;--grain-blend:multiply;--paper-2:color-mix(in srgb, var(--paper) 94%, var(--ink));--paper-3:color-mix(in srgb, var(--paper) 88%, var(--ink));--ink-2:color-mix(in srgb, var(--ink) 58%, var(--ink-3));--booth:color-mix(in srgb, var(--paper) 8%, black);--booth-2:color-mix(in srgb, var(--paper) 13%, black);--booth-3:color-mix(in srgb, var(--paper) 18%, black);--accent-2:#f5b800;--ok:#1f9d55;--warn:#d98200;--font-display:"Anton", "Arial Black", "Helvetica Neue", sans-serif;--font-mono:"Space Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-body:"Space Grotesk", "Helvetica Neue", Arial, sans-serif;--shadow-hard:4px 4px 0 var(--ink);--shadow-hard-lg:7px 7px 0 var(--ink);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--grain-opacity:.16}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}h1,h2,h3,p,figure{margin:0}button,input{font:inherit;color:inherit}img,video,canvas{max-width:100%;display:block}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}::selection{background:var(--accent);color:var(--on-accent)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grain{z-index:900;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend,multiply);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");animation:.9s step-end infinite grain-shift;position:fixed;inset:-120px}@keyframes grain-shift{0%{transform:translate(0)}20%{transform:translate(-6%,4%)}40%{transform:translate(4%,-5%)}60%{transform:translate(-3%,-3%)}80%{transform:translate(5%,3%)}to{transform:translate(0)}}.display{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;margin:0;font-weight:400;line-height:.84}.eyebrow{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3);font-size:clamp(.62rem,1.6vw,.75rem)}.label{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;font-size:.68rem}.lede{font-size:clamp(1.05rem,3.4vw,1.5rem);font-weight:500;line-height:1.35}.btn{--btn-bg:transparent;--btn-fg:var(--ink);--btn-shadow:var(--ink);background:var(--btn-bg);min-height:54px;color:var(--btn-fg);border:2px solid var(--ink);box-shadow:var(--shadow-hard);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;text-align:center;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .13s var(--ease-out), box-shadow .13s var(--ease-out), background-color .2s ease, color .2s ease;justify-content:center;align-items:center;gap:.65em;padding:.95rem 1.7rem;font-size:clamp(.8rem,2.4vw,.9rem);font-weight:700;text-decoration:none;display:inline-flex;position:relative}.btn:hover:not(:disabled){box-shadow:var(--shadow-hard-lg);transform:translate(-2px,-2px)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--ink);transform:translate(4px,4px)}.btn:disabled{cursor:not-allowed;opacity:.42;box-shadow:2px 2px 0 var(--ink)}.btn--solid{--btn-bg:var(--ink);--btn-fg:var(--paper)}.btn--accent{--btn-bg:var(--accent);--btn-fg:var(--on-accent);border-color:var(--ink)}.btn--wide{width:100%}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink)}.btn--onDark{border-color:var(--paper);box-shadow:4px 4px 0 color-mix(in srgb, var(--paper) 35%, transparent);color:var(--paper)}.btn--paper{--btn-bg:var(--paper);--btn-fg:var(--ink);--btn-shadow:var(--paper);border-color:var(--paper)}.btn--onDark:disabled{box-shadow:2px 2px 0 color-mix(in srgb, var(--paper) 20%, transparent)}.iconbtn{width:44px;height:44px;color:inherit;cursor:pointer;font-family:var(--font-mono);transition:background-color .18s ease, color .18s ease, transform .13s var(--ease-out);-webkit-tap-highlight-color:transparent;background:0 0;border:2px solid;place-items:center;padding:0;font-size:.9rem;line-height:1;display:inline-grid}.iconbtn:active{transform:scale(.92)}.iconbtn[aria-pressed=true]{background:currentColor}.iconbtn[aria-pressed=true] span{mix-blend-mode:difference;color:#fff}#sound-btn[aria-pressed=true]{color:var(--accent);background:0 0}.bar__leave[data-armed=true]{background:var(--accent);border-color:var(--accent);color:var(--paper)}#sound-btn[aria-pressed=true] span{mix-blend-mode:normal;color:inherit;text-decoration:line-through 2px}#mic-btn[aria-pressed=true],#result-mic-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--paper)}.voice-audio{display:none}#app{z-index:1;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;align-content:safe center;place-items:safe center center;height:100dvh;padding:clamp(12px,3vw,32px);display:grid;position:relative;overflow-y:auto}#app::-webkit-scrollbar{width:0;height:0;display:none}.shell{width:min(1080px,100%);position:relative}.screen{display:none}.screen.is-active{animation:screen-in .5s var(--ease-out) both}.screen:not(.is-active){display:none!important}@keyframes screen-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.corners{pointer-events:none;position:absolute;inset:0}.corners i{border:3px solid;width:clamp(22px,4vw,38px);height:clamp(22px,4vw,38px);position:absolute}.corners i:first-child{border-bottom:0;border-right:0;top:0;left:0}.corners i:nth-child(2){border-bottom:0;border-left:0;top:0;right:0}.corners i:nth-child(3){border-top:0;border-right:0;bottom:0;left:0}.corners i:nth-child(4){border-top:0;border-left:0;bottom:0;right:0}.filmstrip{background-color:var(--ink);background-image:repeating-linear-gradient(to right, var(--paper) 0 11px, transparent 11px 30px), repeating-linear-gradient(to right, var(--paper) 0 11px, transparent 11px 30px);background-position:0 5px,0 calc(100% - 5px);background-repeat:repeat-x,repeat-x;background-size:100% 9px,100% 9px;height:30px}.filmstrip--light{background-color:var(--paper-3)}.landing{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-hard-lg);flex-direction:column;gap:clamp(14px,min(4vw,3vh),34px);min-height:min(78dvh,720px);padding:clamp(16px,min(4vw,3.4vh),34px);display:flex;position:relative;overflow:hidden}.landing:before{content:"";background-image:linear-gradient(color-mix(in srgb, var(--ink) 4.5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ink) 4.5%, transparent) 1px, transparent 1px);pointer-events:none;background-size:44px 44px;position:absolute;inset:0}.landing>*{position:relative}.landing__meta{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;gap:1rem;font-size:clamp(.6rem,1.7vw,.72rem);display:flex}.landing__meta .rec{color:var(--accent);align-items:center;gap:.5em;font-weight:700;display:inline-flex}.rec:before{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px;animation:1.4s step-end infinite rec-blink}@keyframes rec-blink{0%,55%{opacity:1}56%,to{opacity:.15}}.landing__body{flex-direction:column;flex:1;justify-content:center;gap:clamp(12px,min(3vw,2.6vh),26px);padding:clamp(4px,min(2vw,1.8vh),20px) 0;display:flex}.landing__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(3.6rem,min(17vw,17vh),11.5rem);font-weight:400;line-height:.8}.landing__title span{display:block}.landing__title .outline{color:#0000;-webkit-text-stroke:clamp(1.5px, .35vw, 3px) var(--ink)}.landing__lede{max-width:24ch;font-size:clamp(1.05rem,3.2vw,1.6rem);font-weight:500;line-height:1.3}.landing__lede em{background:linear-gradient(transparent 62%, var(--accent-2) 62%, var(--accent-2) 92%, transparent 92%);font-style:normal}.landing__actions{flex-wrap:wrap;gap:clamp(10px,2vw,16px);margin-top:clamp(4px,2vw,12px);display:flex}@media (width>=561px){.landing__actions{max-width:min(540px,52%)}.landing .contact-sheet{max-width:min(520px,52%)}}.landing__actions .btn{flex:220px}.landing__resume{border:2px dashed var(--ink-3);background:color-mix(in srgb, var(--accent-2) 16%, transparent);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;font-size:.74rem;display:flex}.landing__resume strong{letter-spacing:.3em;font-size:1.1rem}.landing__resume .btn{min-height:44px;margin-left:auto;padding:.55rem 1.1rem}.landing__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.privacy{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);align-items:flex-start;gap:.55em;font-size:clamp(.62rem,1.7vw,.74rem);display:inline-flex}.privacy:before{content:"";background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px;margin-top:.3em}.stamp{font-family:var(--font-mono);color:var(--accent);letter-spacing:.18em;text-shadow:0 0 12px color-mix(in srgb, var(--accent) 35%, transparent);font-size:clamp(.66rem,1.8vw,.8rem);font-weight:700}.colophon{text-align:center;width:100%;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:clamp(.58rem,1.6vw,.7rem)}.colophon__tip{color:var(--accent);border-bottom:1px dashed;text-decoration:none}.colophon__tip:hover,.colophon__tip:focus-visible{color:var(--ink)}.landing__hero{gap:inherit;flex-direction:column;flex:1;min-height:0;display:flex}.landing__hero>.fly{z-index:0}.landing__hero>:not(.fly){z-index:1;position:relative}.fly{pointer-events:none;--px:0px;--py:0px;position:absolute;inset:0;overflow:hidden}.fly__slot{left:var(--x,72%);top:var(--y,40%);width:calc(var(--w,196px) * var(--k,1));background:var(--mat);border:2px solid var(--ink);box-shadow:var(--shadow-hard);rotate:var(--r,0deg);translate:calc(var(--px) * var(--d,.7)) calc(var(--py) * var(--d,.7));z-index:var(--z,7);animation:fly-appear .7s var(--ease-out) both var(--delay,0s), fly-drift var(--dur,8s) ease-in-out infinite var(--delay,0s);margin:0;padding:5px;position:absolute}.fly__slot img{width:100%;height:auto;display:block}.fly__slot.is-far{--o:.62;filter:blur(1.5px)}@keyframes fly-appear{0%{opacity:0}to{opacity:var(--o,1)}}@keyframes fly-drift{0%,to{transform:translateY(-7px)rotate(-1.6deg)}50%{transform:translateY(8px)rotate(1.8deg)}}@media (width<=899px){.fly{--k:.82}.fly__slot[data-view=wide]{display:none}}@media (width<=560px){.fly{--k:.58;height:clamp(124px,34vw,156px);inset:auto 0 0}.landing__hero{padding-bottom:clamp(124px,34vw,156px)}.fly__slot[data-view=mid]{display:none}}@media (prefers-reduced-motion:reduce){.fly__slot{animation:none;translate:none}}.howto{border-top:2px dashed color-mix(in srgb, var(--ink) 35%, transparent);gap:clamp(16px,3vw,26px);padding-top:clamp(18px,3.5vw,32px);display:grid}.howto__head{gap:.55rem;max-width:62ch;display:grid}.howto__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.01em;margin:0;font-size:clamp(1.75rem,5vw,3rem);font-weight:400;line-height:.95}.howto__lede{max-width:54ch;color:var(--ink-2);margin:0;font-size:clamp(.94rem,2.2vw,1.05rem)}.howto__steps{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:clamp(12px,2.2vw,20px);margin:0;padding:0;list-style:none;display:grid}.howto__step{border:2px solid var(--ink);background:color-mix(in srgb, var(--mat) 32%, transparent);box-shadow:var(--shadow-hard);align-items:flex-start;gap:.8rem;padding:clamp(14px,2.4vw,18px);display:flex}.howto__n{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);border:1.5px solid;flex:none;margin-top:.15em;padding:.2em .45em;font-size:.66rem;font-weight:700}.howto__text{min-width:0}.howto__step h3{font-family:var(--font-body);letter-spacing:-.01em;margin:0 0 .3rem;font-size:clamp(.98rem,2.3vw,1.08rem);font-weight:700;line-height:1.25}.howto__step p{color:var(--ink-2);margin:0;font-size:clamp(.86rem,2vw,.94rem);line-height:1.5}.howto__step em{font-style:normal;font-family:var(--font-mono);background:color-mix(in srgb, var(--accent-2) 35%, transparent);padding:0 .25em;font-size:.92em}.howto__notes{border-top:1px solid color-mix(in srgb, var(--ink) 20%, transparent);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding-top:clamp(10px,2vw,14px);font-size:clamp(.6rem,1.6vw,.7rem);list-style:none;display:flex}.howto__notes li{align-items:baseline;gap:.45em;display:inline-flex}.howto__notes li:before{content:"";background:var(--accent);flex:none;width:6px;height:6px;transform:translateY(-1px)}.contact-sheet{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:min(520px,100%);display:grid}.contact-sheet span{aspect-ratio:4/3;border:2px solid var(--ink);background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--ink) 8%, transparent) 0 6px, transparent 6px 12px);position:relative}.contact-sheet span:after{content:attr(data-n);font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-3);font-size:.55rem;position:absolute;bottom:3px;right:5px}.card{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-hard-lg);text-align:center;flex-direction:column;gap:clamp(16px,3vw,26px);padding:clamp(22px,5vw,44px);display:flex;position:relative}.card__head{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;gap:1rem;font-size:.66rem;display:flex}.card__leave{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:center;gap:.4em;padding:0;display:inline-flex}.card__leave:hover,.card__leave:focus-visible{color:var(--ink)}.ticket{background:var(--mat);border-left:2px solid var(--ink);border-right:2px solid var(--ink);margin:6px 0;padding:clamp(22px,5vw,34px) clamp(16px,4vw,30px);position:relative}.ticket:before,.ticket:after{content:"";background-color:var(--paper);background-image:radial-gradient(circle at 10px 10px, var(--paper) 9.5px, transparent 10px);background-repeat:repeat-x;background-size:20px 20px;border-left:2px solid #0000;border-right:2px solid #0000;height:16px;position:absolute;left:-2px;right:-2px}.ticket:before{top:-8px;transform:rotate(180deg)}.ticket:after{bottom:-8px}.ticket__label{font-family:var(--font-mono);letter-spacing:.34em;text-transform:uppercase;color:var(--ink-3);font-size:.7rem}.ticket__code{font-family:var(--font-display);letter-spacing:.12em;text-indent:.12em;margin:.15em 0;font-size:clamp(3.4rem,15vw,6.5rem);line-height:1}.ticket__hint{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);font-size:clamp(.62rem,1.8vw,.74rem)}.perf{border-top:2px dashed color-mix(in srgb, var(--ink) 40%, transparent);margin:clamp(12px,3vw,18px) 0}.ticket__meta{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;margin-top:14px;font-size:.6rem;display:flex}.card__form{flex-direction:column;gap:clamp(14px,3vw,20px);display:flex}.card__actions{flex-direction:column;gap:12px;display:flex}@media (width>=560px){.card__actions--split{flex-flow:wrap}.card__actions--split>*{flex:140px}}.copied-flag{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ok);min-height:1.1em;font-size:.68rem}.copied-flag:empty{display:none}.join__label{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);font-size:clamp(.7rem,2vw,.82rem);display:block}.join__input{border:0;border-bottom:3px solid var(--ink);width:100%;font-family:var(--font-display);letter-spacing:.16em;text-indent:.16em;text-align:center;text-transform:uppercase;outline-offset:4px;background:0 0;padding:.08em .2em .14em;font-size:clamp(2.6rem,13vw,5rem);line-height:1.1}.join__input::placeholder{color:var(--paper-3);opacity:1}.join__input:focus{border-bottom-color:var(--accent)}.join__msg{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;min-height:1.4em;color:var(--accent);font-size:.78rem}.join__hint{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.66rem}.perm{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-hard-lg);text-align:center;flex-direction:column;align-items:center;gap:clamp(14px,3vw,22px);padding:clamp(28px,7vw,64px) clamp(20px,5vw,48px);display:flex;position:relative}.perm__lens{aspect-ratio:1;border:3px solid var(--ink);background:var(--paper-2);border-radius:50%;place-items:center;width:clamp(96px,24vw,148px);display:grid;position:relative}.perm__lens:before{content:"";border:2px dashed color-mix(in srgb, var(--ink) 45%, transparent);border-radius:50%;animation:14s linear infinite lens-spin;position:absolute;inset:12px}.perm__lens:after{content:"";background:radial-gradient(circle at 34% 30%,#6d665a,#17150f 70%);border-radius:50%;position:absolute;inset:30px}.perm__lens.is-error{border-color:var(--accent)}@keyframes lens-spin{to{transform:rotate(360deg)}}.perm h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;font-size:clamp(2.1rem,8vw,4rem);font-weight:400;line-height:.9}.perm p{max-width:30ch;color:var(--ink-2)}.perm .btn{min-width:min(280px,100%)}.perm__actions{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.perm__note{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.66rem}.booth{border:3px solid var(--ink);background:var(--booth);color:var(--paper);box-shadow:var(--shadow-hard-lg);flex-direction:column;min-height:min(86dvh,860px);display:flex;position:relative;overflow:hidden}.bar{border-bottom:2px solid color-mix(in srgb, var(--paper) 16%, transparent);background:var(--booth-2);align-items:center;gap:clamp(8px,2vw,16px);padding:clamp(10px,2vw,16px) clamp(12px,3vw,22px);display:flex}.bar__brand{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:clamp(1rem,3vw,1.35rem)}.bar__tools{align-items:center;gap:8px;margin-left:auto;display:flex}.chip{border:2px solid color-mix(in srgb, var(--paper) 35%, transparent);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.5em;padding:.4em .7em;font-size:clamp(.6rem,1.7vw,.72rem);display:inline-flex}.chip--room{border-color:var(--accent-2);color:var(--accent-2)}.status{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 75%, transparent);align-items:center;gap:.6em;min-width:0;font-size:clamp(.58rem,1.7vw,.72rem);display:inline-flex}.status__dot{background:currentColor;border-radius:50%;flex:none;width:10px;height:10px}.status[data-tone=waiting]{color:var(--accent-2)}.status[data-tone=waiting] .status__dot{animation:1.5s ease-in-out infinite pulse}.status[data-tone=ok]{color:#6ee7a5}.status[data-tone=ok] .status__dot{animation:2.4s ease-in-out infinite pulse}.status[data-tone=busy]{color:#8ecbff}.status[data-tone=busy] .status__dot{animation:.7s ease-in-out infinite pulse}.status[data-tone=error]{color:#ff8b6b}@keyframes pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0}50%{opacity:.6;transform:scale(.82);box-shadow:0 0 0 5px #0000}}.status__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stage{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1fr;align-content:stretch;gap:clamp(8px,1.6vw,16px);width:100%;max-width:940px;min-height:0;margin:0 auto;padding:clamp(12px,3vw,24px);display:grid}.cam{aspect-ratio:3/4;background:var(--booth-3);border:2px solid color-mix(in srgb, var(--paper) 28%, transparent);align-self:center;width:100%;height:100%;margin:0;animation:5.5s ease-in-out infinite frame-breathe;position:relative;overflow:hidden}@media (width>=720px){.cam{aspect-ratio:4/3}}@keyframes frame-breathe{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--paper) 0%, transparent);transform:scale(1)}50%{box-shadow:0 0 0 1px color-mix(in srgb, var(--paper) 22%, transparent);transform:scale(1.004)}}.cam video{object-fit:cover;filter:contrast(1.04)saturate(.96);background:#000;width:100%;height:100%;transform:scaleX(-1)}.cam__label{background:color-mix(in srgb, var(--ink) 82%, transparent);border:1px solid color-mix(in srgb, var(--paper) 40%, transparent);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;z-index:3;align-items:center;gap:.5em;padding:.35em .6em;font-size:clamp(.56rem,1.6vw,.7rem);font-weight:700;display:inline-flex;position:absolute;top:8px;left:8px}.cam__label:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.cam[data-side=partner] .cam__label:before{background:var(--accent-2)}.cam__rec{z-index:3;font-family:var(--font-mono);letter-spacing:.2em;color:var(--accent);font-size:clamp(.54rem,1.5vw,.66rem);font-weight:700;animation:1.4s step-end infinite rec-blink;position:absolute;top:8px;right:8px}.cam__mic{z-index:3;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--paper);background:color-mix(in srgb, var(--booth) 74%, transparent);border:1px solid var(--accent);align-items:center;gap:.4em;padding:.25em .55em;font-size:clamp(.54rem,1.5vw,.66rem);font-weight:700;display:inline-flex;position:absolute;top:8px;right:8px}.cam__mic span{color:var(--accent);animation:1.4s step-end infinite rec-blink}.cam__guide{z-index:2;pointer-events:none;border:1.5px dashed color-mix(in srgb, var(--paper) 42%, transparent);transition:left .25s var(--ease-out), top .25s var(--ease-out), width .25s var(--ease-out), height .25s var(--ease-out);position:absolute;inset:6%}.cam__empty{z-index:1;text-align:center;background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--paper) 5%, transparent) 0 8px, transparent 8px 16px);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 50%, transparent);place-items:center;gap:.5rem;padding:1rem;font-size:clamp(.6rem,1.7vw,.74rem);display:grid;position:absolute;inset:0}.cam.is-live .cam__empty{display:none}.cam.is-waiting .cam__empty span{animation:1.6s ease-in-out infinite pulse}.cam__still{z-index:4;object-fit:cover;width:100%;height:100%;animation:still-in .42s var(--ease-out) both;position:absolute;inset:0}@keyframes still-in{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.cam.is-frozen:after{content:"";z-index:5;background:color-mix(in srgb, var(--ink) 28%, transparent);animation:freeze-out .7s var(--ease-out) both;position:absolute;inset:0}@keyframes freeze-out{0%{opacity:1}to{opacity:0}}.rail{flex-wrap:wrap;justify-content:center;gap:clamp(6px,1.4vw,12px);padding:0 clamp(12px,3vw,24px) clamp(4px,1.5vw,10px);display:flex}.rail__pair{flex-direction:column;align-items:center;gap:4px;display:flex}.rail__slots{gap:4px;display:flex}.rail__slot{aspect-ratio:4/3;border:1px solid color-mix(in srgb, var(--paper) 30%, transparent);background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--paper) 7%, transparent) 0 5px, transparent 5px 10px);background-position:50%;background-size:cover;width:clamp(30px,8vw,54px);transition:border-color .3s;overflow:hidden}.rail__slot.is-filled{background-color:var(--booth-2);border-color:var(--accent-2);animation:slot-fill .5s var(--ease-spring) both}@keyframes slot-fill{0%{opacity:0;transform:translateY(-8px)rotate(-3deg)}to{opacity:1;transform:none}}.rail__num{font-family:var(--font-mono);letter-spacing:.18em;color:color-mix(in srgb, var(--paper) 42%, transparent);font-size:.58rem}.rail__pair.is-current .rail__num{color:var(--accent-2)}.rail__pair.is-current .rail__slot{border-color:color-mix(in srgb, var(--accent-2) 75%, transparent)}.deck{border-top:2px solid color-mix(in srgb, var(--paper) 16%, transparent);background:var(--booth-2);text-align:center;flex-direction:column;align-items:center;gap:clamp(10px,2.2vw,16px);margin-top:auto;padding:clamp(14px,3vw,24px);display:flex}.ready{justify-content:center;align-items:stretch;gap:clamp(8px,2vw,18px);width:100%;max-width:620px;display:flex}.ready__col{border:2px solid color-mix(in srgb, var(--paper) 22%, transparent);background:color-mix(in srgb, var(--ink) 40%, transparent);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 6px;transition:border-color .3s,background-color .3s;display:flex}.ready__name{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 60%, transparent);font-size:clamp(.6rem,1.7vw,.72rem)}.ready__state{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:clamp(.72rem,2vw,.88rem);font-weight:700}.ready__col.is-ready{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 16%, transparent)}.ready__col.is-ready .ready__state{color:#6ee7a5}.ready__col:not(.is-ready) .ready__state{color:color-mix(in srgb, var(--paper) 45%, transparent)}.deck__hint{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 66%, transparent);min-height:1.3em;font-size:clamp(.66rem,1.9vw,.8rem);transition:color .25s}.deck__hint.is-live{color:var(--accent-2)}.deck__row{text-align:left;justify-content:space-between;align-items:center;gap:clamp(10px,3vw,20px);width:100%;max-width:620px;display:flex}.deck__primary{width:min(340px,100%)}.deck__primary .btn{width:100%;min-height:60px;font-size:clamp(.85rem,2.6vw,1rem)}.deck .privacy{color:color-mix(in srgb, var(--paper) 45%, transparent)}.deck .privacy:before{background:var(--ok)}.framecount{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;align-items:baseline;gap:.5em;display:inline-flex}.framecount__label{color:color-mix(in srgb, var(--paper) 55%, transparent);font-size:clamp(.6rem,1.7vw,.7rem)}.framecount__value{font-family:var(--font-display);color:var(--accent-2);font-size:clamp(1.4rem,5vw,2rem);display:inline-block}.framecount__value.is-bump{animation:bump .4s var(--ease-spring)}@keyframes bump{0%{opacity:0;transform:translateY(60%)scale(.7)}to{opacity:1;transform:none}}.countdown{z-index:40;background:color-mix(in srgb, var(--booth) 72%, transparent);backdrop-filter:blur(2px);place-items:center;display:grid;position:absolute;inset:0}.countdown__stack{text-align:center;place-items:center;display:grid}.countdown__num{font-family:var(--font-display);color:var(--paper);text-shadow:0 0 60px color-mix(in srgb, var(--accent-2) 35%, transparent);animation:count-pop 1s var(--ease-out) both;font-size:clamp(7rem,34vw,17rem);line-height:.85}.countdown__num.is-flash{color:var(--accent);letter-spacing:.1em;text-shadow:none;animation:count-flash .6s var(--ease-out) both;font-size:clamp(3.4rem,16vw,8rem)}.countdown__sub{font-family:var(--font-mono);letter-spacing:.3em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 60%, transparent);margin-top:1.4rem;font-size:clamp(.66rem,2vw,.8rem)}.countdown__mission{max-width:26ch;font-family:var(--font-body);color:var(--paper);background:color-mix(in srgb, var(--booth) 55%, transparent);border:1px dashed color-mix(in srgb, var(--paper) 45%, transparent);animation:mission-in .4s var(--ease-out) both;border-radius:3px;margin-top:1.5rem;padding:.7em 1.05em;font-size:clamp(1rem,3.4vw,1.3rem);font-weight:500;line-height:1.3}@keyframes mission-in{0%{opacity:0;transform:translateY(8px)rotate(-.5deg)}to{opacity:1;transform:none}}@keyframes count-pop{0%{opacity:0;filter:blur(6px);transform:scale(1.7)}22%{opacity:1;filter:blur();transform:scale(1)}76%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.88)}}@keyframes count-flash{0%{opacity:0;transform:scale(.6)rotate(-4deg)}40%{opacity:1;transform:scale(1.06)rotate(0)}to{opacity:1;transform:scale(1)}}.flash{z-index:950;opacity:0;pointer-events:none;background:#fff;position:fixed;inset:0}.flash.is-on{animation:.5s ease-out both shutter}@keyframes shutter{0%{opacity:0}4%{opacity:1}to{opacity:0}}.review{z-index:35;background:color-mix(in srgb, var(--booth) 90%, transparent);place-items:center;padding:clamp(14px,4vw,30px);display:grid;position:absolute;inset:0}.review__inner{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(640px,100%);display:flex}.review__title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.6rem,6vw,2.6rem)}.review__title span{color:var(--accent-2)}.review__pair{grid-template-columns:1fr 1fr;gap:10px;width:100%;display:grid}.review__shot{border:2px solid color-mix(in srgb, var(--paper) 40%, transparent);background:var(--booth-3);aspect-ratio:4/3;position:relative;overflow:hidden}.review__shot img{object-fit:cover;width:100%;height:100%;animation:print-slide .55s var(--ease-out) both}.review__shot:nth-child(2) img{animation-delay:.12s}@keyframes print-slide{0%{opacity:0;transform:translateY(26px)rotate(1.5deg)}to{opacity:1;transform:none}}.review__cap{font-family:var(--font-mono);letter-spacing:.16em;background:color-mix(in srgb, var(--ink) 85%, transparent);padding:.3em .5em;font-size:.6rem;font-weight:700;position:absolute;bottom:6px;left:6px}.review__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.review__status{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);min-height:1.2em;font-size:.68rem}.review__next{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--paper) 45%, transparent);font-size:.64rem}.receiving{align-items:center;gap:.55em;display:inline-flex}.receiving:after{content:"";background:linear-gradient(90deg, var(--accent-2) 0 30%, color-mix(in srgb, var(--paper) 20%, transparent) 30% 100%);background-size:200% 100%;width:42px;height:4px;animation:1.1s linear infinite recv}@keyframes recv{to{background-position:-200% 0}}.result{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-hard-lg);text-align:center;flex-direction:column;align-items:center;gap:clamp(10px,min(3vw,1.5vh),18px);padding:clamp(16px,min(4vw,3vh),40px);display:flex;position:relative}.result__title{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(2rem,min(8vw,6vh),4rem);line-height:.9}.print{background:var(--mat);border:2px solid var(--ink);box-shadow:6px 6px 0 color-mix(in srgb, var(--ink) 25%, transparent);width:max(170px,min(420px,86vw,66.67dvh + max(410px,50vh + 4vw - 28px)/-1.49993));max-width:100%;margin-bottom:16px;padding:clamp(10px,2vw,16px);position:relative;transform:rotate(-1.4deg)}.print:after{content:attr(data-caption);font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-size:.6rem;position:absolute;bottom:-26px;left:0;right:0}.print img{aspect-ratio:2/3;background:var(--paper);border:1px solid color-mix(in srgb, var(--ink) 25%, transparent);width:100%;height:auto}.print.is-revealing img{animation:print-reveal .9s var(--ease-out) both}.print.is-revealing{animation:print-settle 1s var(--ease-out) both}@keyframes print-reveal{0%{clip-path:inset(0 0 100%);filter:contrast(.4)brightness(1.6)}to{clip-path:inset(0);filter:none}}@keyframes print-settle{0%{opacity:0;transform:rotate(2.5deg)translateY(30px)scale(.96)}to{opacity:1;transform:rotate(-1.4deg)translateY(0)scale(1)}}.result__actions{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.result__actions .btn{flex:140px;min-height:50px}.result__invite{background:var(--accent-2);border:3px dashed var(--ink);width:100%;box-shadow:var(--shadow-hard);animation:invite-in .28s var(--ease-out) both;flex-direction:column;align-items:center;gap:6px;padding:16px;display:flex}.result__invite-kicker{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;font-weight:700}.result__invite-text{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.1rem,4.5vw,1.6rem);line-height:1}.result__invite-actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin-top:6px;display:flex}.result__invite-actions .btn{flex:150px}@keyframes invite-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.errorcard{border:3px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-hard-lg);text-align:center;flex-direction:column;align-items:center;gap:clamp(14px,3vw,20px);padding:clamp(30px,7vw,64px) clamp(20px,5vw,48px);display:flex;position:relative}.errorcard__mark{font-family:var(--font-display);color:var(--accent);font-size:clamp(3rem,14vw,6rem);line-height:1}.errorcard h2{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(1.8rem,7vw,3.2rem);font-weight:400;line-height:.95}.errorcard p{max-width:34ch;color:var(--ink-2)}.errorcard .btn{min-width:min(260px,100%)}@media (width<=520px){#app{padding:10px}.shell{width:100%}.booth{min-height:calc(100dvh - 20px)}.landing{min-height:calc(100dvh - 26px)}.corners i{width:16px;height:16px}.landing__meta{padding-top:8px}.bar{flex-wrap:wrap;gap:clamp(6px,1.6vw,16px);padding-inline:clamp(8px,2vw,22px)}.bar__tools{gap:6px}.status{border-top:1px solid color-mix(in srgb, var(--paper) 14%, transparent);order:3;justify-content:center;width:100%;padding-top:6px}.cam{max-height:min(340px,100vw - 76px)}.result__actions{gap:10px}.result__actions .btn{letter-spacing:.1em;flex:88px;min-height:46px;padding:.7rem .55rem;font-size:.72rem}}@media (height<=720px) and (width>=720px){.cam{aspect-ratio:16/9}}@media (height<=800px) and (width>=521px){#app{padding:clamp(8px,2vh,18px)}}@media (height<=800px){.landing{gap:clamp(12px,min(3vw,2.2vh),24px);padding:clamp(14px,min(3vw,2.6vh),26px)}.landing__title{font-size:clamp(3.2rem,min(17vw,15vh),11.5rem)}.landing__body{gap:clamp(10px,min(3vw,2.2vh),20px);padding:clamp(2px,min(2vw,1.4vh),12px) 0}.contact-sheet{max-width:min(420px,100%)}.card{gap:clamp(12px,min(3vw,2.4vh),24px);padding:clamp(16px,min(5vw,3.4vh),34px)}.perm{gap:clamp(12px,min(3vw,2.2vh),22px);padding:clamp(20px,min(7vw,6vh),64px) clamp(20px,5vw,48px)}.perm__lens{width:clamp(84px,min(24vw,20vh),148px)}.bar{padding:clamp(8px,min(2vw,1.8vh),16px) clamp(12px,3vw,22px)}.stage{padding:clamp(8px,min(3vw,2.2vh),24px)}.deck{gap:clamp(8px,min(2.2vw,1.8vh),16px);padding:clamp(10px,min(3vw,2.2vh),24px)}.rail{padding-bottom:clamp(4px,min(1.5vw,1.4vh),10px)}}@media (height<=620px){.card{gap:clamp(12px,2.4vw,26px);padding:clamp(16px,4vw,44px)}.ticket{margin:4px 0;padding-block:16px}.bar{padding-top:6px;padding-bottom:6px}.deck{padding-top:8px;padding-bottom:8px}.rail{padding-bottom:4px}}@media (width<=340px){.rail{padding-inline:8px}.rail__slot{width:clamp(28px,8vw,54px)}}.iconbtn svg{display:block}.iconbtn[aria-expanded=true]{background:currentColor}.iconbtn[aria-expanded=true] svg{mix-blend-mode:difference}.stylepanel{z-index:60;background:var(--paper);width:min(470px,100vw - 24px);max-height:calc(100vh - 24px);color:var(--ink);border:3px solid var(--ink);box-shadow:var(--shadow-hard-lg);flex-direction:column;gap:16px;padding:16px 16px 14px;display:flex;position:fixed;bottom:clamp(12px,3vh,28px);left:50%;overflow-y:auto;transform:translate(-50%)}.stylepanel[hidden]{display:none}.stylepanel__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.stylepanel__title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:clamp(1.05rem,4vw,1.4rem)}.iconbtn--sm{width:34px;height:34px;color:var(--ink)}.stylepanel__group{flex-direction:column;gap:8px;display:flex}.stylepanel__label{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:.66rem}.stylepanel__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.stylepanel__row--swatches{grid-template-columns:repeat(5,minmax(0,1fr))}.chipbtn{background:var(--mat);min-width:0;color:var(--ink);border:2px solid color-mix(in srgb, var(--ink) 25%, transparent);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease, box-shadow .15s var(--ease-out), transform .13s var(--ease-out);align-items:center;gap:8px;padding:8px;display:flex}.chipbtn:hover{border-color:var(--ink)}.chipbtn:active{transform:translate(2px,2px)}.chipbtn[aria-checked=true]{border-color:var(--ink);background:var(--paper);box-shadow:var(--shadow-hard)}.chipbtn__thumb{width:30px;height:39px;color:var(--ink-3);flex:none;display:block}.chipbtn__thumb svg{width:100%;height:100%;display:block}.chipbtn[aria-checked=true] .chipbtn__thumb{color:var(--ink)}.chipbtn__text{flex-direction:column;gap:2px;min-width:0;display:flex}.chipbtn__name{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.chipbtn__blurb{font-family:var(--font-body);color:var(--ink-3);font-size:.62rem;line-height:1.25}.swatchbtn{background:var(--mat);color:var(--ink);border:2px solid color-mix(in srgb, var(--ink) 25%, transparent);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease, box-shadow .15s var(--ease-out), transform .13s var(--ease-out);flex-direction:column;align-items:center;gap:6px;padding:9px 4px;display:flex}.swatchbtn:hover{border-color:var(--ink)}.swatchbtn:active{transform:translate(2px,2px)}.swatchbtn[aria-checked=true]{border-color:var(--ink);background:var(--paper);box-shadow:var(--shadow-hard)}.swatchbtn__dot{border:2px solid var(--ink);background:linear-gradient(135deg, var(--sw1) 0 50%, var(--sw2) 50% 100%);border-radius:50%;width:30px;height:30px}.swatchbtn__name{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.58rem}.stylepanel__note{font-family:var(--font-mono);letter-spacing:.04em;text-align:center;color:var(--ink-3);margin:0;font-size:.6rem;line-height:1.5}.chipbtn:focus-visible,.swatchbtn:focus-visible,.stylepanel .iconbtn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (width<=420px){.stylepanel__row{grid-template-columns:1fr}.stylepanel__row--swatches{grid-template-columns:repeat(3,minmax(0,1fr))}.chipbtn{padding:7px}}@media (width<=380px){.chip--room{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.grain{opacity:.09;animation:none}.cam{animation:none}.flash.is-on{opacity:0;animation:none}}
