: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}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.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}.feature-table{width:100%;border-collapse:collapse}.feature-table th,.feature-table td{border:1px solid #fff;padding:8px;text-align:left}.feature-table thead{background-color:#f0f0f0}.input-info-box{background:var(--app-bg, #242424);border:1.5px solid #ddd;border-radius:8px;padding:18px 20px;margin:18px 0;width:93%!important;text-align:left;box-shadow:0 2px 8px #00000008}.dashboard,.mock-3d-container{width:93%!important}:root{--app-bg: #181c20;--card-bg: #23272f;--accent: #00bcd4;--accent2: #2196f3;--success: #43a047;--danger: #e53935;--text-main: #f5f7fa;--text-secondary: #b0bec5;--border: #2c313a;--shadow: 0 4px 24px rgba(0, 0, 0, .18);--radius: 14px;--font-main: "Inter", "Roboto", "Open Sans", Arial, sans-serif}body,#root,.app-container{background:var(--app-bg);color:var(--text-main);font-family:var(--font-main);min-height:100vh;width:100vw;margin:0}.app-container{max-width:1100px;margin:0 auto;padding:32px 16px 48px;display:flex;flex-direction:column;align-items:center}.card,.input-info-box,.dashboard,.mock-3d-container{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);border:1.5px solid var(--border);padding:24px 28px;margin:18px 0;width:100%;max-width:900px;text-align:left;position:relative}h1,h2,h3{color:var(--accent);font-weight:700;letter-spacing:.5px}h1{font-size:2.5rem;margin-bottom:.5em}h2{font-size:1.6rem;margin-bottom:.7em}h3{font-size:1.2rem;margin-bottom:.5em}button,.file-upload-btn{background:var(--accent2);color:#fff;border:none;border-radius:999px;padding:.7em 1.6em;font-size:1.05em;font-family:var(--font-main);font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s;box-shadow:0 2px 8px #00000014;margin:.3em .2em;outline:none;display:inline-flex;align-items:center;gap:.5em}button:hover,.file-upload-btn:hover{background:var(--accent);box-shadow:0 4px 16px #00bcd41f}input[type=file]{display:none}.file-upload-label{display:inline-block;cursor:pointer}.file-upload-btn{background:var(--accent2);color:#fff;border:none;border-radius:999px;padding:.7em 1.6em;font-size:1.05em;font-family:var(--font-main);font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 8px #00000014;margin:.3em .2em;outline:none;display:inline-flex;align-items:center;gap:.5em}.file-upload-btn:hover,.file-upload-btn:focus{background:var(--accent);box-shadow:0 4px 16px #00bcd41f;transform:translateY(-2px) scale(1.03)}.file-upload-btn:active{transform:scale(.97)}.icon-btn{background:none;border:none;color:var(--accent2);font-size:1.2em;cursor:pointer;padding:.3em .5em;border-radius:50%;transition:background .2s,color .2s;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover,.icon-btn:focus{background:var(--accent2);color:#fff}pre,textarea{background:#11151a;color:var(--text-main);border-radius:8px;border:1px solid var(--border);font-family:Fira Mono,Consolas,Menlo,monospace;font-size:1em}.feature-table{width:100%;border-collapse:collapse;margin-top:1em;background:var(--card-bg);border-radius:8px;overflow:hidden}.feature-table th,.feature-table td{border:1px solid var(--border);padding:10px 14px;text-align:left;font-size:1.05em}.feature-table th{background:#1a1e23;color:var(--accent)}.feature-table tr:nth-child(2n){background:#20242a}.feature-table tr:hover{background:#263238}.mock-3d-container{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);border:1.5px solid var(--accent2);padding:24px 28px;margin:18px 0;width:100%;max-width:900px;text-align:left;position:relative}.glassy-panel{box-shadow:0 8px 32px #00bcd41f;border:1.5px solid var(--accent2);position:relative;overflow:hidden}.mock-3d-container{position:relative;border-left:5px solid var(--accent2)}.toast{border-width:2px}::-webkit-scrollbar{width:8px;background:#23272f}::-webkit-scrollbar-thumb{background:#2c313a;border-radius:8px}.toast{position:fixed;top:24px;right:32px;background:#23272f;color:var(--text-main);border:1.5px solid var(--accent);border-radius:8px;padding:14px 24px;box-shadow:var(--shadow);z-index:3000;font-size:1.1em;opacity:.97;animation:fadein .3s,fadeout .3s 2.7s}@keyframes fadein{0%{opacity:0;right:0}to{opacity:.97;right:32px}}@keyframes fadeout{0%{opacity:.97;right:32px}to{opacity:0;right:0}}.app-header{position:sticky;top:0;z-index:100;background:#181c20ee;display:flex;align-items:center;gap:16px;padding:18px 32px 18px 24px;border-bottom:2.5px solid var(--accent);box-shadow:0 2px 12px #00bcd414;min-height:64px}.app-title{font-size:1.5rem;font-weight:700;color:var(--text-main);letter-spacing:1px;margin-left:8px}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);border:1.5px solid var(--border);padding:24px 28px;margin:18px 0;width:100%;max-width:900px;text-align:left;position:relative;transition:box-shadow .2s,border .2s}.card:hover{box-shadow:0 6px 32px #00bcd421;border:1.5px solid var(--accent2)}.file-upload-container{text-align:center;margin:2rem 0}.file-upload-btn.disabled{opacity:.6;cursor:not-allowed;transform:none!important}.file-upload-btn.disabled:hover{background:var(--accent2);box-shadow:0 2px 8px #00000014;transform:none}.nav-button{background:var(--border);color:var(--text-main);border:none;border-radius:8px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.9rem;transition:background .2s}.nav-button:hover{background:var(--accent2);color:#fff}.action-button{background:var(--accent2);color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.9rem;transition:background .2s}.action-button:hover{background:var(--accent)}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s}.progress-bar-container{display:flex;flex-direction:column;align-items:center;margin:1rem 0}.progress-bar{width:200px;height:12px;background:#eee;border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-bar-fill{width:100%;height:100%;background:linear-gradient(90deg,#000ead,#056c99 50%,#00d9ff);animation:progressBarAnim 1s linear infinite alternate}@keyframes progressBarAnim{0%{transform:translate(-50%)}to{transform:translate(0)}}
