:root{color-scheme:dark;font-family:Georgia,Times New Roman,serif;--ink:#ede0bf;--muted:#a99673;--gold:#cfaa58;--gold-2:#8c682f;--bg:#110e0c;--panel:#1d1713;--panel-2:#281f18;--line:#49371f;--danger:#c87868}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 50% -20%,#44301b 0,var(--bg) 45%)}button,input{font:inherit}button{color:var(--ink);border:1px solid var(--line);background:#2b2118;padding:.65rem .9rem;cursor:pointer;transition:.12s ease}button:hover:not(:disabled),button:focus-visible{border-color:var(--gold);background:#3b2b1c;outline:2px solid transparent}button:disabled{opacity:.45;cursor:not-allowed}.eyebrow{display:block;color:var(--gold);font:600 .68rem/1.2 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}.muted{color:var(--muted)}.auth-shell,.loading{min-height:100vh;display:grid;place-items:center;padding:2rem}.auth-panel{width:min(430px,100%);border:1px solid var(--line);padding:2.2rem;background:linear-gradient(145deg,#2a2018f5,#15110efa);box-shadow:0 28px 90px #0009;position:relative}.auth-panel:before{content:"✦";position:absolute;right:1.7rem;top:1.4rem;color:var(--gold-2);font-size:1.8rem}.auth-panel h1{font-size:2.2rem;margin:.35rem 0 .7rem;font-weight:500}.auth-panel p{color:var(--muted);line-height:1.55}.auth-panel form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;gap:.4rem;color:#d9c9a4;font:500 .82rem system-ui,sans-serif}input{width:100%;border:1px solid var(--line);background:#120f0d;color:var(--ink);padding:.75rem}input:focus{outline:1px solid var(--gold);border-color:var(--gold)}.error{color:#ffd0c8!important;background:#4a1e18;border-left:3px solid var(--danger);padding:.7rem}.loading{text-align:center;color:var(--muted)}.loading .sigil{color:var(--gold);font-size:3rem;animation:pulse 1.3s infinite}@keyframes pulse{50%{opacity:.4;transform:scale(.88)}}.game-shell{height:100vh;height:100dvh;min-height:680px;display:grid;grid-template-rows:58px minmax(0,1fr);overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#15110ef2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 1rem;font-family:system-ui,sans-serif}.topbar b{margin-left:.7rem}.connection{font-size:.75rem;color:#c9bd9e}.connection:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.45rem;background:#a9853a}.connection.online:before{background:#79a66b;box-shadow:0 0 9px #79a66b}.connection.offline:before{background:var(--danger)}.user-menu{justify-self:end;display:flex;align-items:center;gap:.8rem;font-size:.75rem;color:var(--muted)}.quiet{border:0;background:transparent;padding:.35rem .5rem}.campaign-switcher{position:relative}.campaign-switcher>div{display:flex;align-items:center}.campaign-switcher select{min-width:170px;border:0;padding:.2rem 1.7rem .2rem 0;background:transparent;color:var(--ink);font:600 .82rem system-ui,sans-serif}.campaign-switcher option{background:#211913}.campaign-switcher form{position:absolute;z-index:20;top:42px;left:0;width:240px;display:grid;gap:.4rem;padding:.7rem;border:1px solid var(--gold-2);background:#18130f;box-shadow:0 12px 30px #000b}.campaign-switcher form small{color:#db8c7e}.workspace{min-height:0;overflow:hidden;display:grid;grid-template-columns:260px minmax(500px,1fr) 320px;transition:.2s ease}.workspace.gm-closed{grid-template-columns:260px minmax(500px,1fr) 0}.party-panel,.gm-panel{min-height:0;overflow:auto;background:var(--panel)}.party-panel{border-right:1px solid var(--line);padding:1rem}.party-panel header,.gm-panel header{padding:.5rem 0 1rem;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}.party-panel h2,.gm-panel h2{font-size:1.3rem;margin:.25rem 0 0;font-weight:500}.party-list{display:grid;gap:.75rem;padding-top:1rem}.character-card{width:100%;display:grid;grid-template-columns:46px 1fr;gap:.7rem;border:0;border-bottom:1px solid #382b1d;border-radius:0;padding:.5rem 0 1rem;background:transparent;color:inherit;text-align:left}.character-card:hover,.character-card.selected{background:#2b2118;border-color:var(--gold-2)}.portrait{width:46px;height:52px;display:grid;place-items:center;border:1px solid var(--gold-2);background:#332719;color:var(--gold);font-size:1.4rem;object-fit:cover;object-position:center top}.party-story-note{margin-top:1.2rem;padding:1.2rem;border:1px solid #49371f;background:linear-gradient(145deg,#251c14,#17120f);text-align:center;color:var(--muted);font:.75rem/1.55 system-ui,sans-serif}.party-story-note span{display:block;color:var(--gold);font-size:1.7rem;margin-bottom:.6rem}.character-card h3{margin:0 0 .2rem;font-size:1rem}.concealed-badge{margin-left:.45rem;padding:.12rem .3rem;border:1px solid #7b6545;color:#d8b96f;font:600 .58rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em}.character-card small{color:var(--muted);font:.7rem system-ui,sans-serif}.character-card b{font:600 .68rem system-ui,sans-serif}.hp-line{height:5px;background:#3b211b;margin:.5rem 0 .25rem}.hp-line span{display:block;height:100%;background:#a44c3b}.xp-line{height:3px;background:#292015;margin:.45rem 0 -.35rem}.xp-line span{display:block;height:100%;background:var(--gold)}.table-area{min-width:0;min-height:0;overflow:hidden;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#17120f}.scene-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--line);background:#1c1612}.scene-toolbar h1{margin:.2rem 0 0;font-size:1.25rem;font-weight:500}.toolbar-actions{display:flex;gap:.4rem}.toolbar-actions button{font:600 .72rem system-ui,sans-serif;padding:.55rem .7rem}button.active{background:#5b421f;border-color:var(--gold)}.board-viewport{grid-row:2;min-width:0;min-height:0;overflow:hidden;position:relative;display:grid;place-items:center;padding:1rem;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:radial-gradient(ellipse at 50% 65%,#302319 0,#17110d 58%,#0d0a08)}.board-viewport.dragging{cursor:grabbing}.scene-backdrop{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 65%,#302319 0,#17110d 58%,#0d0a08)}.scene-backdrop img{width:100%;height:100%;display:block}.scene-backdrop-darkness,.scene-backdrop-vignette{position:absolute;inset:0}.scene-backdrop-darkness{background:#050403}.scene-backdrop-vignette{box-shadow:inset 0 0 90px 28px #050302b8;border:1px solid #d5ab6438}.hex-board{position:relative;z-index:1;width:min(100%,1200px);height:100%;max-height:100%;overflow:visible;filter:drop-shadow(0 28px 36px #000a)}.board-hint,.board-zoom{position:absolute;z-index:2;pointer-events:none;color:#a99570;font:600 .62rem system-ui,sans-serif;letter-spacing:.04em}.board-hint{left:1rem;bottom:.7rem}.board-zoom{right:1rem;bottom:.7rem}.board-reset{position:absolute;z-index:3;right:1rem;top:.75rem;width:2rem;height:2rem;padding:0;border-radius:50%;background:#201811dc}.orbit-controls{position:absolute;z-index:4;left:1rem;top:.75rem;width:230px;padding:.45rem;border:1px solid #5b4428;border-radius:5px;background:#17120ee8;box-shadow:0 8px 22px #0007;font:.62rem system-ui,sans-serif}.orbit-modes{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem}.orbit-controls button{padding:.4rem .25rem;font-size:.64rem}.orbit-controls label{display:grid;grid-template-columns:1fr auto;gap:.25rem;align-items:center;margin:.4rem 0 0}.orbit-controls input{grid-column:1/-1;height:12px;padding:0;accent-color:var(--gold)}.hex-cell{fill:#17110a20;stroke:#c99c4b;stroke-width:1;cursor:crosshair}.hex-cell:hover{fill:#d7a34430;opacity:1!important}.hex-cell.fogged{fill:#050504;stroke:#4c4436;opacity:.9!important}.token{cursor:pointer}.pawn-shadow{fill:#0009;filter:blur(2px)}.standee-art{pointer-events:none;filter:drop-shadow(0 3px 3px #000c);transform-origin:center bottom;transition:transform .16s,filter .16s}.standee-base{fill:#222b32;stroke:#c7a75a;stroke-width:2}.token.enemy .standee-base{fill:#54231e;stroke:#d17b69}.token.selected .standee-base{stroke:#fff0b0;stroke-width:5;filter:drop-shadow(0 0 7px #ffcf5c)}.token.pose-attack .standee-art{transform:translateY(-2px) scale(1.08) rotate(-2deg);filter:drop-shadow(0 4px 4px #000) drop-shadow(0 0 7px #e5a83a)}.token.pose-injured .standee-art{transform:rotate(4deg) scale(.96);filter:grayscale(.2) drop-shadow(0 3px 3px #000)}.token.pose-stunned .standee-art,.token.pose-death .standee-art,.token.pose-lying .standee-art{transform:rotate(12deg) translateY(4px);filter:grayscale(.65) brightness(.72) drop-shadow(0 3px 3px #000)}.token.pose-victory .standee-art{transform:translateY(-4px) scale(1.05);filter:drop-shadow(0 0 8px #f1c65c)}.pawn-label{fill:#fff;text-anchor:middle;font:700 11px system-ui,sans-serif;pointer-events:none}.target-actions-host{overflow:visible}.target-actions{width:218px;max-height:248px;overflow:auto;padding:.55rem;border:1px solid var(--gold-2);border-radius:7px;background:#17120ff2;color:var(--ink);box-shadow:0 12px 32px #000d;font:.7rem system-ui,sans-serif}.target-actions header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:.45rem;border-bottom:1px solid var(--line)}.target-actions header small,.target-actions header b{display:block}.target-actions header small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.target-action-list{display:grid;gap:.3rem;margin-top:.45rem}.target-action-list button{display:grid;grid-template-columns:22px 1fr;text-align:left;padding:.42rem}.target-action-list button span{grid-row:1/3;align-self:center;color:var(--gold);font-size:1rem}.target-action-list button b,.target-action-list button small{grid-column:2}.target-action-list button small{color:var(--muted);font-size:.58rem}.target-dodge{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;color:var(--muted)}.target-dodge input{width:auto}.finish-turn{width:100%;margin-top:.5rem}.action-dock>div small{display:block;margin-top:.2rem;color:var(--muted);font:.65rem system-ui,sans-serif}.action-hint{margin:0;color:var(--muted);font:.7rem/1.35 system-ui,sans-serif}.control-mode{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:.7rem}.control-mode button{padding:.5rem .35rem;font-size:.65rem}.battle-setup{display:grid;gap:.35rem}.battle-setup label{display:grid;grid-template-columns:1fr 64px;align-items:center;gap:.5rem}.battle-setup input{padding:.4rem}.initiative-prompt{display:grid;gap:.5rem}.initiative-prompt p{color:var(--muted);font:.72rem/1.5 system-ui,sans-serif}.initiative-order{display:grid;gap:.25rem}.initiative-order>div{display:grid;grid-template-columns:22px minmax(0,1fr) 54px 54px;gap:.35rem;align-items:center;padding:.35rem;border:1px solid #47351f;background:#18120e}.initiative-order>div>span{min-width:0;display:grid}.initiative-order strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.initiative-order small{color:var(--muted);font:.6rem system-ui,sans-serif}.initiative-order input{min-width:0}.initiative-order>div>div{display:grid;grid-template-columns:1fr 1fr;gap:2px}.initiative-order button{padding:.3rem .2rem}.battle-queue{position:absolute;z-index:3;top:84px;right:12px;width:190px;max-height:220px;overflow:auto;padding:.5rem;border:1px solid #665033;background:#17120edc;box-shadow:0 10px 28px #0009;pointer-events:none}.battle-queue header{display:flex;justify-content:space-between;padding:.2rem .25rem .45rem;color:var(--muted);font:.62rem system-ui,sans-serif}.battle-queue>div{display:grid;grid-template-columns:20px 1fr 28px;gap:.35rem;align-items:center;padding:.35rem;border-top:1px solid #3a2c1e;font:.65rem system-ui,sans-serif}.battle-queue>div.current{background:#5b421f;color:#fff1be}.battle-queue em{text-align:right;font-style:normal;color:var(--gold)}.gm-panel{border-left:1px solid var(--line);padding:1rem;transition:.2s ease;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.campaign-admin article{padding:.65rem 0;border-top:1px solid var(--line)}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.55rem}.permission-grid label{display:flex;align-items:center;gap:.35rem;font:.68rem system-ui,sans-serif}.permission-grid input{width:auto}.campaign-admin details{margin-top:.65rem}.campaign-admin summary{cursor:pointer;color:var(--gold);font-size:.78rem}.audit-list{max-height:240px;overflow:auto}.audit-list p{display:grid;grid-template-columns:78px 1fr;gap:.45rem;margin:.45rem 0;font:.64rem/1.35 system-ui,sans-serif}.audit-list time{color:var(--muted)}.gm-story summary{cursor:pointer;color:var(--gold);font-size:.75rem}.gm-story pre{max-height:520px;overflow:auto;white-space:pre-wrap;color:#d5c6a3;font:.68rem/1.5 system-ui,sans-serif}.gm-closed .gm-panel{overflow:hidden;padding:0;opacity:0}.gm-panel header{display:flex;justify-content:space-between}.gm-panel nav{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin:1rem 0}.gm-panel nav button{font:600 .68rem system-ui,sans-serif;padding:.5rem .2rem}.gm-tabs{position:sticky;z-index:5;top:-1rem;padding:.65rem 0;background:var(--panel);border-bottom:1px solid var(--line)}.gm-tab-content{min-height:0;overflow:auto;display:grid;align-content:start;gap:.35rem;padding-right:.25rem;overscroll-behavior:contain;scrollbar-gutter:stable}.gm-settings-drawer{min-height:0;border:1px solid var(--line);background:#15110e}.gm-settings-drawer summary{min-height:38px;display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;cursor:pointer;color:#e8cf91;font:.72rem system-ui,sans-serif;list-style:none;-webkit-user-select:none;user-select:none}.gm-settings-drawer summary::-webkit-details-marker{display:none}.gm-drawer-icon{width:1.25rem;height:1.25rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--gold-2);color:var(--gold);font-size:1rem;line-height:1}.gm-drawer-icon span:last-child{display:none}.gm-settings-drawer[open] .gm-drawer-icon span:first-child{display:none}.gm-settings-drawer[open] .gm-drawer-icon span:last-child{display:block}.gm-settings-scroll{max-height:min(44vh,420px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 .55rem .55rem;border-top:1px solid var(--line)}.gm-settings-scroll>section:first-child{border-top:0}.gm-panel section{padding:1rem 0;border-top:1px solid var(--line)}.gm-panel section h3{font-size:.92rem;font-weight:500}.button-row{display:flex;flex-wrap:wrap;gap:.35rem}.file-picker input{margin-top:.4rem;padding:.4rem;font-size:.7rem}.gm-panel label{margin:.75rem 0;grid-template-columns:1fr auto}.gm-panel input[type=range]{grid-column:1/-1;accent-color:var(--gold);padding:0}.gm-panel output{color:var(--gold)}.journal p{border-left:2px solid var(--gold-2);padding-left:.6rem;font:.73rem/1.4 system-ui,sans-serif}.journal time{color:var(--muted);margin-right:.5rem}.journal-entry{display:grid;grid-template-columns:1fr auto;gap:.35rem;margin-bottom:.75rem}.journal-scroll{max-height:55vh;overflow:auto;padding-right:.3rem}.action-dock{grid-row:3;position:relative;z-index:5;min-width:0;display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--line);background:#1d1713}.action-dock>div:first-child{margin-right:auto;min-width:130px}.action-dock b{display:block;margin-top:.25rem}.dice-tray,.dice-fallback{display:flex;align-items:center;gap:.35rem;margin-left:.7rem;font:700 .75rem system-ui,sans-serif}.dodge-toggle{display:flex;align-items:center;gap:.3rem;white-space:nowrap}.dodge-toggle input{width:auto;accent-color:var(--gold)}.die{width:27px;height:27px;display:grid;place-items:center;color:#21170b;background:#d1ad63;border:1px solid #ffdc8c;transform-style:preserve-3d;animation:roll .65s ease-out both}.physics-dice{position:relative;width:190px;height:80px;flex:none}.physics-dice canvas{background:transparent!important}.physics-dice>span{position:absolute;right:.3rem;bottom:.2rem;padding:.15rem .35rem;background:#120f0dcc;color:var(--gold);font:.65rem system-ui,sans-serif}.dice-dialog-backdrop{position:absolute;z-index:12;inset:0;display:grid;place-items:center;padding:1rem;background:#08060499;cursor:default}.dice-window{position:relative;width:min(620px,calc(100% - 2rem));height:min(410px,calc(100% - 2rem));min-height:280px;overflow:hidden;border:1px solid var(--gold-2);border-radius:6px;background:radial-gradient(ellipse at 50% 65%,#302319 0,#17110d 58%,#0d0a08);box-shadow:0 24px 80px #000e;animation:dice-field-arrival .25s ease-out both}.dice-close{position:absolute;z-index:3;top:.65rem;right:.65rem;width:2.25rem;height:2.25rem;padding:0;border-color:var(--gold);background:#241a12ed;color:#f4d88f;font:700 1.25rem/1 system-ui,sans-serif}.dice-stage{position:absolute;inset:0;touch-action:none;cursor:grab}.dice-stage:active{cursor:grabbing}.dice-window .physics-dice{width:100%;height:100%;min-height:280px}.dice-window .physics-dice canvas{border:0;border-radius:0;box-shadow:none}.dice-window .physics-dice>span{right:50%;bottom:2.8rem;transform:translate(50%);padding:.5rem .85rem;border:1px solid var(--gold-2);background:#120f0eee;color:#f4d88f;font:.9rem system-ui,sans-serif;white-space:nowrap}.dice-window .physics-dice>span small{display:block;margin-bottom:.15rem;color:var(--muted);text-align:center}.dice-window .dice-fallback{position:absolute;inset:0;justify-content:center;margin:0;color:#f4d88f}.dice-window .dice-fallback small{color:var(--muted)}.dice-orbit-hint{position:absolute;z-index:2;left:50%;bottom:.65rem;transform:translate(-50%);margin:0;color:var(--muted);font:.68rem system-ui,sans-serif;white-space:nowrap;pointer-events:none}.dice-view-controls{position:absolute;z-index:3;top:.65rem;left:.65rem;display:flex;align-items:center;gap:.25rem;padding:.2rem;border:1px solid var(--gold-2);border-radius:4px;background:#18130fed}.dice-view-controls button{width:2rem;height:2rem;padding:0;font-size:1rem}.dice-view-controls output{min-width:3.2rem;text-align:center;font:.72rem system-ui,sans-serif}.dice-formula-picker{display:grid;gap:.45rem;margin:0;padding:.65rem;border:1px solid var(--line)}.dice-formula-picker legend{padding:0 .25rem;color:var(--gold)}.dice-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.dice-type-grid button{min-width:0;padding:.45rem .2rem}.dice-formula-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.dice-formula-picker label,.roll-assignment-form>label{display:grid;gap:.25rem}.table-utility-panel{position:absolute;z-index:8;right:1rem;bottom:100px;width:min(440px,calc(100% - 2rem));max-height:min(620px,calc(100% - 120px));overflow:auto;padding:1rem;border:1px solid var(--gold-2);border-radius:6px;background:#18130ff7;box-shadow:0 18px 60px #000c}.table-utility-panel section{padding:0;border:0}.utility-close{position:sticky;z-index:2;top:0;float:right;padding:.25rem .5rem}.pending-manual-roll{display:grid;grid-template-columns:1fr 95px auto;gap:.35rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--line)}.pending-manual-roll small,.roll-history small{display:block;color:var(--muted);font:.62rem system-ui,sans-serif}.pending-manual-roll input{min-width:0}.roll-history{margin-top:.7rem}.roll-history p{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem .45rem;margin:0;border-top:1px solid #3a2c1e;font:.7rem system-ui,sans-serif}.scene-image-settings{display:grid;gap:.45rem;margin-bottom:.75rem;padding:.65rem;border:1px solid var(--line);background:#15110e}@keyframes roll{0%{transform:rotateX(540deg) rotateY(360deg) scale(.5);opacity:0}to{transform:none;opacity:1}}@keyframes dice-field-arrival{0%{opacity:0;scale:.92}to{opacity:1;scale:1}}.audio-unlock{position:absolute;right:1rem;bottom:105px;z-index:2;background:#5b421f;border-color:var(--gold)}.toast{position:absolute;z-index:3;top:78px;left:50%;transform:translate(-50%);background:#4a1e18;border:1px solid var(--danger);padding:.65rem 1rem;box-shadow:0 8px 30px #0008}.toast button{border:0;background:transparent;padding:0 0 0 1rem}.sheet-drawer{position:absolute;z-index:4;left:1rem;top:82px;bottom:104px;width:min(430px,calc(100% - 2rem));overflow:auto;border:1px solid var(--gold-2);background:#18130ff5;box-shadow:0 18px 60px #000b;padding:1rem}.sheet-drawer>header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.sheet-drawer h2{margin:.2rem 0 .8rem}.sheet-drawer section{padding:.8rem 0;border-top:1px solid var(--line)}.sheet-drawer section p{font:.76rem/1.45 system-ui,sans-serif;color:#d5c6a3}.sheet-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:1rem 0}.sheet-summary span{background:#2a2017;padding:.55rem;color:var(--muted);font:.65rem system-ui,sans-serif}.sheet-summary b{display:block;color:var(--ink);font-size:.9rem;margin-top:.2rem}.visibility-toggle{display:flex;align-items:flex-start;gap:.65rem;margin:0 0 1rem;padding:.75rem;border:1px solid #56452d;background:#251c13}.visibility-toggle input{width:auto;margin-top:.2rem}.visibility-toggle span,.visibility-toggle small{display:block}.visibility-toggle small{margin-top:.25rem;color:var(--muted);font:.68rem/1.35 system-ui,sans-serif}.abilities{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:1rem}.abilities span{display:grid;text-align:center;background:#241b14;padding:.45rem .2rem;color:var(--gold);font:.63rem system-ui,sans-serif}.abilities b{color:var(--ink);font-size:1rem}.abilities small{color:var(--muted)}.inline-form{display:flex;gap:.35rem;align-items:end;margin:.7rem 0}.inline-form label,.inline-form input{min-width:0}.inline-form>input:first-child{flex:1}.stack-form{display:grid;gap:.4rem}.stack-form>div{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.3rem}select{color:var(--ink);border:1px solid var(--line);background:#120f0d;padding:.55rem}.item-row{grid-template-columns:auto 1fr;align-items:center;margin:.35rem 0}.item-row input{width:auto;accent-color:var(--gold)}.catalog-filters{display:grid;grid-template-columns:90px 1fr;gap:.35rem;margin-bottom:.7rem}.catalog-panel article{display:grid;grid-template-columns:1fr auto;gap:.5rem;border-top:1px solid #382b1d;padding:.7rem 0}.catalog-panel article small{display:block;color:var(--gold);font:.58rem system-ui,sans-serif;margin-top:.2rem}.catalog-panel article p{margin:.3rem 0 0;font:.68rem/1.35 system-ui,sans-serif;color:var(--muted)}.catalog-panel article button{align-self:center;padding:.4rem;font-size:.65rem}.license-note{display:block;color:var(--muted);font:.6rem/1.4 system-ui,sans-serif}.compact-list{display:grid;gap:.25rem;margin-bottom:.6rem}.location-list{max-height:min(32vh,300px);overflow:auto;overscroll-behavior:contain}.enemy-template-list{max-height:min(22vh,210px);overflow:auto}.enemy-instance-list{max-height:min(28vh,260px);overflow:auto}.compact-list>div{display:flex;align-items:center;gap:.25rem;background:#211911;padding:.25rem}.compact-list span,.compact-list>div>button:first-child{flex:1;text-align:left}.compact-list small{color:var(--muted);font:.62rem system-ui,sans-serif}.compact-list button{padding:.35rem;font-size:.64rem}.asset-row{display:grid;grid-template-columns:1fr;gap:.3rem;align-items:center;margin:.5rem 0;font:.65rem system-ui,sans-serif}.asset-row label{display:flex;gap:.35rem;align-items:center}.asset-row audio{width:100%;height:28px}.image-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;max-height:270px;overflow:auto;margin:.5rem 0}.image-library article{min-width:0;border:1px solid var(--line);padding:.3rem;background:#211911}.image-library article.selected{border-color:var(--gold)}.image-library small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-thumb{width:100%;height:72px;padding:0;overflow:hidden;background:#100d0b}.image-thumb img{width:100%;height:100%;object-fit:contain}.layer-list article{border:1px solid var(--line);margin:.45rem 0;padding:.4rem}.layer-list img{width:100%;height:70px;object-fit:contain;background:#100d0b}.image-preview{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:3rem;background:#000d}.story-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:2rem;background:#090705d9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.story-window{width:min(980px,100%);height:min(820px,calc(100vh - 4rem));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid var(--gold-2);background:#17120f;box-shadow:0 24px 90px #000}.story-window>header,.story-window>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}.story-window>footer{border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font:.72rem system-ui,sans-serif}.story-window h2{margin:.2rem 0 0;color:var(--gold)}.story-scroll{min-height:0;overflow:auto;padding:1.5rem clamp(1rem,4vw,3rem);background:linear-gradient(90deg,#120f0d,#1c1612 14% 86%,#120f0d)}.story-scroll pre{max-width:76ch;margin:0 auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#e7dac4;font:1rem/1.7 Georgia,serif}.scene-transition{position:fixed;inset:58px 0 0;z-index:25;overflow:hidden;display:grid;align-items:end;background:#090705}.transition-backdrop,.transition-vignette{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.transition-backdrop{animation:transition-pan 8s ease-out both}.transition-vignette{background:linear-gradient(90deg,#080605f2 0,#100b0788 46%,transparent 72%),linear-gradient(0deg,#080605f2,transparent 55%)}.transition-copy{position:relative;z-index:2;width:min(620px,90vw);margin:clamp(2rem,7vw,7rem);text-shadow:0 2px 16px #000}.transition-copy h2{margin:.4rem 0 .8rem;color:#f1d391;font-size:clamp(2rem,5vw,4.6rem);font-weight:500;line-height:1}.transition-copy p{max-width:55ch;color:#e3d7bf;font:1rem/1.6 system-ui,sans-serif}.transition-cast{position:absolute;z-index:1;right:2vw;bottom:0;height:92%;width:54%;display:flex;align-items:end;justify-content:flex-end;pointer-events:none}.transition-cast img{width:auto;max-width:min(45%,430px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 22px #000);margin-left:-8%}@keyframes transition-pan{0%{transform:scale(1.08)}to{transform:scale(1)}}@media(max-width:700px){.story-backdrop{padding:.5rem}.story-window{height:calc(100vh - 1rem)}.story-window>footer span{display:none}}.image-preview img{max-width:min(900px,90vw);max-height:75vh;object-fit:contain}.image-preview button{position:absolute;top:1rem;right:1rem}@media(max-width:1050px){.workspace{grid-template-columns:210px minmax(480px,1fr) 280px}.workspace.gm-closed{grid-template-columns:210px minmax(480px,1fr) 0}}@media(max-height:1000px)and (min-width:801px){.game-shell{min-height:0;grid-template-rows:50px minmax(0,1fr)}.topbar{padding:0 .75rem}.workspace{grid-template-columns:230px minmax(500px,1fr) 300px}.workspace.gm-closed{grid-template-columns:230px minmax(500px,1fr) 0}.party-panel,.gm-panel{padding:.75rem}.party-panel header,.gm-panel header{padding:.25rem 0 .65rem}.scene-toolbar{min-height:60px;padding:.55rem .75rem}.scene-toolbar h1{font-size:1.08rem}.toolbar-actions{gap:.25rem}.toolbar-actions button{padding:.45rem .55rem;font-size:.66rem}.gm-tabs{margin:.5rem 0 0;padding:.45rem 0}.gm-panel section{padding:.65rem 0}.gm-panel section h3{margin-bottom:.55rem}.gm-panel label{margin:.5rem 0}.location-list{max-height:210px}.enemy-template-list{max-height:150px}.enemy-instance-list{max-height:180px}.board-viewport{padding:.5rem}.orbit-controls{width:250px;top:.5rem;left:.5rem;padding:.35rem}.board-reset{top:.5rem;right:.5rem}.action-dock{min-height:74px;padding:.5rem .75rem}.action-hint{display:none}.physics-dice{width:160px;height:64px}.audio-unlock{bottom:82px}}@media(max-width:800px){.game-shell{height:auto;min-height:100vh;overflow:auto}.topbar{grid-template-columns:1fr auto}.connection{display:none}.workspace,.workspace.gm-closed{grid-template-columns:1fr}.party-panel{display:none}.gm-panel{border:0}.table-area{min-height:760px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
