:root{color:#e4e9ee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--canvas:#0d141b;--surface-active:#1d2c38;--line:#263541;--line-soft:#1e2a34;--text:#e4e9ee;--text-muted:#a2b0bc;--text-dim:#738391;--accent:#c8ed7a;--warning:#f3bf6b;--error:#f08578;--info:#81bce1;--mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;background:#0d141b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0}body{background:var(--canvas);min-height:100dvh;color:var(--text);font-size:13px;line-height:1.45}button,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{font-family:var(--mono);font-size:.92em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.forge-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:5;border-bottom:1px solid var(--line);background:#101922;align-items:center;gap:16px;height:54px;min-height:54px;padding:0 21px;display:flex;position:relative}.skip-link{z-index:10;background:var(--accent);color:#172115;border:1px solid #a6c66b;border-radius:4px;padding:8px 11px;font-size:11px;font-weight:700;text-decoration:none;position:absolute;top:-48px;left:12px}.skip-link:focus-visible{top:8px}.brand-lockup{color:var(--text);flex:none;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-mark{width:27px;height:27px;color:var(--accent);font:500 11px/1 var(--mono);letter-spacing:-1px;border:1px solid #8ba85c;border-radius:6px 6px 6px 1px;place-items:center;display:grid}.brand-wordmark{letter-spacing:.13em;font-size:11px;font-weight:700}.header-context{min-width:0;color:var(--text-muted);align-items:center;gap:16px;display:flex}.header-divider{background:var(--line);width:1px;height:18px}.header-project-name{max-width:min(40vw,470px);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.header-project-name.muted{color:var(--text-muted);font-weight:400}.header-right{align-items:center;gap:17px;margin-left:auto;display:flex}.privacy-indicator{color:var(--text-muted);align-items:center;gap:7px;font-size:11px;display:inline-flex}.privacy-indicator>span{background:var(--accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #c8ed7a1a}.text-button{min-height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 8px;font-size:11px}.text-button:hover{border-color:var(--line);color:var(--text)}.text-button:disabled{color:#687783;cursor:not-allowed}.text-button:disabled:hover{border-color:#0000}.app-main{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.workspace-toolbar{z-index:4;border-bottom:1px solid var(--line);background:#111a23;align-items:center;gap:14px;min-height:58px;padding:10px 20px;display:flex;position:relative}.global-search{background:#0d151d;border:1px solid #32424f;border-radius:5px;align-items:center;width:min(560px,100%);min-height:35px;display:flex;position:relative}.global-search:focus-within{border-color:#91ac64}.search-mark{color:var(--accent);font:20px/1 var(--mono);padding-left:11px}.global-search input{width:100%;min-width:0;height:33px;color:var(--text);background:0 0;border:0;outline:0;padding:0 8px;font-size:12px}.global-search input::placeholder{color:#71818e}.global-search input:focus-visible{outline:0}.search-hint{color:var(--text-dim);font:9px/1.4 var(--mono);border:1px solid #34434f;border-radius:3px;flex:none;margin-right:8px;padding:2px 5px}.search-results{background:#15212b;border:1px solid #354652;border-radius:5px;max-height:min(60vh,460px);position:absolute;top:calc(100% + 7px);left:0;right:0;overflow:auto;box-shadow:0 12px 30px #00000057}.search-results-label{border-bottom:1px solid var(--line);color:var(--text-dim);font:10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;margin:0;padding:8px 11px}.search-result-list,.entity-list,.reference-list,.reference-groups,.finding-list,.severity-summary{margin:0;padding:0;list-style:none}.search-result{border:0;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;background:0 0;width:100%;padding:8px 11px;display:block}.search-result:hover,.search-result:focus-visible{background:var(--surface-active)}.search-result-main{align-items:baseline;gap:8px;display:flex}.search-result-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.search-result-kind{color:var(--accent);font-size:10px}.search-result-path,.entity-link-path{color:var(--text-dim);font:10px/1.45 var(--mono);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.open-project-button{background:var(--accent);color:#172115;cursor:pointer;border:1px solid #a6c66b;border-radius:4px;flex:none;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.open-project-button:hover:not(:disabled){background:#d8f69c}.open-project-button:disabled{color:#a9b69e;cursor:not-allowed;background:#344033;border-color:#4c5c4a}.open-project-button>span{font-size:17px;font-weight:400;line-height:.7}.inline-progress{border-bottom:1px solid var(--line-soft);min-height:28px;color:var(--text-muted);align-items:center;gap:8px;padding:0 20px;font-size:11px;display:flex}.progress-pulse{background:var(--accent);border-radius:50%;width:6px;height:6px}.workspace-layout{border-bottom:1px solid var(--line);flex:auto;grid-template-columns:minmax(215px,.8fr) minmax(400px,2.1fr) minmax(260px,.95fr);min-height:0;display:grid}.explorer-pane,.diagnostics-pane{background:#101922;min-width:0;overflow:auto}.explorer-pane{border-right:1px solid var(--line)}.diagnostics-pane{border-left:1px solid var(--line);background:#111a23}.pane-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;min-height:58px;padding:10px 13px;display:flex}.eyebrow{color:var(--text-dim);font:9px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;margin:0 0 4px}.pane-heading h2{color:var(--text);margin:0;font-size:13px;font-weight:600}.count-chip{min-width:22px;min-height:19px;color:var(--text-muted);font:10px/1.2 var(--mono);border:1px solid #33434e;border-radius:10px;justify-content:center;align-items:center;padding:1px 5px;display:inline-flex}.explorer-groups{padding:6px 0 16px}.explorer-group{padding:5px 0 4px}.explorer-group>h3{color:#718391;font:9px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;margin:0;padding:7px 13px 5px}.entity-kind-group{margin-bottom:4px}.entity-kind-heading{color:var(--text-muted);justify-content:space-between;padding:3px 13px;font-size:10px;font-weight:600;display:flex}.entity-kind-heading>span:last-child{color:var(--text-dim);font:10px/1.4 var(--mono)}.entity-link{text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:8px;width:100%;min-height:34px;padding:5px 12px 5px 14px;display:flex}.entity-link:hover{background:#17232d}.entity-link.is-selected{border-left-color:var(--accent);background:#1c2a31}.entity-kind-dot{background:#536472;border:1px solid #899aa7;border-radius:2px;flex:0 0 7px;width:7px;height:7px}.entity-kind-dot[data-kind=object]{background:#8b6847;border-color:#e7a968}.entity-kind-dot[data-kind=family]{background:#8e6271;border-color:#d48fa4}.entity-kind-dot[data-kind=layout]{background:#4a827f;border-color:#82c4bd}.entity-kind-dot[data-kind=eventSheet]{background:#586995;border-color:#9aabe4}.entity-kind-dot[data-kind=function]{background:#77934f;border-color:#c8ed7a}.entity-kind-dot[data-kind=variable]{background:#94834e;border-color:#e9cb71}.entity-link-copy{flex:1;min-width:0}.entity-link-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.entity-link:hover .entity-link-name,.entity-link.is-selected .entity-link-name{color:var(--text)}.entity-link-path{margin-top:1px;font-size:9px}.quiet-empty{color:var(--text-dim);padding:15px 13px;font-size:11px}.main-column{background:var(--canvas);min-width:0;overflow:auto}.overview-pane{border-bottom:1px solid var(--line);background:#111a23;padding:18px 22px 16px}.overview-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.overview-heading h1{overflow-wrap:anywhere;max-width:100%;color:var(--text);letter-spacing:-.045em;margin:0;font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.2}.project-version{color:var(--text-dim);align-items:center;gap:8px;margin:7px 0 0;font-size:10px;display:flex}.project-version code{color:var(--text-muted);font-size:10px}.read-only-mark{color:#b2c59c;font:9px/1.2 var(--mono);white-space:nowrap;border:1px solid #39454a;border-radius:3px;flex:none;align-items:center;gap:6px;margin-top:5px;padding:4px 7px;display:inline-flex}.read-only-mark>span{color:var(--accent);font-size:10px}.overview-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(6,minmax(0,1fr));margin:17px 0 0;display:grid}.overview-fact{min-width:0;padding:9px 10px 8px 0}.overview-fact+.overview-fact{border-left:1px solid var(--line-soft);padding-left:11px}.overview-fact dt{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.overview-fact dd{color:var(--text);font:500 15px/1.3 var(--mono);margin:2px 0 0}.overview-fact-total dd{color:var(--accent)}.inspector-pane{padding:19px 22px 24px}.inspector-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:15px;display:flex}.entity-title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.entity-title-line h2,.inspector-empty h2{overflow-wrap:anywhere;color:var(--text);letter-spacing:-.035em;margin:0;font-size:19px;font-weight:600;line-height:1.25}.kind-tag{color:var(--accent);font:9px/1.2 var(--mono);border:1px solid #405044;border-radius:3px;padding:3px 6px}.entity-source-path{max-width:100%;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;display:inline-block;overflow:hidden}.relationship-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;padding-top:15px;display:grid}.relationship-section{min-width:0}.section-heading-line{align-items:center;gap:8px;margin-bottom:7px;display:flex}.section-heading-line h3,.metadata-section h3,.finding-section>h3{color:#c8d1d8;margin:0;font-size:11px;font-weight:600}.relationship-empty{color:var(--text-dim);border-left:1px solid #34434f;margin:0;padding:11px 10px;font-size:10px}.reference-group{border-top:1px solid var(--line-soft);margin-top:6px}.reference-confidence-section{margin-top:9px}.reference-confidence-title{color:#c8d1d8;margin:0;padding:5px 0 3px;font-size:10px;font-weight:650}.reference-confidence-section[data-confidence=possible]{border-top:1px dashed #665b40;margin-top:14px;padding-top:8px}.reference-confidence-section[data-confidence=possible] .reference-confidence-title{color:#d0b77c}.reference-confidence-note{color:#aa9a72;margin:0 0 5px;font-size:9px}.reference-group h5{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;padding:7px 0 4px;font-size:10px;font-weight:600;overflow:hidden}.reference-group h5 span{color:var(--text-dim);font:9px/1.4 var(--mono);text-overflow:ellipsis;margin-top:1px;font-weight:400;display:block;overflow:hidden}.reference-row{border-left:1px solid #425340;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 8px;padding:5px 0 6px 10px;display:grid;position:relative}.reference-link,.reference-name{min-width:0;color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:10px;overflow:hidden}.reference-link{cursor:pointer}.reference-link:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.reference-relationship{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.reference-path,.reference-location,.reference-source-tag{color:var(--text-dim);font:8px/1.4 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reference-location{grid-column:1/-1}.reference-source-tag{color:#92a383;text-align:right}.reference-source-tag[data-source=exact-string-fallback]{color:#aa9a72}.reference-source-tag[data-source=construct-expression]{color:#a9b4e0}.metadata-section{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.metadata-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin:6px 0 0;display:grid}.metadata-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:8px;min-width:0;padding:5px 0;display:flex}.metadata-row dt{min-width:0;color:var(--text-dim);font:9px/1.5 var(--mono);text-overflow:ellipsis;overflow:hidden}.metadata-row dd{min-width:0;max-width:65%;color:var(--text-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.metadata-row code{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.inspector-empty{flex-direction:column;justify-content:center;align-items:flex-start;min-height:185px;padding:24px 4px;display:flex}.inspector-empty p:last-child{max-width:440px;color:var(--text-muted);margin:7px 0 0;font-size:11px}.severity-summary{border-bottom:1px solid var(--line-soft);padding:9px 12px;display:flex}.severity-summary li{min-width:0;color:var(--text-dim);text-transform:capitalize;flex:1 1 0;align-items:center;gap:5px;font-size:9px;display:flex}.severity-summary li+li{border-left:1px solid var(--line-soft);padding-left:8px}.severity-summary strong{color:var(--text-muted);font:10px/1 var(--mono);margin-left:auto}.severity-dot{background:var(--info);border-radius:50%;flex:0 0 5px;width:5px;height:5px}[data-severity=error] .severity-dot,.severity-summary [data-severity=error] .severity-dot{background:var(--error)}[data-severity=warning] .severity-dot,.severity-summary [data-severity=warning] .severity-dot{background:var(--warning)}[data-severity=info] .severity-dot,.severity-summary [data-severity=info] .severity-dot{background:var(--info)}.diagnostics-clear{color:#aab89b;align-items:center;gap:8px;margin:13px 12px;font-size:10px;display:flex}.clear-mark{width:17px;height:17px;color:var(--accent);border:1px solid #53694a;border-radius:50%;place-items:center;font-size:10px;display:grid}.finding-section{padding:12px 12px 0}.finding-section>h3{color:var(--text-dim);font:9px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:5px}.finding{border-top:1px solid var(--line-soft);padding:9px 0 10px}.finding-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.severity-label{color:var(--info);font:8px/1.3 var(--mono);text-transform:uppercase}.finding[data-severity=error] .severity-label{color:var(--error)}.finding[data-severity=warning] .severity-label{color:var(--warning)}.finding[data-severity=info] .severity-label{color:var(--info)}.finding-topline code{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.finding h4{color:var(--text);overflow-wrap:anywhere;margin:4px 0 2px;font-size:10px;font-weight:600}.finding p{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:10px;line-height:1.5}.finding-path,.finding-evidence{color:#94a4af;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:8px;display:block;overflow:hidden}.finding-evidence{color:#b6c39f;background:#172119;border-left:2px solid #5a674b;padding:4px 6px}.resource-finding .severity-label{color:var(--warning)}.error-banner{color:#f0d1ca;background:#291b1b;border-bottom:1px solid #684943;align-items:center;gap:10px;padding:9px 20px;display:flex}.error-marker{width:18px;height:18px;color:var(--error);font:11px/1 var(--mono);border:1px solid #9d5a50;border-radius:50%;flex:0 0 18px;place-items:center;display:grid}.error-banner strong{font-size:10px;display:block}.error-banner p{color:#d1a9a2;overflow-wrap:anywhere;margin:1px 0 0;font-size:10px}.error-banner .text-button{color:#edb8ac;margin-left:auto}.welcome-state{background-color:#0000;background-image:linear-gradient(90deg,#0000 0 49.95%,#89a47d0a 50%,#0000 50.05%),linear-gradient(0deg,#0000 0 49.95%,#89a47d0a 50%,#0000 50.05%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;flex:auto;justify-content:center;align-items:flex-start;min-height:min(690px,100vh - 120px);padding:clamp(30px,9vh,90px) clamp(24px,13vw,190px);display:flex}.state-index{color:#708171;font:9px/1.4 var(--mono);letter-spacing:.1em;margin-bottom:30px}.state-mark{width:50px;height:50px;color:var(--accent);font:500 15px/1 var(--mono);border:1px solid #8aa557;border-radius:9px 9px 9px 1px;place-items:center;margin-bottom:21px;display:grid}.unsupported-mark{color:#9db0bd;border-color:#516370;font-size:20px}.welcome-state h1{max-width:570px;color:var(--text);letter-spacing:-.055em;margin:0;font-size:clamp(27px,4vw,42px);font-weight:500;line-height:1.1}.state-description{max-width:510px;color:var(--text-muted);margin:12px 0 0;font-size:12px;line-height:1.65}.state-action{min-height:38px;margin-top:23px;padding-inline:14px}.state-footnote{color:var(--text-dim);margin:12px 0 0;font-size:10px}.state-footnote code{color:#a9b69a}.loading-glyph{align-items:center;gap:5px;height:40px;margin-bottom:19px;display:flex}.loading-glyph span{background:#9cbb61;width:4px;height:20px}.loading-glyph span:nth-child(2){background:var(--accent);height:31px}.loading-glyph span:nth-child(3){background:#839e52;height:13px}.stage-list{grid-template-columns:repeat(2,minmax(0,max-content));gap:7px 22px;margin:30px 0 0;padding:0;list-style:none;display:grid}.stage-list li{color:#667581;font:9px/1.45 var(--mono)}.stage-list li.stage-current{color:var(--accent)}.app-footer{border-top:1px solid var(--line-soft);min-height:31px;color:var(--text-dim);justify-content:space-between;align-items:center;gap:14px;padding:0 20px;font-size:9px;display:flex}@media (width<=1120px){.workspace-layout{grid-template-columns:minmax(210px,.75fr) minmax(360px,2fr)}.diagnostics-pane{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.diagnostics-pane .pane-heading,.diagnostics-pane .severity-summary,.diagnostics-clear{grid-column:1}.diagnostics-pane .severity-summary{flex-direction:column;gap:6px}.diagnostics-pane .severity-summary li+li{border-left:0;padding-left:0}.finding-section{grid-area:1/2/span 4;padding:12px}.finding-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}}@media (width<=760px){.app-header{gap:10px;padding-inline:12px}.brand-wordmark,.header-divider,.privacy-indicator,.clear-project-button{display:none}.header-context{flex:1}.header-project-name{max-width:100%}.workspace-toolbar{gap:8px;padding:9px 10px}.workspace-toolbar>.open-project-button{width:35px;min-width:35px;padding:0;font-size:0;overflow:hidden}.workspace-toolbar>.open-project-button>span{font-size:18px}.workspace-layout{flex-direction:column;display:flex}.explorer-pane{border-right:0;border-bottom:1px solid var(--line);max-height:38vh}.explorer-pane .pane-heading{z-index:1;background:#101922;position:sticky;top:0}.main-column{overflow:visible}.diagnostics-pane{border-top:1px solid var(--line);display:block}.diagnostics-pane .severity-summary{flex-direction:row}.diagnostics-pane .severity-summary li+li{border-left:1px solid var(--line-soft);padding-left:8px}.finding-section{padding:12px}.finding-list{display:block}.overview-pane{padding:16px 14px 14px}.overview-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-fact:nth-child(4){border-left:0;padding-left:0}.overview-fact:nth-child(n+4){border-top:1px solid var(--line-soft)}.inspector-pane{padding:16px 14px 21px}.relationship-grid{grid-template-columns:1fr;gap:14px}.metadata-list{grid-template-columns:1fr}.welcome-state{min-height:calc(100dvh - 86px);padding:45px 22px}.stage-list{grid-template-columns:1fr;gap:5px}.error-banner{align-items:flex-start;padding:10px 12px}.error-banner .text-button{flex:none;align-self:center}}@media (width<=420px){.read-only-mark{display:none}.overview-heading h1{font-size:21px}.error-banner{flex-wrap:wrap}.error-banner .text-button{margin-left:27px}.app-footer{padding-inline:11px;font-size:8px}}
