:root{--viewer-shell-height:100vh;--viewer-shell-min-height:100vh;--viewer-safe-top:env(safe-area-inset-top,0px);--viewer-safe-right:env(safe-area-inset-right,0px);--viewer-safe-bottom:env(safe-area-inset-bottom,0px);--viewer-safe-left:env(safe-area-inset-left,0px)}@supports (height:100svh){:root{--viewer-shell-min-height:100svh}}@supports (height:100dvh){:root{--viewer-shell-height:100dvh}}html.viewer-route-active,body.viewer-route-active{height:100%;overflow:hidden}#app,.app-shell{min-height:100vh}.app-shell--viewer{min-height:var(--viewer-shell-min-height);height:var(--viewer-shell-height);position:relative;overflow:hidden}@supports (overflow:clip){.app-shell--viewer{overflow:clip}}.app-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#040a14ad;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.app-header--viewer{top:max(1rem, var(--viewer-safe-top));left:max(1rem, var(--viewer-safe-left));-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;z-index:30;background:0 0;border-bottom:0;border-radius:0;min-width:0;padding:0;position:absolute}.app-branding{min-width:0}.app-brand{font-size:1.35rem;font-weight:700;display:inline-flex}.app-header--viewer .app-brand{font-size:1.1rem}.app-subtitle{color:#ffffffb8;margin:.25rem 0 0}.app-header--viewer .app-subtitle{display:none}.app-nav{flex:none;gap:.5rem;display:flex}.app-nav-link{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:.45rem;padding:.45rem .75rem;font-size:.92rem;font-weight:600}.app-header--viewer .app-nav-link{padding:.4rem .65rem}.app-nav-link.router-link-active{border-color:#82a7ffcc}.app-nav-link--primary{color:#fff;background:#4c78ff;border-color:#4c78ff}.viewer-mode-switch{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#080d16c7;border:1px solid #ffffff14;border-radius:.55rem;align-items:center;gap:.5rem;padding:.25rem;display:inline-flex;box-shadow:0 12px 32px #0000004d}.viewer-mode-button{color:#ffffffb8;letter-spacing:.01em;background:0 0;border:1px solid #0000;border-radius:.4rem;justify-content:center;align-items:center;min-height:1.75rem;padding:.35rem .7rem;font-size:.85rem;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.viewer-mode-button.router-link-active{color:#f5f7fa;background:#4c78ff2e;border-color:#82a7ff52}.app-main{padding:1.5rem}.app-main--viewer{height:100%;min-height:0;padding:0;overflow:hidden}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f5f7fa;background:#07111f;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#4c78ff3d,#0000 32%),linear-gradient(#07111f 0%,#09172c 100%);min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.page{max-width:1360px;margin:0 auto}.page--list-mode{align-content:start;width:100%;max-width:none;min-height:calc(100vh - 4rem)}.page--viewer{width:100%;max-width:none;height:100%;min-height:0;position:relative;overflow:hidden}.page-title{margin:0;font-size:2rem}.page-subtitle{color:#ffffffb8;margin:.75rem 0 0}.panel{background:#0b1424db;border:1px solid #ffffff14;border-radius:.55rem;padding:1rem;box-shadow:0 10px 28px #0003}.panel--sidebar{background:#080d16fa;padding:1rem}.panel--sidebar-fill{align-content:start;gap:.85rem;display:grid}.panel h2,.panel h3{margin-top:0}.grid{gap:1rem;display:grid}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;display:grid}.metric-card{background:#ffffff06;border:1px solid #ffffff0f;border-radius:.5rem;padding:.8rem}.metric-label{color:#ffffffa8;font-size:.9rem;display:block}.metric-value{margin-top:.25rem;font-size:1rem;font-weight:600;display:block}.button-row{flex-wrap:wrap;gap:.5rem;display:flex}.button{color:#fff;cursor:pointer;background:linear-gradient(#4c78ff 0%,#3e66df 100%);border:1px solid #82a7ff3d;border-radius:.45rem;justify-content:center;align-items:center;min-height:2rem;padding:.42rem .8rem;font-size:.9rem;font-weight:600;line-height:1.2;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.65}.button--secondary{background:#ffffff0d;border-color:#ffffff1a}.button--ghost{background:0 0;border-color:#ffffff24}.button--compact{border-radius:.38rem;min-height:1.75rem;padding:.32rem .65rem;font-size:.82rem}.field{gap:.45rem;display:grid}.field--compact{gap:.35rem}.field label{color:#ffffffc7;font-size:.9rem;font-weight:600}.field input,.field textarea{width:100%;color:inherit;background:#ffffff0a;border:1px solid #ffffff24;border-radius:.45rem;padding:.65rem .8rem}.field textarea{resize:vertical;min-height:100px}.muted{color:#ffffffb8}.danger{color:#ff8b8b}.success{color:#83f0c6}.empty-state{text-align:center;padding:2rem}.status-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.status-item{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .85rem;display:flex}.status-item--active{border-color:#82a7ffcc}.status-item--done{border-color:#83f0c673}.status-pill{white-space:nowrap;background:#ffffff14;border-radius:999px;padding:.2rem .55rem;font-size:.82rem}.list-dropzone{border:1px dashed #ffffff14;border-radius:.7rem;padding:1rem;transition:border-color .12s,background .12s,box-shadow .12s;position:relative}.list-dropzone--active{background:#4c78ff0d;border-color:#82a7ff9e;box-shadow:inset 0 0 0 1px #82a7ff3d}.list-dropzone--busy{border-color:#83f0c647}.list-dropzone-status{background:#080d16eb;gap:.5rem;display:grid}.list-dropzone-title{margin:0;font-size:1rem;font-weight:700}.explorer-list{padding:0;overflow:hidden}.explorer-list-header,.explorer-row{grid-template-columns:minmax(240px,2.2fr) minmax(140px,1.3fr) minmax(90px,.7fr) minmax(90px,.7fr) minmax(80px,.6fr) auto;align-items:center;gap:.75rem;display:grid}.explorer-list-header{color:#ffffff94;letter-spacing:.06em;text-transform:uppercase;background:#ffffff08;border-bottom:1px solid #ffffff14;padding:.7rem 1rem;font-size:.75rem;font-weight:700}.explorer-list-header-action{text-align:right}.explorer-row{border-bottom:1px solid #ffffff0f;padding:.8rem 1rem;transition:background .12s,border-color .12s}.explorer-row:last-child{border-bottom:0}.explorer-row:hover{background:#ffffff09}.explorer-row-name{min-width:0;display:grid}.explorer-row-title,.explorer-row-subtitle,.explorer-row-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.explorer-row-title{font-size:.95rem}.explorer-row-subtitle{margin-top:.15rem;font-size:.84rem}.explorer-row-cell{font-size:.9rem}.explorer-row-action{justify-content:flex-end;display:flex}.model-layout{background:#03070f;height:100%;min-height:0;position:relative;overflow:hidden}.viewer-toolbar{flex-wrap:wrap;gap:.6rem;display:flex}.viewer-toolbar--panel{grid-template-columns:1fr;display:grid}.viewer-toolbar .button{border-radius:.45rem;padding:.4rem .7rem}.viewer-surface{height:auto;min-height:0;box-shadow:none;z-index:0;pointer-events:auto;background:#03070f;border:0;border-radius:0;position:absolute;inset:0;overflow:hidden}.viewer-surface>div{pointer-events:auto;width:100%;height:100%}.viewer-sidebar{grid-template-columns:2.6rem var(--viewer-dock-resize-handle-width,4px) minmax(0, 1fr);z-index:20;pointer-events:none;gap:0;max-width:min(96vw,100%);height:auto;min-height:0;display:grid;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.viewer-dock-resize-handle{touch-action:none;cursor:col-resize;background:#080d16eb;border:0;align-self:stretch;min-height:0;margin:0;padding:0}.viewer-dock-resize-handle:hover,.viewer-dock-resize-handle:focus-visible{background:#080d16eb}.viewer-dock-resize-handle:focus{outline:none}.viewer-dock-resize-handle:focus-visible{outline-offset:-1px;outline:1px solid #82a7ff8c}.viewer-sidebar>*{pointer-events:auto}.panel--rail{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080d16eb;border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;align-content:stretch;gap:.45rem;min-height:0;padding:.25rem;display:grid;overflow:hidden}.panel--dock{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080d16eb;align-content:start;gap:1rem;height:100%;min-height:0;display:grid;overflow:hidden auto}.viewer-dock{border-right:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr)}.viewer-dock-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.85rem;display:flex}.viewer-dock-heading{min-width:0}.viewer-dock-title{margin:0;font-size:1rem}.viewer-dock-subtitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:.2rem 0 0;font-size:.84rem;overflow:hidden}.sidebar-tab{color:#ffffffad;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase;letter-spacing:.14em;background:#ffffff08;border:1px solid #ffffff14;border-radius:.3rem;justify-content:center;align-items:center;width:100%;min-height:5.5rem;padding:.45rem .15rem;font-size:.68rem;font-weight:700;display:inline-flex;transform:rotate(180deg)}.sidebar-tab--active{color:#f5f7fa;background:#4c78ff2e;border-color:#82a7ff6b}.panel-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.panel-heading--split{align-items:center}.viewer-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.panel-kicker{letter-spacing:.12em;text-transform:uppercase;color:#8fb2ffd9;margin:0 0 .3rem;font-size:.72rem;font-weight:700}.panel-badge{color:#dce7ff;background:#4c78ff29;border:1px solid #82a7ff33;border-radius:999px;justify-content:center;align-items:center;min-width:2rem;padding:.3rem .6rem;font-size:.85rem;font-weight:700;display:inline-flex}.selection-details{gap:.85rem;display:grid}.selection-header{border-bottom:1px solid #ffffff14;gap:.25rem;padding-bottom:.85rem;display:grid}.selection-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffff8f;font-size:.75rem;font-weight:700}.empty-panel-state{text-align:center;background:#ffffff05;border:1px dashed #ffffff1f;border-radius:.85rem;place-items:center;min-height:16rem;padding:1rem;display:grid}.dock-section{gap:.85rem;display:grid}.detail-list{background:#ffffff05;border:1px solid #ffffff14;border-radius:.5rem;display:grid;overflow:hidden}.detail-row{border-bottom:1px solid #ffffff0f;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:.75rem;padding:.65rem .8rem;display:grid}.detail-row:last-child{border-bottom:0}.detail-label{letter-spacing:.05em;text-transform:uppercase;color:#ffffff8f;font-size:.76rem;font-weight:700}.detail-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.class-list{gap:.55rem;max-height:320px;display:grid;overflow:auto}.class-list--viewer{gap:.5rem;max-height:none;padding-right:.2rem}.class-item{background:#ffffff06;border:1px solid #ffffff0f;border-radius:.45rem;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;display:flex}.class-item-content{min-width:0}.class-item-content--split{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.class-item-title{display:block}.class-count{color:#ffffffd1;text-align:center;background:#ffffff14;border-radius:999px;flex:none;min-width:2rem;padding:.15rem .45rem;font-size:.76rem;font-weight:700}.class-item-subtitle{color:#ffffff94;margin-top:.2rem;font-size:.9rem}.two-column{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.code-like{white-space:pre-wrap;word-break:break-word;font-family:Consolas,Courier New,monospace;font-size:.92rem}.code-like--panel{background:#ffffff05;border:1px solid #ffffff14;border-radius:.85rem;gap:0;display:grid;overflow:hidden}.property-row{border-bottom:1px solid #ffffff0f;gap:.2rem;padding:.7rem .85rem;display:grid}.property-row:last-child{border-bottom:0}.property-name{letter-spacing:.06em;text-transform:uppercase;color:#ffffff8a;font-size:.75rem;font-weight:700}.property-value{color:#ffffffe6}@media (width<=1024px){.viewer-sidebar{max-width:min(96vw,100%)}}@media (width<=720px){.app-main{padding:1rem}.page--list-mode{min-height:calc(100vh - 2rem)}.panel{padding:1rem}.panel--viewer{padding:0}.viewer-overlay-card--metrics{grid-auto-flow:row}.viewer-action-grid{grid-template-columns:1fr}.explorer-list-header{display:none}.explorer-row{grid-template-columns:minmax(0,1fr);gap:.35rem}.explorer-row-action{justify-content:flex-start;margin-top:.2rem}.viewer-toolbar .button,.button--compact{width:100%}.viewer-sidebar{grid-template-columns:2.35rem var(--viewer-dock-resize-handle-width,4px) minmax(0, 1fr);max-width:100vw}.viewer-dock-header{display:grid}}
