*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;width:100%}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0e1a;color:#e0e0e0}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);padding:1.5rem 2rem;box-shadow:0 4px 6px #0000004d}.app-header h1{font-size:2rem;margin-bottom:.5rem;color:#fff}.app-header p{font-size:.95rem;color:#ffffffe6}.app-nav{display:flex;background-color:#1a1f2e;padding:.5rem 2rem;gap:.5rem;box-shadow:0 2px 4px #0003}.app-nav button{padding:.75rem 1.5rem;border:none;background-color:#2d3548;color:#b0b0b0;font-size:.95rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s}.app-nav button:hover{background-color:#3d4558;color:#e0e0e0}.app-nav button.active{background-color:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.app-main{flex:1;padding:2rem;max-width:1800px;width:100%;margin:0 auto}.app-footer{background-color:#1a1f2e;padding:1rem 2rem;text-align:center;color:gray;font-size:.85rem;border-top:1px solid #2d3548}.panel{background-color:#1a1f2e;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000004d}.panel-header{margin-bottom:2rem}.panel-header h2{font-size:1.5rem;color:#3b82f6;margin-bottom:.5rem}.panel-header p{color:#b0b0b0;font-size:.9rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.control-group{margin-bottom:1.5rem}.control-group label{display:block;margin-bottom:.5rem;color:#b0b0b0;font-size:.9rem;font-weight:500}.control-group input[type=range],.control-group input[type=number],.control-group select{width:100%;padding:.5rem;background-color:#2d3548;border:1px solid #3d4558;border-radius:6px;color:#e0e0e0;font-size:.9rem}.control-group input[type=range]{padding:0;height:6px}.control-group input[type=checkbox]{width:auto;margin-right:.5rem}.range-value{display:inline-block;margin-left:.5rem;color:#3b82f6;font-weight:600}button.primary{background-color:#3b82f6;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}button.primary:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 12px #3b82f64d}button.secondary{background-color:#2d3548;color:#e0e0e0;padding:.75rem 1.5rem;border:1px solid #3d4558;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}button.secondary:hover:not(:disabled){background-color:#3d4558}button:disabled{opacity:.5;cursor:not-allowed}.canvas-container{background-color:#0a0e1a;border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.canvas-container h3{font-size:1rem;color:#b0b0b0;margin-bottom:.5rem}.canvas-container canvas{border:2px solid #3d4558;border-radius:4px;image-rendering:pixelated;image-rendering:crisp-edges}.stats-card{background-color:#2d3548;border-radius:8px;padding:1rem;border:1px solid #3d4558}.stats-card h4{font-size:.85rem;color:#b0b0b0;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.stats-card .value{font-size:1.75rem;color:#3b82f6;font-weight:700}.stats-card .label{font-size:.8rem;color:gray;margin-top:.25rem}.progress-bar{width:100%;height:8px;background-color:#2d3548;border-radius:4px;overflow:hidden;margin:1rem 0}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);transition:width .3s ease}.log-output{background-color:#0a0e1a;border:1px solid #2d3548;border-radius:6px;padding:1rem;max-height:300px;overflow-y:auto;font-family:Courier New,monospace;font-size:.85rem;color:#b0b0b0}.log-output::-webkit-scrollbar{width:8px}.log-output::-webkit-scrollbar-track{background:#1a1f2e}.log-output::-webkit-scrollbar-thumb{background:#3d4558;border-radius:4px}@media(max-width:1200px){.grid-2{grid-template-columns:1fr}}@media(max-width:768px){.app-header h1{font-size:1.5rem}.app-nav{flex-wrap:wrap}.grid-3{grid-template-columns:1fr}}
