:root{color-scheme:dark;--bg:#151b23;--bg-strong:#10161d;--surface:#1a2230;--surface-strong:#202a39;--surface-muted:#161e2a;--border:#324258;--border-strong:#4a5d78;--text:#f1f6ff;--muted:#9aa9bd;--accent:#48d2c2;--accent-strong:#0ea5a0;--accent-soft:rgba(72,210,194,.12);--success:#46c27a;--warning:#f2b35d;--danger:#ff6d6d;--shadow:0 16px 40px rgba(0,0,0,.28);--radius:0px;font-family:IBM Plex Sans KR,SUIT,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(90deg,rgba(72,210,194,.05) 1px,transparent 1px),linear-gradient(rgba(72,210,194,.05) 1px,transparent 1px),radial-gradient(circle at top right,rgba(72,210,194,.14),transparent 24%),linear-gradient(180deg,var(--bg-strong) 0,var(--bg) 100%);background-size:32px 32px,32px 32px,auto,auto;color:var(--text);margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{min-height:100vh}.topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10161de0;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 18px}.brand{font-size:1.15rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.topnav{display:flex;flex-wrap:wrap;font-size:.92rem;gap:6px}.topnav,.topnav a{align-items:center;color:var(--muted)}.topnav a{border:1px solid transparent;display:inline-flex;font-weight:700;min-height:38px;padding:0 11px;position:relative;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.topnav a:hover{background:#ffffff0a;border-color:var(--border-strong);color:var(--text)}.topnav a.active{background:var(--accent-soft);border-color:#48d2c294;box-shadow:inset 0 -3px 0 var(--accent);color:var(--text)}.topnav a.active:before{background:var(--accent);content:"";height:6px;margin-right:8px;width:6px}.topbar-right{gap:12px;justify-content:flex-end}.auth-controls,.topbar-right{align-items:center;display:flex;flex-wrap:wrap}.auth-controls{gap:10px}.user-chip{align-items:center;background:var(--surface-strong);border:1px solid var(--border);color:var(--text);display:inline-flex;font-weight:700;min-height:42px;padding:0 12px}.page-shell{margin:0;max-width:none;padding:10px 12px 24px;width:100%}.hero,.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.hero{display:grid;gap:16px;padding:18px}.hero h1,.panel h2,.panel h3{letter-spacing:-.04em;margin:0}.hero-copy{display:grid;gap:12px}.hero-copy p,.muted,.panel p{color:var(--muted)}.grid{align-items:start;display:grid;gap:10px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.panel{min-width:0;padding:14px}.collapsible-panel[data-open=false]{padding-bottom:12px}.collapsible-body{min-width:0}.form-stack{display:grid;gap:10px}.input,.textarea{background:var(--surface-strong);border:1px solid var(--border);border-radius:0;color:var(--text);padding:12px 14px;width:100%}.textarea{min-height:120px;resize:vertical}.button{background:var(--accent);border:none;border-radius:0;color:#071013;cursor:pointer;font-weight:700;letter-spacing:.04em;padding:11px 14px;text-transform:uppercase;transition:transform .12s ease,background .12s ease}.button:hover{transform:translateY(-1px)}.button.secondary{background:var(--surface-strong);border:1px solid var(--border);box-shadow:none;color:var(--text)}.collapse-toggle{display:inline-grid;height:40px;min-width:40px;padding:0;place-items:center;width:40px}.collapse-icon{display:inline-block;font-size:1rem;line-height:1;transition:transform .12s ease}.collapse-icon[data-open=false]{transform:rotate(-90deg)}.list,.meta-list{display:grid;gap:10px;list-style:none;margin:0;padding:0}.meta-pill{align-items:center;background:var(--accent-soft);border:1px solid rgba(72,210,194,.2);border-radius:0;color:var(--muted);font-size:.78rem;gap:8px}.meta-pill,.status-badge{display:inline-flex;letter-spacing:.08em;padding:6px 10px;text-transform:uppercase}.status-badge{border-radius:0;font-size:.76rem;font-weight:700}.status-pending{background:#b5761d24;color:var(--warning)}.status-running{background:#b4552d24;color:var(--accent)}.status-success{background:#2d7b5324;color:var(--success)}.status-failed{background:#a53d2f24;color:var(--danger)}.file-tree{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.82rem;white-space:pre-wrap}.citation-list{display:flex;flex-wrap:wrap;gap:10px}.citation-chip{background:var(--surface-muted);border:1px solid var(--border);border-radius:0;padding:7px 10px}.dashboard-grid{align-items:start;display:grid;gap:10px;grid-template-columns:280px minmax(0,1fr)}.sidebar-stack{align-content:start;min-width:0}.main-stack,.sidebar-stack{display:grid;gap:10px}.metric-card{background:var(--surface-muted);border:1px solid var(--border);display:grid;gap:6px;padding:14px}.metric-value{font-size:1.8rem;font-weight:700;letter-spacing:-.04em}.metric-label{color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.panel-header{align-items:start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.panel-header h2,.panel-header h3{margin:0}.health-row-heading{align-items:center;display:flex;gap:10px;justify-content:space-between}.health-total{align-items:center;background:var(--surface-strong);border:1px solid var(--border);display:inline-flex;gap:8px;min-height:48px;padding:0 12px}.health-score-row{border-left-width:4px}.health-score-good{background:#46c27a1a;border-color:#46c27a80}.health-score-neutral{background:#f2b35d1a;border-color:#f2b35d80}.health-score-bad{background:#ff6d6d1a;border-color:#ff6d6d80}.score-chip{align-items:center;border:1px solid;display:inline-flex;font-size:.75rem;font-weight:800;min-height:28px;padding:0 8px;white-space:nowrap}.health-meter{background:#ffffff0a;border:1px solid var(--border);height:8px;margin-top:8px}.health-meter span{background:var(--accent);display:block;height:100%}.health-meter.health-score-good span{background:var(--success)}.health-meter.health-score-neutral span{background:var(--warning)}.health-meter.health-score-bad span{background:var(--danger)}.dense-list{display:grid;gap:8px}.dense-list-item{background:var(--surface-muted);border:1px solid var(--border);min-width:0;overflow-wrap:anywhere;padding:10px 12px;word-break:break-word}.repository-row{align-items:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 180px}.repository-row-main{min-width:0}.repository-row-actions{align-self:start;display:grid;gap:8px;justify-items:stretch}.repository-action-button{min-height:42px;text-align:center;width:100%}.analysis-group-stack{display:grid;gap:16px}.analysis-group{display:grid;gap:10px;min-width:0}.analysis-item-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-item-card{background:var(--surface-muted);border:1px solid var(--border);min-width:0;overflow:hidden;padding:12px;position:relative}.analysis-item-title{align-items:center;display:inline-flex;gap:8px}.analysis-item-pending-card{border-color:#9aa9bd47}.analysis-item-running-card{background:linear-gradient(90deg,rgba(72,210,194,.12),var(--surface-muted));border-color:#48d2c294}.analysis-item-success-card{background:linear-gradient(90deg,rgba(70,194,122,.12),var(--surface-muted));border-color:#46c27a94}.analysis-item-failed-card{background:linear-gradient(90deg,rgba(255,109,109,.12),var(--surface-muted));border-color:#ff6d6d94}.analysis-item-status{align-items:center;border:1px solid var(--border);display:inline-flex;font-size:.74rem;font-weight:800;gap:6px;letter-spacing:.08em;min-height:28px;padding:0 9px;text-transform:uppercase;white-space:nowrap}.analysis-item-pending-status{background:#9aa9bd14;border-color:#9aa9bd47;color:var(--muted)}.analysis-item-running-status{background:#48d2c224;border-color:#48d2c285;color:var(--accent)}.analysis-item-success-status{background:#46c27a24;border-color:#46c27a85;color:var(--success)}.analysis-item-failed-status{background:#ff6d6d24;border-color:#ff6d6d85;color:var(--danger)}.analysis-item-mask{align-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080b11c7;display:grid;gap:10px;inset:0;place-items:center;position:absolute;z-index:5}.docs-wiki-shell{align-items:start;display:grid;gap:10px;grid-template-columns:320px minmax(0,1fr)}.docs-wiki-sidebar{display:grid;gap:10px;max-height:calc(100vh - 24px);overflow:auto;position:sticky;top:12px}.docs-tree{background:var(--surface-muted);border:1px solid var(--border);display:grid;gap:2px;padding:6px 0}.docs-tree-row{min-width:0}.docs-tree-document-button,.docs-tree-label{align-items:center;border:1px solid transparent;border-radius:0;color:var(--text);display:flex;gap:7px;min-height:30px;overflow-wrap:anywhere;padding:5px 8px;text-align:left;width:100%}.docs-tree-label{color:var(--muted);font-weight:800}.docs-tree-document-button,.docs-tree-label{background:transparent;cursor:pointer}.docs-tree-document-button:hover,.docs-tree-label:hover{background:#ffffff0a;border-color:var(--border-strong)}.docs-tree-caret{display:inline-block;transform:rotate(0);transition:transform .12s ease}.docs-tree-caret[data-open=true]{transform:rotate(90deg)}.docs-tree-row[data-active=true] .docs-tree-document-button{background:var(--accent-soft);border-color:#48d2c29e}.docs-wiki-reader{min-height:520px}.docs-wiki-reader .markdown-body{max-width:980px}.docs-wiki-meta{display:grid;gap:12px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.chart-shell{background:linear-gradient(180deg,#48d2c20a,#48d2c203);border:1px solid var(--border);padding:10px}.chart-caption{align-items:center;color:var(--muted);display:flex;font-size:.78rem;justify-content:space-between;margin-bottom:10px}.chart-legend{display:flex;flex-wrap:wrap;gap:8px}.legend-item{align-items:center;color:var(--muted);display:inline-flex;font-size:.78rem;gap:8px}.legend-swatch{height:10px;width:10px}.report-kicker{align-items:start;display:grid;gap:10px;grid-template-columns:1.3fr 1fr}.report-title{font-size:clamp(1.5rem,2vw,2.4rem);letter-spacing:-.06em;line-height:.95}.toolbar{display:flex;flex-wrap:wrap;gap:8px}.mono{font-family:IBM Plex Mono,monospace}.analysis-detail-shell{position:relative}.loading-mask{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080b11b8;display:grid;inset:0;padding-top:96px;place-items:start center;position:absolute;z-index:20}.loading-mask-panel{background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);display:grid;gap:10px;justify-items:center;min-width:min(420px,calc(100% - 24px));padding:16px 18px;text-align:center}.loading-mask-panel p{margin:0}.loading-visual{display:grid;height:88px;overflow:hidden;place-items:center;position:relative;width:88px}.loading-ring{animation:loading-spin .9s linear infinite;border-bottom:2px solid rgba(72,210,194,.18);border-left:2px solid rgba(72,210,194,.18);border-right:2px solid rgba(72,210,194,.18);border-right-color:var(--warning);border-top:2px solid rgba(72,210,194,.18);border-top-color:var(--accent);inset:10px;position:absolute}.loading-scan{animation:loading-scan 1.35s ease-in-out infinite;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 16px #48d2c2b3;height:2px;position:absolute;width:64px}.loading-dot{animation:loading-pulse 1s ease-in-out infinite;background:var(--accent);display:inline-block;height:6px;margin:0 3px;position:relative;width:6px}.loading-dot:nth-child(4){animation-delay:.12s;background:var(--warning)}.loading-dot:nth-child(5){animation-delay:.24s;background:var(--success)}.loading-compact{align-items:center;display:inline-flex;gap:5px}.loading-compact span{animation:loading-pulse .82s ease-in-out infinite;background:var(--accent);height:8px;width:8px}.loading-compact span:nth-child(2){animation-delay:.11s;background:var(--warning)}.loading-compact span:nth-child(3){animation-delay:.22s;background:var(--success)}@keyframes loading-spin{to{transform:rotate(1turn)}}@keyframes loading-scan{0%,to{opacity:.35;transform:translateY(-24px)}50%{opacity:1;transform:translateY(24px)}}@keyframes loading-pulse{0%,to{opacity:.38;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b11cc;display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:40}.modal-panel{background:var(--surface);border:1px solid var(--border-strong);box-shadow:var(--shadow);max-height:calc(100vh - 32px);overflow:auto;padding:16px;width:min(680px,100%)}.markdown-body{color:var(--text);overflow-wrap:anywhere}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{letter-spacing:-.04em;margin:0 0 10px}.markdown-body blockquote,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin:0 0 12px}.markdown-body ol,.markdown-body ul{padding-left:20px}.markdown-body li+li{margin-top:6px}.markdown-body code{background:var(--surface-muted);border:1px solid var(--border);font-family:IBM Plex Mono,monospace;font-size:.92em;padding:2px 6px}.markdown-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.markdown-body blockquote{background:var(--surface-muted);border-left:4px solid var(--accent);color:var(--muted);padding:10px 12px}.markdown-body pre{background:var(--surface-muted);border:1px solid var(--border);overflow:auto;padding:12px}.markdown-body pre code{background:transparent;border:0;padding:0}.markdown-body table{border-collapse:collapse;display:block;overflow-x:auto;width:100%}.markdown-body td,.markdown-body th{border:1px solid var(--border);padding:8px 10px;vertical-align:top}.markdown-body th{background:var(--surface-strong);color:var(--text);text-align:left}.markdown-body tr:nth-child(2n) td{background:#ffffff06}.markdown-body .markdown-toc{background:var(--surface-muted);border:1px solid var(--border);margin:0 0 16px;padding:12px}.markdown-body .markdown-toc strong{display:block;margin-bottom:8px}.markdown-body .markdown-toc ol{margin:0}.markdown-body .markdown-toc li[data-level="2"]{margin-left:14px}.markdown-body .markdown-toc li[data-level="3"]{margin-left:28px}.markdown-body .markdown-toc li[data-level="4"]{margin-left:42px}.markdown-body .mermaid{color:var(--text);display:grid;justify-items:center;min-width:0}@media(max-width:900px){.topbar{padding:12px}.page-shell{padding:8px 8px 24px}.dashboard-grid,.grid-2,.grid-3,.grid-4,.report-kicker{grid-template-columns:1fr}.hero,.panel{padding:12px}.repository-row{grid-template-columns:1fr}.repository-row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-item-grid,.docs-wiki-meta,.docs-wiki-shell{grid-template-columns:1fr}.docs-wiki-sidebar{max-height:none;position:static}}
