.app{--bg:#07231c;--glass:rgba(9,44,35,.78);--glass-hi:rgba(18,74,58,.82);--ink:#e9f6ef;--muted:#a3bfb2;--accent:#19c37d;--accent-ink:#04120b;--danger:#ff8575;--stage:#010503;--cut:14px;--edge:linear-gradient(135deg,rgba(25,195,125,.95),rgba(236,248,241,.55) 32%,rgba(25,195,125,.28) 58%,rgba(25,195,125,.9));color-scheme:dark;color:var(--ink);min-height:100vh;font-family:Poppins,system-ui,sans-serif;background:linear-gradient(rgba(3,24,18,.34),rgba(3,24,18,.34)),url(/img/fondo-sala.jpg) 50% /cover fixed,var(--bg)}.app a{color:var(--accent)}.app h1,.app h2,.app input{color:var(--ink)}.app input{background:rgba(2,18,13,.82);border:1px solid rgba(25,195,125,.38);border-radius:0;padding:10px 12px;font:inherit;font-size:16px}.app input::placeholder{color:#7f9e90}.app a:focus-visible,.app button:focus-visible,.app input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth form,.chat,.facet,.panel-card,.self,.stage{--poly:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut));position:relative;isolation:isolate;background:var(--edge);-webkit-clip-path:var(--poly);clip-path:var(--poly);padding:2px;border-radius:0}.auth form:before,.chat:before,.facet:before,.panel-card:before,.self:before,.stage:before{content:"";position:absolute;inset:2px;z-index:-1;background:var(--glass);-webkit-clip-path:var(--poly);clip-path:var(--poly)}.self:before,.stage:before{background:var(--stage)}.chat:after,.panel-card:after,.self:after,.stage:after{content:"";position:absolute;top:12px;right:20px;width:14px;height:22px;opacity:.75;pointer-events:none;z-index:2;background:var(--rune,url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36' fill='none' stroke='%2319c37d' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M7 3V33M7 3L17 11L7 19M7 19L18 33'/></svg>")) center /contain no-repeat}.self{--rune:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36' fill='none' stroke='%2319c37d' stroke-width='2.6' stroke-linecap='round'><path d='M12 3V33'/></svg>")}.chat{--rune:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36' fill='none' stroke='%2319c37d' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 33V3L12 13L19 3V33'/></svg>")}.panel-card{--rune:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 36' fill='none' stroke='%2319c37d' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M12 33V3M12 19L3 8M12 19L21 8'/></svg>")}.room{box-sizing:border-box;max-width:100vw;height:100vh;padding:16px;display:grid;grid-gap:14px;gap:14px;grid-template-rows:auto minmax(0,1fr)}.room-top{flex-wrap:wrap;gap:10px 14px}.room-brand,.room-top{display:flex;align-items:center}.room-brand{gap:8px;color:var(--ink)!important;text-decoration:none;letter-spacing:.1em}.room-status{color:var(--muted);font-size:14px;max-width:34ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-status.ok{color:var(--accent);font-weight:600}.room-status.ok:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 10px var(--accent)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.room-progress{color:var(--accent);font-size:14px;font-weight:600}.room-ice{color:var(--danger);font-size:13px}.roomgrid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(280px,1fr);grid-gap:14px;gap:14px;min-height:0}.stage{min-height:280px;overflow:hidden}.stage video{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain;display:block}.stage.controlling{background:linear-gradient(135deg,#ff8575,#ffd0c8 40%,#ff8575)}.overlay{inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);pointer-events:none}.overlay,.play{position:absolute}.play{left:50%;top:45%;transform:translateX(-50%);z-index:3}.invite{position:absolute;inset:2px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;padding:0 28px 28px;text-align:center;color:var(--ink);background:#010503;overflow-y:auto;z-index:1}.invite-art{width:calc(100% + 56px);max-width:none;margin:0 -28px -56px;height:auto;flex:none;border-radius:0;-webkit-mask-image:linear-gradient(180deg,#000 58%,transparent);mask-image:linear-gradient(180deg,#000 58%,transparent)}.invite h1,.invite p,.invite-link{position:relative}.invite h1{margin:0;font-size:clamp(22px,2.6vw,34px);color:var(--ink);font-weight:600}.invite p{margin:0;max-width:44ch;color:var(--muted)}.invite-link{display:flex;align-items:center;gap:10px;width:min(100%,520px);margin-top:8px}.invite-link input{flex:1 1;min-width:0;height:44px;box-sizing:border-box}.invite-link .btn{--h:44px}.side{display:flex;flex-direction:column;gap:14px;min-height:0}.self{aspect-ratio:16/10;flex:none;overflow:hidden}.self.sharing{background:linear-gradient(135deg,#19c37d,#eaffef 40%,#19c37d)}.self video{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain;display:block}.self .tag{left:14px;bottom:12px;padding:3px 9px;background:rgba(1,5,3,.78);color:var(--ink);font-size:12px;z-index:2;-webkit-clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}.dot,.self .tag{position:absolute}.dot{display:none;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#f0a030;box-shadow:0 0 0 4px rgba(240,160,48,.35);pointer-events:none}.chat{flex:1 1;min-height:220px;display:flex;flex-direction:column;padding:14px}.chat>*{position:relative}.msgs{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px;min-height:0}.empty-chat{margin:auto;color:var(--muted);text-align:center;font-size:14px}.bubble{margin:0;max-width:86%;padding:9px 14px;background:var(--glass-hi);color:var(--ink);align-self:flex-start;overflow-wrap:anywhere;-webkit-clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.bubble.me{align-self:flex-end;background:var(--accent);color:var(--accent-ink)}.bubble a{color:inherit}.composer{display:flex;gap:8px;margin-top:10px;align-items:center}.composer input{flex:1 1;min-width:0;height:44px;box-sizing:border-box}.composer .btn{--h:44px}@media (max-width:860px){.room{height:auto;min-height:100vh;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);padding:12px}.room-top{min-width:0}.toolbar{flex-wrap:nowrap;overflow-x:auto;width:100%;margin-left:0;padding-bottom:6px;scrollbar-width:none}.toolbar .btn{flex:none}.roomgrid{grid-template-columns:minmax(0,1fr)}.stage{height:52vh}.stage.waiting{height:auto;min-height:0}.stage.waiting .invite{position:relative;inset:auto;overflow:visible;gap:10px;padding:0 18px 22px}.stage.waiting .invite-art{width:calc(100% + 36px);margin:0 -18px -18px;height:120px;object-fit:cover;object-position:50% 40%}.stage.waiting .invite h1{order:1;font-size:22px}.stage.waiting .invite-link{order:2;margin-top:2px}.stage.waiting .invite p{order:3;font-size:14px}.self{aspect-ratio:16/9}.chat{min-height:280px}.app{--cut:11px}}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth form{display:grid;grid-gap:12px;gap:12px;box-sizing:border-box;width:min(100%,440px);padding:34px 30px}.auth form>*{position:relative}.auth h1{margin:0;font-size:28px}.auth-logo,.auth-submit{justify-self:center}.auth-error{color:var(--danger);font-size:14px}.auth-langs{display:flex;justify-content:center;gap:4px;margin-top:8px}.auth-langs a,.room-langs a{padding:6px 8px;font-size:13px;color:var(--muted);text-decoration:none;letter-spacing:.06em}.auth-langs a[aria-current=true],.room-langs a[aria-current=true]{color:var(--ink);font-weight:600}.room-langs{display:inline-flex;gap:2px;margin-left:6px}.panel{max-width:1080px;margin:0 auto;padding:24px}.panel header{justify-content:space-between;flex-wrap:wrap}.panel header,.panel-brand{display:flex;align-items:center;gap:12px}.panel-brand{color:var(--ink)!important;text-decoration:none}.panel-brand h1{margin:0;letter-spacing:4px;font-size:26px}.panel-user{font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.panel-user strong{color:var(--accent)}.panel-user strong.pro{color:var(--ink)}.panel-warn{background:rgba(240,160,48,.14);border:1px solid #f0a030;border-radius:0;padding:10px 12px;margin-top:16px}.panel-warn a{color:#ffc46b}.panel-empty,.panel-plan{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.panel-card{padding:24px 26px;margin-top:18px}.panel-card>*{position:relative}.panel-card h2{margin:0 0 12px;font-size:20px}.panel-planhead{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.panel-planhead .panel-plan{margin:0}.plan-badge{padding:4px 12px;border-radius:0;-webkit-clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%);font-size:13px;font-weight:600;letter-spacing:.08em;background:rgba(25,195,125,.2);color:var(--accent)}.plan-badge.pro{background:var(--accent);color:var(--accent-ink)}.panel-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}.panel-list{list-style:none;padding:0;margin:0}.panel-list li{padding:11px 0;border-bottom:1px solid rgba(25,195,125,.22);overflow-wrap:anywhere;display:grid;grid-template-columns:minmax(150px,1.2fr) 80px 1fr;grid-gap:12px;gap:12px;align-items:center}.panel-list li:last-child{border-bottom:0}.panel-list .dur{color:var(--muted)}.panel-list a{font-family:ui-monospace,monospace;font-size:14px;overflow-wrap:anywhere}@media (max-width:560px){.panel-list li{grid-template-columns:1fr auto}.panel-list a{grid-column:1/-1}}.panel-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-gap:20px;gap:20px;align-items:start}.panel-grid .panel-card{margin-top:18px}.panel-emptybox{display:grid;grid-gap:16px;gap:16px}.panel-emptybox .faq-frame{width:100%}.panel-actions .btn{white-space:normal;max-width:100%}@media (max-width:900px){.panel-grid{grid-template-columns:1fr;gap:0}}.panel-emptybox .faq-frame{--cut:14px;padding:2px;background:rgba(25,195,125,.55);-webkit-clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut));clip-path:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut))}.panel-emptybox .faq-frame img{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:3/2;object-fit:cover;-webkit-clip-path:polygon(calc(var(--cut) - 1px) 0,calc(100% - var(--cut) + 1px) 0,100% calc(var(--cut) - 1px),100% calc(100% - var(--cut) + 1px),calc(100% - var(--cut) + 1px) 100%,calc(var(--cut) - 1px) 100%,0 calc(100% - var(--cut) + 1px),0 calc(var(--cut) - 1px));clip-path:polygon(calc(var(--cut) - 1px) 0,calc(100% - var(--cut) + 1px) 0,100% calc(var(--cut) - 1px),100% calc(100% - var(--cut) + 1px),calc(100% - var(--cut) + 1px) 100%,calc(var(--cut) - 1px) 100%,0 calc(100% - var(--cut) + 1px),0 calc(var(--cut) - 1px))}.auth{grid-template-columns:minmax(0,1fr)}.auth form{justify-self:center}.auth form .btn.auth-submit{--h:48px;font-size:16px;max-width:100%;justify-self:center}@media (max-width:560px){.auth{padding:16px}.auth form{padding:30px 20px}.panel-actions{justify-content:center}}.auth input{box-sizing:border-box;width:100%;min-width:0}.stage .pip{display:none;position:absolute;right:12px;bottom:12px;z-index:2;width:min(34%,220px);aspect-ratio:16/10;inset:auto 12px 12px auto;height:auto;object-fit:cover;background:#010503;cursor:pointer;outline:2px solid rgba(25,195,125,.7);outline-offset:-2px}.stage .pip.on{display:block}.room-note{color:var(--accent);font-size:13px;font-weight:600}.pairbox{position:fixed;z-index:30;top:84px;left:50%;transform:translateX(-50%);width:min(94vw,660px);max-height:calc(100vh - 100px);overflow:auto;padding:2px;margin:0;background:#04100b;box-shadow:0 20px 60px rgba(0,0,0,.6)}.pair-in{display:flex;align-items:center;gap:22px;padding:22px 26px;flex-wrap:wrap;position:relative}.pair-in img{background:#f2f7f4;padding:8px;width:220px;height:220px}.pair-in h2{margin:0 0 8px;font-size:20px}.pair-in p{margin:0 0 14px;max-width:46ch;color:var(--muted)}.popwrap{position:fixed;inset:0;background:#010503}.popstage{position:absolute;inset:0;outline:none}.popstage video{width:100%;height:100%;object-fit:contain;display:block;background:#010503}.popstage .overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.popstage.controlling{box-shadow:inset 0 0 0 3px #ff8575}.detached-note{position:absolute;z-index:3;left:12px;top:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.detached-note p{margin:0;color:var(--muted)}.bubble a{color:var(--accent);text-decoration:underline;overflow-wrap:anywhere}.chat-close,.chat-tab{display:none}@media (max-width:860px){.chat-tab{display:inline-flex}.chat{display:none}.chat.open{display:flex;position:fixed;inset:10px;z-index:40;min-height:0;background:#04100b}.chat.open .chat-close{display:inline-flex;position:absolute;right:14px;top:12px;z-index:3}.chat.open .msgs{padding-top:54px}}.filebox{display:inline-flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.filebox small{color:var(--muted)}.joinreqs{position:fixed;z-index:35;top:12px;left:50%;transform:translateX(-50%);width:min(94vw,560px);display:grid;grid-gap:10px;gap:10px}.joinreq{padding:2px;background:#04100b;box-shadow:0 14px 40px rgba(0,0,0,.6)}.joinreq-in{position:relative;padding:16px 18px;display:grid;grid-gap:12px;gap:12px}.joinreq-in p{margin:0}.joinreq-act{display:flex;gap:10px;flex-wrap:wrap}.panel-del{display:grid;grid-gap:12px;gap:12px;margin-top:16px;max-width:420px}.admin-form input,.panel-del input{padding:10px 12px;width:100%;box-sizing:border-box}.admin-form{display:grid;grid-template-columns:2fr 2fr 2fr auto;grid-gap:10px;gap:10px;align-items:center;margin-top:14px}.admin-list li{grid-template-columns:minmax(0,1.6fr) auto minmax(0,2fr);align-items:center}@media (max-width:860px){.admin-form,.admin-list li{grid-template-columns:1fr}}.room-rec{display:inline-flex;align-items:center;gap:8px;color:#ff8575;font-size:13px;font-weight:600}.room-rec i{width:9px;height:9px;background:#ff5a47;border-radius:50%;box-shadow:0 0 10px #ff5a47;animation:recblink 1.4s ease-in-out infinite}@keyframes recblink{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.room-rec i{animation:none}}.dev-list li{grid-template-columns:minmax(0,1.4fr) auto auto;align-items:center}.dev-act{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dev-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#55645d;margin-right:10px}.dev-dot.on{background:var(--accent);box-shadow:0 0 10px var(--accent)}.dev-form{grid-template-columns:1fr auto;margin-top:16px}.dev-code{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.dev-code textarea{width:100%;box-sizing:border-box;padding:10px 12px;font:13px/1.4 ui-monospace,monospace;background:rgba(2,18,13,.82);color:var(--ink);border:1px solid rgba(25,195,125,.38);border-radius:0;resize:vertical;overflow-wrap:anywhere}@media (max-width:860px){.dev-list li{grid-template-columns:1fr}.dev-act{justify-content:flex-start}.dev-form{grid-template-columns:1fr}}a.btn{color:#fff;text-decoration:none}.dev-code .btn{justify-self:start}