:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}#root{max-width:1200px;margin:0 auto;padding:2rem}.demo-container{background:#fffffff2;border-radius:20px;padding:2.5rem;box-shadow:0 20px 60px #0000004d;backdrop-filter:blur(10px)}.demo-container h1{color:#333;font-size:2.5rem;margin-bottom:.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.demo-container>p{color:#666;font-size:1.1rem;margin-bottom:2rem}.controls{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px}.control-group.planner-select{width:100%}.control-parameters{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}.control-group{flex:1;min-width:200px}.control-group label{display:flex;flex-direction:column;gap:.5rem;color:#555;font-weight:500;font-size:.95rem;transition:opacity .2s}.control-group label.disabled{opacity:.4}.control-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#ddd;outline:none;-webkit-appearance:none;cursor:pointer}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;transition:transform .2s}.control-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.control-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;border:none;transition:transform .2s}.control-group input[type=range]::-moz-range-thumb:hover{transform:scale(1.2)}.control-group select{width:100%;padding:8px 12px;border-radius:6px;border:2px solid #ddd;background:#fff;color:#333;font-size:.95rem;cursor:pointer;transition:border-color .2s}.control-group select:focus{outline:none;border-color:#667eea}.control-group select:disabled{opacity:.5;cursor:not-allowed}.plan-button{width:100%;padding:12px 32px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.plan-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.plan-button:disabled{opacity:.5;cursor:not-allowed}.canvas-container{position:relative;display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.planning-canvas{border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 20px #0000001a;background:#fff}.legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#555}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.stats{padding:1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border-left:4px solid #667eea}.stats h3{color:#333;margin-bottom:.75rem;font-size:1.2rem}.stats p{color:#666;margin:.5rem 0;font-size:.95rem}@media (max-width: 768px){.demo-container{padding:1.5rem}.demo-container h1{font-size:2rem}.controls{flex-direction:column}.control-group{width:100%}.planning-canvas{max-width:100%;height:auto}}
