: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}:root{--bg-primary: #0a0118;--bg-secondary: #120828;--bg-tertiary: #1a0f2e;--bg-hover: #251740;--border-color: #3d2b5f;--text-primary: #e9d5ff;--text-secondary: #c4b5fd;--text-muted: #7c3aed;--accent-primary: #8b5cf6;--accent-hover: #a78bfa;--accent-dark: #6d28d9;--success: #3fb950;--error: #f85149;--shadow: rgba(139, 92, 246, .2);--glow: rgba(167, 139, 250, .3)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100vw;height:100vh;margin:0;padding:0}.app{width:100%;height:100%;display:flex;flex-direction:column}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:.75rem 1.5rem;display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.logo-icon{font-size:1.5rem}.logo h1{font-size:1.25rem;font-weight:600;margin:0}.header-content{flex:1;max-width:800px}.url-input-container{display:flex;flex-direction:column;gap:.5rem}.url-input-wrapper{display:flex;gap:.5rem}.url-input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.5rem .75rem;color:var(--text-primary);font-size:.875rem;outline:none;transition:all .2s}.url-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #2f81f71a}.url-input::placeholder{color:var(--text-muted)}.submit-button{background:var(--accent-primary);color:#fff;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.submit-button:hover:not(:disabled){background:var(--accent-hover)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.repo-info{font-size:.75rem;color:var(--text-secondary);padding-left:.25rem}.app-content{flex:1;display:flex;overflow:hidden}.sidebar{width:300px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.file-explorer{display:flex;flex-direction:column;border-bottom:1px solid var(--border-color);min-height:0}.file-explorer-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.file-explorer-header h3{font-size:.875rem;font-weight:600;color:var(--text-primary)}.file-count{background:var(--bg-tertiary);color:var(--text-secondary);padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.file-list{overflow-y:auto;flex:1}.file-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;cursor:pointer;transition:background .15s;border-left:2px solid transparent}.file-item:hover{background:var(--bg-hover)}.file-item.selected{background:var(--bg-tertiary);border-left-color:var(--accent-primary)}.file-icon{font-size:1.25rem;flex-shrink:0}.file-info{flex:1;min-width:0}.file-name{font-size:.875rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{display:flex;gap:.5rem;margin-top:.25rem;font-size:.75rem;color:var(--text-secondary)}.file-type{font-weight:500}.component-tree{flex:1;display:flex;flex-direction:column;min-height:0}.component-tree-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.component-tree-header h3{font-size:.875rem;font-weight:600;color:var(--text-primary)}.component-count{background:var(--bg-tertiary);color:var(--text-secondary);padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.component-list{overflow-y:auto;flex:1}.component-item{padding:.5rem 1rem;border-left:2px solid transparent;transition:background .15s}.component-item:hover{background:var(--bg-hover)}.component-item.selected{background:var(--bg-tertiary);border-left-color:var(--accent-primary)}.component-controls{display:flex;align-items:center;gap:.5rem}.visibility-toggle{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .15s}.visibility-toggle:hover{background:var(--bg-tertiary)}.visibility-toggle.hidden{opacity:.5}.component-name{flex:1;font-size:.875rem;color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-content{flex:1;display:flex;position:relative;overflow:hidden}.model-viewer{width:100%;height:100%;background:var(--bg-primary);position:relative}.model-loading-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:1rem;background:#120828e6;padding:2rem 3rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:0 8px 32px var(--shadow)}.model-loading-indicator p{color:var(--text-secondary);font-size:.9rem;margin:0}.empty-state{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.empty-state-content{text-align:center;max-width:500px;padding:2rem}.empty-icon{font-size:4rem;display:block;margin-bottom:1.5rem}.empty-state h2{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary)}.empty-state p{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem}.supported-formats{display:flex;flex-direction:column;gap:1rem;align-items:center}.supported-formats strong{font-size:.875rem;color:var(--text-primary)}.format-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.format-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500;border:1px solid var(--border-color)}.format-note{font-size:.75rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.loading-overlay{position:fixed;inset:0;background:#0d1117cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.loading-spinner{text-align:center}.spinner{width:48px;height:48px;border:4px solid var(--bg-tertiary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.loading-spinner p{font-size:.875rem;color:var(--text-secondary)}.error-message{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:2rem;text-align:center;max-width:400px;box-shadow:0 4px 12px var(--shadow)}.error-icon{font-size:3rem;margin-bottom:1rem}.error-message p{font-size:.875rem;color:var(--error);line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:768px){.sidebar{width:250px}.app-header{flex-direction:column;align-items:stretch;gap:1rem}.logo{justify-content:center}}.material-editor{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:1rem}.material-toggle{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.material-toggle:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.material-controls{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding:.5rem}.material-section{display:flex;flex-direction:column;gap:.5rem}.material-section label{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.material-section input[type=color]{width:100%;height:40px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);cursor:pointer;padding:4px}.material-section input[type=range]{width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;outline:none;-webkit-appearance:none}.material-section input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent-primary);border-radius:50%;cursor:pointer;transition:all .2s}.material-section input[type=range]::-webkit-slider-thumb:hover{background:var(--accent-hover);transform:scale(1.1)}.material-section input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--accent-primary);border:none;border-radius:50%;cursor:pointer;transition:all .2s}.material-section input[type=range]::-moz-range-thumb:hover{background:var(--accent-hover);transform:scale(1.1)}.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem!important;color:var(--text-primary)!important;text-transform:none!important;letter-spacing:normal!important}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent-primary)}.landing-page{width:100%;height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);overflow:hidden;position:relative}.landing-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,var(--glow) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--glow) 0%,transparent 50%);pointer-events:none}.landing-container{max-width:1400px;margin:0 auto;height:100%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:2rem 3rem;align-items:center}.landing-left{z-index:1}.hero-content{max-width:600px}.hero-title{font-size:5rem;font-weight:900;margin-bottom:1rem;line-height:1;letter-spacing:-.03em}.gradient-text{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 30px var(--glow))}.hero-subtitle{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem;font-weight:600;letter-spacing:-.02em}.hero-description{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2.5rem;line-height:1.7;letter-spacing:-.01em}.input-section{margin-bottom:2.5rem}.url-input-wrapper-landing{display:flex;gap:.75rem;margin-bottom:.75rem}.url-input-landing{flex:1;background:#1a0f2e99;border:2px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;color:var(--text-primary);font-size:1rem;outline:none;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.url-input-landing:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--glow)}.url-input-landing::placeholder{color:var(--text-muted)}.submit-button-landing{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-dark) 100%);color:#fff;border:none;border-radius:12px;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px var(--shadow);display:flex;align-items:center;gap:.5rem}.submit-button-landing:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 30px var(--glow)}.submit-button-landing:disabled{opacity:.6;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:var(--error);font-size:.875rem;margin-top:.5rem}.features{display:flex;gap:2rem;margin-bottom:2rem}.feature-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.feature-icon{font-size:1.25rem}.supported-formats{margin-bottom:2rem}.formats-label{color:var(--text-secondary);font-size:.875rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}.format-tags{display:flex;flex-wrap:wrap;gap:.5rem}.format-tag{background:#8b5cf61a;border:1px solid var(--border-color);color:var(--accent-hover);padding:.375rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:600}.opensource-badge{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#8b5cf60d;border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:.875rem}.opensource-badge svg{color:var(--accent-primary)}.github-link{color:var(--accent-primary);text-decoration:none;margin-left:auto;font-weight:600;transition:color .2s}.github-link:hover{color:var(--accent-hover)}.landing-right{position:relative;height:600px;z-index:1}.hero-model-container{width:100%;height:100%;border-radius:24px;background:#1a0f2e4d;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px var(--shadow);overflow:hidden}.model-hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);color:var(--text-muted);font-size:.875rem;text-align:center;animation:fadeInOut 3s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:1}}@media(max-width:1024px){.landing-container{grid-template-columns:1fr;gap:2rem;padding:2rem}.hero-title{font-size:3.5rem}.landing-right{height:400px}}@media(max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1rem}.url-input-wrapper-landing{flex-direction:column}.features{flex-direction:column;gap:1rem}.landing-right{height:300px}.opensource-badge{flex-direction:column;text-align:center}.github-link{margin-left:0}}
