:root{color-scheme:dark;font-family:Baskerville,Times New Roman,serif;background:radial-gradient(circle at top right,rgba(226,181,74,.16),transparent 25%),linear-gradient(180deg,#102016,#08100c);color:#f6f0de}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100svh}button,input{font:inherit}#root{min-height:100vh;min-height:100svh}.join-form{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1rem}.join-form .label{flex:0 0 100%;color:#d2c6a5;font-size:.95rem}.pairing-input{flex:1 1 220px;min-width:220px;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.9rem 1.1rem;background:#ffffff0f;color:inherit;text-transform:uppercase;letter-spacing:.2em}.join-button{border:0;border-radius:999px;padding:.9rem 1.4rem;background:#e2b54a;color:#132216;cursor:pointer}.join-button:disabled{opacity:.65;cursor:not-allowed}.qr-pairing-panel{display:grid;grid-template-columns:minmax(160px,220px) 1fr;align-items:center;gap:1.2rem}.pairing-qr{width:100%;max-width:220px;border-radius:12px;background:#fff;padding:.7rem}.qr-pairing-copy{min-width:0}.qr-title{margin:0 0 .45rem;color:#fff7e3;font-size:clamp(1.2rem,2.5vw,1.8rem)}.qr-url{margin:0;overflow-wrap:anywhere;color:#d2c6a5;font-family:SFMono-Regular,Menlo,Monaco,monospace;font-size:.82rem;line-height:1.5}.display-pairing-code{margin:0 0 .45rem;color:#e2b54a;font-family:SFMono-Regular,Menlo,Monaco,monospace;font-size:clamp(1.6rem,4vw,2.8rem);letter-spacing:.16em;text-transform:uppercase}.status-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.status-copy,.display-session-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.status-copy{color:#f6f0de75;font-family:Inter,Avenir Next,system-ui,sans-serif;font-size:clamp(.95rem,1.1vw,1.25rem);letter-spacing:.02em}.live-status-dot{width:.58rem;height:.58rem;border-radius:999px;background:#58c985;box-shadow:0 0 16px #58c9853d}.display-session-actions{margin-left:auto;color:#f6f0de6b;font-family:Inter,Avenir Next,system-ui,sans-serif;font-size:clamp(.88rem,1vw,1.12rem)}.display-session-code{color:inherit;font-family:SFMono-Regular,Menlo,Monaco,monospace;letter-spacing:.04em}.display-link-button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer;opacity:.72}.supporting-copy,.translation-footer{color:#d2c6a5}.display-explainer{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.55fr);gap:clamp(1.2rem,3vw,2rem);align-items:center}.display-explainer-animation{--audio-cycle: 3s;position:relative;isolation:isolate;display:grid;grid-template-columns:104px 90px minmax(64px,.28fr) minmax(180px,.9fr);align-items:center;min-height:230px;gap:clamp(.65rem,1.8vw,1.15rem);overflow:hidden}.audio-source{position:relative;z-index:0;display:grid;grid-template-columns:64px 1fr;align-items:center;min-width:0;animation:explainer-enter .9s cubic-bezier(.16,1,.3,1) both}.megaphone{position:relative;width:64px;height:74px;filter:drop-shadow(0 14px 32px rgba(0,0,0,.18))}.megaphone-back,.megaphone-horn,.megaphone-handle{position:absolute;display:block}.megaphone-back{top:28px;left:0;width:22px;height:20px;border:2px solid rgba(226,181,74,.88);border-radius:7px;background:#e2b54a2e}.megaphone-horn{top:16px;left:18px;width:46px;height:44px;border:2px solid rgba(226,181,74,.9);background:linear-gradient(90deg,#e2b54a57,#e2b54a14);clip-path:polygon(0 28%,100% 0,100% 100%,0 72%)}.megaphone-handle{top:47px;left:19px;width:13px;height:25px;border-radius:0 0 5px 5px;background:#e2b54ab8;transform:rotate(-16deg);transform-origin:top center}.audio-waves{position:relative;z-index:0;height:56px;min-width:44px;opacity:0;transform:translate(0);animation:audio-to-phone var(--audio-cycle) cubic-bezier(.45,0,.55,1) infinite}.audio-waves span{position:absolute;top:50%;left:0;border:2px solid rgba(226,181,74,.58);border-left:0;border-radius:0 999px 999px 0;opacity:1;width:12px;height:24px;clip-path:inset(30% 0 30% 0);transform:translateY(-50%);transform-origin:left center}.audio-waves span:nth-child(2){width:26px;height:42px;clip-path:inset(22% 0 22% 0)}.audio-waves span:nth-child(3){width:40px;height:58px;clip-path:inset(14% 0 14% 0)}.controller-phone{border:1px solid rgba(246,240,222,.16);background:linear-gradient(180deg,#f6f0de1a,#f6f0de0e),#253027;box-shadow:0 18px 60px #0003}.controller-phone{position:relative;z-index:2;width:84px;height:164px;justify-self:center;border-radius:22px;padding:1rem .72rem;animation:explainer-enter .9s 90ms cubic-bezier(.16,1,.3,1) both}.phone-speaker{width:30px;height:4px;margin:0 auto 1.05rem;border-radius:999px;background:#f6f0de66}.phone-camera{position:absolute;top:15px;right:18px;width:5px;height:5px;border-radius:999px;background:#f6f0de73}.phone-mic{border-radius:999px;background:#e2b54ae6}.phone-mic{position:relative;width:54px;height:72px;margin:0 auto;border-radius:23px;animation:pulse-listen var(--audio-cycle) cubic-bezier(.45,0,.55,1) infinite}.phone-mic:before,.phone-mic:after,.phone-mic span{position:absolute;left:50%;content:"";transform:translate(-50%)}.phone-mic:before{top:12px;width:16px;height:36px;border-radius:999px;background:#132216}.phone-mic:after{bottom:12px;width:34px;height:16px;border:2px solid #132216;border-top:0;border-radius:0 0 999px 999px}.phone-mic span{bottom:7px;width:24px;height:3px;border-radius:999px;background:#132216}.phone-wave{position:absolute;inset:45px 14px auto;width:54px;height:72px;border:1px solid rgba(226,181,74,.4);border-radius:23px;opacity:0;animation:wave-out var(--audio-cycle) cubic-bezier(.45,0,.55,1) infinite;animation-delay:1.88s}.phone-wave.two{animation-delay:1.98s}.phone-wave.three{animation-delay:2.08s}.phone-home-indicator{position:absolute;bottom:8px;left:50%;width:10px;height:10px;border-radius:999px;background:#e2b54a;transform:translate(-50%)}.data-signal{position:relative;height:48px;min-width:0;overflow:visible}.signal-line{position:absolute;top:50%;right:8px;left:0;height:2px;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(226,181,74,.18) 0 9px,transparent 9px 16px);transform:translateY(-50%)}.signal-packet{position:absolute;top:50%;left:0;display:inline-flex;align-items:center;justify-content:center;width:.66rem;height:.66rem;border-radius:3px;background:#e2b54a;box-shadow:0 0 0 5px #e2b54a1a;transform:translateY(-50%);animation:data-packet 1.8s cubic-bezier(.16,1,.3,1) infinite}.signal-packet.two{animation-delay:.3s}.signal-packet.three{animation-delay:.6s}.signal-arrow{position:absolute;top:50%;right:2px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid #e2b54a;opacity:.86;transform:translateY(-50%)}.display-device{position:relative;min-width:0;padding-bottom:36px;animation:explainer-enter .9s .22s cubic-bezier(.16,1,.3,1) both}.display-preview{position:relative;min-height:132px;border:2px solid #070b09;border-radius:4px;padding:5px;background:#070b09;box-shadow:0 18px 48px #00000038;overflow:hidden}.display-screen{min-height:118px;border-radius:2px;padding:clamp(.75rem,1.6vw,1rem);background:linear-gradient(115deg,rgba(255,255,255,.06),transparent 36%),linear-gradient(180deg,#f6f0de14,#f6f0de09)}.display-ayah{direction:rtl;color:#fff7e3;font-size:clamp(1.05rem,1.65vw,1.65rem);line-height:1.55;text-align:right}.display-translation{margin-top:.65rem;color:#d2c6a5;font-size:clamp(.78rem,1.05vw,.95rem);line-height:1.45}.display-progress{height:4px;margin-top:1rem;overflow:hidden;border-radius:999px;background:#f6f0de1f}.display-progress span{display:block;width:48%;height:100%;border-radius:inherit;background:#e2b54a;animation:progress-scan 2.6s cubic-bezier(.45,0,.55,1) infinite}.display-feet{position:absolute;right:10%;bottom:9px;left:10%;height:34px;pointer-events:none}.display-feet span{position:absolute;top:0;width:2px;height:36px;border-radius:999px;background:#f6f0de8a;transform-origin:top center}.display-feet span:first-child{left:16%;transform:rotate(43deg)}.display-feet span:last-child{right:16%;transform:rotate(-43deg)}.display-explainer-copy{display:flex;flex-direction:column;gap:.7rem;color:#e5dcc4;font-size:1.02rem;line-height:1.55}.display-explainer-copy p{margin:0}.tv-display-shell{height:100vh;height:100svh;max-height:100vh;max-height:100svh;display:flex;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgba(226,181,74,.14),transparent 24%),linear-gradient(145deg,#102016,#0a160f 46%,#050807)}.live-display{display:flex;flex-direction:column;gap:clamp(1.2rem,3vh,2.6rem);width:100%;height:100vh;height:100svh;max-height:100vh;max-height:100svh;min-height:0;justify-content:stretch;overflow:hidden;padding:clamp(1.1rem,3.4vh,3rem) clamp(1rem,4vw,5rem)}.active-ayah{--arabic-size: clamp(4.8rem, 8vw, 9.5rem);--arabic-measure: 96rem;--translation-size: clamp(1.65rem, 2.6vw, 3.15rem);display:flex;flex-direction:column;flex:1;min-height:0;justify-content:center;align-items:center;gap:0;overflow:hidden;animation:ayah-enter .22s ease-out}.surah-header{display:flex;flex-direction:column;align-items:center;gap:clamp(.35rem,.8vh,.75rem);width:min(100%,70rem);margin-bottom:clamp(1.25rem,2.4vh,1.5rem);text-align:center}.surah-name-arabic{margin:0;direction:rtl;color:#e2b54a;font-size:clamp(1.8rem,min(2.8vw,3.4vh),3.5rem);line-height:1.25;text-align:center}.surah-name-english{margin:0;color:#d2c6a5ad;font-family:Inter,Avenir Next,system-ui,sans-serif;font-size:clamp(1.2rem,min(1.6vw,2vh),1.85rem);line-height:1.35;letter-spacing:.01em;text-align:center}.translation-block{display:flex;flex-direction:column;align-items:center;flex:0 1 auto;gap:clamp(2rem,3.2vh,2.5rem);max-height:36vh;width:min(100%,70rem);min-height:0;overflow:hidden}.arabic-text{margin:0 0 clamp(2.5rem,5vh,3.5rem);direction:rtl;width:min(100%,var(--arabic-measure));font-size:var(--arabic-size);font-weight:600;line-height:1.5;text-align:center;color:#fff7e3;overflow-wrap:anywhere;text-wrap:pretty;max-height:min(60vh,calc(var(--arabic-size) * 6));overflow:hidden}.translation-text{margin:0;width:100%;font-family:Avenir Next,Inter,Segoe UI,system-ui,sans-serif;font-size:var(--translation-size);font-weight:400;line-height:1.6;color:#e5dcc4d1;text-align:center;text-wrap:balance;min-height:0;overflow:hidden}.translation-footer{display:flex;justify-content:center;width:100%;margin:0;color:#d2c6a585;font-family:Inter,Avenir Next,system-ui,sans-serif;font-size:clamp(.95rem,1.05vw,1.25rem);line-height:1.4;letter-spacing:.02em;text-transform:none}.waiting-copy{margin:0;color:#d2c6a5}.waiting-panel{display:flex;flex-direction:column;flex:1;min-height:0;gap:clamp(.8rem,2vh,1.6rem);justify-content:center;overflow:hidden}.transcript-preview{margin:0;color:#f6f0de;font-size:clamp(2rem,4vw,4.8rem);line-height:1.6}.error-banner{margin:0;padding:1rem 1.2rem;border-radius:18px;background:#922c2c2e;color:#ffcbcb}@keyframes ayah-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes explainer-enter{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-listen{0%,52%,76%,to{transform:scale(.94);opacity:.82}64%{transform:scale(1.05);opacity:1}}@keyframes wave-out{0%,to{opacity:0;transform:scale(.82)}2%{opacity:.48;transform:scale(.9)}16%{opacity:0;transform:scale(1.48)}17%{opacity:0;transform:scale(.82)}}@keyframes audio-to-phone{0%{opacity:0;transform:translate(0)}10%{opacity:.95}64%{opacity:.95;transform:translate(50px)}78%{opacity:0;transform:translate(58px)}99.9%{opacity:0;transform:translate(58px)}to{opacity:0;transform:translate(0)}}@keyframes data-packet{0%{left:0;opacity:0;transform:translateY(-50%) scale(.92)}18%{opacity:1}78%{left:calc(100% - .66rem);opacity:1;transform:translateY(-50%) scale(1)}to{left:calc(100% - .66rem);opacity:0;transform:translateY(-50%) scale(.96)}}@keyframes progress-scan{0%{transform:translate(-110%)}55%,to{transform:translate(215%)}}@media(max-width:720px){.join-form{flex-direction:column}.qr-pairing-panel,.display-explainer{grid-template-columns:1fr}.display-explainer-animation{grid-template-columns:.75fr .75fr;grid-template-areas:"audio phone" "signal signal" "screen screen";overflow:visible}.display-explainer-animation{justify-items:center}.audio-source{grid-area:audio}.controller-phone{grid-area:phone;justify-self:center}.data-signal{grid-area:signal;width:min(280px,80%)}.display-device{grid-area:screen;width:min(100%,380px)}.pairing-input,.join-button{width:100%}.live-display{padding:clamp(1rem,4vh,2rem) clamp(1.2rem,8vw,3rem)}.translation-block{width:min(100%,42rem)}.arabic-text{width:min(100%,52rem)}}
