:root{--bg-color: #1a1a1a;--text-color: #ffffff;--panel-bg: #2a2a2a;--input-bg: #333;--border-color: #444;--primary-color: #646cff;--primary-hover: #535bf2}body{margin:0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.5}#app{display:flex;flex-direction:column;height:100vh}header{padding:1rem 2rem;background-color:var(--panel-bg);border-bottom:1px solid var(--border-color)}header h1{margin:0;font-size:1.5rem}main{display:flex;flex:1;overflow:hidden}.preview-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:#111;overflow:auto}canvas{max-height:80vh;max-width:100%;box-shadow:0 0 20px #00000080;border-radius:10px}.canvas-controls{margin-top:1rem}.controls-section{width:350px;background-color:var(--panel-bg);border-left:1px solid var(--border-color);padding:1rem;overflow-y:auto}.control-group{margin-bottom:2rem}.control-group h2{font-size:1.1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}label{display:block;margin-bottom:1rem;font-size:.9rem}input[type=text],input[type=number],textarea,select{width:100%;padding:.5rem;margin-top:.25rem;background-color:var(--input-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;box-sizing:border-box}.row{display:flex;gap:.5rem;align-items:center}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .2s}.btn.primary{background-color:var(--primary-color);color:#fff}.btn.primary:hover{background-color:var(--primary-hover)}
