*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sage: #8B9D83;--sage-dark: #6B7D63;--sage-light: #B5C4AE;--bg: #F5F3EF;--sidebar-bg: #FFFFFF;--sidebar-text: #1A1A1A;--panel-bg: #FFFFFF;--text: #1A1A1A;--text-muted: #777;--border: #E0DDD8;--accent: #9C7DB8}html,body,#root{height:100%;overflow:hidden}body{font-family:Inclusive Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:baseline;gap:12px;padding:12px 20px;background:#fff;color:var(--text);border-bottom:1px solid var(--border);flex-shrink:0}.app-header h1{font-size:18px;font-weight:500;font-family:MuseoModerno,cursive;font-style:italic;letter-spacing:-.02em}.app-header .subtitle{font-size:13px;color:var(--text-muted);font-weight:400}.app-body{display:flex;flex:1;min-height:0}.sidebar{width:260px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);overflow-y:auto;border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-sticky{position:sticky;bottom:0;background:var(--sidebar-bg);padding:12px 16px;border-top:1px solid var(--border)}.controls{padding:16px;display:flex;flex-direction:column;gap:20px}.controls-section h3{font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px}.bead-size-group{display:flex;gap:6px}.bead-size-btn{flex:1;padding:8px 0;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--sidebar-text);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.bead-size-btn:hover{background:#ddf4ff}.bead-size-btn.active{background:#303f46;border-color:#303f46;color:#fff}.pattern-group{display:flex;flex-wrap:wrap;gap:6px}.pattern-btn{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--sidebar-text);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.pattern-btn:hover{background:#ddf4ff}.pattern-btn.active{background:#303f46;border-color:#303f46;color:#fff}.picker-subsection{margin-bottom:14px}.picker-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.picker-header-text{font-size:12px;color:var(--text-muted)}.picker-label{font-size:12px;color:var(--text-muted);margin-bottom:8px}.selected-color-row{display:flex;align-items:center;gap:10px}.color-circle{width:40px;height:40px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s;outline:none;flex-shrink:0;padding:0}.color-circle:hover{transform:scale(1.1)}.color-circle.selected-indicator{border-color:var(--accent);box-shadow:0 0 0 2px #9c7db84d;cursor:default}.design-colors-row{display:flex;gap:10px;flex-wrap:wrap}.color-circle.design-color{width:44px;height:44px;border:2px solid rgba(0,0,0,.08)}.color-circle.design-color.active{border-color:var(--accent);box-shadow:0 0 0 2px #9c7db84d}.hidden-color-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.color-wheel-btn{background:conic-gradient(#f53d3d,#f4c025,#8ce830,#19e64d,#19e6e6,#305ee8,#9947eb,#e830ba,#f53d3d)!important;background-size:200% 200%!important;background-position:center!important;position:relative;border:2px solid transparent!important}.color-wheel-btn:hover{transform:scale(1.15)}.color-wheel-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}.palette-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.swatch{width:100%;aspect-ratio:1;border:2px solid rgba(0,0,0,.06);border-radius:50%;cursor:pointer;transition:all .15s;outline:none;padding:0}.swatch:hover{transform:scale(1.15);z-index:1}.swatch.selected{border-color:var(--accent);box-shadow:0 0 0 2px #9c7db84d;transform:scale(1.1)}.stats .stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.stats .stat-row span{color:var(--text-muted)}.stats .stat-row strong{color:var(--text);font-weight:600}.stats .stat-total{border-top:1px solid var(--border);margin-top:2px;padding-top:8px;font-weight:600}.stats .stat-total span{color:var(--text-muted)}.stats .stat-total strong{font-size:15px}.main-content{flex:1;display:flex;min-width:0;gap:0}.panel{flex:1;display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border)}.panel:last-child{border-right:none}.panel h2{font-size:13px;font-weight:600;color:var(--text-muted);padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel-bg);flex-shrink:0;display:flex;align-items:baseline;gap:8px}.panel-hint{font-size:11px;font-weight:400;font-style:italic;color:var(--text-muted);opacity:.7}.panel-body{flex:1;min-height:0;background:var(--panel-bg)}.chart-panel{flex:4}.view3d-panel{flex:5}.brush-size-section{display:flex;align-items:center;gap:10px}.brush-size-label{font-size:12px;color:var(--text-muted);white-space:nowrap}.brush-size-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--border);border-radius:2px;outline:none}.brush-size-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#555;cursor:pointer;border:none}.brush-size-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#555;cursor:pointer;border:none}.brush-size-value{font-size:13px;font-weight:600;color:var(--text);min-width:14px;text-align:center}.brush-cursor{position:absolute;pointer-events:none;border:2px solid #000;border-radius:50%;transform:translate(-50%,-50%);z-index:10;opacity:0;transition:opacity .1s}.paint-canvas{cursor:none}@media (pointer: coarse){.brush-cursor{display:none}.paint-canvas{cursor:default}}.used-color-item{position:relative;display:inline-block}.remap-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--panel-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;color:var(--text-muted);line-height:1;padding:0}.remap-badge:hover{background:var(--bg);color:var(--text)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.confirm-modal{background:var(--panel-bg);border-radius:12px;padding:24px;max-width:360px;width:90%;box-shadow:0 8px 32px #00000026}.confirm-modal h3{font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px}.confirm-modal p{font-size:13px;color:var(--text-muted);margin-bottom:20px;line-height:1.5}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.confirm-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text);transition:all .15s}.confirm-btn:hover{background:#ddf4ff}.confirm-btn.destructive{background:#303f46;border-color:#303f46;color:#fff}.confirm-btn.destructive:hover{background:#1e2c33}.tutorial-link{font-size:13px;color:var(--sidebar-text);text-decoration:none;padding:6px 16px;border:1px solid var(--border);border-radius:100px;background:#ddf4ff;transition:all .15s;white-space:nowrap}.tutorial-link:hover{background:#c8ecff;border-color:var(--text-muted)}.design-select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--sidebar-text);font-size:13px;font-family:inherit;cursor:pointer;outline:none;transition:border-color .15s}.design-select:hover{border-color:var(--text-muted)}.design-select:focus{border-color:#555}.coming-soon{font-size:11px;font-style:italic;color:var(--text-muted);margin-top:6px}.color-count-label{display:flex;align-items:center;gap:6px}.color-count-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.download-btn{width:100%;padding:10px 0;border:1px solid var(--border);border-radius:100px;background:#ddf4ff;color:var(--sidebar-text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.download-btn:hover{background:#c8ecff;border-color:var(--text-muted)}.sidebar-divider{border:none;border-top:1px solid var(--border);margin:0}.paint-actions{display:flex;gap:8px;margin-top:12px}.paint-action-btn{flex:1;padding:8px 0;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--sidebar-text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.paint-action-btn:hover:not(:disabled){background:#ddf4ff;border-color:var(--text-muted)}.paint-action-btn:disabled{opacity:.35;cursor:default}@media (max-width: 1024px){.main-content{flex-direction:column}.panel{flex:none;height:50%;min-height:0;border-right:none;border-bottom:1px solid var(--border);overflow:hidden}.panel:last-child{border-bottom:none}.chart-panel,.view3d-panel{flex:none;height:50%}}@media (max-width: 768px){.app-body{flex-direction:column;overflow:hidden}.sidebar{width:100%;flex:none;max-height:35vh;order:3;border-right:none;border-top:1px solid var(--border);border-bottom:none}.main-content{flex-direction:column;flex:1;min-height:0;order:1}.chart-panel{order:1}.view3d-panel{order:2}.panel{height:50%}.app-header .subtitle{display:none}.app-header h1{font-size:16px}}
