:root{--bg:#0d1014;--panel:#151a21;--panel-2:#1c222b;--line:#29313c;--text:#e6eaef;--muted:#8e9aa9;--accent:#2dd4bf;--accent-ink:#06231f;--danger:#f87171;--gold:#fbbf24;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--side-w:340px;--bar-h:64px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0;overflow:hidden}[hidden]{display:none!important}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.screen{background:var(--bg);z-index:40;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow:auto}.card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:14px;width:min(420px,100%);padding:2rem}.card-wide{width:min(720px,100%)}.logo{margin-bottom:.75rem;font-size:2.5rem;line-height:1}.card h1{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.6rem}.card h2{margin:0 0 1rem;font-size:1.2rem}.card p{color:var(--muted);margin:0 0 1rem;font-size:.95rem;line-height:1.55}.card .hint{font-size:.85rem}.room-name{font-family:var(--mono);font-size:.85rem}.room-name strong{color:var(--accent);font-weight:500}form{text-align:left;flex-direction:column;gap:.6rem;display:flex}label{color:var(--muted);font-size:.8rem}input[type=text],input[type=number],input[type=email],input[type=password]{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;width:100%;padding:.7rem .85rem}input:focus{border-color:var(--accent)}.btn{cursor:pointer;text-align:center;border:1px solid #0000;border-radius:8px;padding:.75rem 1.1rem;font-weight:600;text-decoration:none;display:inline-block}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{border-color:var(--line);color:var(--text);background:0 0}.btn-tiny{background:var(--panel-2);border-color:var(--line);cursor:pointer;border-radius:6px;padding:.3rem .6rem;font-size:.78rem}.row{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.warning{color:var(--gold);font-size:.85rem}.error{color:var(--danger);font-size:.85rem}.preview video{border:1px solid var(--line);background:#000;border-radius:10px;width:100%;max-height:46vh;display:block}.room{grid-template-columns:1fr var(--side-w);grid-template-rows:1fr var(--bar-h);grid-template-areas:"stage side""bar bar";height:100%;display:grid}.stage-area{flex-direction:column;grid-area:stage;gap:.6rem;min-width:0;min-height:0;padding:.75rem;display:flex}.stage{border:1px solid var(--line);background:#000;border-radius:10px;flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.stage video{object-fit:contain;transform-origin:50%;cursor:grab;width:100%;height:100%}.stage video.zoomed{cursor:grab}.stage-empty{color:var(--muted);text-align:center;padding:2rem;font-size:.9rem}.stage-tools{color:var(--muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.stage-label{color:var(--text);flex:1;font-weight:600}.shares,.cameras{scrollbar-width:thin;flex:none;gap:.5rem;display:flex;overflow:auto hidden}.shares:empty,.cameras:empty{display:none}.tile{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex:none;position:relative;overflow:hidden}.shares .tile{width:168px;height:96px}.cameras .tile{cursor:default;width:132px;height:76px}.tile video{object-fit:cover;width:100%;height:100%;display:block}.tile.active{border-color:var(--accent)}.tile .who{white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#0000,#000000d9);padding:.9rem .4rem .25rem;font-size:.68rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.tile .muted-dot{color:var(--danger)}.tile.paused:after{content:"pausado";font-family:var(--mono);color:var(--muted);background:#0009;border-radius:3px;padding:.1rem .3rem;font-size:.6rem;position:absolute;inset:auto .3rem .3rem auto}.avatar{height:100%;color:var(--muted);background:var(--panel-2);place-items:center;font-size:1.4rem;font-weight:600;display:grid}.side{border-left:1px solid var(--line);background:var(--panel);flex-direction:column;grid-area:side;min-height:0;display:flex}.side-head{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:.7rem .9rem;font-size:.8rem;display:flex}.net.ok{color:var(--accent)}.net.poor{color:var(--gold)}.net.bad{color:var(--danger)}.feed{flex-direction:column;flex:1;gap:.55rem;min-height:0;padding:.7rem .9rem;display:flex;overflow-y:auto}.entry{font-size:.86rem;line-height:1.45}.entry .by{color:var(--accent);font-weight:600}.entry.chat .txt{color:var(--text)}.roll{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem}.roll .head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.roll .notation{font-family:var(--mono);color:var(--muted);font-size:.72rem}.roll .total{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600;line-height:1.1}.roll .faces{font-family:var(--mono);color:var(--muted);margin-top:.15rem;font-size:.72rem}.roll .faces .drop{opacity:.5;text-decoration:line-through}.roll.crit-success{border-color:var(--accent)}.roll.crit-success .total{color:var(--accent)}.roll.crit-fail{border-color:var(--danger)}.roll.crit-fail .total{color:var(--danger)}.roll .crit-tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.roll.secret{border-style:dashed}.roll .secret-note{color:var(--muted);font-size:.82rem;font-style:italic}.dice{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:.5rem;padding:.7rem .9rem .9rem;display:flex}.dice-row{flex-wrap:wrap;gap:.35rem;display:flex}#dice-buttons .die{flex:1 1 0;min-width:44px}.die{background:var(--panel-2);border:1px solid var(--line);font-family:var(--mono);cursor:pointer;border-radius:8px;min-height:44px;padding:.6rem .3rem;font-weight:600}.die:hover{border-color:var(--accent);color:var(--accent)}.die:active{transform:translateY(1px)}.dice-opts{color:var(--muted);align-items:center;font-size:.75rem}.dice-opts label{align-items:center;gap:.3rem;display:flex}.dice-opts input{text-align:center;width:3.4rem;font-family:var(--mono);padding:.3rem .4rem}.toggle{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;border-radius:6px;padding:.35rem .5rem;font-size:.72rem}.toggle[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}#chat-form input{font-size:.85rem}.bar{border-top:1px solid var(--line);background:var(--panel);grid-area:bar;align-items:center;gap:.5rem;padding:0 .9rem;display:flex}.ctl{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:.45rem;min-height:44px;padding:.55rem .8rem;font-size:.85rem;display:flex}.ctl:hover{border-color:var(--accent)}.ctl[aria-pressed=false]{border-color:var(--danger);color:var(--danger);background:#3a2020}.ctl-danger{margin-left:auto}.ctl-danger:hover{border-color:var(--danger);color:var(--danger)}.ctl .ico{font-size:1.05rem;line-height:1}.sharing{font-family:var(--mono);letter-spacing:.1em;color:var(--accent-ink);background:var(--accent);border-radius:6px;padding:.35rem .6rem;font-size:.68rem;font-weight:700}.status{background:var(--gold);color:#26200a;z-index:50;border-radius:999px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;position:fixed;top:.75rem;left:50%;transform:translate(-50%)}@media (width<=900px){.room{grid-template-columns:1fr;grid-template-rows:minmax(0, 1fr) minmax(0, 42vh) var(--bar-h);grid-template-areas:"stage""side""bar"}.side{border-left:none;border-top:1px solid var(--line)}.ctl .lbl{display:none}.ctl{padding:.55rem .7rem}.sharing{font-size:.6rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.shell{background:var(--bg);position:fixed;inset:0;overflow-y:auto}.top{border-bottom:1px solid var(--line);background:var(--bg);z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.01em;font-size:1.1rem;font-weight:700;text-decoration:none}.nav{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.nav-link{color:var(--muted);font-size:.9rem;text-decoration:none}.nav-link:hover{color:var(--text)}.nav-who{color:var(--muted);font-size:.85rem}.shell-main{max-width:960px;margin:0 auto;padding:2rem 1.25rem 5rem}.shell-main h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 .6rem;font-size:clamp(1.6rem,4vw,2.2rem)}.shell-main .card{text-align:left;margin:0 auto}.shell-main .card h1{text-align:center}.hero{text-align:center;background-image:url(/arvaldor.jpg);background-position:50% 22%;background-repeat:no-repeat;background-size:cover;place-items:center;width:100vw;min-height:calc(100vh - 62px);margin-left:calc(50% - 50vw);padding:3rem 1.25rem 4rem;display:grid;position:relative}.hero:before{content:"";background:linear-gradient(#0d1014eb 0%,#0d10148c 28% 62%,#0d1014f0 100%),radial-gradient(70% 55% at 50% 45%,#0d1014b8 0%,#0d101400 100%);position:absolute;inset:0}.hero-inner{max-width:46rem;position:relative}.hero h1{text-shadow:0 2px 24px #000000d9,0 1px 3px #000000e6;margin-bottom:1.1rem;font-size:clamp(2rem,5.5vw,3.4rem);line-height:1.03}.hero .lede{color:#cfd6de;text-shadow:0 1px 14px #000000e6;margin-bottom:1.9rem}.hero-cta{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.hero-plans{margin:1.5rem 0 0;font-size:.9rem}.hero-plans a{color:#cfd6de}@media (width<=620px){.hero{background-position:54% 18%;min-height:calc(100vh - 56px)}}.section-title{text-align:center;margin:2.5rem 0 1.25rem;font-size:1.3rem}.plans{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch;gap:1rem;display:grid}.plan-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:1rem;height:100%;padding:1.4rem;display:flex}.plan-highlight{border-color:var(--accent)}.plan-card h3{margin:0 0 .35rem;font-size:1.1rem}.plan-price{font-family:var(--mono);color:var(--text);text-wrap:balance;margin:0 0 .35rem;font-size:1.7rem;font-weight:600}.plan-price-word{font-family:var(--sans);letter-spacing:-.01em;color:var(--accent);font-size:1.25rem}.plan-tagline{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}.plan-features{flex-direction:column;flex:1;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.plan-features li{color:var(--text);padding-left:1.4rem;font-size:.88rem;line-height:1.45;position:relative}.plan-features li:before{content:"▸";color:var(--accent);position:absolute;left:.2rem}.plan-soon{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px dashed var(--gold);text-align:center;border-radius:8px;margin:0 0 .45rem;padding:.5rem;font-size:.7rem}.plan-note{color:var(--muted);text-align:center;margin:0;font-size:.74rem;line-height:1.4}.mesa-form{grid-template-columns:1fr auto;align-items:end;gap:.6rem;max-width:560px;margin:1.25rem 0 .75rem;display:grid}.mesa-form label{grid-column:1/-1}.mesas{flex-direction:column;gap:.5rem;margin-top:1.25rem;display:flex}.mesa-row{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.mesa-name{flex:1;min-width:8rem;font-weight:600}.empty{color:var(--muted);font-size:.92rem}.created{background:var(--panel-2);border:1px solid var(--accent);border-radius:10px;margin:.75rem 0;padding:.9rem 1rem}.created p{color:var(--muted);margin:0 0 .4rem;font-size:.88rem}.created code{font-family:var(--mono);color:var(--accent);word-break:break-all;font-size:.85rem}.muted{color:var(--muted);font-size:.9rem}.shell .hint{color:var(--muted);margin:-.2rem 0 .4rem;font-size:.8rem}@media (width<=560px){.mesa-form{grid-template-columns:1fr}.top{padding:.7rem .9rem}.nav{gap:.5rem}}.brand-mark{vertical-align:-.45rem;width:30px;height:30px;margin-right:.45rem}.logo-mark{width:72px;height:72px;margin:0 auto .9rem;display:block}.shell a:not(.btn):not(.brand):not(.nav-link){color:var(--accent);text-underline-offset:2px;text-decoration:underline}.shell a:not(.btn):not(.brand):not(.nav-link):hover{filter:brightness(1.15)}.lang-toggle{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.lang-toggle button{color:var(--muted);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;min-width:2.2rem;padding:.32rem .5rem;font-size:.72rem;font-weight:600}.lang-toggle button[aria-pressed=true]{background:var(--panel-2);color:var(--text)}.lang-toggle button:hover{color:var(--text)}.empty-scene{text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding:1.25rem;display:flex}.empty-scene img{border:1px solid var(--line);opacity:.82;border-radius:10px;width:auto;max-width:100%;max-height:230px;display:block}.empty-scene-text{color:var(--muted);max-width:34ch;margin:0;font-size:.9rem;line-height:1.5}.stage-empty{justify-content:center;gap:1.15rem;height:100%}.stage-empty img{max-height:min(540px,62vh)}.feed-empty{padding:.75rem .5rem}.feed-empty img{opacity:.7;max-height:150px}.feed-empty .empty-scene-text{font-size:.84rem}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;height:100%;padding:6px;display:grid}.stage-grid[data-count="2"]{grid-template-rows:minmax(0,1fr)}.stage-grid[data-count="3"],.stage-grid[data-count="4"]{grid-template-rows:repeat(2,minmax(0,1fr))}.stage-grid[data-count="5"],.stage-grid[data-count="6"]{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))}.stage-grid[data-count="3"]>.stage-cell:first-child{grid-column:span 2}.stage-cell{border:1px solid var(--line);cursor:pointer;background:#000;border-radius:8px;min-width:0;min-height:0;position:relative;overflow:hidden}.stage-cell:hover{border-color:var(--accent)}.stage-cell video{object-fit:contain;cursor:pointer;width:100%;height:100%}.stage-cell .who{white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#0000,#000000d9);padding:1.1rem .5rem .35rem;font-size:.72rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}video.mirrored{transform:scaleX(-1)}.cameras .tile:has(video.mirrored){border-color:var(--accent)}[data-view=plans]:before,[data-view=signup]:before,[data-view=login]:before,[data-view=mesas]:before{content:"";z-index:0;pointer-events:none;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}[data-view=plans]>*,[data-view=signup]>*,[data-view=login]>*,[data-view=mesas]>*{z-index:1;position:relative}[data-view=plans]:before,[data-view=signup]:before,[data-view=login]:before{background-image:linear-gradient(#0d1014ed 0%,#0d1014bd 30%,#0d1014d1 68%,#0d1014f7 100%),url(/arvaldor.jpg);background-position:50%,50% 22%}[data-view=mesas]:before{background-image:linear-gradient(#0d1014e6 0%,#0d1014a8 30%,#0d1014c2 68%,#0d1014f5 100%),url(/salao.jpg);background-position:50%,50% 62%}[data-view=plans] .plan-card,[data-view=signup] .card,[data-view=login] .card,[data-view=mesas] .mesa-row,[data-view=mesas] .created{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#151a21d6}#join{background-image:linear-gradient(#0d1014e0 0%,#0d10148c 32%,#0d1014a8 68%,#0d1014f2 100%),url(/portal.jpg);background-position:50%,50% 45%;background-repeat:no-repeat;background-size:cover}#join .card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#151a21db;box-shadow:0 24px 70px #0009}.ctl.ctl-unavailable{background:var(--panel);border-style:dashed;border-color:var(--gold);color:var(--gold)}.card-quest{border-color:color-mix(in oklab, var(--gold) 35%, var(--line));width:min(480px,100%)}.card-quest h1{color:var(--gold)}.card-quest .quest-text{color:var(--text);text-wrap:pretty;margin-bottom:1.5rem;font-size:1rem;line-height:1.7}.invites-quota{color:var(--text);font-variant-numeric:tabular-nums;margin:0 0 1.25rem;font-size:1rem}.invite-form{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1.5rem;display:flex}.invite-form label{color:var(--muted);flex-basis:100%;font-size:.85rem}.invite-form input{flex:16rem;min-width:0}.invite-form button{flex:none}.invites-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.invite{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}.invite-accepted{border-color:color-mix(in oklab, var(--accent) 30%, var(--line))}.invite-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.invite-who{font-weight:600}.invite-state{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.invite-state.is-in{background:var(--accent-ink);color:var(--accent)}.invite-state.is-waiting{background:var(--panel-2);color:var(--muted)}.invite-sub{color:var(--muted);margin:.4rem 0 0;font-size:.85rem}.invite-url{background:var(--bg);border:1px solid var(--line);font-family:var(--mono);color:var(--muted);white-space:nowrap;border-radius:8px;margin:.75rem 0;padding:.5rem .65rem;font-size:.8rem;display:block;overflow-x:auto}.invite-actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn-danger{color:var(--danger)}.btn-danger:hover{border-color:var(--danger)}@media (width<=480px){.invite-form button{flex:100%}.invite-actions .btn{flex:auto;min-height:44px}}
