/* Shared visual language of the voice room. */
:root{--realm-bg:#0c1019;--realm-card:#121722e8;--realm-line:#ffffff16;--realm-text:#e4dce9;--realm-muted:#a49bac;--realm-accent:#cf94b0}
body.sector-site{background:radial-gradient(ellipse at 15% 8%,#5c2d4733,transparent 55%),radial-gradient(ellipse at 90% 45%,#23483e24,transparent 55%),var(--realm-bg);color:var(--realm-text)}
.sector-site .card,.sector-site .form-section,.sector-site .character-card,.sector-site .login,.sector-site .dashboard-step,.sector-site .dashboard-status,.sector-site .campaign-primer,.sector-site .prep-readiness,.sector-site .prep-story-hook,.sector-site .party-scene,.sector-site .simple-rules article,.sector-site .rules-extra,.sector-site .bestiary-detail,.sector-site .bestiary-list,.sector-site .player-widget,.sector-site .master-widget{background:var(--realm-card);border:1px solid var(--realm-line);border-radius:18px;box-shadow:0 14px 50px #0002;backdrop-filter:blur(18px)}
.sector-site input,.sector-site select,.sector-site textarea{background:#0e131d;border-color:#ffffff24;color:var(--realm-text)}
.sector-site input:focus,.sector-site textarea:focus,.sector-site select:focus{outline-color:var(--realm-accent)}
.sector-site .reference-heading h1 span,.sector-site .eyebrow,.sector-site .table-text-link,.sector-site .party-scene-meta>a{color:var(--realm-accent)}
.sector-site .simple-rules p,.sector-site .reference-heading>p,.sector-site .bestiary-fact p,.sector-site .rules-extra p{color:var(--realm-muted)}
.sector-site .prep-steps button,.sector-site .profession-card,.sector-site .creator-item,.sector-site .bestiary-tools input,.sector-site .bestiary-tools select{background:#141925;border-color:var(--realm-line)}
.sector-site .character-card{max-height:none;overflow:visible}
.player-widgets,.party-widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.voice-room .sector-room-layout{grid-template-columns:minmax(0,1fr) 330px;gap:28px}
.sector-site .player-widget{--widget-color:#d889a7;overflow:visible;min-width:0}
.player-widget[data-color=violet]{--widget-color:#b29ae5}.player-widget[data-color=blue]{--widget-color:#75b5e6}.player-widget[data-color=amber]{--widget-color:#d7b271}
.sector-site .player-widget.is-speaking{border-color:var(--widget-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--widget-color) 35%,transparent),0 0 44px color-mix(in srgb,var(--widget-color) 22%,transparent);transition:box-shadow .15s,border-color .15s}
.sector-site .player-widget.is-speaking .widget-avatar{background:color-mix(in srgb,var(--widget-color) 22%,#121722);color:#fff}
.master-widget.is-speaking{border-color:#75ceaa;box-shadow:0 0 28px #75ceaa24}
.sector-site .widget-heading{padding:21px 22px;gap:13px;flex-wrap:wrap}.sector-site .widget-heading-copy strong{font-size:19px}.sector-site .widget-heading-copy small{font-size:11px}.sector-site .widget-avatar{width:43px;height:48px;font-size:19px}.sector-site .widget-heading-tools{gap:10px}.sector-site .widget-presence{font-size:9px}.sector-site .widget-float{font-size:10px}.sector-site .widget-content,.sector-site .party-widgets .widget-content{padding:0 22px 24px;max-height:none!important;overflow:visible!important}
.sector-site .widget-toolbar,.sector-site .party-widgets .widget-toolbar{display:block;padding:0 22px 15px;border-bottom:1px solid var(--realm-line)}
.widget-drag-handle{display:none!important}.character-roll-wallet{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;width:100%;font-size:11px}.widget-last-rolls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.roll-label{color:#aaa0b1;font-size:10px;flex-basis:100%}.widget-last-rolls small{color:#827d8c}.roll-chip{padding:6px 8px;border:1px solid #ffffff18;border-radius:7px;color:#d9c0e1;background:#ffffff05;font-variant-numeric:tabular-nums}.widget-wallet{display:flex;gap:6px;align-items:center;white-space:nowrap;color:#d4b47a;padding-top:4px}.widget-wallet strong{font-size:20px;font-weight:550}.coin-icon{display:grid;place-items:center;width:22px;height:22px;color:#f0cc83;background:radial-gradient(circle,#ad7830,#4c341e);border:1px solid #d6ad65;border-radius:50%;box-shadow:inset 0 0 0 3px #0003;font-size:13px}
.character-biography{display:grid;gap:12px;margin:20px 0}.character-biography>div{border-left:2px solid color-mix(in srgb,var(--widget-color) 45%,transparent);padding-left:12px}.character-biography span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--widget-color)}.character-biography p{font-size:12px;line-height:1.75;color:#c0b7c8;margin:5px 0 0;overflow-wrap:anywhere}
.sector-site .table-resource>div span,.sector-site .table-resource>div strong{font-size:12px}.sector-site .table-gauges{grid-template-columns:repeat(2,1fr);margin:20px 0;gap:12px}.sector-site .table-gauges>div{border-color:var(--realm-line);background:#0c111a}.sector-site .table-gauges span{font-size:10px}.sector-site .table-gauges strong{font-size:22px}
.character-open-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.character-section-title{font-size:15px;font-weight:500;color:#dfc6e8;margin:5px 0 14px}.sector-site .table-item-list,.sector-site .party-widgets .table-item-list,.sector-site .table-inventory,.sector-site .table-abilities{max-height:none!important;overflow:visible!important}.sector-site .table-inventory input{font-size:12px;padding:10px}.sector-site .inventory-caption{font-size:10px;line-height:1.8}.sector-site .table-item summary{padding:12px 0;gap:11px}.sector-site .table-item strong{font-size:12px;color:#ddd2e3}.sector-site .table-item small{font-size:10px;line-height:1.6}.sector-site .table-item p,.sector-site .ability-detail p{font-size:12px;line-height:1.8;color:#aea2bb}.sector-site .ability-detail summary{font-size:12px;padding:12px 0;line-height:1.6}.sector-site .ability-detail{border-color:var(--realm-line)}.sector-site .secret-detail{padding:0 12px;background:#34233c66}.sector-site .table-effects h3{font-size:13px}.sector-site .table-effects p{font-size:12px}.sector-site .character-panel-footer small{font-size:10px;line-height:1.7}
.sector-shell,.voice-room-main,.room-widgets-section{position:static}.sector-site .player-widget.is-floating{position:absolute;width:min(580px,calc(100vw - 380px));max-height:none;z-index:80}.sector-site .player-widget.is-floating .widget-content{max-height:none!important;overflow:visible!important}
.voice-room .room-context{position:static;max-height:none;overflow:visible;display:grid;grid-template-columns:1fr;gap:20px;align-content:start}.voice-room .master-widget{position:static;max-height:none;overflow:visible;padding:22px}.voice-room .master-widget .card{border:0;border-radius:0;box-shadow:none;background:transparent;padding:20px 0 0;margin-top:20px;border-top:1px solid var(--realm-line)}.voice-room .master-widget .scene-card{padding:0;margin-top:22px}.voice-room .master-widget .scene-narration{font-size:12px;line-height:1.85}.voice-room .master-widget .journal-card{padding-top:16px}.voice-room .master-widget .room-party{padding-top:16px}.voice-room .room-map{padding:22px}.voice-room .room-map>summary{font-size:15px}.voice-room .map-location-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.voice-room .map-location-buttons button{font-size:10px;padding:9px;border:1px solid var(--realm-line);background:#171d29}.voice-room #map-description{font-size:12px;line-height:1.8}.voice-room[data-encounter-active=true]{padding-bottom:0}
.orb-legend-item.amber i{background:#e5ac52;box-shadow:0 0 10px #e5ac5270}.orb-legend-item.amber.is-speaking{color:#f3d194}
.character-lock-banner{padding:20px;border:1px solid #d0ac6855;border-radius:14px;background:#34281980;color:#ead3a8;line-height:1.7;margin:20px 0}.character-lock-banner a{color:#f1d4a0}.creator-page.is-locked .prep-steps{opacity:.6}.creator-page.is-locked .prep-editor form{opacity:.8}
@media(min-width:1400px){.character-open-sections{grid-template-columns:1fr 1fr}}
@media(min-width:1800px){.voice-room .sector-shell{width:calc(100% - 100px);max-width:2100px}.character-open-sections{grid-template-columns:1fr 1fr}.party-widgets .character-open-sections{grid-template-columns:1fr 1fr}}
@media(max-width:1250px){.voice-room .sector-room-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.voice-room .player-widgets{grid-template-columns:1fr}.player-widget .character-open-sections{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.voice-room .sector-room-layout{grid-template-columns:1fr}.player-widgets,.party-widgets{grid-template-columns:1fr}.voice-room .room-context{grid-template-columns:1fr}.voice-room .master-widget,.master-widget[data-active=false]{display:block;position:static;left:auto;right:auto;bottom:auto;max-height:none;overflow:visible;z-index:auto}.sector-site .player-widget.is-floating{position:static;width:auto}.sector-site .widget-float{display:none}.sector-site .widget-heading-copy strong{font-size:20px}.sector-site .widget-presence{display:inline}.sector-site .widget-content{padding:0 20px 22px}.sector-site .table-item .item-mark{width:44px;height:44px}.player-widget .character-open-sections{grid-template-columns:1fr}.voice-room .room-context{order:-1}.voice-room .room-map{padding:18px}.voice-room .master-widget .room-party,.voice-room .master-widget .journal-card{display:none}.voice-room .master-widget .scene-card{margin-top:15px}.voice-room .master-widget .scene-narration{font-size:12px}.voice-room .master-widget .scene-sync-note{display:none}.voice-room .room-map .valley-map{max-height:260px}.voice-room .room-map .map-location-buttons{grid-template-columns:repeat(2,1fr)}}
/* Compact cards: half the previous floating width (580 -> 290 px). */
.sector-site .player-widgets,.sector-site .party-widgets{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),290px));gap:12px;justify-content:center;align-items:start}
.sector-site .compact-player-widget{width:100%;max-width:290px;border-radius:12px}
.sector-site .compact-player-widget .widget-heading{padding:10px 11px;gap:7px;flex-wrap:nowrap}
.sector-site .compact-player-widget .widget-avatar{width:27px;height:31px;font-size:13px;border-radius:7px}
.sector-site .compact-player-widget .widget-heading-copy strong{font-size:13px;line-height:1.3}
.sector-site .compact-player-widget .widget-heading-copy small{font-size:8px;line-height:1.4;margin:2px 0 0}
.sector-site .compact-player-widget .widget-heading-tools{gap:5px;flex-direction:column;align-items:flex-end}
.sector-site .compact-player-widget .widget-presence,.sector-site .compact-player-widget .widget-float{font-size:7px;white-space:nowrap}
.sector-site .compact-player-widget .widget-content{padding:0 11px 12px;transform-origin:top left}
.sector-site .compact-player-widget .widget-toolbar{padding:0 11px 8px}
.compact-player-widget .character-roll-wallet{gap:8px;font-size:9px}.compact-player-widget .widget-last-rolls{gap:4px}.compact-player-widget .roll-label{font-size:8px}.compact-player-widget .roll-chip{font-size:8px;padding:3px 5px}.compact-player-widget .widget-wallet{gap:4px}.compact-player-widget .widget-wallet strong{font-size:15px}.compact-player-widget .coin-icon{width:16px;height:16px;font-size:9px}
.compact-player-widget .character-biography{gap:5px;margin:9px 0;cursor:pointer;border-radius:5px}.compact-player-widget .character-biography:focus-visible{outline:1px solid var(--widget-color);outline-offset:4px}.compact-player-widget .character-biography>div{padding-left:7px}.compact-player-widget .character-biography span{font-size:7px;letter-spacing:.06em}.compact-player-widget .character-biography p{font-size:9px;line-height:1.4;margin:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sector-site .compact-player-widget .table-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.sector-site .compact-player-widget .table-resource>div{gap:3px;flex-wrap:wrap}.sector-site .compact-player-widget .table-resource>div span{font-size:8px}.sector-site .compact-player-widget .table-resource>div strong{font-size:10px}.sector-site .compact-player-widget .table-resource progress{height:3px;margin-top:4px}
.sector-site .compact-player-widget .table-gauges{display:flex;gap:8px;margin:9px 0}.sector-site .compact-player-widget .table-gauges>div{display:flex;flex:1;align-items:center;justify-content:space-between;padding:4px 7px}.sector-site .compact-player-widget .table-gauges span{font-size:8px}.sector-site .compact-player-widget .table-gauges strong{font-size:12px}
.sector-site .compact-player-widget .character-open-sections{grid-template-columns:minmax(0,1fr);gap:9px}.compact-player-widget .character-section-title{font-size:10px;margin:3px 0 5px}.sector-site .compact-player-widget .table-inventory input{display:none}.sector-site .compact-player-widget .inventory-caption{font-size:8px;line-height:1.4;margin:3px 0 6px}
.sector-site .compact-player-widget .table-item-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.sector-site .compact-player-widget .table-item{margin:0;background:#ffffff03;border:1px solid #ffffff0c;border-radius:6px;min-width:0;padding:0}.sector-site .compact-player-widget .table-item summary{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:3px;padding:5px;min-height:40px;position:relative}.sector-site .compact-player-widget .table-item .item-mark{width:24px;height:24px;grid-column:1}.sector-site .compact-player-widget .table-item strong{font-size:8px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sector-site .compact-player-widget .table-item small{display:none}.sector-site .compact-player-widget .table-item summary>b{font-size:7px;position:absolute;bottom:2px;left:3px;padding:1px 2px;background:#0b101ac9;border-radius:3px}
.sector-site .compact-player-widget .table-abilities{display:grid;grid-template-columns:1fr 1fr;gap:4px}.sector-site .compact-player-widget .table-abilities>h3{grid-column:1/-1}.sector-site .compact-player-widget .ability-detail{border:1px solid #ffffff12;border-radius:5px;margin:0;padding:0 6px;background:#ffffff03}.sector-site .compact-player-widget .ability-detail summary{font-size:9px;padding:6px 0;line-height:1.35;list-style:none}.sector-site .compact-player-widget .secret-detail{background:#34233c66;grid-column:1/-1}.sector-site .compact-player-widget .private-play-notes{grid-column:1/-1}.sector-site .compact-player-widget .table-effects{margin:5px 0;padding:6px}.sector-site .compact-player-widget .table-effects h3{font-size:9px;margin:0 0 3px}.sector-site .compact-player-widget .table-effects p{font-size:9px;line-height:1.4;margin:2px 0}.sector-site .compact-player-widget .character-panel-footer{display:none}
.sector-site .compact-player-widget.is-floating{position:fixed;width:290px;max-width:calc(100vw - 16px);max-height:none;z-index:80}
.character-detail-dialog{width:min(550px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border:1px solid #76617e;border-radius:17px;background:#121722;color:#e4dce9;padding:24px;box-shadow:0 30px 150px #000a}.character-detail-dialog::backdrop{background:#050810b8;backdrop-filter:blur(8px)}.sector-site .detail-close{float:right;font-size:11px;border:1px solid #ffffff20;background:#252231;padding:7px 11px}.character-detail-body{clear:both;padding-top:10px}.character-detail-body h2{font-size:22px;line-height:1.4}.character-detail-body p{font-size:14px;line-height:1.8;color:#bcb1c8;white-space:pre-line}.character-detail-body>div{margin:18px 0}.character-detail-body>div>span{font-size:10px;color:#d49dbb;text-transform:uppercase}.character-detail-body .item-art-preview{width:160px;height:160px;margin:15px auto}
@media(max-width:800px){.sector-site .compact-player-widget.is-floating{position:static;width:100%}.sector-site .compact-player-widget .widget-float{display:none}.sector-site .player-widgets,.sector-site .party-widgets{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),290px))}}
/* Default room placement: a left-aligned row; manual dragging stays optional. */
.voice-room #player-widgets{grid-template-columns:repeat(3,minmax(0,290px));justify-content:start;gap:10px}
.voice-room #player-widgets .compact-player-widget{min-width:0}
@media(max-width:800px){.voice-room #player-widgets{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),290px));justify-content:start}}
.compact-player-widget .character-biography{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%}.compact-player-widget .character-biography>div{min-width:0;max-width:100%}.compact-player-widget .character-biography p{min-width:0;max-width:100%}
/* Identity remains readable in compact cards, including long Czech words. */
.sector-site .compact-player-widget .character-biography p,.sector-site .compact-player-widget .widget-heading-copy strong,.sector-site .compact-player-widget .widget-heading-copy small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:normal;hyphens:auto;max-width:100%}
.sector-site .compact-player-widget .character-biography p{line-height:1.45}
/* The player cards are visible on arrival, in the far-right column. */
@media(min-width:801px){
 .voice-room .room-heading{margin:18px 0 20px;align-items:center}.voice-room .room-heading h1{font-size:28px;margin:5px 0}.voice-room .room-heading .eyebrow{font-size:8px}.voice-room .room-heading p{font-size:11px;margin:5px 0}
 .voice-room .sector-room-layout{grid-template-columns:minmax(270px,.55fr) minmax(0,1.45fr);grid-template-areas:"voice players" "context players";gap:24px;align-items:start}
 .voice-room .voice-room-main{grid-area:voice;min-width:0}.voice-room .room-context{grid-area:context;min-width:0}
 .voice-room .room-widgets-section{grid-area:players;position:sticky;top:12px;align-self:start;margin-top:0;min-width:0}
 .voice-room .room-widgets-section>.section-heading{margin:0 0 12px;align-items:center}.voice-room .room-widgets-section .section-heading h2{font-size:18px;margin:5px 0}.voice-room .room-widgets-section .eyebrow{font-size:8px}.voice-room .widget-help{font-size:8px;max-width:140px;line-height:1.6}
 .voice-room #player-widgets{grid-template-columns:repeat(3,minmax(0,290px));justify-content:end;gap:10px}
 .voice-room .voice-caption{font-size:22px}.voice-room .orb-legend{gap:9px 15px}.voice-room .voice-orb{max-width:100%}
}
@media(max-width:800px){.voice-room .sector-room-layout{display:flex;flex-direction:column}.voice-room .room-widgets-section{order:-2;width:100%;margin-top:0}.voice-room .voice-room-main{order:-1;width:100%}.voice-room .room-context{order:0;width:100%}.voice-room #player-widgets{justify-content:end}}
@media(min-width:801px){.voice-room[data-encounter-active=true] .sector-room-layout{grid-template-areas:"context players" "voice players"}}
