:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1114;--panel:#171a1f;--panel-raised:#23272e;--border:#343941;--text:#e6e2d8;--muted:#a3a6ab;--accent:#d9a441;--accent-text:#1c1505;--danger:#d9534a;--danger-soft:#3a1f1e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3,p{margin:0}.muted{color:var(--muted);font-size:.875rem}.app-header{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;min-height:3rem;padding:.375rem .75rem;display:flex}.header-slot{flex:0 auto;min-width:0;display:flex}.stage-heading{align-items:center;gap:.625rem;min-width:0;display:flex}.stage-heading>button{white-space:nowrap;flex:none}.app-header h1{color:var(--accent);letter-spacing:.03em;font-size:1.0625rem}.app-main{max-width:80rem;margin:0 auto;padding:1.25rem}button{font:inherit;color:var(--text);background:var(--panel-raised);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.25rem .5625rem;font-size:.8125rem}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.55;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}input:not([type=file],[type=range],[type=checkbox],[type=color]),select{font:inherit;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.4rem .5rem}.error,.upload.failed{background:var(--danger-soft);border:1px solid var(--danger);border-radius:6px;padding:.5rem .75rem}.library{border:2px dashed #0000;border-radius:10px;flex-direction:column;gap:1rem;min-height:70vh;padding:.75rem;display:flex}.library.dragging{border-color:var(--accent);background:var(--panel)}.library-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.library-tools{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.storage{color:var(--muted);flex-direction:column;gap:.125rem;font-size:.8125rem;display:flex}.storage meter{width:100%;min-width:11rem}.uploads{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.upload{justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;display:flex}.upload progress{flex:0 16rem}.empty{color:var(--muted);border:1px dashed var(--border);border-radius:10px;flex-direction:column;align-items:center;gap:.875rem;padding:2.5rem 1rem;display:flex}.empty h3{color:var(--text);font-size:1.125rem}.empty ol{margin:0;padding-left:1.25rem;font-size:.9375rem;line-height:1.7}.map-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.map-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.625rem;padding:.625rem;display:flex}.map-thumb{aspect-ratio:4/3;background:var(--bg);padding:0;display:block;overflow:hidden}.map-thumb img{object-fit:cover;width:100%;height:100%;display:block}.map-info h3{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;overflow:hidden}.map-info p{color:var(--muted);font-size:.8125rem}.map-form,.map-confirm{flex-direction:column;gap:.5rem;font-size:.875rem;display:flex}.map-actions{flex-wrap:wrap;gap:.5rem;display:flex}.find-maps{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:.875rem;font-size:.875rem;display:flex}.find-maps h4{margin:0 0 .375rem;font-size:.9375rem}.find-maps .small{font-size:.8125rem}.find-maps-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.find-maps-body{grid-template-columns:minmax(14rem,1fr) minmax(20rem,2fr);gap:1rem;display:grid}@media (width<=800px){.find-maps-body{grid-template-columns:1fr}}.find-maps-sources ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.find-maps-sources li{flex-direction:column;display:flex}.find-maps a{color:var(--accent)}.find-maps-search-form{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.find-maps-search-form input{flex:12rem}.openverse-results{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;max-height:32rem;margin:0 0 .5rem;padding:0;list-style:none;display:grid;overflow-y:auto}.openverse-result{flex-direction:column;gap:.25rem;min-width:0;font-size:.8125rem;display:flex}.openverse-result img,.openverse-result .map-thumb-missing{aspect-ratio:4/3;object-fit:cover;background:var(--bg);width:100%}.openverse-result strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.find-maps-pages{align-items:center}.link-import-form,.credit-form{flex-direction:column;gap:.5rem;max-width:40rem;display:flex}.link-import-form label,.credit-form label{flex-direction:column;gap:.125rem;display:flex}.link-import-form label.checkbox{flex-direction:row;align-items:flex-start;gap:.5rem}.link-import-form button[type=submit]{align-self:flex-start}.map-info .map-source{flex-wrap:wrap;gap:.125rem .625rem;margin-top:.25rem;display:flex}.map-source a{color:var(--accent)}.world-map-feature{margin-bottom:1.25rem}.world-map-feature h3{color:#ff7a1a;margin-bottom:.5rem;font-size:.9375rem}.world-map-feature .map-grid{grid-template-columns:1fr}.map-card-world{border-color:#ff7a1a;flex-flow:wrap;align-items:flex-start}.map-card-world .map-thumb{flex:0 28rem;min-width:14rem}.map-card-world .map-info{flex:12rem;min-width:0}.app-shell.stage-open{flex-direction:column;height:100dvh;display:flex}.stage-open .app-main{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;padding:0;display:flex}.map-view{flex-direction:column;flex:1;min-height:0;display:flex}.map-view-message{align-items:flex-start;gap:.75rem;padding:1.25rem}.tool-row{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.25rem .5rem;padding:.3125rem .75rem;display:flex}.stage-toolbar{flex-wrap:wrap;align-items:center;margin-left:auto;display:flex}.save-warnings{background:var(--danger-soft);flex-wrap:wrap;gap:.75rem;padding:.25rem .75rem;display:flex}.stage-title{min-width:0;line-height:1.2}.stage-title h2{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.stage-title p{text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.stage-tools,.stage-group{flex-wrap:wrap;align-items:center;display:flex}.stage-tools{gap:.25rem .375rem}.stage-group{gap:.25rem}.icon{width:1rem;height:1.25rem;display:block}.stage-readout{min-width:2.5rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;font-size:.8125rem}.stage-rotation{width:3rem;accent-color:var(--accent)}.stage-warning{color:var(--danger);font-size:.8125rem}.fog-bar{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;font-size:.8125rem;display:flex}.fog-bar-label{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:600}.fog-mode{min-width:5.25rem;font-weight:600}.fog-mode[data-mode=reveal]{color:#9fe0a2;border-color:#4d8a50}.fog-mode[data-mode=hide]{color:#c9b6f2;border-color:#7a64b0}.fog-size{width:3rem;accent-color:var(--accent)}.fog-initial{align-items:center;gap:.35rem;display:inline-flex}.fog-initial select{width:auto;font:inherit;padding:.125rem .25rem}.fog-problem{border-radius:0;flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fog-problem p{flex:20rem;margin:0}.stage-row{flex:1;min-height:0;display:flex}.stage-marking canvas{cursor:crosshair!important}.grid-panel{background:var(--panel);border-left:1px solid var(--border);flex-direction:column;flex:0 0 17.5rem;gap:.625rem;padding:.625rem .75rem;font-size:.8125rem;display:flex;overflow-y:auto}.grid-section,.grid-measure{flex-direction:column;gap:.5rem;display:flex}.grid-section{border-top:1px solid var(--border);padding-top:.75rem}.grid-section h3{color:var(--muted);font-size:.8125rem}.grid-field{flex-direction:column;flex:1;gap:.125rem;min-width:0;font-size:.8125rem;display:flex}.grid-field input[type=number]{width:100%}.grid-field input[type=color]{background:var(--bg);border:1px solid var(--border);border-radius:6px;width:100%;height:1.75rem;padding:.125rem}.grid-panel input[type=range]{accent-color:var(--accent)}.grid-check{align-items:center;gap:.5rem;display:flex}.grid-row,.grid-choices,.grid-nudge,.grid-steps{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.grid-row{flex-wrap:nowrap;align-items:flex-end}.grid-steps{margin-left:auto}.grid-note{color:var(--muted);font-size:.8125rem}@media (width<=720px){.stage-row{flex-direction:column}.grid-panel{border-top:1px solid var(--border);border-left:0;flex:0 0 45%}}.stage{background:#000;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.stage canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stage-letterboxed{background:repeating-linear-gradient(45deg,#23262e 0 10px,#1a1c22 10px 20px)}.stage-letterboxed canvas{inset:auto}.session-bar{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:.25rem .5rem;min-width:0;display:flex;position:relative}.session-connection{color:var(--muted);font-size:.8125rem}.session-connection:before{content:"";background:var(--danger);border-radius:50%;width:.5rem;height:.5rem;margin-right:.375rem;display:inline-block}.session-connection[data-connected=true]:before{background:#5cb85c}.session-status{text-overflow:ellipsis;white-space:nowrap;background:var(--panel-raised);border:1px solid var(--border);border-radius:6px;max-width:24rem;padding:.1875rem .625rem;font-size:.8125rem;font-weight:600;overflow:hidden}.session-status[data-tone=live]{color:#1a2e1a;background:#6fcf73;border-color:#6fcf73}.session-status[data-tone=live][data-connected=false]{color:#6fcf73;background:0 0}.session-status[data-tone=frozen]{color:#10242e;background:#7cc7e8;border-color:#7cc7e8}.session-status[data-tone=black]{color:#fff;border-color:var(--muted);background:#000}.session-status[data-tone=problem]{color:#fff;background:var(--danger);border-color:var(--danger)}button.session-on{color:var(--accent-text);background:var(--accent);border-color:var(--accent);font-weight:600}.session-help{z-index:20;background:var(--panel-raised);border:1px solid var(--accent);border-radius:8px;align-items:center;gap:1rem;width:min(36rem,100vw - 2rem);padding:.5rem .75rem;font-size:.8125rem;display:flex;position:absolute;top:calc(100% + 3rem);right:0}.help-button{border-radius:50%;flex:none;width:1.75rem;padding:.25rem 0;font-weight:600}.stage-overlay{z-index:5;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.25rem;display:flex;position:absolute;top:.5rem;left:.5rem}.stage-chip{color:var(--text);border:1px solid var(--border);background:#0f1114d1;border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.stage-chip[data-tone=black],.stage-chip[data-tone=problem]{color:#fff;border-color:var(--danger)}.stage-chip[data-tone=frozen]{color:#7cc7e8;border-color:#7cc7e8}.stage[data-table-tone=live] canvas{outline-offset:-2px;outline:2px solid #4d8a50}.stage[data-table-tone=frozen] canvas{outline-offset:-2px;outline:2px solid #7cc7e8}.stage[data-table-tone=black] canvas,.stage[data-table-tone=problem] canvas{outline:2px solid var(--danger);outline-offset:-2px}html.player,html.player body{cursor:none;background:#000;height:100%;overflow:hidden}html.player #root{height:100%}.player-stage{background:#000;position:fixed;inset:0}.player-stage canvas{width:100%;height:100%;display:block}.player-ruler{background:#fff;outline:.25rem solid #000;height:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.player-turns{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.player-turns-box{transform-origin:0 0;box-sizing:border-box;color:#f2f2f2;background:#0a0c14d1;border-radius:.5em;width:max-content;min-width:8em;max-width:30vmin;max-height:70vmin;margin:0;padding:.5em;font-family:system-ui,sans-serif;font-weight:600;line-height:1.25;list-style:none;position:absolute;overflow:hidden}.player-turn{overflow-wrap:anywhere;border-radius:.3em;flex-wrap:wrap;align-items:baseline;gap:0 .6em;padding:.25em .5em;display:flex}.player-turn[data-current=true]{color:#14110a;background:#ffd54a}.player-turn[data-delayed=true] .player-turn-name{opacity:.55;font-style:italic}.player-turn-name{flex:auto}.player-turn-initiative{font-variant-numeric:tabular-nums;opacity:.8}.player-turn-conditions{opacity:.85;flex-basis:100%;font-size:.7em;font-weight:500}.player-prompt{color:#ddd;pointer-events:none;background:#000000bf;border:1px solid #555;border-radius:6px;width:fit-content;margin:0 auto;padding:.5rem 1rem;font-size:.9375rem;position:fixed;bottom:1.5rem;left:0;right:0}.help-backdrop{z-index:50;background:#000000a6;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.help-dialog{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(70rem,100%);max-height:100%;padding:1rem 1.25rem;overflow-y:auto}.help-head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.help-head h2{font-size:1.0625rem}.help-columns{columns:3 19rem;column-gap:1.75rem}.help-columns section{break-inside:avoid;margin-bottom:.875rem}.help-columns h3{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem}.help-columns table{border-collapse:collapse;width:100%;font-size:.8125rem}.help-columns td{vertical-align:top;padding:.125rem 0}.help-keys{width:7rem;padding-right:.5rem!important}kbd{font:inherit;white-space:nowrap;background:var(--panel-raised);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;margin:0 .1875rem .125rem 0;padding:0 .3125rem;font-size:.75rem;display:inline-block}.notice{z-index:40;background:var(--panel-raised);border:1px solid var(--accent);border-radius:8px;align-items:center;gap:.75rem;width:max-content;max-width:calc(100vw - 2rem);padding:.5rem .75rem;font-size:.875rem;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.sign-in-dialog{flex-direction:column;gap:.75rem;width:min(32rem,100%);display:flex}a.button{color:var(--text);background:var(--panel-raised);border:1px solid var(--border);border-radius:6px;padding:.4rem .75rem;font-size:.875rem;text-decoration:none}.upload-question{background:var(--panel-raised);border:1px solid var(--accent);border-radius:6px;flex-direction:column;flex:1;gap:.5rem;padding:.5rem .75rem;display:flex}.loading{color:var(--muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:1rem;height:1rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.map-thumb-missing{height:100%;color:var(--muted);place-items:center;font-size:.8125rem;display:grid}.server-status-ok:empty{display:none}.crash{flex-direction:column;align-items:flex-start;gap:.75rem;max-width:32rem;margin:15vh auto;padding:0 1rem;display:flex}.campaign-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.campaign-select{align-items:center;gap:.5rem;display:flex}.campaign-select select{max-width:16rem}.campaign-form{flex-wrap:wrap;gap:.5rem;display:flex}.campaign-confirm p{margin:0 0 .5rem}.pin-editor{flex-direction:column;gap:.5rem;display:flex}.pin-editor select,.pin-editor input[type=text],.pin-editor textarea{width:100%;font:inherit}.pin-editor textarea{resize:vertical}.pin-editor .grid-row{align-items:center}.pin-notes{overflow-wrap:anywhere;border:1px solid var(--border);border-radius:6px;padding:.375rem .5rem}.pin-notes p,.pin-notes ul{margin:0 0 .375rem}.pin-notes ul{padding-left:1.125rem}.pin-notes>:last-child{margin-bottom:0}.pin-filter{gap:.25rem}.pin-dot{border-radius:50%;flex:none;width:.625rem;height:.625rem;display:inline-block}.pin-dot-building{background:#3b82d6}.pin-dot-npc{background:#2fa36b}.pin-dot-shop{background:#d9a441}.pin-dot-loot{background:#a56be0}.pin-dot-trap{background:#e0564f}.pin-dot-other{background:#8d939b}.pin-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.pin-list button{text-align:left;align-items:center;gap:.375rem;width:100%;display:flex}.pin-list button[aria-pressed=true]{border-color:var(--accent)}.pin-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.story-panel{flex-basis:26rem}.story-toolbar{flex-wrap:wrap;align-items:center}.story-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.story-beat{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.375rem;padding:.5rem;display:flex}.story-beat[data-done=true] .story-title,.story-beat[data-done=true] .story-text{opacity:.55}.story-beat[data-done=true] .story-title{text-decoration:line-through}.story-beat-head{align-items:center;gap:.5rem;display:flex}.story-title{overflow-wrap:anywhere;min-width:0;font-weight:600}.story-kind{text-transform:uppercase;border:1px solid var(--border);border-radius:4px;flex:none;padding:0 .375rem;font-size:.6875rem}.story-kind-read-aloud{color:#d9a441;border-color:#d9a441}.story-kind-encounter{color:#e0564f;border-color:#e0564f}.story-kind-event{color:#3b82d6;border-color:#3b82d6}.story-actions{flex-wrap:wrap;gap:.25rem;display:flex}.story-read-aloud{font-family:Georgia,Times New Roman,serif;font-size:1.375rem;line-height:1.5}.story-read-aloud .pin-notes{border:0;border-left:3px solid #d9a441;border-radius:0}.story-next{border:2px solid #d9a441;border-radius:8px;flex-direction:column;gap:.5rem;padding:.625rem;display:flex}.story-next h3{color:#d9a441}.stage .story-chip{z-index:5;text-overflow:ellipsis;white-space:nowrap;border-color:#d9a441;max-width:calc(100% - 1rem);font-size:.8125rem;position:absolute;bottom:.5rem;left:.5rem;overflow:hidden}.map-crumbs{flex:0 auto;align-items:center;gap:.25rem;min-width:0;display:flex}.map-crumbs>button{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:2.5rem;max-width:8rem;overflow:hidden}.map-crumbs>.crumb-world{border-color:#ff7a1a;flex:none;max-width:none}.crumb-sep,.crumb-gap{color:var(--muted);flex:none}.stage-heading>.map-back{text-overflow:ellipsis;flex:0 auto;min-width:3.5rem;max-width:9rem;overflow:hidden}.exit-dot{background:#12b8c8;flex:none;width:.625rem;height:.625rem;transform:rotate(45deg)}.location-dot{background:#ff7a1a;flex:none;width:.625rem;height:.625rem}.location-dot-note{background:#6a5acd}.exit-dot-broken{background:#ff2d95}.room-row{gap:.25rem;display:flex}.room-row>button[data-testid=room-row]{flex:1;min-width:0}.room-toggle{flex:none}.room-status{color:var(--muted);flex:none;margin-left:auto;font-size:.75rem}.room-dot{border:2px dashed #ff6ad5;border-radius:2px;flex:none;width:.625rem;height:.625rem}.room-dot-revealed{background:#3ddc8459;border:2px solid #3ddc84}.room-dot-partly{border-color:#ffb020}.room-dot-empty{border-style:dotted;border-color:#9aa0a6}.stage .exit-card{z-index:6;background:var(--panel);border:2px solid #12b8c8;border-radius:8px;flex-direction:column;gap:.375rem;max-width:min(20rem,100% - 1rem);padding:.625rem;font-size:.8125rem;display:flex;position:absolute;bottom:.5rem;right:.5rem}.stage .location-card{border-color:#ff7a1a}.exit-card[data-broken=true]{border-color:#ff2d95}.link-card-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:8rem;overflow:auto}.exit-card-label{overflow-wrap:anywhere}.exit-go{overflow-wrap:anywhere;font-weight:600}.arrival-picker{z-index:50;background:#000000eb;flex-direction:column;gap:.5rem;padding:.75rem;display:flex;position:fixed;inset:0}.arrival-head{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.arrival-frame{align-self:center;min-height:0;line-height:0;position:relative}.arrival-frame img{cursor:crosshair;max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 5rem);display:block}.arrival-mark{pointer-events:none;background:#12b8c8;border:2px solid #000;width:1rem;height:1rem;margin:-.5rem 0 0 -.5rem;position:absolute;transform:rotate(45deg)}.stage-open .app-header h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage-open .header-slot{flex:1 1 0;min-width:17rem}.stage-open .stage-heading{flex:auto;width:100%}.stage-open .stage-title{flex:1 1 0;min-width:9rem}.stage-open .session-bar:not(:has(.stage-warning)){flex-wrap:nowrap;flex:0 auto;min-width:min-content}.stage-open .session-bar>*{flex:none}.stage-open .session-bar>.session-status{contain:inline-size;flex:0 24rem;min-width:9rem}.stage-open .session-connection{width:.5rem;height:.5rem;font-size:0;position:relative;overflow:hidden}.stage-open .session-connection:before{margin:0;position:absolute;inset:0}.panel-menu{flex:none;position:relative}.panel-menu-caret{vertical-align:.15em;border:.3rem solid #0000;border-top-color:currentColor;border-bottom-width:0;margin-left:.4rem;display:inline-block}.panel-menu-list{z-index:40;border:1px solid var(--border);background:var(--panel);border-radius:.5rem;flex-direction:column;gap:.125rem;min-width:13rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .25rem);left:0;box-shadow:0 .5rem 1.5rem #00000080}.panel-menu-list button{text-align:left;border-color:#0000;justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-menu-list button[aria-checked=true]{color:var(--accent);border-color:var(--accent)}.panel-menu-list button[aria-checked=true] .panel-menu-label:before{content:"✓ "}.panel-menu-list kbd{color:var(--muted);font-family:inherit;font-size:.75rem}.floor-select{max-width:7rem;height:1.125rem;font-size:inherit;vertical-align:middle;margin-right:.375rem;padding:0 .125rem}.floor-steps{flex-direction:column;flex:none;gap:1px;display:flex}.floor-steps>button{justify-content:center;align-items:center;width:1.5rem;height:.9375rem;padding:0;display:flex}.floor-arrow{border:.3rem solid #0000;display:block}.floor-arrow-up{border-top-width:0;border-bottom-color:currentColor}.floor-arrow-down{border-top-color:currentColor;border-bottom-width:0}.floor-picker-loading{align-self:flex-start;align-items:center;display:flex}.scene-floors{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.scene-floor{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.25rem;padding:.375rem;display:flex}.scene-floor[data-current=true]{border-color:var(--accent)}.scene-floor-map{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-bar{flex:none;position:relative}.music-panel{z-index:40;top:calc(3.5rem + env(safe-area-inset-top,0px));border:1px solid var(--border);background:var(--panel);border-radius:.5rem;flex-direction:column;gap:.75rem;width:min(27rem,100vw - 1.5rem);max-height:calc(100vh - 4.5rem);padding:.75rem;display:flex;position:fixed;right:.75rem;overflow-y:auto;box-shadow:0 .5rem 1.5rem #00000080}.stage-open .music-panel{top:calc(6rem + env(safe-area-inset-top,0px));max-height:calc(100vh - 7rem)}.music-head{justify-content:space-between;align-items:center;display:flex}.music-section{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.5rem;display:flex}.music-section h3{color:var(--accent);font-size:.875rem}.music-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.music-row input[type=text],.music-row select{flex:8rem;min-width:0}.music-field{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.music-field input[type=range]{flex:10rem}.music-field input[type=number]{width:5rem}.music-check{align-items:center;gap:.375rem;display:inline-flex}.music-now{font-size:.9375rem}.music-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.music-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.375rem;display:flex}ol.music-list{counter-reset:track}ol.music-list li:before{counter-increment:track;content:counter(track) ".";color:var(--muted)}.music-track-name{overflow-wrap:anywhere;flex:6rem;min-width:0}.music-track-input{flex:8rem;min-width:0}.music-actions{flex-wrap:wrap;align-items:center;gap:.25rem;display:inline-flex}.music-playlist{border:1px solid var(--border);background:var(--panel-raised);border-radius:.375rem;flex-direction:column;gap:.5rem;padding:.375rem .5rem;display:flex}.music-playlist[open]>*+*{margin-top:.5rem}.npc-bar{flex:none;position:relative}.npc-panel{z-index:41;top:calc(3.5rem + env(safe-area-inset-top,0px));border:1px solid var(--border);background:var(--panel);border-radius:.5rem;flex-direction:column;gap:.6rem;width:min(36rem,100vw - 1.5rem);max-height:calc(100vh - 4.5rem);padding:.75rem;display:flex;position:fixed;right:.75rem;overflow-y:auto;box-shadow:0 .5rem 1.5rem #00000080}.stage-open .npc-panel{top:calc(6rem + env(safe-area-inset-top,0px));max-height:calc(100vh - 7rem)}.npc-panel-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.npc-panel-head h2,.npc-sheet h3,.npc-section h4,.npc-block h4{margin:0}.npc-new,.npc-filters,.npc-row{flex-wrap:wrap;gap:.4rem;display:flex}.npc-new input,.npc-filters input{flex:10rem;min-width:0}.npc-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.npc-row-button{text-align:left;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;width:100%;display:flex}.npc-row-role{opacity:.8;flex:auto}.npc-row-meta{opacity:.7;font-size:.8rem}.npc-head{align-items:flex-start;gap:.75rem;display:flex}.npc-portrait{object-fit:cover;border:1px solid var(--border);border-radius:.4rem;flex:none;width:6rem;height:6rem}.npc-role,.npc-system{margin:.15rem 0 0}.npc-system{opacity:.7;font-size:.8rem}.npc-sheet,.npc-editor{flex-direction:column;gap:.6rem;font-size:.95rem;display:flex}.npc-section,.npc-block{border-top:1px solid var(--border);flex-direction:column;gap:.35rem;padding-top:.5rem;display:flex}.npc-facts{flex-direction:column;gap:.15rem;margin:0;display:flex}.npc-facts div{gap:.5rem;display:flex}.npc-facts dt{flex:0 0 8rem;font-weight:600}.npc-facts dd{margin:0}.npc-abilities{border-collapse:collapse;text-align:center;width:100%}.npc-abilities th,.npc-abilities td{border:1px solid var(--border);padding:.2rem .15rem}.npc-table{border-collapse:collapse;width:100%}.npc-table td{vertical-align:top;padding:.2rem .4rem .2rem 0}.npc-qty{white-space:nowrap}.npc-dialogue,.npc-pin-list,.pin-npc-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.npc-short-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.npc-score-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem;display:grid}.npc-score{flex-direction:column;align-items:center;gap:.15rem;font-size:.8rem;display:flex}.npc-score input{width:100%;min-width:0}.npc-row input[type=text]{flex:8rem;min-width:0}.npc-row input[type=number]{width:5rem}.npc-dialogue-edit{grid-template-columns:minmax(0,1fr) auto;gap:.3rem;display:grid}.npc-dialogue-edit textarea{grid-column:1}.npc-save-row{z-index:1;background:var(--panel);align-items:center;padding:.4rem 0;position:sticky;top:-.75rem}.pin-npc-list li{flex-wrap:wrap;gap:.4rem;display:flex}.npc-panel,.npc-panel *{overflow-wrap:anywhere}.npc-head-text{min-width:0}.header-account{color:var(--muted);white-space:nowrap;font-size:.8125rem;text-decoration:none}.header-account:hover{color:var(--text)}.auth-shell .app-header h1 a{color:inherit;text-decoration:none}.auth-main{flex-direction:column;gap:1rem;max-width:30rem;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex}.auth-main a,.auth-stack a{color:var(--accent)}.auth-form,.auth-stack{flex-direction:column;gap:.75rem;display:flex}.auth-stack{gap:1.25rem}.auth-field,.auth-field label{flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}.auth-form button[type=submit],.auth-form>button{align-self:flex-start;padding:.4rem .9rem;font-size:.875rem}.auth-check{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.auth-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.recovery-code{letter-spacing:.08em;text-align:center;background:var(--panel-raised);border:1px solid var(--border);-webkit-user-select:all;user-select:all;border-radius:6px;padding:.75rem;font-size:1.25rem;display:block}.auth-section{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.auth-section h2,.auth-main>h2{font-size:1.0625rem}.auth-danger{border-color:var(--danger)}.auth-done{color:#8fd18f;font-size:.875rem}.privacy h3{margin-top:.25rem;font-size:.9375rem}.privacy ul{margin:0;padding-left:1.25rem}.auth-footer{margin-top:1rem}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.account-choice-backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.account-choice{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.75rem;width:min(26rem,100%);max-height:calc(100vh - 2rem);padding:1.25rem;display:flex;overflow:auto;box-shadow:0 12px 40px #00000080}.account-choice h2{margin:0;font-size:1.125rem}.account-choice p{margin:0}.account-choice-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.account-choice a{color:var(--accent)}.header-guest{color:var(--accent);border:1px solid var(--accent);white-space:nowrap;background:0 0;border-radius:999px;padding:.15rem .6rem;font-size:.8125rem}.guest-notice{color:var(--text);margin:0 0 .75rem;font-size:.8125rem}.archive-bar{margin-bottom:.75rem;font-size:.875rem}.archive-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.archive-progress{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.archive-import{border:1px solid var(--border);border-radius:6px;margin-top:.5rem;padding:.75rem}.archive-import p{margin:0 0 .5rem}.archive-choice,.archive-results{margin:0 0 .5rem;padding-left:1.25rem}.backup-reminder{color:var(--muted);margin:.5rem 0 0}.notes-bar{flex:none;position:relative}.notes-panel{z-index:41;top:calc(3.5rem + env(safe-area-inset-top,0px));border:1px solid var(--border);background:var(--panel);border-radius:.5rem;flex-direction:column;gap:.6rem;width:min(34rem,100vw - 1.5rem);max-height:calc(100vh - 4.5rem);padding:.75rem;display:flex;position:fixed;right:.75rem;overflow-y:auto;box-shadow:0 .5rem 1.5rem #00000080}.stage-open .notes-panel{top:calc(6rem + env(safe-area-inset-top,0px));max-height:calc(100vh - 7rem)}@media (width>=1200px){body:has(.npc-panel) .notes-panel{right:37.5rem}}.notes-panel-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.notes-panel-head h2,.notes-heading{margin:0}.notes-heading{margin-bottom:.25rem;font-size:.9rem}.notes-list-view,.notes-editor{flex-direction:column;gap:.6rem;font-size:.9375rem;display:flex}.notes-new,.notes-fields,.notes-status-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.notes-new input,.notes-fields input[type=text]{flex:10rem;min-width:0}.notes-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.notes-row-button{text-align:left;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;display:flex}.notes-row-excerpt{opacity:.75;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8125rem;overflow:hidden}.notes-body{resize:vertical;width:100%;min-height:14rem;font:inherit;line-height:1.45}.notes-save{border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem;font-size:.8125rem}.notes-save-saved{color:#4fbf7f}.notes-save-unsaved,.notes-save-saving{color:#d9a441}.notes-save-failed{color:#ff6b6b}.notes-preview-toggle{align-items:center;gap:.3rem;margin-left:auto;display:inline-flex}.initiative-panel{z-index:41;top:calc(3.5rem + env(safe-area-inset-top,0px));border:1px solid var(--border);background:var(--panel);border-radius:.5rem;flex-direction:column;gap:.6rem;width:min(44rem,100vw - 1.5rem);max-height:calc(100vh - 4.5rem);padding:.75rem;display:flex;position:fixed;right:.75rem;overflow-y:auto;box-shadow:0 .5rem 1.5rem #00000080}.stage-open .initiative-panel{top:calc(6rem + env(safe-area-inset-top,0px));max-height:calc(100vh - 7rem)}.init-controls,.init-add-form,.init-line{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.init-add{flex-direction:column;gap:.4rem;display:flex}.init-add-form input[type=text]:not(.init-num){flex:8rem;min-width:6rem}.init-num{text-align:center;width:3.4rem}.init-round{min-width:6rem;font-weight:700}.init-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.init-row{border:1px solid var(--border);border-radius:.4rem;flex-direction:column;gap:.3rem;padding:.5rem;display:flex}.init-row[data-current=true]{background:#ffd54a1a;border-color:#ffd54a;box-shadow:inset .25rem 0 #ffd54a}.init-row[data-delayed=true] .init-name{opacity:.6;font-style:italic}.init-handle{cursor:grab;-webkit-user-select:none;user-select:none;color:var(--muted);padding:0 .25rem}.init-turn-mark{color:#ffd54a;width:1rem}.init-name{overflow-wrap:anywhere;min-width:4rem}.init-side{border:1px solid var(--border);border-radius:.25rem;padding:0 .35rem;font-size:.75rem}.init-held{color:var(--muted);font-size:.75rem}.init-field,.init-check{align-items:center;gap:.25rem;display:inline-flex}.init-roll{color:var(--muted);font-size:.8rem}.init-buttons{gap:.2rem;margin-left:auto;display:inline-flex}.init-chip{border:1px solid var(--border);border-radius:1rem;align-items:center;gap:.25rem;padding:.05rem .4rem;font-size:.8rem;display:inline-flex}.init-chip[data-hidden=true]{border-style:dashed}.init-chip button{min-height:0;padding:0 .25rem}.init-condition-add{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.init-display{border:1px solid var(--border);border-radius:.4rem;flex-direction:column;gap:.4rem;display:flex}.init-label-short,.stage-open .init-label-long{display:none}.stage-open .init-label-short{display:inline}
