:root{--bg: #1a1a1f;--panel: #232329;--panel-2: #2a2a32;--border: #3a3a44;--text: #d8d8df;--text-dim: #8a8a96;--accent: #6aa6ff;--danger: #ff6a6a;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;height:100%;overflow:hidden}button,input,select{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:4px 8px;cursor:pointer}button:hover{background:#33333d}button.active{background:var(--accent);color:#0c1426;border-color:var(--accent)}input[type=number],input[type=text]{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:3px 6px;width:60px}.app{display:grid;grid-template-columns:56px 56px 1fr 240px;grid-template-rows:36px 1fr 140px;grid-template-areas:"topbar topbar topbar topbar" "tools  tools2 canvas right" "tools  tools2 frames right";height:100%;gap:1px;background:var(--border)}.topbar{grid-area:topbar;background:var(--panel);display:flex;align-items:center;padding:0 8px;gap:8px}.topbar .title{font-weight:600;color:var(--text);margin-right:4px}.topbar .doc-name{width:160px;margin-right:8px}.topbar .sep{width:1px;height:20px;background:var(--border)}.topbar .spacer{flex:1}.topbar .meta{color:var(--text-dim)}.topbar .topbar-toggle{display:flex;align-items:center;gap:4px;color:var(--text-dim);font-size:11px}.tools{grid-area:tools;background:var(--panel);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px}.tools button{width:40px;height:40px;padding:0;font-size:16px}.tools2{grid-area:tools2;background:var(--panel);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:4px;overflow-y:auto}.tools2 .empty{flex:1}.tools2 .opt-sep{width:28px;height:1px;background:var(--border);margin:4px 0}.tools2 .opt-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.tools2 button.brush-preset{width:40px;height:22px;padding:0;font-size:11px}.tools2 .opt-slider{width:40px;margin-top:2px;writing-mode:vertical-lr;direction:rtl;height:80px}.tools2 .opt-readout{font-size:10px;color:var(--text-dim)}.canvas-area{grid-area:canvas;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.canvas-area canvas{image-rendering:pixelated;image-rendering:crisp-edges;box-shadow:0 0 0 1px var(--border),0 6px 24px #00000080;cursor:crosshair}.right{grid-area:right;background:var(--panel);display:flex;flex-direction:column;min-height:0;overflow-y:auto}.right .section{border-bottom:1px solid var(--border);padding:8px}select{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:3px 6px;color:inherit;font:inherit}.right .section h3{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600}.palette{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.palette .swatch,.recent .swatch{aspect-ratio:1;border:1px solid var(--border);border-radius:2px;cursor:pointer}.palette .swatch.active,.recent .swatch.active{outline:2px solid var(--accent);outline-offset:-1px}.recent{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.ramp{display:grid;grid-template-columns:repeat(9,1fr);gap:1px;margin-bottom:6px;height:20px}.ramp .ramp-swatch{border:1px solid var(--border);border-radius:2px;cursor:pointer}.ramp .ramp-swatch.active{outline:2px solid var(--accent);outline-offset:-1px}.color-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.color-row .preview{width:28px;height:28px;border:1px solid var(--border);border-radius:4px}.layers{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.layer-row{display:flex;align-items:center;gap:4px;padding:4px;border-radius:3px;cursor:pointer}.layer-row:hover{background:var(--panel-2)}.layer-row.active{background:var(--panel-2);outline:1px solid var(--accent)}.layer-row .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-row .vis{width:18px;text-align:center;opacity:.8}.layer-actions{display:flex;gap:4px;margin-top:6px}.layer-actions button{flex:1}.frames{grid-area:frames;background:var(--panel);padding:8px;display:flex;flex-direction:column;min-height:0}.frames .head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.frames .head h3{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-weight:600}.frames .strip{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px}.frame-thumb{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:72px}.frame-thumb.active{outline:2px solid var(--accent);outline-offset:-1px}.frame-thumb canvas{background:repeating-conic-gradient(#2c2c34 0 25%,#232329 0 50%) 0 0 / 8px 8px;image-rendering:pixelated}.frame-thumb .label{font-size:10px;color:var(--text-dim)}.help-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.help-modal{background:var(--panel);border:1px solid var(--border);border-radius:6px;width:min(1040px,94vw);height:min(80vh,720px);display:flex;flex-direction:column;box-shadow:0 16px 48px #0009}.help-modal-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}.help-modal-head h2{margin:0;font-size:14px;font-weight:600}.help-search{display:flex;align-items:center;gap:6px;margin-left:auto}.help-search-input{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:12px;padding:4px 8px;width:220px}.help-search-input:focus{outline:none;border-color:var(--accent)}.help-search-count{font-size:11px;color:var(--text-dim);min-width:64px;text-align:right}.help-search-nav{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:3px;font-size:11px;width:22px;height:22px;cursor:pointer}.help-search-nav:disabled{opacity:.4;cursor:not-allowed}.help-close{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:3px;width:24px;height:24px;cursor:pointer}.help-modal-content{display:flex;flex:1;min-height:0}.help-toc{width:220px;border-right:1px solid var(--border);overflow-y:auto;padding:10px 0;flex-shrink:0;background:var(--bg)}.help-toc ul{list-style:none;margin:0;padding:0}.help-toc li{margin:0}.help-toc li a{display:block;font-size:12px;color:var(--text-dim);text-decoration:none;padding:3px 14px;line-height:1.4;border-left:2px solid transparent}.help-toc li.toc-3 a{padding-left:28px;font-size:11px}.help-toc li a:hover{color:var(--text);background:var(--panel-2)}.help-toc li.active a{color:var(--text);border-left-color:var(--accent);background:var(--panel-2)}.help-toc li.dimmed a{opacity:.35}.help-modal-body{padding:14px 20px 24px;overflow-y:auto;line-height:1.55;flex:1;min-width:0}.help-modal-body mark.help-match{background:#ffd86b;color:#1a1a1f;border-radius:2px;padding:0 1px}.help-modal-body mark.help-match.current{background:#ff9b3d;outline:2px solid #ff9b3d;outline-offset:1px}.help-modal-body h1{font-size:20px;margin:14px 0 8px}.help-modal-body h2{font-size:16px;margin:18px 0 6px;padding-top:6px;border-top:1px solid var(--border)}.help-modal-body h3{font-size:13px;margin:14px 0 4px;color:var(--text);text-transform:none;letter-spacing:0;font-weight:600}.help-modal-body h4{font-size:12px;margin:10px 0 4px}.help-modal-body p{margin:6px 0}.help-modal-body ul,.help-modal-body ol{margin:6px 0 6px 22px;padding:0}.help-modal-body li{margin:3px 0}.help-modal-body code{background:var(--panel-2);border:1px solid var(--border);border-radius:3px;padding:0 4px;font-size:12px}.help-modal-body pre{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:10px 12px;overflow-x:auto}.help-modal-body pre code{background:none;border:none;padding:0}.help-modal-body table{border-collapse:collapse;margin:8px 0;font-size:12px}.help-modal-body th,.help-modal-body td{border:1px solid var(--border);padding:4px 8px;text-align:left}.help-modal-body th{background:var(--panel-2)}.help-modal-body hr{border:none;border-top:1px solid var(--border);margin:14px 0}.help-modal-body a{color:var(--accent)}
