:root{--mist-0: #14181d;--mist-1: #1c222a;--mist-2: #262f3a;--mist-3: #384554;--ink: #d7dee6;--ink-dim: #7c8c9e;--aether: #6fd3c7;--warn: #d98a5a;--npc: #5da8e0;--mob: #e07070}*{box-sizing:border-box}html,body.editor-page{margin:0;height:100%;overflow:hidden;background:var(--mist-0);color:var(--ink);font:14px/1.45 Segoe UI,system-ui,sans-serif}body.editor-page{display:flex}.hidden{display:none!important}.editor-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:var(--mist-0);display:flex;align-items:center;justify-content:center;padding:24px}.editor-gate.hidden{display:none}.editor-gate-card{width:min(400px,100%);background:var(--mist-1);border:1px solid var(--mist-3);border-radius:8px;padding:24px 22px}.editor-gate-card h1{margin-bottom:8px}.gate-error{color:var(--warn);font-size:13px;min-height:1.2em;margin:10px 0 0}.editor-aside{width:280px;flex:none;background:var(--mist-1);border-right:1px solid var(--mist-2);padding:16px 14px;overflow-y:auto}.editor-aside-right{width:320px;border-right:none;border-left:1px solid var(--mist-2)}.editor-main{flex:1;display:flex;flex-direction:column;min-width:0}.editor-aside h1{font-size:18px;font-weight:600;margin:0 0 2px}.editor-aside h1+p,.hint{margin:0 0 14px;color:var(--ink-dim);font-size:12px}.editor-aside h2{font-size:11px;font-weight:600;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em;margin:16px 0 8px}.view-map{margin-bottom:8px}.view-map[aria-pressed=true]{border-color:var(--aether);background:#243038}.layer-stack{display:flex;flex-direction:column;gap:3px;margin-bottom:16px}.layer-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 8px;background:var(--mist-2);color:var(--ink);border:1px solid transparent;border-radius:4px;cursor:pointer;font:inherit;font-size:13px}.layer-row:hover{background:var(--mist-3)}.layer-row.active{border-color:var(--aether);background:#243038}.layer-row.hidden .layer-name{color:var(--ink-dim)}.layer-eye{width:22px;text-align:center;flex:none;opacity:.85}.layer-name{flex:1}.layer-tags{font-size:10px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em}.editor-aside-right h1:not(:first-child){margin-top:8px}.tools,.layers{display:flex;gap:4px;flex-wrap:wrap}button.tool,.btn{padding:6px 10px;background:var(--mist-2);color:var(--ink);border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:13px;font-family:inherit}button.tool:hover,.btn:hover{background:var(--mist-3)}button.tool[aria-pressed=true]{border-color:var(--aether)}.btn-primary{background:var(--aether);color:#0d1417;font-weight:600}.btn-primary:hover{background:#8ee0d5}.btn-npc[aria-pressed=true]{border-color:var(--npc)}.btn-mob[aria-pressed=true]{border-color:var(--mob)}.btn-warn[aria-pressed=true]{border-color:var(--warn)}label.field{display:block;margin-bottom:8px;font-size:12px;color:var(--ink-dim)}label.field input,label.field select{width:100%;max-width:100%;margin-top:3px;padding:6px 8px;background:var(--mist-0);color:var(--ink);border:1px solid var(--mist-3);border-radius:4px;font:inherit;overflow:hidden;text-overflow:ellipsis}#sheetInfo{height:1.4em;line-height:1.4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;gap:8px}.row label.field{flex:1}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);margin-bottom:8px}.canvas-wrap{flex:1;overflow:auto;padding:20px;background:repeating-conic-gradient(var(--mist-1) 0% 25%,var(--mist-0) 0% 50%) 50% / 24px 24px}#grid{image-rendering:pixelated;cursor:crosshair;display:block}#grid.view-only{cursor:default}.statusbar{flex:none;border-top:1px solid var(--mist-2);background:var(--mist-1);padding:8px 16px;display:flex;gap:16px;align-items:center;font-size:13px;flex-wrap:wrap}.coord{font-family:ui-monospace,Consolas,monospace;color:var(--ink-dim)}.check-ok{color:var(--aether)}.check-warn{color:var(--warn)}#props{display:none;flex:none;border-top:1px solid var(--mist-2);background:var(--mist-1);padding:10px 16px}.props-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.sheet-scroll{max-height:52vh;overflow:auto;background:var(--mist-0);border:1px solid var(--mist-3);border-radius:4px}#sheetCv{display:block;cursor:crosshair;image-rendering:pixelated}.singles{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px;margin-top:8px}.single-tile{width:40px;height:40px;padding:0;border:1px solid transparent;background:var(--mist-0);cursor:pointer;image-rendering:pixelated}.single-tile img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.single-tile[aria-pressed=true]{border-color:var(--aether)}.recent{display:flex;flex-wrap:wrap;gap:4px;min-height:28px}.recent-tile{width:28px;height:28px;padding:0;border:1px solid var(--mist-3);background:var(--mist-0);cursor:pointer}.editor-back{font-size:12px;margin:0 0 12px}.editor-back a{color:var(--aether);text-decoration:none}.editor-back a:hover{text-decoration:underline}dialog.editor-dlg{background:var(--mist-1);color:var(--ink);border:1px solid var(--mist-3);border-radius:8px;padding:20px;width:min(860px,94vw)}dialog.editor-dlg::backdrop{background:#0009}.editor-dlg textarea{width:100%;height:360px;background:var(--mist-0);color:var(--ink);border:1px solid var(--mist-3);border-radius:4px;padding:10px;font:12px/1.45 ui-monospace,Consolas,monospace;resize:vertical;white-space:pre}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}:focus-visible{outline:2px solid var(--aether);outline-offset:2px}
