:root{--bg:#f6f7f9;--added:#1f7a35;--added-bg:#e7f5ea;--removed:#b42318;--removed-bg:#fdecec;--notice:#a15c00;--notice-bg:#fff4dc;--panel:#fff;--border:#dde1e6;--text:#1f2328;--muted:#59636e;--accent:#0b5cad;--accent-bg:#e8f1fb;--error:#b3261e;--error-bg:#fdecea;word-break:keep-all;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Noto Sans KR,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}.layout{grid-template:"header""tabs""content"1fr/minmax(0,1fr);min-height:100vh;display:grid}.page-header{background:var(--panel);border-bottom:1px solid var(--border);flex-direction:column;grid-area:header;gap:10px;padding:14px 24px;display:flex}.title-row{align-items:baseline;gap:12px;display:flex}.page-header h1{margin:0;font-size:1.25rem}.page-kind{color:var(--muted);font-size:.9rem}.review-context{color:var(--muted);grid-template-columns:minmax(0,1fr);gap:4px;font-size:.9rem;display:grid}.review-heading{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:2px;display:flex}.review-caption{color:var(--text);font-weight:600}.local-compare{color:var(--text);align-items:baseline;gap:6px;font-weight:600;display:inline-flex}.local-compare select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:1px 4px;font-weight:400}.review-snapshot{text-indent:-64px;overflow-wrap:anywhere;padding-left:64px;display:block}.review-snapshot-label{text-indent:0;width:60px;margin-right:4px;display:inline-block}.review-state{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent);border-radius:10px;padding:1px 10px;font-size:.82rem;font-weight:600}.review-snapshot-label{color:var(--text);font-weight:600}.review-state.local{color:var(--notice);background:var(--notice-bg);border-color:var(--notice);letter-spacing:.04em}.review-none{font-style:italic}.snapshot-tag{color:var(--muted);margin:0 0 12px;font-size:.85rem}.notice{color:var(--notice);background:var(--notice-bg);border:1px solid var(--notice);border-radius:6px;margin:0 0 12px;padding:6px 10px;font-size:.88rem}.diagram-tabs{background:var(--panel);border-bottom:1px solid var(--border);grid-area:tabs;padding:0 24px}.diagram-tabs ul{flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;list-style:none;display:flex}.diagram-tabs a{color:var(--muted);border-bottom:3px solid #0000;align-items:baseline;gap:8px;padding:12px 14px 10px;text-decoration:none;display:flex}.diagram-tabs a:hover{color:var(--text)}.diagram-tabs a.selected{color:var(--accent);border-bottom-color:var(--accent)}.nav-title{font-weight:600}.nav-badge{white-space:nowrap;border-radius:10px;flex:none;padding:0 8px;font-size:.78rem;font-weight:600}.nav-badge.count{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent)}.nav-badge.none{color:var(--muted)}.nav-badge.error{color:var(--error);background:var(--error-bg);border:1px solid var(--error)}.content{grid-area:content;min-width:0;padding:24px}.content h2{margin:0 0 4px;font-size:1.3rem}.summary{max-width:80ch;color:var(--muted);margin:0}.diagram-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:16px;display:flex}.scale-toggle{border:1px solid var(--border);background:var(--panel);border-radius:6px;flex:none;display:inline-flex;overflow:hidden}.scale-toggle button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 12px;font-size:.85rem}.scale-toggle button+button{border-left:1px solid var(--border)}.scale-toggle button[aria-pressed=true]{color:var(--accent);background:var(--accent-bg);font-weight:600}.diagram-canvas{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:24px;overflow:auto}.diagram-svg svg{height:auto;margin:0 auto;display:block}.scale-actual .diagram-svg svg{width:var(--natural-width)!important;max-width:none!important}.diagram-canvas.schema .nodeLabel,.diagram-canvas.schema .nodeLabel p,.compare-pane-body.schema .nodeLabel,.compare-pane-body.schema .nodeLabel p{text-align:left}:is(.diagram-canvas,.compare-pane-body).schema .nodeLabel code{color:#1e3a8a}:is(.diagram-canvas,.compare-pane-body).schema .nodeLabel u{color:var(--accent);letter-spacing:.04em;text-decoration:none}.compare-grid{background:var(--panel);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.compare-pane{min-width:0}.compare-pane+.compare-pane{border-left:2px solid var(--border)}.compare-pane-header{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 16px;display:flex}.compare-pane-version{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.compare-pane-body{height:max(480px,100vh - 330px);padding:16px;overflow:auto}.compare-missing{color:var(--muted);margin:0}.compare-pane-body ins,.legend-line:is(ins){color:var(--added);background:var(--added-bg);text-decoration:underline}.compare-pane-body del,.legend-line:is(del){color:var(--removed);background:var(--removed-bg);text-decoration:line-through}.legend-line{margin-left:4px;font-size:.82rem}.nodeLabel,.edgeLabel,.cluster-label{word-break:keep-all;overflow-wrap:break-word}.diagram-status{color:var(--muted)}.diagram-error{color:var(--error);background:var(--error-bg);border:1px solid var(--error);border-radius:6px;padding:12px 16px}.diagram-error pre{white-space:pre-wrap;margin:8px 0 0;font-size:.85rem}.no-change{color:var(--muted);background:var(--panel);border:1px dashed var(--border);border-radius:8px;margin:0 0 12px;padding:8px 12px}.legend{flex-wrap:wrap;gap:6px 18px;margin:0 0 8px;padding:0;font-size:.88rem;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend-swatch{border:2px solid;border-radius:4px;place-items:center;width:22px;height:18px;font-weight:700;line-height:1;display:inline-grid}.legend-swatch.added{color:var(--added);background:var(--added-bg)}.legend-swatch.removed{color:var(--removed);background:var(--removed-bg);border-style:dashed}.legend-swatch.unchanged{color:#9370db;background:#ececff;border-width:1px}.metadata-note{color:var(--muted);margin:16px 0 0;font-size:.85rem}@media (width<=900px){.compare-grid{grid-template-columns:minmax(0,1fr)}.compare-pane+.compare-pane{border-left:none;border-top:2px solid var(--border)}.compare-pane-body{height:70vh}}@media (width<=760px){.page-header,.diagram-tabs{padding-left:16px;padding-right:16px}.content{padding:16px}}
