:root,:root[data-ui-density=compact]{--bg0:#1a1714;--bg1:#241f1a;--bg2:#2e2822;--ink:#f3ebe0;--muted:#b5a894;--line:#f3ebe01f;--accent:#c45c26;--accent-2:#d9a441;--ok:#6f9f6a;--danger:#c45c5c;--panel:#241f1aeb;--panel-muted:#302a23f2;--border:#f3ebe029;--shadow:0 18px 50px #00000059;--radius:14px;--font:"DM Sans", system-ui, sans-serif;--display:"Instrument Serif", Georgia, serif;--stack-gap:.35rem;--row-gap:.35rem;--field-gap:.15rem;--control-pad-y:.4rem;--control-pad-x:.6rem;--select-pad-right:2.35rem;--builder-section-gap:.35rem;--portrait-w:7rem;--sheet-portrait-w:7rem;--sheet-portrait-pc-w:8.25rem;--sheet-portrait-fight-w:5.5rem;--chat-col:minmax(20rem, 28rem)}:root[data-chat-width=medium]{--chat-col:minmax(24rem, 34rem)}:root[data-chat-width=large]{--chat-col:minmax(28rem, 40rem)}:root[data-ui-density=comfortable]{--stack-gap:.55rem;--row-gap:.5rem;--field-gap:.25rem;--control-pad-y:.5rem;--control-pad-x:.7rem;--select-pad-right:2.5rem;--builder-section-gap:.55rem;--portrait-w:8.5rem;--sheet-portrait-w:8.5rem;--sheet-portrait-pc-w:10rem;--sheet-portrait-fight-w:5.5rem}*{box-sizing:border-box}html,body,#root{height:100dvh;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%, #c45c2638, transparent 55%), radial-gradient(900px 500px at 90% 0%, #d9a4411f, transparent 50%), linear-gradient(180deg, #201b16, var(--bg0) 40%, #14110e)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--bg2);color:var(--ink);border-radius:10px;padding:.45rem .8rem}button:hover{border-color:#d9a44173}button.primary{background:linear-gradient(180deg, #d46a32, var(--accent));color:#fff8f0;border-color:#0000;font-weight:600}button.ghost{background:0 0}button.danger{color:#ffe3dc;border-color:color-mix(in srgb, var(--danger) 65%, var(--line));background:color-mix(in srgb, var(--danger) 18%, var(--bg2))}button:focus-visible,summary:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 78%, white);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.live-action-overflow{flex:none;position:relative}.live-action-overflow>summary{border:1px solid var(--line);background:var(--bg2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;min-height:2.15rem;padding:.4rem .7rem;list-style:none;display:inline-flex}.live-action-overflow>summary::-webkit-details-marker{display:none}.live-action-overflow>summary:after{content:" ···";color:var(--muted)}.live-action-overflow-menu{z-index:45;border:1px solid var(--line);background:var(--panel);min-width:11rem;box-shadow:var(--shadow);border-radius:10px;gap:.35rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .3rem);right:0}.live-action-overflow-menu>button{text-align:left;width:100%}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--line);width:100%;padding:var(--control-pad-y) var(--control-pad-x);background:#17130f;border-radius:10px}select{padding-right:var(--select-pad-right)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #c45c2673}input[type=checkbox],input[type=radio]{width:1rem;height:1rem;accent-color:var(--accent);flex-shrink:0;margin:0}.muted{color:var(--muted);font-size:.92rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-prompt{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080605b8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.table-prompt-card{background:var(--panel,#1c1712);width:min(28rem,100%);max-height:min(88dvh,40rem);box-shadow:var(--shadow);cursor:default;border:1px solid #d9a44159;border-radius:12px;padding:1rem 1.1rem;overflow:auto}.table-prompt-body{margin-top:.5rem}.table-prompt-footer{border-top:1px solid #ffffff14;margin-top:.85rem;padding-top:.65rem}.confirm-dialog{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080605b8;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.confirm-dialog-card{background:var(--panel,#1c1712);width:min(22rem,100%);box-shadow:var(--shadow);cursor:default;border:1px solid #d9a44159;border-radius:12px;padding:1rem 1.1rem}.confirm-dialog-card h3{margin:0;font-size:1.05rem}.confirm-dialog-message{margin:.55rem 0 0;line-height:1.4}.confirm-dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem}.field{gap:var(--field-gap);flex-shrink:0;align-content:start;display:grid}.field-grow{flex:12rem;min-width:min(100%,12rem)}.field-num{flex:none;width:5.5rem;max-width:100%}.field-num-wide{flex:none;width:7rem;max-width:100%}.field-sm{flex:none;width:8.5rem;max-width:100%}.field textarea{resize:vertical;min-height:4rem}.panel-scroll.stack>input,.panel-scroll.stack>select,.panel-scroll.stack>.row,.panel-scroll.stack>.field,.panel-scroll.stack>p,.panel-scroll.stack>h3,.panel-scroll.stack>button{flex-shrink:0}.mobile-jump{display:none}.sticky-chrome{flex-shrink:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-height:0;padding:.85rem;display:flex;overflow:hidden}.panel-scroll{flex:1;min-height:0;overflow:auto}.panel-scroll.stack{flex-direction:column;align-items:stretch;gap:.55rem;display:flex}.panel h2,.panel h3{font-family:var(--display);letter-spacing:.01em;flex-shrink:0;margin:0 0 .65rem;font-weight:400}.panel h2{font-size:1.4rem}.panel h3{font-size:1.15rem}.row{gap:var(--row-gap);flex-wrap:wrap;align-items:center;display:flex}.stack{gap:var(--stack-gap);align-content:start;display:grid}.col-stack{gap:var(--stack-gap);flex-direction:column;min-height:0;display:flex;overflow:hidden}.chip{border-radius:var(--radius-sm,4px);border:1px solid var(--border);background:var(--surface-2,transparent);align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.85rem;display:inline-flex}button.chip-action{cursor:pointer;font:inherit;color:inherit}button.chip-action:hover,button.chip-action:focus-visible{border-color:var(--accent,#8af);outline:2px solid var(--accent,#8af);outline-offset:1px}button.chip-action.chip-active{border-color:var(--warn,#c80);background:color-mix(in srgb, var(--warn,#c80) 12%, transparent)}button.chip-action:disabled{opacity:.55;cursor:not-allowed}.feature-action-menu .warn{color:var(--warn,#c80)}.feature-action-menu .error{color:var(--danger,#c44)}.hp{font-variant-numeric:tabular-nums;font-weight:600}.hp.low{color:var(--danger)}.stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;max-width:36rem;display:grid}.stat{text-align:center;border:1px solid var(--line);background:#00000026;border-radius:10px;padding:.4rem .15rem}.stat .label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.68rem}.stat .score{font-size:1.05rem;font-weight:700}.stat .mod{color:var(--accent-2);font-size:.8rem}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.4rem .3rem}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:500}.table tr.item-row{cursor:pointer}.table tr.item-row:hover,.table tr.item-row.open{background:#d9a4410f}.pill{color:#b7d4b3;background:#6f9f6a2e;border-radius:999px;padding:.12rem .45rem;font-size:.75rem;display:inline-block}.pill.off{color:var(--muted);background:#ffffff0f}.pill.warn{color:#e0b07a;background:#c4784038}.item-detail{background:#00000038;border:1px solid #d9a44147;border-radius:12px;margin:.35rem 0 .6rem;padding:.65rem .75rem}.delta-pos{color:var(--ok)}.delta-neg{color:var(--danger)}.banner{background:#d9a4411f;border:1px solid #d9a44166;border-radius:10px;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem .75rem;padding:.45rem .75rem;display:flex}.banner>span{flex:12rem;min-width:0}.banner>button{flex-shrink:0}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;align-items:flex-end;gap:.15rem;margin-bottom:.55rem;padding:0;display:flex}.tabs button{color:var(--muted);box-shadow:none;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:8px 8px 0 0;margin-bottom:-1px;padding:.4rem .85rem;font-weight:500}.tabs button:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent);border-color:#0000}.tabs button:focus-visible{outline-offset:1px;outline:2px solid #d9a441b3}.tabs button.active{background:color-mix(in srgb, var(--panel) 88%, var(--ink) 4%);border-color:var(--line);color:var(--ink);box-shadow:inset 0 2px 0 var(--accent);border-bottom-color:#0000;font-weight:600}.tabs button.active:hover{border-color:var(--line);color:var(--ink);background:color-mix(in srgb, var(--panel) 88%, var(--ink) 4%);border-bottom-color:#0000}.error{color:#f0b4b4;font-size:.9rem}.field{gap:var(--field-gap);display:grid}.field label{color:var(--muted);font-size:.8rem}.app-toast-stack{z-index:20;pointer-events:none;flex-direction:column-reverse;gap:.5rem;max-width:min(22rem,100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem}.app-toast{pointer-events:auto;min-width:180px;box-shadow:var(--shadow);background:#2a221c;border:1px solid #d9a44173;border-radius:14px;padding:.85rem 1rem;animation:.35s rise}.app-toast--dice strong{font-family:var(--display);font-size:1.8rem;display:block}.app-toast--message{box-shadow:0 0 0 1px #c45c2640, var(--shadow);background:#55321f;border:1.5px solid #d9a441d9}.app-toast--table{box-shadow:0 0 0 1px #50784640, var(--shadow);background:#303428;border:1.5px solid #8cb478bf}.app-toast--message .app-toast-title,.app-toast--table .app-toast-title{color:#f3ebe2;font-size:.92rem;font-weight:600}.app-toast--message .app-toast-body,.app-toast--table .app-toast-body{color:#f3ebe2;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.95rem;line-height:1.35;display:-webkit-box;overflow:hidden}.app-toast--sticky{cursor:default}.app-toast--action{cursor:pointer}.app-toast--action:focus-visible{outline-offset:2px;outline:2px solid #d9a441b3}.app-toast-actions{flex-wrap:wrap;gap:.35rem;margin-top:.55rem;display:flex}.app-toast-action{margin-top:0;padding:.25rem .65rem;font-size:.85rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chip.active{background:#c45c2647;border-color:#c45c26b3}.chip.static{cursor:default;pointer-events:none;opacity:.9;padding:.15rem .45rem;font-size:.72rem}.explain-tip{vertical-align:baseline;max-width:100%;display:inline-flex;position:relative}.explain-tip-trigger{color:inherit;font:inherit;text-align:inherit;cursor:help;background:0 0;border:none;border-radius:4px;margin:0;padding:0;display:inline}.explain-tip-trigger:hover,.explain-tip.open .explain-tip-trigger{color:var(--accent-2)}.stat .explain-tip-trigger{text-transform:uppercase;letter-spacing:.08em;font-size:inherit}.explain-tip-panel{z-index:200;min-width:12rem;max-width:min(18rem,100vw - 1rem);color:var(--ink);letter-spacing:normal;text-transform:none;box-shadow:var(--shadow);text-align:left;white-space:normal;background:#2a241e;border:1px solid #d9a44173;border-radius:10px;padding:.55rem .65rem;font-size:.8rem;font-weight:400;line-height:1.35}.explain-tip-arrow{fill:#2a241e}.pill-wrap,.pill-wrap .explain-tip-trigger{display:inline-flex}.prefs-binding-row{border-bottom:1px solid color-mix(in srgb, var(--line,#3a342c) 70%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.prefs-binding-row:last-child{border-bottom:none}.prefs-binding-label{flex:1;min-width:10rem}.row-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.stack-gap{flex-direction:column;gap:.65rem;display:flex}.error-text{color:var(--danger,#c44);margin:0}.file-btn{cursor:pointer;border:1px solid var(--line);border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .6rem;display:inline-flex}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{flex-direction:column;gap:.55rem;height:100%;min-height:0;margin:0 auto;padding:.65rem .85rem;display:flex;overflow:hidden}.topbar{flex-wrap:nowrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem .75rem;display:flex}.topbar-brand{flex-direction:row;flex:auto;align-items:center;gap:.5rem;min-width:0;display:flex}.topbar-nav{touch-action:pan-x pan-y;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;gap:.3rem;display:flex}.topbar-utils{align-items:center;gap:.35rem;margin-left:auto;display:flex}.topbar-utils-sep{background:#f3ebe02e;flex-shrink:0;width:1px;height:1.35rem;margin:0 .15rem}.topbar-utils .icon-btn{border-radius:10px;justify-content:center;width:2.35rem;height:2.35rem;padding:0}.icon-btn{align-items:center;gap:.35rem;display:inline-flex;position:relative}.icon-btn svg{flex-shrink:0}.icon-btn-label{display:none}.icon-btn-badge{background:var(--accent-2,#c45c26);color:#1a1410;text-align:center;border-radius:999px;min-width:1rem;height:1rem;padding:0 .2rem;font-size:.65rem;font-weight:700;line-height:1rem;position:absolute;top:-.2rem;right:-.2rem}.brand{font-family:var(--display);letter-spacing:.02em;flex-shrink:0;font-size:clamp(1.25rem,2vw,1.45rem);line-height:1}.brand span{color:var(--accent-2)}.party-strip{touch-action:pan-x pan-y;flex-shrink:0;gap:.5rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.campaign-ribbon{-webkit-overflow-scrolling:touch;flex-shrink:0;gap:.5rem;padding:.1rem 0 .35rem;display:flex;overflow-x:auto}.campaign-ribbon-card{border:1px solid var(--line);background:#0000002e;border-radius:12px;flex-direction:column;flex:none;width:11.5rem;min-width:10.5rem;display:flex;overflow:hidden}.campaign-ribbon-card.active{border-color:#c45c26b3;box-shadow:inset 0 0 0 1px #c45c2659}.campaign-ribbon-card.archived{opacity:.72}.campaign-ribbon-card.create{border-style:dashed;border-color:color-mix(in srgb, var(--accent-2) 45%, var(--line))}.campaign-ribbon-card.create.open{width:16rem;min-width:14rem}.campaign-ribbon-card-main{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:stretch;gap:.55rem;min-height:4.25rem;margin:0;padding:.55rem;display:flex}.campaign-ribbon-card-main:disabled{cursor:default}.campaign-ribbon-card-main.create-trigger{min-height:4.75rem}.campaign-ribbon-faces{flex-shrink:0;align-items:center;width:3.85rem;height:2.6rem;display:flex;position:relative}.campaign-ribbon-faces.empty{justify-content:center}.campaign-ribbon-face{object-fit:cover;border:2px solid var(--bg1);background:var(--bg2);border-radius:50%;width:2.15rem;height:2.15rem;position:absolute;top:.2rem;left:0}.campaign-ribbon-face:nth-child(2){z-index:1;left:.55rem}.campaign-ribbon-face:nth-child(3){z-index:2;left:1.1rem}.campaign-ribbon-face:nth-child(4){z-index:3;left:1.65rem}.campaign-ribbon-face.placeholder{color:var(--muted);place-items:center;font-size:.85rem;font-weight:600;display:grid}.campaign-ribbon-faces.empty .campaign-ribbon-face.placeholder{position:static}.campaign-ribbon-face.placeholder.create{color:var(--accent-2);border-color:color-mix(in srgb, var(--accent-2) 40%, var(--line));font-size:1.35rem}.campaign-ribbon-card-body{flex-direction:column;justify-content:center;gap:.15rem;min-width:0;display:flex}.campaign-ribbon-card-body h4{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.92rem;overflow:hidden}.campaign-ribbon-archive{border-top:1px solid var(--line);width:100%;color:var(--muted);border-radius:0;padding:.3rem .55rem;font-size:.8rem}.campaign-ribbon-create{flex-direction:column;gap:.45rem;padding:.55rem;display:flex}.campaign-form-toolbar{z-index:2;background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:.65rem;margin:0 -.05rem;padding:.35rem 0;display:flex;position:sticky;top:0}.campaign-form-toolbar .primary{min-width:5.5rem}.campaign-save-status{color:var(--muted);font-size:.88rem}.campaign-save-status.dirty{color:var(--accent-2)}.campaign-save-status.saved{color:var(--ok)}.party-card{border:1px solid var(--line);text-align:left;background:#0000002e;border-radius:12px;flex-direction:column;width:max-content;min-width:176px;padding:0;display:flex;overflow:hidden}.party-card-main{align-items:stretch;min-width:0;display:flex}.party-card.active{border-color:#c45c26b3;box-shadow:inset 0 0 0 1px #c45c2659}.party-card h4{white-space:nowrap;text-overflow:ellipsis;max-width:8.5rem;margin:0 0 .2rem;font-size:.95rem;overflow:hidden}.party-card-body{text-align:left;min-width:0;color:inherit;background:0 0;border:none;border-radius:0;flex:1;padding:.55rem .7rem}.party-card-body:hover{border-color:#0000}.party-companion-chip{box-sizing:border-box;border:none;border-top:1px solid var(--line);width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:#00000038;flex:none;align-items:center;gap:.4rem;padding:.25rem .55rem;display:flex}.party-companion-chip.readonly{cursor:default}.party-companion-chip.active{background:#c45c261f;border-color:#c45c26bf;box-shadow:inset 0 0 0 1px #c45c2666}.party-card.companion-focused{border-color:#c45c2673}.party-companion-avatar{object-fit:cover;border-radius:4px;flex-shrink:0;width:1.35rem;height:1.35rem}.party-companion-avatar.placeholder{background:#f3ebe014;place-items:center;font-size:.7rem;display:grid}.party-companion-meta{flex:1;align-items:baseline;gap:.35rem;min-width:0;display:flex}.party-companion-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:600;overflow:hidden}.party-companion-meta .hp{flex-shrink:0;font-size:.78rem}.party-card-main .party-avatar.portrait-hit{align-self:stretch}.workspace{grid-template-columns:220px minmax(0, 1fr) var(--chat-col);flex:1;gap:.65rem;min-height:0;transition:grid-template-columns .18s;display:grid;overflow:hidden}.mode-library .workspace{grid-template-columns:minmax(0, 1fr) var(--chat-col)}.mode-player .workspace{grid-template-columns:220px minmax(0, 1fr) var(--chat-col)}.mode-library.mode-player .workspace{grid-template-columns:minmax(0, 1fr) var(--chat-col)}.app-shell.chat-collapsed .workspace{grid-template-columns:220px minmax(0,1fr)}.app-shell.chat-collapsed.mode-library .workspace,.app-shell.chat-collapsed.mode-library.mode-player .workspace{grid-template-columns:minmax(0,1fr)}.app-shell.chat-collapsed.mode-player .workspace{grid-template-columns:220px minmax(0,1fr)}.workspace:has(>#panel-scene .dm-run-panel){grid-template-columns:minmax(270px, 300px) minmax(0, 1fr) var(--chat-col)}.app-shell.chat-collapsed .workspace:has(>#panel-scene .dm-run-panel){grid-template-columns:minmax(270px,300px) minmax(0,1fr)}#panel-board,#panel-library,#panel-scene,#panel-pc,#panel-chat{flex-direction:column;height:100%;min-height:0;display:flex}#panel-board>.panel,#panel-scene>.panel,#panel-library>.library-layout,#panel-library>.library-layout-3,#panel-library>.scenes-layout,#panel-library>.history-panel,#panel-chat>.panel,#panel-chat .chat-drawer-sheet>.panel{flex:1;min-height:0}#panel-chat>.side-chat-tabs-row,#panel-chat .chat-drawer-sheet>.side-chat-tabs-row{flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}#panel-chat>.side-chat-tabs-row>.side-chat-tabs,#panel-chat .chat-drawer-sheet>.side-chat-tabs-row>.side-chat-tabs{min-width:0;margin-bottom:0}.dm-run-panel{gap:.65rem}.dm-run-head{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.dm-run-head h3{overflow-wrap:anywhere;margin:0;line-height:1.15}.dm-run-kicker{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.15rem;font-size:.72rem}.dm-run-scene-select{white-space:normal;flex-shrink:0;width:100%;min-height:2.35rem}.dm-run-tabs{margin-bottom:0}.dm-run-tabs button{flex:1 1 0;padding-inline:.45rem}.dm-run-scroll{padding-right:.15rem}.dm-run-tab{padding-bottom:.25rem}.dm-run-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:flex}.dm-run-cue{border:1px solid var(--line);background:#00000029;border-radius:10px;padding:.7rem}.pinned-cue-stack{gap:.4rem;display:grid}.pinned-cue{border:1px solid color-mix(in srgb, #8d78c9 65%, var(--line));background:#53417829;border-left:3px solid #8d78c9;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.45rem;padding:.6rem;display:grid}.pinned-cue p{color:var(--muted);white-space:pre-wrap;margin:.3rem 0 0;line-height:1.4}.pinned-cue>button{min-height:auto;padding:.15rem .3rem;font-size:.72rem}.dm-run-cue-public{border-left:3px solid var(--ok)}.dm-run-cue-secret{background:#5341781f;border-left:3px solid #8d78c9}.dm-run-cue p,.dm-run-cast-blurb,.dm-run-check-note{white-space:pre-wrap;margin:0;line-height:1.4}.dm-run-text-action{text-transform:none;letter-spacing:normal;min-height:auto;padding:.1rem .25rem}.dm-run-brief-editor textarea{resize:vertical;width:100%}.dm-run-map-section{gap:.45rem;display:grid}.dm-run-map-actions{justify-content:space-between}.dm-run-map.stage-board-host{border:1px solid var(--line);border-radius:10px;height:min(16rem,70vw);min-height:12rem;overflow:hidden}.dm-run-edit-scenes{width:100%}.dm-run-cast-list{gap:.55rem;display:grid}.dm-run-cast-card{border:1px solid var(--line);background:#00000029;border-radius:10px;gap:.4rem;padding:.55rem;display:grid}.dm-run-cast-card.active{border-color:#c45c26bf;box-shadow:inset 0 0 0 1px #c45c264d}.dm-run-cast-select{width:100%;min-width:0;color:inherit;text-align:left;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:stretch;gap:.55rem;padding:0;display:flex}.dm-run-cast-select:hover{border-color:#0000}.dm-run-cast-portrait{object-fit:cover;background:#f3ebe014;border-radius:7px;flex:none;width:3rem;height:4rem}.dm-run-cast-portrait.placeholder{color:var(--muted);font-family:var(--display);place-items:center;font-size:1.2rem;display:grid}.dm-run-cast-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.dm-run-statuses{flex-wrap:wrap;gap:.2rem;display:flex}.dm-run-statuses .chip{padding:.12rem .4rem;font-size:.68rem}.dm-run-statuses .chip.known{border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.dm-run-statuses .chip.secret{background:#53417833;border-color:#8d78c9a6}.dm-run-cast-blurb{color:var(--muted);padding-left:3.55rem;font-size:.82rem}.dm-run-reveal{justify-self:end}.dm-run-check-controls{grid-template-columns:minmax(5rem,.65fr) minmax(0,1.35fr);align-items:end;gap:.55rem;display:grid}.dm-run-check-controls input[type=number]{width:100%}.dm-run-check-sort{flex-wrap:nowrap;min-height:2.35rem}.dm-run-check-note{font-size:.78rem}.dm-run-check-table-wrap{width:100%;overflow-x:auto}.dm-run-check-table{border-collapse:collapse;width:100%;min-width:17rem;font-size:.78rem}.dm-run-check-table th,.dm-run-check-table td{border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;padding:.35rem .25rem}.dm-run-check-table th:first-child{text-align:left;width:100%}.dm-run-check-table thead th{color:var(--muted);font-size:.68rem;font-weight:600}.table-check-request{border:1px solid var(--line);background:#00000024;border-radius:10px;padding:.65rem}.table-check-builder{grid-template-columns:repeat(2,minmax(7rem,1fr)) minmax(5rem,.55fr);align-items:end;gap:.5rem;display:grid}.table-check-request-head{flex-wrap:wrap;justify-content:space-between;align-items:center}.table-check-request-head>.row,.table-check-visibility,.table-check-targets>.row{flex-wrap:wrap}.table-check-visibility{gap:.85rem;font-size:.82rem}.table-check-targets{border:1px solid var(--line);border-radius:8px;gap:.4rem;padding:.5rem;display:grid}.table-check-targets legend{color:var(--muted);padding:0 .25rem;font-size:.75rem}.table-check-targets label{background:#ffffff09;border-radius:6px;padding:.25rem .4rem;font-size:.82rem}.table-check-results{gap:.25rem;font-size:.84rem;display:grid}.table-check-player-prompt{border:1px solid color-mix(in srgb, var(--accent) 70%, var(--line));background:linear-gradient(115deg, color-mix(in srgb, var(--accent) 11%, transparent), transparent 50%), var(--panel);border-radius:10px;flex-shrink:0;gap:.55rem;padding:.65rem .8rem;display:grid}.table-check-player-head{justify-content:space-between;align-items:end;gap:.65rem;display:flex}.table-check-player-head .field{min-width:9rem}.table-check-player-actions{flex-wrap:wrap;align-items:end}.table-check-physical{flex:0 8rem}.dm-run-check-name{max-width:8rem;color:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:.78rem;display:block;overflow:hidden}.dm-run-check-table td.meets-dc{color:#c8dfc4;background:#6f9f6a33;border-radius:6px;font-weight:700}.dm-run-disadvantage{color:var(--danger);margin-left:.1rem;font-weight:700}.dm-run-utilities{border-top:1px solid var(--line);flex-shrink:0;gap:.35rem;padding-top:.6rem;display:grid}.dm-run-utilities .dm-run-label{margin:0}.chat-drawer-backdrop{display:none}.chat-drawer-sheet{display:contents}#panel-chat .side-chat-tabs button{align-items:center;gap:.35rem;display:inline-flex}.chat-width-seg{border:1px solid color-mix(in srgb, var(--line,#3a342c) 90%, transparent);background:color-mix(in srgb, var(--bg2,#2e2822) 55%, transparent);border-radius:6px;flex-shrink:0;display:inline-flex;overflow:hidden}.chat-width-seg button{appearance:none;min-width:1.65rem;font:inherit;letter-spacing:.02em;color:var(--muted,#9a9084);cursor:pointer;background:0 0;border:0;margin:0;padding:.28rem .52rem;font-size:.72rem;font-weight:650;line-height:1.2}.chat-width-seg button+button{border-left:1px solid color-mix(in srgb, var(--line,#3a342c) 90%, transparent)}.chat-width-seg button:hover:not(:disabled){color:var(--ink);background:color-mix(in srgb, var(--bg3,#3a342c) 40%, transparent)}.chat-width-seg button.active{color:#fff;background:#c45c268c}.chat-width-seg button:disabled{opacity:.7;cursor:default}.prefs-divider{border:0;border-top:1px solid color-mix(in srgb, var(--line,#3a342c) 80%, transparent);margin:.85rem 0 .35rem}.prefs-chat-width-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-width-preview{border-radius:3px;align-items:stretch;gap:3px;height:1.35rem;margin-bottom:.2rem;display:flex;overflow:hidden}.chat-width-preview-main{background:color-mix(in srgb, var(--muted,#9a9084) 28%, transparent);flex:1;min-width:0}.chat-width-preview-chat{background:color-mix(in srgb, var(--accent,#c45c26) 55%, transparent);flex-shrink:0}.chat-width-bar-s .chat-width-preview-chat{width:22%}.chat-width-bar-m .chat-width-preview-chat{width:32%}.chat-width-bar-l .chat-width-preview-chat{width:42%}.messages-unread{color:#fff;background:#c45c268c;border-radius:999px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.messages-panel{min-height:0}.messages-recipients{min-height:0;margin-bottom:.35rem;overflow:auto}.messages-peer-list{flex-direction:column;gap:.2rem;display:flex}.messages-peer{cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;min-width:0;padding:.35rem .45rem;display:flex}.messages-peer>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.messages-peer:hover{background:#ffffff0a}.chat>.row{flex-wrap:nowrap;flex-shrink:0;align-items:flex-end}.chat>.row>textarea.chat-input{resize:none;field-sizing:content;width:auto;min-width:0;min-height:calc(2 * 1.45em + 2 * var(--control-pad-y));max-height:calc(10 * 1.45em + 2 * var(--control-pad-y));flex:1;line-height:1.45;overflow-y:hidden}.messages-thread-list{align-content:start}.messages-thread-row{text-align:left;border:1px solid var(--line);color:inherit;cursor:pointer;background:#0000002e;border-radius:10px;gap:.2rem;width:100%;padding:.55rem .65rem;display:grid}.messages-thread-row:hover{background:#c45c2614;border-color:#c45c2666}.messages-thread-title{justify-content:space-between;align-items:center;gap:.5rem;font-weight:550;display:flex}.messages-thread-preview{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.login{align-content:center;place-items:center;height:100%;padding:1.5rem;display:grid;overflow:auto}.login:has(.login-card.create){align-content:start;place-items:start center}.login.login-create-layout{grid-template-columns:minmax(0,1fr);align-content:start;place-items:start center;gap:1.25rem;width:min(1480px,100%);margin-inline:auto}@media (width>=1100px){.login.login-create-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,380px);align-items:start}}.login-guest-chat{flex-direction:column;width:min(1080px,100%);min-height:22rem;max-height:min(36rem,70dvh);display:flex}@media (width>=1100px){.login-guest-chat{width:100%;min-height:min(40rem,100dvh - 2rem);max-height:calc(100dvh - 2rem);position:sticky;top:1rem}}.login-guest-chat>.panel{flex-direction:column;flex:1;min-height:0;display:flex}.login-card{background:linear-gradient(180deg, #2e2822f2, #1c1814f5), var(--bg1);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow);border-radius:20px;padding:2rem 1.5rem}.login-card.create{width:min(1080px,100%);margin-block:.5rem}.login.login-create-layout .login-card.create{width:100%;margin-block:0}.login-create{flex-direction:column;gap:.75rem;display:flex}.login-card h1{font-family:var(--display);margin:0 0 .2rem;font-size:3rem;font-weight:400}.login-card h1 em{color:var(--accent-2);font-style:italic}.brand-tagline{font-family:var(--display);color:var(--accent-2);letter-spacing:.01em;margin:0 0 .65rem;font-size:1.15rem;font-style:italic}.chip-row{flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.25rem;display:flex}.campaign-picker-list{flex-direction:column;gap:.65rem;margin-top:.75rem;display:flex}.campaign-picker-card{text-align:left;border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.85rem 1rem;display:flex}.campaign-picker-card:hover{border-color:var(--accent)}.login-campaign-banner{border:1px solid var(--border);background:var(--panel-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0 .75rem;padding:.65rem .75rem;display:flex}.topbar-campaign{flex-direction:column;gap:0;min-width:0;display:flex;position:relative}.topbar-campaign-btn{appearance:none;text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;max-width:min(22rem,42vw);padding:0;line-height:1.2;display:block}.topbar-campaign-btn:disabled{cursor:default}.topbar-campaign-line{align-items:baseline;gap:.35rem;min-width:0;display:flex;overflow:hidden}.topbar-campaign-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.topbar-campaign-role{white-space:nowrap;flex-shrink:0;font-size:.8rem}.topbar-campaign-menu{z-index:40;border:1px solid var(--border);background:var(--panel);min-width:14rem;max-width:min(20rem,80vw);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:.25rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .35rem);left:0}.topbar-campaign-menu button{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;border-radius:6px;padding:.45rem .55rem}.topbar-campaign-menu button:hover,.topbar-campaign-menu button.active{background:color-mix(in srgb, var(--accent) 18%, transparent)}.campaign-table-rules{background:#0000002e;border:1px solid #f3ebe01f;border-radius:12px;margin-top:.5rem;padding:.85rem 1rem}.campaign-table-rules-title{margin:0 0 .15rem;font-size:1rem}.campaign-rule-row{cursor:pointer;align-items:flex-start;gap:.55rem;margin:.55rem 0 0;display:flex}.campaign-rule-row input{margin-top:.2rem}.campaign-rule-row strong{font-weight:600}.chat{flex:1;grid-template-rows:auto 1fr auto;gap:.5rem;min-height:0;display:grid}.chat-header{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.chat-header h3{margin:0}.chat-header-actions{flex-shrink:0;gap:.35rem}.chat-log{align-content:start;gap:.5rem;min-height:0;display:grid;overflow:auto}.bubble{border:1px solid var(--line);background:#00000038;border-radius:12px;padding:.6rem .7rem}.bubble.user{white-space:pre-wrap;background:#f3ebe024;border-color:#c45c2659}.bubble.assistant{border-color:#d9a44140}.assistant-table-actions{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);margin-top:.55rem;padding-top:.45rem}.assistant-table-actions>details>summary{border:1px solid var(--line);min-height:1.9rem;color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;padding:.2rem .45rem;font-size:.76rem;font-weight:650;list-style:none;display:inline-flex}.assistant-table-actions>details>summary::-webkit-details-marker{display:none}.assistant-table-actions>details[open]>summary{color:var(--ink);border-color:#d9a44166}.assistant-table-actions-menu{gap:.3rem;margin-top:.4rem;display:grid}.assistant-table-actions-menu>button{text-align:left;width:100%;min-height:2.15rem;padding:.35rem .5rem;font-size:.78rem}.assistant-table-actions-menu>button.publish{color:#d8f0d3;border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.assistant-table-action-status{color:var(--muted);margin-top:.35rem;font-size:.75rem;line-height:1.3}.chat-md{overflow-wrap:anywhere;line-height:1.45}.chat-md>:first-child{margin-top:0}.chat-md>:last-child{margin-bottom:0}.chat-md p,.chat-md ul,.chat-md ol,.chat-md pre,.chat-md blockquote,.chat-md table,.chat-md hr{margin:.45em 0}.chat-md h1,.chat-md h2,.chat-md h3{color:var(--ink);margin:.55em 0 .3em;font-size:1em;font-weight:650;line-height:1.3}.chat-md h1{font-size:1.1em}.chat-md ul,.chat-md ol{padding-left:1.35em}.chat-md li,.chat-md li>ul,.chat-md li>ol{margin:.15em 0}.chat-md code{background:#00000059;border:1px solid #f3ebe01a;border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.chat-md pre{background:#0006;border:1px solid #f3ebe01a;border-radius:8px;padding:.55rem .65rem;overflow-x:auto}.chat-md pre code{background:0 0;border:none;padding:0;font-size:.82em}.chat-md blockquote{color:var(--muted);border-left:3px solid #d9a44173;margin-left:0;padding:.15em 0 .15em .75em}.chat-md a{color:var(--accent-2);text-underline-offset:2px;text-decoration:underline}.chat-md a:hover{color:#e8c06a}.chat-md hr{border:none;border-top:1px solid var(--line)}.chat-md table{border-collapse:collapse;width:100%;font-size:.9em;display:block;overflow-x:auto}.chat-md th,.chat-md td{border:1px solid var(--line);text-align:left;padding:.3em .5em}.chat-md th{background:#d9a4411a;font-weight:600}.chat-md input[type=checkbox]{margin-right:.35em}.chat-live{gap:.45rem;display:grid}.chat-phase{color:var(--muted,#a8a29a);font-size:.85rem;font-style:italic}.chat-activity{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.chat-activity-step{background:#d9a44114;border:1px solid #d9a44133;border-radius:8px;grid-template-columns:1.1rem 1fr;align-items:start;gap:.35rem;padding:.25rem .4rem;font-size:.82rem;display:grid}.chat-activity-step.state-error{background:#7828282e;border-color:#f0b4b459}.chat-activity-mark{text-align:center;opacity:.85;font-size:.75rem;line-height:1.35}.chat-activity-body{gap:.1rem;min-width:0;display:grid}.chat-activity-label{font-weight:550}.chat-activity-summary{overflow-wrap:anywhere;font-size:.78rem}.chat-header-actions button.active{background:#d9a4411f;border-color:#d9a44173}.tool-chip{background:#d9a4411f;border:1px solid #d9a44147;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.78rem;display:inline-flex}.prefs-panel{flex-direction:column;min-height:0;display:flex}.prefs-tabs{margin:.15rem 0 .75rem}.prefs-scroll{flex:1;min-height:0}.prefs-pane{gap:.85rem;max-width:42rem}.prefs-lede{margin:0;line-height:1.4}.feedback-dialog-hint{margin:0}.feedback-kind-toggle{gap:.4rem}.feedback-dialog-textarea{resize:vertical;width:100%;min-height:8rem;font:inherit;line-height:1.4}.feedback-inbox-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.feedback-inbox-row{border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);padding:.65rem 0}.feedback-inbox-row:first-child{border-top:none;padding-top:0}.feedback-inbox-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem}.feedback-inbox-meta .ghost{margin-left:auto}.feedback-kind-chip{letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 70%, transparent);border-radius:6px;padding:.1rem .4rem;font-size:.75rem;font-weight:600;display:inline-block}.feedback-kind-chip--bug{border-color:color-mix(in srgb, #b45309 45%, var(--border))}.feedback-kind-chip--product{border-color:color-mix(in srgb, #1d4ed8 40%, var(--border))}.feedback-inbox-body{white-space:pre-wrap;margin:0;line-height:1.45}.feedback-inbox-path{word-break:break-all;margin:.35rem 0 0;font-size:.85rem}.prefs-bindings{gap:.4rem;display:grid}.prefs-actions{margin-top:.25rem}.prefs-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.prefs-quality-option{text-align:left;border:1px solid color-mix(in srgb, var(--line,#3a342c) 85%, transparent);background:color-mix(in srgb, var(--bg2,#2e2822) 70%, transparent);color:var(--ink);cursor:pointer;border-radius:8px;gap:.25rem;padding:.85rem .95rem;display:grid}.prefs-quality-option:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent,#c45c26) 45%, transparent)}.prefs-quality-option.active{background:#c45c2629;border-color:#c45c26a6;box-shadow:inset 0 0 0 1px #c45c2640}.prefs-quality-name{font-size:1.05rem;font-weight:650}.prefs-quality-cost{color:var(--accent-2,#d9a441);font-variant-numeric:tabular-nums;font-size:.9rem}.prefs-quality-desc{font-size:.85rem;line-height:1.35}.ai-spend-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.65rem 1rem;display:flex}.ai-spend-range{flex-wrap:wrap;gap:.35rem;display:flex}.ai-spend-user-filter{gap:.25rem;font-size:.8rem;display:grid}.ai-spend-user-filter select{min-width:10rem}.ai-spend-hero{background:color-mix(in srgb, var(--bg2,#2e2822) 75%, transparent);border:1px solid color-mix(in srgb, var(--line,#3a342c) 75%, transparent);border-radius:8px;gap:.75rem;padding:.85rem .95rem;display:grid}.ai-spend-hero-total{gap:.15rem;display:grid}.ai-spend-hero-total strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.65rem;line-height:1.1}.ai-spend-split{gap:.4rem;display:grid}.ai-spend-split-track{background:color-mix(in srgb, var(--bg0,#1a1714) 80%, transparent);border-radius:999px;height:.45rem;display:flex;overflow:hidden}.ai-spend-split-chat{background:#5b8fad;min-width:0}.ai-spend-split-image{background:var(--accent,#c45c26);min-width:0}.ai-spend-split-labels{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;font-size:.85rem;display:flex}.ai-spend-image-breakdown{font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:.85rem}.ai-spend-chart-wrap{margin-top:.15rem;overflow-x:auto}.ai-spend-chart{width:100%;max-width:36rem;height:auto;display:block}.ai-spend-bar.chat{fill:#5b8fad}.ai-spend-bar.image{fill:var(--accent,#c45c26)}.ai-spend-grid{stroke:color-mix(in srgb, var(--line,#3a342c) 55%, transparent);stroke-width:1px;stroke-dasharray:3 4}.ai-spend-axis{stroke:color-mix(in srgb, var(--line,#3a342c) 90%, transparent);stroke-width:1px}.ai-spend-tick,.ai-spend-ytick{fill:var(--muted);font-size:10px}.ai-spend-day-bg{fill:#c45c261a}.ai-spend-legend{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.4rem;font-size:.85rem;display:flex}.ai-spend-legend-item:before{content:"";vertical-align:-.05rem;border-radius:2px;width:.65rem;height:.65rem;margin-right:.35rem;display:inline-block}.ai-spend-legend-item.chat:before{background:#5b8fad}.ai-spend-legend-item.image:before{background:var(--accent,#c45c26)}.ai-spend-legend-hint{margin-left:auto;font-size:.8rem}.ai-spend-empty{text-align:center;border:1px dashed color-mix(in srgb, var(--line,#3a342c) 80%, transparent);border-radius:8px;padding:1.5rem .75rem}.ai-spend-empty p{margin:0}.ai-spend-empty p+p{margin-top:.35rem}.ai-spend-day-detail{border:1px solid color-mix(in srgb, var(--accent,#c45c26) 35%, transparent);background:#c45c2614;border-radius:8px;gap:.55rem;padding:.7rem .85rem;display:grid}.ai-spend-day-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.ai-spend-day-metrics>div{gap:.1rem;display:grid}.ai-spend-day-metrics strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.ai-spend-table-wrap{overflow-x:auto}.ai-spend-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.ai-spend-table th,.ai-spend-table td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--line,#3a342c) 70%, transparent);padding:.4rem .5rem}.ai-spend-table th{color:var(--muted);font-weight:550}.ai-spend-table tbody tr{cursor:pointer}.ai-spend-table tbody tr:hover{background:color-mix(in srgb, var(--bg2,#2e2822) 55%, transparent)}.ai-spend-table tbody tr.selected{background:#c45c261f}.dice-tray{z-index:120;box-sizing:border-box;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#0c0a088c;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem 1rem 1.25rem;display:flex;position:fixed;inset:0;overflow:hidden}.dice-tray-close{z-index:1;cursor:pointer;position:absolute;top:1rem;right:1rem}.dice-tray-stage{cursor:default;border-radius:12px;flex:0 auto;width:min(720px,94vw);height:min(420px,100dvh - 11rem);overflow:hidden;box-shadow:0 12px 40px #00000073}.dice-tray-stage canvas{display:block;width:100%!important;height:100%!important}.dice-tray-caption{text-align:center;color:var(--text,#f3ebe0);flex-shrink:0;max-width:min(720px,94vw)}.dice-tray-caption strong{letter-spacing:.02em;font-family:Iowan Old Style,Palatino Linotype,Palatino,serif;font-size:clamp(1.75rem,5vw,2.75rem);line-height:1.1;display:block}.dice-tray-formula{margin-top:.15rem;font-size:.9rem}.dice-tray-hint{opacity:.75;margin-top:.35rem;font-size:.75rem}.dice-tray-rolling{opacity:.7;margin:.35rem 0;font-size:clamp(1.25rem,4vw,1.75rem)}.dice-prefs{gap:1rem;width:100%;max-width:none}.dice-prefs-layout{grid-template-columns:minmax(280px,1fr) minmax(360px,1.15fr);align-items:start;gap:1.5rem;display:grid}.dice-prefs-controls{gap:.75rem}.dice-prefs-section{border-bottom:1px solid color-mix(in srgb, var(--line,#3a342c) 70%, transparent);flex-direction:column;gap:.55rem;padding-bottom:.75rem;display:flex}.dice-prefs-section:last-of-type{border-bottom:none;padding-bottom:0}.dice-prefs-section-title{letter-spacing:.04em;text-transform:uppercase;opacity:.85;margin:0;font-size:.8rem;font-weight:600}.dice-prefs-section-note{margin:0;font-size:.8rem}.dice-prefs-controls .field input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;width:3rem;height:2rem;padding:0}.dice-prefs-controls .field input[type=range]{width:100%}.dice-prefs-preview{flex-direction:column;gap:.65rem;display:flex;position:sticky;top:.5rem}.dice-prefs-preview-stage{border:1px solid var(--line);background:#00000040;border-radius:10px;width:100%;height:min(520px,55vh);min-height:320px;overflow:hidden}.dice-prefs-preview-stage canvas{display:block;width:100%!important;height:100%!important}.dice-prefs-preview-controls{align-items:flex-end;gap:.5rem}.dice-prefs-preview-controls .field{margin:0}.dice-prefs-preview-controls button{flex-shrink:0}.dice-prefs-preview-caption{text-align:center;font-size:.9rem}.encounter-ribbon{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;touch-action:pan-x pan-y;flex-shrink:0;gap:.45rem;width:100%;padding:.15rem 0 .35rem;display:flex;overflow-x:auto}.encounter-fight-bar{flex-shrink:0;padding:.15rem 0 .25rem}.encounter-fight-bar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.3rem .55rem}.encounter-fight-bar-meta{flex-flow:wrap;flex:14rem;align-items:baseline;gap:.15rem .55rem;min-width:0;display:flex}.encounter-fight-bar-title{font-size:.9rem;line-height:1.2}.encounter-fight-bar-turn{font-size:.82rem;line-height:1.25}.encounter-fight-bar-inspecting{color:var(--text);font-weight:600}.encounter-turn-reminders--inline{flex-wrap:wrap;flex:auto;gap:.25rem;min-width:0;display:flex}.encounter-fight-bar-keys{opacity:.85;letter-spacing:.02em;cursor:help;font-size:.72rem}.explain-tip-trigger.encounter-fight-bar-keys{font:inherit;letter-spacing:.02em;background:0 0;border:none;padding:0;font-size:.72rem;text-decoration:none}.encounter-fight-bar-actions{flex-wrap:wrap;gap:.3rem;margin-left:auto}.encounter-fight-bar-actions .primary{min-width:6.5rem;font-weight:700}.encounter-pending-stack{flex-direction:column;gap:.35rem;margin-bottom:.35rem;display:flex}.pinned-encounter-reminders{gap:.35rem;margin-bottom:.4rem;display:grid}.pinned-encounter-reminder{background:#53417829;border:1px solid #8d78c999;border-left:3px solid #8d78c9;border-radius:9px;justify-content:space-between;align-items:flex-start;gap:.55rem;padding:.5rem .6rem;display:flex}.pinned-encounter-reminder>span{gap:.15rem;min-width:0;display:grid}.pinned-encounter-reminder>span>span{color:var(--muted);white-space:pre-wrap;font-size:.8rem}.pinned-encounter-reminder>button{flex-shrink:0;min-height:auto;padding:.15rem .3rem;font-size:.72rem}.concentration-reminder-stack{gap:.4rem;margin-bottom:.4rem;display:grid}.concentration-reminder{border:1px solid color-mix(in srgb, var(--accent) 70%, var(--line));background:color-mix(in srgb, var(--accent) 13%, var(--panel));border-radius:9px;gap:.4rem;padding:.55rem .65rem;display:grid}.concentration-reminder-copy{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;font-size:.84rem;display:flex}.concentration-reminder-copy>span{color:var(--muted)}.concentration-reminder-actions{flex-wrap:wrap;align-items:end}.concentration-physical-result{flex:0 7rem}.encounter-turn-reminders{flex-wrap:wrap;gap:.3rem;margin-bottom:.35rem;display:flex}.encounter-turn-reminders .chip{font-size:.72rem}.encounter-turn-reminders .turn-reminder-warn{border-color:color-mix(in srgb, var(--accent) 60%, var(--line));background:color-mix(in srgb, var(--accent) 10%, transparent)}.encounter-pending-card{border:1px solid var(--line);background:color-mix(in srgb, var(--accent,#d9a441) 12%, transparent);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;padding:.35rem .5rem}.campaign-rule-select{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.campaign-rule-select select{max-width:28rem}.encounter-focus-overflow{align-self:center}.row.encounter-add-combatant{flex-wrap:nowrap;flex:auto;align-items:center;gap:.35rem;min-width:0;max-width:100%}.row.encounter-add-combatant>select{flex:12rem;width:auto;min-width:8rem;max-width:20rem}.row.encounter-add-combatant>input.encounter-add-combatant-init{flex:0 0 4.5rem;width:4.5rem;max-width:4.5rem}.row.encounter-add-combatant>button{flex:none;width:auto}.init-roster-actions.row{flex-wrap:nowrap;align-items:center;gap:.45rem;min-width:0}.encounter-init-overflow{flex:none;margin-left:auto}.encounter-order-chip{opacity:.9;padding:.25rem .45rem;font-size:.85rem}.encounter-order-edit{flex-wrap:nowrap;align-items:center;gap:.35rem}.encounter-order-edit>input.encounter-add-combatant-init{flex:0 0 4.5rem;width:4.5rem;max-width:4.5rem}.encounter-order-edit>button{flex:none;width:auto;padding:.35rem .55rem}.encounter-combat-body{margin-bottom:.35rem;padding-bottom:.15rem}.encounter-turn-desk{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--panel) 92%, var(--bg));border-radius:8px;flex:none;max-height:min(15rem,40%);padding:.45rem .55rem;overflow:auto}.encounter-turn-desk-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem}.encounter-manage-menu-body{flex-direction:column;gap:.45rem;min-width:16rem;padding:.45rem;display:flex}.encounter-recent-log{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.encounter-recent-log-latest{margin:0}.encounter-recent-log-more summary{cursor:pointer;color:var(--muted);font-size:.8rem}.encounter-recent-log-more ul{margin:.25rem 0 0;padding-left:1.1rem}.encounter-ribbon-card{border:1px solid var(--line);width:12.75rem;min-width:11.75rem;max-width:14rem;min-height:6.5rem;max-height:7rem;color:inherit;font:inherit;text-align:left;cursor:pointer;scroll-snap-align:center;background:#00000038;border-radius:10px;flex:none;align-items:stretch;gap:0;padding:0;display:flex;overflow:hidden}.encounter-ribbon-card.current{border-color:#d9a441bf;box-shadow:inset 0 0 0 1px #d9a44159}.encounter-ribbon-card.attention{animation:1.35s ease-in-out 2 turn-attention}@keyframes turn-attention{0%,to{box-shadow:inset 0 0 0 1px #d9a44159}50%{box-shadow:inset 0 0 0 2px #d9a441bf,0 0 16px #d9a44161}}@media (prefers-reduced-motion:reduce){.encounter-ribbon-card.attention{animation:none}}.encounter-ribbon-card.selected:not(.current){border-color:#c45c26b3;box-shadow:inset 0 0 0 1px #c45c2659}.player-combat-card{border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 45%), var(--panel);border-radius:12px;flex-direction:column;flex-shrink:0;gap:.65rem;padding:.75rem .85rem;display:flex}.player-combat-card.is-current-turn{border-color:color-mix(in srgb, var(--accent) 70%, var(--line))}.player-combat-card-head,.player-combat-attack,.player-combat-pending{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.player-combat-card-head h3{margin:.1rem 0 0}.player-combat-card-actions,.player-combat-counters,.player-combat-switcher{flex-wrap:wrap}.player-combat-vitals{background:#0000002e;border-radius:8px;flex-wrap:wrap;gap:.35rem .9rem;padding:.45rem .55rem;font-size:.88rem;display:flex}.player-combat-statuses{flex-wrap:wrap;gap:.35rem;display:flex}.player-combat-card-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:.65rem;display:grid}.player-combat-card-section{border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:.4rem;min-width:0;padding:.55rem;display:flex}.player-combat-attack-list{gap:.3rem;display:grid}.player-combat-attack{border-top:1px solid color-mix(in srgb, var(--line) 65%, transparent);min-width:0;padding-top:.3rem}.player-combat-attack:first-child{border-top:0;padding-top:0}.player-combat-attack>div{min-width:0}.player-combat-pending{background:color-mix(in srgb, var(--accent) 13%, transparent);border-radius:8px;align-items:flex-start;padding:.45rem .55rem;font-size:.82rem}.player-combat-spells{line-height:1.4}.your-turn-dock{border-color:color-mix(in srgb, var(--accent) 70%, var(--line))}.your-turn-dock>.row{flex-wrap:wrap;justify-content:flex-end}.player-turn-sheet{z-index:39;top:calc(var(--sticky-chrome-height,0px) + .75rem);border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--panel);border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(29rem,100vw - 1.5rem);display:grid;position:fixed;bottom:.75rem;right:.75rem;overflow:hidden;box-shadow:0 16px 42px #00000073}.player-turn-sheet-head,.player-turn-sheet-footer{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .8rem;display:flex}.player-turn-sheet-head h2{margin:0;font-size:1.05rem}.player-turn-sheet-body{min-height:0;padding:.75rem .8rem;overflow:auto}.player-turn-sheet-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end}.combat-scene-context{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:.55rem .7rem}.combat-scene-context>summary{cursor:pointer;justify-content:space-between;gap:.75rem;list-style:none;display:flex}.combat-scene-context>summary::-webkit-details-marker{display:none}.combat-scene-context-brief{color:var(--muted)}.combat-scene-context[open]>summary{border-bottom:1px solid var(--line);padding-bottom:.5rem}.combat-scene-context p{margin:.55rem 0 0}.encounter-ribbon-card.down{opacity:.72}.ribbon-avatar{aspect-ratio:2/3;object-fit:cover;border-radius:0;flex-shrink:0;align-self:stretch;width:3.75rem;height:auto;min-height:0;max-height:6.5rem}.ribbon-avatar.portrait-hit{aspect-ratio:2/3;border-radius:0;align-self:stretch;width:3.75rem;height:auto;min-height:0;max-height:6.5rem;display:block;overflow:hidden}.ribbon-avatar.portrait-hit img{object-fit:cover;width:100%;height:100%;min-height:0;display:block}.ribbon-avatar.placeholder{background:#00000047;place-items:center;font-weight:700;display:grid}.ribbon-conditions{min-height:0;max-height:1.2rem;overflow:hidden}.ribbon-conditions-overflow{white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.ribbon-card-body{flex-direction:column;flex:1;justify-content:flex-start;gap:.15rem;min-width:0;padding:.35rem .5rem;display:flex}.ribbon-name{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.ribbon-meta{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.ribbon-state-label{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:.1rem .35rem;font-size:.67rem;font-weight:700}.ribbon-state-label.current{color:#f4d28f;background:#d9a4412e}.ribbon-state-label.inspected{color:#efb08d;background:#c45c2633}.ribbon-identity{-webkit-line-clamp:2;line-clamp:2;white-space:normal;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ribbon-hp{flex-direction:column;gap:.12rem;display:flex}.ribbon-hp .hp-bar-wrap--compact .hp-bar-track{height:.28rem}.ribbon-hp .hp-bar-wrap--compact .hp-bar-label{font-size:.75rem}.ribbon-harm{font-size:.75rem;font-weight:600}.ribbon-harm.harm-unhurt{color:#9bc49a}.ribbon-harm.harm-bloodied{color:#d9a441}.ribbon-harm.harm-battered{color:#c45c26}.ribbon-harm.harm-nearDeath,.ribbon-harm.harm-down{color:#d07070}.encounter-focus-actions{flex-wrap:wrap;align-items:center;gap:.3rem .35rem;min-width:0;display:flex}.encounter-focus-actions .pc-hp-controls--compact button,.encounter-focus-stealth button{padding:.2rem .45rem;font-size:.8rem}.hp-action-field{border:1px solid var(--line);background:#0003;border-radius:6px;align-items:stretch;display:inline-flex;overflow:hidden}.hp-action-field button{border:none;border-right:1px solid var(--line);background:0 0;border-radius:0;padding:.2rem .45rem;font-size:.8rem}.hp-action-field input:not([type=checkbox]):not([type=radio]){background:0 0;border:none;border-radius:0;width:auto;min-width:0;padding:.2rem .35rem}.hp-action-field input:not([type=checkbox]):not([type=radio]):focus{outline:none}.pc-hp-controls--compact .hp-action-field button{padding:.15rem .35rem;font-size:.75rem}.load-warn,.pill.enc-disadv,.skill-row.enc-disadv .skill-name{color:var(--warn,#d4a017)}.ribbon-enc{text-transform:uppercase;letter-spacing:.03em;margin-top:.15rem;font-size:.72rem}.inventory-load{font-size:.85rem}.inventory-portrait-col{text-align:center;vertical-align:middle;width:2rem}.portrait-vis-btn{cursor:pointer;width:1.75rem;height:1.75rem;color:var(--text,#e8e0d4);opacity:1;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.portrait-vis-btn.off{color:var(--muted);opacity:.45}.portrait-vis-btn:hover:not(:disabled){background:#ffffff0f}.portrait-vis-btn:disabled{cursor:default}.portrait-vis-btn.on{color:var(--accent,#d9a441);opacity:1}.encounter-focus-stealth{align-items:center;gap:.25rem}.encounter-conditions-disclosure{flex:0 auto;min-width:0;position:relative}.encounter-conditions-disclosure>summary{cursor:pointer;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, var(--ink) 6%);max-width:11rem;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.78rem;list-style:none;display:inline-flex;overflow:hidden}.encounter-conditions-disclosure>summary::-webkit-details-marker{display:none}.encounter-conditions-disclosure[open]>summary{color:var(--ink);border-color:color-mix(in srgb, var(--accent) 55%, var(--line));margin-bottom:0}.encounter-conditions-panel{z-index:4;border:1px solid var(--line);background:var(--panel);border-radius:.45rem;min-width:12rem;max-width:min(18rem,70vw);padding:.45rem;position:absolute;top:calc(100% + .25rem);left:0;box-shadow:0 .35rem 1rem #00000047}.encounter-conditions-disclosure .condition-toggles{max-height:9rem;padding:0;overflow:auto}.encounter-attack-cluster{flex-direction:column;gap:.35rem;display:flex}.encounter-attack-picks{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.encounter-attack-picks select,.combatant-target-select{flex:9rem;min-width:0}.combatant-target-select{max-width:100%}.encounter-target-picker{flex-wrap:wrap;flex:16rem;min-width:0}.encounter-target-picker .combatant-target-select{flex:13rem}.spell-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.spell-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.35rem .75rem;display:flex}.spell-row-main{flex:12rem;min-width:0}.spell-row-actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:.35rem;display:flex}.spell-apply-bar{background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.35rem;width:100%;margin-top:.15rem;padding:.4rem .5rem;display:flex}.spell-apply-bar .combatant-target-select{flex:10rem}.spell-resolve-backdrop{display:none}.spell-resolve-bar{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:.45rem;width:100%;margin-top:.2rem;padding:.5rem .55rem;display:flex}.spell-resolve-bar-head{flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;display:flex}.spell-resolve-bar-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.spell-resolve-chip{cursor:pointer;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .45rem;font-size:.85rem;display:inline-flex}.spell-resolve-chip input{margin:0}button.ghost.is-active{color:#e8c97a;border-color:#d9a4418c}.encounter-attack-roll{flex-direction:column;align-items:stretch;gap:.45rem;display:flex}.encounter-attack-roll .roll-mode-row{flex-wrap:wrap;flex:0 auto}.encounter-attack-roll input[type=text],.encounter-attack-roll input:not([type]){width:3.5rem}.attack-roll-flow{flex-direction:column;gap:.5rem;display:flex}.roll-result-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:.4rem;flex-direction:column;gap:.15rem;padding:.4rem .6rem;display:flex}.roll-result-card-good{background:#d9a44114;border-color:#d9a44180}.roll-result-card-bad{opacity:.85}.roll-result-card-title{font-size:.8rem}.roll-result-card-total{font-size:1.05rem}.roll-result-card-faces,.roll-result-card-detail{font-size:.85rem}.app-shell.encounter-live:not(.mode-player) .workspace,.app-shell.encounter-live:not(.mode-player).chat-collapsed .workspace{grid-template-columns:minmax(0, 1fr) var(--chat-col)}.app-shell.encounter-live:not(.mode-player).chat-collapsed .workspace{grid-template-columns:minmax(0,1fr)}.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout{grid-template-columns:minmax(22rem,1fr) minmax(0,1fr);align-self:stretch;gap:.65rem;height:100%;min-height:0;display:grid}.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout.stage-width-small,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout.stage-width-small{grid-template-columns:minmax(24rem,1.2fr) minmax(0,.65fr)}.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout.stage-width-medium,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout.stage-width-medium{grid-template-columns:minmax(22rem,1fr) minmax(0,1fr)}.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout.stage-width-large,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout.stage-width-large{grid-template-columns:minmax(18rem,22rem) minmax(0,1.25fr)}.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout.no-stage,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout.no-stage,.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout.stage-width-off,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout.stage-width-off{grid-template-columns:minmax(0,1fr)}.app-shell.encounter-live:not(.mode-player) .encounter-tools-col{flex-direction:column;gap:.35rem;min-width:0;height:100%;min-height:0;max-height:100%;display:flex}.app-shell.encounter-live:not(.mode-player) .encounter-tools-col>.encounter-turn-desk{flex:none;min-height:0;max-height:min(15rem,40%)}.app-shell.encounter-live:not(.mode-player) .encounter-tools-col>.encounter-setup-panel,.app-shell.encounter-live:not(.mode-player) .encounter-tools-col>#panel-pc,.app-shell.encounter-live:not(.mode-player) .encounter-tools-col>.pc-detail-column{flex:auto;height:auto;min-height:0;max-height:none}.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout>.encounter-stage-panel,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout>.encounter-stage-panel,.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout>.encounter-setup-panel,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout>#panel-pc{height:100%;min-height:0;max-height:100%}.app-shell.encounter-live.mode-player .workspace,.app-shell.encounter-live.mode-player.chat-collapsed .workspace{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;overflow:auto}.app-shell.encounter-live.mode-player .workspace>#panel-pc{min-height:min(55vh,32rem)}.app-shell.encounter-live.mode-player .combat-where-below{max-height:12rem}.app-shell.encounter-live.mode-player .combat-where-below .panel-scroll{max-height:9rem}.loot-modal-backdrop{z-index:80;padding:max(1rem, env(safe-area-inset-top,0px)) max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));background:#00000073;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow:auto}.loot-modal-sheet{width:min(720px,100%)}.init-list{flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;gap:.4rem;min-height:0;display:flex;overflow:auto}.init-roster-actions{flex-shrink:0;padding-top:.15rem}.init-row{border:1px solid var(--line);text-align:left;box-sizing:border-box;background:#0000002e;border-radius:10px;flex:none;width:100%;height:auto;min-height:min-content;padding:0 0 0 3.75rem;display:block;position:relative;overflow:visible}.init-row-main{text-align:left;min-width:0;color:inherit;font:inherit;box-sizing:border-box;background:0 0;border:none;border-radius:0;flex-direction:column;align-items:stretch;gap:.3rem;height:auto;min-height:min-content;padding:.45rem .5rem .55rem .55rem;display:flex;overflow:visible}.init-avatar{border:none;border-right:1px solid var(--line);background:#00000040;border-radius:10px 0 0 10px;width:3.75rem;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.init-avatar.portrait-hit{margin:0;padding:0;display:block}.init-avatar.portrait-hit img,.init-avatar.placeholder{object-fit:cover;width:100%;height:100%;display:block}.init-avatar.placeholder{color:var(--muted);place-items:center;font-weight:600;line-height:1;display:grid}.init-row.current{background:#d9a44114;border-color:#d9a441a6;outline:2px solid #d9a44159}.init-row.current:before{content:"";background:var(--accent-2,#d9a441);z-index:1;border-radius:2px;width:3px;position:absolute;top:6px;bottom:6px;left:0}.init-row.selected{border-color:#c45c268c;box-shadow:inset 0 0 0 1px #c45c264d}.init-row.clickable{cursor:pointer}.init-row.clickable:hover{border-color:#d9a44173}.init-row.clickable:focus-visible{outline-offset:2px;outline:2px solid #d9a4418c}.init-row.down{opacity:.45}.init-row-top{align-items:flex-start;gap:.45rem;display:flex}.init-badge{font-variant-numeric:tabular-nums;background:#d9a44129;border:1px solid #d9a44159;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.75rem;height:1.75rem;font-size:.85rem;font-weight:700;display:inline-flex}.init-row-identity{gap:.1rem;min-width:0;display:grid}.init-name{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;line-height:1.2;overflow:hidden}.init-meta{font-size:.72rem;line-height:1.2}.hp-bar-wrap{gap:.15rem;display:grid}.hp-bar-wrap--compact{gap:.12rem}.hp-bar-track{background:#ffffff14;border-radius:999px;flex-direction:row;height:6px;display:flex;overflow:hidden}.hp-bar-fill{background:linear-gradient(90deg,#5a8c5ad9,#78aa64f2);flex-shrink:0;height:100%;transition:width .2s}.hp-bar-fill.low{background:linear-gradient(90deg,#a03c32e6,#c45c26f2)}.hp-bar-missing{background:0 0;flex-shrink:0;height:100%}.hp-bar-temp{pointer-events:none;background:#8cb4dc8c;flex-shrink:0;height:100%}.hp-bar-label{font-variant-numeric:tabular-nums;font-size:.72rem}.init-conds-wrap{flex-direction:column;flex:none;gap:.2rem;min-width:0;min-height:min-content;display:flex;overflow:visible}.init-conds{flex-wrap:wrap;flex:none;align-content:flex-start;align-items:flex-start;gap:.25rem;min-width:0;min-height:min-content;display:flex}.init-conds .pill{box-sizing:border-box;white-space:nowrap;flex:none;align-items:center;height:auto;padding:.2rem .45rem;font-size:.65rem;line-height:1.2;display:inline-flex}.condition-toggles{gap:.3rem;display:grid}.condition-toggle-row{flex-wrap:wrap;gap:.3rem;display:flex}.condition-toggle{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:#0003;border-radius:999px;padding:.2rem .45rem;font-size:.75rem}.condition-toggle:hover:not(:disabled){border-color:#d9a44173}.condition-toggle.on{background:#c45c2638;border-color:#c45c268c}.condition-toggle.on.dead{color:#f0b4b4;background:#c45c5c40}.condition-toggle.on.unconscious{color:#c5d0e8;background:#788cb440}.condition-toggle:disabled{opacity:.55;cursor:not-allowed}.explain-tip-trigger.condition-toggle{border:1px solid var(--line);color:inherit;cursor:pointer;background:#0003;border-radius:999px;align-items:center;padding:.2rem .45rem;font-size:.75rem;display:inline-flex}.explain-tip-trigger.condition-toggle:hover:not(:disabled),.explain-tip.open .explain-tip-trigger.condition-toggle{color:inherit;border-color:#d9a44173}.explain-tip-trigger.condition-toggle.on{background:#c45c2638;border-color:#c45c268c}.explain-tip-trigger.condition-toggle.on.dead{color:#f0b4b4;background:#c45c5c40}.explain-tip-trigger.condition-toggle.on.unconscious{color:#c5d0e8;background:#788cb440}.explain-tip-trigger.condition-toggle:disabled{opacity:.55;cursor:not-allowed}.pill-wrap .explain-tip-trigger.pill{color:#b7d4b3;cursor:help;background:#6f9f6a2e;border:none;border-radius:999px;align-items:center;padding:.12rem .45rem;font-size:.75rem;display:inline-flex}.pill-wrap .explain-tip-trigger.pill.dead{color:#f0b4b4;background:#c45c5c40}.pill-wrap .explain-tip-trigger.pill.effect-pill,.pill.effect-pill{color:#e8c97a;background:#d9a44138;border:1px solid #d9a44159}.init-conds .pill-wrap .explain-tip-trigger.pill{padding:.2rem .45rem;font-size:.65rem}.pill-wrap .explain-tip-trigger.pill:hover,.pill-wrap.explain-tip.open .explain-tip-trigger.pill{color:inherit}.roll-mode-row{gap:.35rem}.pill.dead{color:#f0b4b4;background:#c45c5c40}.pill.unconscious{color:#c5d0e8;background:#788cb440}.history-panel{gap:var(--stack-gap,.65rem);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.history-panel-header{flex-direction:column;flex-shrink:0;gap:.35rem;display:flex}.history-panel-header h3{margin:0}.history-layout{flex:1;height:auto;min-height:0;overflow:hidden}.history-list-col,.history-timeline-col,.history-narrate-col{flex-direction:column;gap:.45rem;height:100%;min-height:0;display:flex;overflow:hidden}.history-col-chrome{flex-direction:column;flex-shrink:0;gap:.35rem;display:flex}.history-col-title{margin:0;font-size:.95rem}.history-list-scroll{flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex;overflow:auto}.history-range-bar{align-items:center;gap:.35rem}.history-range-summary{color:color-mix(in srgb, var(--ink,#2a2218) 65%, transparent);font-size:.85rem}.history-timeline-filters{align-items:center;gap:.75rem}.history-check{cursor:pointer;align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.history-list-meta{color:color-mix(in srgb, var(--ink,#2a2218) 60%, transparent);font-size:.85rem}.history-status-badge{letter-spacing:.02em;font-size:.75rem;font-weight:600;display:inline-block}.history-status-badge.status-ended{color:color-mix(in srgb, var(--ink,#2a2218) 70%, transparent)}.history-status-badge.status-active{color:var(--accent,#c45c26)}.history-status-badge.status-setup{color:color-mix(in srgb, var(--ink,#2a2218) 50%, transparent)}.history-narrate-status{color:var(--accent,#c45c26);font-size:.85rem;font-weight:600}.history-timeline{border-left:2px solid color-mix(in srgb, var(--ink,#2a2218) 18%, transparent);flex-direction:column;flex:1;gap:.35rem;min-height:0;margin:0;padding:0 0 0 .75rem;list-style:none;display:flex;overflow:auto}.history-tl-item{grid-template-columns:1fr auto;gap:.25rem .35rem;padding:.15rem 0 .15rem .85rem;display:grid;position:relative}.history-tl-item.in-range{background:color-mix(in srgb, var(--accent,#c45c26) 8%, transparent);border-radius:4px}.history-tl-item.is-bound{background:color-mix(in srgb, var(--accent,#c45c26) 16%, transparent)}.history-tl-item.is-catchup .history-tl-meta{color:var(--accent,#c45c26);font-weight:600}.history-tl-item.is-minor .history-tl-label{opacity:.78;font-size:.9em}.history-tl-node{text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;align-items:flex-start;gap:.5rem;min-width:0;padding:.2rem .25rem;display:flex}.history-tl-node:hover{background:color-mix(in srgb, var(--ink,#2a2218) 6%, transparent);border-radius:4px}.history-tl-dot{background:color-mix(in srgb, var(--ink,#2a2218) 35%, transparent);border:2px solid var(--bg,#f7f2ea);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.65rem;left:-.35rem}.history-tl-item.is-key .history-tl-dot{background:var(--accent,#c45c26);width:.65rem;height:.65rem;left:-.4rem}.history-tl-item.is-bound .history-tl-dot{background:var(--accent,#c45c26);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,#c45c26) 35%, transparent)}.history-tl-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.history-tl-meta{color:color-mix(in srgb, var(--ink,#2a2218) 55%, transparent);font-size:.75rem}.history-tl-label{word-break:break-word;line-height:1.35}.history-tl-expand{align-self:start;padding:.15rem .4rem;font-size:.75rem}.history-tl-json{white-space:pre-wrap;background:color-mix(in srgb, var(--ink,#2a2218) 5%, transparent);border-radius:4px;grid-column:1/-1;max-height:12rem;margin:0;padding:.4rem .5rem;font-size:.75rem;overflow:auto}.history-narration{border:1px solid color-mix(in srgb, var(--ink,#2a2218) 14%, transparent);background:color-mix(in srgb, var(--bg2,#efe8dc) 70%, transparent);border-radius:6px;flex:1;min-height:8rem;padding:.65rem .75rem;overflow:auto}.history-list-row{align-items:stretch;gap:.35rem;display:flex}.history-list-row.is-selected>button:first-child{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent,#c45c26) 55%, transparent)}.history-list-row>button:first-child{min-width:0}.history-delete-btn{flex-shrink:0;align-self:flex-start;padding:.35rem .5rem;font-size:.8rem}.history-mobile-nav{justify-content:space-between;align-items:center;gap:.5rem}.history-detail-tabs{margin-bottom:0}.stage-lightbox{z-index:140;box-sizing:border-box;padding:max(2.75rem, calc(env(safe-area-inset-top,0px) + 2.25rem)) max(1rem, env(safe-area-inset-right,0px)) max(1rem, env(safe-area-inset-bottom,0px)) max(1rem, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:zoom-out;background:#080605e0;flex-direction:column;justify-content:stretch;align-items:stretch;display:flex;position:fixed;inset:0}.stage-lightbox-close{top:max(.75rem, env(safe-area-inset-top,0px));right:max(.75rem, env(safe-area-inset-right,0px));z-index:1;cursor:pointer;position:absolute}.stage-lightbox-board{cursor:default;flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.stage-lightbox-board .stage-board-host.is-contain{height:100%;max-height:100%}.scene-map-studio .map-studio-preview{border:1px solid var(--line);background:#0003;border-radius:8px;min-height:180px;position:relative;overflow:hidden}.scene-map-studio .map-studio-preview img{width:100%;height:auto;display:block}.scene-map-studio .map-studio-frame{aspect-ratio:1}.scene-map-studio .map-studio-img,.scene-map-studio .map-studio-frame .portrait-studio-img img,.scene-map-studio .map-studio-frame .portrait-hit img{background:var(--panel-muted,#00000026);width:100%;height:100%;object-fit:contain!important}.scene-map-studio .map-studio-grid-overlay{pointer-events:none;z-index:1;opacity:.55;background-image:linear-gradient(90deg,#ffffff24 1px,#0000 1px),linear-gradient(#ffffff24 1px,#0000 1px);position:absolute;inset:0}.map-studio-empty{text-align:center;padding:2rem}.map-studio-grid{pointer-events:none;opacity:.5;background-image:linear-gradient(90deg,#ffffff1f 1px,#0000 1px),linear-gradient(#ffffff1f 1px,#0000 1px);position:absolute;inset:0}.map-fav-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.prompt-preview{white-space:pre-wrap;max-height:8rem;font-size:.8rem;overflow:auto}.stage-board{border:1px solid var(--line);touch-action:none;background:#1a1a1a;border-radius:8px;flex-shrink:0;width:100%;max-width:100%;position:relative;overflow:hidden}.stage-board-empty{place-items:center;min-height:6rem;display:grid}.stage-board-map{object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.stage-board-grid{pointer-events:none;opacity:.45;background-image:linear-gradient(90deg,#ffffff26 1px,#0000 1px),linear-gradient(#ffffff26 1px,#0000 1px);position:absolute;inset:0}.stage-board-svg{width:100%;height:100%;position:absolute;inset:0}.stage-ann{fill:#5a8cc840;stroke:#5a8cc8b3;stroke-width:1px}.stage-ann.is-selectable{cursor:pointer}.stage-ann.can-move{cursor:move}.stage-ann-handle{fill:#f4efe6;stroke:#1a1714;stroke-width:1.5px;pointer-events:all}.stage-ann.is-selected{stroke-width:2.5px;stroke:#fff;filter:brightness(1.15)}.stage-ann-draft{stroke-dasharray:4 3;stroke-width:1.5px;opacity:.85;pointer-events:none}.stage-ann-cover{fill:#50505059;stroke:#888}.stage-ann-halfCover{fill:#7878504d;stroke:#aa8}.stage-ann-difficult{fill:#8c64284d;stroke:#c84}.stage-ann-elevation{fill:#3c8c5047;stroke:#4a8}.stage-ann-hazard{fill:#b432284d;stroke:#c44}.stage-ann-secret{fill:#783ca040;stroke:#a6c;stroke-dasharray:4 3}.stage-range-ring,.stage-spatial-aid-ring{fill:none;stroke:#50a0ff8c;stroke-width:1.5px;pointer-events:none}.stage-spatial-aid--move .stage-spatial-aid-ring{stroke:#b4c8dcb3;stroke-dasharray:3 4;fill:none}.stage-spatial-aid--melee .stage-spatial-aid-ring{stroke:#dcaa5ad9;stroke-dasharray:none;fill:none}.stage-spatial-aid--ranged .stage-spatial-aid-ring{stroke:#50a0ffb3;stroke-dasharray:6 4;fill:none}.stage-spatial-aid-label{fill:#f4efe6;stroke:#141210d9;stroke-width:3px;paint-order:stroke;pointer-events:none;font-size:11px;font-weight:600}.encounter-stage-aid-modes{gap:.2rem}.encounter-stage-aid-label{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.stage-ruler line{stroke:#f6d27a;stroke-width:2.5px;stroke-dasharray:5 3}.stage-ruler circle{fill:#f6d27a38;stroke:#f6d27a;stroke-width:1.5px}.stage-ruler text{fill:#fff4d0;stroke:#141210e6;stroke-width:3px;paint-order:stroke;font-size:12px;font-weight:700}.stage-ping circle{fill:none;stroke:#f2b84b;stroke-width:2.5px;transform-box:fill-box;transform-origin:50%;animation:1.5s ease-out both stage-ping-pulse}.stage-ping circle+circle{animation-delay:.12s}@keyframes stage-ping-pulse{0%{opacity:1;transform:scale(.25)}70%{opacity:.75}to{opacity:0;transform:scale(2.4)}}.stage-token.can-drag{cursor:grab}.stage-token.is-dragging{cursor:grabbing}.stage-token.is-dm-ghost{opacity:.45}.stage-token.is-dm-ghost .stage-token-face{stroke-dasharray:4 3;stroke:var(--muted,#888)}.stage-token.is-prone .stage-token-face{transform:rotate(-18deg)}.stage-token-footprint{fill:#0000002e;stroke:#fff3;stroke-width:1px;pointer-events:none}.stage-token-affiliation{fill:#00000059;stroke-width:3px;pointer-events:none}.stage-token-affiliation.affiliation-ally{stroke:#4ea5d9;fill:#4ea5d938}.stage-token-affiliation.affiliation-foe{stroke:#d05a7a;fill:#d05a7a38}.stage-token-affiliation.affiliation-neutral{stroke:#c9a34e;fill:#c9a34e33}.stage-token.affiliation-ally .stage-token-face-inner{box-shadow:inset 0 0 0 2px #4ea5d98c}.stage-token.affiliation-foe .stage-token-face-inner{box-shadow:inset 0 0 0 2px #d05a7a8c}.stage-token.affiliation-neutral .stage-token-face-inner{box-shadow:inset 0 0 0 2px #c9a34e80}.stage-token-vitals-track{stroke:#ffffff38;stroke-width:3px}.stage-token-vitals-ring{stroke-width:3px;stroke-linecap:round}.stage-token-vitals-ring.harm-unhurt{stroke:#9bc49a}.stage-token-vitals-ring.harm-bloodied{stroke:#d9a441}.stage-token-vitals-ring.harm-battered{stroke:#c45c26}.stage-token-vitals-ring.harm-nearDeath,.stage-token-vitals-ring.harm-down{stroke:#d07070}.stage-token-temp-ring{stroke:#6aa8d8;stroke-width:2px;stroke-linecap:round;opacity:.9}.stage-token-outer-glow{stroke-width:2.5px;pointer-events:none}.stage-token-outer-glow.is-turn{stroke:var(--accent,#e8a84a)}.stage-token-outer-glow.is-selected:not(.is-turn){stroke:#fff}.stage-token.is-turn .stage-token-face:not(.has-vitals){box-shadow:0 0 0 2px var(--accent,#e8a84a)}.stage-token.is-selected .stage-token-face:not(.has-vitals){box-shadow:0 0 0 2px #fff}.stage-token.is-target .stage-token-face{filter:drop-shadow(0 0 5px #d97736);outline-offset:2px;outline:3px solid #d97736}.stage-token.is-target-eligible:not(.is-target) .stage-token-face{filter:drop-shadow(0 0 4px #7ec178f2);outline-offset:2px;outline:2px dashed #7ec178}.stage-token.is-target-eligible:not(.is-target) .stage-token-affiliation{stroke-dasharray:4 3}.stage-token.is-party-start .stage-token-face{background:#283746d9;border-style:dashed}.stage-token-hover{z-index:5;border:1px solid var(--line);pointer-events:none;background:#141210eb;border-radius:4px;min-width:8rem;max-width:12rem;padding:.35rem .5rem;font-size:.8rem;line-height:1.35;position:absolute}.stage-token-hover-name{font-weight:600}.npc-card-name-row{justify-content:space-between;align-items:baseline;gap:.35rem;display:flex}.npc-map-badge{text-transform:uppercase;letter-spacing:.03em;opacity:.85;flex-shrink:0;font-size:.7rem}.npc-map-badge.on-map{color:var(--accent,#c4a574)}.npc-map-badge.off-map{opacity:.55}.npc-card[draggable=true]{cursor:grab}.npc-card.stage-focus:not(.active){outline-offset:-1px;outline:1px solid #d9a4418c}.stage-slot-assign{padding:.35rem 0}.stage-token-face{color:#fff;pointer-events:none;background:#333;border:2px solid #ffffffb3;border-radius:50%;place-items:center;width:100%;height:100%;font-weight:700;display:grid;overflow:hidden}.stage-token-face.has-vitals{border-color:#0000}.stage-token-face img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.stage-selection-chrome{z-index:6;pointer-events:auto;position:absolute}.stage-selection-overlay{border:1px solid var(--line);background:#181614f0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.25rem;max-width:16rem;padding:.3rem .4rem;display:flex;box-shadow:0 4px 14px #00000059}.stage-selection-overlay-label{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;margin-right:.15rem;font-size:.75rem;font-weight:600;overflow:hidden}.encounter-stage-mode-hint{border-left:3px solid var(--accent-2);background:color-mix(in srgb, var(--accent-2) 10%, transparent);color:var(--muted);margin:0;padding:.35rem .5rem;font-size:.78rem}.encounter-target-advisory{flex-wrap:wrap;align-items:center;gap:.3rem;padding:.35rem 0;display:flex}.encounter-range-state{border:1px solid var(--line);width:fit-content;color:var(--muted);border-radius:999px;padding:.12rem .4rem;font-size:.72rem;font-weight:700}.encounter-range-state.range-melee,.encounter-range-state.range-normal{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.encounter-range-state.range-long{color:var(--accent-2);border-color:color-mix(in srgb, var(--accent-2) 45%, var(--line))}.encounter-range-state.range-outOfRange{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--line))}.encounter-target-advisory .chip{padding:.12rem .4rem;font-size:.7rem}.stage-advisory-secret{color:#c9b8f0;background:#5341782e;border-color:#8d78c9a6}.stage-selection-overlay .ghost{padding:.2rem .45rem;font-size:.75rem}.stage-selection-bind{max-width:7.5rem;padding:.15rem .3rem;font-size:.75rem}.stage-selection-label{width:6.5rem;max-width:40vw;padding:.15rem .3rem;font-size:.75rem}.stage-selection-elev{align-items:center;gap:.2rem;display:inline-flex}.stage-selection-elev input{width:2.75rem;padding:.15rem .3rem;font-size:.75rem}.stage-scale-legend{z-index:4;color:#f0e6d2eb;pointer-events:none;-webkit-user-select:none;user-select:none;background:#100e0cd1;border:1px solid #ffffff2e;border-radius:4px;padding:.2rem .45rem;font-size:.72rem;line-height:1.3;position:absolute;bottom:.4rem;left:.4rem}.stage-zoom-controls{z-index:5;background:#100e0cd1;border:1px solid #ffffff2e;border-radius:4px;gap:.2rem;padding:.15rem;display:inline-flex;position:absolute;bottom:.4rem;right:.4rem}.stage-zoom-controls button{min-width:1.75rem;padding:.15rem .35rem;font-size:.75rem}.stage-board-transform{will-change:transform;position:absolute;inset:0}.stage-board.is-zoomable{touch-action:none}.encounter-stage-tip{border:1px solid var(--line);width:1.35rem;height:1.35rem;color:var(--muted);cursor:help;border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:600;display:inline-grid}.encounter-stage-missing{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.25rem}.stage-ann-caption{fill:#f4efe6;stroke:#000000a6;stroke-width:2.5px;paint-order:stroke fill;pointer-events:none;font-size:11px;font-weight:600}.encounter-stage-panel{flex-direction:column;min-height:0;margin-bottom:.75rem;display:flex}.encounter-stage-panel-chrome{flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem}.encounter-stage-board-slot{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.encounter-stage-off-bar{border:1px solid var(--line);background:var(--panel-muted);border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .35rem}.stage-width-seg{flex-shrink:0}.encounter-preflight{border:1px solid color-mix(in srgb, var(--accent-2) 30%, var(--line));background:color-mix(in srgb, var(--panel-muted) 86%, transparent);border-radius:10px;gap:.6rem;padding:.75rem;display:grid}.encounter-preflight-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.encounter-preflight-kicker,.encounter-preflight-label{letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:700}.encounter-preflight-state{border:1px solid var(--line);border-radius:999px;flex:none;padding:.18rem .45rem;font-size:.72rem;font-weight:700}.encounter-preflight-state.is-ready{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.encounter-preflight-state.is-blocked{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--line))}.encounter-preflight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.encounter-preflight-item{border:1px solid var(--line);background:#0000001f;border-radius:8px;flex-direction:column;gap:.12rem;min-width:0;padding:.5rem;font-size:.78rem;display:flex}.encounter-preflight-warning{color:var(--accent-2)}.encounter-preflight-blocker{border-left:3px solid var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);color:var(--danger);padding:.45rem .55rem;font-weight:650}.encounter-setup-table-wrap{max-width:100%;overflow-x:auto}.encounter-setup-table{min-width:48rem}.encounter-setup-name{flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;display:flex}.encounter-setup-name-text{font-weight:600}.encounter-setup-type{text-transform:uppercase;letter-spacing:.02em}.encounter-setup-status{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:.05rem .35rem;font-size:.72rem}.encounter-setup-status.is-set{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.encounter-setup-status.is-pending{color:var(--accent-2);border-color:color-mix(in srgb, var(--accent-2) 40%, var(--line))}.encounter-setup-meta{margin-top:.15rem}.encounter-setup-dex{white-space:nowrap;width:3rem}.encounter-setup-init{width:3.25rem}.encounter-setup-init input{text-align:center;width:2.75rem;max-width:100%;padding-left:.25rem;padding-right:.25rem}.encounter-setup-actions{white-space:nowrap}.encounter-setup-actions button{margin-left:.25rem}.encounter-setup-actions button:first-child{margin-left:0}.encounter-setup-stealth-cell{width:17rem}.encounter-setup-stealth{gap:.3rem;min-width:15rem;display:grid}.encounter-setup-hidden-toggle,.encounter-setup-stealth-dc,.encounter-setup-stealth-actions{flex-wrap:nowrap}.encounter-setup-hidden-toggle{font-size:.78rem;font-weight:650}.encounter-setup-stealth-dc{justify-content:space-between;font-size:.75rem}.encounter-setup-stealth-dc input{text-align:center;width:4.25rem;padding-block:.25rem}.encounter-setup-player-preview{border:1px solid var(--line);border-radius:4px;width:fit-content;padding:.1rem .35rem;font-size:.7rem;font-weight:700}.encounter-setup-player-preview.is-hidden{color:#c9b8f0;background:#5341782e;border-color:#8d78c9a6}.encounter-setup-player-preview.is-visible{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.encounter-setup-stealth-actions{gap:.3rem}.encounter-setup-stealth-actions button{min-height:1.9rem;padding:.25rem .45rem;font-size:.72rem}.encounter-passive-result{color:var(--muted);font-size:.75rem;line-height:1.35}.encounter-passive-result.is-spotted{color:var(--accent-2)}.encounter-passive-result.is-unspotted{color:var(--ok)}.encounter-passive-result.compact{max-width:18rem}.stage-board-host{width:100%;min-width:0}.stage-board-host.is-contain{flex:auto;place-items:center;height:100%;min-height:0;display:grid}.encounter-setup-panel{flex-direction:column;min-height:0;margin-bottom:0;display:flex}.encounter-setup-panel-chrome{flex-shrink:0;padding-bottom:.35rem}.encounter-setup-panel-chrome h3{margin:0}.encounter-setup-scroll{flex:auto;min-height:0}.encounter-setup-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:stretch;align-items:stretch;gap:.5rem;padding-top:.55rem;display:flex}.encounter-setup-footer .primary{flex:auto}.encounter-setup-footer .ghost{flex:none}.app-shell.encounter-live.mode-player .encounter-stage-panel{min-height:min(70vw,50vh);max-height:min(90vw,60vh)}.scene-stage-editor{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.stage-toolbar{flex-direction:column;gap:.45rem;display:flex}.stage-toolbar-title{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.stage-toolbar-title h3{margin:0}.stage-toolbar-status{margin-left:auto}.stage-toolbar-tools{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.stage-undo-ann{flex-shrink:0;font-size:.85rem}.stage-tool-group{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-self:start;gap:0;display:inline-flex;overflow:hidden}.stage-tool-group .explain-tip{display:inline-flex}.stage-tool-group .explain-tip+.explain-tip{border-left:1px solid var(--line)}.explain-tip-trigger.stage-tool-btn{background:var(--bg2,#00000026);color:inherit;font:inherit;cursor:pointer;border:none;border-radius:0;align-items:center;padding:.4rem .7rem;font-size:.85rem;display:inline-flex}.explain-tip-trigger.stage-tool-btn:hover,.explain-tip.open .explain-tip-trigger.stage-tool-btn{color:inherit;background:#d9a4411f}.explain-tip-trigger.stage-tool-btn.primary{color:inherit;background:#c45c2647}.explain-tip-trigger.stage-tool-btn:disabled{opacity:.45;cursor:not-allowed}.stage-toolbar-context{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.stage-toolbar-context select{max-width:14rem}.library-layout{grid-template-columns:320px 1fr;gap:.65rem;height:100%;min-height:0;display:grid;overflow:hidden}.library-layout-3{grid-template-columns:220px 1fr 1fr;gap:.65rem;height:100%;min-height:0;display:grid;overflow:hidden}.library-layout>.panel,.library-layout-3>.panel{min-height:0;overflow:hidden}.scenes-layout{flex-direction:column;gap:.65rem;height:100%;min-height:0;display:flex;overflow:visible}.scenes-chrome{flex-shrink:0;gap:.45rem;padding:.55rem .75rem}.panel.scenes-chrome{z-index:50;position:relative;overflow:visible}.editor-identity-head,.scenes-instance-head{align-items:stretch;gap:.85rem;display:flex}.editor-identity-fields,.scenes-instance-identity{flex:1;min-width:0}.editor-identity-fields>.field:last-child,.scenes-instance-identity>.field:last-child{flex:1;grid-template-rows:auto 1fr}.editor-identity-fields>.field:last-child textarea,.scenes-instance-identity>.field:last-child textarea{resize:vertical;height:100%;min-height:0}.editor-panel-chrome{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.15rem;padding-bottom:.55rem;display:flex}.editor-panel-chrome h3{margin:0}.scenes-instance-facts{flex-direction:column;gap:.2rem;display:flex}.scenes-instance-facts-primary{color:var(--muted,#9a9084);font-size:.95rem;line-height:1.35}.scenes-instance-facts-secondary{font-size:.8rem;line-height:1.3}.scenes-instance-section{flex-direction:column;gap:.55rem;display:flex}.scenes-instance-section-title{letter-spacing:.02em;text-transform:uppercase;color:var(--muted,#9a9084);margin:0;font-size:.85rem;font-weight:600}.scenes-instance-reveal{align-items:center;gap:.5rem}.scenes-instance-vitals{flex-wrap:wrap;align-items:flex-end;gap:.55rem}.scenes-instance-ac{align-content:end;gap:.25rem;display:grid}.scenes-instance-ac-value{align-items:center;min-height:2.1rem;font-size:1.05rem;display:flex}.scenes-instance-kit-empty{margin:0;font-size:.85rem}.npc-card-identity{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scenes-chrome .scene-select{flex:14rem;min-width:0}.scenes-chrome-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end}.npc-template-picker{gap:.45rem;display:grid}.npc-template-picker .field{gap:.2rem}.scenes-body{flex:1;grid-template-columns:minmax(15rem,17rem) minmax(0,1fr);gap:.65rem;min-height:0;display:grid;overflow:hidden;container:scenes-body/inline-size}.scenes-npc-rail,.scenes-main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.scenes-briefs{grid-template-columns:1fr 1fr;align-items:start;gap:.65rem;display:grid}.scenes-name-row{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.scenes-name-row>.field-grow{flex:12rem;min-width:min(100%,12rem)}.scene-advanced{border:1px solid var(--line);border-radius:8px;width:min(18rem,100%);padding:.35rem .45rem}.scene-advanced>summary{cursor:pointer;color:var(--muted);font-size:.82rem}.scene-advanced[open]>summary{margin-bottom:.45rem}.scene-advanced .field-num{max-width:8rem}.scenes-briefs>.field{min-width:0}@container scenes-body (width<=42rem){.scenes-briefs{grid-template-columns:1fr}}.panel-scroll.stack>.scene-list{flex:auto;min-height:0;overflow:auto}@media (width>=800px){.login-card.create{padding:2rem 1.75rem}.login-card.create h1{font-size:3.25rem}.login-create{flex-direction:column;gap:1.25rem;display:flex}.login-create-actions{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000047;border-radius:12px;padding:.85rem;position:sticky;bottom:0}.login-card.create .race-picker-panel,.login-card.create .class-picker-panel{max-height:min(36rem,55vh)}.login-card.create .race-card-grid-inner{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr))}}.scene-list{align-content:start;align-items:stretch;gap:.35rem;display:grid}.scene-btn{text-align:left;align-self:start;width:100%;height:auto}.scene-btn.active{background:#c45c262e;border-color:#c45c26a6}.scene-select{width:100%;position:relative}.scene-select-trigger{padding-right:1.75rem;position:relative}.scene-select-caret{opacity:.7;pointer-events:none;position:absolute;top:50%;right:.65rem;transform:translateY(-50%)}.scene-select-menu{z-index:40;border:1px solid var(--line);background:var(--panel,#1c1712);max-height:min(22rem,50vh);box-shadow:var(--shadow);border-radius:10px;gap:.35rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto}.scene-select-new{border-style:dashed}.npc-card-row{align-items:center;gap:.55rem;display:flex}.scene-btn-tip{width:100%;max-width:none;display:block}.explain-tip-trigger.scene-btn{text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--bg2);width:100%;height:auto;color:inherit;font:inherit;box-sizing:border-box;border-radius:10px;padding:.45rem .8rem;display:block}.explain-tip-trigger.scene-btn:hover,.explain-tip.open .explain-tip-trigger.scene-btn{color:inherit;border-color:#d9a44173}.explain-tip-trigger.scene-btn.active{background:#c45c262e;border-color:#c45c26a6}.item-name-tip{max-width:none}.npc-card{border:1px solid var(--line);text-align:left;box-sizing:border-box;background:#00000026;border-radius:10px;flex-shrink:0;align-self:start;align-items:flex-start;gap:.15rem;width:100%;height:auto;padding:.5rem .6rem;display:flex}.npc-visibility-badge{border:1px solid var(--line);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:.08rem .28rem;font-size:.65rem;font-weight:650}.npc-visibility-badge.known{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.npc-visibility-badge.secret{color:#bbb0e8;background:#53448c26;border-color:#8e7cce80}.npc-card.active{border-color:#d9a4418c}.npc-card-select{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;flex:1;height:auto;margin:0;padding:0}.npc-card-select:hover,.npc-card-select:focus-visible{background:0 0;border-color:#0000}.npc-card-remove{width:1.6rem;height:1.6rem;color:var(--muted,#9a958c);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;margin:-.15rem -.2rem 0 0;padding:0;font-size:1.15rem;line-height:1;transition:opacity .12s,background .12s,color .12s}.npc-card:hover .npc-card-remove,.npc-card:focus-within .npc-card-remove{opacity:1}.npc-card-remove:hover,.npc-card-remove:focus-visible{opacity:1;color:#e8c4b0;background:#c45c262e;border-color:#0000}@media (hover:none){.npc-card-remove{opacity:.85}}.race-picker{flex-direction:column;gap:.65rem;width:100%;display:flex}.race-picker-trigger{text-align:left;flex:1}.picker-compact-bar{flex-wrap:wrap;align-items:center;gap:.5rem}.picker-change-trigger{text-align:left;flex:1;min-width:10rem}.race-picker-panel{border:1px solid var(--line);background:#0000002e;border-radius:10px;max-height:min(28rem,60vh);padding:.65rem;overflow:auto}.race-picker.compact .race-picker-panel{max-height:min(22rem,50vh)}.race-selected-detail.compact-summary,.class-selected-detail.compact-summary{padding:.5rem .65rem}.race-card-grid{flex-direction:column;gap:.75rem;display:flex}.race-group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;font-size:.8rem;font-weight:600}.race-card-grid-inner{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem;display:grid}.option-card{border:1px solid var(--line);text-align:left;cursor:pointer;width:100%;height:auto;color:inherit;font:inherit;background:#00000026;border-radius:10px;flex-direction:column;align-self:start;gap:.3rem;padding:.55rem .65rem;display:flex}.option-card:focus-visible{outline-offset:2px;outline:2px solid #d9a441a6}.option-card:hover{border-color:#d9a44166}.option-card.active{background:#c45c2629;border-color:#d9a441a6}.option-card-title{color:var(--ink);font-weight:600}.option-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}.option-card-meta{font-size:.78rem}.source-badge{letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.12rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.source-badge-inline{margin-left:.4rem}.explain-tip-trigger.source-badge{letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);white-space:nowrap;cursor:help;background:0 0;border-radius:999px;padding:.12rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.explain-tip-trigger.source-badge:hover,.explain-tip.open .explain-tip-trigger.source-badge{color:var(--accent-2);border-color:#d9a44173}.explain-tip-trigger.chip:not(.tip){color:inherit;cursor:pointer;background:#d9a4411a;border:1px solid #d9a44147;border-radius:999px;align-items:center;padding:.3rem .7rem;font-size:.85rem;display:inline-flex}.explain-tip-trigger.chip:not(.tip):hover,.explain-tip.open .explain-tip-trigger.chip:not(.tip){color:inherit;border-color:#d9a44173}.explain-tip-trigger.chip.active:not(.tip){background:#c45c2647;border-color:#c45c26b3}.race-trait-chips{margin:.15rem 0 0}.chip-tip{max-width:none}.explain-tip-trigger.chip.tip{cursor:help;opacity:.95;color:inherit;background:#d9a4411a;border:1px solid #d9a44147;border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.72rem;line-height:1.2;display:inline-flex}.explain-tip-trigger.chip.tip:hover,.explain-tip.open .explain-tip-trigger.chip.tip{color:var(--accent-2);border-color:#d9a44180}.explain-tip-list{margin:0;padding-left:1rem}.explain-tip-list li+li{margin-top:.35rem}.race-selected-detail{border:1px solid var(--line);background:#0000001f;border-radius:10px;padding:.65rem .75rem;font-size:.9rem}.race-trait-list{margin:0;padding-left:1.1rem}.race-trait-list li{margin-bottom:.2rem}.class-picker{width:100%}.class-picker-panel{border:1px solid var(--line);background:#0000002e;border-radius:10px;max-height:min(28rem,60vh);padding:.65rem;overflow:auto}.class-picker.compact .class-picker-panel{max-height:min(22rem,50vh)}.class-selected-detail{border:1px solid var(--line);background:#0000001f;border-radius:10px;padding:.65rem .75rem;font-size:.9rem}.class-subclass-stage{padding-top:.35rem}.class-feature-list{margin:0;padding-left:1.1rem}.class-feature-list li{margin-bottom:.25rem}.class-feature-upcoming{opacity:.72}.class-feature-lock{font-size:.78rem}.race-asi{border-top:1px solid var(--line);flex-direction:column;gap:.45rem;padding-top:.35rem;display:flex}.race-asi-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.4rem;display:grid}.race-asi-cell{flex-direction:column;gap:.25rem;display:flex}.race-asi-cell .label{color:var(--muted);font-size:.75rem;font-weight:600}.builder-section{gap:var(--builder-section-gap);border-top:1px solid var(--line);flex-direction:column;padding-top:.35rem;display:flex}.builder-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);margin:0;font-size:.78rem;font-weight:700}.builder-callout{border:1px solid var(--line);background:#0000001f;border-radius:8px;padding:.55rem .65rem;font-size:.9rem}.npc-kit-block{gap:.45rem;display:grid}.npc-kit-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;display:flex}.npc-kit-head h4{margin:0;font-size:.95rem;font-weight:650}.npc-kit-hint{color:var(--muted);flex:12rem;margin:0;font-size:.78rem;line-height:1.3}.npc-kit-block input:not([type=checkbox]),.npc-kit-block select{border-radius:8px;width:auto;min-width:0;padding:.35rem .5rem}.npc-kit-block select{padding-right:1.6rem}.npc-trait-list,.npc-attack-list{gap:.4rem;display:grid}.npc-trait-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.npc-trait-row .npc-w-name{flex:0 9.5rem;width:9.5rem}.npc-trait-row .npc-w-summary{flex:14rem;width:auto;min-width:10rem}.npc-attack-card{border:1px solid var(--line);background:#0000002e;border-radius:10px;gap:.4rem;padding:.5rem .55rem;display:grid}.npc-attack-toolbar{flex-wrap:wrap;align-items:end;gap:.4rem;display:flex}.npc-attack-toolbar .npc-mini-grow{flex:9rem;min-width:7rem}.npc-attack-toolbar .npc-attack-name{width:100%;min-width:0}.npc-attack-toolbar .npc-w-kind{flex:0 0 6.75rem;width:6.75rem}.npc-attack-toolbar .npc-attack-remove{flex:none;align-self:end;margin-left:auto;padding:.3rem .55rem}.npc-attack-stats{flex-wrap:wrap;align-items:end;gap:.4rem .5rem;display:flex}.npc-mini{align-content:start;gap:.15rem;display:grid}.npc-mini>span{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:.68rem;line-height:1}.npc-mini .explain-tip{justify-self:start;display:inline-flex}.explain-tip-trigger.npc-mini-tip{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);text-underline-offset:.15em;font-size:.68rem;line-height:1;-webkit-text-decoration:underline dotted #c4a88273;text-decoration:underline dotted #c4a88273}.explain-tip-trigger.npc-mini-tip:hover,.explain-tip.open .explain-tip-trigger.npc-mini-tip{color:var(--accent-2);-webkit-text-decoration-color:var(--accent-2);text-decoration-color:var(--accent-2)}.npc-mini .npc-w-dice{width:4.25rem}.npc-mini .npc-w-type{width:7.25rem}.npc-mini .npc-w-abil{width:5.5rem}.npc-mini .npc-w-ft{width:3.6rem}.npc-mini-disabled{opacity:.45}.npc-mini-disabled select:disabled{cursor:not-allowed}.npc-mini-check{place-items:center;padding-bottom:.15rem}.npc-mini-check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent,#c45c26);margin:.2rem 0 0}.npc-kit-add{justify-self:start;margin-top:.1rem}.companion-panel{border-top:1px solid var(--line);margin-top:.25rem;padding-top:.75rem}.companion-panel h3{margin:0;font-size:1rem}.pc-sheet-layout{display:flow-root}.pc-sheet-layout .companion-bond-strip.companion-glance-card{float:right;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 72%, var(--ink) 8%);cursor:pointer;border-radius:8px;width:min(13rem,46%);max-width:100%;margin:0 0 .75rem .85rem;padding:.55rem .6rem;overflow:hidden}.pc-sheet-layout .companion-bond-strip.companion-glance-card:focus-visible{outline-offset:2px;outline:2px solid #d9a441b3}.pc-sheet-layout .companion-glance-card .companion-summary-row{flex-direction:column;align-items:flex-start;gap:.45rem}.pc-sheet-layout .companion-glance-card .companion-summary-title{flex-direction:column;align-items:flex-start;gap:.1rem}.pc-sheet-layout .companion-glance-card .interactive-portrait,.pc-sheet-layout .companion-glance-card .companion-avatar,.pc-sheet-layout .companion-glance-card .interactive-portrait-tile{flex-shrink:0;width:5.5rem;max-width:5.5rem}@container pc-detail (width<=28rem){.pc-sheet-layout .companion-bond-strip.companion-glance-card{float:none;width:100%;margin:0 0 .75rem}.pc-sheet-layout .companion-glance-card .companion-summary-row{flex-direction:row;align-items:flex-start}.pc-sheet-layout .companion-glance-card .companion-summary-title{flex-flow:wrap;align-items:baseline;gap:.35rem .65rem}}.companion-summary-row{align-items:flex-start;gap:.65rem;width:100%;display:flex}.companion-summary{width:auto;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:.65rem;padding:.35rem 0;display:flex}.companion-avatar{aspect-ratio:2/3;object-fit:cover;border-radius:8px;flex-shrink:0;width:5.5rem;max-width:5.5rem;height:auto;overflow:hidden}.interactive-portrait--companion .interactive-portrait-tile.companion-avatar{aspect-ratio:2/3;border-radius:8px;width:5.5rem;max-width:5.5rem;height:auto;overflow:hidden}.pc-detail-header--companion .interactive-portrait--companion .interactive-portrait-tile.companion-avatar,.pc-detail-header--companion .companion-avatar{width:5.5rem;max-width:5.5rem}.pc-detail-header--fight.pc-detail-header--companion .interactive-portrait--companion .interactive-portrait-tile.companion-avatar,.pc-detail-header--fight.pc-detail-header--companion .companion-avatar{width:var(--sheet-portrait-fight-w);max-width:var(--sheet-portrait-fight-w)}.companion-avatar.placeholder{border:1px solid var(--line);background:#f3ebe014;place-items:center;display:grid}.companion-summary-body{min-width:0}.companion-summary-title{flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;display:flex}.companion-abilities{flex-wrap:wrap;gap:.35rem .85rem;font-size:.9rem;display:flex}.companion-attacks,.companion-traits{margin:.25rem 0 0;padding-left:1.1rem;font-size:.9rem}.companion-skills{flex-wrap:wrap;gap:.35rem .75rem;font-size:.9rem;display:flex}.companion-detail{padding-top:.35rem}.party-avatar,.portrait-thumb{border:none;border-right:1px solid var(--line);background:#00000040;border-radius:0;flex-shrink:0;align-self:stretch;width:4.5rem}.party-avatar.portrait-hit,.portrait-thumb.portrait-hit{margin:0;padding:0;display:block}img.party-avatar,.party-avatar.portrait-hit img,.portrait-thumb.portrait-hit img,.party-avatar.placeholder,.portrait-thumb.placeholder{object-fit:cover;width:4.5rem;height:100%;min-height:4.5rem;display:block}.portrait-thumb,.portrait-thumb.portrait-hit,.portrait-thumb.placeholder{aspect-ratio:2/3;border:1px solid var(--line);border-right:1px solid var(--line);border-radius:8px;align-self:center;width:3rem;height:auto;min-height:0;overflow:hidden}.portrait-thumb.portrait-hit img{object-fit:cover;border-radius:7px;width:100%;height:100%;min-height:0}.player-list-thumb,.player-list-thumb.portrait-hit,.player-list-thumb.placeholder{aspect-ratio:2/3;border-radius:8px;align-self:center;width:3.25rem;height:auto;min-height:0;overflow:hidden}.player-list-thumb.portrait-hit img{object-fit:cover;width:100%;height:100%;min-height:0}.player-list-btn{padding:.45rem .75rem}.player-list-row{align-items:center;gap:.55rem;min-width:0;display:flex}.player-list-meta{text-align:left;flex:1;min-width:0}.player-list-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-list-line{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.party-avatar.placeholder,.portrait-thumb.placeholder,.portrait-preview.placeholder{color:var(--muted);place-items:center;font-weight:600;display:grid}.portrait-hit{color:inherit;cursor:zoom-in;background:0 0;border:none;margin:0;padding:0;line-height:0}.portrait-hit:hover{filter:brightness(1.06);border-color:#0000}.portrait-hit img{object-fit:cover;width:100%;height:100%;display:block}.portrait-preview,.sheet-portrait{width:var(--portrait-w);aspect-ratio:2/3;object-fit:cover;border:1px solid var(--line);background:#00000040;border-radius:10px;flex-shrink:0;height:auto}.portrait-preview.portrait-hit,.sheet-portrait.portrait-hit{width:var(--portrait-w);aspect-ratio:2/3;border:1px solid var(--line);background:#00000040;border-radius:10px;height:auto;display:block;overflow:hidden}.portrait-preview.placeholder,.sheet-portrait.placeholder{width:var(--portrait-w);aspect-ratio:2/3;height:auto;font-family:var(--display);color:var(--muted);border-radius:10px;place-items:center;font-size:2.5rem;display:grid}.portrait-preview.placeholder.editor-portrait-pending{box-sizing:border-box;font-family:var(--font);letter-spacing:.01em;text-align:center;color:var(--muted);background:0 0;border-style:dashed;padding:.45rem;font-size:.7rem;font-weight:500;line-height:1.3}.portrait-preview.placeholder.editor-portrait-pending span{max-width:100%}.interactive-portrait{z-index:1;flex-shrink:0;position:relative}.pc-detail-scroll .interactive-portrait{z-index:auto}.interactive-portrait.is-composer{z-index:4}.interactive-portrait-tile{cursor:pointer;color:inherit;font:inherit;margin:0;padding:0;line-height:0;display:block;position:relative;overflow:hidden}.interactive-portrait-tile:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.interactive-portrait-img.portrait-hit,.interactive-portrait-img{width:100%;height:100%;cursor:inherit;border:none;border-radius:0;display:block}.interactive-portrait-img:hover{filter:none}.interactive-portrait-placeholder{width:100%;height:100%;font-family:var(--display);color:var(--muted);place-items:center;font-size:2.5rem;line-height:1;display:grid}.interactive-portrait--companion .interactive-portrait-placeholder{font-size:1.5rem}.interactive-portrait--sheet .interactive-portrait-placeholder{font-size:1.6rem}.interactive-portrait-add-hint{text-align:center;font-family:var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);pointer-events:none;font-size:.7rem;font-weight:600;line-height:1.2;position:absolute;inset:auto 0 .35rem}.interactive-portrait-busy{color:var(--ink);font-family:var(--font);text-align:center;background:#0000008c;place-items:center;padding:.35rem;font-size:.75rem;font-weight:600;line-height:1.2;display:grid;position:absolute;inset:0}.interactive-portrait-chrome{opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#0000008c 30%,#000000d1 100%);flex-wrap:nowrap;justify-content:center;align-items:center;gap:.25rem;padding:.3rem .25rem;transition:opacity .15s;display:flex;position:absolute;inset:auto 0 0}.interactive-portrait.is-chrome .interactive-portrait-chrome,.interactive-portrait.is-composer .interactive-portrait-chrome,.interactive-portrait.is-preview-reference .interactive-portrait-chrome{opacity:1;pointer-events:auto}@media (hover:hover) and (pointer:fine){.interactive-portrait:hover .interactive-portrait-chrome{opacity:1;pointer-events:auto}}.interactive-portrait-btn{background:#241f1abf!important;border-color:#f3ebe047!important;min-height:0!important;padding:.2rem .35rem!important;font-size:.65rem!important;line-height:1.2!important}.interactive-portrait-btn.is-icon{place-items:center;min-width:1.55rem;display:inline-grid;min-height:1.55rem!important;padding:.2rem!important}.interactive-portrait-btn.is-icon svg{display:block}.interactive-portrait-btn.is-pressed{color:var(--accent,#d4a85a)!important;border-color:#d4a85aa6!important}.interactive-portrait-composer{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-muted);width:max(100%,16rem);min-width:min(22rem,100vw - 2rem);box-shadow:var(--shadow);gap:.45rem;padding:.65rem .75rem;line-height:1.35;display:grid;position:absolute;top:calc(100% + .35rem);left:0}.interactive-portrait--companion .interactive-portrait-composer{min-width:min(18rem,100vw - 2rem);left:0}.interactive-portrait-help{margin:0;font-size:.85rem}.interactive-portrait-actions{flex-wrap:wrap;gap:.35rem}.portrait-status-badge{z-index:2;text-transform:uppercase;letter-spacing:.04em;color:var(--text);pointer-events:none;background:#14100cd1;border-radius:.25rem;padding:.15rem .35rem;font-size:.65rem;position:absolute;bottom:.35rem;left:.35rem}.portrait-status-badge.is-generating{color:#f0d9a8}.portrait-status-badge.is-dirty{color:#c9b48a}.portrait-status-badge.is-failed{color:#e8a090}.interactive-portrait.is-generating .interactive-portrait-tile{animation:1.6s ease-in-out infinite portrait-gen-pulse}@keyframes portrait-gen-pulse{0%,to{opacity:1}50%{opacity:.78}}.portrait-gen-progress{z-index:3;pointer-events:none;background:#0c0a08c7;border-radius:6px;flex-direction:column;gap:.25rem;padding:.35rem .4rem;display:flex;position:absolute;bottom:.4rem;left:.35rem;right:.35rem}.portrait-gen-progress-label{color:var(--ink,#f2ebe0);font-size:.68rem;font-weight:600;line-height:1.2}.portrait-gen-progress-track{background:#ffffff26;border-radius:999px;height:.28rem;overflow:hidden}.portrait-gen-progress-fill{border-radius:inherit;background:var(--accent,#d9a441);height:100%;transition:width .25s}.portrait-studio-backdrop{z-index:120;background:#0c0a088c;place-items:center;padding:.75rem;display:grid;position:fixed;inset:0;overflow:auto}.portrait-studio{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(92vw,72rem);max-height:min(90dvh,56rem);box-shadow:var(--shadow);flex-direction:column;padding:1rem 1.1rem 1.25rem;display:flex;overflow:hidden}.portrait-studio-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.portrait-studio-header h2{margin:0 0 .15rem}.portrait-studio-grid{flex:1;gap:1rem;min-height:0;display:grid;overflow:auto}@media (width>=900px){.portrait-studio-grid{grid-template-columns:minmax(18rem,28rem) 1fr;align-items:start;overflow:hidden}.portrait-studio-fields{max-height:100%;padding-bottom:.5rem;overflow:auto}.portrait-studio-sticky-primary{display:none}}.portrait-studio-pair{grid-template-columns:1fr 1fr;align-content:start;gap:.75rem;display:grid}.portrait-studio-figure{margin:0}.portrait-studio-figure figcaption{margin-bottom:.35rem;font-size:.85rem}.portrait-studio-cap{font-weight:600}.portrait-studio-pair-col{min-width:0}.portrait-studio-frame{aspect-ratio:2/3;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-muted);width:100%;display:block;position:relative;overflow:hidden}.portrait-studio-frame.is-generating{opacity:.72}.portrait-studio-frame.is-generating:after{content:"";pointer-events:none;z-index:1;background:#0c0a0847;position:absolute;inset:0}.portrait-studio-frame .portrait-status-badge{z-index:2}.portrait-studio-star{z-index:2;border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, transparent);cursor:pointer;border-radius:999px;width:2rem;height:2rem;padding:0;font-size:1rem;line-height:1;position:absolute;top:.4rem;right:.4rem}.portrait-studio-star:hover:not(:disabled){background:var(--panel)}.portrait-studio-fav-row{align-items:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.portrait-studio-fav-select{flex:1;min-width:0}.portrait-studio-fav-delete{flex-shrink:0;padding:.35rem .55rem;font-size:.85rem}.portrait-studio-fav-thumbs{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.portrait-studio-fav-thumb{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-muted);cursor:pointer;width:2.5rem;height:2.5rem;padding:0;overflow:hidden}.portrait-studio-fav-thumb img{object-fit:cover;width:100%;height:100%;display:block}.portrait-studio-fav-thumb.is-active{outline:2px solid var(--accent,#6b8f71);outline-offset:1px}.portrait-studio-id-row{align-items:flex-start}.portrait-studio-id-block{gap:.35rem;display:grid}.portrait-studio-id-row .field{flex:1;min-width:8rem}.portrait-studio-age-band{font-size:.8rem;line-height:1.3;display:block}.portrait-studio-actions{row-gap:.35rem}.portrait-studio-action-pair>button,.portrait-studio-upload-pair>button{padding:.35rem .55rem;font-size:.9rem}.portrait-studio-img{object-fit:cover;border-radius:inherit;background:0 0;border:none;width:100%;height:100%;display:block}.portrait-studio-img.portrait-hit{border-radius:inherit;filter:none;cursor:zoom-in;border:none;width:100%;height:100%;display:block;overflow:hidden}.portrait-studio-img.portrait-hit:hover{filter:none;background:color-mix(in srgb, var(--panel-muted) 70%, #fff 8%);border-color:#0000}.portrait-studio-img.portrait-hit img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.portrait-studio-img.placeholder{color:var(--muted);place-items:center;min-height:0;font-size:.9rem;display:grid}.portrait-studio-dl{grid-template-columns:5rem 1fr;gap:.25rem .5rem;margin:0;font-size:.9rem;display:grid}.portrait-studio-dl dt{color:var(--muted)}.portrait-studio-dl dd{margin:0}.portrait-studio-layer-note{font-size:.8rem}.portrait-studio-layer-caption{margin:.5rem 0 0;font-size:.85rem}.portrait-studio-ref-toggle{align-self:start}.portrait-studio-ref-prompt{white-space:pre-wrap;word-break:break-word;background:var(--panel-muted);border:1px solid var(--border);border-radius:var(--radius);max-height:8rem;margin:0;padding:.65rem .75rem;font-size:.8rem;line-height:1.35;overflow:auto}.portrait-studio-upload-pair,.portrait-studio-action-pair{align-items:center}.portrait-studio-sticky-primary{background:linear-gradient(transparent, var(--panel) 35%);margin-top:.25rem;padding-top:.75rem;position:sticky;bottom:0}.portrait-studio-sticky-primary .portrait-studio-action-pair{width:100%}.portrait-studio-sticky-primary .portrait-studio-action-pair>button{flex:1}.prefs-portrait-queue{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.prefs-portrait-queue-table{border-collapse:collapse;width:100%;font-size:.9rem}.prefs-portrait-queue-table th,.prefs-portrait-queue-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.35rem .5rem}.prefs-portrait-queue-table th{color:var(--muted);font-weight:500}.prefs-portrait-queue-scroll{border:1px solid var(--border);border-radius:var(--radius);max-height:16rem;overflow:auto}.prefs-portrait-queue h3{margin:0}.pc-detail-header .interactive-portrait--sheet .interactive-portrait-tile.sheet-portrait,.pc-detail-header .sheet-portrait,.pc-detail-header .sheet-portrait.placeholder,.pc-detail-header .sheet-portrait.portrait-hit{width:var(--sheet-portrait-w);aspect-ratio:2/3;height:auto}.pc-detail-header--pc .interactive-portrait--sheet .interactive-portrait-tile.sheet-portrait,.pc-detail-header--pc .sheet-portrait,.pc-detail-header--pc .sheet-portrait.placeholder,.pc-detail-header--pc .sheet-portrait.portrait-hit{width:var(--sheet-portrait-pc-w)}.pc-detail-header .interactive-portrait--sheet .interactive-portrait-placeholder,.pc-detail-header .sheet-portrait.placeholder{font-size:2rem}.pc-detail-header--pc .interactive-portrait--sheet .interactive-portrait-placeholder,.pc-detail-header--pc .sheet-portrait.placeholder{font-size:2.35rem}.pc-detail-header--fight .interactive-portrait--sheet .interactive-portrait-tile.sheet-portrait,.pc-detail-header--fight .sheet-portrait,.pc-detail-header--fight .sheet-portrait.placeholder,.pc-detail-header--fight .sheet-portrait.portrait-hit{width:var(--sheet-portrait-fight-w)}.pc-detail-header--fight .interactive-portrait--sheet .interactive-portrait-placeholder,.pc-detail-header--fight .sheet-portrait.placeholder{font-size:1.45rem}.pc-detail-header--fight{gap:.2rem .45rem;padding-bottom:.25rem}.pc-detail-header--fight .pc-detail-identity h2{font-size:1.05rem}.pc-detail-header--with-fight{align-items:start}.pc-detail-header--with-fight .pc-detail-header-body{grid-template-columns:minmax(7rem,.85fr) minmax(0,1.5fr) auto auto;align-items:start;gap:.65rem;display:grid}.pc-detail-header--with-fight .pc-detail-header-top{display:contents}.pc-detail-fight-actions{min-width:0}.pc-detail-header--with-fight .pc-detail-fight-actions{align-self:center}.pc-detail-header--with-fight .pc-detail-vitals{max-width:none;padding-right:0}.pc-detail-header--with-fight .pc-detail-actions{justify-content:flex-end;align-self:start;max-width:none;margin-top:0;padding-top:0}.pc-detail-sticky--fight .pc-action-btn .pc-action-label{display:none}.pc-detail-sticky--fight .pc-action-btn .pc-action-glyph{display:inline}.pc-detail-sticky--fight .pc-action-btn{justify-content:center;min-width:2.1rem;min-height:2.1rem;padding:.3rem .45rem}.sheet-identity{align-items:flex-start;gap:1rem;min-width:0;display:flex}.pc-detail-column{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden;container:pc-detail/inline-size}.pc-detail-tabs{margin-top:.35rem}.pc-detail-header{z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:none;flex-shrink:0;align-items:stretch;gap:.65rem;margin-bottom:0;padding-bottom:.45rem;display:flex;position:static;top:auto}.pc-detail-header-body{flex-direction:column;flex:1;min-width:0;display:flex}.pc-detail-header-top{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.2rem .65rem;display:grid}.pc-detail-sticky{z-index:4;background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);flex-shrink:0;margin-bottom:.2rem;padding-bottom:.25rem;position:sticky;top:0}.pc-detail-sticky--fight{padding-bottom:.2rem}.pc-detail-sticky--tabs{border-bottom:none;margin-bottom:0;padding-bottom:0}.pc-detail-sticky--tabs.pc-detail-sticky--fight{padding-bottom:0}.pc-detail-sticky .pc-detail-tabs{margin-top:.2rem}.pc-detail-header>.interactive-portrait{flex-shrink:0;align-self:start;margin:0}.pc-detail-identity{align-self:start;min-width:0}.pc-detail-vitals{text-align:right;align-self:start;max-width:min(100%,14rem);margin:0}.pc-detail-identity h2{margin-top:0;line-height:1.15}.pc-detail-identity .muted{overflow-wrap:break-word}.pc-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-self:flex-end;align-items:center;gap:.35rem;max-width:100%;margin-top:auto;padding-top:.2rem;display:flex}.pc-action-btn{justify-content:center;align-items:center;gap:.25rem;display:inline-flex}.pc-action-btn .pc-action-glyph{display:none}.pc-action-campaign{flex:0 auto;min-width:0;max-width:11rem;position:relative}.pc-action-campaign-btn{white-space:nowrap;align-items:center;gap:.25rem;width:auto;max-width:100%;padding:.4rem .55rem;display:inline-flex}.pc-action-campaign-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pc-action-campaign-caret{opacity:.7;flex-shrink:0;font-size:.75rem}.pc-action-campaign-menu{z-index:40;border:1px solid var(--border);background:var(--panel);min-width:11rem;max-width:min(18rem,80vw);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:.2rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .3rem);right:0}.pc-action-campaign-menu button{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;border-radius:6px;width:100%;padding:.4rem .5rem}.pc-action-campaign-menu button:hover,.pc-action-campaign-menu button.active{background:color-mix(in srgb, var(--accent) 18%, transparent)}.pc-detail-vitals .sheet-combat-cluster{text-align:right}@container pc-detail (width<=40rem){.pc-detail-header-top{grid-template-columns:minmax(0,1fr)}.pc-detail-vitals{width:fit-content;max-width:100%;margin-left:auto}.pc-action-btn .pc-action-label{display:none}.pc-action-btn .pc-action-glyph{display:inline}.pc-action-btn{justify-content:center;min-width:2.35rem;min-height:2.35rem;padding:.35rem .55rem}.pc-action-campaign{max-width:8.5rem}.pc-detail-header--with-fight .pc-detail-header-body{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) auto}.pc-detail-header--with-fight .pc-detail-identity{grid-area:1/1;min-width:0}.pc-detail-header--with-fight .pc-detail-actions{grid-area:1/2;align-self:start}.pc-detail-header--with-fight .pc-detail-vitals{grid-area:2/1/auto/-1;justify-self:start;max-width:100%;margin-left:0;padding-right:0}.pc-detail-header--with-fight .pc-detail-fight-actions{grid-area:3/1/auto/-1}}.pc-detail-scroll{flex:1;min-height:0;overflow:auto}.pc-detail-scroll.stack{flex-direction:column;align-items:stretch;gap:.4rem;display:flex}.sheet-portrait.portrait-hit{display:block;overflow:hidden}.portrait-lightbox{z-index:140;box-sizing:border-box;padding:max(1.25rem, env(safe-area-inset-top,0px)) max(1.25rem, env(safe-area-inset-right,0px)) max(1.25rem, env(safe-area-inset-bottom,0px)) max(1.25rem, env(safe-area-inset-left,0px));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:zoom-out;background:#080605d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.portrait-lightbox-img{object-fit:contain;width:auto;min-width:0;max-width:100%;height:auto;min-height:0;max-height:100%;box-shadow:var(--shadow);cursor:default;border-radius:12px}.portrait-lightbox-close{top:max(.75rem, env(safe-area-inset-top,0px));right:max(.75rem, env(safe-area-inset-right,0px));z-index:1;position:absolute}.pc-detail-brief{color:var(--muted,#9a9084);margin:.35rem 0 0;font-size:.88rem;line-height:1.4}.skill-list{grid-template-columns:1fr 1fr;gap:.15rem 1rem;margin:.35rem 0;display:grid}.skill-row-tip{min-width:0;display:block}.skill-row{font-variant-numeric:tabular-nums;border-radius:6px;grid-template-columns:1rem 1fr auto;align-items:baseline;gap:.35rem;padding:.12rem .2rem;font-size:.88rem;display:grid}.skill-row.untrained{color:var(--muted)}.skill-row.proficient{color:var(--text)}.skill-row.skill-best .skill-bonus{color:var(--accent,#d9a441);font-weight:650}.skill-mark{opacity:.85;font-size:.65rem;line-height:1}.skill-mark.expertise{color:var(--accent,#d9a441)}.skill-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skill-bonus{font-weight:600}.party-sheet-readonly{margin:.15rem 0 .35rem;font-size:.85rem}.npc-card-row .player-list-meta{min-width:0}.sheet-feature-chips{margin:.35rem 0 0}.sheet-feature-chips .chip.tip{font-size:.75rem}.sheet-bg-chip{color:var(--ink);background:#d9a4411f;border:1px solid #d9a44159;border-radius:999px;margin-top:.3rem;padding:.12rem .5rem;font-size:.8rem;display:inline-block}@media (width<=899px){.portrait-studio{border-radius:0;width:100%;height:min(100dvh,100%);max-height:100%;padding-bottom:.5rem}.portrait-studio-backdrop{place-items:stretch stretch;padding:0}.portrait-studio-regen{display:none}}@media (width<=1000px){.spell-resolve-backdrop{z-index:40;cursor:pointer;background:#00000073;border:0;margin:0;padding:0;display:block;position:fixed;inset:0}.spell-resolve-bar{z-index:41;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px));background:var(--panel,#2a241c);border:1px solid #ffffff1f;border-radius:12px 12px 0 0;max-height:min(70dvh,28rem);margin:0;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -8px 28px #00000059}.spell-resolve-bar .spell-cast-btn,.spell-resolve-bar button.ghost{min-height:2.35rem;padding:.45rem .9rem}}@media (width<=720px){.encounter-preflight-grid{grid-template-columns:minmax(0,1fr)}.pc-action-btn{justify-content:center;min-width:2.35rem;min-height:2.35rem;padding:.35rem .55rem}.pc-action-btn .pc-action-label{display:none}.pc-action-btn .pc-action-glyph{display:inline}.pc-action-campaign{max-width:8.5rem}.player-combat-card{padding:.65rem}.player-combat-card-grid{grid-template-columns:minmax(0,1fr)}.player-combat-card-head{align-items:flex-start}.player-combat-card-actions{justify-content:flex-end}.combat-scene-context-brief{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:12rem;display:inline-block;overflow:hidden}.encounter-ribbon-card{width:9.7rem;min-width:9.7rem;min-height:5.2rem}.ribbon-avatar,.ribbon-avatar.portrait-hit{width:3.45rem}.ribbon-card-body{padding:.35rem .4rem}.ribbon-identity,.encounter-ribbon-card .hp-bar{display:none}.player-turn-sheet{width:100%;max-height:min(76dvh,42rem);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:14px 14px 0 0;inset:auto 0 0}.table-check-builder{grid-template-columns:minmax(0,1fr)}.table-check-player-head{flex-direction:column;align-items:flex-start}.table-check-player-head .field,.table-check-physical{width:100%}.table-check-player-actions>button,.concentration-reminder-actions>button{flex:auto}.concentration-physical-result{flex:7rem}}@media (width<=1000px){.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout,.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout.stage-width-small,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout.stage-width-small,.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout.stage-width-medium,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout.stage-width-medium,.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout.stage-width-large,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout.stage-width-large{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;height:auto;overflow:auto}.app-shell.encounter-setup:not(.mode-player) .encounter-setup-layout{flex-direction:column;display:flex}.app-shell.encounter-setup:not(.mode-player) .encounter-setup-layout>.encounter-tools-col{order:-1;height:auto;max-height:none}.app-shell.encounter-setup:not(.mode-player) .encounter-stage-panel{min-height:min(70vw,50vh)}.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout{flex-direction:column;display:flex}.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout>.encounter-tools-col{display:contents}.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout .encounter-turn-desk{order:1;max-height:none}.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout>.encounter-stage-panel{order:2;min-height:min(70vw,45vh)}.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout #panel-pc,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout .pc-detail-column{order:3}.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout>.encounter-stage-panel,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout>.encounter-stage-panel,.app-shell.encounter-live:not(.mode-player) .encounter-setup-layout>.encounter-setup-panel,.app-shell.encounter-live:not(.mode-player) .encounter-fight-layout>#panel-pc,.app-shell.encounter-live:not(.mode-player) .encounter-tools-col{height:auto;max-height:none}}@media (width<=720px){.prefs-chat-width-grid{grid-template-columns:1fr}}@media (width<=799px){.login-card.create{width:min(520px,100%)}.login-card.create h1{font-size:clamp(2.25rem,8vw,3rem)}}@media (width<=700px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}}@media (width<=640px){.skill-list{grid-template-columns:1fr}}@media (width>=1001px) and (height<=900px){html,body,#root{height:auto;min-height:100dvh;overflow:auto}.app-shell{height:auto;min-height:100dvh;overflow:visible}.workspace{flex:none;overflow:visible}.col-stack{overflow:visible}.panel{height:auto;overflow:visible}.panel-scroll{flex:none;max-height:none;overflow:visible}.panel-scroll.stack>.scene-list{flex:none;max-height:min(50vh,22rem);overflow:auto}.chat{flex:none;min-height:0}.chat-log{min-height:12rem;max-height:45vh}#panel-chat{top:var(--sticky-chrome-height,0px);height:calc(100dvh - var(--sticky-chrome-height,0px) - .5rem);max-height:calc(100dvh - var(--sticky-chrome-height,0px) - .5rem);flex-direction:column;align-self:start;display:flex;position:sticky;overflow:hidden}#panel-chat .chat-drawer-sheet{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}#panel-chat .panel.chat{flex:1;grid-template-rows:auto 1fr auto;height:auto;min-height:0;display:grid}#panel-chat .chat-log{min-height:0;max-height:none}.init-list{max-height:min(50vh,22rem)}.library-layout,.library-layout-3{height:auto;overflow:visible}.library-layout>.panel,.library-layout-3>.panel{overflow:visible}#panel-board,#panel-library,#panel-scene,#panel-pc{height:auto}}@media (width<=1000px){html,body,#root{height:auto;min-height:100dvh;overflow:auto}.condition-toggle,.explain-tip-trigger.condition-toggle{min-height:2.35rem;padding:.45rem .75rem;font-size:.85rem}.live-action-overflow>summary{min-height:2.35rem}.spell-cast-btn,.init-roll-btn{min-height:2.35rem;padding:.45rem .9rem}.encounter-fight-bar-keys{display:none}.app-shell{height:auto;min-height:100dvh;overflow:visible}.sticky-chrome{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#201b16f0;flex-direction:column;gap:.35rem;margin:-.65rem -.85rem 0;padding:.55rem .85rem .45rem;display:flex;position:sticky;top:0}.pc-detail-sticky{top:var(--sticky-chrome-height,0px)}.topbar{flex-wrap:wrap;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .65rem;display:grid}.topbar-brand{min-width:0}.topbar .brand{font-size:1.25rem}.topbar-brand .muted,.topbar-campaign-role{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.72rem;overflow:hidden}.topbar-campaign-role{flex-shrink:1;max-width:42vw}.topbar-campaign-btn{max-width:100%}.topbar-utils{gap:.2rem;margin-left:0}.icon-btn{border-radius:10px;justify-content:center;width:2.35rem;height:2.35rem;padding:0}.icon-btn--labeled{flex-direction:column;gap:.1rem;width:auto;min-width:2.35rem;height:auto;min-height:2.35rem;padding:.25rem .45rem}.icon-btn--labeled .icon-btn-label{letter-spacing:.02em;font-size:.62rem;font-weight:600;line-height:1;display:block}.icon-btn-label{display:none}.icon-btn-badge{top:.05rem;right:.05rem}.topbar-nav{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;grid-column:1/-1;justify-content:flex-start;gap:.35rem;padding-bottom:.1rem;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 .75rem calc(100% - 1.25rem),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 .75rem calc(100% - 1.25rem),#0000 100%)}.topbar-nav button{flex-shrink:0;padding:.35rem .65rem;font-size:.88rem}.mode-player.encounter-live .workspace>.encounter-stage-panel{order:1}.mode-player.encounter-live .workspace>#panel-pc{order:2}.mode-player.encounter-live .workspace>#panel-party,.mode-player.encounter-live .workspace>.combat-scene-context{order:3}.mode-player.encounter-live .workspace>#panel-chat{order:4}.mode-player:not(.encounter-live) .workspace>#panel-pc{order:1}.mode-player:not(.encounter-live) .workspace>#panel-party{order:2}.mode-player:not(.encounter-live) .workspace>#panel-chat{order:3}.mobile-jump{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.35rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.mobile-jump a{color:inherit;background:#d9a4411a;border:1px solid #d9a44147;border-radius:999px;flex-shrink:0;padding:.28rem .65rem;font-size:.8rem;text-decoration:none}.mobile-jump a:hover{border-color:#d9a4418c}.party-card{min-width:168px}.party-card h4{max-width:7.5rem}.party-card-body{padding:.4rem .55rem}.party-avatar,img.party-avatar,.party-avatar.portrait-hit img,.party-avatar.placeholder{width:3.75rem}.party-card h4{font-size:.85rem}.party-card .muted,.party-card .hp{font-size:.8rem}.workspace{flex:none;grid-template-rows:none;grid-template-columns:1fr;min-height:0;overflow:visible}.mode-player .workspace,.mode-library .workspace,.app-shell.chat-collapsed .workspace,.app-shell.chat-collapsed.mode-player .workspace,.app-shell.chat-collapsed.mode-library .workspace,.app-shell.encounter-live.mode-player .workspace,.app-shell.encounter-live.mode-player.chat-collapsed .workspace{grid-template-rows:none;grid-template-columns:1fr}.workspace:has(>#panel-scene .dm-run-panel){grid-template-rows:none;grid-template-columns:1fr}.app-shell.chat-collapsed .workspace:has(>#panel-scene .dm-run-panel){grid-template-rows:none;grid-template-columns:1fr}.dm-run-panel{max-height:none}.dm-run-scroll{overflow:visible}.dm-run-map.stage-board-host{height:min(70vw,28rem)}.col-stack{overflow:visible}.panel{height:auto;overflow:visible}.panel-scroll{flex:none;max-height:none;overflow:visible}.panel-scroll.stack>.scene-list{flex:none;max-height:min(50vh,22rem);overflow:auto}.chat{flex:none;min-height:0}.chat-log{min-height:12rem;max-height:45vh}.init-list{max-height:min(50vh,22rem)}.library-layout,.library-layout-3{grid-template-columns:1fr;height:auto;overflow:visible}.library-layout>.panel,.library-layout-3>.panel{overflow:visible}.library-layout.is-narrow.showing-detail>.library-list-col,.library-layout.is-narrow:not(.showing-detail)>.library-detail-col{display:none}.library-mobile-nav{margin-bottom:.35rem}.scenes-layout{height:auto;overflow:visible}.scenes-layout.is-narrow.showing-detail>.scenes-body>.scenes-npc-rail{display:none}.scenes-body{grid-template-columns:1fr;overflow:visible}.scenes-npc-rail,.scenes-main{overflow:visible}.scenes-briefs{grid-template-columns:1fr}#panel-board,#panel-library,#panel-scene,#panel-pc,#panel-chat{flex:none;height:auto;display:block;overflow:visible}.app-shell:not(.chat-collapsed) #panel-chat{z-index:45;background:0 0;flex-direction:column;max-height:100dvh;margin:0;padding:0;position:fixed;inset:0;overflow:hidden;height:100dvh!important;display:flex!important}.app-shell:not(.chat-collapsed) .chat-drawer-backdrop{cursor:pointer;background:#0c0a08b8;border:none;margin:0;padding:0;display:block;position:absolute;inset:0}.app-shell:not(.chat-collapsed) .chat-drawer-sheet{z-index:1;min-height:0;margin:env(safe-area-inset-top,0px) 0 0;padding:.65rem .85rem calc(.65rem + env(safe-area-inset-bottom,0px));background:var(--bg,#201b16);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.app-shell:not(.chat-collapsed) #panel-chat .panel.chat{flex:1;grid-template-rows:auto 1fr auto;min-height:0;display:grid;overflow:hidden;height:auto!important}.app-shell:not(.chat-collapsed) #panel-chat .chat-log{min-height:0;max-height:none}.app-shell:not(.chat-collapsed) #panel-chat .chat-width-seg{display:none}body:has(.app-shell:not(.chat-collapsed) #panel-chat){overflow:hidden}#panel-board>.panel,#panel-scene>.panel,#panel-library>.library-layout,#panel-library>.library-layout-3,#panel-library>.scenes-layout,#panel-library>.history-panel,#panel-chat>.panel,#panel-chat .chat-drawer-sheet>.panel{flex:none;height:auto;min-height:0;overflow:visible}.history-panel{height:auto;overflow:visible}.history-layout{overflow:visible}.history-layout.is-narrow>.history-list-col,.history-layout.is-narrow.showing-detail>.history-timeline-col,.history-layout.is-narrow.showing-detail>.history-narrate-col,.pc-detail-column{height:auto;overflow:visible}.pc-detail-scroll{flex:none;max-height:none;overflow:visible}#panel-scene,#panel-combat,#panel-party,#panel-pc,#panel-sheet,#panel-inventory,#panel-notes,#panel-chat,#panel-board,#panel-library{scroll-margin-top:calc(var(--sticky-chrome-height,0px) + .5rem)}.app-toast-stack{right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0px))}.app-toast{min-width:140px;padding:.65rem .8rem}.app-toast--dice strong{font-size:1.45rem}}@media (width<=560px){.prefs-quality-grid{grid-template-columns:1fr}}@media (width<=520px){.ai-spend-day-metrics{grid-template-columns:1fr}}@media (width<=900px){.dice-prefs-layout{grid-template-columns:1fr}}
