*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{width:100%;height:100%;overflow:hidden;position:fixed;margin:0;padding:0}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;position:fixed;overscroll-behavior:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;touch-action:none;background:#0f0f0f}#root{width:100%;height:100%;overflow:hidden;position:fixed}.draw-app{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden}.canvas{position:fixed;top:0;left:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.palette{position:fixed;bottom:30px;right:30px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:1rem;pointer-events:auto}.recent-colors{display:flex;gap:.5rem;padding:.75rem;background:#1a1a1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:50px;border:1px solid #2a2a2a;box-shadow:0 4px 12px #0009;transition:all .3s ease}.recent-color{width:40px;height:40px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000080,inset 0 1px 2px #ffffff1a}.recent-color:hover{transform:scale(1.15);box-shadow:0 4px 12px #0009}.recent-color.active{border-color:#fff;transform:scale(1.1)}.palette-toggle{width:64px;height:64px;border-radius:50%;background:#1a1a1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #2a2a2a;box-shadow:0 4px 12px #0009;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:1.8rem}.palette-toggle:hover{transform:scale(1.1);box-shadow:0 6px 20px #000c;background:#2a2a2a;border-color:#3a3a3a}.palette-toggle:active{transform:scale(.95)}.palette.expanded .palette-toggle{transform:rotate(180deg)}.palette-content{background:#1a1a1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:20px;border:1px solid #2a2a2a;box-shadow:0 8px 32px #000c;padding:1.5rem;animation:slideIn .3s cubic-bezier(.68,-.55,.265,1.55);display:flex;flex-direction:column;gap:1rem;max-width:300px}@keyframes slideIn{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.palette-section{display:flex;flex-direction:column;gap:.75rem}.palette-label{font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:1px}.color-picker{width:100%;height:60px;border:2px solid #2a2a2a;border-radius:12px;cursor:pointer;transition:all .2s ease;background:transparent}.color-picker:hover{border-color:#3a3a3a;box-shadow:0 4px 12px #0009}.color-picker::-webkit-color-swatch-wrapper{padding:0;border-radius:10px}.color-picker::-webkit-color-swatch{border:none;border-radius:10px}.color-bubbles{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.color-bubble{width:50px;height:50px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000080,inset 0 1px 2px #ffffff1a;position:relative}.color-bubble:before{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid #ffffff;opacity:0;transition:opacity .2s ease}.color-bubble:hover{transform:scale(1.1);box-shadow:0 4px 16px #0009,inset 0 1px 2px #fff3}.color-bubble.active{border-color:#fff}.color-bubble.active:before{opacity:1}@keyframes pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:1}}.palette-divider{height:1px;background:#2a2a2a;margin:.5rem 0}.size-bubbles{display:flex;justify-content:space-between;gap:.5rem}.size-bubble{width:50px;height:50px;border-radius:50%;background:#2a2a2a;border:2px solid transparent;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.size-bubble:hover{background:#3a3a3a;transform:scale(1.1);box-shadow:0 4px 12px #0009}.size-bubble.active{background:#fff;border-color:#fff}.size-bubble.active .size-indicator{background:#0f0f0f}.size-indicator{background:#fff;border-radius:50%}.clear-bubble{width:100%;height:50px;border-radius:12px;background:#2a2a2a;border:1px solid #3a3a3a;font-size:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.clear-bubble:hover{background:#f44;border-color:#f44;transform:translateY(-2px);box-shadow:0 4px 12px #f446}.clear-bubble:active{transform:translateY(0)}@media(max-width:768px){.palette{bottom:20px;right:20px}.palette-toggle{width:60px;height:60px;font-size:1.75rem}.palette-content{padding:1.25rem;max-width:260px}.color-bubble,.size-bubble{width:45px;height:45px}}.menu{width:100%;height:100%;padding:3rem 2rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;background:#f5f5f5}.menu-title{font-size:2.5rem;font-weight:600;color:#1a1a1a;text-align:center;margin-bottom:2rem;letter-spacing:-.5px}.drawings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem;padding-bottom:2rem}.new-canvas-card{position:relative;aspect-ratio:1;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000080;cursor:pointer;transition:all .2s ease;border:3px dashed #d0d0d0;display:flex;align-items:center;justify-content:center}.new-canvas-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #000000b3;border-color:#a0a0a0}.plus-icon{font-size:5rem;color:#d0d0d0;transition:all .2s ease}.new-canvas-card:hover .plus-icon{color:#888;transform:scale(1.1)}.drawing-card{position:relative;aspect-ratio:1;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000080;cursor:pointer;transition:all .2s ease;border:1px solid #2a2a2a}.drawing-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #000000b3;border-color:#444}.drawing-card img{width:100%;height:100%;object-fit:cover}.delete-btn{position:absolute;top:.75rem;right:.75rem;width:40px;height:40px;border-radius:50%;background:#ff5252e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid white;font-size:1.2rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;opacity:0}.drawing-card:hover .delete-btn{opacity:1}.delete-btn:hover{transform:scale(1.1);background:#ff3232}.back-btn{position:fixed;top:30px;left:30px;padding:.875rem 1.5rem;background:#1a1a1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #2a2a2a;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0009;z-index:9998;display:flex;align-items:center;gap:.5rem}.back-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #000c;background:#2a2a2a;border-color:#3a3a3a}.save-indicator{position:fixed;top:30px;left:50%;transform:translate(-50%);padding:.875rem 1.75rem;background:#1a1a1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #2a2a2a;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;z-index:9999;box-shadow:0 4px 16px #000c;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}*{-webkit-tap-highlight-color:transparent}button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
