body,html,#root{height:100%;width:100vw;margin:0;padding:0;box-sizing:border-box}#root{height:100vh;width:100vw}.container{height:100vh;width:100vw;display:grid;grid-template-columns:320px 1fr;gap:1rem;padding:1rem;box-sizing:border-box}.canvas-container{width:100%;height:100%}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:#0b0c0f;color:#f4f4f5;overflow:hidden}.container{display:grid;grid-template-columns:320px 1fr;height:100vh;gap:1rem;padding:1rem}.sidebar{background:#14161c;border:1px solid #3f3f46;border-radius:1rem;padding:1rem;overflow-y:auto;overflow-x:hidden;max-width:100vw;display:flex;flex-direction:column;gap:1rem}.canvas-container{background:#0d0f14;border:1px solid #3f3f46;border-radius:1rem;position:relative;overflow:hidden}.section{background:#1f2937;border:1px solid #374151;border-radius:.75rem;padding:1rem}.section h2,.section h3{font-size:.875rem;font-weight:600;margin-bottom:.75rem}select{width:100%;padding:.6rem 1rem;border-radius:.7rem;border:1px solid #374151;background:#181c23;color:#f9fafb;font-size:1rem}select:focus{outline:none}.fit-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.fit-status h2{margin:0;display:flex;align-items:center;gap:.375rem}.fit-status .badges{display:flex;align-items:center}.fit-status .badge,.fit-status .info-dot{display:inline-flex;align-items:center;line-height:1}.badges{display:flex;gap:.5rem}.badge{padding:.25rem .5rem;border-radius:9999px;border:1px solid #374151;background:#000000b3;font-size:.75rem}.badge.green{color:#4ade80}.badge.yellow{color:#fbbf24}.badge.red{color:#f87171}.button-group{display:flex;gap:.5rem;flex-wrap:wrap}.button-group .typeahead-container{flex:1 1 100%;min-width:100%}.btn{padding:.5rem .75rem;border-radius:.5rem;border:1px solid #374151;background:#111827;color:#f9fafb;cursor:pointer;font-size:.75rem;font-weight:500;flex-grow:1}.btn.danger{background:#ef4444;color:#fef2f2;border-color:#ef4444}.btn:hover{background:#1f2937}.btn.danger:hover{background:#dc2626}.btn.primary{background:#60a5fa;color:#1e3a8a;border-color:#60a5fa}.btn.primary:hover{background:#3b82f6}.object-list .object-row .btn{flex:0 0 auto;padding:.25rem;width:28px;height:28px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.object-list .object-row input[type=text],.object-list .object-row input:not([type]){height:28px}.object-list{margin-top:.5rem}.object-row .active-tick{display:inline-flex;width:16px;justify-content:center;color:transparent}.object-row .active-tick.on{color:var(--accent, #2e7d32);font-weight:700}.input-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-group label{font-size:.75rem;font-weight:500}.input-group input{padding:.5rem;border-radius:.5rem;border:1px solid #374151;background:#111827;color:#f9fafb;font-size:.75rem}.input-group input:read-only{background:#374151;cursor:not-allowed}input[type=text],input[type=number],input[type=range],select,.typeahead-input{padding:.6rem 1rem;border-radius:.7rem;border:1px solid #374151;background:#181c23;color:#f9fafb;font-size:1rem;box-shadow:0 1px 3px #00000012;transition:border .2s,box-shadow .2s;outline:none}input[type=text]:focus,input[type=number]:focus,input[type=range]:focus,select:focus,.typeahead-input:focus{border:1.5px solid #60a5fa;box-shadow:0 2px 8px #60a5fa1f;background:#23272f}input[type=range]{height:2.5px;background:#374151;border-radius:2px;accent-color:#60a5fa;margin:.5rem 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#60a5fa;box-shadow:0 2px 6px #60a5fa26;cursor:pointer;border:none}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#60a5fa;box-shadow:0 2px 6px #60a5fa26;cursor:pointer;border:none}input[type=range]::-ms-thumb{width:18px;height:18px;border-radius:50%;background:#60a5fa;box-shadow:0 2px 6px #60a5fa26;cursor:pointer;border:none}input[type=range]:focus{outline:none}.slider-group{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.slider-group label{font-size:.75rem;display:flex;justify-content:space-between;align-items:center}slider-group label input[type=number]{width:60px;padding:.25rem;text-align:right;background:#1f2937;border:1px solid #374151;color:#f9fafb}.slider-group input[type=range]{width:100%}.checkbox-group,.toggle-group{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.75rem}.toggle-switch{position:relative;display:inline-block;width:34px;height:20px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#374151;transition:.4s;border-radius:20px}.slider:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#60a5fa}input:checked+.slider:before{transform:translate(14px)}input:disabled+.slider{cursor:not-allowed;background-color:#4b5563}.description{font-size:.75rem;color:#9ca3af;margin-top:.5rem}#canvas{display:block;width:100%;height:100%}.modal-overlay{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0009}.modal-content{background-color:#14161c;margin:15% auto;padding:1.5rem;border:1px solid #3f3f46;width:90%;max-width:400px;border-radius:1rem}.modal-content h3,.modal-content .input-group{margin-bottom:1rem}.modal-content .input-group input{width:100%}.typeahead-container{position:relative;width:100%;max-width:100%}.typeahead-input{width:100%;max-width:100%;margin-left:0;margin-right:0}.typeahead-dropdown{position:absolute;top:100%;left:0;right:0;width:100%;min-width:120px;max-height:180px;z-index:10;background:#23272f;border:1px solid #374151;border-radius:.5rem;overflow-y:auto;box-shadow:0 2px 8px #00000026;display:none}.typeahead-dropdown.active{display:block}.typeahead-dropdown .typeahead-option{padding:.5rem;cursor:pointer;color:#f9fafb}.typeahead-dropdown .typeahead-option:hover,.typeahead-dropdown .typeahead-option.active{background:#374151}.info-dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#2a2f38;color:#cbd5e1;font-weight:700;cursor:help;border:1px solid #374151;font-size:.75rem}.info-dot:hover{background:#374151}.sidebar-footer{margin-top:2rem;font-size:.85em;color:#9ca3af;text-align:center;opacity:.85}.sidebar-footer .disclaimer,.sidebar-footer .copyright{margin-bottom:.5em}.sidebar-footer .footer-links{display:flex;justify-content:center;gap:1.2em}.sidebar-footer .footer-links a{color:#60a5fa;text-decoration:none;transition:color .2s}.sidebar-footer .footer-links a:hover{color:#3b82f6}.logo-container{width:100%;margin-bottom:1rem}.logo-img{width:100%;height:auto;display:block;background:none}.button-group-margin,.input-grid-margin{margin-top:.5rem}.toggle-group-margin{justify-content:space-between}.section-margin{margin-top:1rem}.adsbygoogle{display:block}@media (max-width: 768px){.container{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{max-height:50vh;overflow-x:hidden;max-width:100vw}}: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}}
