:root{--bg:#14151a;--panel:#1d1f27;--panel2:#262935;--text:#e8e6e3;--muted:#9a9cab;--accent:#e0a84a;--accent2:#5fa8d3;--danger:#d9534f;--ok:#5cb85c;--border:#343849}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}.gm{flex-direction:column;gap:12px;height:100%;padding:12px;display:flex}.map-view{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid var(--border);border-radius:6px;flex:1;min-height:0;overflow:hidden}.gm h1{color:var(--accent);margin:0;font-size:17px}.gm-header{align-items:center;gap:12px;display:flex}.campaign-title{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;max-width:360px;margin:0;font-size:17px;font-weight:600;overflow:hidden}.icon-button{justify-content:center;align-items:center;width:32px;height:30px;padding:0;display:inline-flex}.icon-button:disabled .icon{opacity:.4}.menu{background:var(--panel);min-width:260px;color:var(--text);border:1px solid var(--border);border-radius:8px;margin:0;padding:6px;inset:48px 12px auto auto;box-shadow:0 8px 24px #0006}.menu[popover]:popover-open{flex-direction:column;display:flex}.menu button{text-align:left;background:0 0;border:none;justify-content:space-between;gap:16px;padding:6px 10px;display:flex}.menu button:hover:not(:disabled),.menu button:focus-visible{background:var(--panel2)}.menu kbd{color:var(--muted);font:inherit;font-size:12px}.table-badge{min-width:0;position:relative}.table-badge-button{border-radius:999px;align-items:center;gap:6px;max-width:420px;padding:4px 10px;display:inline-flex}.table-badge-button.blacked-out{border-color:var(--danger)}.table-badge-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-badge-menu{z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;width:280px;margin-top:4px;padding:10px;display:none;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0006}.table-badge-menu:before{content:"";height:6px;position:absolute;top:-6px;left:0;right:0}.table-badge:hover .table-badge-menu,.table-badge.open .table-badge-menu{display:flex}.table-badge-menu h3{color:var(--muted);margin:4px 0 0;font-size:12px;font-weight:600}.table-badge-menu .hint{margin:0}.table-badge-list{flex-direction:column;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.table-badge-list button{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;display:flex}.table-badge-list button:hover,.table-badge-list button:focus-visible{background:var(--panel2)}.table-badge-list button[aria-pressed=true]{background:var(--panel2);border:1px solid var(--accent);color:var(--accent)}.menu.map-menu{max-height:calc(100vh - 8px);right:auto;overflow-y:auto}.map-menu-title{color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:4px;padding:4px 10px 6px;font-weight:600}.dialog{background:var(--panel);min-width:340px;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:16px}.dialog::backdrop{background:#00000080}.dialog h2{margin:0 0 12px;font-size:15px}.dialog-close{color:var(--muted);background:0 0;border:none;position:absolute;top:8px;right:8px}.dialog-close:hover,.dialog-close:focus-visible{color:var(--text);background:var(--panel2)}.dialog h2,.library-head,.scene-browser-head,.shortcut-sheet-head{padding-right:32px}.library-head h2,.scene-browser-head h2,.shortcut-sheet-head h2{padding-right:0}.sheet-viewer{padding-top:44px}.dialog-buttons{justify-content:flex-end;margin-top:16px}.button-row{gap:6px;display:flex}button{background:var(--panel2);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:6px;padding:4px 10px}button:disabled{color:var(--muted);cursor:default}.save-status{color:var(--muted);min-width:9em}.welcome{max-width:440px;margin:0 auto;padding:48px 16px}.welcome h1{color:var(--accent);margin:0 0 24px;font-size:22px}.welcome-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px;padding:16px;display:flex}.welcome-card h2{margin:0;font-size:15px}.welcome-card input{background:var(--panel2);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:6px 8px}.hint{color:var(--muted);margin:0;font-size:13px}.error-banner{border-bottom:1px solid var(--danger);background:#4a1f1e;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.restore-card,.import-card{border-color:var(--accent)}.table-status{color:var(--muted);align-items:center;gap:6px;display:flex}.status-dot{border:2px solid var(--muted);border-radius:50%;width:10px;height:10px}.status-dot.connected{background:var(--ok);border-color:var(--ok)}.map-empty{border:1px dashed var(--border);color:var(--muted);border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.map-import-card{background:var(--panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;flex:1;min-height:0;padding:12px 16px;display:flex}.map-import-card h2{margin:0 0 12px;font-size:15px}.map-import-body{flex:1;gap:16px;min-height:0;display:flex}.map-import-stage{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden}.grid-preview{cursor:crosshair;touch-action:none;width:auto;max-width:100%;height:auto;max-height:100%}.map-import-fields{flex-direction:column;gap:10px;display:flex}.map-import-fields fieldset{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;margin:0;padding:8px 10px;display:flex}.map-import-fields legend{color:var(--muted)}.text-field,.number-field{flex-direction:column;gap:2px;display:flex}.text-field input,.number-field input{background:var(--panel2);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:4px 8px}.field-problem{color:var(--danger);margin:0}.map-import-progress{flex-direction:column;gap:4px;display:flex}.map-import-progress progress{width:100%}.map-area{flex:1;gap:12px;min-width:0;min-height:0;display:flex}.side-panel{background:var(--panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:10px;width:260px;padding:12px 16px;display:flex;overflow-y:auto}.side-panel h2{margin:0;font-size:15px}.side-panel .hint{margin:0}button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#1a1a1a}.gm-body{flex:1;gap:12px;min-height:0;display:flex}.map-main{flex:1;min-width:0;min-height:0;display:flex;position:relative}.dock,.float-pane{z-index:2;pointer-events:none;flex-direction:column;gap:12px;width:280px;max-width:calc(100% - 80px);display:flex;position:absolute}.dock{top:0;bottom:0}.dock-left{left:0}.dock-right{right:0}.float-pane{z-index:3}.pane{pointer-events:auto;flex:0 auto;min-height:0;overflow:hidden auto;box-shadow:0 6px 24px #00000073}.pane.collapsed{flex:none}.pane.dragging{z-index:10;opacity:.9;position:relative}.pane .panel-title{cursor:grab;touch-action:none}.pane.dragging .panel-title{cursor:grabbing}.pane.active .panel-title h2{color:var(--text)}.panel-title-buttons{gap:2px;display:flex}.panel-title .icon-button[aria-pressed=true]{color:var(--accent)}.pane-body{display:contents}.pane-body[hidden]{display:none}.dock-target{z-index:20;pointer-events:none;border:2px dashed var(--accent);background:#e0a84a1f;border-radius:8px;position:fixed}.map-main:has(>.dock-left.in-use) .tool-hint{left:calc(min(var(--dock-left,280px), 100% - 80px) + 12px);max-width:calc(100% - min(var(--dock-left,280px), 100% - 80px) - 12px - var(--snappy-room))}.sidebar-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.sidebar-section h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:600}.button-row.fill>button{flex:1}.segmented{display:flex}.segmented button{border-radius:0;flex:1}.segmented button:first-child{border-radius:6px 0 0 6px}.segmented button:last-child{border-left:none;border-radius:0 6px 6px 0}.slider-field{flex-direction:column;gap:4px;display:flex}.slider-field input{width:100%;accent-color:var(--accent)}.pane .table-status{flex-wrap:wrap}.screen-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.screen-pick{text-align:left;background:0 0;border-color:#0000;width:100%}.screen-pick:hover:not(:disabled){background:var(--panel2)}.screen-pick[aria-pressed=true]{background:var(--panel2);border-color:var(--accent);color:var(--text)}.choose-screen{color:var(--accent)}.remember-screen{align-items:center;gap:6px;display:flex}.online-panel{flex-direction:column;gap:8px;display:flex}.online-panel .hint{margin:0}.online-qr{border-radius:6px;width:100%;max-width:240px;margin:0 auto;display:block}.online-code-label{text-align:center;color:var(--muted);margin:4px 0 0}.online-code{text-align:center;letter-spacing:.15em;margin:0;font-size:2.2rem;font-weight:700}.online-phones{text-align:center;color:var(--muted);margin:0}.table-zoom-note{border:1px solid var(--accent);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.table-zoom-note p{margin:0}.effect-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.effect-pick{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:8px;width:100%;display:flex}.effect-pick:hover:not(:disabled){background:var(--panel2)}.effect-pick[aria-pressed=true]{background:var(--panel2);border-color:var(--accent);color:var(--text)}.scene-list{flex-direction:column;gap:2px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.scene-row{align-items:center;gap:2px;display:flex}.scene-pick{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:8px;min-width:0;display:flex}.scene-row .scene-pick{flex:1;padding:3px 6px 3px 3px}.scene-pick:hover{background:var(--panel2)}.scene-pick[aria-pressed=true]{background:var(--panel2);border-color:var(--accent);color:var(--text)}.scene-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-thumb,.scene-card-thumb{background:var(--bg);border-radius:3px;flex:none;display:block;overflow:hidden}.scene-thumb{width:40px;height:28px}.scene-thumb img,.scene-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.on-table{color:var(--ok);flex:none;margin-left:auto;display:inline-flex}.scene-controls{flex:none;align-items:center;display:flex}.scene-controls .icon-button{width:28px;height:28px;color:var(--muted);background:0 0;border-color:#0000}.scene-controls .icon-button:hover{background:var(--panel2);color:var(--text)}.scene-controls .bookmark[aria-pressed=true]{color:var(--accent);background:0 0;border-color:#0000}.icon-spacer{width:28px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu.anchored{min-width:220px}.scene-browser{width:min(960px,92vw);max-height:86vh}.scene-browser[open]{flex-direction:column;gap:12px;display:flex}.scene-browser-head{align-items:center;gap:12px;display:flex}.scene-browser-head h2{margin:0}.scene-search{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;flex:1;padding:6px 10px}.scene-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;min-height:0;margin:0;padding:2px;list-style:none;display:grid;overflow-y:auto}.scene-card{border-radius:8px;flex-direction:column;display:flex;position:relative}.scene-card .scene-pick{flex-direction:column;align-items:stretch;gap:6px;padding:6px}.scene-card-thumb{aspect-ratio:16/10;width:100%}.scene-card-thumb img{object-fit:contain}.scene-card-name{align-items:center;gap:6px;min-width:0;padding-right:92px;display:flex}.scene-card .scene-controls{position:absolute;bottom:4px;right:6px}.scene-card.dragging{opacity:.4}.scene-card.drop-before:before,.scene-card.drop-after:after{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px}.scene-card.drop-before:before{left:-7px}.scene-card.drop-after:after{right:-7px}.picture-tags{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);text-align:left;padding-right:92px;font-size:12px;overflow:hidden}.marker-panel{flex-direction:column;gap:6px;display:flex}.marker-panel>.action-button{width:100%}.marker-label{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin:0;overflow:hidden}.map-view.blacked-out{outline:4px solid var(--danger);outline-offset:-4px}.blacked-out-note{color:var(--danger)}.dialog.palette{flex-direction:column;gap:8px;width:min(640px,100vw - 32px);margin-top:12vh;display:flex}.dialog.palette:not([open]){display:none}.palette-search{font:inherit;padding:8px 10px;font-size:15px}.palette-results{max-height:55vh;margin:0;padding:0;list-style:none;overflow-y:auto}.palette-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 8px 2px;font-size:11px}.palette-option{cursor:pointer;border-radius:4px;align-items:baseline;gap:10px;padding:6px 8px;display:flex}.palette-option.active{background:var(--panel2);outline:1px solid var(--accent)}.palette-option[aria-disabled=true]{opacity:.5;cursor:default}.palette-title{flex:none}.palette-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;font-size:12px;overflow:hidden}.palette-option kbd{flex:none}.dialog.shortcut-sheet{width:calc(100vw - 48px);max-width:1400px;max-height:calc(100vh - 48px)}.dialog.shortcut-sheet[open]{flex-direction:column;gap:10px;display:flex}.shortcut-sheet-head{align-items:baseline;gap:12px;display:flex}.shortcut-sheet-head h2{margin:0}.shortcut-sheet-head .hint{flex:1;margin:0}.shortcut-groups{columns:250px;column-gap:24px;min-height:0;overflow-y:auto}.shortcut-group{break-inside:avoid;margin-bottom:14px}.shortcut-group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 4px;font-size:11px}.shortcut-group dl{margin:0}.shortcut-row{justify-content:space-between;gap:10px;padding:2px 0;font-size:13px;display:flex}.shortcut-row dt{min-width:0}.shortcut-row dd{color:var(--muted);flex:none;margin:0}.map-area{position:relative}.getting-started{text-align:left;flex-direction:column;gap:8px;width:min(520px,100%);display:flex}.getting-started h2{margin:0}.getting-started ol{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.getting-started .step{align-items:flex-start;gap:10px;display:flex}.getting-started .step-mark{border:2px solid var(--border);counter-increment:step;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid}.getting-started .step-mark:empty:before{content:counter(step);color:var(--muted)}.getting-started ol{counter-reset:step}.getting-started .step.next .step-mark{border-color:var(--accent)}.getting-started .step.next .step-mark:empty:before{color:var(--accent)}.getting-started .step.done .step-mark{border-color:var(--ok);background:var(--ok);color:#10140f}.getting-started .step.done .step-title{color:var(--muted);text-decoration:line-through}.getting-started .step-body{flex-direction:column;gap:4px;min-width:0;display:flex}.getting-started .step-title{font-weight:600}.getting-started .step.next .step-title{color:var(--accent)}.getting-started .hint{margin:0}.getting-started-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.getting-started.compact{border:1px solid var(--border);background:var(--panel);z-index:1;border-radius:8px;width:300px;padding:12px;position:absolute;top:10px;right:10px;box-shadow:0 6px 24px #00000073}.welcome-intro{max-width:34em;color:var(--muted);text-align:center}.strip{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:none;gap:4px;padding:6px;display:flex;overflow-y:auto}.strip-group{flex-direction:column;gap:4px;display:flex}.strip-group+.strip-group{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.strip .icon-button{width:36px;height:36px;position:relative}.strip .strip-panel[aria-expanded=true]:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:6px;bottom:6px;right:-7px}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel-title .icon-button{width:24px;height:24px;color:var(--muted);background:0 0;border-color:#0000}.sidebar-section h3{margin:0;font-size:13px;font-weight:600}.fog-shapes{gap:4px;display:flex}.fog-shapes>button{flex:1}.map-stage{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.tool-hint{max-width:calc(100% - 10px - var(--snappy-room));color:var(--muted);pointer-events:none;background:#0009;border-radius:6px;margin:0;padding:4px 10px;font-size:12px;position:absolute;bottom:10px;left:10px}.panel-search,.hp-box input,.hp-row input{background:var(--panel2);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:4px 8px}.roster-group h3{margin:4px 0 2px}.character-row-text{flex-direction:column;min-width:0;display:flex}.character-detail{color:var(--muted);font-size:12px}.character-token{--kind:var(--accent2);border:2px solid var(--kind);background:color-mix(in srgb, var(--kind) 55%, var(--bg));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;position:relative}.character-token.kind-npc{--kind:var(--ok)}.character-token.kind-monster{--kind:var(--danger)}.character-art{border-radius:50%;position:absolute;inset:0;overflow:hidden}.character-art img{object-fit:cover;width:100%;height:100%;display:block}.character-kind{background:var(--kind);color:#fff;border-radius:50%;padding:2px;display:flex;position:absolute;bottom:-4px;right:-4px}.character-dialog form{flex-direction:column;gap:10px;display:flex}.character-dialog select{background:var(--panel2);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:4px 8px}.character-picture{align-items:center;gap:14px;display:flex}.segmented button+button:not(:last-child){border-left:none}.dialog-buttons .spacer{flex:1}.action-button.danger{color:var(--danger)}.condition-menu{width:460px}.condition-menu h2{margin:0 0 10px;font-size:16px}.condition-menu .panel-search{width:100%}.condition-grid{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px;display:grid}.condition-pick{text-align:left;align-items:center;gap:6px;padding:4px 6px;display:flex}.condition-icon{flex:none}.token-conditions{flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.token-conditions li{align-items:center;gap:4px;display:flex}.character-card{cursor:grab;align-items:center;gap:10px;display:flex}.character-card-name{font-size:15px;font-weight:600}.character-description{white-space:pre-wrap;margin:0;font-size:13px}.character-sheets-list,.character-sheets ul,.token-chips,.token-notes{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.token-notes{flex-direction:column;gap:2px}.sheet-open{background:0 0;padding:0}.sheet-thumb{background:var(--bg);border-radius:4px;width:56px;height:56px;display:block;overflow:hidden}.sheet-thumb img{object-fit:cover;width:100%;height:100%;display:block}.character-sheets{flex-direction:column;gap:4px;display:flex}.character-sheets li{align-items:flex-start;display:flex}.character-dialog textarea{background:var(--panel2);color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:4px 8px}.note-row{align-items:center;gap:6px;font-size:13px;display:flex}.note-mark{width:18px;height:18px;color:var(--accent);background:#15110d;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.note-text{overflow-wrap:anywhere;flex:1;min-width:0}.note-show{flex:none;padding:1px 6px;font-size:12px}.sheet-viewer{max-width:90vw}.sheet-viewer img{max-width:85vw;max-height:75vh;margin:0 auto;display:block}.selected-token{align-items:center;gap:12px;font-weight:600;display:flex}.condition-pick[aria-pressed=mixed]{border-color:var(--accent);background:linear-gradient(90deg,#e0a84a73 50%,#0000 50%)}.token-chips button{align-items:center;gap:4px;display:inline-flex}.hp-box{flex-direction:column;gap:6px;display:flex}.hp-row{align-items:center;gap:8px;display:flex}.hp-label{color:var(--muted);font-size:12px;font-weight:600}.hp-value{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.hp-value strong{font-size:18px}.hp-max{width:56px}.hp-change{flex:1;min-width:0}.death-saves{flex-direction:column;gap:4px;display:flex}.death-save-row{align-items:center;gap:4px;display:flex}.death-save-row>span{width:72px;color:var(--muted);font-size:12px}.death-save{width:28px;height:28px;padding:0}.death-save.successes[aria-pressed=true]{color:#fff;background:#3d8b40;border-color:#3d8b40}.death-save.failures[aria-pressed=true]{color:#fff;background:#b03a2e;border-color:#b03a2e}.combat-round{margin:0;font-weight:600}.turn-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.turn-row{border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:2px 4px;display:flex}.turn-row.active{border-color:var(--accent);background:#e0a84a26}.turn-row.down{opacity:.5}.turn-pick{text-align:left;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.initiative-field{background:var(--panel2);width:48px;color:var(--text);border:1px solid var(--border);font:inherit;text-align:center;border-radius:6px;padding:4px 6px}.strip.with-names .icon-button{justify-content:flex-start;gap:8px;width:148px;padding:0 8px}.strip .button-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.strip .strip-end{margin-top:auto}.wall-swatch{border-top:4px solid #d8d8d8;flex:none;width:22px;height:0}.wall-swatch.door{border-top-color:#f08c2a}.wall-swatch.secretDoor{border-top-color:#b07ae0}.wall-swatch.window{border-top:4px dashed #8fd3ff}.wall-swatch.curtain{border-top:4px dotted #7ed07e}.wall-blocks{color:var(--muted);margin-left:auto;font-size:11px}.campaign-settings form{flex-direction:column;gap:12px;display:flex}.settings-group{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:8px;margin:0;padding:8px 12px 12px;display:flex}.settings-group legend{color:var(--muted)}.settings-group .hint{margin:0}.kind-colour{align-items:center;gap:8px;display:flex}.kind-colour label{flex:1;justify-content:space-between;align-items:center;gap:8px;display:flex}.kind-colour input[type=color]{border:1px solid var(--border);background:var(--panel2);border-radius:4px;width:44px;height:26px;padding:0 2px}.check-field{align-items:center;gap:8px;display:flex}.light-glow{justify-content:space-between;align-items:center;gap:12px;display:flex}.blank-map form{flex-direction:column;gap:10px;width:min(440px,90vw);display:flex}.blank-map-size{gap:12px;display:flex}.blank-map-size .text-field{flex:1}.blank-backgrounds{grid-template-columns:1fr 1fr;gap:6px;display:grid}.blank-background{text-align:left;align-items:center;gap:8px;display:flex}.blank-swatch{border:1px solid var(--border);border-radius:4px;flex:none;width:22px;height:22px}.object-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.object-library li{position:relative}.object-pick{cursor:grab;flex-direction:column;align-items:center;gap:4px;width:100%;padding:6px;display:flex}.object-pick span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.object-thumb{justify-content:center;width:100%;min-width:0;height:56px;display:flex}.object-thumb img{object-fit:contain;max-width:100%;height:100%}.object-remove{background:#00000080;border-color:#0000;width:22px;height:22px;position:absolute;top:2px;right:2px}.inspiration-mark{color:#ffd23f;margin-left:auto;display:inline-flex}.paged-pane{grid-template-columns:8.5rem minmax(0,1fr);gap:16px;min-height:300px;display:grid}.page-list{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding-right:8px;display:flex}.page-list [role=tab]{text-align:left;color:var(--muted);background:0 0;border:1px solid #0000}.page-list [role=tab]:hover{color:var(--text);background:var(--panel2)}.page-list [role=tab][aria-selected=true]{color:var(--text);background:var(--panel2);border-color:var(--accent)}.page-body{flex-direction:column;gap:12px;min-width:0;display:flex}.page-body>.settings-group{box-sizing:border-box;width:100%;margin:0}.campaign-settings{box-sizing:border-box;width:min(600px,100vw - 32px)}.field-label{margin-bottom:6px;display:block}.combat-head{align-items:center;gap:8px;display:flex}.combat-head>p{flex:1}.action-button.primary{background:var(--accent);border-color:var(--accent);color:#1b1408;font-weight:600}.action-button.primary:hover:not(:disabled){filter:brightness(1.08)}.action-button.primary.big{padding:10px 14px;font-size:15px}.button-row.fill.turn-buttons>.turn-back{flex:0 0 48px;font-size:18px}.action-button.end-combat{color:var(--danger);border-color:var(--danger);background:0 0}.action-button.end-combat:hover:not(:disabled){background:#d9534f26}.combat-more .action-button{white-space:nowrap;padding-left:6px;padding-right:6px;font-size:13px}.turn-card{border:1px solid var(--accent);background:#e0a84a1f;border-radius:8px;padding:8px 10px}.turn-card-who{align-items:center;gap:10px;display:flex}.turn-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.turn-card-text strong{font-size:16px}.turn-card-conditions{flex-wrap:wrap;gap:2px;display:flex}.turn-card-next{color:var(--muted);margin:6px 0 0;font-size:13px}.initiative-wanted{color:var(--accent)}.combat-bar{border:1px solid var(--danger);background:#d9534f24;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:2px 4px 2px 2px;display:flex}.combat-bar-open{min-width:0;color:var(--text);white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;display:flex}.combat-bar-open svg{color:var(--danger);flex:none}.combat-bar-round{font-weight:600}.combat-bar-turn{text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.combat-bar-next,.combat-bar-scene{color:var(--muted)}.combat-bar .action-button{padding:3px 10px}.resize-handle{z-index:4;pointer-events:auto;touch-action:none;position:absolute}.resize-handle.resize-x{cursor:ew-resize;width:8px;top:0;bottom:0;right:-4px}.resize-handle.resize-x.flip{left:-4px;right:auto}.resize-handle.resize-y{cursor:ns-resize;height:8px;bottom:-4px;left:0;right:0}.resize-handle.resize-xy{cursor:nwse-resize;width:14px;height:14px;bottom:-5px;right:-5px}.resize-handle:hover,.resize-handle:active{background:#e0a84a59;border-radius:4px}.dock-stack{flex-direction:column;flex:0 auto;gap:12px;min-height:0;display:flex;position:relative}.float-pane.sized>.pane{flex:auto}.action-button.header-search{background:var(--panel);border:1px solid var(--border);min-width:140px;color:var(--muted);text-align:left;cursor:text;border-radius:8px;flex:0 380px;align-items:center;gap:8px;margin:0 auto;padding:5px 8px;display:flex}.action-button.header-search:hover{border-color:var(--accent);color:var(--text)}.header-search-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.header-search kbd{font:inherit;border:1px solid var(--border);background:var(--panel2);border-radius:4px;padding:1px 6px;font-size:12px}.header-files{margin-left:0}.journal-head{align-items:center;gap:8px;display:flex}.journal-title{overflow-wrap:anywhere;flex:1;margin:0;font-size:15px}.journal-body{container-type:inline-size}.journal-split{flex-direction:column;gap:8px;display:flex}@container (width>=520px){.journal-split{flex-direction:row}.journal-split>*{flex:1 1 0;min-width:0;height:max(240px,100vh - 230px);overflow-y:auto}.journal-split>.journal-write{overflow:visible}.journal-write>.journal-text{resize:none;height:100%}}.journal-text{resize:vertical;background:var(--panel2);height:max(240px,100vh - 230px);min-height:240px;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font:13px/1.45 ui-monospace,Cascadia Mono,Consolas,monospace}.journal-preview{border-left:3px solid var(--border);padding-left:8px}.journal-page{overflow-wrap:anywhere;line-height:1.5}.journal-page>:first-child{margin-top:0}.journal-page h1,.journal-page h2,.journal-page h3,.journal-page h4,.journal-page h5,.journal-page h6{letter-spacing:normal;text-transform:none;margin:14px 0 4px;scroll-margin-top:8px;line-height:1.25}.journal-page h1{font-size:18px}.journal-page h2{color:var(--accent);font-size:16px}.journal-page h3{font-size:14px}.journal-page h4,.journal-page h5,.journal-page h6{color:var(--muted);font-size:13px}.journal-page p,.journal-page ul,.journal-page ol,.journal-page pre,.journal-page blockquote{margin:0 0 8px}.journal-page ul,.journal-page ol{padding-left:20px}.journal-page li.md-task{margin-left:-18px;list-style:none}.md-box{width:18px;display:inline-block}.journal-page blockquote{border-left:3px solid var(--accent);color:var(--muted);padding-left:10px;font-style:italic}.journal-page code{background:var(--panel2);border-radius:3px;padding:0 3px;font:12px ui-monospace,Cascadia Mono,Consolas,monospace}.journal-page pre{background:var(--panel2);border-radius:6px;padding:6px 8px;overflow-x:auto}.journal-page pre code{padding:0}.journal-page hr{border:none;border-top:1px solid var(--border);margin:12px 0}.md-link{color:var(--accent);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.md-link.go{font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.md-link.go:hover{text-decoration-thickness:2px}.md-link.gone{color:var(--muted);text-decoration:line-through}.journal-write{flex-direction:column;display:flex;position:relative}.link-suggestions{z-index:5;background:var(--panel);border:1px solid var(--border);border-radius:6px;min-width:200px;max-width:320px;margin:0;padding:4px;list-style:none;position:absolute;box-shadow:0 6px 24px #00000073}.link-suggestions li{cursor:pointer;border-radius:4px;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.link-suggestions li[aria-selected=true]{background:var(--panel2);outline:1px solid var(--accent)}.link-suggestions .character-detail{white-space:nowrap;margin-left:auto}.journal-notes,.journal-linked{flex-direction:column;gap:4px;display:flex}.journal-links{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.journal-links li{align-items:center;gap:4px;display:flex}.journal-link{text-align:left;overflow-wrap:anywhere;flex:1;min-width:0}.journal-add-link{align-self:flex-start}.link-dialog{width:min(440px,92vw)}.link-options{flex-direction:column;gap:2px;max-height:50vh;margin:8px 0;padding:0;list-style:none;display:flex;overflow-y:auto}.link-option{text-align:left;width:100%}.link-option.page{font-weight:600}.max-pane{z-index:5;pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.max-pane>.pane{flex:auto}.pane.maximized .panel-title{cursor:default}.party-hint,.map-message{border:1px solid var(--border);max-width:calc(100% - 20px);color:var(--text);background:#14151aeb;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0;padding:6px 12px;font-size:13px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.party-hint{top:10px}.map-message{border-color:var(--accent);bottom:92px}.map-message.trap-line{border-color:#d84040;bottom:136px}.map-message.exit-line{border-color:#3cc06a;bottom:180px}.treasure-items{gap:4px;margin:0;padding:0;list-style:none;display:grid}.treasure-items li{grid-template-columns:auto 1fr 4.5em auto;align-items:end;gap:6px;display:grid}.treasure-items li.found input[type=text]{opacity:.55;text-decoration:line-through}.treasure-items .treasure-name span,.treasure-items .treasure-dc span{font-size:.8em}.treasure-items input[type=checkbox]{margin-bottom:6px}.treasure-add.text-field{flex-direction:row;gap:6px}.treasure-add input{flex:1;min-width:0}.email-unconfirmed{border:1px solid var(--accent);border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.email-unconfirmed p{margin:0}.google-sign-in{min-height:44px}.sign-in-or{color:var(--muted);align-items:center;gap:8px;margin:0;display:flex}.sign-in-or:before,.sign-in-or:after{content:"";border-top:1px solid var(--border);flex:1}.link-button,.action-button.link-button{color:var(--accent2);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:hover{color:var(--text)}.player-where{text-overflow:ellipsis;white-space:nowrap;max-width:45%;color:var(--muted);flex:none;font-size:12px;overflow:hidden}button.player-where{color:var(--accent2)}.character-forms{flex-direction:column;gap:4px;display:flex}.character-forms ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.character-forms li{align-items:center;gap:6px;display:flex}.character-forms li input{flex:1;min-width:0}.segmented.wrap{flex-wrap:wrap}.exhaustion-levels{align-items:center;gap:4px;margin-top:8px;display:flex}.exhaustion-levels>span{margin-right:4px}.exhaustion-levels button{min-width:2.2em;padding:3px 6px}.layer-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.layer-row{align-items:center;gap:4px;display:flex}.layer-row.off .layer-pick{opacity:.55}.layer-pick{background:var(--panel2);min-width:0;color:var(--text);border:1px solid var(--border);font:inherit;text-align:left;cursor:pointer;border-radius:6px;flex:1;justify-content:space-between;gap:8px;padding:4px 8px;display:flex}.layer-pick[aria-pressed=true]{border-color:var(--accent)}.layer-kind{color:var(--muted,#9a9a9a);font-size:.85em}.layer-players{padding:4px 6px;font-size:.85em}.layer-bar{border:1px solid var(--border);background:#14151ad9;border-radius:8px;gap:4px;max-width:calc(100% - 20px);padding:4px;display:flex;position:absolute;bottom:50px;left:50%;overflow-x:auto;transform:translate(-50%)}.layer-chip{border:1px solid var(--border);background:var(--panel2);color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;padding:3px 10px;font-size:.9em}.layer-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:#111}.layer-chip.off{opacity:.6;text-decoration:line-through}.layer-show{align-items:center;margin-left:6px;padding:3px 8px;display:inline-flex}.library{width:min(1100px,94vw);height:min(760px,88vh)}.library[open]{flex-direction:column;gap:10px;display:flex}.library-head{align-items:center;gap:10px;display:flex}.library-head h2{margin:0}.library-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.library-body{flex:1;grid-template-columns:minmax(180px,240px) 1fr;gap:10px;min-height:0;display:grid}.library-tree{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 4px;overflow:auto}.library-tree ul{margin:0;padding:0;list-style:none}.library-tree-row{border-radius:4px;align-items:center;gap:2px;display:flex}.library-twisty{width:18px;color:var(--muted,#9aa0b4);text-align:center;background:0 0;border:none;flex:none;padding:0}.library-folder{text-align:left;color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex:1;padding:3px 6px;overflow:hidden}.library-folder:before{content:"";background:var(--accent);opacity:.8;vertical-align:-1px;border-radius:2px;width:14px;height:10px;margin-right:6px;display:inline-block}.library-folder[aria-current=true]{background:var(--panel2);color:var(--accent)}.drop-here{outline:2px dashed var(--accent2);outline-offset:-2px}.library-contents{flex-direction:column;gap:6px;min-height:0;display:flex}.library-path{color:var(--muted,#9aa0b4);margin:0}.library-grid{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex:1;min-height:0;position:relative;overflow-y:auto}.library-grid ul{margin:0;padding:0;list-style:none;position:relative}.library-grid li{box-sizing:border-box;padding:6px;position:absolute}.library-tile{border-radius:6px;flex-direction:column;align-items:center;gap:4px;height:100%;display:flex}.library-tile.picked{background:var(--panel2);outline:2px solid var(--accent)}.library-pick{border:1px solid var(--border);background:var(--panel);border-radius:6px;justify-content:center;align-items:center;width:84px;height:84px;padding:4px;display:flex}.library-thumb,.library-thumb img{max-width:100%;max-height:100%;display:block}.library-folder-icon{background:var(--accent);opacity:.85;border-radius:2px 5px 5px;width:56px;height:40px;margin-top:8px;position:relative}.library-folder-icon:before{content:"";background:var(--accent);border-radius:4px 4px 0 0;width:22px;height:8px;position:absolute;top:-7px;left:0}.library-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.library-where{color:var(--muted,#9aa0b4);text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.library-rename{width:100%;padding:2px 4px;font-size:12px}.library-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.library-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;display:inline-flex}.library-chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.library-chip .icon-button{width:16px;height:16px;padding:0}.library-picked{border:1px solid var(--border);background:var(--panel);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}.library-picked-name{font-weight:600}.library-tag-field{width:140px;padding:3px 6px}.library-page-icon{background:repeating-linear-gradient(to bottom, transparent 0 9px, var(--border) 9px 10px) var(--text);opacity:.85;background-clip:content-box;border-radius:3px;width:40px;height:52px;padding:6px 5px}.library-sound-icon{background:radial-gradient(circle at 70% 50%, transparent 0 8px, var(--text) 8px 10px, transparent 10px) center / 100% 100% no-repeat, linear-gradient(var(--text), var(--text)) 14px 50% / 10px 12px no-repeat, var(--panel);border:1px solid var(--border);opacity:.85;border-radius:3px;width:52px;height:40px}.library-play{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 12px}.library-play[aria-pressed=true]{border-color:var(--accent)}.library-sound-icon.playing{border-color:var(--accent);opacity:1}.library-film-icon{background:repeating-linear-gradient(to right, transparent 0 5px, var(--panel) 5px 9px) top / 100% 6px no-repeat, repeating-linear-gradient(to right, transparent 0 5px, var(--panel) 5px 9px) bottom / 100% 6px no-repeat, var(--text);opacity:.85;border-radius:3px;width:52px;height:40px}.action-button.ping{animation:1s ease-out 3 ping}@keyframes ping{0%{box-shadow:0 0 #e0a84ae6}to{box-shadow:0 0 0 12px #e0a84a00}}@media (prefers-reduced-motion:reduce){.action-button.ping{outline:2px solid var(--accent);animation:none}}.online-lobby{flex-direction:column;gap:8px;display:flex}.online-players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.online-player{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:8px;display:flex}.online-player-name{margin:0}.online-on{color:var(--accent)}.online-off{color:var(--muted)}.online-saved dl{margin:4px 0 0}.online-saved dt{color:var(--muted)}.online-saved dd{margin:0 0 4px}.online-plays{align-items:center;gap:8px;display:flex}.online-plays select{flex:1;min-width:0}.character-online{color:var(--muted);flex-direction:column;align-items:flex-start;gap:6px;display:flex}.online-upload{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:6px;display:flex}.online-upload-name{margin:0}.online-upload-picture{object-fit:contain;background:var(--panel2);border:1px solid var(--border);border-radius:6px;align-self:flex-start;max-width:100%;max-height:160px}.online-sheet-frame{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;height:360px}.mode-toggle{z-index:5;border:1px solid var(--border);background:#14151ae0;border-radius:10px;gap:2px;padding:3px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.measure-shapes{border-left:1px solid var(--border);gap:2px;margin-left:4px;padding-left:6px;display:flex}.mode-toggle .icon-button{white-space:nowrap;gap:8px;width:auto;height:34px;padding:0 14px;font-size:13px}.switch-row{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:6px 10px;display:flex}.switch-track{background:var(--border);border-radius:9px;flex:none;width:34px;height:18px;transition:background .12s;position:relative}.switch-knob{background:var(--text,#e8e8ec);border-radius:50%;width:14px;height:14px;transition:transform .12s;position:absolute;top:2px;left:2px}.switch-row[aria-checked=true] .switch-track{background:var(--accent)}.switch-row[aria-checked=true] .switch-knob{background:#1a1b20;transform:translate(16px)}.switch-row[aria-checked=mixed] .switch-track{background:var(--accent);opacity:.6}.switch-row[aria-checked=mixed] .switch-knob{background:#1a1b20;transform:translate(8px)}.welcome-account{margin:0 0 16px}.account-dialog{width:min(520px,100vw - 32px)}.gm.compact{gap:6px;padding:6px}.gm.compact .gm-header{flex-wrap:wrap;gap:6px 8px}.gm.compact .campaign-title{max-width:40vw}.gm.compact .save-status,.gm.compact .header-search-text,.gm.compact .header-search kbd{display:none}.gm.compact .action-button.header-search{flex:none;min-width:0;margin:0 0 0 auto}.gm.compact .gm-body{flex-direction:column-reverse;gap:6px}.gm.compact .strip{flex-flow:wrap;align-items:center;gap:4px;padding:4px}.gm.compact .strip-group{flex-direction:row;flex:none}.gm.compact .strip-group+.strip-group{border-top:0;border-left:1px solid var(--border);margin:0 0 0 4px;padding:0 0 0 8px}.gm.compact .strip .strip-end{margin:0 0 0 auto}.gm.compact .strip .icon-button{justify-content:center;width:44px;height:44px;padding:0}.gm.compact .strip.with-names .icon-button{flex-direction:column;justify-content:center;gap:2px;width:68px;height:60px;padding:2px}.gm.compact .strip.with-names .button-name{text-align:center;white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:11px;line-height:1.1}.gm.compact .strip .strip-panel[aria-expanded=true]:before{width:auto;height:3px;inset:-5px 8px auto}.gm.compact .tool-hint{display:none}.sheet{z-index:4;pointer-events:none;flex-direction:column;max-height:55%;display:flex;position:absolute;bottom:0;left:0;right:0}.sheet>.pane{border-radius:12px 12px 0 0;flex:auto;box-shadow:0 -6px 24px #00000073}.gm.compact .panel-title .icon-button{width:36px;height:36px}@media (width<=900px){.dialog:not(.palette){box-sizing:border-box;border:0;border-radius:0;width:100vw;min-width:0;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;overflow:auto}.dialog.palette{min-width:0}.dialog[open]:not(.palette){flex-direction:column;display:flex}.dialog:not(.palette)>form{flex-direction:column;flex:auto;display:flex}.dialog:not(.palette) .dialog-buttons{background:var(--panel);border-top:1px solid var(--border);margin:auto -16px -16px;padding:10px 16px;position:sticky;bottom:-16px}}@media (pointer:coarse){button,select,input:not([type=checkbox],[type=radio],[type=range],[type=color]){min-height:44px}input[type=checkbox],input[type=radio]{width:22px;height:22px}}.animation-list{flex-direction:column;flex:none;gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.animation-row{align-items:center;gap:2px;display:flex}.animation-eye{width:30px;height:30px;color:var(--muted,var(--text));opacity:.55;background:0 0;border-color:#0000;place-items:center;padding:0;display:grid}.animation-eye[aria-pressed=true]{opacity:1;color:var(--accent);background:0 0;border-color:#0000}.animation-eye[aria-pressed=false]{text-decoration:line-through}.animation-pick{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-color:#0000;flex:1;min-width:0;overflow:hidden}.animation-pick[aria-pressed=true]{background:var(--panel2);border-color:var(--accent);color:var(--text)}.animation-row:not(:has(.animation-eye[aria-pressed=true])) .animation-pick{opacity:.6}.number-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.wide-button{width:100%}.number-grid input{box-sizing:border-box;width:100%;min-width:0}.text-field select{background:var(--panel2);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:4px 8px}.effect-colours{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.colour-swatch{border:2px solid var(--border);border-radius:50%;width:22px;height:22px;min-height:0;padding:0}.colour-swatch[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 2px var(--accent)}.armed-note{z-index:30;background:var(--panel);color:var(--text);border:1px solid var(--accent);border-radius:8px;padding:8px 14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}.atmosphere-row{flex-direction:column;gap:4px;display:flex}.atmosphere-look{align-items:center;gap:8px;padding-left:30px;display:flex}.atmosphere-look select{background:var(--panel2);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;flex:1;padding:3px 6px}.atmosphere-look input[type=color]{border:1px solid var(--border);background:0 0;border-radius:6px;width:34px;height:26px;padding:0}.dialog.srd-dialog{flex-direction:column;gap:8px;width:min(720px,100vw - 32px);max-height:86vh;display:flex}.dialog.srd-dialog:not([open]),.dialog.about-dialog:not([open]){display:none}.dialog.about-dialog{width:min(620px,100vw - 32px)}.srd-body{-webkit-user-select:text;user-select:text;min-height:0;padding-right:6px;overflow-y:auto}.srd-card h2{margin:0 0 2px}.srd-card h3{border-bottom:1px solid var(--border);margin:14px 0 4px;padding-bottom:2px;font-size:14px}.srd-sub{color:var(--muted);margin:0 0 8px;font-style:italic}.srd-line,.srd-text{margin:2px 0;line-height:1.45}.srd-text{margin:6px 0}.srd-abilities{border-collapse:collapse;text-align:center;width:100%;margin:8px 0}.srd-abilities th,.srd-abilities td{border:1px solid var(--border);padding:3px 4px}.srd-credit{flex:none;margin:0}.srd-more{margin-top:0;padding-left:14px}.effects-panel{flex-direction:column;gap:10px;display:flex}.effect-kinds{flex-wrap:wrap;gap:4px;display:flex}.effect-kinds button{flex:auto}.effect-slider{color:var(--muted);grid-template-columns:3em 1fr 4em;align-items:center;gap:8px;font-size:12px;display:grid}.effect-slider output{color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.favourites-bar{z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(90vw,900px);padding:6px;display:flex;position:fixed;bottom:72px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}.favourites-bar button{align-items:center;gap:6px;display:inline-flex}.favourites-bar button[aria-pressed=true]{border-color:var(--accent)}.favourite-dot{border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 1px #ffffff4d}.effect-favourites .favourite-save{gap:6px;display:flex}.effect-favourites .favourite-save input{flex:1;min-width:0}.effect-favourites ul{margin:6px 0 0;padding:0;list-style:none}.effect-favourites li{justify-content:space-between;align-items:center;gap:8px;display:flex}.ambient-sound{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:10px;padding-top:8px;display:flex}.ambient-sound select{flex:1;min-width:0}.sound-pads{flex-direction:column;gap:4px;margin:6px 0;padding:0;list-style:none;display:flex}.sound-pad{align-items:center;gap:6px;display:flex}.sound-pad kbd{text-align:center;flex:none;min-width:1.4em}.sound-pad select,.sound-pad .sound-pad-play{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sound-pad input[type=range]{flex:0 0 64px;width:64px}.sound-stop-all{width:100%;margin-top:4px}.now-playing{margin:0;padding:0;list-style:none}.now-playing li{justify-content:space-between;align-items:center;gap:8px;display:flex}.snappy-corner{z-index:6;width:96px;height:64px;position:absolute;bottom:0;right:2px}.map-main:has(>.dock-right.in-use) .snappy-corner:not(.placed){right:calc(min(var(--dock-right,280px), 100% - 80px) + 2px)}.map-main{--snappy-room:104px}.map-main:has(>.dock-right.in-use){--snappy-room:calc(min(var(--dock-right,280px), 100% - 80px) + 104px)}.map-main:has(>.sheet) .snappy-corner:not(.placed){top:4px;bottom:auto}.snappy{cursor:pointer;touch-action:none;background:0 0;border:none;border-radius:10px;width:100%;height:100%;padding:0;display:block}.snappy:hover:not(:disabled){background:0 0}.snappy-corner.dragging .snappy{cursor:grabbing}.snappy canvas{pointer-events:none;display:block}.snappy-chat{width:min(360px,100vw - 48px);max-height:var(--chat-room,480px);background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 6px 24px #00000073}.snappy-corner.chat-below .snappy-chat{top:calc(100% + 10px);bottom:auto}.snappy-corner.chat-right .snappy-chat{left:0;right:auto}.snappy-chat:after{content:"";background:var(--panel);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:14px;height:14px;position:absolute;bottom:-8px;right:40px;transform:rotate(45deg)}.snappy-corner.chat-right .snappy-chat:after{left:40px;right:auto}.snappy-corner.chat-below .snappy-chat:after{top:-8px;bottom:auto;transform:rotate(225deg)}.snappy-chat-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 6px 6px 12px;display:flex}.snappy-chat-title h2{color:var(--accent);margin:0;font-size:14px}.snappy-chat-log{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:12px;display:flex;overflow-y:auto}.chat-line{overflow-wrap:anywhere;border-radius:10px;max-width:88%;margin:0;padding:6px 10px}.chat-line.from-snappy{background:var(--panel2);border-bottom-left-radius:2px;align-self:flex-start}.chat-line.from-gm{background:#e0a84a2e;border:1px solid #e0a84a66;border-bottom-right-radius:2px;align-self:flex-end}.chat-ideas{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.chat-ideas button{color:var(--accent);text-align:left;border-radius:999px}.snappy-chat-ask{border-top:1px solid var(--border);gap:6px;padding:8px;display:flex}.snappy-chat-ask>.action-button{flex:1}.snappy-chat-ask input{background:var(--panel2);min-width:0;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;flex:1;padding:4px 8px}.ai-panel{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:none;gap:8px;padding:10px;display:flex}.ai-panel h2{margin:0;font-size:1rem}.ai-group{border:1px solid var(--border,#444);border-radius:6px;margin:0;padding:6px 8px}.ai-item{align-items:flex-start;gap:8px;padding:2px 0;display:flex}.ai-sent{white-space:pre-wrap;background:#00000040;border-radius:6px;margin:0;padding:6px 8px;font-size:.8rem}.ai-fact{margin:0;font-weight:600}
