: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 1fr 240px;grid-template-rows:36px 1fr 140px;grid-template-areas:"topbar topbar topbar" "tools  canvas right" "tools  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;overflow-y:auto}.tools button{width:40px;height:40px;padding:0;font-size:16px}.tools .tools-sep{width:28px;height:1px;background:var(--border);margin:4px 0}.tools .brush-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim)}.tools button.brush-preset{width:40px;height:22px;font-size:11px}.tools .brush-slider{width:40px;margin-top:2px;writing-mode:vertical-lr;direction:rtl;height:80px}.tools .brush-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(820px,92vw);height:min(80vh,720px);display:flex;flex-direction:column;box-shadow:0 16px 48px #0009}.help-modal-head{display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}.help-modal-head h2{margin:0;font-size:14px;font-weight:600;flex:1}.help-modal-body{padding:14px 20px 24px;overflow-y:auto;line-height:1.55}.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)}
