:root,[data-theme=atom-one-black]{color-scheme:dark;--bg: #0b0c0f;--panel: #15171c;--panel-2: #1e2127;--line: #2c313a;--ink: #d7dae0;--ink-dim: #8b929e;--accent: #61afef;--on-accent: #0b0c0f;--green: #98c379;--amber: #e5c07b;--red: #e06c75;--shadow: rgba(0, 0, 0, .6)}[data-theme=eberron]{color-scheme:dark;--bg: #14110f;--panel: #1d1917;--panel-2: #262120;--line: #3a322e;--ink: #ece4da;--ink-dim: #9b8f84;--accent: #c8a15a;--on-accent: #241c10;--green: #5c8d5c;--amber: #c99a3f;--red: #b4553f;--shadow: rgba(0, 0, 0, .5)}:root{--radius: 10px;--gutter: 16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 ui-sans-serif,-apple-system,Segoe UI,system-ui,sans-serif}h1,h2{font-weight:600;letter-spacing:.01em}h2{font-size:.95rem;margin:0;text-transform:uppercase;letter-spacing:.08em}.muted{color:var(--ink-dim)}.hint{color:var(--ink-dim);font-size:.8rem;margin:6px 0 0}.empty{padding:8px 0;font-style:italic}input,textarea,select,button{font:inherit;color:inherit;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);padding:8px 10px}textarea{width:100%;resize:vertical}input{min-width:0}input.subtle{color:var(--ink-dim);font-size:.85rem}button{cursor:pointer;background:var(--accent);color:var(--on-accent);border-color:transparent;font-weight:600}button:hover{filter:brightness(1.08)}button.ghost{background:transparent;color:var(--ink-dim);border-color:var(--line);font-weight:500}button.ghost:hover{color:var(--ink)}button.small{padding:4px 8px;font-size:.8rem}button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.row{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.row input{flex:1 1 120px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.dm{display:flex;min-height:100vh;align-items:stretch}.dm-main{flex:1;padding:var(--gutter);min-width:0}.dm-grid{display:grid;gap:var(--gutter);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.sidebar{width:230px;flex:none;border-right:1px solid var(--line);padding:var(--gutter);background:var(--panel)}.sidebar.is-collapsed{width:44px;padding:var(--gutter) 6px;text-align:center}.scene-list{list-style:none;margin:0 0 10px;padding:0}.scene-list li{display:flex;gap:4px;align-items:center}.scene-row{flex:1;text-align:left;background:transparent;color:var(--ink);border-color:transparent;font-weight:500;padding:6px 8px}.scene-row:hover{background:var(--panel-2)}.scene-row.is-current{color:var(--accent);background:var(--panel-2)}.tabs{display:flex;gap:6px;margin-bottom:var(--gutter);flex-wrap:wrap;align-items:center}.tab{display:inline-flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--ink-dim);font-weight:500;padding:0}.tab>button,.tab:not(:has(button)){background:transparent;border:0;color:inherit;padding:6px 10px}.tab.is-active{color:var(--accent);border-color:var(--accent)}.tab-close{color:var(--ink-dim);padding:6px 8px 6px 0}.tabs-end{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:.85rem}.dev-banner{background:var(--panel-2);border-bottom:1px solid var(--line);color:var(--ink-dim);font-size:.8rem;text-align:center;padding:4px}.scene-title{width:100%;font-size:1.05rem;font-weight:600;margin-bottom:8px}.timer-bar{position:relative;height:34px;border-radius:8px;background:var(--panel-2);overflow:hidden;border:1px solid var(--line)}.timer-fill{height:100%;transition:width .2s linear,background .3s}.level-green .timer-fill{background:var(--green)}.level-amber .timer-fill{background:var(--amber)}.level-red .timer-fill{background:var(--red)}.level-over .timer-fill{background:var(--red);width:100%!important}.timer-read{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-variant-numeric:tabular-nums;font-weight:600;text-shadow:0 1px 2px var(--shadow)}.stats{display:flex;gap:16px;margin:12px 0 0;flex-wrap:wrap}.stats div{display:flex;flex-direction:column}.stats dt{color:var(--ink-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.stats dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.initiative,.roster,.items,.messages{list-style:none;margin:0;padding:0}.initiative-row,.roster-row,.item-row{display:flex;align-items:center;gap:8px;padding:6px;border-radius:8px;border:1px solid transparent}.initiative-row:hover,.roster-row:hover{background:var(--panel-2)}.initiative-row.is-current{border-color:var(--accent);background:var(--panel-2)}.initiative-row.is-absent,.roster-row.is-absent{opacity:.5}.is-dragging{opacity:.4}.initiative-label{flex:1}.grip{color:var(--ink-dim);cursor:grab;-webkit-user-select:none;user-select:none}.roster-fields{border:0;margin:0;padding:0;min-width:0}.roster-fields:disabled{opacity:.6}.roster-names{flex:1;display:flex;flex-direction:column;gap:3px}.roster-names input{width:100%;padding:4px 6px}.portrait{width:36px;height:36px;flex:none;border-radius:50%;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);display:grid;place-items:center;cursor:pointer}.portrait img{width:100%;height:100%;object-fit:cover}.portrait input,.file-button input{display:none}.portrait-empty{color:var(--ink-dim)}.file-button{border:1px dashed var(--line);border-radius:8px;padding:8px 10px;color:var(--ink-dim);cursor:pointer;font-size:.85rem}.file-button:hover{color:var(--ink);border-color:var(--accent)}.item-body{flex:1}.item-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px}.play,.join,.landing{max-width:640px;margin:0 auto;padding:var(--gutter);display:flex;flex-direction:column;gap:var(--gutter)}.scene-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.scene-card h1{margin:0 0 6px;font-size:1.3rem}.messages li{padding:4px 0;border-bottom:1px solid var(--line)}.messages strong{color:var(--accent);font-weight:600}kbd{background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px;font-size:.85em}a{color:var(--accent)}@media(max-width:760px){.dm{flex-direction:column}.sidebar{width:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar.is-collapsed{width:auto;text-align:left}.dm-grid{grid-template-columns:1fr}}.theme-picker{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:.85rem}.theme-picker select{padding:4px 8px}.backend-status{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ink-dim)}.backend-status .dot{width:8px;height:8px;border-radius:50%;background:var(--ink-dim)}.backend-status.is-connected .dot{background:var(--green)}.backend-status.is-unreachable .dot,.backend-status.is-refused .dot{background:var(--red)}.backend-status.is-unreachable,.backend-status.is-refused{color:var(--ink)}.save-state{margin-left:auto;font-size:.8rem;color:var(--ink-dim)}.save-state.is-error{color:var(--red)}
