@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Work+Sans:wght@300;400;500;600;700&family=IBM+Plex+Mono:ital,wght@0,400;0,500;1,400&display=swap";:root{--bg:#07090e;--bg-elevated:#0e1118;--bg-card:#141820;--bg-card-hover:#1a1f2a;--text:#ede9e0;--text-secondary:#7d7a73;--text-muted:#4a4843;--accent:#e0973a;--accent-hover:#eaab55;--accent-dim:#c07820;--accent-glow:#e0973a1f;--info:#4aadda;--info-glow:#4aadda1f;--success:#4eda7a;--error:#da4a5e;--border:#ffffff0f;--border-hover:#ffffff1f;--glass:#ffffff05;--glass-border:#ffffff0d;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Work Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-body);color:var(--text);background:var(--bg);min-height:100vh;font-weight:400;line-height:1.6;overflow-x:hidden}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,select{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--bg)}.grain{z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:200px;position:fixed;inset:0}.nav{z-index:100;background:linear-gradient(to bottom, var(--bg) 0%, transparent 100%);justify-content:space-between;align-items:center;padding:1rem 2.5rem;display:flex;position:fixed;top:0;left:0;right:0}.nav__logo{align-items:center;gap:.5rem;display:flex}.nav__logo-mark{font-family:var(--font-display);color:var(--accent);border:1.5px solid var(--accent);border-radius:var(--radius-sm);place-items:center;width:36px;height:36px;font-size:1.5rem;font-weight:700;display:grid}.nav__logo-text{font-family:var(--font-display);letter-spacing:.02em;font-size:1.25rem;font-weight:600}.nav__timer{align-items:center;gap:.5rem;display:flex}.nav__timer-text{font-family:var(--font-mono);color:var(--text-secondary);min-width:3ch;font-size:.875rem}.nav__back{color:var(--text-secondary);border-radius:var(--radius-sm);padding:.5rem;transition:color .2s,background .2s}.nav__back:hover{color:var(--text);background:var(--glass)}.nav__right{align-items:center;gap:.75rem;display:flex}.locale-switcher{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8rem;font-family:var(--font-body);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237d7a73' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;outline:none;padding:.35rem 1.8rem .35rem .6rem;transition:border-color .2s,color .2s}.locale-switcher:hover{border-color:var(--border-hover);color:var(--text)}.locale-switcher:focus{border-color:var(--accent-dim);box-shadow:0 0 0 2px var(--accent-glow)}.locale-switcher option{background:var(--bg-elevated);color:var(--text)}.screen{justify-content:center;align-items:center;min-height:100vh;padding:5rem 2.5rem 2.5rem;display:flex}.landing{grid-template-columns:1.2fr 1fr;align-items:center;gap:4rem;width:100%;max-width:1100px;display:grid}.landing__badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent-dim);border-radius:var(--radius-full);animation:fadeSlideUp .6s var(--ease-out) .1s both;margin-bottom:1.5rem;padding:.25rem 1rem;font-size:.75rem;font-weight:500;display:inline-block}.landing__title{font-family:var(--font-display);margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4.2rem);font-weight:400;line-height:1.15}.landing__title-line{animation:fadeSlideUp .7s var(--ease-out) both;display:block}.landing__title-line:first-child{animation-delay:.15s}.landing__title-line:nth-child(2){animation-delay:.25s}.landing__title-line:nth-child(3){animation-delay:.35s}.landing__title-line:nth-child(4){animation-delay:.45s}.landing__title em{color:var(--accent);font-style:italic}.landing__subtitle{color:var(--text-secondary);max-width:480px;animation:fadeSlideUp .7s var(--ease-out) .55s both;font-size:1.05rem;font-weight:300;line-height:1.7}.reg{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);animation:fadeSlideUp .7s var(--ease-out) .5s both;padding:2.5rem}.reg__header{align-items:baseline;gap:1rem;margin-bottom:2.5rem;display:flex}.reg__step{font-family:var(--font-mono);color:var(--accent);opacity:.7;font-size:.75rem}.reg__title{font-family:var(--font-display);font-size:1.5rem;font-weight:600}.reg__fields{gap:1rem;margin-bottom:2.5rem;display:grid}.reg__error{color:var(--error);text-align:center;margin-top:1rem;font-size:.875rem}.field__label{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:.25rem;font-size:.8rem;font-weight:500;display:block}.field__optional{color:var(--text-muted);font-weight:400}.field__input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:.7rem .9rem;font-size:.95rem;transition:border-color .25s,box-shadow .25s}.field__input::placeholder{color:var(--text-muted)}.field__input:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.btn{border-radius:var(--radius-sm);transition:all .25s var(--ease-out);justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn--primary{background:var(--accent);color:var(--bg)}.btn--primary:hover{background:var(--accent-hover);box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-1px)}.btn--ghost{color:var(--text-secondary);border:1px solid var(--border)}.btn--ghost:hover{color:var(--text);border-color:var(--border-hover);background:var(--glass)}.btn--full{width:100%}.btn__arrow{transition:transform .25s var(--ease-out)}.btn:hover .btn__arrow{transform:translate(3px)}.btn[disabled]{opacity:.5;pointer-events:none}.modes{width:100%;max-width:720px}.modes__header{text-align:center;margin-bottom:4rem}.modes__step{font-family:var(--font-mono);color:var(--accent);opacity:.7;animation:fadeSlideUp .5s var(--ease-out) both;margin-bottom:.5rem;font-size:.75rem;display:block}.modes__title{font-family:var(--font-display);animation:fadeSlideUp .6s var(--ease-out) .1s both;margin-bottom:.5rem;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:500}.modes__subtitle{color:var(--text-secondary);animation:fadeSlideUp .6s var(--ease-out) .2s both;font-weight:300}.modes__grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.mode-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;transition:all .35s var(--ease-out);animation:fadeSlideUp .6s var(--ease-out) both;padding:2.5rem;position:relative;overflow:hidden}.mode-card:first-child{animation-delay:.15s}.mode-card:nth-child(2){animation-delay:.25s}.mode-card:before{content:"";border-radius:inherit;background:radial-gradient(circle at 50% 0%, var(--accent-glow) 0%, transparent 60%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.mode-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:0 16px 48px #0000004d}.mode-card:hover:before{opacity:1}.mode-card__icon{color:var(--accent);margin-bottom:1.5rem;position:relative}.mode-card__title{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.75rem;font-weight:600;position:relative}.mode-card__desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem;font-weight:300;line-height:1.6;position:relative}.mode-card__meta{gap:.5rem;display:flex;position:relative}.mode-card__tag{font-family:var(--font-mono);color:var(--text-muted);background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-full);padding:.25rem .5rem;font-size:.7rem}.solo__langs,.room-setup__langs{justify-content:center;align-items:flex-end;gap:1rem;margin-bottom:2.5rem;display:flex}.lang-select{flex:1;max-width:200px}.lang-select__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:block}.lang-select__dropdown{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%237d7a73' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;outline:none;padding:.6rem 2rem .6rem .9rem;font-size:.9rem;transition:border-color .25s,box-shadow .25s}.lang-select__dropdown:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow)}.lang-select__dropdown option{background:var(--bg-elevated);color:var(--text)}.lang-select__arrow{color:var(--text-muted);flex-shrink:0;padding-bottom:.5rem}.solo__viz{flex-direction:column;align-items:center;margin-bottom:1.5rem;display:flex}.solo__waveform{border-radius:var(--radius-md);width:100%;max-width:400px;height:100px}.solo__status{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:.5rem;font-size:.75rem}.mic-btn{background:var(--bg-card);border:2px solid var(--border);width:80px;height:80px;color:var(--text);transition:all .3s var(--ease-out);border-radius:50%;place-items:center;margin:0 auto 2.5rem;display:grid;position:relative}.mic-btn__ring{border:1px solid var(--border);transition:all .3s var(--ease-out);border-radius:50%;position:absolute;inset:-6px}.mic-btn__ring--outer{opacity:.5;inset:-14px}.mic-btn:hover{border-color:var(--accent-dim);background:var(--bg-card-hover)}.mic-btn:hover .mic-btn__ring{border-color:var(--accent-dim)}.mic-btn--active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.mic-btn--active .mic-btn__ring{border-color:var(--accent);animation:2s ease-in-out infinite micPulse}.mic-btn--active .mic-btn__ring--outer{animation:2s ease-in-out .3s infinite micPulse}.mic-btn__icon{grid-area:1/1;transition:opacity .2s,transform .2s}.mic-btn__icon--stop,.mic-btn--active .mic-btn__icon:not(.mic-btn__icon--stop){opacity:0;transform:scale(.8)}.mic-btn--active .mic-btn__icon--stop{opacity:1;transform:scale(1)}@keyframes micPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.2;transform:scale(1.15)}}.captions{grid-template-columns:1fr auto 1fr;gap:1rem;width:100%;max-width:700px;min-height:120px;margin:0 auto;display:grid}.captions__pane{min-height:100px}.captions__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:.5rem;font-size:.65rem}.captions__pane--source .captions__label{color:var(--text-secondary)}.captions__pane--translated .captions__label{color:var(--accent-dim)}.captions__text{min-height:3em;color:var(--text-secondary);max-height:200px;font-size:1rem;line-height:1.7;overflow-y:auto}.captions__pane--translated .captions__text{color:var(--text);font-weight:500}.captions__text .interim{opacity:.5}.captions__text .final{animation:captionIn .3s var(--ease-out)}.captions__divider{background:var(--border);width:1px;margin:0 .5rem}.room-setup,.room-join{width:100%;max-width:520px}.room-setup__header,.room-join__header{text-align:center;margin-bottom:4rem}.room-setup__step{font-family:var(--font-mono);color:var(--accent);opacity:.7;margin-bottom:.5rem;font-size:.75rem;display:block}.room-setup__title,.room-join__title{font-family:var(--font-display);margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:500}.room-setup__subtitle,.room-join__subtitle{color:var(--text-secondary);font-weight:300}.room-share{animation:fadeSlideUp .4s var(--ease-out);margin-top:2.5rem}.room-share__link-box{gap:.5rem;margin-bottom:.5rem;display:flex}.room-share__link{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--info);font-family:var(--font-mono);outline:none;flex:1;padding:.65rem .9rem;font-size:.85rem}.room-share__copy{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:.65rem;transition:all .2s}.room-share__copy:hover{color:var(--text);border-color:var(--border-hover)}.room-share__copy--done{color:var(--success)!important;border-color:var(--success)!important}.room-share__hint{color:var(--text-muted);margin-bottom:1.5rem;font-size:.8rem}.room-share__qr-wrap{cursor:pointer;border-radius:var(--radius-md);border:1px solid #0000;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;transition:border-color .25s,background .25s;display:flex}.room-share__qr-wrap:hover{border-color:var(--border-hover);background:var(--glass)}.room-share__qr-wrap:active{transform:scale(.98)}.room-share__qr-hint{font-family:var(--font-mono);color:var(--text-muted);text-align:center;letter-spacing:.04em;font-size:.7rem}.toast{background:var(--bg-card);color:var(--text);border:1px solid var(--border-hover);border-radius:var(--radius-full);z-index:200;animation:toastIn .3s var(--ease-out);padding:.6rem 1.2rem;font-size:.85rem;font-weight:500;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.room-share__status{color:var(--text-secondary);justify-content:center;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.room-session{flex-direction:column;align-items:center;width:100%;max-width:700px;display:flex}.room-session__header{align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.room-session__participant{align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.room-session__you{color:var(--text-muted);font-size:.8rem;font-weight:400}.room-join__info{text-align:center;color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.room-join__lang strong{color:var(--text)}.pulse-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pulse-dot--active{background:var(--success);box-shadow:0 0 8px var(--success);animation:1.5s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.5}}.thanks{text-align:center;max-width:480px}.thanks__icon{animation:scaleIn .5s var(--ease-spring) .1s both;margin-bottom:2.5rem}.thanks__title{font-family:var(--font-display);animation:fadeSlideUp .5s var(--ease-out) .2s both;margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500}.thanks__subtitle{color:var(--text-secondary);animation:fadeSlideUp .5s var(--ease-out) .3s both;margin-bottom:2.5rem;font-weight:300}.thanks__cta{animation:fadeSlideUp .5s var(--ease-out) .4s both}.thanks__cta-text{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.thanks__cta .btn{margin:0 .5rem .5rem}.session-timer-bar{justify-content:center;width:100%;margin-bottom:1.5rem;display:flex}.solo{flex-direction:column;align-items:center;width:100%;max-width:700px;display:flex}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes captionIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-transition{transition:opacity .2s var(--ease-out), transform .2s var(--ease-out)}.page-transition--enter{opacity:1;transform:translateY(0)}.page-transition--exit{opacity:0;transform:translateY(-12px)}@media (width<=768px){.landing{grid-template-columns:1fr;gap:2.5rem}.modes__grid{grid-template-columns:1fr}.solo__langs,.room-setup__langs{flex-direction:column;align-items:stretch}.lang-select{max-width:none}.lang-select__arrow{align-self:center;transform:rotate(90deg)}.captions{grid-template-columns:1fr}.captions__divider{width:100%;height:1px;margin:0}.nav{padding:1rem}.screen{padding:4.5rem 1rem 1rem}.reg{padding:1.5rem}}
