:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:15px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}h1,h2,h3,p{margin:0}.page-landing{color:#e6e9ef;background:radial-gradient(circle at 15% -10%,#172033 0%,#0d1117 45%);flex-direction:column;width:100%;min-height:100vh;display:flex}.page-landing__nav{justify-content:space-between;align-items:center;width:100%;max-width:68rem;margin:0 auto;padding:1.25rem 2rem;display:flex}.page-landing__brand{letter-spacing:.02em;font-size:1rem;font-weight:700}.page-landing__nav-links{align-items:center;gap:1.25rem;font-size:.85rem;display:flex}.page-landing__nav-links a{color:#9aa5b1}.page-landing__nav-cta{background:#4f9dff;border-radius:8px;padding:.45rem .9rem;font-weight:600;color:#0d1117!important}.page-landing__hero{text-align:center;max-width:42rem;margin:4rem auto 5rem;padding:0 1.5rem}.page-landing__hero h1{letter-spacing:-.01em;margin:0 0 1.1rem;font-size:clamp(1.9rem,4vw,2.75rem);font-weight:700;line-height:1.15}.page-landing__hero p{color:#9aa5b1;margin:0 0 2rem;font-size:1.02rem;line-height:1.6}.page-landing__hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.page-landing__cta-primary{color:#0d1117;background:#4f9dff;border-radius:10px;padding:.75rem 1.4rem;font-size:.95rem;font-weight:600}.page-landing__cta-secondary{color:#e6e9ef;border:1px solid #2a3140;border-radius:10px;padding:.75rem 1.4rem;font-size:.95rem}.page-landing__hero-note{color:#5a6273!important;margin:1.25rem 0 0!important;font-size:.78rem!important}.page-landing__features{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;max-width:68rem;margin:0 auto 5rem;padding:0 1.5rem;display:grid}.page-landing__feature{background:#11151c;border:1px solid #1f2531;border-radius:14px;padding:1.5rem}.page-landing__feature h2{margin:0 0 .5rem;font-size:1rem;font-weight:600}.page-landing__feature p{color:#9aa5b1;margin:0;font-size:.85rem;line-height:1.55}.page-landing__footer{color:#6b7385;border-top:1px solid #1f2531;justify-content:space-between;align-items:center;width:100%;max-width:68rem;margin-top:auto;margin-left:auto;margin-right:auto;padding:1.5rem 2rem;font-size:.82rem;display:flex}.page-landing__footer a{color:#4f9dff}.atom-button{font:inherit;cursor:pointer;color:#e6e9ef;border:1px solid #0000;border-radius:8px;padding:.55rem .9rem;font-size:.85rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s}.atom-button:disabled{opacity:.45;cursor:not-allowed}.atom-button--primary{color:#0d1117;background:#4f9dff}.atom-button--primary:hover:not(:disabled){background:#6fb0ff}.atom-button--ghost{background:#1b202b;border-color:#2a3140}.atom-button--ghost:hover:not(:disabled){color:#fff;border-color:#4f9dff}.atom-button--active{color:#fff;background:#29405f;border-color:#4f9dff}.page-auth{background:#0d1117;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem 1rem;display:flex}.page-auth__card{background:#11151c;border:1px solid #1f2531;border-radius:14px;flex-direction:column;gap:1rem;width:22rem;max-width:100%;padding:1.75rem;display:flex}.page-auth__title{color:#e6e9ef;margin:0;font-size:1.2rem;font-weight:600}.page-auth__field{color:#9aa5b1;flex-direction:column;gap:.35rem;font-size:.82rem;display:flex}.page-auth__field input{color:#e6e9ef;font:inherit;background:#161b24;border:1px solid #2a3140;border-radius:8px;padding:.55rem .65rem;font-size:.9rem}.page-auth__field input:focus{border-color:#4f9dff;outline:none}.page-auth__error{color:#ff8a8a;margin:0;font-size:.8rem}.page-auth__switch{color:#9aa5b1;text-align:center;margin:0;font-size:.82rem}.page-auth__switch a{color:#4f9dff}.page-auth__back{color:#6b7385;font-size:.78rem;text-decoration:none}.tpl-app-layout{color:#e6e9ef;background:#0d1117;flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.tpl-app-layout__body{flex:1;min-height:0;display:flex}.tpl-app-layout__sidebar{background:#11151c;border-right:1px solid #1f2531;flex-direction:column;flex-shrink:0;gap:1.5rem;width:300px;padding:1.25rem;display:flex;overflow-y:auto}.tpl-app-layout__viewport{flex:1;min-width:0;position:relative}.tpl-app-layout__detail{background:#11151c;border-left:1px solid #1f2531;flex-shrink:0;width:300px;padding:1.25rem;overflow-y:auto}@media (width<=1080px){.tpl-app-layout__body{flex-wrap:wrap}.tpl-app-layout__viewport{flex-basis:100%;order:1;min-height:50vh}.tpl-app-layout__sidebar{order:2}.tpl-app-layout__detail{border-top:1px solid #1f2531;border-left:none;order:3}}@media (width<=720px){.tpl-app-layout__sidebar,.tpl-app-layout__detail{width:100%;max-height:45vh}}.org-topbar{background:#11151c;border-bottom:1px solid #1f2531;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.org-topbar__brand{color:#e6e9ef;letter-spacing:.02em;font-size:.9rem;font-weight:600}.org-topbar__actions{align-items:center;gap:.5rem;display:flex}.mol-dropzone{text-align:center;cursor:pointer;background:#161b24;border:1.5px dashed #2a3140;border-radius:10px;padding:1.25rem 1rem;transition:border-color .15s,background-color .15s}.mol-dropzone:hover,.mol-dropzone--active{background:#182233;border-color:#4f9dff}.mol-dropzone--error{border-color:#ff6b6b}.mol-dropzone__input{display:none}.mol-dropzone__title{color:#e6e9ef;overflow-wrap:anywhere;font-size:.9rem;font-weight:500}.mol-dropzone__hint{color:#6b7385;margin-top:.35rem;font-size:.75rem}.mol-dropzone--error .mol-dropzone__hint{color:#ff8a8a}.org-workspace-rail{flex-direction:column;gap:.5rem;display:flex}.org-workspace-rail__title{text-transform:uppercase;letter-spacing:.06em;color:#6b7385;margin:0 0 .4rem;font-size:.75rem}.org-workspace-rail__title--spaced{margin-top:1.25rem}.org-workspace-rail__list{flex-direction:column;gap:.2rem;display:flex}.org-workspace-rail__item-row{align-items:center;gap:.25rem;display:flex}.org-workspace-rail__item{text-align:left;color:#e6e9ef;min-width:0;font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.82rem;overflow:hidden}.org-workspace-rail__item:hover{background:#161b24}.org-workspace-rail__item--active{background:#1c2b42;border-color:#4f9dff}.org-workspace-rail__delete{color:#5a6273;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;width:1.6rem;height:1.6rem;font-size:1rem;line-height:1}.org-workspace-rail__delete:hover{color:#ff8a8a;background:#1b202b}.org-workspace-rail__new{gap:.4rem;display:flex}.org-workspace-rail__new-input{color:#e6e9ef;min-width:0;font:inherit;background:#161b24;border:1px solid #2a3140;border-radius:8px;flex:1;padding:.5rem .6rem;font-size:.8rem}.org-workspace-rail__new-input:focus{border-color:#4f9dff;outline:none}.org-workspace-rail__hint{color:#6b7385;margin:.2rem 0 0;font-size:.76rem}.org-workspace-rail__error{color:#ff8a8a;margin:.5rem 0 0;font-size:.78rem}.mol-explode-slider{align-items:center;gap:.75rem;display:flex}.mol-explode-slider input[type=range]{accent-color:#4f9dff;flex:1}.mol-explode-slider__value{color:#9aa5b1;font-variant-numeric:tabular-nums;text-align:right;width:2.6rem;font-size:.8rem}.mol-component-item{color:#e6e9ef;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.82rem;display:flex}.mol-component-item:hover{background:#161b24}.mol-component-item--selected{background:#1c2b42;border-color:#4f9dff}.mol-component-item__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mol-component-item__badges{flex-shrink:0;gap:.3rem;display:flex}.mol-component-item__badge{border-radius:50%;width:.5rem;height:.5rem}.mol-component-item__badge--note{background:#f5c563;border-radius:2px}.mol-component-item__badge--audio{background:#63e6a2}.org-parts__title{text-transform:uppercase;letter-spacing:.06em;color:#6b7385;margin:0 0 .6rem;font-size:.75rem}.org-parts__title--spaced{margin-top:1.25rem}.org-parts__hint{color:#6b7385;margin-top:.4rem;font-size:.78rem}.org-parts__list{flex-direction:column;gap:.2rem;max-height:16rem;display:flex;overflow-y:auto}.note-marker{justify-content:center;align-items:center;display:flex;position:relative}.note-marker__dot{cursor:pointer;border:2px solid #0d1117;border-radius:50%;width:.85rem;height:.85rem;padding:0;box-shadow:0 0 0 3px #ffffff14}.note-marker__dot--component{background:#f5c563}.note-marker__dot--model{background:#4f9dff}.note-marker__dot--open{box-shadow:0 0 0 4px #fff3}.note-marker__card{text-align:left;background:#161b24;border:1px solid #2a3140;border-radius:10px;width:12rem;padding:.6rem .7rem;position:absolute;bottom:calc(100% + .6rem);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000073}.note-marker__card--component{border-top:2px solid #f5c563}.note-marker__card--model{border-top:2px solid #4f9dff}.note-marker__close{color:#6b7385;cursor:pointer;background:0 0;border:none;padding:.1rem;display:flex;position:absolute;top:.4rem;right:.4rem}.note-marker__close:hover{color:#e6e9ef}.note-marker__title{color:#e6e9ef;margin:0 1rem .3rem 0;font-size:.75rem;font-weight:600}.note-marker__body{color:#9aa5b1;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.75rem;line-height:1.4}.atom-icon-button{color:#9aa5b1;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;transition:background-color .15s,color .15s,border-color .15s;display:flex}.atom-icon-button:hover:not(:disabled){color:#e6e9ef;background:#1b202b}.atom-icon-button--active{color:#fff;background:#29405f;border-color:#4f9dff}.atom-icon-button:disabled{opacity:.35;cursor:not-allowed}.org-viewport-toolbar{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#11151cd9;border:1px solid #1f2531;border-radius:12px;flex-direction:column;gap:.25rem;padding:.4rem;display:flex;position:absolute;top:1rem;left:1rem}.org-viewport-toolbar__divider{background:#1f2531;height:1px;margin:.25rem .2rem}.mol-viewport-tip{z-index:5;color:#e6d9ad;background:#241f14;border:1px solid #4a3d1d;border-radius:10px;width:12rem;padding:.7rem .8rem;position:absolute;top:1rem;right:1rem;box-shadow:0 4px 14px #00000059}.mol-viewport-tip__close{color:#a99a63;cursor:pointer;background:0 0;border:none;padding:.15rem;display:flex;position:absolute;top:.5rem;right:.5rem}.mol-viewport-tip__close:hover{color:#e6d9ad}.mol-viewport-tip__title{text-transform:uppercase;letter-spacing:.06em;margin:0 1rem .4rem 0;font-size:.72rem;font-weight:700}.mol-viewport-tip__list{margin:0;padding-left:1.1rem;font-size:.76rem;line-height:1.5}.atom-switch{cursor:pointer;background:#1b202b;border:1px solid #2a3140;border-radius:999px;flex-shrink:0;width:2.1rem;height:1.2rem;padding:0;transition:background-color .15s,border-color .15s;position:relative}.atom-switch--on{background:#29405f;border-color:#4f9dff}.atom-switch__thumb{background:#9aa5b1;border-radius:50%;width:1rem;height:1rem;transition:transform .15s,background-color .15s;position:absolute;top:1px;left:1px}.atom-switch--on .atom-switch__thumb{background:#4f9dff;transform:translate(.9rem)}.scene-viewport{background:#11151c;width:100%;height:100%;min-height:0;position:relative}.scene-viewport canvas{outline:none;display:block}.scene-viewport__empty{pointer-events:none;text-align:center;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.scene-viewport__empty p{color:#6b7385;max-width:22rem;font-size:.95rem}.scene-viewport__autorotate{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#9aa5b1;background:#11151cd9;border:1px solid #1f2531;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .7rem;font-size:.75rem;display:flex;position:absolute;bottom:1rem;right:1rem}.scene-viewport__caption{z-index:5;letter-spacing:.06em;text-transform:uppercase;color:#5a6273;pointer-events:none;font-size:.7rem;position:absolute;bottom:1rem;left:1rem}.atom-axis-tag{color:#0d1117;border-radius:6px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;font-weight:700;display:inline-flex}.atom-axis-tag--x{background:#ff6b6b}.atom-axis-tag--y{background:#63e6a2}.atom-axis-tag--z{background:#63b3ff}.atom-stat-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;display:flex}.atom-stat-row__left{color:#9aa5b1;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.atom-stat-row__right{font-variant-numeric:tabular-nums;color:#e6e9ef;font-size:.85rem}.mol-axis-input-group{gap:.5rem;display:flex}.mol-axis-input-group__field{background:#161b24;border:1px solid #2a3140;border-radius:8px;flex:1;align-items:center;gap:.4rem;padding:.3rem .5rem;display:flex}.mol-axis-input-group__field input{color:#e6e9ef;width:100%;min-width:0;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:none;font-size:.8rem}.mol-axis-input-group__field input:focus{outline:none}.mol-axis-input-group__field input::-webkit-outer-spin-button{margin:0}.mol-axis-input-group__field input::-webkit-inner-spin-button{margin:0}.mol-audio-attachment{flex-direction:column;gap:.5rem;display:flex}.mol-audio-attachment__input{display:none}.mol-audio-attachment__name{color:#9aa5b1;overflow-wrap:anywhere;font-size:.8rem}.mol-audio-attachment__actions{gap:.5rem;display:flex}.mol-audio-attachment__actions .atom-button{flex:1}.mol-audio-attachment__empty{color:#5a6273;margin:0;font-size:.8rem}.org-detail__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#6b7385;margin:0 0 .2rem;font-size:.7rem}.org-detail__name{color:#e6e9ef;overflow-wrap:anywhere;margin:0 0 1rem;font-size:1.05rem;font-weight:600}.org-detail__section-title{text-transform:uppercase;letter-spacing:.06em;color:#6b7385;margin:0 0 .6rem;font-size:.75rem}.org-detail__section-title--spaced{margin-top:1.25rem}.org-detail__actions{gap:.5rem;margin-top:.75rem;display:flex}.org-detail__actions .atom-button{flex:1}.org-detail__note{resize:vertical;color:#e6e9ef;width:100%;min-height:4.5rem;font:inherit;background:#161b24;border:1px solid #2a3140;border-radius:8px;padding:.55rem .65rem;font-size:.82rem}.org-detail__note:focus{border-color:#4f9dff;outline:none}.org-detail__note::placeholder{color:#5a6273}.org-detail__note-text{color:#c3c9d3;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.5}.org-detail--empty{flex-direction:column;display:flex}.org-detail__placeholder{color:#6b7385;font-size:.85rem}.org-share-panel__overlay{z-index:50;background:#05070a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.org-share-panel__modal{background:#161b24;border:1px solid #2a3140;border-radius:12px;width:22rem;max-width:calc(100vw - 2rem);padding:1.25rem;box-shadow:0 12px 40px #00000080}.org-share-panel__title{color:#e6e9ef;margin:0 0 .5rem;font-size:.95rem;font-weight:600}.org-share-panel__hint{color:#9aa5b1;margin:0 0 .9rem;font-size:.78rem}.org-share-panel__link-row{gap:.5rem;margin-bottom:.75rem;display:flex}.org-share-panel__link-input{color:#e6e9ef;min-width:0;font:inherit;background:#0d1117;border:1px solid #2a3140;border-radius:8px;flex:1;padding:.5rem .6rem;font-size:.78rem}.org-share-panel__link-input:focus{border-color:#4f9dff;outline:none}.page-student-view__status{color:#9aa5b1;text-align:center;background:#0d1117;justify-content:center;align-items:center;width:100vw;height:100vh;padding:2rem;font-size:.95rem;display:flex}.page-status{color:#9aa5b1;background:#0d1117;justify-content:center;align-items:center;width:100vw;height:100vh;font-size:.95rem;display:flex}
