:root{--bg:#0d0f14;--bg-panel:#14161d;--bg-inset:#0a0b10;--border:#262a35;--text:#c7cad1;--text-dim:#7b8091;--text-bright:#f2f3f5;--accent:#7c9eff;--pass:#4ade80;--fail:#f87171;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:15px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100vh;margin:0}button{font:inherit;cursor:pointer}a{color:var(--accent)}.page{flex-direction:column;height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:baseline;gap:8px 16px;padding:16px 24px;display:flex}.brand{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.brand-mark{font-family:var(--mono);color:var(--text-bright);white-space:nowrap;font-size:17px;font-weight:600}.brand-tagline{color:var(--text-dim);font-size:13px}.github-link{color:var(--text-dim);font-size:13px;text-decoration:none}.github-link:hover{color:var(--text-bright)}.layout{background:var(--border);flex:1;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}@media (width<=860px){.layout{grid-template-rows:1fr 1fr;grid-template-columns:1fr;overflow:auto}}.panel{background:var(--bg-panel);flex-direction:column;min-height:0;display:flex}.panel-header{border-bottom:1px solid var(--border);font-family:var(--mono);color:var(--text-dim);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 16px;font-size:13px;display:flex}.panel-actions{gap:8px;display:flex}.header-left{align-items:center;gap:12px;min-width:0;display:flex}.filename{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mode-toggle{border:1px solid var(--border);border-radius:6px;flex-shrink:0;display:flex;overflow:hidden}.mode-toggle button{color:var(--text-dim);background:0 0;border:none;padding:5px 10px;font-size:12px}.mode-toggle button+button{border-left:1px solid var(--border)}.mode-toggle button.active{background:var(--accent);color:#0d0f14;font-weight:600}.mode-toggle button:not(.active):hover{color:var(--text-bright)}.sort-toggle button{padding:4px 8px;font-size:11px}.resource-groups{flex-direction:column;gap:8px;display:flex}.resource-group{border:1px solid var(--border);border-radius:8px;overflow:hidden}.resource-group-header{background:var(--bg-inset);width:100%;color:var(--text);font-family:var(--mono);text-align:left;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.resource-group-header:hover{background:#16181f}.resource-group-chevron{color:var(--text-dim);flex-shrink:0;width:10px}.resource-group-name{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.resource-group-count{color:var(--text-dim);flex-shrink:0}.findings-list.nested{gap:6px;padding:8px}.finding-explain{border-top:1px solid var(--border);background:var(--bg-inset);padding:12px}.btn-explain{font-size:12px}.explain-error{color:var(--fail);align-items:center;gap:10px;font-size:13px;display:flex}.explain-text{color:var(--text);margin:0 0 10px;font-size:13px}.diff-view{flex-direction:column;gap:8px;display:flex}.diff-before,.diff-after{border:1px solid var(--border);border-radius:6px;overflow:hidden}.diff-label{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-family:var(--mono);padding:4px 8px}.diff-before .diff-label{color:var(--fail);background:#f8717126}.diff-after .diff-label{color:var(--pass);background:#4ade8026}.diff-before pre,.diff-after pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--text);margin:0;padding:8px 10px;font-size:12px;overflow-x:auto}.diff-before pre{background:#f871710f}.diff-after pre{background:#4ade800f}.btn-primary,.btn-ghost{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:6px;padding:6px 14px;font-size:13px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0d0f14;font-weight:600}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost:hover{border-color:var(--text-dim);color:var(--text-bright)}.btn-primary:not(:disabled):hover{filter:brightness(1.1)}.editor{flex:1;min-height:0;overflow:hidden}.editor .cm-editor{background:var(--bg-inset);height:100%}.editor .cm-scroller{font-family:var(--mono);font-size:13px;line-height:1.6}.editor .cm-gutters{background:var(--bg-inset);border-right:1px solid var(--border);color:var(--text-dim)}.editor .cm-content{caret-color:var(--text-bright)}.editor .cm-activeLine,.editor .cm-activeLineGutter{background:#7c9eff0f}.editor .cm-highlighted-line{background:#f8717129}.editor .cm-highlighted-line.cm-activeLine{background:#f871713d}.results-body{flex:1;padding:16px;overflow-y:auto}.placeholder{color:var(--text-dim);font-size:13px}.error-banner{color:var(--fail);background:#f871711a;border:1px solid #f8717159;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;font-size:13px;display:flex}.error-dismiss{color:var(--fail);background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px;line-height:1}.error-dismiss:hover{color:var(--text-bright)}.clean-state{color:var(--text-dim);flex-direction:column;align-items:center;gap:8px;padding:32px 0;font-size:13px;display:flex}.clean-check{width:36px;height:36px;color:var(--pass);background:#4ade801f;border:1px solid #4ade8066;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.summary{gap:12px;margin-bottom:20px;display:flex}.summary-stat{background:var(--bg-inset);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:10px 18px;display:flex}.stat-number{font-family:var(--mono);color:var(--text-bright);font-size:22px;font-weight:600}.stat-passed .stat-number{color:var(--pass)}.stat-failed .stat-number{color:var(--fail)}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-size:11px}.findings-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.finding{border:1px solid var(--border);border-radius:8px;overflow:hidden}.finding.active{border-color:var(--accent)}.finding-header{background:var(--bg-inset);width:100%;color:var(--text);text-align:left;border:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.finding-header:hover{background:#16181f}.finding.active .finding-header{background:#7c9eff1a}.finding-check-id{font-family:var(--mono);color:var(--accent);flex-shrink:0;font-size:12px}.finding-title{color:var(--text-bright);flex:1;font-size:13px}.finding-resource{font-family:var(--mono);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:220px;font-size:12px;overflow:hidden}.finding-lines{font-family:var(--mono);color:var(--text-dim);flex-shrink:0;font-size:11px}.severity-badge{text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}.severity-critical{color:#f87171;background:#f871712e;border-color:#f8717166}.severity-high{color:#fb923c;background:#fb923c2e;border-color:#fb923c66}.severity-medium{color:#facc15;background:#facc1529;border-color:#facc1566}.severity-low{color:#94a3b8;background:#94a3b829;border-color:#94a3b866}.severity-info{color:var(--text-dim);border-color:var(--border);background:#7b809124}
