*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background:#16213e;padding:1rem 2rem;border-bottom:1px solid #0f3460;flex-shrink:0}.app-header h1{font-size:1.5rem;font-weight:600}.app-main{display:flex;flex:1;padding:1rem;gap:1rem;min-height:0;overflow:hidden}.sidebar{width:200px;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;min-height:0}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;background:#0f0f23;border-radius:8px;padding:1rem;overflow:hidden;min-height:0}.canvas-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:crosshair;border:2px solid #0f3460;border-radius:4px}.pixel-canvas{image-rendering:pixelated;max-width:100%;max-height:100%;transform-origin:center center}.toolbar{background:#16213e;border-radius:8px;padding:1rem}.tool-buttons{display:flex;flex-direction:column;gap:.5rem}.tool-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#1a1a2e;border:1px solid #0f3460;border-radius:4px;color:#eee;cursor:pointer;transition:all .2s}.tool-button:hover{background:#0f3460}.tool-button.active{background:#e94560;border-color:#e94560}.tool-icon{font-size:1.2rem}.tool-label{font-size:.9rem}.brush-size-control{margin-top:1rem;padding-top:1rem;border-top:1px solid #0f3460}.brush-size-control label{display:block;margin-bottom:.5rem;font-size:.85rem;color:#aaa}.brush-size-control input[type=range]{width:100%}.zoom-controls{margin-top:1rem;padding-top:1rem;border-top:1px solid #0f3460}.zoom-controls label{display:block;margin-bottom:.5rem;font-size:.85rem;color:#aaa}.zoom-buttons{display:flex;gap:.25rem}.zoom-button{flex:1;padding:.4rem;background:#1a1a2e;border:1px solid #0f3460;border-radius:4px;color:#eee;font-size:.9rem;cursor:pointer;transition:all .2s}.zoom-button:hover:not(:disabled){background:#0f3460}.zoom-button:disabled{opacity:.5;cursor:not-allowed}.zoom-button.reset{font-size:.75rem}.history-controls{margin-top:1rem;padding-top:1rem;border-top:1px solid #0f3460}.history-controls label{display:block;margin-bottom:.5rem;font-size:.85rem;color:#aaa}.history-buttons{display:flex;flex-direction:column;gap:.25rem}.history-button{padding:.5rem;background:#1a1a2e;border:1px solid #0f3460;border-radius:4px;color:#eee;font-size:.85rem;cursor:pointer;transition:all .2s;text-align:left}.history-button:hover{background:#0f3460}.history-button:active{background:#e94560;border-color:#e94560}.color-palette{background:#16213e;border-radius:8px;padding:1rem}.selected-color{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #0f3460;font-size:.85rem;color:#aaa}.color-preview{width:24px;height:24px;border:2px solid #fff;border-radius:4px}.color-hex{font-family:monospace;font-size:.8rem}.color-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.color-swatch{width:100%;aspect-ratio:1;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:#fff;transform:scale(1.1)}.rgb-picker{margin-top:1rem;padding-top:1rem;border-top:1px solid #0f3460;overflow:hidden}.rgb-picker-title{font-size:.85rem;color:#aaa;margin-bottom:.75rem}.rgb-preview-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.rgb-color-preview{width:32px;height:32px;border:2px solid #fff;border-radius:4px}.rgb-hex-value{font-family:monospace;font-size:.85rem;color:#eee}.color-picker-wrapper{margin-bottom:.75rem}.color-picker-wrapper .react-colorful{width:100%;height:150px}.color-picker-wrapper .react-colorful__saturation{border-radius:4px 4px 0 0}.color-picker-wrapper .react-colorful__hue{height:12px;border-radius:0 0 4px 4px}.color-picker-wrapper .react-colorful__saturation-pointer,.color-picker-wrapper .react-colorful__hue-pointer{width:16px;height:16px}.hex-input-row{display:flex;align-items:center;gap:.25rem;margin-bottom:.75rem}.hex-input-row label{font-family:monospace;font-size:.9rem;color:#eee;font-weight:700}.hex-input{flex:1;padding:.4rem .5rem;background:#1a1a2e;border:1px solid #0f3460;border-radius:4px;color:#eee;font-family:monospace;font-size:.85rem;transition:border-color .2s}.hex-input:focus{outline:none;border-color:#e94560}.hex-input::placeholder{color:#666}.rgb-apply-button{width:100%;margin-top:.75rem;padding:.5rem;background:#e94560;border:none;border-radius:4px;color:#fff;font-size:.85rem;cursor:pointer;transition:background .2s}.rgb-apply-button:hover{background:#d63850}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem}.error{color:#e94560}.pixel-history{background:#16213e;border-radius:8px;padding:1rem;display:flex;flex-direction:column;height:100%;overflow:hidden}.pixel-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #0f3460}.pixel-history-header h3{font-size:1rem;font-weight:600;color:#eee}.close-button{background:#0f3460;border:none;color:#eee;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-button:hover{background:#e94560}.pixel-history-content{flex:1;overflow-y:auto;min-height:0}.loading-message,.error-message,.empty-message{padding:1rem;text-align:center;color:#aaa;font-size:.9rem}.error-message{color:#e94560}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-entry{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#1a1a2e;border-radius:4px;border:1px solid #0f3460;transition:background .2s}.history-entry:hover{background:#1f1f3a}.history-color-swatch{width:32px;height:32px;border-radius:4px;border:1px solid #0f3460;flex-shrink:0}.history-details{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.history-player{font-weight:600;color:#eee;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-timestamp{font-size:.75rem;color:#888}
