:root {
  color-scheme: dark;
  --bg: #071713;
  --panel: #0c211b;
  --panel-raised: #143129;
  --panel-deep: #05100d;
  --line: #285345;
  --line-soft: #1b3b30;
  --text: #f0eee7;
  --text-soft: #b1aea3;
  --muted: #77766e;
  --amber: #52e3b0;
  --amber-soft: #245e4c;
  --amber-pale: #bcf9e2;
  --cyan: #8fc5bd;
  --red: #e17d68;
  --sidebar: 236px;
  --inspector: 310px;
  font-family: Inter, Pretendard, "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}
.brand-lockup > div { flex-direction: column; align-items: flex-start; }
.canvas-toolbar { flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; gap: 6px; }
.toolbar-actions { flex-wrap: wrap; }
.toolbar-queries { flex-wrap: wrap; }
.graph { background-image: radial-gradient(#48483e70 .7px, transparent .7px); background-size: 22px 22px; }
.code-row { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 8px 5px; border-bottom: 1px solid var(--line-soft); font-size: 11px; overflow-wrap: anywhere; }
.code-row:hover { background: var(--panel-raised); color: var(--amber); }
.code-row small { font-size: 10px; color: var(--muted); }
.search-results { max-height: 310px; overflow: auto; }
.inspector-action { margin-top: 14px; }
.inspector-title, .source-code { overflow-wrap: anywhere; }
button:disabled { opacity: .4; cursor: default; }
.status-dot { background: var(--amber) !important; box-shadow: none !important; }
@media (min-width: 681px) and (max-width: 940px) { .workspace { grid-template-columns: 175px minmax(300px,1fr) 235px; } .inspector { display: block; padding: 14px 10px; } }

* { box-sizing: border-box; }
html, body { min-width: 320px; height: 100%; margin: 0; background: var(--bg); color: var(--text); }
body { overflow: hidden; font-size: 13px; letter-spacing: -.01em; }
button, input, select { font: inherit; color: inherit; }
button, select { cursor: pointer; }
button { border: 0; }
button, select, input { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, dialog:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }
::selection { background: var(--amber); color: var(--bg); }
.hidden { display: none !important; }
.row-button { width: 100%; display: flex; align-items: center; text-align: left; background: transparent; color: inherit; }
.error { color: var(--red); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 20; left: 10px; top: -50px; padding: 10px 14px; background: var(--amber); color: #1f1c16; font-weight: 700; border-radius: 0 0 6px 6px; transition: top .18s ease; }
.skip-link:focus { top: 0; }

.topbar { height: 72px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; padding: 0 24px; background: #222220; }
.brand-lockup, .topbar-actions, .brand-lockup > div, .project-picker { display: flex; align-items: center; }
.brand-lockup { gap: 12px; min-width: 250px; }
.brand-name { font-size: 14px; font-weight: 750; line-height: 1; letter-spacing: .18em; color: var(--text); }
.brand-tagline { margin-top: 7px; color: var(--muted); font-size: 11px; letter-spacing: .03em; }
.brand-mark { position: relative; display: block; width: 28px; height: 28px; border: 1px solid var(--amber); border-radius: 7px; transform: rotate(45deg); }
.brand-mark i, .brand-mark b { position: absolute; display: block; background: var(--amber); transform: rotate(-45deg); }
.brand-mark i { width: 4px; height: 4px; border-radius: 50%; }
.brand-mark i:nth-child(1) { top: 6px; left: 7px; }.brand-mark i:nth-child(2) { top: 13px; left: 14px; }.brand-mark i:nth-child(3) { top: 20px; left: 7px; }
.brand-mark b { top: 6px; left: 10px; width: 1px; height: 16px; transform: rotate(-45deg); opacity: .7; }
.topbar-actions { gap: 10px; }
.project-picker { gap: 9px; color: var(--muted); font-size: 11px; }
select { appearance: none; background-color: var(--panel-raised); border: 1px solid var(--line); border-radius: 5px; padding: 8px 27px 8px 10px; background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: calc(100% - 12px) 12px, calc(100% - 8px) 12px; background-size: 4px 4px, 4px 4px; background-repeat: no-repeat; }
.project-picker select { width: 176px; font-size: 12px; color: var(--text-soft); }
.button { min-height: 34px; padding: 0 13px; border-radius: 5px; font-weight: 650; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.button:hover { transform: translateY(-1px); }.button:active { transform: translateY(0); }
.button-quiet { background: transparent; border: 1px solid var(--line); color: var(--text-soft); }.button-quiet:hover { border-color: #5a5951; background: var(--panel-raised); color: var(--text); }
.button-amber { background: var(--amber); color: #272117; border: 1px solid var(--amber); }.button-amber:hover { background: var(--amber-pale); border-color: var(--amber-pale); }
.button-icon { font-size: 16px; line-height: 0; font-weight: 400; }
.notice { position: fixed; z-index: 12; top: 84px; left: 50%; transform: translateX(-50%); padding: 11px 16px; color: var(--text); background: #32322e; border: 1px solid var(--amber-soft); border-radius: 5px; box-shadow: 0 12px 28px #0005; }

.workspace { height: calc(100vh - 108px); display: grid; grid-template-columns: var(--sidebar) minmax(480px, 1fr) var(--inspector); min-height: 0; }
.sidebar, .inspector { background: var(--panel); min-height: 0; overflow: auto; }
.sidebar { border-right: 1px solid var(--line); }.inspector { border-left: 1px solid var(--line); }
.sidebar-section { padding: 17px 14px; border-bottom: 1px solid var(--line-soft); }.search-section { padding: 15px 14px; }
.search-box { height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 9px; background: var(--panel-deep); border: 1px solid var(--line); border-radius: 5px; color: var(--muted); }.search-box:focus-within { border-color: var(--amber-soft); box-shadow: 0 0 0 2px #eeb34b18; }.search-icon { font-size: 20px; line-height: 0; color: var(--amber); }.search-box input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 12px; }.search-box input::placeholder { color: var(--muted); }.search-box kbd { color: var(--muted); border: 1px solid var(--line); border-radius: 3px; padding: 1px 5px; font-size: 10px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }.section-title { margin: 0; font-size: 11px; color: var(--text-soft); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.muted { color: var(--muted); font-size: 10px; }.badge { display: inline-grid; place-items: center; min-width: 19px; height: 18px; padding: 0 5px; border-radius: 9px; background: #5e4429; color: var(--amber-pale); font-size: 10px; font-weight: 750; }
.tree { display: grid; gap: 2px; }.tree-row { min-width: 0; width: 100%; display: flex; align-items: center; gap: 7px; min-height: 31px; padding: 0 7px; border-radius: 4px; background: transparent; color: var(--text-soft); text-align: left; font-size: 12px; }.tree-row:hover { color: var(--text); background: #30302c; }.tree-row.selected { color: var(--amber-pale); background: #4e3a25; }.tree-dir { padding-left: 24px; }.tree-chevron { width: 9px; color: var(--muted); font-size: 15px; }.tree-glyph { width: 13px; color: #8d8b81; font-size: 12px; }.project-glyph { color: var(--amber); font-size: 9px; }.tree-label { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.tree-count { color: var(--muted); font-size: 10px; }
.findings { display: grid; gap: 5px; }.finding-card { min-width: 0; display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 7px; background: transparent; border: 1px solid transparent; border-radius: 5px; color: var(--text-soft); text-align: left; }.finding-card:hover { border-color: var(--line); background: var(--panel-raised); }.finding-mark { width: 20px; height: 20px; display: grid; place-items: center; color: var(--amber); background: #4d3c25; border-radius: 4px; }.finding-boundary .finding-mark { color: var(--red); background: #4b3029; }.finding-hub .finding-mark { color: var(--cyan); background: #2c4642; }.finding-card span:nth-child(2) { min-width: 0; flex: 1; }.finding-card strong, .finding-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.finding-card strong { font-size: 11px; color: var(--text); }.finding-card small { margin-top: 3px; color: var(--muted); font-size: 10px; }.finding-arrow { color: var(--muted); font-size: 18px; }.metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }.metric { padding: 9px 7px; background: var(--panel-deep); border: 1px solid var(--line-soft); border-radius: 4px; }.metric strong, .metric span { display: block; }.metric strong { color: var(--amber); font-size: 17px; font-variant-numeric: tabular-nums; }.metric span { margin-top: 3px; color: var(--muted); font-size: 10px; }

.canvas-shell { min-width: 0; display: flex; flex-direction: column; background: var(--bg); }.canvas-toolbar { min-height: 53px; display: flex; align-items: center; gap: 9px; padding: 0 17px; border-bottom: 1px solid var(--line); }.toolbar-group { display: flex; align-items: center; gap: 4px; }.toolbar-actions { border-left: 1px solid var(--line); padding-left: 10px; }.toolbar-queries { margin-left: auto; }.toolbar-select select { min-height: 30px; padding-top: 6px; padding-bottom: 6px; color: var(--text-soft); font-size: 11px; }.tool-button, .icon-button { min-height: 30px; padding: 0 8px; border-radius: 4px; background: transparent; color: var(--muted); font-size: 11px; }.tool-button:hover, .icon-button:hover, .tool-button.active { background: var(--panel-raised); color: var(--text); }.tool-button.active { box-shadow: inset 0 -2px var(--amber); }.icon-button { min-width: 30px; padding: 0; font-size: 17px; }.edge-dot { display: inline-block; width: 5px; height: 5px; margin-right: 4px; border-radius: 50%; background: var(--muted); }.edge-dot.calls { background: var(--amber); }.edge-dot.references { background: var(--cyan); }.depth-select select { padding-left: 7px; padding-right: 23px; }.breadcrumbs { height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 19px; color: var(--muted); border-bottom: 1px solid var(--line-soft); font-size: 11px; }.breadcrumbs button { padding: 0; background: transparent; color: var(--text-soft); }.breadcrumbs button:hover { color: var(--amber); }
.graph-frame { position: relative; min-height: 0; flex: 1; overflow: hidden; }.graph { position: absolute; inset: 0; overflow: hidden; }.graph-preview { width: 100%; height: 100%; min-width: 700px; display: block; }.graph-links path { stroke: #6b6658; stroke-width: 1.2; stroke-dasharray: 3 5; }.graph-links path:nth-child(2), .graph-links path:nth-child(4) { stroke: var(--amber); stroke-width: 1.5; }.graph-labels text { fill: #605e55; font-size: 9px; letter-spacing: .17em; }.graph-node rect { fill: #292926; stroke: #54524a; stroke-width: 1; filter: drop-shadow(0 4px 8px #0005); }.graph-node text { fill: var(--text); font-size: 12px; font-weight: 650; }.graph-node text.sub { fill: var(--muted); font-size: 10px; font-weight: 400; }.graph-node circle { fill: var(--muted); }.graph-node.node-amber rect { stroke: var(--amber); }.graph-node.node-amber circle { fill: var(--amber); }.graph-node.node-focus rect { stroke: var(--cyan); }.graph-node.node-focus circle { fill: var(--cyan); }.graph-caption { position: absolute; bottom: 15px; left: 18px; display: flex; align-items: center; gap: 7px; padding: 7px 9px; color: var(--muted); background: #20201ed9; border: 1px solid var(--line-soft); border-radius: 4px; font-size: 10px; }.status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #6fae83; box-shadow: 0 0 0 3px #6fae8318; }.graph-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #20201ef4; text-align: center; }.graph-overlay h2 { margin: 10px 0 7px; font-size: 22px; font-weight: 600; text-wrap: balance; }.graph-overlay > span:not(.loading-spinner), .graph-overlay p { color: var(--text-soft); }.loading-spinner { width: 22px; height: 22px; border: 2px solid #625337; border-top-color: var(--amber); border-radius: 50%; animation: spin .8s linear infinite; }.graph-overlay strong { margin-top: 14px; font-size: 13px; }.empty-illustration { color: var(--amber); font-size: 52px; line-height: 1; }.empty-note { max-width: 320px; line-height: 1.65; }.empty-actions { display: flex; gap: 7px; margin-top: 13px; }

.inspector { padding: 19px 17px; }.inspector-empty { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }.inspector-mark { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 14px; border: 1px solid var(--line); border-radius: 9px; color: var(--amber); font-size: 24px; }.inspector-empty h2 { margin: 0; font-size: 14px; font-weight: 650; }.inspector-empty p { max-width: 210px; margin: 9px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }.inspector-header { display: flex; align-items: center; justify-content: space-between; }.node-kind, .eyebrow { color: var(--amber); font-size: 10px; letter-spacing: .14em; font-weight: 750; }.inspector-title { margin: 12px 0 5px; font-size: 21px; font-weight: 600; }.source-code { margin: 0; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; }.inspector-section { margin-top: 24px; padding-top: 15px; border-top: 1px solid var(--line); }.inspector-section h3 { margin: 0 0 10px; color: var(--text-soft); font-size: 11px; font-weight: 700; letter-spacing: .06em; }.relation-row { display: flex; justify-content: space-between; padding: 6px 0; color: var(--muted); font-size: 11px; }.relation-row strong { color: var(--text); font-variant-numeric: tabular-nums; }.chip { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 4px; font-size: 10px; font-weight: 650; }.chip-amber { color: var(--amber-pale); background: #4e3a25; }.evidence { margin: 10px 0 0; padding: 9px; color: var(--text-soft); background: var(--panel-deep); border-left: 2px solid var(--amber); font: 10px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }.source-code-block { margin: 0; padding: 11px; color: #cfc9b7; background: var(--panel-deep); border: 1px solid var(--line-soft); border-radius: 4px; font: 11px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-x: auto; }
.statusbar { height: 36px; display: flex; align-items: center; gap: 17px; padding: 0 17px; background: var(--panel-deep); border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }.status-ready { display: flex; align-items: center; gap: 8px; color: var(--text-soft); }.snapshot-text { padding-left: 17px; border-left: 1px solid var(--line); }.status-hint { margin-left: auto; }
dialog { width: min(440px, calc(100vw - 30px)); padding: 0; border: 1px solid #555148; border-radius: 8px; color: var(--text); background: var(--panel); box-shadow: 0 28px 80px #0009; }.dialog-header, .dialog-actions { display: flex; align-items: center; justify-content: space-between; }.dialog-header { padding: 20px 21px 16px; border-bottom: 1px solid var(--line); }.dialog-header h2 { margin: 7px 0 0; font-size: 19px; font-weight: 650; }.dialog-intro { margin: 18px 21px; color: var(--text-soft); font-size: 12px; line-height: 1.6; }.field-label { display: block; margin: 14px 21px 6px; color: var(--text-soft); font-size: 11px; font-weight: 650; }.required { color: var(--amber); }.field-label .muted { font-weight: 400; }.dialog-header + .dialog-intro + .field-label {} dialog input { width: calc(100% - 42px); height: 37px; margin: 0 21px; padding: 0 10px; border: 1px solid var(--line); border-radius: 4px; outline: 0; background: var(--panel-deep); font-size: 12px; } dialog input:focus { border-color: var(--amber); box-shadow: 0 0 0 2px #eeb34b18; } dialog input::placeholder { color: var(--muted); }.job-status { min-height: 24px; margin: 10px 21px 0; color: var(--amber-pale); font-size: 11px; }.dialog-actions { justify-content: flex-end; padding: 16px 21px 20px; margin-top: 4px; border-top: 1px solid var(--line); }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 1180px) { :root { --inspector: 275px; }.toolbar-queries .tool-button:nth-of-type(3) { display: none; }.status-hint { display: none; } }
@media (max-width: 940px) { :root { --sidebar: 206px; --inspector: 0px; }.inspector { display: none; }.toolbar-actions { display: none; }.topbar { padding: 0 15px; }.project-picker > span { display: none; }.project-picker select { width: 160px; } }
@media (max-width: 680px) { body { overflow: auto; }.topbar { height: auto; min-height: 64px; gap: 10px; }.brand-tagline, .project-picker { display: none; }.brand-lockup { min-width: 0; }.topbar-actions { margin-left: auto; }.workspace { height: calc(100vh - 100px); grid-template-columns: 1fr; }.sidebar { display: none; }.canvas-toolbar { overflow-x: auto; padding: 0 10px; }.toolbar-queries { margin-left: 0; }.depth-select { display: none; }.breadcrumbs { padding-left: 12px; }.statusbar { gap: 9px; padding: 0 10px; }.snapshot-text { padding-left: 9px; }.graph-preview { min-width: 600px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }.button:hover { transform: none; } }

.workspace-modebar { display:flex; align-items:center; gap:14px; min-height:46px; padding:7px 16px; border-bottom:1px solid var(--line); background:#252523; }
.mode-switch { display:flex; gap:3px; padding:3px; border:1px solid #41413a; border-radius:7px; background:#1c1c1a; }
.mode-switch button { background:transparent; color:#a7a497; padding:7px 15px; border-radius:4px; font-weight:650; font-size:12px; white-space:nowrap; }
.mode-switch button.active { background:#5b4427; color:#ffda95; }
#automatic-status { color:#a3a195; font-size:11px; margin-left:auto; }
.canvas-toolbar { flex-wrap:wrap; padding:6px 12px; gap:5px; }
.toolbar-queries { gap:2px; }
.flow-controls { flex:none; padding:12px 17px 9px; border-bottom:1px solid #414033; background:linear-gradient(110deg,#302b22,#242420 80%); }
.flow-control-row { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.flow-mode-label { color:#e1d7c0; font-size:12px; font-weight:650; white-space:nowrap; margin-right:5px; }
.flow-mode-label b { border:1px solid #6e5b3b; border-radius:3px; margin-left:5px; padding:2px 4px; color:#eeb34b; font-size:9px; }
#flow-root { max-width:245px; min-width:145px; flex:1; font-size:11px; }
#flow-speed { font-size:11px; min-width:60px; }
.flow-readout { display:flex; align-items:center; gap:10px; margin-top:10px; font-size:10px; color:#bcb6a5; }
#flow-progress { width:90px; height:4px; accent-color:#eeb34b; border:0; border-radius:3px; }
#flow-progress::-webkit-progress-bar { background:#494337; border-radius:3px; }
#flow-progress::-webkit-progress-value { background:#eeb34b; border-radius:3px; }
.runtime-state { margin-left:auto; color:#8c887c; border:1px solid #48453a; border-radius:3px; padding:2px 5px; }
#flow-detail { margin:7px 0 0; font-size:11px; line-height:1.4; color:#a6a190; min-height:16px; overflow-wrap:anywhere; }
.flow-particles { position:absolute; inset:0; width:100%; height:100%; z-index:3; pointer-events:none; overflow:hidden; }
.flow-particle { fill:#fff0b0; stroke:#ffcb61; stroke-width:1.5; filter:drop-shadow(0 0 6px #ffcc73); }
.isolation-dock { flex:none; padding:10px 16px 8px; border-top:1px solid #5c456b; background:linear-gradient(110deg,#302734,#252326); }
.isolation-heading { display:flex; align-items:center; gap:8px; }
.isolation-heading h2 { margin:0; font-size:12px; color:#e1c8eb; font-weight:650; }
.isolation-heading strong { color:#e7bcfc; background:#5b386b; border-radius:4px; padding:2px 6px; font-size:11px; }
.isolation-heading > span:not(.isolation-symbol) { color:#a092a6; font-size:10px; }
.isolation-symbol { color:#c394d7; font-size:19px; }
.isolation-heading button { margin-left:auto; color:#d0b3dc; }
.isolation-items { display:flex; gap:7px; margin-top:7px; overflow-x:auto; }
.isolated-node { display:grid; grid-template-columns:16px 1fr; align-items:center; column-gap:6px; flex:0 0 auto; max-width:190px; padding:7px 11px; border:1px dashed #896099; border-radius:6px; color:#e0c8e9; background:#362b3c; text-align:left; }
.isolated-node span { grid-row:span 2; color:#d19ce6; }
.isolated-node strong { font-size:11px; font-weight:600; }
.isolated-node small { margin-top:3px; color:#a08aab; font-size:9px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.isolated-node:hover { background:#4b3654; border-color:#d1a1e4; }
#isolation-note { margin:7px 0 0; font-size:10px; color:#a496ac; line-height:1.4; }
.isolation-clear { color:#b6a9bc; font-size:11px; padding:7px 0; }
.flow-mode .graph { background-image:radial-gradient(#55503e85 .8px,transparent .8px); background-size:24px 24px; }
.flow-mode .canvas-toolbar { display:none; }
#flow-group { max-width:230px; font-size:11px; }
.flow-controls { padding-top:10px; padding-bottom:8px; }
.flow-mode .breadcrumbs { height:32px; }
@media (max-width:1180px) { #automatic-status { max-width:210px; line-height:1.4; } .workspace-modebar { gap:7px; } .flow-control-row { gap:4px; } }
@media (min-width:681px) and (max-width:940px) { .workspace { grid-template-columns:170px minmax(320px,1fr) 230px; } .inspector { display:block; padding:14px 10px; } #automatic-status { display:none; } .runtime-state { display:none; } }
@media (max-width:680px) { #automatic-status { display:none; } .workspace-modebar { padding:6px 10px; } #refresh-analysis { margin-left:auto; } .flow-controls { padding:9px; } .isolation-dock { padding:8px; } .isolation-heading > span:not(.isolation-symbol), .runtime-state { display:none; } }
.inspection-strip { flex:none; padding:7px 16px; border-bottom:1px solid #3e4741; background:#222824; }
.inspection-strip.is-demo { background:#292536; border-color:#5d4d78; }
.inspection-line { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.inspection-line > strong { color:#98c4af; font-size:11px; white-space:nowrap; }
.is-demo .inspection-line > strong { color:#c9b0e5; }
#inspection-channel { font-size:10px; padding-top:5px; padding-bottom:5px; }
#inspection-status { font-size:10px; color:#b1b9af; flex:1; min-width:180px; }
.inspection-alerts { display:flex; gap:6px; align-items:center; flex-wrap:wrap; }
.inspection-chip { display:inline-flex; align-items:center; gap:6px; margin-top:6px; padding:5px 8px; font-size:10px; border:1px solid #536457; border-radius:5px; color:#bed8c8; background:#2b3830; }
.inspection-chip i,.inspection-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#75b9a0; }
.inspection-warning { color:#ffdd9b; border-color:#9d7a36; background:#423822; }.inspection-warning i,.inspection-dot.warning { background:#f6bb50; }
.inspection-error { color:#ffb0a9; border-color:#b4615c; background:#492d2b; }.inspection-error i,.inspection-dot.error { background:#ff716b; }
.inspection-stale { color:#b8b7bd; border-style:dashed; border-color:#676570; background:#302e35; }.inspection-stale i { background:#8a8b94; }
#inspection-points { position:absolute; inset:0; width:100%; height:100%; z-index:4; pointer-events:none; overflow:hidden; }
.inspection-halo { stroke-width:1.5; opacity:.4; }
.inspection-point.error,.inspection-point.warning { filter:drop-shadow(0 0 5px #ff927077); }
.inspection-point.error .inspection-halo,.inspection-point.warning .inspection-halo { animation:inspection-pulse 2.4s ease-out infinite; }
@keyframes inspection-pulse { 0% { r:7; opacity:.9; } 100% { r:17; opacity:.05; } }
.inspection-reading { padding:9px; margin:8px 0; border:1px solid #4e544c; border-radius:5px; background:#242a25; }
.inspection-reading > strong { color:#bcd6c7; font-size:11px; }.inspection-reading p { font-size:10px; line-height:1.5; color:#b3b9b0; }
.inspection-history { padding:0; margin:8px 0; list-style:none; }.inspection-history li { display:flex; align-items:center; gap:6px; padding:5px 0; font-size:10px; border-bottom:1px solid #383a35; }
.inspection-history time { color:#8e9389; }
@media (prefers-reduced-motion:reduce) { .inspection-halo { animation:none!important; } }
@media (max-width:1180px) { .inspection-line { gap:5px; }.inspection-line .tool-button { font-size:10px; padding:0 5px; } }

/* Main View workspace: no source folder is physically reorganized. */
.structure-layout { display:grid;grid-template-columns:minmax(240px,30%) minmax(0,1fr);gap:24px;align-items:start;margin-bottom:24px; }
.structure-modules,.structure-detail { min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--panel-deep);padding:22px; }
.structure-modules h2,.structure-detail h2,.home-extensions h2 { font-size:19px;line-height:1.4;margin:0 0 18px; }
.structure-detail h3 { font-size:13px;color:var(--amber);margin:24px 0 8px; }
.module-title,.home-extensions p { overflow-wrap:anywhere; }
.structure-search label { display:block;font-size:12px;color:var(--text-soft);margin-bottom:8px; }
.structure-search input { width:100%;border:1px solid var(--line);border-radius:5px;background:var(--panel-raised);padding:10px;color:var(--text); }
.module-list { max-height:640px;overflow:auto;scrollbar-gutter:stable; }
.module-item { display:block;width:100%;min-width:0;text-align:left;padding:12px 10px 12px calc(10px + var(--depth)*7px);background:transparent;border-bottom:1px solid var(--line-soft);color:var(--text-soft); }
.module-item strong { display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere;line-height:1.6; }
.module-item small { display:block;font-size:10px;color:#9dbfaf;margin-top:5px; }
.module-item:hover,.module-item.selected { background:#164734; }.module-item.selected { border-left:3px solid var(--amber);color:var(--text); }
.module-roles { display:flex;flex-wrap:wrap;gap:7px;margin:14px 0; }.role-badge { padding:6px 10px;background:#154b37;border:1px solid var(--line);border-radius:4px;color:#c7f5e0;font-size:12px; }.role-badge.secondary { background:transparent; }
.structure-warning { font-size:12px;line-height:1.6;color:#e3c68a;border-left:2px solid #b79752;padding-left:10px; }
.module-children>.button,.module-connections>.button { display:inline-block;margin:4px;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left; }
.module-evidence { margin-top:24px;padding:16px 0;border-block:1px solid var(--line); }.module-evidence summary { cursor:pointer;font-size:14px; }.module-evidence ol { padding-left:20px;max-height:380px;overflow:auto; }.module-evidence li { padding:6px 0;font-size:12px; }.module-evidence code,.home-file code,.home-file small { display:block;overflow-wrap:anywhere; }.module-evidence code { font-size:11px;margin-top:4px;color:var(--text-soft); }
.locale-picker { display:flex;gap:6px;align-items:center;font-size:11px; }.locale-picker select { background:var(--panel-deep);border:1px solid var(--line);color:var(--text);padding:6px; }
.view-home .home-hero { padding-right:0; }.view-home .home-hero h1 { font-size:clamp(26px,3vw,40px);margin:10px 0;letter-spacing:-.025em;overflow-wrap:anywhere; }.view-home .home-file-actions { justify-content:flex-start; }.view-home .home-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }.view-home .home-metric:last-child strong { font:550 28px/1.2 inherit;color:var(--text);padding-top:0; }.view-home .home-metric:last-child { grid-column:auto; }
@media(max-width:850px) { .structure-layout { grid-template-columns:1fr; }.module-list { max-height:300px; }.view-home .home-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }.structure-modules,.structure-detail { padding:16px; }.main-navigation { flex-wrap:wrap; }.locale-picker { margin-left:auto; } }
[hidden] { display:none!important; }
.view-home .home-metric:last-child strong { font-size:28px;font-family:inherit;line-height:1.2;font-weight:550; }
.topbar { background:#081b14; }
.main-navigation { min-height:46px;display:flex;align-items:center;gap:8px;padding:7px 28px;background:var(--panel-deep);border-bottom:1px solid var(--line); }
.main-navigation button { background:transparent;color:var(--text-soft);padding:7px 12px;border-radius:5px; }
.main-navigation button[aria-pressed="true"] { color:var(--amber);background:#123a2d; }
.main-navigation span { margin-left:auto;color:#8daf9f;font-size:11px; }
#workspace-home { height:calc(100vh - 154px);overflow:auto;background:radial-gradient(ellipse at 75% 0%,#13433666,transparent 65%),var(--bg); }
.view-home { max-width:1600px;margin:0 auto;padding:32px 38px 48px; }
.home-hero { position:relative;margin-bottom:22px;padding-right:160px; }
.home-hero h2 { font-size:clamp(24px,3vw,38px);letter-spacing:-.045em;margin:8px 0 12px;font-weight:650; }
.home-hero>.button { position:absolute;right:0;top:26px; }
.home-eyebrow { font-size:10px;letter-spacing:.2em;color:var(--amber); }
.home-note { color:#a2bdb0;font-size:12px;line-height:1.7; }
.home-metrics { display:grid;grid-template-columns:1fr 1fr 1fr 2fr;gap:12px;margin:24px 0 30px; }
.home-metric { min-width:0;border-left:2px solid var(--line);padding:4px 14px;display:flex;flex-direction:column;gap:6px; }
.home-metric span { color:#9bbbad;font-size:11px; }.home-metric strong { font-size:28px;font-weight:550;font-variant-numeric:tabular-nums; }
.home-metric:last-child strong { font:12px/1.6 ui-monospace,monospace;overflow-wrap:anywhere;padding-top:7px;color:#9bbbad; }
.org-root { margin-bottom:28px; }.org-root-label { width:max-content;max-width:95%;margin:auto;position:relative;padding:15px 40px;border:1px solid var(--amber-soft);border-radius:8px;background:#164b39;color:#d6ffef;font-size:18px;font-weight:600;overflow-wrap:anywhere;box-shadow:0 0 24px #27d49b0d; }
.org-root-label:after { content:'';position:absolute;width:1px;height:24px;background:var(--amber-soft);bottom:-25px;left:50%; }
.org-groups { margin-top:24px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;border-top:1px solid var(--amber-soft);padding-top:23px; }
.org-group { position:relative;min-height:74px;min-width:0;border:1px solid var(--line);border-radius:7px;background:linear-gradient(160deg,#163b2d,#0b211a);color:#b2d8c8;line-height:1.6;transition:border-color .15s,background .15s; }
.org-group:before { content:'';position:absolute;top:-24px;left:50%;height:23px;width:1px;background:var(--amber-soft); }
.org-group:hover,.org-group-active { border-color:var(--amber);color:#ddfff1;background:#164734; }
.home-columns { display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start; }
.home-files,.home-extensions,.home-history { background:#092019b3;border:1px solid var(--line-soft);border-radius:10px;padding:20px;min-width:0; }
.home-files h3,.home-extensions h3,.home-history h3 { margin:0 0 14px;font-size:14px;font-weight:600;color:#d2eee1; }
.home-files>input { width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:5px;background:var(--panel-deep);margin-bottom:10px; }
.home-file { padding:15px 0;border-bottom:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between;gap:18px; }
.home-file>div:first-child { min-width:0; }.home-file strong { font-size:13px;font-weight:600; }.home-file code { color:#94bcaa;font-size:11px;overflow-wrap:anywhere; }.home-file small { font-size:10px; }
.home-file-actions { display:flex;gap:7px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex-shrink:0; }
.home-file-actions button,.home-file-actions select { border:1px solid var(--line);border-radius:5px;background:var(--panel-raised);padding:7px 9px;font-size:11px; }
.home-file-actions button:hover { border-color:var(--amber);color:var(--amber); }.home-file-actions button:disabled { opacity:.45; }
.home-sidebar { display:grid;gap:16px; }.home-history ul { list-style:none;padding:0;font-size:11px;color:#9ebdae; }.home-history li { padding:10px 0;border-bottom:1px solid var(--line-soft);overflow-wrap:anywhere;line-height:1.7; }
body.home-mode .statusbar { background:var(--panel-deep); }
body:not(.home-mode) .workspace { height:calc(100vh - 154px); }
@media(max-width:1100px) { .view-home { padding:24px; }.home-columns { grid-template-columns:minmax(0,1fr) 230px; }.home-file { flex-direction:column;align-items:stretch;gap:8px; }.home-file-actions { justify-content:flex-start; }.org-groups { gap:6px; } }
@media(max-width:850px) { .home-columns { grid-template-columns:1fr; }.home-sidebar { grid-template-columns:1fr 1fr; }.org-groups { grid-template-columns:repeat(4,minmax(0,1fr));border-top:0;padding-top:0; }.org-group:before,.org-root-label:after { display:none; }.home-metrics { grid-template-columns:repeat(3,1fr); }.home-metric:last-child { grid-column:1/-1; }.home-hero { padding-right:0; }.home-hero>.button { position:static; }.main-navigation { padding:7px 12px; }.main-navigation span { display:none; } }
@media(max-width:480px) { .view-home { padding:20px 14px; }.home-sidebar { grid-template-columns:1fr; }.org-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }.home-files { padding:14px; }.main-navigation button { padding:7px;font-size:11px; } }
@media(max-width:680px) { .topbar { flex-wrap:wrap;padding:12px 14px; }.topbar-actions { width:100%;margin-left:0;gap:7px; }.project-picker { display:flex;flex:1;min-width:0; }.project-picker select { width:100%;min-width:0; }.topbar-actions .button { padding:8px;font-size:11px; }.topbar-actions .button-icon { display:none; } }

/* Human projection: a bounded folder map, not the agent's complete graph. */
.human-view { max-width:1320px;padding-top:40px; }
.human-hero { margin-bottom:28px; }.human-hero h1 { font-size:clamp(28px,3vw,42px);font-weight:600;letter-spacing:-.025em;margin:12px 0;overflow-wrap:anywhere; }
.human-intro { color:#bfd9cc;font-size:15px;line-height:1.7;max-width:720px;margin:0 0 20px; }
.human-meta { display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a2bdb0;font-size:12px; }
.human-breadcrumbs { display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 18px; }.human-breadcrumbs .button { background:transparent;border:0;min-height:36px;white-space:normal;overflow-wrap:anywhere; }.human-breadcrumbs [aria-current] { color:#74e5b7; }
.human-browser { border:1px solid #285844;border-radius:12px;padding:28px;background:#092219;box-shadow:0 12px 40px #0002; }
.human-browser-heading { display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:28px; }.human-browser-heading h2 { font-size:24px;font-weight:550;margin:10px 0 6px;overflow-wrap:anywhere; }.human-browser-heading p { margin:0; }
.human-search { display:grid;grid-template-columns:minmax(120px,230px) auto;gap:8px;min-width:0; }.human-search label { grid-column:1/-1;color:#a7cdb9;font-size:12px; }.human-search input { min-width:0;width:100%;color:#e1f6ea;background:#061a13;border:1px solid #345747;border-radius:5px;padding:10px 12px; }
.folder-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.folder-card { position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;min-height:184px;padding:24px;border:1px solid #305543;border-radius:8px;background:linear-gradient(130deg,#11392a,#0b281e);color:#ddf4e8;transition:background .15s,border-color .15s; }
.folder-card:hover { background:#174934;border-color:#79c7a2; }.folder-card:focus-visible { outline:2px solid #91f4c6;outline-offset:4px; }
.folder-icon { position:relative;display:block;margin:4px 0 4px;width:30px;height:22px;border:1.5px solid #76d7aa;border-radius:3px;background:#2e875b33; }.folder-icon:before { content:'';position:absolute;width:13px;height:5px;top:-5px;left:-1.5px;border:1.5px solid #76d7aa;border-bottom:0;border-radius:3px 3px 0 0;background:#123c2a; }
.folder-name { font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;max-width:100%; }.folder-count { font-size:12px;color:#a9c7b7; }.folder-open { font-size:11px;color:#8fd4ae;margin-top:auto; }
.human-paging { display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:16px 0; }.human-paging>span { margin-right:auto; }
.human-connections { padding:18px 0;border-block:1px solid #254334;margin:24px 0; }.human-connections h3,.human-detail h3 { font-size:15px;font-weight:550;margin:0 0 8px; }
.human-relation { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0; }.human-relation button { white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%;font-size:12px;min-height:36px; }.human-relation small { margin-left:auto; }
.human-detail { padding-top:8px; }.human-detail-actions { display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px; }.human-detail-actions [aria-pressed=true] { color:#a1efc5;background:#1b4a32;border-color:#72ad8b; }
.human-detail-row { display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid #233e31; }.human-detail-row>div { min-width:0; }.human-detail-row strong { font-size:13px; }.human-detail-row code,.human-detail-row small { display:block;overflow-wrap:anywhere;font-size:11px;line-height:1.8; }.human-detail-row code { color:#aacbb9; }.human-detail-row .home-file-actions { flex-shrink:1; }
.candidate-toggle { display:flex;align-items:center;gap:8px;font-size:12px;color:#bfccbb; }.candidate-toggle input { accent-color:#78c996; }
.human-leaf { padding:32px 0;color:#a4bcad;font-size:14px; }
.human-advanced { border-bottom:1px solid #264733;padding:20px 4px; }.human-advanced summary { cursor:pointer;font-size:13px;color:#b9d7c6; }.human-advanced code { display:block;margin:8px 0;color:#9bbbA8;font-size:11px;overflow-wrap:anywhere; }.human-policy { margin:24px 0 0;color:#91ae9b;font-size:11px;line-height:1.8; }
.human-search-results { padding:16px;border:1px solid #53735b;background:#102b1c;margin-bottom:20px;border-radius:6px; }.human-search-results>.button { margin:4px;max-width:100%;white-space:normal;overflow-wrap:anywhere; }
@media(max-width:950px) { .folder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.human-browser-heading { align-items:flex-start;flex-direction:column; }.human-search { width:100%;grid-template-columns:1fr auto; } }
@media(max-width:600px) { .human-view { padding:24px 14px; }.human-browser { padding:18px; }.folder-grid { grid-template-columns:1fr;gap:12px; }.folder-card { min-height:145px;padding:20px; }.human-meta { align-items:flex-start;flex-direction:column; }.human-detail-row { align-items:flex-start;flex-direction:column; }.human-relation small { margin-left:0;width:100%; }.human-breadcrumbs { gap:0; } }
@media(prefers-reduced-motion:reduce) { .folder-card { transition:none; } }

/* Timi — Emerald Index. Human workspace only; existing data and controls remain. */
body.home-mode {
  display:flex;
  flex-direction:column;
  height:100vh;
  height:100dvh;
  overflow:hidden;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  line-height:1.5;
}
body.home-mode > .topbar,
body.home-mode > .main-navigation,
body.home-mode > .statusbar { flex-shrink:0; }
body.home-mode > .topbar {
  height:auto;
  min-height:72px;
  flex-wrap:wrap;
  gap:16px 24px;
  padding:14px 24px;
}
body.home-mode .brand-lockup { min-width:0;gap:14px; }
body.home-mode .brand-lockup > div { min-width:0;align-items:flex-start; }
body.home-mode .brand-mark { flex-shrink:0; }
body.home-mode .brand-tagline { color:#9ab2a6;letter-spacing:0; }
body.home-mode .topbar-actions { min-width:0;max-width:100%;flex-wrap:wrap; }
body.home-mode .project-picker { min-width:0; }
body.home-mode .project-picker select { width:210px;max-width:100%; }
body.home-mode .project-picker > span { color:#9ab2a6; }
body.home-mode .topbar-actions .button,
body.home-mode .project-picker select { min-height:38px; }
body.home-mode > .main-navigation { flex-wrap:wrap;gap:6px;padding:7px 24px; }
body.home-mode .main-navigation > button { min-height:36px;line-height:1.5; }
body.home-mode .main-navigation > button:hover { color:var(--text);background:var(--panel); }
body.home-mode .main-navigation > button[aria-pressed="true"] {
  color:var(--amber-pale);
  background:var(--panel-raised);
  box-shadow:inset 0 -2px var(--amber);
}
body.home-mode .main-navigation > span { flex:1;min-width:160px;text-align:right;line-height:1.5; }
body.home-mode .locale-picker { flex-shrink:0;margin-left:auto;gap:8px; }
body.home-mode .locale-picker select {
  min-height:34px;
  padding:7px 26px 7px 10px;
  background-color:var(--panel-deep);
  background-image:linear-gradient(45deg,transparent 50%,var(--text-soft) 50%),linear-gradient(135deg,var(--text-soft) 50%,transparent 50%);
  background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;
  background-size:4px 4px;
  background-repeat:no-repeat;
}
body.home-mode .button { white-space:normal;overflow-wrap:anywhere;line-height:1.5; }
body.home-mode .button:hover { transform:none; }
body.home-mode .button-quiet:hover { border-color:var(--amber-soft); }
body.home-mode .button:disabled { transform:none; }
body.home-mode > #workspace-home {
  flex:1 1 auto;
  min-height:0;
  height:auto;
  background:var(--bg);
  scrollbar-gutter:stable;
  scrollbar-color:var(--line) var(--bg);
  scroll-padding-block:24px;
}
body.home-mode .statusbar { min-height:36px;height:auto;padding-block:8px;line-height:1.5;color:#91aa9d; }
body.home-mode .status-ready { flex-shrink:0; }
body.home-mode .snapshot-text { min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }

.human-view {
  --text-soft:#b3c9bd;
  --muted:#98b2a4;
  max-width:1320px;
  padding:30px 38px 40px;
  color:var(--text);
}
.human-view .home-eyebrow { font-size:10px;font-weight:650;line-height:1.6;letter-spacing:.14em; }
.human-view .home-note { color:var(--muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere; }
.human-view .button { min-height:36px;padding:7px 12px; }
.human-view :is(h1,h2,h3,p,code,summary) { overflow-wrap:anywhere; }
.human-view :is(button,input,summary):focus-visible {
  outline:2px solid var(--amber);
  outline-offset:3px;
}
.human-view :is(#folder-title,#detail-title):focus-visible { outline:2px solid var(--amber);outline-offset:5px; }
.human-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,240px);
  column-gap:32px;
  margin-bottom:22px;
  padding:4px 0 4px 20px;
  border-left:2px solid var(--amber);
}
.human-hero > :not(.human-meta) { grid-column:1;min-width:0; }
.human-hero h1 {
  margin:8px 0 10px;
  font-size:clamp(26px,2.6vw,34px);
  line-height:1.25;
  letter-spacing:-.035em;
  font-weight:650;
}
.human-intro { max-width:66ch;margin:0;color:var(--text-soft);font-size:14px;line-height:1.65; }
.human-meta {
  grid-column:2;
  grid-row:1 / span 3;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:12px;
  min-width:0;
  color:var(--muted);
  line-height:1.65;
  text-align:right;
}
.human-meta > span { overflow-wrap:anywhere; }
.human-breadcrumbs { gap:4px;margin:0 0 12px;min-width:0; }
.human-breadcrumbs > span { color:var(--muted);padding-inline:3px; }
.human-breadcrumbs .button { min-width:0;max-width:100%;padding:7px 10px;text-align:left;font-size:12px; }
.human-breadcrumbs .button[aria-current] { color:var(--amber-pale);background:var(--panel-raised);font-weight:650; }
.human-browser { padding:24px;border-color:var(--line);border-radius:10px;background:var(--panel);box-shadow:none; }
.human-browser-heading { gap:24px;margin-bottom:20px;align-items:flex-end; }
.human-browser-heading > div { min-width:0;flex:1; }
.human-browser-heading h2 { margin:6px 0;font-size:23px;font-weight:600;line-height:1.35;letter-spacing:-.025em; }
.human-search { flex:0 1 340px;grid-template-columns:minmax(0,1fr) auto;gap:7px 8px; }
.human-search label { color:var(--text-soft);font-size:12px;line-height:1.5; }
.human-search input { min-height:40px;padding:9px 12px;background:var(--panel-deep);border-color:var(--line);font-size:13px; }
.human-search input::placeholder { color:var(--muted);opacity:1; }
.human-search input:focus { border-color:var(--amber); }
.human-search > .button { min-height:40px;background:var(--panel-raised);color:var(--amber-pale); }
.human-view .folder-grid { gap:12px; }
.human-view .folder-card {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  align-items:start;
  gap:6px 14px;
  min-width:0;
  min-height:146px;
  padding:20px;
  border-color:var(--line);
  border-radius:7px;
  background:var(--panel-raised);
  color:var(--text);
  transition:background-color .15s ease,border-color .15s ease;
}
.human-view .folder-card:hover { background:#193d30;border-color:#579b7c; }
.human-view .folder-card:active { background:#102a21;border-color:var(--amber); }
.human-view .folder-icon { grid-column:1;grid-row:1 / span 2;margin:6px 0 0;border-color:#82cfae;background:#52e3b00c; }
.human-view .folder-icon::before { border-color:#82cfae;background:var(--panel-raised); }
.human-view .folder-name { grid-column:2;font-size:16px;font-weight:600;line-height:1.45;letter-spacing:-.015em; }
.human-view .folder-count { grid-column:2;color:var(--text-soft);font-size:12px;line-height:1.6;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
.human-view .folder-open {
  grid-column:1 / -1;
  align-self:end;
  width:100%;
  margin-top:8px;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:#acd7bf;
  font-size:11px;
  line-height:1.5;
  text-align:right;
}
.human-view .folder-card:hover .folder-open { color:var(--amber-pale); }
.human-paging { flex-wrap:wrap;gap:8px;margin:14px 0 18px;font-variant-numeric:tabular-nums; }
.human-connections { padding:20px 0 14px;margin:20px 0;border-color:var(--line-soft); }
.human-connections h3,.human-detail h3 { margin:0 0 8px;font-size:15px;font-weight:600;line-height:1.5; }
.human-connections > .home-note { margin:0 0 12px; }
.human-relation { gap:8px;min-width:0;margin:0;padding:8px 0;border-bottom:1px solid var(--line-soft); }
.human-relation:last-child { border-bottom:0; }
.human-relation > span { color:var(--muted); }
.human-relation .button { min-width:0; }
.human-relation small { font-variant-numeric:tabular-nums; }
.human-detail { padding-top:4px; }
.human-detail-actions { width:fit-content;max-width:100%;gap:4px;padding:4px;margin:12px 0 18px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel-deep); }
.human-detail-actions .button { border-color:transparent;background:transparent; }
.human-detail-actions .button[aria-pressed="true"] { color:var(--amber-pale);background:var(--panel-raised);border-color:var(--line);box-shadow:inset 0 -2px var(--amber); }
.human-detail-row { padding:16px 0;gap:16px;border-color:var(--line-soft); }
.human-detail-row > div:first-child { flex:1; }
.human-detail-row strong { display:block;font-size:13px;line-height:1.6;overflow-wrap:anywhere; }
.human-detail-row code,.human-advanced code { color:var(--text-soft);font-family:ui-monospace,"Cascadia Mono",Consolas,"Apple SD Gothic Neo","Malgun Gothic",monospace;line-height:1.8; }
.human-detail-row code { margin-top:4px; }
.human-detail-row .home-file-actions { gap:6px; }
.human-view .home-file-actions button { min-height:36px;line-height:1.5; }
.human-leaf { margin:0;padding:24px 0;color:var(--text-soft);line-height:1.7; }
.human-advanced { padding:0 4px;border-color:var(--line-soft); }
.human-advanced summary { min-height:52px;padding:16px 0;color:var(--text-soft);line-height:1.6; }
.human-advanced summary::marker { color:var(--muted); }
.human-advanced summary:hover,.human-advanced[open] summary { color:var(--amber-pale); }
.human-advanced[open] { padding-bottom:16px; }
.human-advanced .home-note { max-width:90ch; }
.human-policy { margin-top:20px;color:var(--muted); }
.human-search-results { padding:14px;margin-bottom:20px;border-color:var(--amber-soft);background:var(--panel-deep); }

@media(max-width:1100px) {
  .human-view { padding-inline:24px; }
  body.home-mode .main-navigation > span { display:none; }
}
@media(max-width:950px) {
  .human-hero { grid-template-columns:minmax(0,1fr); }
  .human-meta { grid-column:1;grid-row:auto;flex-direction:row;justify-content:space-between;align-items:center;margin-top:16px;text-align:left; }
  .human-meta > .button { flex-shrink:0; }
  .human-browser-heading { align-items:stretch;gap:18px; }
  .human-search { flex:auto;width:100%; }
}
@media(max-width:680px) {
  body.home-mode > .topbar { padding:14px 16px;gap:14px; }
  body.home-mode .topbar-actions { width:100%;gap:8px;flex-wrap:nowrap; }
  body.home-mode .topbar-actions > .button { flex-shrink:0; }
  body.home-mode .project-picker { flex:1 1 0; }
  body.home-mode .project-picker select { width:100%; }
  body.home-mode > .main-navigation { padding:6px 12px;gap:4px; }
  body.home-mode .statusbar { padding-inline:12px; }
}
@media(max-width:600px) {
  body.home-mode .topbar-actions .button,
  body.home-mode .project-picker select,
  body.home-mode .main-navigation > button,
  body.home-mode .locale-picker select,
  .human-view .button,
  .human-view .home-file-actions button { min-height:44px; }
  body.home-mode .main-navigation > button { padding-inline:9px;font-size:12px; }
  body.home-mode .locale-picker { font-size:11px; }
  .human-view { padding:22px 14px 30px; }
  .human-hero { padding-left:14px;margin-bottom:16px; }
  .human-hero h1 { margin:8px 0;font-size:26px;line-height:1.3; }
  .human-intro { font-size:13px;line-height:1.75; }
  .human-meta { align-items:flex-start;flex-wrap:wrap;gap:10px;margin-top:12px; }
  .human-meta > span { flex:1 1 150px;font-size:11px; }
  .human-breadcrumbs { gap:2px;margin-bottom:10px; }
  .human-browser { padding:18px 16px;border-radius:8px; }
  .human-browser-heading { gap:16px;margin-bottom:18px; }
  .human-browser-heading h2 { font-size:21px; }
  .human-search input { min-height:44px;font-size:16px; }
  .human-view .folder-grid { gap:10px; }
  .human-view .folder-card { min-height:126px;padding:18px 16px;column-gap:12px; }
  .human-view .folder-name { font-size:15px; }
  .human-view .folder-open { margin-top:5px;padding-top:9px; }
  .human-detail-row { align-items:stretch;gap:10px; }
  .human-detail-actions { width:100%; }
  .human-detail-actions .button { flex:1; }
}
@media(max-width:360px) {
  .human-hero h1 { font-size:22px; }
  .human-browser-heading h2 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .human-view .folder-card { transition:none; }
}
