:root{--bg: #101113;--panel: #181a1f;--panel-2: #20242a;--panel-3: #262b32;--border: #303640;--border-strong: #3b444f;--text: #f0f2f3;--muted: #9aa3ad;--subtle: #6f7782;--accent: #7cc7a0;--accent-2: #2f9e6d;--info: #73b9ff;--good: #79c882;--warn: #e2b86b;--bad: #ff6b6b;--shadow: 0 18px 48px rgba(0, 0, 0, .28);--tab-height: 38px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:13px;overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);padding:7px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}button.primary{background:var(--accent-2);border-color:var(--accent-2)}button.primary:hover{background:var(--accent);border-color:var(--accent);color:#07120d}button.danger{color:var(--bad)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.nav-link:focus-visible,.tree-node .row:focus-visible,.clickable-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12px;font-family:inherit}textarea{font-family:Menlo,Monaco,monospace}.app{display:grid;grid-template-columns:268px 1fr;height:100vh}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:0;display:flex;flex-direction:column;gap:4px;overflow:hidden}.brand-block{display:flex;gap:10px;align-items:center;padding:16px 14px 14px;border-bottom:1px solid var(--border)}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--accent-2);color:#07120d;font-weight:800}.brand-name{font-weight:800;letter-spacing:0}.brand-kicker{color:var(--muted);font-size:11px;margin-top:2px}.sidebar-main{flex:1;overflow-y:auto;padding:14px}.sidebar-footer{border-top:1px solid var(--border);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sidebar-section{margin-bottom:16px}.section-label{color:var(--subtle);font-size:11px;font-weight:700;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.sidebar-nav{display:grid;gap:2px}.nav-link{display:flex;align-items:center;gap:10px;min-height:var(--tab-height);padding:0 10px;border-radius:6px;color:var(--text);font-weight:600}.nav-link-label{min-width:0}.nav-link-badge{margin-left:auto;color:var(--muted);font-size:11px;font-weight:700}.nav-link.active,.nav-link:hover{background:var(--panel-2);text-decoration:none}.nav-link.active{box-shadow:inset 3px 0 0 var(--accent)}.nav-link.active .nav-link-badge{color:var(--text)}.sidebar .folder-item{display:flex;flex-direction:column;padding:6px 10px;border-radius:6px;cursor:pointer}.sidebar .folder-item:hover{background:var(--panel-2)}.sidebar .folder-item.active{background:var(--accent-2)}.sidebar .folder-item small{color:var(--muted)}.sidebar-select{display:flex;flex-direction:column;gap:4px;padding:0 2px;color:var(--muted);font-size:12px}.sidebar-select select{width:100%}.sidebar-folder-select,.settings-button{width:auto}.folder-section{display:grid;gap:8px}.scan-panel{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#14161a}.scan-panel-header,.workspace-folder-topline,.workspace-folder-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.scan-panel-header{font-weight:700}.scan-panel-copy{color:var(--muted);font-size:12px}.scan-current{color:var(--subtle);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-version{color:var(--subtle);font-size:11px;font-weight:700;margin-left:auto}.settings-button{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;min-height:40px;padding:0}.settings-icon{width:18px;height:18px}.content{overflow:auto;padding:24px 28px;min-height:0;display:flex;flex-direction:column}.content>*{width:100%}.content>.editor-page{flex:1;min-height:0}.content h1{font-size:24px;line-height:1.2;margin:0;letter-spacing:0}.content h2{font-size:14px;margin:16px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:0}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}.page-header-copy{min-width:0}.eyebrow,.page-meta{color:var(--subtle);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0}.page-description{color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.page-meta{margin-top:8px}.page-actions,.action-strip{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.add-folder-split-button{position:relative;display:inline-flex;align-items:stretch}.add-folder-split-button .add-folder-main{border-top-right-radius:0;border-bottom-right-radius:0}.add-folder-menu{position:relative}.add-folder-menu summary{display:grid;place-items:center;width:34px;height:100%;min-height:31px;list-style:none;cursor:pointer;color:#07120d;background:var(--accent-2);border:1px solid var(--accent-2);border-left-color:#07120d3d;border-top-right-radius:6px;border-bottom-right-radius:6px}.add-folder-menu summary::-webkit-details-marker{display:none}.add-folder-menu summary:hover,.add-folder-menu[open] summary{background:var(--accent);border-color:var(--accent)}.add-folder-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.add-folder-menu summary svg{width:16px;height:16px}.add-folder-menu-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:228px;padding:6px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.add-folder-menu-popover button{width:100%;text-align:left;background:transparent;border-color:transparent}.add-folder-menu-popover button:hover{background:var(--panel-2)}.page-select-field{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.workspace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.workspace-dropzone{display:grid;gap:14px;align-items:center;padding:18px;margin-bottom:16px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--panel);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.workspace-dropzone.active{border-color:var(--accent);box-shadow:0 0 0 1px #7cc7a02e,var(--shadow);transform:translateY(-1px)}.workspace-dropzone-copy{display:grid;gap:8px}.workspace-dropzone-copy h2{margin:0;color:var(--text);font-size:24px;text-transform:none}.workspace-dropzone-copy p,.workspace-dropzone-note{margin:0;color:var(--muted);max-width:720px;line-height:1.6}.workspace-dropzone-actions{justify-content:flex-start}.workspace-folder-card{display:grid;gap:12px;min-height:148px;width:100%;padding:16px;text-align:left;align-content:start;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:none}.workspace-dropzone .status-pill{justify-self:start}.workspace-folder-card:hover{background:var(--panel-2)}.workspace-folder-card.active{border-color:var(--accent);background:var(--panel)}.workspace-folder-name{color:var(--text);font-size:18px;font-weight:700;overflow-wrap:anywhere;padding-right:8px}.workspace-folder-path,.workspace-folder-meta{color:var(--muted);overflow-wrap:anywhere}.workspace-folder-meta-list{display:grid;gap:8px}.workspace-folder-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.workspace-folder-meta-label{color:var(--subtle);font-size:11px;font-weight:700;text-transform:uppercase}.workspace-folder-meta-value,.workspace-folder-meta-empty{color:var(--muted);text-align:left}.workspace-link-button{padding:0;border:0;background:transparent;color:var(--info);font-size:12px;font-weight:600;text-align:left}.workspace-link-button:hover{background:transparent;border-color:transparent;color:var(--accent);text-decoration:underline}.workspace-folder-link{justify-content:flex-start;align-self:start;overflow-wrap:anywhere}.workspace-folder-commit{display:grid;gap:4px;min-width:0}.workspace-folder-commit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workspace-commit-age{font-size:11px;font-weight:700;line-height:1;padding:2px 6px;border-radius:4px;white-space:nowrap}.workspace-commit-age.commit-fresh{color:var(--good);background:#79c8821a}.workspace-commit-age.commit-warn{color:var(--warn);background:#e2b86b1a}.workspace-commit-age.commit-stale{color:var(--bad);background:#ff6b6b1a}.workspace-folder-menu{position:relative}.workspace-folder-menu summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:0 2px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;font-weight:700}.workspace-folder-menu summary::-webkit-details-marker{display:none}.workspace-folder-menu[open] summary,.workspace-folder-menu summary:hover{background:transparent;border-color:transparent;color:var(--text)}.workspace-folder-menu-popover{position:absolute;top:calc(100% + 6px);right:0;display:grid;min-width:148px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);z-index:10}.workspace-folder-menu-popover button{width:100%;text-align:left}.status-pill{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--accent);border:1px solid var(--border);font-size:11px;font-weight:700;white-space:nowrap}.workspace-folder-footer{align-items:flex-end}.workspace-folder-footer button{margin-left:auto}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.action-select{min-width:136px}.dashboard-page .page-header{margin-bottom:12px;padding-bottom:12px}.dashboard-page .section-heading{margin:10px 0 8px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.metric-card{min-height:104px}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin-bottom:12px}.dashboard-cards .metric-card{min-height:78px;padding:10px 12px}.dashboard-cards .card .value{font-size:20px}.metric-note{margin-top:6px;color:var(--muted);font-size:11px;line-height:1.4}.card .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:0}.card .value{font-size:22px;font-weight:600;margin-top:4px}.card .delta-pos{color:var(--good);font-size:12px}.card .delta-neg{color:var(--bad);font-size:12px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chart-box{height:300px;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--panel)}.dashboard-chart-grid{gap:12px}.dashboard-chart-grid .chart-box{height:280px;padding:8px}.echarts-panel{width:100%;height:100%}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:0}tr:hover{background:var(--panel-2)}.clickable-row{cursor:pointer}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.table-wrap table th,.table-wrap table td{border-bottom-color:var(--border)}.table-sort-button{border:0;background:transparent;color:var(--muted);font:inherit;text-transform:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:3px;border-radius:4px;padding:2px 4px;margin:-2px -4px}.table-sort-button:hover{background:var(--panel-2);color:var(--text);border-color:transparent}.table-sort-button.active{color:var(--accent);background:#7cc7a014;border-radius:4px}.table-sort-button:active{color:var(--accent);background:var(--panel-3)}.sort-arrows{font-size:10px;opacity:.7;margin-left:2px}.commit-sort-button{padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.commit-sort-button:hover{background:var(--panel-3);color:var(--text);border-color:var(--border-strong)}.commit-sort-button.active{background:var(--accent-2);color:#07120d;border-color:var(--accent-2)}.commit-sort-button.active:hover{background:var(--accent);border-color:var(--accent)}.filter-panel{margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.filter-toolbar{margin-bottom:0}.file-search-input{width:min(360px,100%)}.line-filter-input{width:116px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rules-textarea{width:100%}.tree-page{display:grid;gap:14px;padding-bottom:88px}.tree-current-path{position:sticky;top:0;z-index:5;display:grid;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#181a1ff0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tree-current-path-label{color:var(--subtle);font-size:11px;font-weight:700;text-transform:uppercase}.tree-current-path-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.tree-current-path-separator{color:var(--subtle)}.tree-current-path-segment{color:var(--muted);min-width:0;overflow-wrap:anywhere}.tree-current-path-segment.active{color:var(--text);font-weight:700}.tree-bottom-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#181a1ff0;box-shadow:var(--shadow);position:sticky;bottom:0;z-index:4;align-self:flex-start}.tree-node{font-family:Menlo,Monaco,monospace;font-size:12px}.tree-node .row{display:flex;padding:4px 6px;cursor:pointer;border-radius:4px}.tree-node .row:hover{background:var(--panel-2)}.tree-node .name{flex:1}.tree-node .total{color:var(--muted)}.progress{height:4px;background:var(--panel-2);border-radius:2px;overflow:hidden;margin:8px 0}.progress>div{height:100%;background:var(--accent);transition:width .2s}.muted{color:var(--muted)}.mono{font-family:Menlo,Monaco,monospace}.tag-pill{display:inline-block;padding:2px 6px;border-radius:4px;background:var(--panel-2);font-size:11px;margin-right:4px}.align-right{text-align:right}.tag-file-button{padding:0;border:0;background:transparent;color:var(--accent);text-align:left}.tag-file-button:hover{background:transparent;text-decoration:underline}.tag-jump-list{display:flex;gap:6px;flex-wrap:wrap}.tag-jump-button{min-width:28px;padding:2px 8px}.tag-TODO{color:var(--accent)}.tag-FIXME{color:var(--warn)}.tag-HACK{color:var(--bad)}.tag-NOTE{color:var(--good)}.tag-XXX{color:var(--bad)}.editor-page{display:flex;flex-direction:column;min-height:0;gap:8px}.editor-toolbar-meta{min-width:0}.editor-tag-toolbar{margin-bottom:8px;align-items:flex-start}.editor-tag-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.editor-host{flex:1;min-height:360px;border:1px solid var(--border);border-radius:6px;overflow:hidden}.editor-highlight-range.default{background:#73b9ff1f}.editor-highlight-range.function{background:#7cc7a024}.editor-highlight-range.duplicate{background:#ff6b6b24}.editor-highlight-anchor.default{box-shadow:inset 3px 0 0 var(--info)}.editor-highlight-anchor.function{box-shadow:inset 3px 0 0 var(--accent)}.editor-highlight-anchor.duplicate{box-shadow:inset 3px 0 0 var(--bad)}.editor-highlight-gutter{width:6px!important;margin-left:4px;border-radius:999px}.editor-highlight-gutter.default{background:var(--info)}.editor-highlight-gutter.function{background:var(--accent)}.editor-highlight-gutter.duplicate{background:var(--bad)}.empty{color:var(--muted);text-align:center;padding:40px;border:1px dashed var(--border);border-radius:8px}.empty-state{display:grid;justify-items:center;gap:10px;padding:48px 24px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--panel);color:var(--muted);text-align:center}.empty-state h2{margin:0;color:var(--text);text-transform:none;font-size:18px}.empty-state p{margin:0;max-width:520px}.empty-state-action{margin-top:4px}.empty-action{display:grid;justify-items:center;gap:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#00000094;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.settings-dialog{width:min(880px,100%);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;box-shadow:var(--shadow)}.settings-tabs{display:flex;gap:8px;margin-bottom:14px}.settings-tab{display:inline-flex;align-items:center;justify-content:center;min-width:120px;min-height:var(--tab-height);padding:0 14px}.settings-tab.active{background:var(--panel-3);border-color:var(--border-strong);color:var(--text)}.settings-tab-panel{display:grid;gap:14px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#16191d}.settings-copy{margin:0;color:var(--muted)}.settings-inline-grid{display:grid;grid-template-columns:minmax(220px,320px);gap:16px}.settings-compact-field{align-content:start}.settings-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-textarea{width:100%;min-height:180px}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.modal-header h1{margin:0}.settings-field{display:grid;gap:6px;color:var(--muted)}.settings-field-note{color:var(--muted);font-size:12px}.settings-field-note.error{color:var(--bad)}.settings-field select,.settings-field textarea{width:100%}.side-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000005c;display:flex;justify-content:flex-end;z-index:40}.side-drawer{width:min(460px,100vw);height:100%;padding:18px;background:var(--panel);border-left:1px solid var(--border);box-shadow:var(--shadow);overflow:auto;display:grid;align-content:start;gap:12px}.side-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.heatmap-page,.api-routes-page,.laravel-schema-page,.relations-page,.tags-page,.duplicates-page{display:grid;gap:16px}.duplicates-rules-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.duplicates-rules-trigger{cursor:pointer}.duplicates-rules-trigger:hover{border-color:var(--border-strong);color:var(--text)}.api-routes-cards,.laravel-schema-cards,.relations-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:0}.api-routes-cards .metric-card{background:var(--panel);border-color:#7cc7a02e}.api-routes-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.api-routes-filters input{min-width:240px}.api-routes-summary{color:var(--muted);font-size:12px}.api-routes-summary-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.api-routes-toolbar-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.api-routes-view-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:3px;border:1px solid var(--border);border-radius:9px;background:#0d111773}.api-routes-view-button{min-width:74px;padding:4px 12px;border-color:transparent;background:transparent}.api-routes-view-button.active{background:var(--panel-3);border-color:var(--border-strong);color:var(--text)}.api-routes-depth-strip,.api-routes-chart-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.api-routes-chart-button{min-width:82px}.api-routes-depth-button{min-width:56px;padding:4px 10px;background:#0d111761}.api-routes-depth-button.active{background:var(--panel-3);border-color:var(--border-strong);color:var(--text)}.api-routes-route-sections{display:grid;gap:16px}.api-routes-section{display:grid;gap:12px}.api-routes-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.api-routes-group-stack{display:grid;gap:12px}.api-routes-group-card{padding:0;overflow:hidden}.api-routes-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.api-routes-table td{overflow-wrap:anywhere}.api-routes-table td:first-child{min-width:124px}.api-routes-flow-stage{min-height:520px;max-height:760px;overflow:hidden;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:inset 0 1px #ffffff08}.api-routes-chart-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.api-routes-warning-list{display:grid;gap:6px}.api-method-list{display:flex;gap:6px;flex-wrap:wrap}.api-method-chip{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border);background:var(--panel-2)}.api-method-get{color:#7cc7a0;border-color:#7cc7a059}.api-method-post{color:#73b9ff;border-color:#73b9ff59}.api-method-page{color:#74d5d5;border-color:#74d5d559}.api-method-put,.api-method-patch{color:#e2b86b;border-color:#e2b86b59}.api-method-delete{color:#ff8c8c;border-color:#ff6b6b59}.api-method-options,.api-method-head,.api-method-any{color:var(--muted)}.laravel-schema-chart-box{height:560px}.laravel-schema-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.laravel-schema-filter-summary{margin-top:4px;color:var(--muted);font-size:12px}.laravel-schema-filter-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.laravel-schema-guide-grid{gap:12px}.laravel-schema-guide-box{height:auto;display:grid;align-content:start;gap:12px;background:var(--panel)}.laravel-schema-guide-box h3{margin:0}.laravel-schema-guide-copy{margin:6px 0 0;color:var(--muted);line-height:1.5}.laravel-schema-method-list,.laravel-schema-step-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.laravel-schema-method-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05)}.laravel-schema-method-list li:last-child{padding-bottom:0;border-bottom:0}.laravel-schema-method-name{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.laravel-schema-method-count{color:var(--muted);font-size:12px}.laravel-schema-step-list{counter-reset:laravel-schema-step}.laravel-schema-step-list li{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.laravel-schema-step-list li:before{counter-increment:laravel-schema-step;content:counter(laravel-schema-step);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#ffffff0d;color:var(--muted);font-size:11px;flex:0 0 auto}.laravel-schema-column-list{max-width:520px;white-space:normal;overflow-wrap:anywhere}.laravel-schema-relation-drawer{width:min(560px,100vw)}.laravel-schema-relation-label{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);overflow-wrap:anywhere}.laravel-schema-relation-details{display:grid;gap:10px;margin:0}.laravel-schema-relation-details div{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.05)}.laravel-schema-relation-details dt{color:var(--muted);font-size:11px;text-transform:uppercase}.laravel-schema-relation-details dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;overflow-wrap:anywhere}.relations-chart-box{height:520px}.relations-chart-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.duplicates-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.duplicates-setting-field{gap:6px}.duplicates-range-input{width:clamp(160px,22vw,260px);padding:0;accent-color:var(--accent)}.duplicates-range-value{min-width:38px;color:var(--text);font-weight:700;text-align:right}.heatmap-chart-box{height:360px}.top-page{display:grid;gap:14px}.top-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:0}@media(max-width:900px){.app{grid-template-columns:232px 1fr}.content{padding:20px}.chart-grid{grid-template-columns:1fr}.page-header{flex-direction:column}.page-actions{justify-content:flex-start}.workspace-dropzone{padding:16px}.settings-inline-grid,.settings-rules-grid{grid-template-columns:1fr}.tree-custom-level-row{align-items:stretch}}:root{--bg: #0b1015;--panel: #121820;--panel-2: #19222c;--panel-3: #222e39;--border: #293642;--border-strong: #3a4a58;--text: #edf3f6;--muted: #96a4af;--subtle: #687784;--accent: #5ad5a7;--accent-2: #229d77;--info: #63b3ff;--good: #65cf8d;--warn: #efbd62;--bad: #ff7478;--shadow: 0 18px 46px rgba(0, 0, 0, .34);--tab-height: 38px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}body{background:var(--bg);color:var(--text)}button,input,textarea,select{min-height:34px;border-color:var(--border);background:#10161d}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:color .14s ease,background-color .14s ease,border-color .14s ease,transform .14s ease}button:hover{background:var(--panel-3);border-color:var(--border-strong)}button:active:not(:disabled){transform:translateY(1px)}button.primary{background:var(--accent-2);border-color:#31b88d;color:#06140f}.icon-button{width:36px;min-width:36px;height:36px;padding:0}.icon-button svg,.icon-text-button svg,.settings-tab svg,.status-pill svg,.commit-sort-button svg{width:15px;height:15px;flex:0 0 auto}.app{grid-template-columns:252px minmax(0,1fr)}.sidebar{background:#0f151c;border-right-color:var(--border)}.brand-block{min-height:76px;padding:16px;gap:12px;background:#111820}.brand-copy{min-width:0}.brand-mark{width:38px;height:38px;color:#06140f;background:var(--accent-2);box-shadow:inset 0 0 0 1px #ffffff21}.brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.brand-kicker{color:var(--subtle)}.sidebar-main{padding:14px 12px 18px}.sidebar-section{margin-bottom:14px}.section-label{margin:0 8px 7px;color:var(--subtle);font-size:10px}.folder-section{gap:8px}.sidebar-folder-select{width:100%;min-width:0;height:38px;background:var(--panel)}.sidebar-workspace-status{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:0 7px;color:var(--subtle);font-size:10px}.sidebar-workspace-status.missing{grid-template-columns:8px minmax(0,1fr) auto;color:var(--bad)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px #65cf8d17}.missing .status-dot{background:var(--bad);box-shadow:0 0 0 3px #ff747817}.sidebar-workspace-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-relocate-button{min-height:24px;padding:2px 7px;color:var(--bad);font-size:10px}.sidebar-nav{gap:0}.nav-link{min-height:38px;margin:1px 0;padding:0 10px;border-radius:6px;color:#aeb9c2;font-size:12px}.nav-link-icon{width:16px;height:16px;flex:0 0 auto;color:#748491}.nav-link:hover{color:var(--text);background:var(--panel-2)}.nav-link.active{color:var(--text);background:#1c2731;box-shadow:inset 3px 0 0 var(--accent)}.nav-link.active .nav-link-icon{color:var(--accent)}.sidebar-footer{min-height:54px;background:#10171e}.settings-button{width:34px;min-width:34px;min-height:34px}.content{padding:28px 32px 40px;background:var(--bg)}.content h1{font-size:27px;font-weight:720}.content h2{color:#a7b3bc}.page-header{align-items:center;margin-bottom:22px;padding-bottom:18px;border-bottom-color:var(--border)}.page-header-copy{max-width:780px}.page-description{max-width:720px;line-height:1.55}.page-meta{margin-top:7px;color:var(--subtle);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:500;text-transform:none}.page-actions{flex-shrink:0}.card,.chart-box,.table-wrap,.filter-panel,.api-routes-summary-bar,.laravel-schema-filter-bar,.tree-current-path,.tree-bottom-actions{border-color:var(--border);background:var(--panel);box-shadow:inset 0 1px #ffffff05}.card{padding:14px 16px}.metric-card{position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--info);opacity:.65}.card .label{color:#8f9ca7}.card .value{color:#f7fafb;font-weight:700}.chart-box{padding:12px}.api-routes-cards .metric-card,.api-routes-flow-stage,.laravel-schema-guide-box,.workspace-dropzone{background:var(--panel)}.api-routes-cards .metric-card{border-color:var(--border)}table{font-variant-numeric:tabular-nums}th{position:sticky;top:0;z-index:1;height:38px;color:#81909c;background:#151d25}td{height:40px}tr:last-child td{border-bottom:0}tr:hover{background:#63b3ff0b}.empty,.empty-state{border-color:var(--border-strong);background:var(--panel)}.status-pill{border-radius:5px;color:var(--accent);background:#5ad5a70f}.settings-field-note.success{color:var(--good)}.workspace-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.workspace-folder-card{min-height:220px;gap:14px;padding:16px;background:var(--panel);transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.workspace-folder-card:hover{background:#151e27;border-color:var(--border-strong);transform:translateY(-1px)}.workspace-folder-card.active{border-color:#5ad5a78f}.workspace-folder-card.missing{border-color:#ff747866;background:#18191f}.workspace-folder-title{display:flex;align-items:center;gap:10px;min-width:0}.workspace-folder-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border:1px solid rgba(99,179,255,.2);border-radius:6px;color:var(--info);background:#63b3ff12}.workspace-folder-icon svg{width:17px;height:17px}.workspace-folder-card.missing .workspace-folder-icon{color:var(--bad);border-color:#ff747840;background:#ff74780f}.workspace-folder-name{font-size:16px}.workspace-folder-path{display:flex;align-items:flex-start;gap:7px;min-height:32px;color:var(--subtle);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.45}.workspace-folder-path svg,.workspace-folder-meta-label svg,.workspace-folder-commit-row>svg{width:13px;height:13px;flex:0 0 auto;margin-top:1px}.workspace-folder-path span{overflow-wrap:anywhere}.workspace-folder-link{justify-content:flex-start;gap:6px;width:fit-content;max-width:100%}.workspace-missing-notice{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid rgba(255,116,120,.22);border-radius:6px;color:var(--bad);background:#ff74780e}.workspace-missing-notice>svg{width:16px;height:16px;flex:0 0 auto}.workspace-missing-notice div{display:grid;gap:3px}.workspace-missing-notice span{color:#b9a4a7;font-size:11px;line-height:1.4}.workspace-folder-meta-label{display:flex;align-items:center;gap:5px}.workspace-folder-commit-row>svg{color:var(--subtle)}.workspace-folder-menu summary{width:30px;height:30px}.workspace-folder-menu summary svg{width:17px;height:17px}.workspace-folder-menu-popover button{justify-content:flex-start}.commit-sort-button{display:inline-flex;align-items:center}.workspace-unavailable-panel{display:grid;grid-template-columns:44px minmax(0,620px);gap:18px;align-content:start;margin-top:6vh;padding:24px;border:1px solid rgba(255,116,120,.28);border-radius:8px;background:var(--panel)}.workspace-unavailable-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:7px;color:var(--bad);background:#ff747814}.workspace-unavailable-icon svg{width:22px;height:22px}.workspace-unavailable-copy{display:grid;gap:10px}.workspace-unavailable-copy h1{margin:0;font-size:22px}.workspace-unavailable-copy p{margin:0 0 6px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.workspace-unavailable-copy button{justify-self:start}.modal-backdrop{padding:28px;background:#03070ab8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settings-dialog{display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);width:min(900px,100%);max-height:min(720px,calc(100vh - 56px));padding:0;overflow:hidden;border-color:var(--border-strong);background:var(--panel)}.settings-dialog .modal-header{grid-column:1 / -1;min-height:72px;margin:0;padding:15px 18px;border-bottom:1px solid var(--border);background:#151d25}.settings-dialog .modal-header h1{margin-top:3px;font-size:20px}.settings-tabs{flex-direction:column;align-items:stretch;gap:4px;min-height:410px;margin:0;padding:14px 10px;border-right:1px solid var(--border);background:#10171e}.settings-tab{justify-content:flex-start;width:100%;min-width:0;padding:0 11px;border-color:transparent;background:transparent;color:var(--muted)}.settings-tab.active{color:var(--text);border-color:transparent;background:var(--panel-2);box-shadow:inset 3px 0 0 var(--accent)}.settings-tab-panel{align-content:start;gap:18px;min-width:0;padding:22px;overflow:auto;border:0;border-radius:0;background:var(--panel)}.settings-copy{line-height:1.55}.settings-option-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px;border:1px solid var(--border);border-radius:7px;background:#10171e}.settings-option-copy{display:grid;gap:4px}.settings-option-copy span{color:var(--muted);font-size:11px}.settings-option-row select{min-width:180px}.settings-rules-grid{gap:12px}.settings-textarea,.rules-textarea{line-height:1.55;resize:vertical}.folder-manager-page{display:grid;gap:16px}.folder-rules-status{max-width:320px;white-space:normal}.folder-rules-grid{gap:12px}.rule-editor{display:grid;align-content:start;gap:8px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.rule-editor-heading{color:var(--text);font-size:13px;font-weight:700}.rule-editor-copy{min-height:34px;color:var(--muted);font-size:11px;line-height:1.5}.rule-editor textarea{width:100%}.folder-rules-actions{align-items:center}@media(max-width:900px){.app{grid-template-columns:220px minmax(0,1fr)}.content{padding:22px}.workspace-grid{grid-template-columns:1fr}.settings-dialog{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr)}.settings-dialog .modal-header{grid-column:1}.settings-tabs{flex-direction:row;min-height:0;padding:8px;border-right:0;border-bottom:1px solid var(--border)}.settings-option-row{align-items:stretch;flex-direction:column;gap:10px}.settings-option-row select{width:100%}.workspace-unavailable-panel{grid-template-columns:1fr}}.theme-segmented-control{display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:3px;min-width:190px;padding:3px;border:1px solid var(--border);border-radius:7px;background:var(--panel-2)}.theme-option{min-height:32px;padding:0 10px;border-color:transparent;background:transparent;color:var(--muted)}.theme-option svg{width:15px;height:15px}.theme-option:hover{border-color:transparent;background:var(--panel-3);color:var(--text)}.theme-option.active{border-color:var(--border-strong);background:var(--panel);color:var(--text);box-shadow:0 1px 3px #0003}html[data-theme=light]{--bg: #f3f6f8;--panel: #ffffff;--panel-2: #edf2f5;--panel-3: #e2e9ee;--border: #d4dde4;--border-strong: #b7c4ce;--text: #17232c;--muted: #5e6d78;--subtle: #7a8994;--accent: #087f5b;--accent-2: #15966e;--info: #1976c9;--good: #218653;--warn: #a86f16;--bad: #cf3f4c;--shadow: 0 18px 44px rgba(37, 54, 66, .16)}html[data-theme=light] body{background:var(--bg)}html[data-theme=light] button,html[data-theme=light] input,html[data-theme=light] textarea,html[data-theme=light] select{background:#f9fbfc;color:var(--text)}html[data-theme=light] button:hover{background:var(--panel-3)}html[data-theme=light] button.primary{color:#fff;background:var(--accent-2);border-color:#0e805e}html[data-theme=light] button.primary:hover{color:#fff;background:#087f5b}html[data-theme=light] .sidebar{background:#edf2f5;border-right-color:#ccd7df}html[data-theme=light] .brand-block,html[data-theme=light] .sidebar-footer{background:#f7f9fa}html[data-theme=light] .brand-mark{color:#fff;box-shadow:none}html[data-theme=light] .sidebar-folder-select{background:#fff}html[data-theme=light] .nav-link{color:#53636f}html[data-theme=light] .nav-link-icon{color:#748590}html[data-theme=light] .nav-link:hover{color:var(--text);background:#e2e9ee}html[data-theme=light] .nav-link.active{color:#12232d;background:#dce7ec}html[data-theme=light] .scan-panel{background:#fff}html[data-theme=light] .content{background:var(--bg)}html[data-theme=light] .card,html[data-theme=light] .chart-box,html[data-theme=light] .table-wrap,html[data-theme=light] .filter-panel,html[data-theme=light] .api-routes-summary-bar,html[data-theme=light] .laravel-schema-filter-bar,html[data-theme=light] .tree-current-path,html[data-theme=light] .tree-bottom-actions,html[data-theme=light] .empty,html[data-theme=light] .empty-state,html[data-theme=light] .workspace-dropzone,html[data-theme=light] .rule-editor{background:#fff;box-shadow:inset 0 1px #ffffffb3}html[data-theme=light] th{background:#edf2f5}html[data-theme=light] tr:hover{background:#1976c90b}html[data-theme=light] .metric-card:before{opacity:.75}html[data-theme=light] .card .value{color:#111c24}html[data-theme=light] .workspace-folder-card{background:#fff}html[data-theme=light] .workspace-folder-card:hover{background:#f8fafb}html[data-theme=light] .workspace-folder-card.missing{background:#fff8f8}html[data-theme=light] .workspace-folder-icon{background:#1976c912}html[data-theme=light] .workspace-folder-card.missing .workspace-folder-icon,html[data-theme=light] .workspace-missing-notice,html[data-theme=light] .workspace-unavailable-icon{background:#cf3f4c11}html[data-theme=light] .workspace-missing-notice span{color:#7d6065}html[data-theme=light] .workspace-unavailable-panel{background:#fff}html[data-theme=light] .status-pill{background:#087f5b0f}html[data-theme=light] .modal-backdrop{background:#1f2d3757}html[data-theme=light] .settings-dialog{background:#fff}html[data-theme=light] .settings-dialog .modal-header{background:#f5f8fa}html[data-theme=light] .settings-tabs{background:#edf2f5}html[data-theme=light] .settings-tab{background:transparent}html[data-theme=light] .settings-tab.active{background:#dfe8ed}html[data-theme=light] .settings-tab-panel{background:#fff}html[data-theme=light] .settings-option-row{background:#f8fafb}html[data-theme=light] .theme-segmented-control{background:#e7edf1}html[data-theme=light] .theme-option{background:transparent}html[data-theme=light] .theme-option.active{background:#fff;box-shadow:0 1px 3px #22333f21}html[data-theme=light] .side-drawer{background:#fff}html[data-theme=light] .api-routes-view-strip,html[data-theme=light] .api-routes-depth-button{background:#f2f5f7}html[data-theme=light] .api-routes-view-button{background:transparent}html[data-theme=light] .api-routes-view-button.active,html[data-theme=light] .api-routes-depth-button.active{background:#e1e8ed}html[data-theme=light] .tree-node .row:hover{background:#edf2f5}html[data-theme=light] .editor-highlight-range.default{background:#1976c91a}html[data-theme=light] .editor-highlight-range.function{background:#087f5b1a}html[data-theme=light] .editor-highlight-range.duplicate{background:#cf3f4c1a}@media(max-width:900px){.theme-segmented-control{width:100%}}
