@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600&family=Manrope:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);--color-primary:#18181a;--color-primary-light:#282828;--color-primary-lighter:#404040;--color-accent:#3d6b6a;--color-accent-hover:#4f8584;--color-accent-text:#2e5150;--color-accent-soft:#3d6b6a1a;--color-bg:#f7f4ef;--color-bg-alt:#ede9e1;--color-bg-dark:#111110;--color-bg-darker:#0c0c0b;--color-text:#18181a;--color-text-light:#4a4a52;--color-text-muted:#888890;--color-text-on-dark:#ede9e1;--color-text-on-dark-muted:#8a8a82;--color-border:#18181a1a;--color-border-strong:#18181a2e;--font-heading:"DM Sans", system-ui, sans-serif;--font-body:"Manrope", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--text-xs:clamp(.7rem, 1vw, .76rem);--text-sm:clamp(.82rem, 1.2vw, .88rem);--text-base:clamp(.94rem, 1.5vw, 1.02rem);--text-lg:clamp(1.06rem, 1.8vw, 1.18rem);--text-xl:clamp(1.3rem, 2.2vw, 1.6rem);--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--shadow-sm:0 2px 8px #1212140d;--shadow-md:0 6px 24px #12121412;--shadow-lg:0 12px 40px #12121417;--motion-micro:.12s;--motion-quick:.2s;--motion-base:.32s;--motion-slow:.6s;--transition-fast:.12s ease;--transition-base:.22s ease;--ease-smooth:cubic-bezier(0, 0, .2, 1);--ease-luxury:cubic-bezier(.16, 1, .3, 1);--app-bg:var(--color-bg);--app-panel:#ffffff85;--app-panel-muted:#ede9e1b3;--app-line:var(--color-border);--app-line-strong:var(--color-border-strong);--app-hover:#18181a09;--app-active:var(--color-accent-soft);--app-good:#2e6f55;--app-good-bg:#2e6f551a;--app-warn:#8a620d;--app-warn-bg:#8a620d1f;--app-danger:#9b3a32;--app-danger-bg:#9b3a321a;--app-toolbar-h:4.25rem;--app-sidebar-w:clamp(11rem, 20vw, 20rem);--app-inspector-w:clamp(15rem, 22vw, 24rem);--app-gap:1rem}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}html{background:var(--color-bg);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.78;overflow-x:hidden}::selection{background:var(--color-accent);color:var(--color-text-on-dark)}:focus-visible{outline-offset:3px;outline:2px solid #3d6b6a73}button,a{font:inherit;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;background:0 0;border:0}h1,h2,h3{color:var(--color-text);font-family:var(--font-heading);letter-spacing:0;font-weight:600;line-height:1.08}p{color:var(--color-text-light)}.skip-link{z-index:9999;border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-text-on-dark);transition:top var(--transition-base);padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}.app-frame{background:var(--app-bg);grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:100dvh;display:grid;overflow:hidden}.topbar{min-height:var(--app-toolbar-h);color:var(--color-text-on-dark);background:#111110f0;border-bottom:1px solid #ede9e11a;grid-template-columns:minmax(14rem,20rem) minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.75rem 1rem;display:grid;box-shadow:0 8px 24px #1111101a}.brand{min-width:0;color:var(--color-text-on-dark);transition:opacity var(--motion-base) var(--ease-smooth), transform var(--motion-base) var(--ease-luxury);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand:hover{opacity:.92;transform:translateY(-1px)}.brand__mark{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-on-dark);font-family:var(--font-heading);border:1px solid #ede9e129;flex:none;place-items:center;font-size:.95rem;font-weight:600;line-height:1;display:grid}.brand__text{min-width:0;line-height:1.25;display:grid}.brand__text strong,.brand__text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand__text strong{font-family:var(--font-heading);font-size:.98rem;font-weight:600}.brand__text span{color:var(--color-text-on-dark-muted);font-size:.78rem}.mode-tabs{scrollbar-width:thin;align-items:center;gap:.45rem;min-width:0;padding:.15rem;display:flex;overflow-x:auto}.mode-tabs a{border-radius:var(--radius-sm);color:#ede9e1b3;min-height:2.1rem;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;flex:none;padding:.55rem .7rem;font-size:.7rem;font-weight:400;line-height:1.1;text-decoration:none;position:relative}.mode-tabs a:hover{color:var(--color-text-on-dark);background:#ede9e114;border-color:#ede9e129}.mode-tabs a.active{color:var(--color-text-on-dark);background:#ede9e11f;border-color:#ede9e138}.topbar__meta{color:var(--color-text-on-dark-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;justify-content:flex-end;align-items:center;gap:.5rem;font-size:.7rem;display:flex}.topbar__meta span{padding-inline:.15rem}.topbar__meta button{isolation:isolate;border-radius:var(--radius-sm);min-height:2.15rem;color:var(--color-text-on-dark);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;transition:background-color var(--transition-base), border-color var(--transition-base), transform var(--motion-base) var(--ease-luxury);background:#ede9e114;border:1px solid #ede9e129;justify-content:center;align-items:center;padding:.55rem .8rem;font-size:.7rem;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.topbar__meta button:before{content:"";z-index:-1;opacity:0;transition:opacity var(--motion-base) var(--ease-smooth), transform var(--motion-slow) var(--ease-luxury);pointer-events:none;background:linear-gradient(105deg,#0000 0%,#ffffff2e 48%,#0000 100%);position:absolute;inset:0;transform:translate(-120%)}.topbar__meta button:hover{background:#ede9e124;border-color:#ede9e147;transform:translateY(-1px)}.topbar__meta button:hover:before{opacity:1;transform:translate(120%)}.workspace-grid{grid-template-columns:var(--app-sidebar-w) minmax(26rem, 1fr) var(--app-inspector-w);min-height:0;display:grid;overflow:hidden}.mode-panel,.inspector-panel{min-width:0;min-height:0;padding:var(--app-gap);background:var(--color-bg-alt);overflow:hidden auto}.mode-panel{border-right:1px solid var(--app-line)}.inspector-panel{border-left:1px solid var(--app-line)}.viewport-panel{min-width:0;min-height:0;padding:var(--app-gap);background:linear-gradient(#18181a09 1px, transparent 1px), linear-gradient(90deg, #18181a09 1px, transparent 1px), var(--color-bg);background-size:2rem 2rem;grid-template-rows:auto minmax(22.5rem,1fr);gap:.75rem;display:grid}.workspace-summary,.tool-group,.inspector-header,.inspector-group,.viewport-toolbar{border:1px solid var(--app-line);border-radius:var(--radius-md);background:var(--app-panel);box-shadow:var(--shadow-sm)}.workspace-summary,.tool-group,.inspector-header,.inspector-group{min-width:0;margin-bottom:.75rem;padding:.9rem}.workspace-summary h1,.workspace-summary p,.tool-group h2,.inspector-group h3{overflow-wrap:anywhere;word-break:break-word}.workspace-summary h1,.viewport-toolbar h2,.inspector-header h2{margin:.25rem 0 .45rem;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.12}.workspace-summary p,.inspector-header p{color:var(--color-text-light);margin:0;font-size:.82rem;line-height:1.55}.eyebrow{color:var(--color-accent-text);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:400}.state-pill{border:1px solid var(--app-line);border-radius:var(--radius-sm);background:var(--app-panel-muted);min-height:1.8rem;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.45rem;margin-top:.75rem;padding:.25rem .55rem;font-size:.7rem;line-height:1;display:inline-flex}.state-pill:before{content:"";background:currentColor;border-radius:999px;width:.42rem;height:.42rem}.tool-group h2,.inspector-group h3{color:var(--color-text);font-family:var(--font-heading);margin:0 0 .65rem;font-size:.95rem;line-height:1.2}.tool-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,7rem),1fr));gap:.45rem;display:grid}.tool-list button{border:1px solid var(--app-line);border-radius:var(--radius-sm);min-height:2.15rem;color:var(--color-text);overflow-wrap:anywhere;text-align:left;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--motion-base) var(--ease-luxury);background:#f7f4ef9e;justify-content:flex-start;align-items:center;padding:.45rem .55rem;font-size:.76rem;line-height:1.25;display:inline-flex}.tool-list button:hover{border-color:var(--app-line-strong);background:var(--app-hover);color:var(--color-accent-text);transform:translateY(-1px)}.tool-list button[aria-pressed=true]{background:var(--app-active);color:var(--color-accent-text);border-color:#3d6b6a57}.viewport-toolbar{justify-content:space-between;align-items:center;gap:1rem;padding:.9rem;display:flex}.viewport-toolbar h2{margin-bottom:0}.metric-strip{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.metric{border:1px solid var(--app-line);border-radius:var(--radius-sm);background:var(--app-panel-muted);min-width:5.15rem;padding:.45rem .55rem;display:grid}.metric strong{color:var(--color-text);font-family:var(--font-mono);font-size:.92rem;font-weight:500;line-height:1.2}.metric small{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;line-height:1.35}.metric-good{background:var(--app-good-bg);border-color:#2e6f5540}.metric-good strong,.metric-good small{color:var(--app-good)}.metric-warn{background:var(--app-warn-bg);border-color:#8a620d40}.metric-warn strong,.metric-warn small{color:var(--app-warn)}.metric-danger{background:var(--app-danger-bg);border-color:#9b3a3240}.metric-danger strong,.metric-danger small{color:var(--app-danger)}.viewport-canvas{border:1px solid var(--app-line-strong);border-radius:var(--radius-md);min-height:22.5rem;box-shadow:var(--shadow-md);background-color:#fbf9f5;background-image:linear-gradient(#18181a0d 1px,#0000 1px),linear-gradient(90deg,#18181a0d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:2rem 2rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:relative;overflow:hidden}.viewport-grid{border:1px solid #3d6b6a38;position:absolute;inset:18% 10%;transform:skew(-18deg)}.level-line,.member-preview,.shell-preview{border-radius:var(--radius-sm);pointer-events:none;position:absolute}.level-line{background:#3d6b6a5c;height:2px;left:13%;right:15%}.level-line-a{top:35%}.level-line-b{top:61%}.member-preview{background:var(--color-primary-lighter);width:160px;height:8px;box-shadow:inset 0 0 0 1px #ffffffad}.member-preview-a{top:42%;left:32%;transform:rotate(-18deg)}.member-preview-b{top:56%;left:50%;transform:rotate(24deg)}.shell-preview{background:#3d6b6a1c;border:1px solid #3d6b6a70;width:240px;height:120px;top:46%;left:28%;transform:skew(-18deg)}.triad{gap:.4rem;display:flex;position:absolute;bottom:1rem;right:1rem}.triad span{background:var(--color-primary);width:1.75rem;height:1.75rem;color:var(--color-text-on-dark);font-family:var(--font-mono);border-radius:999px;place-items:center;font-size:.7rem;font-weight:500;display:grid}.viewport-readout{flex-wrap:wrap;gap:.5rem;max-width:calc(100% - 7.8rem);display:flex;position:absolute;bottom:.85rem;left:.85rem}.viewport-readout span{border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono);background:#ffffffe0;border:1px solid #18181a1f;padding:.35rem .5rem;font-size:.72rem}.model-viewport{border:1px solid var(--app-line-strong);border-radius:var(--radius-md);min-height:30rem;box-shadow:var(--shadow-md);background:#fbf9f5;position:relative;overflow:hidden}.three-canvas{cursor:crosshair;width:100%;height:100%;min-height:30rem;display:block}.viewport-hud{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:absolute}.viewport-hud--top{top:.75rem;left:.75rem;right:.75rem}.viewport-hud--bottom{flex-wrap:wrap;justify-content:flex-start;bottom:.75rem;left:.75rem;right:.75rem}.viewport-hud strong,.viewport-hud span,.viewport-actions button{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);color:var(--color-text);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#f7f4efd6;border:1px solid #18181a1f;font-size:.72rem;line-height:1}.viewport-hud strong,.viewport-hud span{align-items:center;min-height:2rem;padding:.45rem .55rem;display:inline-flex}.viewport-hud .viewport-prompt{color:#8a4f0d;white-space:normal;text-transform:none;background:#fff7eaeb;border-color:#d98b2b57;max-width:min(42rem,100%);line-height:1.2}.viewport-hud .eyebrow{margin:0 0 .25rem}.viewport-actions{pointer-events:auto;gap:.45rem;display:flex}.viewport-actions button{min-height:2rem;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);padding:.45rem .6rem}.viewport-actions button:hover{background:var(--app-active);color:var(--color-accent-text);border-color:#3d6b6a57}.inspector-group ul{color:var(--color-text-light);gap:.45rem;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.inspector-group li{border:1px solid var(--app-line);border-radius:var(--radius-sm);background:var(--app-panel-muted);padding:.5rem .55rem}.inspector-group li.issue{grid-template-columns:4.25rem minmax(0,1fr);align-items:start;gap:.45rem;display:grid}.issue strong{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:500}.issue span{min-width:0}.issue-error{background:var(--app-danger-bg)!important;border-color:#9b3a3240!important}.issue-error strong{color:var(--app-danger)}.issue-warning{background:var(--app-warn-bg)!important;border-color:#8a620d40!important}.issue-warning strong{color:var(--app-warn)}.issue-info strong{color:var(--color-accent-text)}.dataset-list{gap:.45rem;margin:0;display:grid}.dataset-list div{border:1px solid var(--app-line);border-radius:var(--radius-sm);background:var(--app-panel-muted);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .55rem;display:flex}.dataset-list dt{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem}.dataset-list dd{color:var(--color-text);font-family:var(--font-mono);margin:0;font-weight:500}.statusbar{border-top:1px solid var(--app-line);background:var(--color-bg-alt);grid-template-columns:minmax(0,1fr) auto;gap:.6rem;padding:.5rem .75rem;display:grid}.command-strip,.status-strip{align-items:center;gap:.5rem;min-width:0;display:flex}.command-strip{border:1px solid var(--app-line);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:#f7f4ef9e;flex-wrap:wrap;padding:.35rem .5rem;font-size:.7rem}.command-strip label{flex:none}.command-strip input{width:100%;min-width:0;color:var(--color-text);font-family:var(--font-mono);letter-spacing:0;text-transform:none;background:0 0;border:0;outline:none;flex:12rem;font-size:.72rem}.command-strip strong{min-width:0;color:var(--color-text);letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere;word-break:break-word;flex:100%;font-size:.7rem;font-weight:500;line-height:1.35}.status-strip{scrollbar-width:thin;flex-wrap:wrap;justify-content:flex-end;overflow-x:auto}.status-chip{border:1px solid var(--app-line);border-radius:var(--radius-sm);background:var(--app-panel-muted);flex:none;grid-template-columns:auto auto;align-items:baseline;gap:.5rem;padding:.4rem .55rem;display:grid}.status-chip strong{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:500}.status-chip small{color:var(--color-text-muted);font-size:.7rem}.state-current{background:var(--app-good-bg);color:var(--app-good);border-color:#2e6f5540}.state-current small{color:var(--app-good)}.state-stale,.state-warning{background:var(--app-warn-bg);color:var(--app-warn);border-color:#8a620d40}.state-stale small,.state-warning small{color:var(--app-warn)}.state-blocked{background:var(--app-danger-bg);color:var(--app-danger);border-color:#9b3a3240}.state-blocked small{color:var(--app-danger)}.state-empty{border-color:var(--app-line-strong);color:var(--color-text-muted);background:#f7f4ef9e}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{border:2px solid var(--color-bg-alt);background:#4a4a5240;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#4a4a5266}@media (width<=1100px){.topbar{grid-template-columns:1fr}.topbar__meta{white-space:normal;flex-wrap:wrap;justify-content:flex-start}.workspace-grid{grid-template-columns:minmax(11rem,16rem) minmax(0,1fr)}.inspector-panel{border-top:1px solid var(--app-line);border-left:0;grid-column:1/-1}}@media (width<=900px){.workspace-grid{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr)}.workspace-summary h1{font-size:clamp(.95rem,2.4vw,1.15rem)}.workspace-summary p,.active-tool-hint{font-size:.74rem}.mode-panel,.inspector-panel{padding:.6rem}.workspace-summary,.tool-group,.inspector-group{padding:.65rem}}@media (width<=760px){.app-frame{min-height:auto}.workspace-grid,.statusbar{grid-template-columns:1fr}.mode-panel,.inspector-panel{border-left:0;border-right:0}.viewport-panel{grid-template-rows:auto minmax(20rem,58vh)}.viewport-toolbar{flex-direction:column;align-items:flex-start}.metric-strip{justify-content:flex-start}.tool-list{grid-template-columns:1fr}.viewport-readout{max-width:none;right:.85rem}.triad{top:1rem;bottom:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}.brand:hover,.topbar__meta button:hover,.tool-list button:hover{transform:none}}
