.drawing-body{background:linear-gradient(135deg,#fdf4f6,#fbe9ec);display:flex;justify-content:center;align-items:flex-start;padding:100px 30px 30px 30px;min-height:100vh}
.drawing-app{width:100%;max-width:1200px;background:var(--white);padding:clamp(20px,4vw,40px);border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.1)}
.drawing-app h1{font-family:var(--heading-font);font-size:clamp(2rem,6vw,2.5rem);text-align:center;color:var(--pink-deep);margin-bottom:20px}
.toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;background-color:#fff9f7;padding:15px;border-radius:15px;margin-bottom:15px;gap:20px}
.tool-section{text-align:center}
.tool-section label{font-weight:700;color:var(--primary-text);margin-bottom:8px;display:block;font-size:.9em}
.tool-buttons{display:flex;justify-content:center;gap:10px}
.tool-btn{font-size:1.5em;border:2px solid var(--border-light);background-color:var(--white);border-radius:10px;width:50px;height:50px;cursor:pointer;transition:all .2s ease;font-weight:bolder}
.tool-btn:hover:not(:disabled){background-color:var(--pink-light);transform:translateY(-2px)}
.tool-btn.active{background-color:var(--pink-deep);color:var(--white);border-color:var(--pink-deep)}
.tool-btn:disabled{opacity:.4;cursor:not-allowed}
.options-section .option-controls{display:flex;justify-content:center;align-items:center;gap:15px}
input[type=color]{width:50px;height:50px;border:none;padding:0;border-radius:50%;cursor:pointer;background-color:transparent}
input[type=color]::-webkit-color-swatch-wrapper{padding:3px}
input[type=color]::-webkit-color-swatch{border-radius:50%;border:2px solid #ddd}
#draw-mode{padding:8px;border-radius:8px;border:2px solid var(--border-light);font-family:var(--body-font);font-weight:700;color:var(--primary-text);background-color:var(--white)}
input[type=range]{width:100%;max-width:150px;cursor:pointer}

.shape-palette{padding:15px;background-color:#fff9f7;border-radius:15px;margin-bottom:20px;transition:all .3s ease;display:flex;flex-direction:column;gap:15px}
.shape-palette.hidden{display:none}
.palette-group{display:flex;flex-direction:column;gap:10px}
.palette-title{font-weight:700;color:var(--pink-accent);text-align:left;border-bottom:2px solid var(--border-light);padding-bottom:5px;margin-bottom:5px}
.palette-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(50px,1fr));gap:10px}
.shape-btn{font-size:1.8em;background-color:var(--white);border:2px solid var(--border-light);border-radius:10px;padding:5px;cursor:pointer;transition:all .2s ease;text-align:center;height:50px}
.shape-btn:hover,.shape-btn.active{transform:scale(1.1);border-color:var(--pink-deep);box-shadow:0 0 10px var(--pink-accent)}

.canvas-container{position:relative;width:100%;height:500px;background-color:#fff;border-radius:15px;overflow:hidden;border:3px solid var(--border-light);box-shadow:0 4px 15px rgba(0,0,0,0.1)}
#draw-canvas, #preview-canvas {position:absolute;top:0;left:0;width:100%;height:100%;display:block;}
#preview-canvas{z-index: 2; cursor:crosshair;}
#text-editor{position:absolute;z-index:3;background:transparent;border:2px dashed var(--pink-deep);color:var(--primary-text);padding:5px;font-family:var(--body-font);overflow:hidden;resize:none;} /* Resizing handled by JS */

.action-buttons{margin-top:20px;display:flex;justify-content:flex-end;gap:15px}
.action-btn{font-family:var(--body-font);font-weight:700;border:none;padding:10px 20px;border-radius:50px;cursor:pointer;transition:all .3s ease;background:#e0e0e0;color:#555}
.action-btn.primary{background:linear-gradient(135deg,var(--pink-accent),var(--pink-deep));color:var(--white);box-shadow:0 4px 15px rgba(233,81,113,.3)}
.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(233,81,113,.4)}
.action-btn:hover{background:#ccc}