:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.app{min-height:100vh;display:flex;flex-direction:column}.header{padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:.75rem}.header-icon{font-size:1.5rem}.header h1{font-size:1.15rem;font-weight:600;letter-spacing:-.02em}.header span{font-size:.75rem;color:#ffffff59;margin-left:auto;letter-spacing:.05em;text-transform:uppercase}.main{flex:1;display:grid;grid-template-columns:340px 1fr;gap:0;min-height:calc(100vh - 64px)}.sidebar{padding:1.5rem;border-right:1px solid rgba(255,255,255,.06);overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#fff6;font-weight:500}.field input,.field textarea{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;padding:.6rem .75rem;color:#fafafa;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}.field input:focus,.field textarea:focus{border-color:#ffffff40}.field textarea{resize:none;height:60px}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.style-btn{border:1px solid rgba(255,255,255,.08);border-radius:.5rem;padding:.5rem .25rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#ffffff80;cursor:pointer;background:transparent;transition:all .2s;text-align:center;font-family:inherit}.style-btn:hover{border-color:#fff3;color:#fffc}.style-btn.active{border-color:#fff6;color:#fafafa;background:#ffffff0f}.palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.palette-btn{border:2px solid transparent;border-radius:.5rem;height:36px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.palette-btn:hover{transform:scale(1.05)}.palette-btn.active{border-color:#fafafa;box-shadow:0 0 0 2px #fff3}.slider-row{display:flex;align-items:center;gap:.75rem}.slider-row input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:#ffffff1a;outline:none}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fafafa;cursor:pointer}.slider-row .slider-val{font-size:.75rem;color:#fff6;min-width:28px;text-align:right;font-variant-numeric:tabular-nums}.btn-row{display:flex;gap:.5rem;margin-top:auto;padding-top:.5rem}.btn{flex:1;padding:.65rem 1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.12);font-family:inherit;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.06em}.btn-ghost{background:transparent;color:#fff9}.btn-ghost:hover{background:#ffffff0a;color:#fafafa}.btn-primary{background:#fafafa;color:#0a0a0a;border-color:#fafafa}.btn-primary:hover{background:#e0e0e0}.canvas-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.canvas-wrapper{border-radius:.5rem;overflow:hidden;box-shadow:0 20px 60px #00000080}.canvas-wrapper canvas{display:block;width:400px;height:400px}.canvas-hint{font-size:.7rem;color:#ffffff40;letter-spacing:.05em}.toggle-row{display:flex;align-items:center;gap:.5rem}.toggle-btns{display:flex;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;overflow:hidden}.toggle-btn{padding:.35rem .75rem;background:transparent;border:none;color:#ffffff80;font-size:.75rem;cursor:pointer;font-family:inherit;transition:all .2s}.toggle-btn.active{background:#ffffff1a;color:#fafafa}.check-row{display:flex;align-items:center;gap:.5rem;cursor:pointer}.check-row input[type=checkbox]{accent-color:#fafafa;width:16px;height:16px;cursor:pointer}.check-row span{font-size:.8rem;color:#fff9}@media(max-width:800px){.main{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{border-right:none;border-bottom:1px solid rgba(255,255,255,.06);max-height:50vh}.canvas-wrapper canvas{width:300px;height:300px}}
