:root{color-scheme:dark;--bg-base:#09090b;--bg-surface:rgba(20, 20, 25, 0.6);--bg-surface-solid:#18181b;--border-color:rgba(255, 255, 255, 0.08);--border-focus:#6366f1;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#52525b;--accent-color:#6366f1;--accent-hover:#4f46e5;--accent-glow:rgba(99, 102, 241, 0.3);--danger-color:#ef4444;--danger-hover:#dc2626;--danger-glow:rgba(239, 68, 68, 0.3);--success-color:#10b981;--font-heading:'Outfit', sans-serif;--font-body:'Inter', sans-serif;--transition-speed:0.2s}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);height:100vh;overflow:hidden;display:flex;justify-content:center;align-items:center}.editor-layout{display:grid;grid-template-rows:64px 1fr 30px;grid-template-columns:80px 1fr 320px;grid-template-areas:"header header header" "tools workspace properties" "footer footer footer";width:100vw;height:100vh;gap:8px;padding:8px}.glass-panel{background:var(--bg-surface-solid);border:1px solid var(--border-color);border-radius:12px;display:flex}#editor-header{grid-area:header;align-items:center;justify-content:space-between;padding:0 24px}.logo{font-family:var(--font-heading);font-weight:800;font-size:1.4rem;letter-spacing:.05em;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#a5b4fc 0%,#818cf8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.logo-accent{-webkit-text-fill-color:initial}.header-actions{display:flex;align-items:center;gap:12px}.control-group{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.select-input{background:rgba(0,0,0,.4);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:8px 12px;font-family:var(--font-body);font-size:.9rem;outline:none;cursor:pointer;transition:border-color var(--transition-speed)}.select-input:focus{border-color:var(--border-focus)}.btn-primary,.btn-secondary,.btn-danger,.btn-tool{font-family:var(--font-heading);font-weight:600;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background-color var(--transition-speed),border-color var(--transition-speed),color var(--transition-speed),transform var(--transition-speed);outline:none}.btn-secondary{background:rgba(255,255,255,5%);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 14px;border-radius:8px;font-size:.9rem}.btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.btn-secondary.active{background:rgba(99,102,241,.15);border-color:var(--border-focus);color:#a5b4fc}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent-color);color:#fff;padding:12px 24px;border-radius:8px;font-size:1rem;width:100%}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:8px 14px;border-radius:8px;font-size:.9rem}.btn-danger:hover{background:rgba(239,68,68,.25);border-color:var(--danger-color)}#tool-bar{grid-area:tools;flex-direction:column;align-items:center;padding:16px 0;gap:16px}.btn-tool{background:rgba(255,255,255,3%);border:1px solid var(--border-color);color:var(--text-secondary);width:56px;height:56px;border-radius:12px;flex-direction:column;gap:4px;font-size:.65rem}.btn-tool .icon{font-size:1.3rem}.btn-tool:hover{background:rgba(255,255,255,8%);border-color:rgba(255,255,255,.15);color:var(--text-primary)}.btn-tool.active{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-color:var(--border-focus);color:#fff;transform:scale(1.05)}.canvas-wrapper{grid-area:workspace;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,.2);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;position:relative}.canvas-wrapper canvas{image-rendering:-moz-crisp-edges;image-rendering:-webkit-crisp-edges;image-rendering:pixelated;image-rendering:crisp-edges;border-radius:4px;cursor:crosshair;display:block;max-width:100%;max-height:100%}#canvas-workspace{position:relative;display:inline-flex;max-width:100%;max-height:100%}#side-panel{grid-area:properties;flex-direction:column;padding:20px;gap:24px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1)transparent}.panel-section h3{font-family:var(--font-heading);font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-bottom:12px;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--border-color);padding-bottom:6px}.preview-container-box{display:flex;justify-content:center;align-items:center;background:#1e1e24;border:1px solid var(--border-color);border-radius:10px;height:120px;background-image:linear-gradient(45deg,#1b1b21 25%,transparent 25%),linear-gradient(-45deg,#1b1b21 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1b1b21 75%),linear-gradient(-45deg,transparent 75%,#1b1b21 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}#preview-canvas{image-rendering:pixelated;image-rendering:crisp-edges;border:1px solid rgba(255,255,255,.1)}.color-picker-group{display:flex;gap:16px;margin-bottom:16px;align-items:center}.color-input-wrapper{position:relative;width:64px;height:64px;border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}#custom-color{position:absolute;width:120%;height:120%;top:-10%;left:-10%;cursor:pointer;background:0 0;border:none}.color-opacity-wrapper{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text-secondary)}#color-opacity{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:rgba(255,255,255,.1);outline:none}#color-opacity::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-color);cursor:pointer}#opacity-val{font-family:var(--font-heading);font-weight:600;color:var(--text-primary)}.swatches-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}.swatch-item{aspect-ratio:1;border-radius:6px;border:1px solid rgba(255,255,255,5%);cursor:pointer;transition:transform var(--transition-speed),border-color var(--transition-speed)}.swatch-item.translucent{background-image:linear-gradient(45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.15) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.15) 75%);background-size:8px 8px}.swatch-item:hover{transform:scale(1.15);border-color:rgba(255,255,255,.4)}.swatch-item.active{border-color:#fff;transform:scale(1.05)}.palette-actions{display:flex;gap:8px;margin-top:12px}.palette-actions .btn-secondary{flex:1;padding:6px 8px;font-size:.8rem}.footer-info{grid-area:footer;display:flex;justify-content:center;align-items:center;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border-color);padding-top:4px}.footer-info a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-speed)}.footer-info a:hover{color:var(--accent-color)}#side-panel::-webkit-scrollbar{width:6px}#side-panel::-webkit-scrollbar-track{background:0 0}#side-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px}#side-panel::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.pos-indicator{position:absolute;background:var(--success-color);color:#0b0b0c;font-family:var(--font-heading);font-weight:700;font-size:.72rem;padding:2px 6px;border-radius:4px;pointer-events:none;transform:translate(-50%,-50%);z-index:10;border:1px solid rgba(255,255,255,.1);opacity:1;transition:opacity .15s ease}.pos-indicator.hidden{opacity:0}.pos-top{top:-16px}.pos-bottom{bottom:-16px}.pos-left{left:-16px}.pos-right{right:-16px}