*{box-sizing:border-box}body{margin:0;min-width:1360px;min-height:100vh;color:#f4ead2;background:#111814;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#app{min-height:100vh;color:var(--text);background:var(--bg)}button,input,select{font:inherit}button{border:1px solid color-mix(in srgb,var(--accent) 55%,white 15%);border-radius:6px;padding:.72rem 1rem;color:var(--text);background:color-mix(in srgb,var(--panel-strong) 78%,black);cursor:pointer}input,select{width:100%;border:1px solid color-mix(in srgb,var(--muted) 34%,transparent);border-radius:6px;padding:.7rem .8rem;color:var(--text);background:color-mix(in srgb,var(--panel) 82%,black)}.join-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--accent-alt) 28%,transparent),transparent 28rem),linear-gradient(135deg,color-mix(in srgb,var(--bg) 88%,#22334a),var(--bg))}.join-panel{width:min(520px,100%);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:8px;padding:1.4rem;background:color-mix(in srgb,var(--panel) 88%,black);box-shadow:0 22px 70px #0000005c}.join-panel h1,.topbar h1{margin:0;font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:0}.eyebrow{margin:0 0 .3rem;color:var(--accent);font-size:.74rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.join-form{display:grid;gap:.9rem;margin-top:1.3rem}.launch-recovery-panel{display:grid;gap:1rem}.launch-recovery-panel p{margin:0;color:var(--muted);line-height:1.55}.launch-recovery-actions{display:flex}.launch-recovery-actions a{text-decoration:none}.launch-recovery-detail{font-size:.8rem;opacity:.72}.wizard-step{display:grid;gap:.9rem}.wizard-card{display:grid;gap:.3rem;width:100%;min-height:5.4rem;border:1px solid color-mix(in srgb,var(--accent) 55%,white 15%);border-radius:6px;padding:1rem;text-align:left;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent),color-mix(in srgb,var(--panel) 82%,black)}.wizard-card strong{font-size:1.08rem}.wizard-card span{color:var(--muted);font-size:.88rem}.device-role-grid{display:grid;gap:.75rem}.device-role-grid .wizard-card.is-selected{border-color:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,transparent),transparent),color-mix(in srgb,var(--panel) 82%,black)}.setup-card,.join-token-card{gap:.8rem}.wizard-back{justify-self:start;padding:.45rem .72rem;color:var(--muted);background:transparent}.theme-pack-note{border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:6px;padding:.7rem .85rem;background:color-mix(in srgb,var(--panel) 80%,black)}.theme-pack-note span{display:block;margin-bottom:.2rem;color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.choice-card{position:relative;display:grid;align-items:center;min-height:3.1rem;border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:8px;padding:.75rem .9rem;background:color-mix(in srgb,var(--panel) 78%,black);cursor:pointer}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-card span{margin:0;color:var(--text);font-weight:800}.choice-card:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--panel))}.host-label{display:none}.join-form:has(input[name=sessionMode][value=host]:checked) .join-only{display:none}.join-form:has(input[name=sessionMode][value=host]:checked) .host-label{display:inline}.join-form:has(input[name=sessionMode][value=host]:checked) .join-label{display:none}.join-form:has(input[name=participantKind][value=remote]:checked) .room-only,.join-form:has(input[name=participantKind][value=room]:checked) .remote-only{display:none}label span{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.84rem}.check-row{display:flex;align-items:center;gap:.65rem}.check-row input{width:auto}.check-row span{margin:0}.error{margin:0;color:#ffb4a8}.table-shell{width:min(100vw,1920px);min-width:1360px;min-height:100vh;margin:0 auto;display:grid;grid-template:"topbar" auto "scene" minmax(0,1fr) / minmax(0,1fr);gap:1rem;padding:1rem;background:linear-gradient(120deg,color-mix(in srgb,var(--bg) 80%,#31545e),transparent 32rem),var(--bg)}.table-shell.is-passive-display{padding:0;gap:0}.table-shell.is-passive-display .topbar{display:none}.table-shell.is-passive-display .scene{border:0;border-radius:0}.table-shell.is-display{grid-template:"topbar" auto "scene" 1fr / minmax(0,1fr)}.topbar{grid-area:topbar;display:grid;grid-template-columns:minmax(16rem,28rem) minmax(0,1fr);gap:1rem;align-items:flex-start;min-height:4.5rem}.topbar>div:first-child{flex:0 1 28rem;min-width:16rem}.participant-context{display:flex;align-items:center;gap:.4rem;margin-top:.35rem;color:var(--muted);font-size:.76rem}.participant-context strong{color:var(--text)}.participant-context span{border-left:1px solid color-mix(in srgb,var(--accent) 28%,transparent);padding-left:.4rem}.topbar-actions{flex:1 1 42rem;min-width:0;display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap;justify-content:flex-end;padding-bottom:.25rem}.toolbar-menu{position:relative;flex:0 0 auto}.toolbar-menu>summary{display:inline-flex;align-items:center;gap:.35rem;min-height:2.55rem;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);background:color-mix(in srgb,var(--panel) 66%,transparent);list-style:none;cursor:pointer}.toolbar-menu>summary::-webkit-details-marker{display:none}.toolbar-menu[open]>summary{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--panel-strong))}.toolbar-menu-panel{position:absolute;z-index:70;top:calc(100% + .55rem);right:0;width:max-content;max-width:min(54rem,calc(100vw - 2rem));border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:12px;padding:.45rem;color:var(--text);background:color-mix(in srgb,var(--panel) 98%,black);box-shadow:0 24px 70px #00000094}.toolbar-menu-panel .toolbar-group{max-width:100%;flex-wrap:wrap;justify-content:flex-end;border:0;border-radius:9px;padding:.2rem;background:transparent}.toolbar-count{display:inline-grid;place-items:center;min-width:1.15rem;min-height:1.15rem;border-radius:999px;color:var(--bg);background:var(--accent);font-size:.66rem;font-weight:800}.connection-summary-dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--muted)}.connection-summary-dot.is-connected{background:var(--accent-alt);box-shadow:0 0 .5rem color-mix(in srgb,var(--accent-alt) 55%,transparent)}.toolbar-group{flex:0 0 auto;display:inline-flex;align-items:center;gap:.3rem;min-height:2.55rem;padding:.2rem .35rem .2rem .5rem;border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 58%,transparent)}.toolbar-group-label{color:color-mix(in srgb,var(--muted) 78%,transparent);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.toolbar-group .topbar-button,.toolbar-group .connection-pill{min-height:2rem}.topbar-button{min-height:2.15rem;padding:0 .72rem;border-radius:999px;color:var(--muted);font-size:.82rem}.camera-switch-button{display:none;align-items:center;gap:.38rem}.media-control-status{max-width:28rem;color:#ffcf9f;font-size:.78rem}.audio-resume-button{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 28%,var(--panel-strong));color:var(--text)}.topbar-button:hover,.token-badge:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 70%,white 12%)}.topbar-button[aria-pressed=true]{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--panel-strong))}.toolbar-group details[open]>.topbar-button,.toolbar-group .topbar-button.is-active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--panel-strong))}.toolbar-group details>summary.topbar-button{display:inline-flex;align-items:center;list-style:none;cursor:pointer}.toolbar-group details>summary.topbar-button::-webkit-details-marker{display:none}.device-view-menu,.active-devices-menu{position:relative}.device-view-menu-panel,.active-devices-panel{position:absolute;z-index:55;top:calc(100% + .55rem);right:0;width:min(23rem,calc(100vw - 2rem));border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:10px;padding:.9rem;color:var(--text);background:color-mix(in srgb,var(--panel) 97%,black);box-shadow:0 24px 70px #00000094}.device-view-menu-panel{display:grid;gap:.55rem}.device-view-menu-panel>button{display:grid;gap:.2rem;text-align:left}.device-view-menu-panel button small,.device-view-menu-panel p,.active-devices-panel small,.active-devices-panel p{margin:0;color:var(--muted);font-size:.72rem}.device-view-menu-panel button:disabled{border-color:var(--accent);opacity:.72;cursor:default}.active-devices-menu>summary span{display:inline-grid;place-items:center;min-width:1.25rem;min-height:1.25rem;margin-left:.25rem;border-radius:999px;color:var(--bg);background:var(--accent);font-size:.68rem;font-weight:800}.active-devices-panel header{display:grid;gap:.15rem;margin-bottom:.7rem}.active-devices-panel ul{display:grid;gap:.35rem;margin:0 0 .7rem;padding:0;list-style:none}.active-devices-panel li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);border-radius:7px;padding:.55rem}.active-devices-panel li.is-current{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.active-devices-panel li>span:nth-child(2){display:grid;min-width:0}.active-devices-panel li em{color:var(--muted);font-size:.68rem;font-style:normal}.device-status-dot{width:.55rem;height:.55rem;border-radius:999px;background:var(--accent-alt);box-shadow:0 0 .7rem color-mix(in srgb,var(--accent-alt) 55%,transparent)}.passive-view-control{position:fixed;z-index:80;right:.8rem;top:.8rem;display:flex;align-items:center;gap:.55rem;border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);border-radius:999px;padding:.35rem .4rem .35rem .75rem;color:var(--muted);background:color-mix(in srgb,var(--panel) 90%,transparent);box-shadow:0 8px 30px #00000059;font-size:.72rem;opacity:.42;transition:opacity .14s ease}.passive-view-control:hover,.passive-view-control:focus-within{opacity:1}.passive-view-control button{min-height:2rem;border-radius:999px;padding:0 .7rem;font-size:.72rem}.token-badge{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:.45rem;min-height:2.15rem;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:999px;padding:0 .78rem;color:var(--text);background:color-mix(in srgb,var(--panel) 72%,black);line-height:1}.token-badge span{color:var(--muted);font-size:.72rem;font-weight:800}.token-badge strong{font-size:.86rem}.connection-pill{border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:999px;padding:.4rem .7rem;color:var(--muted);text-align:center;font-size:.82rem}.connection-pill.connected{color:var(--accent-alt)}.connection-pill.limited{color:var(--accent)}.scene{grid-area:scene;min-height:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:8px;background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 23rem),linear-gradient(145deg,color-mix(in srgb,var(--panel) 88%,black),color-mix(in srgb,var(--bg) 92%,black))}.player-scene{display:grid;grid-template-rows:auto auto auto;gap:1rem;padding:1rem;align-content:start;align-items:start}.remote-roll-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:.6rem;align-items:start}.remote-media-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.remote-media-grid.has-rail{grid-template-columns:minmax(0,1fr) 260px}@media(min-width:951px){.remote-media-grid:not(.has-rail) .main-feed{width:min(100%,calc(177.78dvh - 24rem));justify-self:center}}.room-scene{min-height:0;display:grid;padding:1.1rem}.camera-only-shell{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.5rem;padding:.5rem}.camera-station-controls{z-index:8;display:flex;gap:.45rem;align-items:center;justify-content:flex-end;min-width:0}.camera-station-role{margin-right:auto;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.camera-only-grid{width:min(100%,1180px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.camera-only-grid.camera-count-1{grid-template-columns:minmax(0,1fr)}.camera-only-grid.camera-count-3,.camera-only-grid.camera-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-only-preview{width:100%}.camera-station-layout{width:100%;min-height:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.camera-station-layout.has-rail{grid-template-columns:minmax(0,1fr) minmax(13rem,22%)}.camera-station-main{position:relative;width:100%;height:100%;min-height:0}.table-shell.is-camera-only{width:100vw;min-width:0;height:100dvh;min-height:0;gap:.35rem;padding:.35rem}.table-shell.is-camera-only .topbar{min-height:0}.table-shell.is-camera-only .topbar>div:first-child{display:none}.table-shell.is-camera-only .topbar{grid-template-columns:minmax(0,1fr)}.table-shell.is-camera-only .topbar-actions{justify-content:flex-end}.table-shell.is-camera-only .scene{border-radius:4px}.table-shell.is-camera-only:fullscreen{background:var(--bg)}.camera-station-main .self-pip{width:clamp(10rem,22%,17rem);aspect-ratio:16 / 10}.camera-shared-content-overlay{position:absolute;z-index:4;left:.75rem;bottom:.75rem;width:clamp(18rem,34%,38rem);aspect-ratio:16 / 9;overflow:hidden;border:2px solid color-mix(in srgb,var(--accent) 72%,white 8%);border-radius:8px;background:var(--panel-strong);box-shadow:0 18px 55px #00000094}.camera-shared-content-overlay .map-viewport,.camera-shared-content-overlay .shared-asset,.camera-shared-content-overlay .livekit-video-layer,.camera-shared-content-overlay .livekit-video{width:100%;height:100%}.camera-station-rail{display:grid;gap:.75rem;align-content:start;overflow:auto}.media-rail{display:grid;gap:.75rem;align-content:start;max-height:650px;overflow:auto;padding-right:.2rem}.rail-tile{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:2px solid var(--tile-accent);border-radius:8px;background:color-mix(in srgb,var(--panel-strong) 82%,black);text-align:left}.rail-promote{position:absolute;z-index:2;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent}.rail-character-button{position:absolute;z-index:5;right:.45rem;bottom:.45rem;border-radius:999px;padding:.35rem .55rem;background:#000000b8;color:var(--text);font-size:.72rem}.room-display-layout{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:1rem}.room-display-layout.layout-focus .room-player-grid.player-count-1,.room-display-layout.layout-focus .room-player-grid.player-count-2{max-width:1800px}.room-display-layout.layout-focus .room-camera-strip{justify-content:start}.room-display-layout.layout-focus .room-player-grid.player-count-2,.room-display-layout.layout-focus .room-player-grid.player-count-3,.room-display-layout.layout-focus .room-player-grid.player-count-4{grid-template-columns:minmax(0,2fr) minmax(14rem,1fr)}.room-display-layout.layout-focus .room-player-grid.player-count-3>:first-child,.room-display-layout.layout-focus .room-player-grid.player-count-4>:first-child{grid-row:span 2}.room-display-layout.layout-grid .room-player-grid.player-count-3,.room-display-layout.layout-grid .room-player-grid.player-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.room-display-layout.is-one-to-one{grid-template-rows:minmax(0,1fr)}.room-player-grid{min-height:0;display:grid;gap:1rem;align-content:center;width:100%;margin:0 auto}.room-player-grid.player-count-1{grid-template-columns:minmax(0,1fr);max-width:1460px}.room-player-grid.player-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1720px}.room-player-grid.player-count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1720px}.room-player-grid.player-count-4{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1400px}.shared-content-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.shared-content-layout.has-participants{grid-template-columns:minmax(0,1fr) minmax(12rem,20vw)}.shared-content-layout.presentation-sidebar.has-participants{grid-template-columns:minmax(0,1fr) minmax(18rem,34vw)}.shared-content-layout.presentation-sidebar .shared-content-stage{grid-column:2;grid-row:1}.shared-content-layout.presentation-sidebar .shared-participant-rail{grid-column:1;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center}.shared-content-stage{position:relative;overflow:hidden;min-height:0;background:#080a09}.shared-content-stage video,.shared-content-stage>img{object-fit:contain}.map-presentation-controls p{display:flex;justify-content:space-between;margin:0}.shared-content-popover{position:fixed;z-index:60;top:4.75rem;left:50%;width:min(52rem,calc(100vw - 2rem));max-height:calc(100vh - 5.75rem);overflow:auto;transform:translate(-50%);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:10px;padding:1rem;background:color-mix(in srgb,var(--panel) 98%,black);box-shadow:0 22px 65px #00000094}.shared-content-controls .shared-content-popover>form{position:static;width:auto;padding:0;border:0;background:none;box-shadow:none}.shared-content-selection{grid-template-columns:minmax(14rem,1fr) minmax(10rem,.45fr) auto;align-items:end;padding-bottom:1rem!important;border-bottom:1px solid rgb(255 255 255 / 12%)!important}.map-presentation-controls{margin-top:1rem}.map-presentation-controls>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.map-presentation-controls>header>div{display:grid}.map-presentation-controls>header small,.map-rotation-status,.map-marker-editor small{color:var(--muted)}.map-quick-actions{display:flex;flex-wrap:wrap;gap:.4rem}.map-quick-actions button{min-height:2.3rem;padding:.35rem .65rem}.map-viewport-sliders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;align-items:end}.map-viewport-sliders label,.map-pointer-controls label{display:grid;gap:.3rem}.map-viewport-sliders label>span{display:flex;justify-content:space-between;gap:.5rem}.map-viewport-sliders output{color:var(--muted)}.map-rotation-status{grid-column:1 / -1;margin:0}.map-grid-controls{display:flex;flex-wrap:wrap;gap:.45rem;border:1px solid rgb(255 255 255 / 12%);border-radius:8px;padding:.65rem}.map-grid-controls legend{padding:0 .35rem;font-weight:700}.map-grid-controls label{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:.3rem .55rem;border:1px solid rgb(255 255 255 / 15%);border-radius:999px}.map-viewport-help{color:var(--muted)}.map-advanced-controls{border:1px solid rgb(255 255 255 / 12%);border-radius:8px;padding:.7rem}.map-advanced-controls>summary{cursor:pointer;font-weight:700}.map-advanced-controls[open]{display:grid;gap:.75rem}.map-share-button{justify-self:end;min-width:12rem}.map-viewport{position:absolute;inset:0;overflow:hidden;background:#080a09;touch-action:none}.map-viewport.is-placing-annotation .map-image-plane{cursor:crosshair}.map-placement-banner{position:absolute;z-index:8;top:.65rem;left:50%;display:flex;align-items:center;gap:.6rem;transform:translate(-50%);border:1px solid var(--accent);border-radius:999px;padding:.35rem .45rem .35rem .8rem;background:color-mix(in srgb,var(--panel-strong) 96%,transparent);box-shadow:0 .4rem 1.2rem #00000073;white-space:nowrap}.map-placement-banner button{min-height:2rem;padding:.25rem .6rem}.map-world{position:absolute;inset:0;transform-origin:var(--map-x) var(--map-y);transform:scale(var(--map-zoom));transition:transform .22s ease-out}.map-viewport:has(.map-image-plane.is-panning) .map-world{transition:none}.map-image-plane{position:absolute;inset:0;transform:rotate(var(--map-rotation));transform-origin:50% 50%}.map-image-plane.is-panning{cursor:grabbing}.host-map-toolbar{position:absolute;z-index:7;right:.65rem;bottom:.65rem;display:flex;max-width:calc(100% - 1.3rem);flex-wrap:wrap;justify-content:flex-end;gap:.3rem;padding:.35rem;border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);border-radius:.55rem;background:color-mix(in srgb,var(--panel-strong) 94%,transparent);box-shadow:0 .4rem 1.2rem #00000073}.map-fog-overlay,.map-dim-light-overlay{position:absolute;z-index:4;inset:0;width:100%;height:100%;pointer-events:none}.map-dim-light-fill{fill:#09100e;opacity:.58}.map-dim-light-overlay.is-host-preview .map-dim-light-fill{opacity:.28}.map-fog-fill{fill:#020303;opacity:.98}.map-fog-overlay.is-host-preview .map-fog-fill{fill:#16211d;opacity:.48}.map-fog-draft{position:absolute;z-index:6;border:.16rem dashed #fff;background:#34d3994d;pointer-events:none}.map-fog-draft.is-hide{background:#ef444459}.map-viewport.is-authoring-fog .map-image-plane{cursor:crosshair}.map-boundary-overlay{position:absolute;z-index:5;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.map-boundary{stroke:#f43f5e;stroke-width:.65;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}.map-boundary.is-door{stroke:#fbbf24;stroke-width:1.1}.map-boundary.is-door.is-open{stroke:#34d399;stroke-dasharray:2 1.2}.map-boundary.is-selected{stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 0 .25rem var(--accent))}.map-boundary.is-draft{stroke:#fff;stroke-dasharray:1.2 .8;pointer-events:none}.map-viewport.is-authoring-boundary .map-image-plane{cursor:crosshair}.map-boundary-banner{position:absolute;z-index:9;top:.65rem;left:50%;display:flex;max-width:calc(100% - 1.3rem);align-items:center;gap:.45rem;transform:translate(-50%);border:1px solid var(--accent);border-radius:.6rem;padding:.45rem;background:color-mix(in srgb,var(--panel-strong) 97%,transparent);box-shadow:0 .4rem 1.2rem #00000073}.map-boundary-banner span{color:var(--muted)}.map-boundary-banner .is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--panel-strong))}.map-light-source{position:absolute;z-index:7;left:var(--light-x);top:var(--light-y);display:grid;width:1.9rem;min-width:0;height:1.9rem;min-height:0;place-items:center;border:.14rem solid #fff;border-radius:50%;padding:0;background:#f59e0b;color:#17120a;box-shadow:0 0 .9rem #f59e0b;transform:translate(-50%,-50%) rotate(var(--map-counter-rotation));touch-action:none}.map-light-source.is-disabled{opacity:.45;box-shadow:none}.map-light-source.is-selected{outline:.2rem solid var(--accent);outline-offset:.18rem}.map-lighting-panel{position:absolute;z-index:10;bottom:4.6rem;left:.65rem;display:grid;width:min(32rem,calc(100% - 1.3rem));max-height:min(38rem,calc(100% - 5.25rem));gap:.65rem;overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:.6rem;padding:.75rem;background:color-mix(in srgb,var(--panel-strong) 97%,transparent);box-shadow:0 .6rem 1.6rem #0000008c}.map-lighting-panel>header,.map-light-editor>header,.map-lighting-actions,.map-light-editor>div{display:flex;align-items:center;gap:.45rem}.map-lighting-panel>header,.map-light-editor>header{justify-content:space-between}.map-lighting-panel>header>div,.map-light-editor,.map-light-editor label{display:grid;gap:.4rem}.map-lighting-panel small{color:var(--muted)}.map-lighting-actions{flex-wrap:wrap}.map-light-presets{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.map-light-presets span{color:var(--muted)}.map-light-source-list{display:grid;max-height:11rem;gap:.3rem;margin:0;padding:0;overflow:auto;list-style:none}.map-light-source-list button{display:grid;width:100%;gap:.15rem;text-align:left}.map-light-source-list .is-selected button{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--panel-strong))}.map-light-editor{border-top:1px solid rgb(255 255 255 / 12%);padding-top:.6rem}.map-light-editor label>span{display:flex;justify-content:space-between}.host-map-toolbar button{min-width:2.35rem;min-height:2.35rem;padding:.25rem .55rem}.host-map-toolbar .is-emphasised{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--panel-strong))}.map-image-plane>.map-base-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.map-grid-overlay{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}.map-grid-overlay path,.map-grid-overlay polygon{fill:none;stroke:#fff4d29e;stroke-width:.16;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 .08rem rgb(0 0 0 / 85%))}.map-token{position:absolute;z-index:3;left:var(--token-x);top:var(--token-y);width:clamp(2.5rem,var(--token-size),5.5rem);aspect-ratio:1;display:grid;place-items:center;border:.18rem solid #fff;border-radius:50%;background:var(--panel-strong);box-shadow:0 .15rem .55rem #000000bf;color:var(--text);transform:translate(-50%,-50%) rotate(var(--map-counter-rotation));touch-action:none;-webkit-user-select:none;user-select:none}.map-token.is-controllable{cursor:grab;border-color:var(--accent)}.map-token.is-dragging{cursor:grabbing;box-shadow:0 0 0 .22rem #ffffff73,0 .3rem 1rem #000}.map-token.is-selected{outline:.2rem solid var(--accent-alt);outline-offset:.18rem}.map-token.is-active-turn{animation:active-map-token-pulse 1.25s ease-in-out infinite}@keyframes active-map-token-pulse{50%{box-shadow:0 0 0 .5rem color-mix(in srgb,var(--accent) 38%,transparent),0 .15rem .8rem #000}}.map-token-facing{position:absolute;top:-.85rem;left:50%;color:var(--accent);font-size:.8rem;font-style:normal;transform:translate(-50%) rotate(calc(var(--token-facing) + var(--map-rotation)));transform-origin:50% calc(50% + .85rem);filter:drop-shadow(0 .08rem .1rem #000);pointer-events:none}.map-token>img{width:100%;height:100%;border-radius:inherit;object-fit:cover;pointer-events:none}.map-token>b{font-size:1rem}.map-token>small{position:absolute;top:calc(100% + .18rem);max-width:8rem;padding:.08rem .25rem;border-radius:.2rem;background:#000000bf;color:#fff;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.map-token>button{position:absolute;top:-.55rem;right:-.55rem;width:1.3rem;height:1.3rem;min-width:0;padding:0;border-radius:50%;line-height:1}.map-token-roster{position:absolute;z-index:5;top:.65rem;left:.65rem;max-width:min(22rem,calc(100% - 1.3rem));padding:.45rem;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:.5rem;background:color-mix(in srgb,var(--panel-strong) 92%,transparent)}.map-token-roster>div{display:grid;gap:.3rem;max-height:15rem;margin-top:.35rem;overflow:auto}.map-token-roster form{display:grid;grid-template-columns:minmax(8rem,1fr) auto;gap:.35rem;margin-top:.35rem;padding-top:.45rem;border-top:1px solid rgb(255 255 255 / 12%)}.map-token-roster button span{display:grid}.map-token-roster button small{color:var(--muted)}.map-token-inspector{position:absolute;z-index:7;top:.65rem;right:.65rem;display:grid;width:min(34rem,calc(100% - 1.3rem));gap:.55rem;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:.55rem;padding:.65rem;background:color-mix(in srgb,var(--panel-strong) 95%,transparent);box-shadow:0 .4rem 1.2rem #00000073}.map-token-inspector header,.map-token-inspector>div,.map-token-inspector label{display:flex;align-items:center;gap:.4rem}.map-token-inspector>div{flex-wrap:wrap}.map-token-inspector>div button{flex:1 1 auto}.map-token-inspector header{justify-content:space-between}.map-token-inspector label input{flex:1}.map-token-inspector small{color:var(--muted)}.map-token-inspector .is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 20%,var(--panel-strong))}@media(max-width:620px){.map-token-inspector{top:.4rem;right:.4rem;width:calc(100% - .8rem);padding:.55rem}.map-token-inspector>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}.map-token-roster button{display:grid;grid-template-columns:2rem 1fr;align-items:center;gap:.45rem;text-align:left}.map-token-roster img,.map-token-roster i{width:2rem;height:2rem;border-radius:50%;object-fit:cover}.map-host-pointer{position:absolute;z-index:2;left:var(--pointer-x);top:var(--pointer-y);width:1.15rem;height:1.15rem;border:.2rem solid #fff;border-radius:999px;background:var(--accent);box-shadow:0 0 0 .25rem #00000073,0 0 1.2rem var(--accent);transform:translate(-50%,-50%);pointer-events:none}.map-marker{position:absolute;z-index:2;left:var(--marker-x);top:var(--marker-y);display:grid;justify-items:center;color:#fff;filter:drop-shadow(0 .1rem .2rem #000);transform:translate(-50%,-100%) rotate(var(--map-counter-rotation));pointer-events:none}.map-marker.is-controllable{cursor:grab;pointer-events:auto;touch-action:none}.map-marker.is-dragging{cursor:grabbing}.map-marker i{width:.85rem;height:.85rem;border:.15rem solid #fff;border-radius:50% 50% 50% 0;background:var(--accent-alt);transform:rotate(-45deg)}.map-marker b{max-width:10rem;margin-top:.15rem;padding:.12rem .3rem;border-radius:.2rem;background:#000000b3;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-placement-help{margin:0;color:var(--muted)}.map-annotation-actions,.map-marker-adder{display:flex;align-items:end;gap:.5rem}.map-marker-adder label{display:grid;flex:1;gap:.3rem}.map-marker-list{display:grid;gap:.4rem;margin:0;padding:0;list-style:none}.map-marker-list li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.35rem .45rem;border-radius:.35rem;background:#ffffff0d}.map-marker-list button{min-height:2rem;padding:.25rem .55rem}.screen-share-control{display:grid;gap:.35rem;max-width:24rem}.screen-share-control small{color:var(--muted);line-height:1.35}.map-inspect-button,.map-local-controls{position:absolute;z-index:3;right:.65rem;top:.65rem}.map-local-controls{display:flex;flex-wrap:wrap;justify-content:end;gap:.25rem;max-width:min(24rem,calc(100% - 1.3rem))}.map-local-controls button{min-width:2.2rem;padding:.35rem .5rem}@media(prefers-reduced-motion:reduce){.map-world{transition:none}}.shared-content-stage>img{width:100%;height:100%;display:block}.shared-participant-rail{min-height:0;display:grid;align-content:start;gap:.75rem;overflow:auto}.shared-participant-rail .room-player-tile{min-height:0;aspect-ratio:16 / 9}.session-controls{position:relative}.encounter-controls textarea{min-width:min(28rem,78vw);resize:vertical}.prepared-encounter-picker{display:grid;gap:.35rem;padding:.65rem;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:.55rem;background:color-mix(in srgb,var(--accent) 8%,transparent)}.prepared-encounter-picker label{display:grid;gap:.3rem}.prepared-encounter-picker small{color:var(--muted)}.encounter-roster{display:grid;gap:.55rem;min-width:0;width:100%;margin:0;padding:.65rem;border:1px solid rgb(255 255 255 / 12%);border-radius:.55rem}.encounter-roster>p,.encounter-roster>small{margin:0;color:var(--muted)}.encounter-roster>button{justify-self:start}.encounter-roster [data-encounter-rows]{display:grid;gap:.45rem}.encounter-roster-row{display:grid;grid-template-columns:minmax(9rem,1.5fr) minmax(5.5rem,.6fr) minmax(10rem,1.5fr) auto;align-items:end;gap:.4rem;padding:.45rem;background:#ffffff0a;border-radius:.4rem}.encounter-roster-row.has-roll-mode{grid-template-columns:minmax(9rem,1.5fr) minmax(6rem,.65fr) minmax(7rem,.8fr) auto auto}.encounter-roster-row>label:not(.encounter-checkbox){display:grid;gap:.2rem}.encounter-roster-row label>span{color:var(--muted);font-size:.7rem}.encounter-roster-row .encounter-checkbox{display:flex;align-items:center;gap:.3rem;min-height:2.4rem}.encounter-row-buttons{display:flex;gap:.2rem}.encounter-row-buttons button{min-width:1.9rem;padding:.35rem 0;font-size:1rem}@media(max-width:720px){.encounter-roster-row,.encounter-roster-row.has-roll-mode{grid-template-columns:1fr 1fr auto}.encounter-roster-row>label:first-of-type{grid-column:1 / 3}}.encounter-board{position:fixed;z-index:24;right:1rem;bottom:1rem;width:min(22rem,calc(100vw - 2rem));max-height:min(34rem,70vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:var(--text);background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:.75rem;box-shadow:0 1rem 3rem #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.encounter-board header{align-items:center;flex-wrap:wrap}.encounter-board header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem;margin-left:auto}.encounter-board header nav button{padding:.3rem .45rem;font-size:.68rem}.encounter-board-content{min-height:0;overflow:auto}.encounter-board.is-collapsed{width:min(18rem,calc(100vw - 2rem));max-height:none}.encounter-board.is-collapsed .encounter-board-content{display:none}.chat-panel{position:fixed;z-index:28;right:1rem;top:5rem;width:min(22rem,calc(100vw - 2rem));max-height:min(34rem,calc(100vh - 7rem));display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:var(--text);background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:.7rem;box-shadow:0 1rem 3rem #00000073;overflow:hidden}.chat-panel header,.chat-form{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem}.chat-panel header h2,.chat-panel header p,.chat-panel li p{margin:0}.chat-panel ol{display:grid;align-content:start;gap:.45rem;margin:0;padding:.65rem;overflow:auto;list-style:none}.chat-panel li{display:grid;justify-items:start;padding:.45rem .55rem;background:#ffffff0d;border-radius:.5rem}.chat-panel li.is-own{justify-self:end;background:color-mix(in srgb,var(--accent) 18%,transparent)}.chat-panel time{color:var(--muted);font-size:.65rem}.chat-moderation{display:flex;gap:.25rem;margin-top:.25rem}.chat-moderation button{padding:.18rem .35rem;font-size:.65rem}.chat-moderation-confirm{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;background:color-mix(in srgb,var(--accent-alt) 20%,var(--panel));border-top:1px solid rgb(255 255 255 / 10%)}.chat-moderation-confirm span{display:flex;gap:.3rem}.chat-form{border-top:1px solid rgb(255 255 255 / 10%)}.chat-form input{min-width:0;flex:1}.encounter-board header,.encounter-board footer{display:flex;justify-content:space-between;gap:.5rem;padding:.75rem}.encounter-round-complete{margin:0;padding:.55rem .75rem;color:var(--text);background:color-mix(in srgb,var(--accent) 18%,transparent);border-block:1px solid color-mix(in srgb,var(--accent) 35%,transparent);font-size:.8rem}.encounter-end-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.encounter-end-confirm strong{font-size:.75rem}.activation-state{display:grid;justify-items:end;gap:.25rem}.activation-state button{padding:.22rem .4rem;font-size:.68rem}.encounter-condition-list{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.encounter-condition{display:inline-flex;align-items:center;gap:.2rem;width:fit-content;padding:.12rem .35rem;border-radius:999px;background:color-mix(in srgb,var(--accent-alt) 25%,transparent);font-size:.68rem}.encounter-condition>small{opacity:.72}.encounter-condition.is-save-due{border:1px solid var(--accent);border-radius:.45rem;background:color-mix(in srgb,var(--accent) 22%,transparent)}.encounter-condition button{min-width:0;padding:0 .12rem;border:0;background:transparent}.encounter-condition-editor{position:fixed;z-index:25;right:23.5rem;bottom:1rem;width:min(22rem,calc(100vw - 2rem));max-height:min(38rem,calc(100vh - 2rem));overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:.75rem;color:var(--text);background:color-mix(in srgb,var(--panel) 97%,black);box-shadow:0 1rem 3rem #00000073;animation:condition-editor-in .16s ease-out}.encounter-condition-editor>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem;border-bottom:1px solid rgb(255 255 255 / 10%)}.encounter-condition-editor>header button{min-width:2rem;padding:.25rem .45rem}.encounter-condition-editor form{display:grid;gap:.45rem;padding:.55rem}.encounter-condition-editor label{display:grid;gap:.2rem;color:var(--muted);font-size:.7rem}@keyframes condition-editor-in{0%{opacity:0;transform:translate(.75rem)}}@media(max-width:800px){.encounter-condition-editor{right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));left:max(.5rem,env(safe-area-inset-left));width:auto;max-height:calc(100dvh - 1rem)}}.encounter-event-log{border-top:1px solid rgb(255 255 255 / 10%);padding:.55rem .75rem}.encounter-event-log>summary{cursor:pointer;font-size:.75rem}.encounter-event-log ol{max-height:10rem;padding:.35rem 0 0}.encounter-event-log li{display:grid;grid-template-columns:1fr;padding:.35rem 0}.encounter-summary-review{padding:.75rem;border-top:1px solid rgb(255 255 255 / 10%);overflow:auto}.encounter-summary-review h3,.encounter-summary-review p{margin:0 0 .45rem}.encounter-summary-review form,.encounter-summary-review label{display:grid;gap:.35rem}.encounter-summary-review form{gap:.65rem}.encounter-summary-review textarea{resize:vertical}.encounter-tie-resolution{display:grid;gap:.35rem}.encounter-tie-resolution p{margin:0}.encounter-tie-resolution>div{display:flex;flex-wrap:wrap;gap:.35rem}.encounter-board header div,.encounter-board li>span:nth-child(2){display:grid}.encounter-board header span,.encounter-board small,.encounter-board em{font-size:.72rem;opacity:.72}.encounter-board ol{margin:0;padding:.25rem .75rem;overflow:auto;list-style:none}.encounter-board li{display:grid;grid-template-columns:2.5rem 2.25rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.55rem;border-radius:.45rem}.encounter-portrait,.encounter-portrait-placeholder{width:2.5rem;height:2.5rem;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:50%;object-fit:cover}.encounter-portrait-placeholder{display:grid;place-items:center;color:var(--muted);background:color-mix(in srgb,var(--panel-strong) 84%,black);font-weight:800}.encounter-board li[aria-current=step]{background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:inset 0 0 0 1px var(--accent)}.encounter-board .activation-resolved,.encounter-board .activation-spent,.encounter-board .activation-skipped{opacity:.52}.activation-order{font-size:1.1rem;font-weight:800;text-align:center;white-space:nowrap}.encounter-board:has(.activation-order:not(.has-card-art)) li{grid-template-columns:2.5rem 3.25rem minmax(0,1fr) auto}.activation-order.has-card-art{position:relative;width:2.25rem;height:3.15rem;min-width:2.25rem;padding:0;overflow:hidden;border:0;border-radius:.22rem;box-shadow:0 .2rem .55rem #00000073;cursor:zoom-in;transform-origin:center;transition:transform .14s ease,box-shadow .14s ease}.activation-order.has-card-art:hover,.activation-order.has-card-art:focus-visible{transform:translateY(-.12rem) scale(1.08);box-shadow:0 .45rem .85rem #0000008c}.activation-order.has-card-art img{width:100%;height:100%;display:block;object-fit:cover}.activation-order.has-card-art b{position:absolute;right:.12rem;bottom:.1rem;padding:0 .16rem;color:#15100b;background:#fff4d3e5;border-radius:999px;font-size:.62rem}.encounter-board.is-dealing li{animation:deal-initiative-card .42s cubic-bezier(.2,.8,.25,1) both;animation-delay:calc(var(--deal-index) * 90ms)}@keyframes deal-initiative-card{0%{opacity:0;transform:translate(7rem,-3rem) rotate(8deg) scale(.78)}70%{opacity:1;transform:translate(-.2rem) rotate(-1deg) scale(1.02)}to{opacity:1;transform:none}}.initiative-card-lightbox{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:1.5rem;background:#050403c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:initiative-card-backdrop-in .16s ease-out both}.initiative-card-lightbox>section{position:relative;display:grid;justify-items:center;gap:.75rem;width:min(25rem,calc(100vw - 3rem));animation:initiative-card-reveal .26s cubic-bezier(.2,.8,.25,1) both}.initiative-card-lightbox img{display:block;width:auto;height:min(70vh,42rem);max-width:100%;border-radius:1rem;box-shadow:0 2rem 5rem #000000a6}.initiative-card-lightbox section>div{display:grid;justify-items:center;text-shadow:0 .15rem .5rem #000}.initiative-card-lightbox section>div span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.initiative-card-lightbox section>div strong{font-size:1.1rem}.initiative-card-close{position:absolute;z-index:1;top:-.75rem;right:-.75rem;width:2.5rem;height:2.5rem;padding:0;border-radius:999px;font-size:1.5rem}@keyframes initiative-card-backdrop-in{0%{opacity:0}}@keyframes initiative-card-reveal{0%{opacity:0;transform:translateY(1.5rem) rotate(-2deg) scale(.92)}}@media(prefers-reduced-motion:reduce){.encounter-condition-editor,.encounter-board.is-dealing li,.initiative-card-lightbox,.initiative-card-lightbox>section{animation:none}.activation-order.has-card-art{transition:none}}.encounter-board footer{flex-wrap:wrap;border-top:1px solid rgb(255 255 255 / 10%)}.session-controls>summary{display:inline-flex;align-items:center;list-style:none;cursor:pointer}.session-controls>summary::-webkit-details-marker{display:none}.session-controls form{position:absolute;z-index:50;top:calc(100% + .5rem);right:0;width:min(20rem,calc(100vw - 2rem));display:grid;gap:.75rem;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:8px;padding:.9rem;background:color-mix(in srgb,var(--panel) 97%,black);box-shadow:0 18px 45px #00000080}.session-controls.encounter-controls>form[data-action=encounter-editor],.session-controls.encounter-controls>form[data-action=encounter-package-editor]{position:fixed;top:4.5rem;left:50%;right:auto;width:min(56rem,calc(100vw - 2rem));max-height:calc(100vh - 5.5rem);overflow-x:hidden;overflow-y:auto;transform:translate(-50%)}.session-controls.encounter-controls .encounter-tie-resolution form{position:static;width:auto;padding:0;border:0;background:none;box-shadow:none}.session-controls label{display:grid;gap:.3rem;color:var(--muted);font-size:.75rem}.room-player-tile{position:relative;overflow:hidden;border:2px solid var(--tile-accent);border-radius:8px;background:color-mix(in srgb,var(--panel-strong) 78%,black);box-shadow:0 24px 70px #00000052}.room-player-tile.is-rolling{border-color:var(--roller-accent, var(--tile-accent));background:#00000085}.room-player-dice{width:100%;height:100%;border:0;border-radius:0;box-shadow:none}.room-camera-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,280px));gap:.75rem;justify-content:end;align-items:end}.room-camera-tile{width:100%;opacity:.92}.main-feed{position:relative;overflow:hidden;border:2px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:8px;background:color-mix(in srgb,var(--panel-strong) 78%,black)}.media-frame{aspect-ratio:16 / 9;min-height:0}.player-scene .main-feed{align-self:start}.video-tile{position:relative;overflow:hidden;border:2px solid var(--tile-accent);border-radius:8px;background:color-mix(in srgb,var(--panel-strong) 82%,black)}.video-tile.small{min-height:0}.video-tile.large{width:100%}.self-pip{position:absolute;z-index:3;top:var(--overlay-y, 5%);left:var(--overlay-x, 3%);width:min(22%,220px);min-width:150px;cursor:grab;touch-action:none;box-shadow:0 16px 42px #0000005c}.video-label{position:absolute;z-index:2;left:.7rem;bottom:.6rem;display:grid;gap:.15rem}.video-label span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.video-label strong{font-size:.85rem}.mic-badge{position:absolute;z-index:3;top:.75rem;right:.75rem;display:grid;place-items:center;width:1.8rem;height:1.8rem;border:1px solid color-mix(in srgb,var(--muted) 30%,transparent);border-radius:999px;padding:0;background:#00000094;color:var(--muted)}.mic-badge.is-live{color:var(--accent-alt)}.mic-badge.is-muted{color:#ffb4a8}.ui-icon{display:block;flex:none}.video-noise{position:absolute;z-index:0;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--tile-accent) 35%,transparent),transparent),repeating-linear-gradient(0deg,rgb(255 255 255 / .04),rgb(255 255 255 / .04) 1px,transparent 1px,transparent 7px)}.livekit-video-layer,.livekit-video{position:absolute;inset:0;width:100%;height:100%}.livekit-video-layer{z-index:1;pointer-events:none}.livekit-video{object-fit:cover}.livekit-slot.has-live-video .video-noise{opacity:0}.media-diagnostics{display:none;position:absolute;z-index:4;top:.55rem;left:.55rem;padding:.3rem .45rem;border-radius:4px;background:#000000c7;color:#fff;font:600 .68rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0;pointer-events:none}.show-media-diagnostics .media-diagnostics{display:block}.dice-stage{position:relative;border:2px solid var(--roller-accent, var(--accent));border-radius:8px;overflow:hidden;background:#0000007a;box-shadow:0 24px 70px #0006}.dice-stage.video-card{width:100%;animation:diceSlideIn .18s ease-out}.dice-stage.dice-overlay{position:absolute;z-index:4;top:var(--overlay-y, 7%);left:var(--overlay-x, 56%);width:min(42%,560px);min-width:430px;cursor:grab;touch-action:none;box-shadow:0 26px 80px #0000007a}.self-pip.is-dragging,.dice-stage.dice-overlay.is-dragging{cursor:grabbing}@keyframes diceSlideIn{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:translate(0)}}.dice-stage-heading{position:absolute;z-index:2;top:.75rem;left:.8rem;right:.8rem;display:flex;justify-content:space-between;gap:.8rem;align-items:center;pointer-events:none}.dice-static-result{display:grid;min-height:7rem;place-items:center;padding:1rem;color:var(--text);font-size:clamp(1.5rem,5vw,3rem);font-weight:800;text-align:center}.dice-stage-heading span,.dice-stage-heading strong{padding:.34rem .55rem;border-radius:6px;background:#00000094}.dice-stage-outcome{position:absolute;z-index:3;left:50%;bottom:.8rem;transform:translate(-50%);max-width:calc(100% - 1.6rem);border:1px solid color-mix(in srgb,var(--roller-accent, var(--accent)) 70%,white 15%);border-radius:999px;padding:.48rem .85rem;color:var(--text);background:#000000c7;font-weight:800;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.history-roll-detail{color:var(--muted)}.history-roll-reuse{width:fit-content;min-height:0;border:0;padding:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.history-roll-reuse:hover em,.history-roll-reuse:focus-visible em{color:var(--accent);text-decoration:underline}.dice-dismiss{pointer-events:auto;width:1.9rem;height:1.9rem;border-radius:999px;padding:0;display:grid;place-items:center;background:#0000009e;color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,transparent);line-height:1}.dice-dismiss:hover{background:color-mix(in srgb,var(--accent) 28%,black)}.video-card .dice-stage-heading{top:.55rem;left:.65rem;right:.65rem}.video-card .dice-stage-heading span,.video-card .dice-stage-heading strong{padding:.24rem .45rem;font-size:.82rem}dice-roller{display:block;width:100%;height:100%;min-height:0}.control-dock{display:none}.roll-inline{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:8px;padding:.55rem .75rem;background:color-mix(in srgb,var(--panel) 86%,black)}.roll-inline .eyebrow{margin:0}.panel{border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:8px;padding:1rem;background:color-mix(in srgb,var(--panel) 86%,black)}.roll-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem;align-items:start}.roll-inline .roll-form{grid-template-columns:minmax(0,1fr) auto auto}.roll-settings{position:relative}.roll-settings summary{display:grid;place-items:center;width:2.85rem;height:2.85rem;border:1px solid color-mix(in srgb,var(--accent) 55%,white 15%);border-radius:6px;color:var(--text);background:color-mix(in srgb,var(--panel-strong) 78%,black);cursor:pointer;list-style:none}.roll-settings summary::-webkit-details-marker{display:none}.expression-history-menu summary{width:auto;min-width:4.75rem;padding:0 .7rem;font-size:.78rem;font-weight:700}.expression-history-menu .roll-settings-panel{grid-template-columns:1fr}.expression-history-choice{min-height:2.2rem;padding:.4rem .6rem;text-align:left}.roll-settings-panel{position:absolute;z-index:6;top:calc(100% + .45rem);right:0;width:260px;display:grid;gap:.8rem;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:8px;padding:.9rem;background:color-mix(in srgb,var(--panel) 94%,black);box-shadow:0 22px 60px #0000005c}.history-panel ol{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.history-panel li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.15rem .55rem;align-items:center}.history-panel li span{grid-row:span 2;width:.7rem;height:.7rem;border-radius:50%;background:var(--dot)}.history-panel em{color:var(--muted);font-style:normal}.history-popover{position:relative;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:8px;background:color-mix(in srgb,var(--panel) 86%,black)}.history-popover summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:4.05rem;padding:.75rem 1rem;cursor:pointer;list-style:none}.history-popover summary::-webkit-details-marker{display:none}.history-popover summary span{color:var(--accent);font-size:.74rem;font-weight:800;text-transform:uppercase}.history-popover summary strong{color:var(--muted);font-size:.9rem}.history-popover-panel{position:absolute;z-index:5;top:calc(100% + .45rem);right:0;width:min(420px,44vw);max-height:380px;overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:8px;padding:1rem;background:color-mix(in srgb,var(--panel) 94%,black);box-shadow:0 22px 60px #0000005c}.history-popover-panel ol{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}@media(min-width:1800px){.table-shell{grid-template:"topbar" auto "scene" minmax(0,1fr) / minmax(0,1fr)}}@media(max-width:950px){.shared-content-popover{top:max(.5rem,env(safe-area-inset-top));width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:.75rem}.shared-content-selection,.map-viewport-sliders,.map-pointer-controls{grid-template-columns:minmax(0,1fr)}.map-presentation-controls>header{align-items:flex-start;flex-direction:column}.map-share-button{justify-self:stretch;width:100%}.host-map-toolbar{right:.4rem;bottom:.4rem;max-width:calc(100% - .8rem);flex-wrap:wrap;justify-content:flex-end}html,body{min-width:0;min-height:100%;overflow-x:hidden}body,#app,.join-shell,.table-shell{min-height:100dvh}button,input,select,.roll-settings summary{min-height:44px}.join-shell{place-items:start center;padding:max(1rem,env(safe-area-inset-top)) max(.8rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.8rem,env(safe-area-inset-left))}.join-panel{border-radius:10px;padding:1rem}.wizard-card{min-height:4.8rem;padding:.9rem}.choice-grid{grid-template-columns:minmax(0,1fr)}.table-shell,.table-shell.is-display{width:100%;min-width:0;grid-template:"topbar" auto "scene" auto / minmax(0,1fr);align-content:start;gap:.65rem;padding:max(.65rem,env(safe-area-inset-top)) max(.55rem,env(safe-area-inset-right)) max(.8rem,env(safe-area-inset-bottom)) max(.55rem,env(safe-area-inset-left))}.topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;min-height:0}.topbar h1{font-size:1.35rem}.topbar .eyebrow{font-size:.68rem}.topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.45rem;width:100%;overflow:visible;padding-bottom:.15rem}.toolbar-menu-panel{position:fixed;z-index:100;top:auto;right:max(.55rem,env(safe-area-inset-right));bottom:max(.65rem,env(safe-area-inset-bottom));left:max(.55rem,env(safe-area-inset-left));width:auto;max-width:none;max-height:min(76dvh,38rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.toolbar-menu-panel .toolbar-group{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch}.toolbar-menu-panel .topbar-button,.toolbar-menu-panel .connection-pill{width:100%;justify-content:flex-start;text-align:left}.toolbar-menu-panel .device-view-menu-panel,.toolbar-menu-panel .active-devices-panel,.toolbar-menu-panel .table-display-panel,.toolbar-menu-panel .package-attribution>div{position:static;width:100%;max-width:none;max-height:min(52dvh,28rem);margin-top:.35rem;overflow-y:auto;box-shadow:none}.topbar-button,.connection-pill,.token-badge{flex:0 0 auto;min-height:44px}.topbar-button{padding:0 .72rem}.camera-switch-button{display:inline-flex}.media-control-status{flex:0 0 min(78vw,20rem);align-self:center}.scene{min-height:0;overflow:visible}.player-scene{display:flex;flex-direction:column;gap:.65rem;padding:.55rem}.remote-media-grid{order:1;width:100%}.remote-roll-strip{order:2;grid-template-columns:minmax(0,1fr);gap:.65rem}.remote-media-grid.has-rail{grid-template-columns:minmax(0,1fr)}.media-rail{grid-auto-flow:column;grid-auto-columns:minmax(9rem,42vw);grid-template-columns:none;max-height:none;overflow-x:auto;overflow-y:hidden;padding:0 0 .2rem;scroll-snap-type:x proximity}.rail-tile{scroll-snap-align:start}.media-frame{aspect-ratio:16 / 9}.self-pip{left:clamp(.4rem,var(--overlay-x, 3%),64%);top:clamp(.4rem,var(--overlay-y, 5%),62%);width:clamp(6.5rem,30%,9rem);min-width:0}.dice-stage.dice-overlay{left:clamp(.4rem,var(--overlay-x, 4%),14%);top:clamp(.4rem,var(--overlay-y, 7%),42%);width:min(84%,24rem);min-width:0}.roll-inline{grid-template-columns:minmax(0,1fr);gap:.55rem;padding:.7rem}.roll-form,.roll-inline .roll-form{grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem}.roll-form button,.roll-settings summary{padding-right:.7rem;padding-left:.7rem}.roll-settings-panel{position:fixed;top:auto;right:max(.6rem,env(safe-area-inset-right));bottom:max(.6rem,env(safe-area-inset-bottom));left:max(.6rem,env(safe-area-inset-left));width:auto;max-height:72dvh;overflow:auto}.history-popover summary{min-height:3.25rem;padding:.65rem .75rem}.history-popover-panel{position:static;width:100%;max-height:15rem;border-width:1px 0 0;border-radius:0 0 8px 8px;box-shadow:none}.room-scene,.camera-only-shell{padding:.55rem}.room-display-layout{height:auto}.room-player-grid,.room-player-grid.player-count-1,.room-player-grid.player-count-2,.room-player-grid.player-count-3,.room-player-grid.player-count-4,.shared-content-layout,.shared-content-layout.has-participants,.camera-only-grid,.camera-only-grid.camera-count-1,.camera-only-grid.camera-count-3,.camera-only-grid.camera-count-4{grid-template-columns:minmax(0,1fr)}.shared-participant-rail{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));overflow:visible}.room-camera-strip{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.camera-only-shell{align-content:start;gap:.75rem}.camera-only-grid{width:100%}.camera-station-layout,.camera-station-layout.has-rail{width:100%;min-height:70vh;grid-template-columns:minmax(0,1fr)}.camera-station-main{min-height:62vh}.camera-station-rail{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.camera-station-note{padding:0 .5rem}.media-diagnostics{right:.4rem;max-width:calc(100% - .8rem);overflow-wrap:anywhere;font-size:.6rem}}@media(max-width:420px){.roll-form,.roll-inline .roll-form{grid-template-columns:minmax(0,1fr) auto}.roll-settings{grid-column:2;grid-row:1}.roll-form>button[type=submit]{grid-column:1 / -1}}.character-choice-grid{display:grid;gap:.75rem;margin:0;padding:0;border:0}.character-choice-grid legend{margin-bottom:.65rem;font-weight:700}.character-choice-grid .wizard-card{grid-template-columns:auto 3rem 1fr;cursor:pointer}.character-choice-portrait{width:3rem;height:3rem;object-fit:cover;border-radius:50%}.character-video-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.background-controls{display:inline-flex;gap:.35rem}.background-controls .is-active{outline:2px solid var(--accent);outline-offset:1px}.background-controls .topbar-button:disabled{opacity:.42;cursor:not-allowed}.compact-character-panel{position:fixed;z-index:20;top:.75rem;right:.75rem;bottom:.75rem;width:min(25rem,calc(100vw - 1.5rem));overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:12px;padding:1rem;background:color-mix(in srgb,var(--panel) 96%,black);box-shadow:0 28px 90px #0000009e}.compact-character-panel>header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.compact-character-panel h2,.compact-character-panel h3,.compact-character-panel p{margin:0}.compact-character-panel header p:last-child{margin-top:.25rem;color:var(--muted)}.character-panel-close{width:2.5rem;height:2.5rem;border-radius:999px;padding:0;font-size:1.5rem;line-height:1}.compact-character-portrait{width:100%;max-height:18rem;margin-top:1rem;border-radius:8px;background:color-mix(in srgb,var(--panel-strong) 80%,black);object-fit:contain}.compact-character-sections{display:grid;gap:1rem;margin-top:1rem}.compact-character-sections section{border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding-top:.8rem}.compact-character-sections h3{margin-bottom:.55rem;color:var(--accent);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.compact-character-sections dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;margin:0}.compact-character-sections dl div{display:flex;justify-content:space-between;gap:.5rem;border-radius:6px;padding:.45rem .55rem;background:color-mix(in srgb,var(--panel-strong) 78%,black)}.compact-character-sections dt{color:var(--muted)}.compact-character-sections dd{margin:0;font-weight:800}.character-check-button{max-width:100%;min-width:3rem;padding:.25rem .45rem;border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);border-radius:.45rem;color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent);font:inherit;font-weight:700;overflow-wrap:anywhere;text-align:left;white-space:normal;cursor:pointer}.compact-character-sections dl div.has-character-long-value{flex-direction:column;align-items:stretch}.compact-character-sections dl div.has-character-long-value dd,.compact-character-sections dl div.has-character-long-value .character-check-button{width:100%}.character-check-controls{position:sticky;bottom:0;display:grid;gap:.65rem;margin-top:.85rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:.75rem;background:color-mix(in srgb,var(--panel-strong) 94%,black)}.character-automatic-banes{border-radius:.55rem;padding:.55rem .65rem;background:color-mix(in srgb,var(--accent) 10%,transparent)}.character-automatic-banes>span{color:var(--accent);font-size:.75rem;font-weight:800;text-transform:uppercase}.character-automatic-banes ul{margin:.3rem 0 0;padding-left:1.2rem;color:var(--muted);font-size:.85rem}.character-check-controls header,.character-check-modifiers,.character-check-modifiers span{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.character-check-controls header div{display:grid;gap:.15rem}.character-check-controls header span{color:var(--muted);font-size:.78rem}.character-check-modifiers span{flex:1}.character-check-modifiers button{min-width:2rem}.character-weapon-features{display:grid;gap:.4rem;color:var(--muted);font-size:.78rem}.character-weapon-features p{margin:0;color:var(--text)}.character-weapon-features div,.character-critical-options{display:flex;flex-wrap:wrap;gap:.4rem}.character-push-options .character-critical-options button{flex:1 1 9rem}.character-weapon-features button.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 28%,transparent)}.compact-character-sections dt{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.character-status{border:1px solid color-mix(in srgb,var(--accent-alt) 65%,transparent);border-radius:999px;padding:.08rem .38rem;color:var(--accent-alt);font-size:.62rem;font-weight:700;text-transform:uppercase}.condition-toggle{min-height:0;margin-left:.3rem;background:transparent;opacity:.55}.condition-toggle.is-active{background:color-mix(in srgb,var(--accent-alt) 18%,transparent);opacity:1}.character-resource-adjustment{display:inline-flex;align-items:center;gap:.35rem}.character-resource-adjustment button{width:1.65rem;height:1.65rem;min-height:0;padding:0;border-radius:50%}.character-resource-adjustment b{min-width:2.8rem;text-align:center}.character-sheet-actions{border-top:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding-top:.85rem;display:grid;gap:.55rem}.character-test-tools{border-top:1px solid color-mix(in srgb,var(--accent) 45%,transparent);margin-top:.85rem;padding-top:.85rem;display:grid;gap:.55rem}.character-test-tools h3{color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.character-sheet-actions>h3{margin:0;color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.character-sheet-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end;padding:.6rem;border-radius:.55rem;background:color-mix(in srgb,var(--panel-strong) 78%,transparent)}.character-sheet-action>div{display:grid;gap:.15rem}.character-sheet-action span{color:var(--muted);font-size:.72rem}.character-sheet-action label{grid-column:1 / -1;display:grid;gap:.25rem}.character-sheet-action select{min-height:2rem}.character-action-options{grid-column:1 / -1;display:grid;gap:.4rem;margin:0;padding:.55rem;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:.5rem}.character-action-options legend{color:var(--accent);font-size:.72rem;font-weight:700}.character-action-options label{display:flex;grid-column:auto;align-items:flex-start;gap:.45rem}.character-action-options label span{display:grid}.character-action-options small{color:var(--muted);line-height:1.3}.character-death-save{border:1px solid color-mix(in srgb,#c95757 70%,transparent);border-radius:.7rem;padding:.75rem;display:grid;gap:.55rem;background:color-mix(in srgb,#621d24 18%,var(--panel-strong))}.character-death-save h3,.character-death-save p{margin:0}.character-death-save>div{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.death-save-marks{display:flex;gap:.35rem}.death-save-marks i{width:1rem;height:1rem;border:1px solid var(--muted);border-radius:50%}.death-save-marks i.is-marked{border-color:#e06464;background:#e06464}.character-death-actions{display:grid!important;grid-template-columns:1fr 1fr}.character-advancement{border-top:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding-top:.85rem}.character-advancement summary{cursor:pointer;color:var(--accent);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.character-advancement summary span{float:right;color:var(--muted);font-size:.68rem}.character-advancement>p{margin:.55rem 0;color:var(--muted);font-size:.72rem;line-height:1.35}.character-advancement-skills{display:grid;gap:.3rem;max-height:22rem;overflow:auto;padding-right:.2rem}.character-advancement-skill{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.45rem;min-height:2rem;padding:.3rem .4rem;border-radius:.45rem;background:color-mix(in srgb,var(--panel-strong) 78%,transparent)}.character-advancement-skill.is-eligible{outline:1px solid color-mix(in srgb,var(--accent-alt) 60%,transparent)}.character-advancement-skill>b{color:var(--accent)}.character-advancement-skill>button:last-child{min-height:1.65rem;padding:.2rem .5rem}.advancement-checkbox{width:1.35rem;height:1.35rem;min-height:0;padding:0;border-radius:.25rem;font-weight:800}.skill-name-with-mark{display:inline-flex;align-items:center;gap:.38rem;min-width:0}.skill-name-with-mark>span{min-width:0;overflow-wrap:anywhere}.skill-value-editor{position:relative;min-width:0}.skill-value-editor summary{cursor:pointer;overflow-wrap:anywhere}.skill-value-editor[open] .character-resource-adjustment{position:absolute;z-index:6;top:calc(100% + .25rem);left:0;padding:.3rem;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;background:var(--panel-strong);box-shadow:0 8px 24px #0006;white-space:nowrap}.character-inventory{margin-top:1rem;border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding-top:.8rem}.character-inventory>header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.character-inventory h3,.character-inventory p{margin:0}.character-inventory h3{color:var(--accent);font-size:.85rem;text-transform:uppercase}.character-inventory .is-overloaded{color:#ffb4a8;font-weight:700}.inventory-items{display:grid;gap:.55rem;margin-top:.7rem}.inventory-items form,.inventory-add{display:grid;grid-template-columns:minmax(8rem,2fr) 4.5rem 6.5rem auto minmax(8rem,2fr) auto;gap:.4rem;align-items:end}.inventory-items label,.inventory-add label{color:var(--muted);font-size:.68rem}.inventory-items input,.inventory-add input{min-height:2rem;padding:.35rem .45rem}.inventory-items label input,.inventory-add label input{width:auto}.inventory-items form>div{display:flex;gap:.25rem}.inventory-items button,.inventory-add button{min-height:2rem;padding:.3rem .5rem}.inventory-add{margin-top:.7rem}.dragonbane-details{margin:.75rem 0;border:1px solid var(--line);border-radius:.65rem;padding:.65rem}.dragonbane-details>summary{cursor:pointer;font-weight:700;color:var(--accent)}.dragonbane-details form{display:grid;gap:.65rem;margin-top:.75rem}.dragonbane-details fieldset{display:grid;grid-template-columns:minmax(0,2fr) 5rem minmax(0,3fr);gap:.4rem;border:0;padding:0}.dragonbane-details label{display:grid;gap:.25rem;font-size:.78rem;color:var(--muted)}.dragonbane-details textarea{min-height:4.5rem;resize:vertical}.dragonbane-details input,.dragonbane-details textarea{width:100%}.character-exceptional-options{border-color:var(--accent)}.character-critical-options button{flex:1 1 8rem}.journal-panel{position:fixed;z-index:21;top:.75rem;right:.75rem;bottom:.75rem;width:min(30rem,calc(100vw - 1.5rem));overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:12px;padding:1rem;background:color-mix(in srgb,var(--panel) 97%,black);box-shadow:0 28px 90px #0000009e}.journal-panel>header,.journal-entry>header{display:flex;justify-content:space-between;align-items:start;gap:1rem}.journal-panel h2,.journal-panel h3,.journal-panel p{margin:0}.journal-form{display:grid;gap:.55rem;margin-top:1rem;border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding-top:.85rem}.journal-form input,.journal-form textarea{width:100%;box-sizing:border-box}.journal-form textarea{min-height:4.5rem;resize:vertical}.journal-loot-form{grid-template-columns:minmax(0,1fr) 5rem}.journal-loot-form h3,.journal-loot-form textarea,.journal-loot-form button{grid-column:1 / -1}.journal-entries{display:grid;gap:.7rem;margin-top:1rem}.journal-entry{display:grid;gap:.35rem;border-radius:8px;padding:.75rem;background:color-mix(in srgb,var(--panel-strong) 80%,black)}.journal-entry small,.journal-entry>p:first-of-type,.journal-empty{color:var(--muted)}.loot-quantity{display:inline-flex;align-items:center;gap:.45rem}.loot-quantity button{width:2rem;height:2rem;padding:0;border-radius:999px}.loot-quantity b{min-width:2ch;text-align:center}.journal-entry-actions{display:flex;gap:.45rem;justify-content:end;margin-top:.35rem}.journal-entry-actions button,.journal-edit-form button{padding:.45rem .7rem}.journal-edit-form{margin-top:0;border-top:0;padding-top:0}.scene-layout-grid{display:grid;gap:.65rem;border:0;padding:0;margin:0}.scene-layout-grid legend{margin-bottom:.45rem;color:var(--muted)}.scene-layout-card{grid-template-columns:auto minmax(0,1fr);align-items:center}.scene-layout-card input{width:1.25rem;min-height:1.25rem}.scene-layout-card span{display:grid;gap:.25rem}.scene-layout-card small,.session-context{color:var(--muted)}.session-context{display:block;margin-top:.15rem;font-size:.75rem}.package-attribution{position:relative}.package-attribution summary{cursor:pointer;color:var(--muted);font-size:.75rem}.package-attribution>div{position:absolute;z-index:50;top:calc(100% + .5rem);right:0;width:min(28rem,calc(100vw - 2rem));border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:8px;padding:.9rem;background:color-mix(in srgb,var(--panel) 97%,black);box-shadow:0 18px 45px #00000080}.package-attribution p{margin:.5rem 0;color:var(--muted);line-height:1.45}.package-status{display:block;margin-top:.3rem;color:var(--accent-alt);font-size:.72rem;font-weight:700;text-transform:uppercase}.package-attribution a{color:var(--accent)}.character-choice-grid .character-choice-card{grid-template-columns:auto 3rem minmax(0,1fr);align-items:center;gap:.85rem;min-height:4.75rem;padding:.75rem .9rem}.character-choice-card>input{width:1.25rem;min-height:1.25rem;margin:0}.character-choice-placeholder,.character-choice-portrait{grid-column:2;grid-row:1;width:3rem;height:3rem;border-radius:50%}.character-choice-placeholder{display:grid;place-items:center;color:var(--muted);background:color-mix(in srgb,var(--accent) 12%,var(--panel-strong));font-weight:800}.character-choice-copy{grid-column:3;grid-row:1;display:grid;gap:.2rem;min-width:0}.character-choice-copy strong,.character-choice-copy small{overflow-wrap:anywhere}.character-choice-copy small{color:var(--muted)}.player-controls{position:relative;flex:0 0 auto}.player-controls>summary{display:inline-flex;align-items:center;list-style:none;cursor:pointer}.player-controls>summary::-webkit-details-marker{display:none}.player-controls[open]>summary{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--panel-strong))}.player-controls-panel{position:absolute;z-index:40;top:calc(100% + .55rem);right:0;width:min(34rem,calc(100vw - 2rem));display:grid;gap:.9rem;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:10px;padding:1rem;background:color-mix(in srgb,var(--panel) 97%,black);box-shadow:0 24px 70px #00000094}.player-controls-panel section{display:grid;gap:.45rem}.camera-controls>section{display:grid;gap:.45rem}.camera-controls>section+section{border-top:1px solid color-mix(in srgb,var(--accent) 20%,transparent);padding-top:.75rem}.player-controls-panel h3,.camera-controls h3{margin:0;color:var(--accent);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.player-controls-panel section>div,.player-controls-actions{display:flex;flex-wrap:wrap;gap:.45rem}.camera-controls section>div{display:flex;flex-wrap:wrap;gap:.45rem}.player-dice-settings label{flex:1 1 9rem;display:grid;gap:.25rem;color:var(--muted);font-size:.76rem}.player-dice-settings label:first-child{flex:0 0 4.5rem}.player-dice-settings input,.player-dice-settings select{min-height:2.5rem}.player-controls-actions{justify-content:flex-end;border-top:1px solid color-mix(in srgb,var(--accent) 20%,transparent);padding-top:.75rem}.player-controls-panel .media-control-status:empty{display:none}.roll-form,.roll-inline .roll-form{grid-template-columns:minmax(0,1fr) auto auto}.self-pip .video-label{left:.5rem;bottom:.4rem}.self-pip .video-label strong{font-size:.78rem}@media(min-width:951px){.table-shell.has-workspace-panel{padding-right:1rem}.table-shell.has-workspace-panel .scene{margin-right:min(35.5rem,40vw)}.compact-character-panel,.journal-panel{top:5.75rem;right:.75rem;bottom:.75rem;box-shadow:0 18px 55px #0000007a}.compact-character-panel{width:min(34rem,calc(40vw - 1.5rem));overflow-x:hidden}.journal-panel{width:min(34rem,calc(40vw - 1.5rem))}.chat-panel{top:5.75rem;right:.75rem;bottom:.75rem;width:min(34rem,calc(40vw - 1.5rem));max-height:none;box-shadow:0 18px 55px #0000007a}}.compact-character-sections dl div{min-width:0;align-items:center}.compact-character-sections dt,.compact-character-sections dd{min-width:0;overflow-wrap:anywhere}.compact-character-sections dt{line-height:1.25}.compact-character-sections dd{flex:0 0 auto}.character-resource-adjustment{gap:.22rem}.character-resource-adjustment b{min-width:2.35rem}@media(max-width:950px){.table-shell.has-workspace-panel{padding-right:max(.55rem,env(safe-area-inset-right))}.compact-character-panel,.journal-panel{top:max(.65rem,env(safe-area-inset-top));right:max(.55rem,env(safe-area-inset-right));bottom:max(.65rem,env(safe-area-inset-bottom));left:max(.55rem,env(safe-area-inset-left));width:auto}.chat-panel{top:max(.65rem,env(safe-area-inset-top));right:max(.55rem,env(safe-area-inset-right));bottom:max(.65rem,env(safe-area-inset-bottom));left:max(.55rem,env(safe-area-inset-left));width:auto;max-height:none}.player-controls-panel{position:fixed;top:auto;right:max(.55rem,env(safe-area-inset-right));bottom:max(.65rem,env(safe-area-inset-bottom));left:max(.55rem,env(safe-area-inset-left));width:auto;max-height:80dvh;overflow:auto}.roll-form,.roll-inline .roll-form{grid-template-columns:minmax(0,1fr) auto auto}}@media(max-width:520px){.compact-character-sections dl{grid-template-columns:minmax(0,1fr)}.character-choice-grid .character-choice-card{grid-template-columns:auto 2.5rem minmax(0,1fr);gap:.65rem}.character-choice-placeholder,.character-choice-portrait{width:2.5rem;height:2.5rem}}.table-display-controls{position:relative}.table-display-controls>summary{list-style:none;white-space:nowrap}.table-display-controls>summary::-webkit-details-marker{display:none}.table-display-panel{position:absolute;z-index:80;top:calc(100% + .6rem);right:0;width:min(25rem,calc(100vw - 2rem));padding:1rem;border:1px solid var(--accent);border-radius:.75rem;background:var(--panel);box-shadow:0 1rem 3rem #00000073}.table-display-panel p{margin:.5rem 0 .8rem;color:var(--muted)}.table-display-panel div{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}.table-display-panel small{color:var(--muted)}
