:root{color-scheme:dark;--bg: #11100d;--panel: #1a1814;--panel-2: #242018;--line: #383124;--text: #f2eadb;--muted: #a99f8d;--amber: #e3a83f;--green: #70c49b;--red: #d86b62;--ink: #070706;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,#root{min-width:320px;min-height:100%;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(227,168,63,.08),transparent 34%),radial-gradient(circle at 80% 12%,rgba(112,196,155,.13),transparent 28%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.login-screen{min-height:100vh;display:grid;place-items:center;padding:32px}.login-panel{width:min(460px,100%);border:1px solid var(--line);background:#1a1814f0;padding:32px;box-shadow:0 24px 80px #00000057}.brand-mark{display:flex;align-items:center;gap:10px;color:var(--amber);font-weight:800;text-transform:uppercase}.brand-mark svg{width:22px;height:22px}.brand-mark.compact{margin-bottom:28px;font-size:13px}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(32px,6vw,56px);line-height:1}h2{margin-bottom:18px;font-size:18px}.muted,.workspace-header p,.empty-state p{color:var(--muted)}.login-form{display:grid;gap:16px;margin-top:28px}.login-form label{display:grid;gap:8px;color:var(--muted);font-size:14px}.login-form input{width:100%;border:1px solid var(--line);border-radius:6px;background:#0f0e0c;color:var(--text);padding:13px 14px}.masked-text-input{-webkit-text-security:disc}.primary-button,.ghost-button,.secondary-button,.danger-button{align-items:center;border:0;border-radius:6px;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:44px}.primary-button svg,.secondary-button svg,.danger-button svg{height:17px;width:17px}.primary-button{background:var(--amber);color:var(--ink);font-weight:800}.primary-button:disabled{cursor:wait;opacity:.7}.ghost-button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:transparent;color:var(--text)}.ghost-button svg{width:18px;height:18px}.secondary-button,.danger-button{border:1px solid var(--line);color:var(--text);padding:0 12px}.secondary-button{background:var(--panel-2)}.danger-button{background:#d86b6224;color:#f4b5ae}.secondary-button:disabled,.danger-button:disabled{cursor:wait;opacity:.65}.form-error{margin:0;color:var(--red)}.modal-error{border:1px solid rgba(216,107,98,.34);border-radius:6px;background:#d86b621a;grid-column:1 / -1;padding:10px 12px}.seed-list{display:grid;gap:8px;margin-top:24px;color:var(--muted);font-size:13px}code{color:var(--green)}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);background:#0e0d0beb;padding:24px;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:sticky;top:0}.sidebar-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:28px}.sidebar-header .brand-mark.compact{margin-bottom:0;min-width:0}.sidebar-toggle{flex:0 0 auto;height:38px;width:38px}.sidebar nav{display:grid;gap:8px}.sidebar a,.sidebar-action{align-items:center;border:1px solid transparent;border-radius:6px;color:var(--muted);display:flex;gap:10px;padding:11px 12px;text-align:left}.sidebar-action{background:transparent;cursor:pointer;font:inherit;width:100%}.sidebar a:hover,.sidebar-action:hover{border-color:var(--line);color:var(--text);background:var(--panel)}.sidebar a.active,.sidebar-action.active{border-color:#e3a83f80;color:var(--text);background:var(--panel-2)}.nav-icon{display:inline-grid;flex:0 0 20px;place-items:center}.nav-icon svg{height:18px;width:18px}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{margin-top:auto}.sidebar-footer .ghost-button{margin-top:0;width:100%}.sidebar-collapsed .sidebar{padding:18px 12px}.sidebar-collapsed .sidebar-header{display:grid;justify-items:center}.sidebar-collapsed .brand-mark.compact{justify-content:center}.sidebar-collapsed .brand-mark.compact span,.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .sidebar a,.sidebar-collapsed .sidebar-action,.sidebar-collapsed .sidebar-footer .ghost-button{justify-content:center;padding-left:0;padding-right:0}.workspace{box-sizing:border-box;margin:0 auto;max-width:1500px;padding:32px;width:100%}.workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.workspace-header.compact{align-items:center}.title-block{display:flex;gap:18px}.title-block-compact{align-items:center;flex:1;min-width:0}.title-block h1{margin-bottom:8px}.section-icon{width:52px;height:52px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;background:var(--panel);color:var(--amber);flex:0 0 auto}.section-icon svg{width:26px;height:26px}.eyebrow{margin-bottom:8px;color:var(--green);font-size:12px;font-weight:800;text-transform:uppercase}.operator-badge{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--panel);display:grid;gap:4px;text-align:right}.operator-badge small{color:var(--muted)}.workspace-header-content{flex:1;min-width:0}.workspace-header-right{align-items:center;display:flex;gap:10px}.live-connection-dot{border:1px solid rgba(242,234,218,.28);border-radius:999px;box-shadow:0 0 0 3px #f2eada0f;display:inline-block;flex:0 0 auto;height:12px;width:12px}.live-connection-dot.connected{background:var(--green);box-shadow:0 0 0 3px #6aba8e29}.live-connection-dot.disconnected{background:var(--red);box-shadow:0 0 0 3px #d65c5c29}.player-header-stats{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(140px,1fr));max-width:520px}.player-header-stat{border:1px solid var(--line);border-radius:8px;background:var(--panel);display:grid;gap:5px;min-height:54px;padding:9px 12px}.player-header-stat span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.player-header-stat strong{font-size:15px;line-height:1.1}.player-header-stat.amber strong{color:var(--amber)}.player-header-stat.green strong{color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat,.panel{border:1px solid var(--line);border-radius:8px;background:#1a1814db}.stat{display:grid;gap:6px;min-height:59px;padding:9px 12px}.stat span{color:var(--muted)}.stat strong{font-size:20px}.stat.amber strong{color:var(--amber)}.stat.green strong{color:var(--green)}.stat.red strong{color:var(--red)}.panel{grid-column:span 1;min-height:260px;padding:20px}.panel.double{grid-column:span 2}.panel.wide{grid-column:span 3}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading h2{margin-bottom:0}.panel-heading span{color:var(--muted);font-size:13px}.action-heading{align-items:flex-start}.heading-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.role-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.role-tab{border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;display:grid;gap:6px;min-height:72px;padding:10px;text-align:left}.role-tab:hover,.role-tab.active{background:var(--panel-2);color:var(--text)}.role-tab.active{border-color:#e3a83f8c}.role-tab span{font-size:13px}.role-tab strong{color:var(--amber);font-size:22px}.data-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.data-list li{border:1px solid var(--line);border-radius:6px;background:var(--panel-2);display:grid;gap:5px;padding:12px}.data-list small{color:var(--muted)}.user-management-panel .data-list li{align-items:center;column-gap:16px;grid-template-columns:minmax(0,1fr) auto}.user-management-panel .data-list li>span,.user-management-panel .data-list li>small{grid-column:1;min-width:0}.user-management-panel .data-list li>.row-actions{align-self:center;grid-column:2;grid-row:1 / span 2;justify-content:flex-end;margin-top:0}.empty-state{border:1px dashed var(--line);border-radius:8px;padding:18px}.empty-state p{margin-bottom:0}.create-user-panel{display:flex;flex-direction:column;gap:16px}.create-user-panel h2{margin-bottom:0}.form-grid{display:grid;gap:14px}.form-field{display:grid;gap:8px;color:var(--muted);font-size:14px}.form-field input,.player-address-controls input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#0f0e0c;color:var(--text);min-height:44px;padding:11px 12px}.form-field textarea{font:inherit;line-height:1.5;min-height:220px;resize:vertical}.form-field input:disabled,.form-field select:disabled,.form-field .locked-control{background:#242018b8;border-color:#c5b1892e;color:#f2eada80;cursor:not-allowed;opacity:1}.search-field{color:var(--muted);display:grid;font-size:14px;gap:8px}.search-control{align-items:center;border:1px solid var(--line);border-radius:6px;background:#0f0e0c;display:flex;gap:8px;min-height:44px;padding:0 12px}.search-control svg{color:var(--muted);flex:0 0 auto;height:18px;width:18px}.search-control input{background:transparent;border:0;color:var(--text);min-width:0;outline:0;width:100%}.users-search{margin-bottom:16px}.form-success{margin:0;color:var(--green)}.panel-message{grid-column:span 3}.row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.row-actions .secondary-button,.row-actions .danger-button{min-height:34px;font-size:13px}.inline-form{align-items:end;display:grid;grid-template-columns:1fr auto auto;gap:12px;margin-bottom:18px}.modal-toolbar{display:grid;gap:16px;margin-bottom:18px}.modal-toolbar .inline-form{margin-bottom:0}.pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:16px}.pagination-controls span{color:var(--muted)}.team-list,.chip-list{list-style:none;margin:0;padding:0}.team-list{display:grid;gap:14px}.team-item{border:1px solid var(--line);border-radius:8px;background:#242018ad;display:grid;gap:16px;padding:16px}.team-item-heading,.chip-list li,.compact-action{align-items:center;display:flex;gap:10px}.team-item-heading{justify-content:space-between}.team-summary{display:grid;gap:5px}.team-stats{color:var(--muted);display:flex;flex-wrap:wrap;gap:6px}.team-stats span{border:1px solid var(--line);border-radius:999px;padding:3px 8px}.team-tools h3,.chip-list span{color:var(--muted)}.team-editor{border-top:1px solid var(--line);display:grid;gap:16px;padding-top:16px}.team-edit-form{margin-bottom:0}.team-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.story-management-panel .data-list li,.story-editor-grid .data-list li,.gm-grid .data-list li,.player-grid .data-list li{align-items:center;column-gap:16px;grid-template-columns:minmax(0,1fr) auto}.story-management-panel .data-list li>span,.story-management-panel .data-list li>small,.story-editor-grid .data-list li>span,.story-editor-grid .data-list li>small,.gm-grid .data-list li>span,.gm-grid .data-list li>small,.player-grid .data-list li>span,.player-grid .data-list li>small{grid-column:1;min-width:0}.story-management-panel .data-list li>.row-actions,.story-editor-grid .data-list li>.row-actions,.gm-grid .data-list li>.row-actions,.player-grid .data-list li>.row-actions{align-self:center;grid-column:2;grid-row:1 / span 2;justify-content:flex-end;margin-top:0}.gm-grid .data-list li.gm-game-item{align-items:stretch;grid-template-columns:minmax(0,1fr)}.gm-game-item{gap:14px}.gm-game-main,.gm-game-controls,.game-progress-list li{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.gm-game-main>div:first-child,.game-progress-main{display:grid;gap:5px;min-width:0}.gm-game-main span{font-weight:700}.gm-game-controls{border-top:1px solid var(--line);padding-top:12px}.compact-field{color:var(--muted);display:grid;font-size:13px;gap:6px;justify-self:start;min-width:0;width:min(220px,100%)}.compact-field select{border:1px solid var(--line);border-radius:6px;background:#0f0e0c;color:var(--text);min-height:38px;padding:8px 10px}.gm-progress-note{margin:0}.gm-progress-panel{border-top:1px solid var(--line);display:grid;gap:12px;padding-top:12px}.game-progress-list,.handout-history-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.game-progress-list li{border:1px solid rgba(56,49,36,.72);border-radius:6px;background:#0f0e0c70;padding:12px}.game-progress-main small{color:var(--muted)}.team-attach-modal{display:grid;gap:16px}.team-attach-list{display:grid;gap:8px;list-style:none;margin:0;max-height:min(460px,52vh);overflow:auto;padding:0}.team-attach-list li{border:1px solid var(--line);border-radius:6px;background:#24201894}.team-attach-row{align-items:center;cursor:pointer;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);padding:12px}.team-attach-row input{accent-color:var(--amber);height:18px;width:18px}.team-attach-row span{display:grid;gap:4px;min-width:0}.team-attach-row small{color:var(--muted)}.story-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.gm-tabs{grid-column:span 3;margin-bottom:0}.gm-toolbar{align-items:stretch;display:grid;gap:12px;grid-column:span 3;grid-template-columns:minmax(0,1fr) auto}.gm-toolbar .gm-tabs{grid-column:auto}.gm-toolbar>.primary-button{align-self:center;min-height:44px}.game-filters,.story-filters{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(220px,1fr) minmax(180px,240px);margin-bottom:16px}.editor-section{display:grid;gap:18px}.editor-list-heading{margin-bottom:0}.story-entity-form{border:1px solid var(--line);border-radius:8px;background:#2420186b;display:grid;gap:14px;padding:16px}.story-inline-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.story-text-field{grid-column:1 / -1}.location-modal-form{border:0;background:transparent;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr) auto auto;min-height:100%;padding:0}.location-modal-form .story-text-field{display:grid;grid-template-rows:auto auto auto minmax(420px,1fr);min-height:0}.location-modal-form textarea{grid-row:4;min-height:420px}.location-modal-form .story-phone-checkbox,.location-modal-form .modal-actions{grid-column:1 / -1}.location-modal-form .modal-actions{align-self:end;border-top:1px solid var(--line);margin-top:0;padding-top:14px}.starting-inventory-grid{display:grid;gap:10px;margin-top:8px}.starting-inventory-row{align-items:center;border:1px solid var(--line);border-radius:6px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 110px;padding:10px 12px}.starting-inventory-row span{display:grid;gap:3px}.starting-inventory-row small{color:var(--muted)}.starting-inventory-row input{text-align:right}.story-text-toolbar{align-items:center;border:1px solid var(--line);border-radius:6px;background:#0f0e0c94;display:flex;flex-wrap:wrap;gap:8px;padding:8px}.location-modal-form .story-text-toolbar{flex-wrap:nowrap;overflow-x:auto}.toolbar-group{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.location-modal-form .toolbar-group{flex-wrap:nowrap}.toolbar-help-group{margin-left:auto}.toolbar-select-group{border-left:1px solid var(--line);padding-left:8px}.toolbar-select-group select{background:#0f0e0c;border:1px solid var(--line);border-radius:6px;color:var(--text);min-height:36px;min-width:170px;padding:0 8px}.editor-tool-button{align-items:center;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.editor-tool-button:hover{border-color:#e3a83f85;color:var(--amber)}.editor-tool-button svg{height:17px;width:17px}.toolbar-popover{border:1px solid rgba(227,168,63,.32);border-radius:8px;background:#1a1814fa;box-shadow:0 18px 42px #00000047;display:grid;gap:12px;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:end;margin-top:-4px;padding:14px;width:min(680px,100%)}.toolbar-popover-wide,.toolbar-popover-actions{grid-column:1 / -1}.toolbar-popover-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.preview-button{background:#70c49b2e;border-color:#70c49b6b;color:#b8f0d5}.preview-button:hover{border-color:#70c49bb8}.checkbox-field{align-items:center;color:var(--muted);display:flex;gap:10px;font-size:14px}.checkbox-field input{accent-color:var(--amber);height:16px;width:16px}.story-phone-checkbox{grid-column:1 / -1}.story-reference{display:grid;gap:16px}.story-reference h3{margin:0 0 8px}.story-reference ul{color:var(--muted);display:grid;gap:8px;margin:0;padding-left:18px}.story-reference p{color:var(--muted);line-height:1.55;margin:0}.story-content-preview,.markdown-content{display:grid;gap:14px}.story-content-preview{border:1px solid var(--line);border-radius:8px;background:#0f0e0cbd;padding:28px 32px}.markdown-content{font-size:16px;line-height:1.65}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:0}.markdown-content h1,.markdown-content h2,.markdown-content h3{line-height:1.18}.markdown-content h1{font-size:38px}.markdown-content h2{margin-top:20px;font-size:25px}.markdown-content h3{margin-top:16px;font-size:20px}.markdown-content ul,.markdown-content ol{padding-left:22px}.markdown-content li{padding-left:2px}.markdown-content li+li{margin-top:6px}blockquote{margin-top:0;margin-bottom:0;margin-inline-start:15px;margin-inline-end:15px}.markdown-content a,.external-link{color:var(--amber)}.media-preview{min-width:0}.media-preview-image-button{background:#0f0e0cb8;border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:block;overflow:hidden;padding:0;position:relative;text-align:left}.media-preview-image-button img{display:block;height:100%;object-fit:cover;width:100%}.media-preview-thumbnail{aspect-ratio:4 / 3;width:112px}.media-preview-content{width:100%}.media-preview-content img{height:auto;max-height:420px;object-fit:contain}.media-preview-overlay{align-items:center;background:#070706b8;border-radius:999px;bottom:8px;color:var(--text);display:flex;font-size:12px;gap:5px;opacity:0;padding:5px 8px;position:absolute;right:8px;transition:opacity .16s ease}.media-preview-image-button:hover .media-preview-overlay,.media-preview-image-button:focus-visible .media-preview-overlay{opacity:1}.media-preview-overlay svg,.media-preview-link svg,.media-preview-link-card svg{height:15px;width:15px}.media-preview-sound{border:1px solid var(--line);border-radius:6px;display:grid;gap:8px;padding:10px}.media-preview-sound audio{width:100%}.media-preview-link,.media-preview-link-card{align-items:center;color:var(--amber);display:inline-flex;gap:7px}.media-preview-link-card{border:1px solid var(--line);border-radius:6px;background:#0f0e0cb8;color:var(--text);padding:10px;text-decoration:none}.media-preview-link-card span{display:grid;gap:3px;min-width:0}.media-preview-link-card small{color:var(--muted);overflow-wrap:anywhere}.media-preview-placeholder{align-items:center;aspect-ratio:4 / 3;border:1px dashed var(--line);border-radius:6px;color:var(--muted);display:flex;justify-content:center;width:112px}.media-preview-placeholder svg{height:24px;width:24px}.media-preview-field{display:grid;gap:8px}.story-media-form{display:grid;gap:14px}.story-editor-grid .media-entity-list li{align-items:center;column-gap:14px;grid-template-columns:112px minmax(0,1fr) auto}.media-entity-list li>.media-preview,.media-entity-list li>.media-preview-placeholder{grid-column:1;grid-row:auto}.media-entity-content{align-content:center;display:grid;gap:8px;min-width:0}.media-entity-title{color:var(--text);font-size:15px}.media-entity-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.media-entity-type{border:1px solid rgba(227,168,63,.42);border-radius:6px;background:#e3a83f14;color:var(--amber);display:inline-flex;font-size:12px;line-height:1;padding:5px 8px;width:max-content}.media-entity-content small{color:var(--muted);overflow-wrap:anywhere}.story-editor-grid .media-entity-list li>.media-entity-content{grid-column:2}.story-editor-grid .media-entity-list li>.row-actions{grid-column:3;grid-row:auto}.full-size-media{display:grid;gap:14px;justify-items:center}.full-size-media-image-button{background:transparent;border:0;cursor:zoom-out;display:block;padding:0}.full-size-media-image-button img{border:1px solid var(--line);border-radius:8px;display:block;max-height:calc(100vh - 210px);max-width:100%;object-fit:contain}.story-figure,.story-handout{display:grid;gap:8px;margin:0}.story-image{border:1px solid var(--line);border-radius:6px;max-height:420px;object-fit:contain;width:100%}.story-handout{border:1px solid rgba(227,168,63,.32);border-radius:8px;background:#e3a83f0d;padding:10px}.story-handout figcaption{align-items:center;color:var(--amber);display:flex;font-size:13px;gap:7px}.story-handout figcaption svg{height:15px;width:15px}.player-location-panel{min-height:420px}.player-command-row{display:grid;gap:16px;grid-column:span 3;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.player-address-form{display:grid;gap:8px;grid-template-columns:1fr;min-height:0}.player-address-label{color:var(--muted);font-size:14px}.player-address-controls{align-items:stretch;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.player-address-controls .primary-button{min-width:88px;padding:0 14px}.player-address-form .form-error{grid-column:1 / -1;margin:0}.player-quick-actions{align-content:end;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0}.player-quick-actions .secondary-button{min-width:0;padding:0 12px}.phone-book-modal{display:grid;gap:12px}.history-modal{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(220px,320px) minmax(0,1fr);min-height:0}.history-sidebar{align-self:start;display:grid;gap:12px;min-width:0}.history-list{align-content:start;display:grid;gap:8px;list-style:none;margin:0;max-height:calc(100vh - 300px);overflow:auto;padding:0}.history-entry{background:#24201894;border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:grid;gap:4px;padding:10px 12px;text-align:left;width:100%}.history-entry.active{border-color:#f4b143cc}.history-entry small,.history-detail-heading span{color:var(--muted)}.history-detail,.history-entry-detail,.history-events{display:grid;gap:14px;min-width:0}.history-detail{align-self:start}.history-detail-heading h3,.history-events h4{margin:0}.inventory-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}.inventory-list li,.received-item{border:1px solid var(--line);border-radius:8px;background:#24201894;display:grid;gap:10px;padding:14px}.inventory-list li{grid-template-columns:72px minmax(0,1fr)}.inventory-list li:not(:has(img)):not(:has(.media-preview)){grid-template-columns:minmax(0,1fr)}.gm-inventory-list li:not(:has(img)){grid-template-columns:minmax(0,1fr)}.inventory-list .media-preview-thumbnail{aspect-ratio:1;width:72px}.inventory-list img,.received-item img{border:1px solid var(--line);border-radius:6px;max-height:160px;object-fit:cover;width:100%}.inventory-list small,.received-item p{color:var(--muted)}.received-item{justify-items:start}.received-item .media-preview-thumbnail{aspect-ratio:16 / 10;width:min(100%,320px)}.received-item .media-preview-thumbnail img{object-fit:contain}.team-tools h3{font-size:14px;margin:0 0 10px}.chip-list{display:grid;gap:8px;margin-bottom:12px}.chip-list li{border:1px solid var(--line);border-radius:6px;justify-content:space-between;min-height:38px;padding:8px 10px}.ghost-link{border:0;background:transparent;color:var(--red);cursor:pointer;padding:0}.compact-action select{border:1px solid var(--line);border-radius:6px;background:#0f0e0c;color:var(--text);min-height:38px;min-width:0;padding:8px 10px;width:100%}.compact-action .secondary-button{flex:0 0 auto;min-height:38px}.modal-backdrop{align-items:center;background:#070706c7;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:30}.fullscreen-modal-backdrop{align-items:center;background:#070706d1;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:25}.fullscreen-modal{background:#1a1712;border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px #00000075;display:grid;grid-template-rows:auto 1fr;height:min(920px,calc(100vh - 48px));max-width:1180px;overflow:hidden;width:min(100%,1180px)}.fullscreen-modal.compact{grid-template-rows:auto auto;height:auto;max-height:calc(100vh - 48px);max-width:620px;width:min(100%,620px)}.fullscreen-modal-header{align-items:start;border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:20px}.fullscreen-modal-header h2{margin:0 0 6px}.fullscreen-modal-header p{color:var(--muted);margin:0}.fullscreen-modal-body{overflow:auto;padding:20px}.fullscreen-modal.compact .fullscreen-modal-body{overflow:auto}.modal-form{max-width:680px}.fullscreen-modal.compact .modal-form{max-width:none;width:100%}.icon-button{align-items:center;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:inline-flex;height:42px;justify-content:center;width:42px}.icon-button svg{height:19px;width:19px}.confirmation-modal{background:#1a1712;border:1px solid rgba(216,107,98,.38);border-radius:8px;box-shadow:0 24px 70px #0000006b;display:grid;gap:14px;max-width:460px;padding:22px;width:min(100%,460px)}.confirmation-modal h2{font-size:22px;margin:0}.confirmation-modal p{color:var(--muted);margin:0}.handout-notification-modal{border-color:#e3a83f80;max-width:560px;width:min(100%,560px)}.handout-modal-title{align-items:center;display:flex;gap:10px}.handout-modal-title svg{color:var(--amber);height:22px;width:22px}.handout-details{border:1px solid var(--line);border-radius:6px;display:grid;gap:10px;margin:0;padding:12px}.handout-details div{display:grid;gap:3px}.handout-details dt{color:var(--muted);font-size:12px}.handout-details dd{margin:0}.handout-modal-image{border:1px solid var(--line);border-radius:6px;max-height:260px;object-fit:contain;width:100%}.player-paused-backdrop{z-index:40}.player-paused-modal{max-width:440px}.handout-history-list li{border:1px solid var(--line);border-radius:8px;background:#24201894;display:grid;gap:14px;grid-template-columns:180px minmax(0,1fr);padding:14px}.handout-history-list img{border:1px solid var(--line);border-radius:6px;height:120px;object-fit:contain;width:100%}.handout-history-list div{align-content:start;display:grid;gap:6px}.handout-history-list small,.handout-history-list span{color:var(--muted)}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}@media (max-width: 860px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:16px 12px}.workspace-header,.title-block,.action-heading,.fullscreen-modal-header{display:grid}.heading-actions{justify-content:stretch}.heading-actions .primary-button,.heading-actions .secondary-button{width:100%}.operator-badge{text-align:left}.workspace-header.compact{align-items:stretch}.title-block-compact{grid-template-columns:auto minmax(0,1fr)}.player-header-stats{grid-template-columns:1fr;max-width:none}.dashboard-grid{grid-template-columns:1fr}.workspace{padding:18px}.panel,.panel.double,.panel-message,.panel.wide{grid-column:span 1}.role-tabs,.gm-toolbar,.game-filters,.story-filters{grid-template-columns:1fr}.gm-toolbar>.primary-button{justify-content:center;width:100%}.inline-form,.story-inline-form,.team-tools,.player-address-form,.player-command-row,.history-modal,.player-address-controls{grid-template-columns:1fr}.player-address-controls .primary-button{width:100%}.player-quick-actions,.location-modal-form{grid-template-columns:1fr}.location-modal-form .story-text-toolbar,.location-modal-form .toolbar-group{flex-wrap:wrap}.toolbar-help-group{margin-left:0}.toolbar-popover{grid-template-columns:1fr;justify-self:stretch}.starting-inventory-row{grid-template-columns:1fr}.story-content-preview{padding:20px}.fullscreen-modal-backdrop{padding:10px}.fullscreen-modal{height:auto;max-height:calc(100vh - 20px)}.fullscreen-modal.compact{max-height:100%}.user-management-panel .data-list li,.story-management-panel .data-list li,.story-editor-grid .data-list li,.gm-grid .data-list li,.player-grid .data-list li{align-items:stretch;grid-template-columns:1fr}.user-management-panel .data-list li>.row-actions,.story-management-panel .data-list li>.row-actions,.story-editor-grid .data-list li>.row-actions,.gm-grid .data-list li>.row-actions,.player-grid .data-list li>.row-actions{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:6px}.story-editor-grid .media-entity-list li>.media-preview,.story-editor-grid .media-entity-list li>.media-preview-placeholder,.story-editor-grid .media-entity-list li>.media-entity-content,.story-editor-grid .media-entity-list li>.row-actions{grid-column:1;grid-row:auto}.team-item-heading,.compact-action,.gm-game-main,.gm-game-controls,.game-progress-list li,.handout-history-list li,.pagination-controls{align-items:stretch;display:grid;grid-template-columns:1fr}.compact-field{min-width:0;width:100%}}
