@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{--bg-base:#18181a;--bg-panel:#1f1f22;--bg-elevated:#27272b;--bg-toolbar:#232326;--bg-hover:#2e2e33;--bg-input:#141416;--border:#3a3a40;--border-subtle:#2c2c31;--text:#d0d0d8;--text-muted:#7a7a88;--text-dim:#4a4a55;--accent:#3b82f6;--accent-dim:#1e3a5f;--font:"IBM Plex Sans", system-ui, sans-serif;--font-size:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-base);width:100%;height:100%;color:var(--text);font-family:var(--font);font-size:var(--font-size);-webkit-font-smoothing:antialiased;line-height:1.4;overflow:hidden}#app{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.toolbar{background:var(--bg-toolbar);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:flex-start;gap:4px;padding:4px 8px;display:flex}.toolbar-section{flex-wrap:wrap;align-items:flex-start;gap:4px;display:flex}.toolbar h2{color:var(--text-muted);letter-spacing:.05em;border-right:1px solid var(--border);white-space:nowrap;align-self:center;margin-right:4px;padding:5px 8px 5px 2px;font-size:12px;font-weight:600}.toolbar-group{border:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:3px;flex-direction:column;display:flex;overflow:hidden}.toolbar-group-toggle{background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;font-family:var(--font);letter-spacing:.06em;text-transform:uppercase;text-align:left;border:none;padding:3px 8px;font-size:10px;font-weight:600;transition:background .12s,color .12s}.toolbar-group-toggle:hover{background:var(--bg-hover);color:var(--text)}.toolbar-section-content{flex-wrap:wrap;align-items:center;gap:3px;max-height:500px;padding:5px 6px;transition:max-height .2s,padding .2s;display:flex;overflow:hidden}.toolbar-section-content.collapsed{max-height:0;padding-top:0;padding-bottom:0}.toolbar-section-content button,.toolbar button{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);cursor:pointer;font-family:var(--font);white-space:nowrap;border-radius:3px;padding:4px 10px;font-size:11px;transition:background .1s,border-color .1s}.toolbar-section-content button:hover,.toolbar button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.toolbar-section-content button.active,.toolbar button.active{background:var(--accent-dim);border-color:var(--accent);color:#a8c8ff}.toolbar-section-content button:disabled,.toolbar button:disabled{opacity:.35;cursor:not-allowed}.toolbar-section-content input[type=number]{background:var(--bg-input);width:48px;color:var(--text);border:1px solid var(--border);font-family:var(--font);text-align:center;border-radius:3px;padding:4px 5px;font-size:11px}.toolbar-section-content input[type=number]:focus{border-color:var(--accent);outline:none}.toolbar-section-content input[type=color]{border:1px solid var(--border);cursor:pointer;background:var(--bg-input);border-radius:3px;width:30px;height:28px;padding:2px}.toolbar-section-content label{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}#palette-swatches{flex-wrap:wrap;gap:2px;max-width:280px;display:flex}#palette-preset-select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);font-family:var(--font);cursor:pointer;border-radius:3px;padding:4px 5px;font-size:11px}#palette-preset-select:focus{border-color:var(--accent);outline:none}#palette-preset-select option{background:var(--bg-elevated);color:var(--text)}.toolbar-section-content input[type=text]{background:var(--bg-input);color:var(--text);border:1px solid var(--border);font-family:var(--font);border-radius:3px;padding:4px 5px;font-size:11px}.toolbar-section-content input[type=text]:focus{border-color:var(--accent);outline:none}.mode-toggle{border:1px solid var(--border);border-radius:3px;margin-left:4px;display:flex;overflow:hidden}.mode-toggle button{border:none;border-right:1px solid var(--border);border-radius:0;margin:0}.mode-toggle button:last-child{border-right:none}.mode-toggle button.active{background:var(--accent-dim);color:#a8c8ff;border-color:#0000}.main-content{flex:1;min-height:0;display:flex;overflow:hidden}.panel{background:var(--bg-panel);flex-direction:column;min-width:0;display:flex;overflow:hidden}.editor-panel{flex:1}.preview-panel{flex-shrink:0;width:380px;min-width:180px}.divider{background:var(--border-subtle);cursor:col-resize;z-index:10;flex-shrink:0;width:4px;transition:background .15s}.divider:hover,.divider.dragging{background:var(--accent)}.face-tabs{background:var(--bg-base);border-bottom:1px solid var(--border);flex-shrink:0;align-items:stretch;height:30px;display:flex;overflow:auto hidden}.face-tabs::-webkit-scrollbar{display:none}.face-tabs button{border:none;border-right:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border-bottom:2px solid #0000;padding:0 14px;font-size:11px;transition:color .1s,border-color .1s,background .1s}.face-tabs button:hover{background:var(--bg-elevated);color:var(--text)}.face-tabs button.active{background:var(--bg-panel);color:var(--text);border-bottom-color:var(--accent)}.preview-header{background:var(--bg-base);border-bottom:1px solid var(--border);height:30px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;align-items:center;padding:0 12px;font-size:11px;font-weight:600;display:flex}.canvas-container{background-color:#1a1a1d;background-image:linear-gradient(45deg,#222226 25%,#0000 25%),linear-gradient(-45deg,#222226 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#222226 75%),linear-gradient(-45deg,#0000 75%,#222226 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:auto}.canvas-container::-webkit-scrollbar{width:6px;height:6px}.canvas-container::-webkit-scrollbar-track{background:var(--bg-base)}.canvas-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.canvas-container::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}canvas{image-rendering:pixelated;image-rendering:crisp-edges}.status-bar{background:var(--accent);flex-shrink:0;align-items:center;gap:0;height:22px;padding:0 10px;display:flex;overflow:hidden}.status-bar>div{color:#ffffffeb;white-space:nowrap;border-right:1px solid #fff3;align-items:center;height:100%;padding:0 10px;font-size:11px;display:flex}.status-bar>div:last-child{border-right:none}button:focus-visible{outline:1px solid var(--accent);outline-offset:1px}input:focus-visible{outline:none;border-color:var(--accent)!important}.toolbar-right{align-items:center;margin-left:auto;display:flex}.help-btn{background:var(--accent-dim);color:var(--text);border:1px solid var(--accent);cursor:pointer;font-family:var(--font);border-radius:4px;padding:4px 12px;font-size:48px;font-weight:600;transition:all .15s}.help-btn:hover{background:var(--accent);color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#000000a6;width:100vw;height:100vh;position:fixed;top:0;left:0}.modal-container{background:var(--bg-panel);border:1px solid var(--border);z-index:1001;width:540px;max-width:90vw;max-height:85vh;font-family:var(--font);border-radius:8px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 10px 30px #00000080}.modal-header{background:var(--bg-elevated);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-header h2{color:#fff;margin:0;font-size:14px;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1;transition:color .15s}.modal-close:hover{color:#fff}.modal-content{color:var(--text);padding:16px 20px;font-size:12px;line-height:1.5;overflow-y:auto}.help-section{margin-bottom:20px}.help-section:last-child{margin-bottom:0}.help-section h3{color:var(--accent);border-bottom:1px solid var(--border-subtle);margin-bottom:8px;padding-bottom:4px;font-size:13px;font-weight:600}.help-section p{color:#d0d0d8;margin-bottom:8px}.help-section ul{padding-left:0;list-style-type:none}.help-section ul li{margin-bottom:6px;padding-left:14px;position:relative}.help-section ul li:before{content:"•";color:var(--accent);font-weight:700;position:absolute;left:0}.help-section ul li strong{color:#fff}
