.rp-page{--rp-s1:#3987e5;--rp-s2:#d95926;--rp-s3:#199e70;--rp-seq:#3987e5;--rp-low:var(--ok);--rp-medium:var(--warn);--rp-high:oklch(72% .16 48);--rp-critical:var(--err);--rp-unowned:color-mix(in oklch, var(--fg-3), transparent 45%);color:var(--fg-1);font-family:var(--font-ui);transition:opacity .2s}:root[data-theme=light] .rp-page{--rp-s1:#2a78d6;--rp-s2:#eb6834;--rp-s3:#1baf7a;--rp-seq:#2a78d6;--rp-high:oklch(60% .17 45)}.rp-page.is-refreshing{opacity:.6;pointer-events:none}.rp-muted{color:var(--fg-3)}.rp-strong{color:var(--fg-0);font-weight:600}.rp-mono{font-family:var(--font-mono);font-size:12px}.rp-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rp-num--warn{color:light-dark(oklch(52% .15 60),oklch(80% .13 75));font-weight:600}.rp-btn{height:var(--control-h);box-sizing:border-box;border-radius:var(--radius);cursor:pointer;font:500 12px/1 var(--font-ui);white-space:nowrap;border:1px solid #0000;align-items:center;gap:7px;padding:0 11px;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.rp-btn:disabled{opacity:.5;cursor:not-allowed}.rp-btn:focus-visible,.rp-icon-btn:focus-visible,.rp-rank-row:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.rp-btn--sm{height:var(--control-h-sm);padding:0 9px;font-size:12px}.rp-btn--primary{background:var(--btn-primary);border-color:var(--btn-primary);color:var(--accent-fg)}.rp-btn--primary:hover:not(:disabled){background:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}.rp-btn--secondary{background:var(--bg-1);color:var(--fg-0);border-color:var(--line)}.rp-btn--secondary:hover:not(:disabled){background:var(--bg-hover)}.rp-icon-btn{width:var(--control-h);height:var(--control-h);box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-1);color:var(--fg-2);cursor:pointer;place-items:center;display:inline-grid}.rp-icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--fg-0)}.rp-spin{animation:1s linear infinite rp-spin}@keyframes rp-spin{to{transform:rotate(360deg)}}.rp-link{color:var(--accent);font:500 12.5px var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0}.rp-link:hover{text-decoration:underline}.rp-input,.rp-select{height:var(--control-h);box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-0);color:var(--fg-0);font:13px var(--font-ui);padding:0 10px}.rp-input{width:240px;max-width:100%}.rp-input:focus,.rp-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.rp-select{cursor:pointer}.rp-tbl-link{color:var(--fg-0);text-decoration:none}.rp-tbl-link:hover{color:var(--accent);text-decoration:underline}.rp-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:6px 0 18px;display:flex}.rp-head h1{color:var(--fg-0);letter-spacing:-.01em;margin:2px 0 4px;font-size:22px;font-weight:650}.rp-head p{color:var(--fg-2);max-width:720px;margin:0;font-size:13.5px}.rp-head-actions{align-items:center;gap:8px;display:flex}.rp-crumbs{font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--fg-3);align-items:center;gap:5px;margin-bottom:6px;font-size:11px;display:flex}.rp-crumbs-sep{opacity:.5}.rp-crumbs a{color:var(--fg-2);text-decoration:none}.rp-crumbs a:hover{color:var(--accent)}.rp-picker{position:relative}.rp-picker-panel{z-index:50;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);width:300px;box-shadow:var(--shadow-2);position:absolute;top:calc(100% + 6px);right:0}.rp-picker-list{max-height:300px;padding:6px;overflow-y:auto}.rp-picker-opt{border-radius:var(--radius);cursor:pointer;color:var(--fg-0);align-items:center;gap:9px;padding:7px 8px;font-size:13px;display:flex}.rp-picker-opt:hover{background:var(--tint-2)}.rp-picker-opt input{accent-color:var(--accent);margin:0}.rp-picker-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rp-picker-type{color:var(--fg-3);text-transform:none;letter-spacing:0;font-size:12px}.rp-picker-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.rp-alert{border-radius:var(--radius-lg);border:1px solid;margin-bottom:16px;padding:12px 14px;font-size:13px}.rp-alert ul{color:var(--fg-2);margin:6px 0 0;padding-left:18px}.rp-alert--warn{border-color:color-mix(in oklch, var(--warn), transparent 60%);background:color-mix(in oklch, var(--warn), transparent 90%);color:var(--fg-0)}.rp-alert--err{border-color:color-mix(in oklch, var(--err), transparent 60%);background:color-mix(in oklch, var(--err), transparent 90%);color:var(--fg-0)}.rp-loading{color:var(--fg-2);justify-content:center;align-items:center;gap:12px;padding:60px 0;font-size:13.5px;display:flex}.rp-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite rp-spin}.rp-empty{text-align:center;background:var(--bg-1);border:1px dashed var(--line);border-radius:var(--radius-lg);padding:56px 24px}.rp-empty h3{color:var(--fg-0);margin:0 0 8px;font-size:16px}.rp-empty p{max-width:560px;color:var(--fg-2);margin:0 auto;font-size:13.5px;line-height:1.6}.rp-empty-sm{text-align:center;color:var(--fg-3);padding:24px;font-size:13px}.rp-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.rp-kpi{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex;position:relative;overflow:hidden}.rp-kpi:before{content:"";background:0 0;width:3px;position:absolute;top:0;bottom:0;left:0}.rp-kpi--high:before{background:var(--rp-high)}.rp-kpi--critical:before{background:var(--rp-critical)}.rp-kpi-label{color:var(--fg-2);font-size:12px;font-weight:500}.rp-kpi-value{color:var(--fg-0);letter-spacing:-.02em;font-size:28px;font-weight:650;line-height:1.1}.rp-kpi-value small{color:var(--fg-3);margin-left:2px;font-size:13px;font-weight:500}.rp-kpi-sub{color:var(--fg-3);font-size:12px;line-height:1.35}.rp-grid{gap:16px;margin-bottom:16px;display:grid}.rp-grid>.rp-card{margin-bottom:0}.rp-grid--radar{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.rp-grid--two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.rp-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;margin-bottom:16px;padding:16px 18px 18px}.rp-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.rp-card-head h2{color:var(--fg-0);flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:14.5px;font-weight:600;display:flex}.rp-card-head p{color:var(--fg-2);max-width:760px;margin:4px 0 0;font-size:12.5px;line-height:1.5}.rp-card-actions{align-items:center;gap:8px;display:flex}.rp-lv-low{--lv:var(--rp-low)}.rp-lv-medium{--lv:var(--rp-medium)}.rp-lv-high{--lv:var(--rp-high)}.rp-lv-critical{--lv:var(--rp-critical)}.rp-lv-bg-low{background:var(--rp-low)}.rp-lv-bg-medium{background:var(--rp-medium)}.rp-lv-bg-high{background:var(--rp-high)}.rp-lv-bg-critical{background:var(--rp-critical)}.rp-level{height:20px;color:var(--fg-0);white-space:nowrap;background:color-mix(in oklch, var(--lv), transparent 84%);border:1px solid color-mix(in oklch, var(--lv), transparent 60%);border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.rp-level i{background:var(--lv);border-radius:50%;width:6px;height:6px}.rp-radar{max-width:520px;margin:0 auto;position:relative}.rp-radar svg{width:100%;height:auto;display:block;overflow:visible}.rp-radar-ring{fill:var(--tint-1);stroke:var(--line);stroke-width:1px}.rp-radar-ring--alt{fill:var(--bg-1)}.rp-radar-axis{stroke:var(--line);stroke-width:1px}.rp-radar-ring-label{font:600 10px var(--font-ui);fill:var(--fg-3);text-transform:none;letter-spacing:0}.rp-radar-quad{font:600 12px var(--font-ui);fill:var(--fg-1)}.rp-blip{cursor:pointer;outline:none}.rp-blip-hit{fill:#0000}.rp-blip-dot{fill:var(--lv);stroke:var(--bg-1);stroke-width:2px;transition:r .15s}.rp-blip-num{font:700 9.5px var(--font-ui);fill:#fff;pointer-events:none}.rp-lv-medium .rp-blip-num{fill:#1a1a19}.rp-blip-ring{fill:none;stroke:var(--fg-0);stroke-width:2px}.rp-blip:hover .rp-blip-dot,.rp-blip:focus-visible .rp-blip-dot{r:12}.rp-blip:focus-visible .rp-blip-hit{stroke:var(--accent);stroke-width:2px}.rp-tip{pointer-events:none;z-index:5;border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--line);min-width:200px;box-shadow:var(--shadow-2);padding:10px 12px;font-size:12px;position:absolute;transform:translate(-50%,calc(-100% - 16px))}.rp-tip-title{color:var(--fg-0);margin-bottom:6px;font-weight:600}.rp-tip-row{color:var(--fg-2);justify-content:space-between;gap:14px;line-height:1.6;display:flex}.rp-tip-row b{color:var(--fg-0);font-variant-numeric:tabular-nums;font-weight:600}.rp-rank-list{max-height:520px;margin:0;padding:0;list-style:none;overflow-y:auto}.rp-rank-row{border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;grid-template-columns:24px minmax(0,1fr) 90px 30px 74px;align-items:center;gap:12px;padding:9px 8px;display:grid}.rp-rank-list li+li .rp-rank-row{border-top:1px solid var(--line-soft);border-radius:0}.rp-rank-row:hover{background:var(--tint-2)}.rp-rank-row.is-selected{background:var(--primary-50);box-shadow:inset 2px 0 0 var(--accent)}.rp-rank{background:var(--bg-3);width:22px;height:22px;color:var(--fg-1);font:600 11px var(--font-ui);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;display:inline-grid}.rp-rank-main{flex-direction:column;min-width:0;display:flex}.rp-rank-name{color:var(--fg-0);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.rp-rank-meta{color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.rp-rank-bar{background:var(--tint-2);border-radius:3px;height:6px;overflow:hidden}.rp-rank-bar span{border-radius:3px;height:100%;display:block}.rp-rank-score{text-align:right;color:var(--fg-0);font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}.rp-rank-row .rp-level{justify-self:start}.rp-profile-grid{grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:28px;display:grid}.rp-profile-chart{flex-direction:column;align-items:center;gap:10px;display:flex}.rp-profile-plan h3{color:var(--fg-0);text-transform:none;letter-spacing:0;margin:0 0 10px;font-size:13px;font-weight:600}.rp-profile-plan h3+*{margin-bottom:22px}.rp-spider{width:100%;max-width:380px;height:auto;overflow:visible}.rp-spider-grid{fill:none;stroke:var(--line);stroke-width:1px}.rp-spider-tick{font:9.5px var(--font-ui);fill:var(--fg-3)}.rp-spider-label{font:600 11.5px var(--font-ui);fill:var(--fg-1);cursor:help}.rp-spider-value{font:600 11.5px var(--font-ui);fill:var(--fg-0);font-variant-numeric:tabular-nums}.rp-spider-series polygon{stroke-width:2px;stroke-linejoin:round}.rp-spider-series circle{stroke:var(--bg-1);stroke-width:2px}.rp-spider-s1 polygon{fill:color-mix(in oklch, var(--rp-s1), transparent 82%);stroke:var(--rp-s1)}.rp-spider-s1 circle{fill:var(--rp-s1)}.rp-spider-s2 polygon{fill:color-mix(in oklch, var(--rp-s2), transparent 90%);stroke:var(--rp-s2)}.rp-spider-s2 circle{fill:var(--rp-s2)}.rp-spider-s3 polygon{fill:color-mix(in oklch, var(--rp-s3), transparent 90%);stroke:var(--rp-s3)}.rp-spider-s3 circle{fill:var(--rp-s3)}.rp-spider-avg polygon{fill:none;stroke:var(--fg-3);stroke-dasharray:4 3;stroke-width:1.5px}.rp-legend{color:var(--fg-1);flex-wrap:wrap;gap:6px 16px;margin-bottom:12px;font-size:12px;display:flex}.rp-legend--center{justify-content:center;margin:0}.rp-legend-item{align-items:center;gap:6px;display:inline-flex}.rp-sw{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.rp-sw--s1{background:var(--rp-s1)}.rp-sw--s2{background:var(--rp-s2)}.rp-sw--s3{background:var(--rp-s3)}.rp-sw--avg{border:1.5px dashed var(--fg-3);background:0 0}.rp-sw--exclusive{background:var(--rp-s1)}.rp-sw--shared{background:var(--rp-s2)}.rp-sw--unowned{background:var(--rp-unowned)}.rp-x{color:var(--fg-3);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:14px;line-height:1}.rp-x:hover{color:var(--fg-0)}.rp-facts{grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:8px 0 0;display:grid}.rp-facts div{background:var(--bg-0);border:1px solid var(--line-soft);border-radius:var(--radius);padding:8px 10px}.rp-facts dt{color:var(--fg-3);margin-bottom:2px;font-size:11px}.rp-facts dd{color:var(--fg-0);font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:600}.rp-steps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.rp-step{border-radius:var(--radius);background:var(--bg-0);border:1px solid var(--line-soft);border-left:3px solid var(--st);gap:12px;padding:12px 14px;display:flex}.rp-step--critical{--st:var(--rp-critical)}.rp-step--high{--st:var(--rp-high)}.rp-step--medium{--st:var(--rp-medium)}.rp-step--ok{--st:var(--rp-low)}.rp-step-num{background:color-mix(in oklch, var(--st), transparent 82%);width:22px;height:22px;color:var(--fg-0);font:700 11px var(--font-ui);border-radius:50%;flex:none;place-items:center;display:inline-grid}.rp-step-body{flex:1;min-width:0}.rp-step-title{color:var(--fg-0);font-size:13.5px;font-weight:600}.rp-step-body p{color:var(--fg-2);margin:4px 0 6px;font-size:12.5px;line-height:1.55}.rp-step-items{color:var(--fg-1);margin:0 0 4px;padding-left:16px;font-size:12.5px;line-height:1.7}.rp-step-items li{overflow-wrap:anywhere}.rp-inv{flex-direction:column;gap:8px;display:flex}.rp-inv-db{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-0)}.rp-inv-db summary{cursor:pointer;align-items:center;gap:10px;padding:9px 12px;font-size:13px;list-style:none;display:flex}.rp-inv-db summary::-webkit-details-marker{display:none}.rp-inv-db summary:before{content:"▸";color:var(--fg-3);font-size:11px;transition:transform .15s}.rp-inv-db[open] summary:before{transform:rotate(90deg)}.rp-inv-db-name{color:var(--fg-0);font-weight:600}.rp-inv-db summary .rp-muted{margin-left:auto;font-size:12px}.rp-inv-schema{padding:4px 12px 10px 30px}.rp-inv-schema-name{color:var(--fg-3);text-transform:none;letter-spacing:0;margin:4px 0;font-size:12px;font-weight:600}.rp-inv-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;padding:4px 0;display:flex}.rp-inv-row:last-child{border-bottom:0}.rp-inv-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.rp-badge{white-space:nowrap;text-overflow:ellipsis;max-width:320px;height:19px;color:var(--fg-1);border:1px solid;border-radius:4px;align-items:center;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex;overflow:hidden}.rp-badge--exclusive{background:color-mix(in oklch, var(--rp-s1), transparent 90%);border-color:color-mix(in oklch, var(--rp-s1), transparent 70%)}.rp-badge--shared{background:color-mix(in oklch, var(--rp-s2), transparent 88%);border-color:color-mix(in oklch, var(--rp-s2), transparent 62%);color:var(--fg-0)}.rp-badge--fk{background:color-mix(in oklch, var(--rp-high), transparent 88%);border-color:color-mix(in oklch, var(--rp-high), transparent 62%);color:var(--fg-0)}.rp-badge--unowned{background:var(--tint-2);border-color:var(--line);color:var(--fg-2)}.rp-badge--legacy{background:color-mix(in oklch, var(--warn), transparent 88%);border-color:color-mix(in oklch, var(--warn), transparent 55%);color:var(--fg-0);border-style:dashed}.rp-comp-type{color:var(--fg-3);text-transform:none;letter-spacing:0;border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-size:12px;font-weight:600}.rp-hm-wrap{overflow-x:auto}.rp-hm{border-collapse:separate;border-spacing:2px;width:100%;font-size:12px}.rp-hm th,.rp-hm td{padding:0}.rp-hm-corner{text-align:left;color:var(--fg-3);vertical-align:bottom;font-weight:500;padding:0 8px 6px!important}.rp-hm-col{text-align:center;vertical-align:bottom;min-width:112px;font-weight:500;padding:0 4px 6px!important}.rp-hm-col-name{color:var(--fg-0);text-overflow:ellipsis;white-space:nowrap;max-width:160px;margin:0 auto;font-weight:600;display:block;overflow:hidden}.rp-hm-col-sub{color:var(--fg-3);font-size:11px;font-weight:400;display:block}.rp-hm-col--total{min-width:70px;color:var(--fg-3)}.rp-hm-row{text-align:left;cursor:pointer;white-space:nowrap;font-weight:500;padding:0 12px 0 4px!important}.rp-hm-row>*{vertical-align:middle}.rp-hm-row-name{text-overflow:ellipsis;max-width:200px;color:var(--fg-0);margin-left:8px;display:inline-block;overflow:hidden}.rp-hm tr.is-selected .rp-hm-row-name{color:var(--accent);font-weight:600}.rp-hm tr.is-selected .rp-rank{background:var(--accent);color:var(--accent-fg)}.rp-hm-cell{text-align:center;cursor:pointer;height:42px;color:var(--fg-0);border-radius:4px}.rp-hm-cell:hover{box-shadow:inset 0 0 0 2px var(--fg-1)}.rp-hm-strong{color:light-dark(#fff,#10141b)}.rp-hm-pct{font-variant-numeric:tabular-nums;font-weight:650;display:block}.rp-hm-cnt{opacity:.8;font-size:10.5px;display:block}.rp-hm-empty{color:var(--fg-3);background:var(--tint-1);cursor:default}.rp-hm-empty:hover{box-shadow:none}.rp-hm-total{cursor:default;color:var(--fg-1);background:0 0}.rp-hm-total:hover{box-shadow:none}.rp-hm-legend{color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:11.5px;display:flex}.rp-hm-scale{align-items:center;gap:8px;display:inline-flex}.rp-hm-ramp{background:linear-gradient(90deg, color-mix(in oklch, var(--rp-seq) 10%, transparent), var(--rp-seq));border-radius:4px;width:120px;height:8px}.rp-comp{flex-direction:column;gap:14px;display:flex}.rp-comp .rp-legend{margin-bottom:0}.rp-comp-head{align-items:center;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.rp-comp-name{color:var(--fg-0);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rp-comp-meta{color:var(--fg-3);white-space:nowrap;margin-left:auto;font-size:12px}.rp-comp-bar{background:var(--tint-1);border-radius:4px;gap:2px;height:12px;display:flex;overflow:hidden}.rp-comp-seg{min-width:3px;display:block}.rp-comp-nums{color:var(--fg-2);font-variant-numeric:tabular-nums;gap:14px;margin-top:5px;font-size:11.5px;display:flex}.rp-fks{flex-direction:column;display:flex}.rp-fks-scroll{max-height:440px;margin-right:-8px;padding-right:8px;overflow-y:auto}.rp-fk{border-bottom:1px solid var(--line-soft);padding:9px 0}.rp-fk:last-of-type{border-bottom:0}.rp-fk-line{color:var(--fg-0);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rp-fk-line svg{color:var(--fg-3);flex:none}.rp-fk-line .rp-badge{margin-left:auto}.rp-fk-apps{flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:12px;display:flex}.rp-fk-db{margin-left:auto;font-size:11.5px}.rp-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.rp-chip{border:1px solid var(--line);background:var(--bg-2);height:20px;color:var(--fg-1);font:500 11.5px var(--font-ui);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}button.rp-chip:hover{border-color:var(--accent);color:var(--fg-0)}.rp-chip--none{cursor:default;color:var(--fg-3);font-style:italic}.rp-more{border:1px dashed var(--line);border-radius:var(--radius);width:100%;height:32px;color:var(--fg-2);font:500 12.5px var(--font-ui);cursor:pointer;background:0 0;margin-top:10px;display:block}.rp-more:hover{background:var(--tint-1);color:var(--fg-0)}.rp-tab-count{background:var(--tint-2);min-width:20px;color:var(--fg-1);border-radius:999px;margin-left:4px;padding:0 6px;font-size:11px;display:inline-block}.rp-dep-grid.uik-grid{background:0 0;border:0;border-radius:0}.rp-dep-grid .uik-grid__pager{background:0 0}.rp-advice{color:var(--fg-2);min-width:200px;font-size:12px}.rp-method{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg)}.rp-method summary{cursor:pointer;color:var(--fg-0);padding:12px 18px;font-size:13px;font-weight:600}.rp-method-body{color:var(--fg-1);padding:0 18px 14px;font-size:13px;line-height:1.6}.rp-method-body ul{margin:6px 0;padding-left:18px}.rp-method-body p{margin:6px 0}.rp-hub{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (max-width:900px){.rp-hub{grid-template-columns:minmax(0,1fr)}}.rp-hub-card{color:inherit;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);align-items:flex-start;gap:14px;padding:18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.rp-hub-card:hover{border-color:color-mix(in oklch, var(--accent), transparent 40%);box-shadow:var(--shadow-1);transform:translateY(-1px)}.rp-hub-card:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.rp-hub-card.is-featured{background:linear-gradient(120deg, var(--primary-50), var(--bg-1) 55%);grid-column:1/-1}.rp-hub-icon{background:var(--primary-100);width:42px;height:42px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.rp-hub-body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.rp-hub-title{color:var(--fg-0);align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:flex}.rp-hub-new{background:var(--accent);color:var(--accent-fg);text-transform:none;letter-spacing:0;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:700}.rp-hub-desc{color:var(--fg-2);font-size:13px;line-height:1.5}.rp-hub-tags{gap:6px;margin-top:4px;display:flex}.rp-hub-tags span{color:var(--fg-2);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11px}.rp-hub-arrow{color:var(--fg-3);flex:none;align-self:center;transition:transform .15s,color .15s}.rp-hub-card:hover .rp-hub-arrow{color:var(--accent);transform:translate(3px)}@media (max-width:1280px){.rp-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.rp-grid--radar,.rp-grid--two,.rp-profile-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.rp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-rank-row{grid-template-columns:24px minmax(0,1fr) 30px 70px}.rp-rank-bar{display:none}.rp-head-actions{flex-wrap:wrap;justify-content:flex-end;width:100%}.rp-head-actions>.rp-db-cbx{flex:100%}}.rp-rank-row--plain{grid-template-columns:minmax(0,1fr) 90px 44px 74px}.rp-grow{flex:1}.rp-findings-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.rp-toolbar-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:100%;margin-left:auto;display:flex}.rp-env{vertical-align:1px;height:18px;color:var(--fg-2);border:1px solid var(--line);border-radius:4px;align-items:center;margin-left:8px;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.rp-env.is-nonprod{color:var(--fg-0);border-color:color-mix(in oklch, var(--rp-high), transparent 55%);background:color-mix(in oklch, var(--rp-high), transparent 88%)}.rp-rules{margin:0;padding:0;list-style:none}.rp-rules li+li .rp-rule{border-top:1px solid var(--line-soft);border-radius:0}.rp-rule{border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:12px;padding:10px 8px;display:grid}.rp-rule:hover{background:var(--tint-2)}.rp-rule.is-selected{background:var(--primary-50);box-shadow:inset 2px 0 0 var(--accent)}.rp-rule:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.rp-rule-count{color:var(--fg-0);font-variant-numeric:tabular-nums;text-align:right;font-size:18px;font-weight:600;line-height:1.3}.rp-rule.is-zero .rp-rule-count{color:var(--fg-3)}.rp-rule-body{flex-direction:column;gap:3px;min-width:0;display:flex}.rp-rule-title{color:var(--fg-0);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.rp-rule-desc{color:var(--fg-2);font-size:12px;line-height:1.45}.rp-cats{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rp-cat{grid-template-columns:minmax(120px,190px) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:12.5px;display:grid}.rp-cat-name{color:var(--fg-0);align-items:center;gap:7px;min-width:0;font-weight:500;display:inline-flex}.rp-cat-dot{border-radius:50%;flex:none;width:8px;height:8px}.rp-cat-bar{background:var(--tint-2);border-radius:4px;height:8px;display:flex;overflow:hidden}.rp-cat-seg{background:var(--accent);height:100%}.rp-cat-seg--suspect{background:color-mix(in oklch, var(--accent), transparent 65%)}.rp-cat-nums{color:var(--fg-2);white-space:nowrap;font-variant-numeric:tabular-nums}.rp-cat-nums b{color:var(--fg-0);font-weight:600}@media (max-width:720px){.rp-cat{grid-template-columns:minmax(0,1fr) auto}.rp-cat-bar{grid-area:2/1/auto/-1}.rp-toolbar-filters{flex:100%}.rp-findings-toolbar .rp-input{width:100%}}.rp-note{margin:4px 2px 0;font-size:12px}.rp-scope-cbx{min-width:200px}.rp-seg{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);box-sizing:border-box;gap:2px;padding:2px;display:inline-flex}.rp-seg button{height:calc(var(--control-h) - 6px);border-radius:calc(var(--radius) - 2px);color:var(--fg-2);font:500 12px var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 10px}.rp-seg button:hover{color:var(--fg-0)}.rp-seg button.is-on{background:var(--bg-3);color:var(--fg-0)}.rp-seg button:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.rp-delta{color:var(--fg-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.rp-delta.is-up{color:var(--ok)}.rp-delta.is-down{color:var(--err)}.rp-bars-wrap{position:relative}.rp-bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), var(--line-soft) calc(25% - 1px), var(--line-soft) 25%);align-items:flex-end;gap:2px;padding-top:16px;display:flex;position:relative}.rp-bars-max{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:10.5px;position:absolute;top:0;left:0}.rp-bar-hit{cursor:default;flex:1;justify-content:center;align-items:flex-end;min-width:0;height:100%;display:flex}.rp-bar{background:var(--accent);border-radius:4px 4px 0 0;width:100%;max-width:18px;display:block}.rp-bar-hit.is-hover{background:var(--tint-2)}.rp-bars-tip{z-index:2;pointer-events:none;border-radius:var(--radius);background:var(--bg-1);border:1px solid var(--line);color:var(--fg-1);white-space:nowrap;padding:6px 9px;font-size:12px;line-height:1.4;position:absolute;bottom:calc(100% - 8px);transform:translate(-50%);box-shadow:0 6px 18px #0000002e}.rp-bars-tip b{color:var(--fg-0)}.rp-bars-tip span{color:var(--fg-2);font-size:11px}.rp-bars-axis{gap:2px;margin-top:4px;display:flex}.rp-bars-axis span{min-width:0;color:var(--fg-3);text-align:center;white-space:nowrap;flex:1;font-size:10.5px;overflow:visible}.rp-bars-table{margin-top:8px;font-size:12px}.rp-bars-table summary{cursor:pointer;color:var(--fg-2)}.rp-bars-table table{border-collapse:collapse;width:100%;max-width:360px;margin-top:6px}.rp-bars-table th,.rp-bars-table td{text-align:left;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums;padding:3px 8px 3px 0}.rp-bars-table th{color:var(--fg-2);font-weight:500}.rp-hbars{gap:10px;margin:0;padding:0;list-style:none;display:grid}.rp-hbars li{grid-template-columns:minmax(130px,200px) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:12.5px;display:grid}.rp-hbars li.is-zero{opacity:.6}.rp-hbar-label{color:var(--fg-0);flex-direction:column;min-width:0;font-weight:500;display:flex}.rp-hbar-label small{color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;overflow:hidden}.rp-hbar-track{background:var(--tint-2);border-radius:4px;height:8px;overflow:hidden}.rp-hbar{background:var(--accent);border-radius:4px;height:100%;display:block}.rp-hbar-value{color:var(--fg-2);white-space:nowrap;font-variant-numeric:tabular-nums}.rp-hbar-value b{color:var(--fg-0);font-weight:600}.rp-heat{overflow-x:auto}.rp-heat-grid{grid-template-columns:34px repeat(24,minmax(14px,1fr));gap:2px;min-width:520px;display:grid}.rp-heat-h,.rp-heat-d{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:10.5px}.rp-heat-h{text-align:left}.rp-heat-d{align-self:center}.rp-heat-cell{border-radius:3px;height:18px}.rp-heat-0{background:var(--tint-2)}.rp-heat-1{background:color-mix(in oklch, var(--accent), transparent 84%)}.rp-heat-2{background:color-mix(in oklch, var(--accent), transparent 68%)}.rp-heat-3{background:color-mix(in oklch, var(--accent), transparent 50%)}.rp-heat-4{background:color-mix(in oklch, var(--accent), transparent 28%)}.rp-heat-5{background:var(--accent)}.rp-heat-cell:hover{outline:2px solid var(--fg-1);outline-offset:-1px}.rp-heat-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.rp-heat-scale{align-items:center;gap:3px;display:inline-flex}.rp-heat-scale i{border-radius:2px;width:14px;height:10px}.rp-heat-scale .rp-muted:first-child{margin-right:4px}.rp-heat-scale .rp-muted:last-child{margin-left:4px}@media (max-width:720px){.rp-hbars li{grid-template-columns:minmax(0,1fr) auto}.rp-hbar-track{grid-area:2/1/auto/-1}}
.ex-page .ex-tone--low{--tone:var(--rp-low)}.ex-page .ex-tone--medium{--tone:var(--rp-medium)}.ex-page .ex-tone--high{--tone:var(--rp-high)}.ex-page .ex-tone--critical{--tone:var(--rp-critical)}.ex-page .ex-tone--none{--tone:var(--fg-3)}.ex-page [class*=ex-tone--]{--tone-ink:color-mix(in oklch, var(--tone), var(--fg-0) 40%)}.ex-hero{border-radius:var(--radius-lg);border:1px solid var(--line);background:radial-gradient(120% 140% at 0% 0%, color-mix(in oklch, var(--accent), transparent 93%), transparent 60%), var(--bg-1);grid-template-columns:auto minmax(0,1.1fr) minmax(300px,1fr);align-items:center;gap:28px;margin-bottom:16px;padding:22px 24px;display:grid}.ex-hero-score{flex-direction:column;align-items:center;gap:10px;display:flex}.ex-hero-grade{flex-direction:column;align-items:center;gap:4px;display:flex}.ex-hero-label{color:var(--fg-2);font-size:12px}.ex-hero-text{min-width:0}.ex-headline{color:var(--fg-0);letter-spacing:-.01em;margin:0;font-size:19px;font-weight:650;line-height:1.35}.ex-priority{color:var(--fg-1);margin:8px 0 0;font-size:14px;line-height:1.5}.ex-hero-meta{color:var(--fg-2);font-variant-numeric:tabular-nums;margin:12px 0 0;font-size:12px}.ex-ring{flex:none;place-items:center;display:grid;position:relative}.ex-ring svg{position:absolute;inset:0}.ex-ring-track{stroke:var(--tint-3,var(--line))}.ex-ring-value{stroke:var(--tone);transition:stroke-dasharray .6s}.ex-ring-text{color:var(--fg-0);font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;display:flex;position:relative}.ex-ring-text b{letter-spacing:-.02em;font-size:36px;font-weight:700}.ex-ring-text small{color:var(--fg-2);font-size:13px}.ex-pillars{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ex-pillar{grid-template-columns:minmax(0,1.3fr) minmax(70px,1fr) 34px;align-items:center;gap:12px;display:grid}.ex-pillar-name{min-width:0;color:var(--fg-0);flex-direction:column;font-size:13px;font-weight:500;display:flex}.ex-pillar-name small{color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:400;overflow:hidden}.ex-pillar-bar{background:var(--tint-2);border-radius:4px;height:8px;overflow:hidden}.ex-pillar-bar span{background:var(--tone);border-radius:4px;height:100%;transition:width .5s;display:block}.ex-pillar-score{text-align:right;color:var(--fg-0);font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}.ex-pillars--compact{border-bottom:1px solid var(--line-soft);grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 18px;margin-bottom:18px;padding-bottom:16px;display:grid}.ex-pillars--compact .ex-pillar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name score""bar bar";gap:6px 8px}.ex-pillars--compact .ex-pillar-name{grid-area:name;font-size:12.5px}.ex-pillars--compact .ex-pillar-bar{grid-area:bar;height:6px}.ex-pillars--compact .ex-pillar-score{grid-area:score}.ex-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.ex-table-wrap{margin:0 -4px;overflow-x:auto}.ex-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.ex-table th,.ex-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:9px 10px}.ex-table thead th{color:var(--fg-2);white-space:nowrap;border-bottom-color:var(--line);font-size:12px;font-weight:500}.ex-table tbody tr{cursor:pointer;transition:background .12s}.ex-table tbody tr:hover{background:var(--tint-2)}.ex-table tbody tr.is-selected{background:color-mix(in oklch, var(--accent), transparent 91%)}.ex-table tbody tr.is-selected th{box-shadow:inset 3px 0 0 var(--accent)}.ex-table tbody tr:last-child th,.ex-table tbody tr:last-child td{border-bottom:0}.ex-table .ex-num{text-align:center}.ex-db-btn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.ex-db-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ex-db-name{color:var(--fg-0);font-weight:600}.ex-db-meta{color:var(--fg-2);font-size:11.5px;font-weight:400}.ex-overall{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:inline-flex}.ex-overall b{color:var(--fg-0);text-align:right;min-width:24px;font-size:15px}.ex-cell{text-align:center;font-variant-numeric:tabular-nums;background:color-mix(in oklch, var(--tone), transparent 86%);min-width:40px;color:var(--tone-ink);border-radius:6px;padding:3px 8px;font-size:12.5px;font-weight:600;display:inline-block}.ex-cell.ex-tone--none{background:var(--tint-2);color:var(--fg-3)}.ex-unreachable{color:var(--fg-3);font-size:12px;font-style:italic}.ex-alert-details{margin-top:6px;font-size:12.5px}.ex-alert-details summary{cursor:pointer;color:var(--fg-1)}.ex-alert-details ul{margin:6px 0 0}.ex-unreachable-note{color:var(--fg-2);margin:12px 0 0;font-size:12px;line-height:1.5}.ex-detail-sub{color:var(--fg-2);font-size:13px;font-weight:400}.ex-detail-score{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:inline-flex}.ex-detail-score b{color:var(--fg-0);font-size:22px;font-weight:700}.ex-assess{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 28px;display:grid}.ex-assess-col--wide{border-top:1px solid var(--line-soft);grid-column:1/-1;padding-top:18px}.ex-actions.ex-actions--grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.ex-actions--grid .ex-action,.ex-actions--grid .ex-action-link{box-sizing:border-box;height:100%}.ex-col-title{color:var(--fg-0);align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:600;display:flex}.ex-col-title:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.ex-col-title--ok:before{background:var(--ok)}.ex-col-title--warn:before{background:var(--warn)}.ex-col-count{background:var(--tint-2);color:var(--fg-2);border-radius:10px;margin-left:2px;padding:0 7px;font-size:11.5px;font-weight:600;line-height:19px}.ex-facts{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ex-facts li{align-items:flex-start;gap:10px;display:flex}.ex-fact-ic{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.ex-facts--strength .ex-fact-ic{background:color-mix(in oklch, var(--ok), transparent 84%);color:color-mix(in oklch, var(--ok), var(--fg-0) 35%)}.ex-facts--gap .ex-fact-ic{background:color-mix(in oklch, var(--warn), transparent 82%);color:color-mix(in oklch, var(--warn), var(--fg-0) 40%)}.ex-fact-body{min-width:0;color:var(--fg-0);flex-direction:column;gap:2px;font-size:13px;line-height:1.5;display:flex}.ex-fact-body small{color:var(--fg-2);font-size:11.5px}.ex-empty-line{color:var(--fg-2);margin:0;font-size:12.5px}.ex-more-note{color:var(--fg-2);margin:8px 0 0;font-size:12px}.ex-unreachable-box{border-radius:var(--radius);border:1px dashed var(--line);color:var(--fg-2);padding:14px 16px;font-size:13px}.ex-actions{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ex-sev--high{--sev:var(--rp-critical)}.ex-sev--medium{--sev:var(--rp-medium)}.ex-sev--low{--sev:var(--info)}.ex-action-link{border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--bg-1);color:inherit;flex-direction:column;gap:4px;padding:10px 12px;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.ex-action-link:hover{border-color:var(--line);box-shadow:var(--shadow-1)}.ex-action-link:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.ex-action-head{align-items:center;gap:8px;min-width:0;display:flex}.ex-action-dot{background:var(--sev);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklch, var(--sev), transparent 82%);border-radius:50%;flex:none}.ex-action-title{color:var(--fg-0);font-size:13px;font-weight:600}.ex-action-why{color:var(--fg-2);padding-left:16px;font-size:12px;line-height:1.45}.ex-action-meta{flex-wrap:wrap;gap:6px;margin-top:2px;padding-left:16px;display:flex}.ex-chip{background:var(--tint-2);height:20px;color:var(--fg-1);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:5px;align-items:center;padding:0 7px;font-size:11.5px;font-weight:500;display:inline-flex}.ex-chip--db{background:color-mix(in oklch, var(--accent), transparent 88%);color:color-mix(in oklch, var(--accent), var(--fg-0) 35%);font-weight:600}.ex-effort--small{color:color-mix(in oklch, var(--ok), var(--fg-0) 40%)}.ex-effort--medium{color:color-mix(in oklch, var(--warn), var(--fg-0) 40%)}.ex-effort--large{color:color-mix(in oklch, var(--err), var(--fg-0) 40%)}.ex-roadmap{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.ex-lane{--lane:var(--accent);border-radius:var(--radius-lg);background:var(--bg-0);border:1px solid var(--line-soft);border-top:3px solid var(--lane);min-width:0;padding:14px}.ex-lane--now{--lane:var(--rp-critical)}.ex-lane--next{--lane:var(--rp-medium)}.ex-lane--later{--lane:var(--info)}.ex-lane-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ex-lane-head h3{color:var(--fg-0);align-items:baseline;gap:8px;margin:0;font-size:14px;font-weight:650;display:flex}.ex-lane-when{color:var(--fg-2);font-size:12px;font-weight:500}.ex-lane-count{background:color-mix(in oklch, var(--lane), transparent 86%);min-width:24px;color:color-mix(in oklch, var(--lane), var(--fg-0) 40%);text-align:center;font-variant-numeric:tabular-nums;border-radius:11px;padding:0 8px;font-size:12px;font-weight:700;line-height:22px}.ex-lane-desc{color:var(--fg-2);margin:4px 0 12px;font-size:12px}.ex-lane-more{border-radius:var(--radius);color:var(--accent);font:500 12.5px var(--font-ui);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:6px 10px}.ex-lane-more:hover{background:var(--tint-2)}.ex-lane-more:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.ex-page .rp-method-body ul{margin:6px 0;padding-left:18px}.ex-page .rp-method-body li{margin:3px 0}@media (max-width:1200px){.ex-hero{grid-template-columns:auto minmax(0,1fr)}.ex-hero-pillars{grid-column:1/-1}.ex-pillars--compact{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.ex-roadmap{grid-template-columns:minmax(0,1fr)}.ex-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.ex-hero{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px 16px}.ex-hero-score{flex-direction:row;justify-content:flex-start;gap:16px}.ex-hero-grade{align-items:flex-start}.ex-headline{font-size:17px}.ex-assess{grid-template-columns:minmax(0,1fr)}.ex-pillars--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.ex-page .rp-head-actions,.ex-page .rp-card-actions .rp-seg,.ex-page .ex-lane-more{display:none!important}body:has(.ex-page) .act-rail{display:none!important}body:has(.ex-page) .sidebar{display:none!important}body:has(.ex-page) .header{display:none!important}body:has(.ex-page) .main-content{height:auto!important;overflow:visible!important}.ex-page{padding:0!important}.ex-page *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ex-hero,.rp-card,.ex-lane,.ex-action-link{break-inside:avoid;box-shadow:none!important}.ex-page .rp-method{display:none}}
.pd-root{overscroll-behavior:contain;background:var(--bg-0);color:var(--fg-0);font-family:var(--font-ui);position:fixed;inset:0;overflow:auto}.pd-toolbar{z-index:20;border-bottom:1px solid var(--line);background:var(--bg-1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:10px 24px;display:flex;position:sticky;top:0;box-shadow:0 1px #00000005}.pd-toolbar-main{flex:320px;align-items:center;gap:14px;min-width:0;display:flex}.pd-back{border-radius:var(--radius);height:30px;color:var(--fg-1);flex:none;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.pd-back:hover{background:var(--bg-hover);color:var(--fg-0)}.pd-back:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.pd-toolbar-sep{background:var(--line);flex:none;width:1px;height:22px}.pd-toolbar-title{flex-direction:column;gap:1px;min-width:0;display:flex}.pd-toolbar-title b{color:var(--fg-0);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.pd-toolbar-title span{color:var(--fg-2);font-variant-numeric:tabular-nums;font-size:12px}.pd-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pd-toolbar-actions .rp-btn{height:32px}.pd-toolbar-actions .rp-btn--primary{justify-content:center;min-width:118px}.pd-btn-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:13px;height:13px;animation:.7s linear infinite pd-spin}@keyframes pd-spin{to{transform:rotate(360deg)}}.pd-desk{flex-direction:column;align-items:center;gap:22px;padding:28px 24px 56px;display:flex}.pd-slot{flex:none;position:relative}.pd-slot .pd-sheet{transform-origin:0 0;position:absolute;top:0;left:0;box-shadow:0 1px 3px #0f172a1f,0 8px 28px #0f172a24}.pd-state{min-height:60vh;color:var(--fg-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:13px;display:flex}.pd-state h1{font-size:var(--fs-page-title,19px);color:var(--fg-0);margin:0;font-weight:600}.pd-state p{max-width:520px;margin:0;line-height:1.55}.pd-state .rp-btn{margin-top:6px;text-decoration:none}.pd-desk-busy{color:var(--fg-2);align-items:center;gap:10px;padding:60px 0;font-size:13px;display:flex}.pd-probe{visibility:hidden;pointer-events:none;contain:layout style;position:absolute;top:0;left:-100000px}.pd-sheet{--ink:#15181d;--ink-2:#3a414c;--muted:#616a76;--faint:#8a929d;--line:#dde2e7;--line-soft:#eceff2;--fill:#f5f7f9;--accent:#2456c9;box-sizing:border-box;color:var(--ink);font-family:var(--font-ui);letter-spacing:0;text-align:left;-webkit-font-smoothing:antialiased;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;font-size:11.5px;line-height:1.45;display:flex;overflow:hidden}.pd-sheet *,.pd-sheet :before,.pd-sheet :after{box-sizing:border-box}.pd-sheet--portrait{width:210mm;height:297mm;padding:12mm 14mm 10mm}.pd-sheet--landscape{width:297mm;height:210mm;padding:10mm 14mm 8mm}.pd-sheet--measure{height:auto!important}.pd-sheet--measure .pd-body{flex:none;overflow:visible}.pd-run-head,.pd-run-foot{color:var(--faint);flex:none;justify-content:space-between;align-items:center;gap:16px;font-size:9px;line-height:1.3;display:flex}.pd-run-head{border-bottom:1px solid var(--line-soft);margin-bottom:14px;padding-bottom:6px}.pd-run-head b{color:var(--ink-2);font-weight:600}.pd-run-brand{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.pd-run-brand i{background:var(--accent);border-radius:2px;width:8px;height:8px}.pd-run-foot{border-top:1px solid var(--line-soft);margin-top:10px;padding-top:6px}.pd-run-foot span:last-child{white-space:nowrap;color:var(--muted)}.pd-body{flex-direction:column;flex:auto;gap:14px;min-height:0;display:flex;overflow:hidden}.pd-block{flex:none;min-width:0;display:flow-root}.pd-block [data-unit]{margin-top:0!important;margin-bottom:0!important}.pd-cont{color:var(--faint);padding-bottom:6px;font-size:9.5px;font-weight:600}.pd-mono{font-family:var(--font-mono);font-size:.92em}.pd-muted{color:var(--muted)}.pd-strong{color:var(--ink);font-weight:600}.pd-small{font-size:.9em}.pd-line{display:block}.pd-al-right{text-align:right!important}.pd-al-center{text-align:center!important}.pd-empty{border:1px dashed var(--line);color:var(--muted);border-radius:6px;margin:0;padding:10px 12px;font-size:11px}.pd-tone-critical{--t-fg:#b42318;--t-bg:#fdecea;--t-fill:#d92d20}.pd-tone-high{--t-fg:#b4490c;--t-bg:#fff1e6;--t-fill:#ea6a13}.pd-tone-medium{--t-fg:#8a5d00;--t-bg:#fdf4d8;--t-fill:#d6a10b}.pd-tone-low{--t-fg:#1e7a35;--t-bg:#e7f5eb;--t-fill:#2f9e4f}.pd-tone-info{--t-fg:#1f5fc9;--t-bg:#e8f0fd;--t-fill:#2f6fe0}.pd-tone-neutral{--t-fg:#59626d;--t-bg:#eff1f4;--t-fill:#98a1ab}.pd-chip{white-space:nowrap;vertical-align:1px;color:var(--t-fg,var(--muted));background:var(--t-bg,var(--fill));border-radius:999px;padding:1px 7px 1px 6px;font-size:9.5px;font-weight:600;line-height:15px;display:inline-block}.pd-chip i{vertical-align:1px;background:var(--t-fill,var(--faint));border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.pd-tag{vertical-align:1px;white-space:nowrap;color:var(--ink-2);background:var(--fill);border:1px solid var(--line-soft);border-radius:4px;margin:1px 4px 1px 0;padding:0 6px;font-size:9.5px;font-weight:500;line-height:15px;display:inline-block}.pd-tag[class*=pd-tone-]{color:var(--t-fg);background:var(--t-bg);border-color:#0000}.pd-tag.pd-tone-neutral{border-color:var(--line-soft)}.pd-pill{text-align:center;min-width:30px;color:var(--t-fg,var(--ink));background:var(--t-bg,var(--fill));border-radius:5px;padding:1px 6px;font-size:10.5px;font-weight:600;line-height:16px;display:inline-block}.pd-cover{border-bottom:2px solid var(--ink);padding-bottom:14px}.pd-cover-crumb{color:var(--accent);font-size:10px;font-weight:600}.pd-cover h1{color:var(--ink);margin:4px 0 0;font-size:23px;font-weight:700;line-height:1.2}.pd-cover-sub{max-width:92%;color:var(--muted);margin:6px 0 0;font-size:11.5px;line-height:1.5}.pd-cover-meta{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 18px;margin:14px 0 0;display:grid}.pd-cover-meta div{min-width:0}.pd-cover-meta dt{color:var(--faint);font-size:9.5px}.pd-cover-meta dd{color:var(--ink);overflow-wrap:anywhere;margin:1px 0 0;font-size:11px;font-weight:500}.pd-heading{padding-top:4px}.pd-heading h2{color:var(--ink);margin:0;font-size:14px;font-weight:600;line-height:1.3}.pd-heading p{color:var(--muted);margin:3px 0 0;font-size:10.5px;line-height:1.45}.pd-kpis{grid-template-columns:repeat(var(--pd-kpi-cols,3), minmax(0, 1fr));border:1px solid var(--line);border-radius:8px;display:grid;overflow:hidden}.pd-sheet--portrait .pd-kpis[data-count="4"],.pd-sheet--portrait .pd-kpis[data-count="8"]{--pd-kpi-cols:4}.pd-sheet--portrait .pd-kpis[data-count="2"]{--pd-kpi-cols:2}.pd-sheet--landscape .pd-kpis[data-count="6"]{--pd-kpi-cols:6}.pd-sheet--landscape .pd-kpis[data-count="5"]{--pd-kpi-cols:5}.pd-sheet--landscape .pd-kpis[data-count="4"],.pd-sheet--landscape .pd-kpis[data-count="8"]{--pd-kpi-cols:4}.pd-sheet--landscape .pd-kpis[data-count="2"]{--pd-kpi-cols:2}.pd-kpi{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);flex-direction:column;gap:2px;min-width:0;margin:0 -1px -1px 0;padding:9px 12px 10px;display:flex}.pd-kpi-label{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.pd-kpi-label i{background:var(--t-fill);border-radius:50%;flex:none;width:6px;height:6px}.pd-kpi-value{color:var(--ink);white-space:nowrap;font-size:19px;font-weight:700;line-height:1.2}.pd-kpi-value small{color:var(--muted);margin-left:1px;font-size:11px;font-weight:500}.pd-kpi-sub{color:var(--muted);font-size:9.5px;line-height:1.35}.pd-alert{border:1px solid;border-radius:6px;padding:9px 12px;font-size:10.5px;line-height:1.45}.pd-alert--warn{color:#6b4b00;background:#fff8e6;border-color:#f4dfa3}.pd-alert--error{color:#8f1d12;background:#fdecea;border-color:#f6c6c1}.pd-alert--info{color:#1d4a99;background:#eef4fe;border-color:#c9dbfa}.pd-alert-title{font-weight:600}.pd-alert ul{margin:0;padding:0 0 0 16px}.pd-alert li{overflow-wrap:anywhere;padding-top:3px}.pd-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:10.5px;line-height:1.4}.pd-table thead,.pd-table tr,.pd-table th,.pd-table td,.pd-table tr:hover td{background:0 0}.pd-table th{text-align:left;vertical-align:bottom;color:var(--muted);overflow-wrap:anywhere;border-bottom:1px solid #c9d0d8;padding:0 7px 5px;font-size:9.5px;font-weight:600}.pd-table td{border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--ink-2);overflow-wrap:anywhere;padding:5px 7px}.pd-table th:first-child,.pd-table td:first-child{padding-left:2px}.pd-table th:last-child,.pd-table td:last-child{padding-right:2px}.pd-table td .pd-mono{font-size:9.8px}.pd-row-tone td:first-child{box-shadow:inset 2px 0 0 var(--t-fill);padding-left:8px}.pd-meters{border-top:1px solid var(--line-soft);margin:0;padding:0;list-style:none}.pd-meter{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) minmax(70px,22%) 42px 76px;align-items:center;gap:12px;padding:6px 2px;display:grid}.pd-meter-main{flex-direction:column;min-width:0;display:flex}.pd-meter-name{color:var(--ink);overflow-wrap:anywhere;font-size:11px;font-weight:600}.pd-meter-meta{color:var(--muted);overflow-wrap:anywhere;font-size:9.5px}.pd-meter-bar{background:#edf0f3;border-radius:4px;height:7px;overflow:hidden}.pd-fill{background:var(--t-fill,var(--accent));border-radius:4px;height:100%;display:block}.pd-meter-val{text-align:right;color:var(--ink);white-space:nowrap;font-size:11px;font-weight:600}.pd-meter-chip{text-align:right}.pd-items{border-top:1px solid var(--line-soft)}.pd-item-headu,.pd-item-line{box-shadow:inset 3px 0 0 var(--t-fill,#c7cdd4)}.pd-item-headu{padding:7px 4px 2px 12px}.pd-item-end{border-bottom:1px solid var(--line-soft);padding-bottom:8px}.pd-item-head{align-items:baseline;gap:8px;display:flex}.pd-item-num{text-align:center;min-width:18px;height:18px;color:var(--t-fg,var(--ink-2));background:var(--t-bg,var(--fill));border-radius:9px;flex:none;padding:0 5px;font-size:10px;font-weight:700;line-height:18px;display:inline-block}.pd-item-title{color:var(--ink);font-size:11.5px;font-weight:600}.pd-item-text{color:var(--muted);margin:2px 0 0;font-size:10.5px;line-height:1.45}.pd-item-tags{margin-top:4px}.pd-item-line{color:var(--ink-2);overflow-wrap:anywhere;padding:1px 4px 0 30px;font-size:10px;line-height:1.45;position:relative}.pd-item-line:before{content:"";background:#9aa2ad;border-radius:50%;width:4px;height:4px;position:absolute;top:6.5px;left:19px}.pd-item-headu+.pd-item-line{padding-top:3px}.pd-item-headu+.pd-item-line:before{top:8.5px}.pd-text{color:var(--ink-2);font-size:11px;line-height:1.55}.pd-text p{margin:0;padding-bottom:6px}.pd-text--muted{color:var(--muted);font-size:10.5px}.pd-text--bullets{margin:0;padding:0 0 0 16px}.pd-text--bullets li{padding-bottom:4px}.pd-code{border:1px solid var(--line);background:#f7f8fa;border-radius:6px;overflow:hidden}.pd-code-cap{border-bottom:1px solid var(--line);color:var(--muted);background:#f0f2f5;padding:6px 10px;font-size:9.5px;font-weight:600}.pd-code-body{padding:7px 10px}.pd-code-line{font-family:var(--font-mono);color:#1f2933;white-space:pre-wrap;word-break:break-all;font-size:9.2px;line-height:1.5}.pd-facts{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0;margin:0;display:grid;overflow:hidden}.pd-facts div{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-width:0;margin:0 -1px -1px 0;padding:8px 12px}.pd-facts dt{color:var(--muted);font-size:9.5px}.pd-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:2px 0 0;font-size:11.5px;font-weight:600}.pd-cols{grid-template-columns:repeat(var(--pd-cols,2), minmax(0, 1fr));gap:18px;display:grid}.pd-col h3{color:var(--ink);align-items:center;gap:7px;margin:0 0 6px;font-size:11.5px;font-weight:600;display:flex}.pd-col h3 i{background:var(--t-fill,var(--accent));border-radius:50%;width:7px;height:7px}.pd-col ul{color:var(--ink-2);margin:0;padding:0 0 0 15px;font-size:10.5px;line-height:1.5}.pd-col li{padding-bottom:3px}.pd-bars{border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px 8px}.pd-bars-plot{border-bottom:1px solid #c9d0d8;align-items:flex-end;gap:0;height:110px;padding-top:14px;display:flex;position:relative}.pd-bars-max{color:var(--faint);font-size:9px;position:absolute;top:0;left:0}.pd-bar-slot{flex:1 1 0;justify-content:center;align-items:flex-end;min-width:0;height:100%;padding:0 1px;display:flex}.pd-bar{background:#3c6fd6;border-radius:2px 2px 0 0;width:100%;max-width:14px;display:block}.pd-bars-axis{margin-top:3px;display:flex}.pd-bars-axis span{min-width:0;color:var(--faint);white-space:nowrap;flex:1 1 0;font-size:8.5px;overflow:visible}.pd-bars-cap{color:var(--muted);margin-top:5px;font-size:9.5px}.pd-heat{border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px}.pd-heat-grid{align-items:center;gap:2px;display:grid}.pd-heat-h{color:var(--faint);text-align:left;font-size:8.5px}.pd-heat-d{color:var(--muted);white-space:nowrap;padding-right:6px;font-size:9.5px}.pd-heat-cell{border-radius:2px;height:13px}.pd-heat-0{background:#f1f3f6}.pd-heat-1{background:#dde8fb}.pd-heat-2{background:#b6cdf4}.pd-heat-3{background:#84a9ea}.pd-heat-4{background:#4f83dd}.pd-heat-5{background:#2557c2}.pd-heat-scale{color:var(--muted);justify-content:flex-end;align-items:center;gap:3px;margin-top:8px;font-size:9px;display:flex}.pd-heat-scale i{border-radius:2px;width:12px;height:10px}.pd-heat-scale span:first-child{margin-right:3px}.pd-heat-scale span:last-child{margin-left:3px}.pd-figure{flex-direction:column;align-items:center;gap:6px;margin:0;display:flex}.pd-figure img{border:1px solid var(--line-soft);border-radius:6px;display:block}.pd-figure figcaption{color:var(--muted);font-size:9.5px}.pd-hero{border:1px solid var(--line);background:#f8fafc;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;padding:14px 18px;display:grid}.pd-hero-score{flex-direction:column;align-items:center;gap:5px;display:flex}.pd-hero-label{color:var(--muted);font-size:10px}.pd-ring{place-items:center;width:104px;height:104px;display:grid;position:relative}.pd-ring svg{position:absolute;inset:0}.pd-ring-text{color:var(--ink);align-items:baseline;gap:1px;display:flex;position:relative}.pd-ring-text b{font-size:28px;font-weight:700}.pd-ring-text small{color:var(--muted);font-size:10.5px}.pd-hero-headline{color:var(--ink);margin:0;font-size:15.5px;font-weight:600;line-height:1.35}.pd-hero-line{color:var(--ink-2);margin:6px 0 0;font-size:11.5px;line-height:1.5}.pd-hero-meta{color:var(--muted);margin:9px 0 0;font-size:10px}@media (max-width:720px){.pd-toolbar{padding:10px 16px}.pd-toolbar-sep{display:none}.pd-toolbar-actions{width:100%}.pd-toolbar-actions .rp-btn{flex:auto;justify-content:center}.pd-toolbar-actions .rp-seg{flex:100%}.pd-toolbar-actions .rp-seg button{flex:1 1 0}.pd-desk{gap:14px;padding:16px 16px 40px}}@media print{html,body{background:#fff!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.pd-root{background:#fff;position:static;overflow:visible}.pd-toolbar,.pd-probe{display:none!important}.pd-desk{gap:0;padding:0;display:block}.pd-slot{width:auto!important;height:auto!important}.pd-slot .pd-sheet{box-shadow:none;break-after:page;page-break-after:always;position:static;transform:none!important}.pd-slot:last-child .pd-sheet{break-after:auto;page-break-after:auto}}
.ci-detail,.ci-plan{--rp-low:var(--ok);--rp-medium:var(--warn);--rp-high:oklch(72% .16 48);--rp-critical:var(--err)}:root[data-theme=light] .ci-detail,:root[data-theme=light] .ci-plan{--rp-high:oklch(60% .17 45)}.rp-lv-info{--lv:var(--fg-3)}.rp-lv-bg-info{background:var(--fg-3)}.ci-class{white-space:nowrap;height:20px;color:var(--fg-1);border:1px solid var(--line);background:var(--bg-2);border-radius:4px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.ci-class--breaking{color:var(--fg-0);border-color:color-mix(in srgb, var(--err) 45%, transparent);background:color-mix(in srgb, var(--err) 10%, transparent)}.ci-class--risky{color:var(--fg-0);border-color:color-mix(in srgb, var(--warn) 50%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent)}.ci-class--compatible{color:var(--fg-2)}.ci-status{white-space:nowrap;height:20px;color:var(--fg-1);background:var(--tint-2);border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.ci-status:before{content:"";background:var(--fg-3);border-radius:50%;width:6px;height:6px}.ci-status--open:before{background:var(--err)}.ci-status--progress:before{background:var(--warn)}.ci-status--done:before{background:var(--ok)}.ci-status--accepted:before{background:var(--accent)}.ci-status--muted{color:var(--fg-3)}.ci-diff{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:inline-flex}.ci-diff code{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);border-radius:4px;max-width:220px;padding:1px 6px;font-size:11.5px;overflow:hidden}.ci-diff-old{color:var(--fg-2);background:var(--bg-2);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--err) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--err) 70%, transparent)}.ci-diff-new{color:var(--fg-0);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)!important}.ci-diff-none{color:var(--fg-3);font-size:11.5px;font-style:italic}.ci-diff-arrow{color:var(--fg-3);font-size:12px}.ci-cell-level{align-items:center;gap:6px;display:inline-flex}.ci-cell-level small{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:11px}.ci-grid td .ci-cell-change,.ci-grid td .ci-svc-chips{white-space:normal}.ci-cell-change{flex-direction:column;gap:3px;min-width:0;padding:2px 0;display:flex}.ci-cell-kind{color:var(--fg-2);font-size:11.5px}.ci-cell-target{font-family:var(--font-mono);color:var(--fg-0);word-break:break-all;font-size:12.5px}.ci-cell-change .ci-diff{flex-wrap:nowrap}.ci-cell-change .ci-diff code{max-width:150px}.ci-cell-target b{font-weight:600}.ci-cell-db{color:var(--fg-1);flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.ci-cell-db .rp-env{margin-left:6px}.ci-grid .ci-row{cursor:pointer}.ci-grid .ci-row.is-selected td{background:var(--primary-50)}.ci-grid .ci-row--critical td:first-child{box-shadow:inset 3px 0 0 var(--rp-critical)}.ci-grid .ci-row--high td:first-child{box-shadow:inset 3px 0 0 var(--rp-high)}.ci-svc-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.ci-svc-chip{max-width:160px;height:20px;color:var(--fg-0);background:var(--bg-2);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:5px;padding:0 7px;font-size:11.5px;display:inline-flex;overflow:hidden}.ci-svc-chip i{background:var(--lv);border-radius:50%;flex:none;width:6px;height:6px}.ci-svc-chip.is-declared{color:var(--fg-2);border-style:dashed}.ci-svc-more{color:var(--fg-3);align-self:center;font-size:11.5px}.ci-dist{background:var(--tint-2);border-radius:5px;gap:2px;height:10px;margin-bottom:12px;display:flex;overflow:hidden}.ci-dist-seg{background:var(--lv);min-width:4px}.ci-levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.ci-level-row{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);width:100%;color:inherit;font:inherit;text-align:left;flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px;display:flex}.ci-level-row:hover{background:var(--tint-2)}.ci-level-row.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.ci-level-row:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.ci-level-row.is-zero .ci-level-count{color:var(--fg-3)}.ci-level-count{color:var(--fg-0);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;line-height:1}.ci-dbs{margin:0;padding:0;list-style:none}.ci-db{align-items:center;gap:10px;padding:8px 2px;display:flex}.ci-db+.ci-db{border-top:1px solid var(--line-soft)}.ci-db-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ci-db-name{color:var(--fg-0);font-size:13px;font-weight:600}.ci-db-meta{color:var(--fg-3);font-size:12px}.ci-coverage-tag{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.ci-coverage--ok{color:var(--fg-0);border-color:color-mix(in srgb, var(--ok) 45%, transparent);background:color-mix(in srgb, var(--ok) 10%, transparent)}.ci-coverage--warn{color:var(--fg-0);border-color:color-mix(in srgb, var(--warn) 50%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent)}.ci-coverage--bad{color:var(--fg-0);border-color:color-mix(in srgb, var(--err) 45%, transparent);background:color-mix(in srgb, var(--err) 9%, transparent)}p.ci-coverage{color:var(--fg-1);background:0 0;border:0;margin:0;padding:0;font-size:13px}p.ci-coverage b{font-weight:600}p.ci-coverage--ok b{color:var(--ok)}p.ci-coverage--warn b{color:var(--warn)}p.ci-coverage--bad b{color:var(--err)}.ci-coverage-alert{flex-direction:column;gap:4px;display:flex}.ci-empty-actions{justify-content:center;margin-top:16px;display:flex}.ci-detail{flex-direction:column;gap:18px;display:flex}.ci-verdict{border-radius:var(--radius-lg);border:1px solid color-mix(in srgb, var(--lv) 40%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--lv) 9%, var(--bg-1)), var(--bg-1) 70%);padding:16px 18px}.ci-verdict-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ci-kind{color:var(--fg-1);font-size:12.5px;font-weight:600}.ci-shift{color:var(--fg-2);background:var(--tint-2);border-radius:4px;padding:1px 7px;font-size:11.5px}.ci-score{color:var(--fg-0);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:24px;font-weight:650}.ci-score small{color:var(--fg-3);margin-left:1px;font-size:12px;font-weight:500}.ci-verdict-target{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.ci-target{font-family:var(--font-mono);color:var(--fg-0);font-size:15px;text-decoration:none}.ci-target:hover{text-decoration:underline}.ci-target-col{font-weight:700}.ci-verdict-text{color:var(--fg-1);max-width:760px;margin:10px 0 0;font-size:13.5px;line-height:1.6}.ci-verdict-meta{color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.ci-verdict-meta .rp-env{margin-left:0}.ci-notes{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ci-notes li{color:var(--fg-1);border-radius:var(--radius);background:color-mix(in srgb, var(--warn) 8%, var(--bg-1));border:1px solid color-mix(in srgb, var(--warn) 30%, var(--line));padding:8px 12px 8px 30px;font-size:12.5px;line-height:1.5;position:relative}.ci-notes li:before{content:"!";color:var(--warn);font-weight:700;position:absolute;top:8px;left:11px}.ci-section h3{color:var(--fg-0);align-items:center;gap:8px;margin:0 0 10px;font-size:13.5px;font-weight:600;display:flex}.ci-section h4{color:var(--fg-2);align-items:center;gap:6px;margin:12px 0 6px;font-size:12px;font-weight:600;display:flex}.ci-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ci-section-head h3{margin-bottom:6px}.ci-section--split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.ci-count{background:var(--tint-2);min-width:20px;color:var(--fg-1);text-align:center;border-radius:999px;padding:0 6px;font-size:11px;font-weight:500;display:inline-block}.ci-empty{color:var(--fg-3);margin:0;font-size:12.5px}.ci-hint{color:var(--fg-3);margin:4px 0 0;font-size:12px;line-height:1.5}.ci-services{border:1px solid var(--line);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.ci-service{background:var(--bg-1);align-items:center;gap:10px;padding:9px 12px;display:flex}.ci-service+.ci-service{border-top:1px solid var(--line-soft)}.ci-service-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ci-service-name{color:var(--fg-0);font-size:13px;font-weight:600}.ci-service-meta{color:var(--fg-3);font-size:12px}.ci-evidence-tag{color:var(--fg-2);border:1px dashed var(--line);white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:11px}.ci-evidence-tag.is-code{color:var(--fg-1);background:var(--bg-2);border-style:solid}.ci-dep-dot{background:var(--lv);border-radius:50%;flex:none;width:8px;height:8px}.ci-deps{border:1px solid var(--line);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.ci-dep{background:var(--bg-1)}.ci-dep+.ci-dep{border-top:1px solid var(--line-soft)}.ci-dep-head{align-items:center;gap:10px;min-width:0;padding:8px 12px;display:flex}.ci-dep details>summary{cursor:pointer;list-style:none}.ci-dep details>summary::-webkit-details-marker{display:none}.ci-dep details>summary:after{content:"▸";color:var(--fg-3);margin-left:2px;font-size:11px;transition:transform .15s}.ci-dep details[open]>summary:after{transform:rotate(90deg)}.ci-dep details>summary:hover{background:var(--tint-1)}.ci-dep details>summary:focus-visible{box-shadow:inset 0 0 0 2px var(--ring);outline:none}.ci-dep-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ci-dep-reason{color:var(--fg-0);font-size:12.5px;font-weight:500}.ci-dep-target{font-family:var(--font-mono);color:var(--fg-2);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.ci-dep-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:45%;display:flex}.ci-dep-owner{color:var(--fg-1);font-size:12px;font-weight:600}.ci-dep-detail{color:var(--fg-3);font-size:11.5px}.ci-evidence{flex-direction:column;gap:8px;margin:0;padding:4px 12px 12px 30px;list-style:none;display:flex}.ci-evidence-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ci-evidence-path{font-family:var(--font-mono);color:var(--accent);word-break:break-all;font-size:12px;text-decoration:none}a.ci-evidence-path:hover{text-decoration:underline}.ci-evidence-kind{color:var(--fg-3);background:var(--tint-2);border-radius:4px;padding:0 6px;font-size:11px}.ci-snippet,.ci-sql{border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--fg-1);white-space:pre-wrap;word-break:break-word;margin:4px 0 0;padding:8px 10px;font-size:11.5px;line-height:1.55}.ci-steps{counter-reset:ci-step;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ci-steps li{counter-increment:ci-step;color:var(--fg-1);padding:2px 0 2px 34px;font-size:13px;line-height:1.55;position:relative}.ci-steps li:before{content:counter(ci-step);width:22px;height:22px;color:var(--fg-0);background:var(--tint-2);border:1px solid var(--line);border-radius:50%;place-items:center;font-size:11.5px;font-weight:600;display:grid;position:absolute;top:0;left:0}.ci-review{border-top:1px solid var(--line);margin-top:2px;padding-top:16px}.ci-review-row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.ci-review-status{min-width:220px}.ci-note{box-sizing:border-box;resize:vertical;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-1);width:100%;min-height:72px;color:var(--fg-0);font:13px/1.5 var(--font-ui);padding:8px 10px}.ci-note:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.ci-note:disabled{opacity:.6}.ci-plan{flex-direction:column;gap:14px;display:flex}.ci-field{flex-direction:column;gap:6px;display:flex}.ci-field>span{color:var(--fg-1);font-size:12.5px;font-weight:600}.ci-field .rp-input{box-sizing:border-box;width:100%}.ci-field-error{color:var(--err);font-size:12px}.ci-kinds{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.ci-kind-opt{text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);color:inherit;font:inherit;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 11px;display:flex}.ci-kind-opt b{color:var(--fg-0);font-size:12.5px;font-weight:600}.ci-kind-opt small{color:var(--fg-3);font-size:11.5px}.ci-kind-opt small code{font-family:var(--font-mono);font-size:11px}.ci-kind-opt:hover{background:var(--tint-2)}.ci-kind-opt.is-on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:var(--primary-50)}.ci-kind-opt:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.ci-check{color:var(--fg-1);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.ci-plan-actions{flex-wrap:wrap;align-items:center;gap:12px;padding-top:4px;display:flex}.ci-back{margin-bottom:12px;display:inline-block}@media (max-width:900px){.ci-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.ci-section--split{grid-template-columns:minmax(0,1fr)}.ci-dep-head{flex-wrap:wrap}.ci-dep-meta{order:3;justify-content:flex-start;width:100%;max-width:none;padding-left:18px}}@media (max-width:600px){.ci-kinds{grid-template-columns:minmax(0,1fr)}.ci-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.ci-review-status{flex:1;min-width:0}}
.change-history-page .type-added{--tone:var(--ok)}.change-history-page .type-removed{--tone:var(--err)}.change-history-page .type-modified{--tone:var(--warn)}.change-history-page .type-diagram{--tone:var(--purple)}.change-history-page [class*=type-]{--tone-ink:color-mix(in oklch, var(--tone), var(--fg-0) 38%)}.ch-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ide-shell .main-content .ch-filter-row-1{background:0 0;gap:8px}.ide-shell .main-content .ch-search{height:var(--control-h);box-sizing:border-box;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);gap:8px;padding:0 12px;transition:border-color .12s,box-shadow .12s}.ide-shell .main-content .ch-search:hover{border-color:var(--fg-3)}.ide-shell .main-content .ch-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.ide-shell .main-content .ch-search svg{color:var(--fg-3)}.ide-shell .main-content .ch-search input{height:calc(var(--control-h) - 2px);font:400 13px var(--font-ui);color:var(--fg-0);padding:0}.ide-shell .main-content .ch-search input::placeholder{color:var(--fg-3)}.ch-daterange{height:var(--control-h);box-sizing:border-box;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);color:var(--fg-0);flex:none;align-items:center;gap:6px;padding:0 8px 0 11px;transition:border-color .12s,box-shadow .12s;display:inline-flex;position:relative}.ch-daterange:hover{border-color:var(--fg-3)}.ch-daterange:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.ch-daterange.has-value{border-color:color-mix(in oklch, var(--accent), transparent 45%)}.ch-daterange-ic{color:var(--fg-3);flex:none}.ch-daterange.has-value .ch-daterange-ic{color:var(--accent)}.ch-daterange-sep{color:var(--fg-3);font-size:13px}.ch-daterange-input{width:84px;height:calc(var(--control-h) - 4px);color:var(--fg-0);color-scheme:inherit;cursor:pointer;font:400 13px var(--font-ui);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:4px;outline:none;margin:0;padding:0 2px}.ch-daterange-input:hover{background:var(--tint-2)}.ch-daterange-input::-webkit-calendar-picker-indicator{display:none}.ch-daterange-input::-webkit-datetime-edit{padding:0}.ch-daterange-input::-webkit-datetime-edit-fields-wrapper{padding:0}.ch-daterange-input[data-empty]::-webkit-datetime-edit{color:var(--fg-3)}.ch-daterange-input::-webkit-datetime-edit-day-field:focus{background:color-mix(in oklch, var(--accent), transparent 80%);color:var(--fg-0);border-radius:3px}.ch-daterange-input::-webkit-datetime-edit-month-field:focus{background:color-mix(in oklch, var(--accent), transparent 80%);color:var(--fg-0);border-radius:3px}.ch-daterange-input::-webkit-datetime-edit-year-field:focus{background:color-mix(in oklch, var(--accent), transparent 80%);color:var(--fg-0);border-radius:3px}.ch-daterange-clear{background:var(--tint-2);width:20px;height:20px;color:var(--fg-2);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;margin-left:2px;padding:0;display:inline-grid}.ch-daterange-clear:hover{background:var(--tint-3);color:var(--fg-0)}.ch-daterange-clear:focus-visible{box-shadow:0 0 0 2px var(--accent);outline:none}.ide-shell .main-content .ch-clear-btn{height:var(--control-h);box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);color:var(--fg-1);font:500 12.5px var(--font-ui);gap:6px;padding:0 12px}.ide-shell .main-content .ch-clear-btn:hover:not(:disabled){border-color:var(--fg-3);color:var(--fg-0);background:var(--bg-1)}.ide-shell .main-content .ch-clear-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.ide-shell .main-content .ch-clear-btn:disabled{opacity:.5;cursor:default}.ide-shell .main-content .ch-date-warning{border-radius:var(--radius);color:color-mix(in oklch, var(--warn), var(--fg-0) 40%);background:color-mix(in oklch, var(--warn), transparent 90%);border:1px solid color-mix(in oklch, var(--warn), transparent 65%);margin:0 14px 10px;padding:8px 12px;font-size:12.5px;font-weight:500}.ide-shell .main-content .ch-date-warning svg{color:var(--warn)}.ch-tl{--ch-time-w:52px;--ch-node:28px;flex-direction:column;gap:22px;display:flex}.ch-day-head{z-index:4;background:var(--bg-0);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-bottom:4px;padding:10px 0;display:flex;position:sticky;top:0}.ch-day-title{color:var(--fg-0);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:15px;font-weight:650;display:flex}.ch-day-date{color:var(--fg-1);font-size:13px;font-weight:500}.ch-day-weekday{color:var(--fg-2);font-size:12.5px;font-weight:400}.ch-day-stats{color:var(--fg-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;display:flex}.ch-day-stat{background:color-mix(in oklch, var(--tone), transparent 88%);height:22px;color:var(--tone-ink);border-radius:11px;align-items:center;gap:5px;padding:0 8px;font-weight:600;display:inline-flex}.ch-day-total{margin-left:4px}.ch-day-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;position:relative}.ch-day-list:before{content:"";top:14px;bottom:14px;left:calc(var(--ch-time-w) + 12px + var(--ch-node) / 2 - 1px);background:var(--line-soft);border-radius:1px;width:2px;position:absolute}.ch-ev{grid-template-columns:var(--ch-time-w) var(--ch-node) minmax(0, 1fr);align-items:start;column-gap:12px;display:grid;position:relative}.ch-ev-time{text-align:right;color:var(--fg-2);font-variant-numeric:tabular-nums;padding-top:13px;font-size:12px}.ch-ev-node{z-index:1;justify-content:center;padding-top:8px;display:flex;position:relative}.ch-ev-icon{width:var(--ch-node);height:var(--ch-node);background:color-mix(in oklch, var(--tone,var(--fg-3)), var(--bg-0) 86%);color:var(--tone-ink,var(--fg-2));box-shadow:0 0 0 3px var(--bg-0), inset 0 0 0 1px color-mix(in oklch, var(--tone,var(--fg-3)), transparent 60%);border-radius:8px;place-items:center;display:grid}.ch-ev-card{cursor:pointer;background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--radius-lg,10px);flex-direction:column;gap:6px;min-width:0;padding:10px 14px;transition:border-color .12s,box-shadow .12s,background .12s;display:flex}.ch-ev-card:hover{border-color:var(--line);box-shadow:var(--shadow-1)}.ch-ev-head{align-items:center;gap:10px;min-width:0;display:flex}.ch-ev-obj{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:400 13px var(--font-mono);color:var(--fg-0);border-radius:3px;text-decoration:none;overflow:hidden}.ch-ev-obj:hover .ch-ev-table,.ch-ev-obj:hover .ch-ev-col{text-underline-offset:2px;text-decoration:underline}.ch-ev-obj:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ch-ev-schema{color:var(--fg-2)}.ch-ev-table{font-weight:600}.ch-ev-col{color:var(--tone-ink);font-weight:600}.ch-ev-type{color:var(--tone-ink);white-space:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;font-size:12px;font-weight:500;display:inline-flex}.ch-ev-dot{background:var(--tone);border-radius:50%;flex:none;width:6px;height:6px}.ch-ev-time-inline{color:var(--fg-2);font-variant-numeric:tabular-nums;flex:none;font-size:12px;display:none}.ch-ev-detail{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.ch-diff{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:500 12px/1.6 var(--font-mono);border-radius:5px;padding:1px 7px;display:inline-block;overflow:hidden}.ch-diff--old{color:color-mix(in oklch, var(--err), var(--fg-0) 38%);background:color-mix(in oklch, var(--err), transparent 90%);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklch, var(--err), transparent 40%);text-decoration-color:color-mix(in oklch, var(--err), transparent 40%)}.ch-diff--new{color:color-mix(in oklch, var(--ok), var(--fg-0) 38%);background:color-mix(in oklch, var(--ok), transparent 88%)}.ch-diff-arrow{color:var(--fg-3);flex:none}.ch-diff-chip{background:color-mix(in oklch, var(--purple), transparent 88%);height:20px;color:var(--tone-ink);font:600 11.5px var(--font-ui);font-variant-numeric:tabular-nums;border-radius:5px;align-items:center;padding:0 7px;display:inline-flex}.ch-ev-note{min-width:0;color:var(--fg-1);font-size:12.5px;line-height:1.5}.ch-ev-foot{min-width:0;color:var(--fg-2);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;display:flex}.ch-ev-db,.ch-ev-user{white-space:nowrap;align-items:center;gap:6px;min-width:0;max-width:240px;display:inline-flex}.ch-ev-db svg{color:var(--fg-3);flex:none}.ch-ev-user .ua{flex:none}.ch-ev-action{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-1);height:26px;color:var(--fg-1);font:500 12px var(--font-ui);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;margin-left:auto;padding:0 10px;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.ch-ev-action svg{color:var(--fg-3)}.ch-ev-action:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklch, var(--accent), transparent 92%)}.ch-ev-action:hover svg{color:var(--accent)}.ch-ev-action:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.ch-ev-icon.um-skel{box-shadow:0 0 0 3px var(--bg-0)}@media (max-width:760px){.ide-shell .main-content .ch-filter-row-1{flex-wrap:wrap}.ide-shell .main-content .ch-search{flex:100%;min-width:0}.ch-daterange{flex:1 1 0;min-width:0}.ch-daterange-input{flex:1 1 0;width:auto;min-width:0}.ch-tl{--ch-time-w:0px;--ch-node:24px}.ch-ev{grid-template-columns:var(--ch-node) minmax(0, 1fr);column-gap:10px}.ch-ev-time{display:none}.ch-day-list:before{left:calc(var(--ch-node) / 2 - 1px)}.ch-ev-time-inline{margin-left:auto;display:inline}.ch-ev-head{flex-wrap:wrap;row-gap:2px}.ch-ev-obj{flex:100%}.ch-ev-type,.ch-ev-action{margin-left:0}}
.om-page{--om-db-0:var(--fg-3);--om-rel-fk:color-mix(in oklch, var(--fg-2), transparent 10%);--om-rel-read:color-mix(in oklch, var(--accent), var(--fg-3) 30%);--om-rel-write:var(--warn);--om-rel-call:var(--ok);--om-rel-code:var(--pink);--om-db-1:#3987e5;--om-db-2:#d95926;--om-db-3:#199e70;--om-db-4:#c98500;--om-db-5:#d55181;--om-db-6:#008300;--om-db-7:#9085e9;--om-db-8:#e66767;--om-mm-view:#ffffff12}:root[data-theme=light] .om-page{--om-db-1:#2a78d6;--om-db-2:#eb6834;--om-db-3:#1baf7a;--om-db-4:#eda100;--om-db-5:#e87ba4;--om-db-6:#008300;--om-db-7:#6250d6;--om-db-8:#e34948;--om-mm-view:#0f172a0f}.om-db-0{--om-db:var(--om-db-0)}.om-db-1{--om-db:var(--om-db-1)}.om-db-2{--om-db:var(--om-db-2)}.om-db-3{--om-db:var(--om-db-3)}.om-db-4{--om-db:var(--om-db-4)}.om-db-5{--om-db:var(--om-db-5)}.om-db-6{--om-db:var(--om-db-6)}.om-db-7{--om-db:var(--om-db-7)}.om-db-8{--om-db:var(--om-db-8)}.om-db-dot{background:var(--om-db,var(--fg-3));border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.om-mono{font-family:var(--font-mono);font-size:12px}.om-muted{color:var(--fg-3)}.om-hint{color:var(--fg-2);margin:0 0 12px;font-size:12px;line-height:1.5}.om-label{color:var(--fg-2);font-size:12px;font-weight:500}.om-link-btn{max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.om-link-btn:hover .om-mono,.om-link-btn:focus-visible .om-mono{color:var(--accent);text-decoration:underline}.om-link-btn:focus-visible{box-shadow:0 0 0 3px var(--ring);border-radius:4px;outline:none}.om-kpi-link{max-width:100%;color:var(--fg-2);font-size:12px;line-height:1.35;text-decoration:none;display:inline-block}.om-kpi-link:hover{color:var(--accent);text-decoration:underline}.om-kpi-link .om-mono{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;display:block;overflow:hidden}.om-start-dbs{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.om-start-dbs .rp-muted{font-weight:400}.om-card{padding:14px 16px 12px}.om-toolbar{margin-bottom:0}.om-find{width:300px;max-width:100%}.om-btn-group{display:inline-flex}.om-btn-group .rp-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.om-btn-group .rp-btn+.rp-btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.om-filters{border-top:1px solid var(--line-soft);margin:12px 0;padding-top:12px}.om-filters-sep{background:var(--line);width:1px;height:20px}.om-chips{flex-wrap:wrap;gap:6px;display:flex}.om-chip{border:1px dashed var(--line);height:30px;color:var(--fg-3);font:500 12px var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 10px 0 5px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.om-chip--rel{padding-left:9px}.om-chip:hover{color:var(--fg-0);background:var(--tint-1)}.om-chip.is-on{border-style:solid;border-color:var(--line);background:var(--bg-2);color:var(--fg-0)}.om-chip:not(.is-on) .om-kind-tile,.om-chip:not(.is-on) .om-rel-sample{opacity:.4;filter:grayscale()}.om-chip:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.om-chip-count{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:11.5px}.om-chip.is-on .om-chip-count{color:var(--fg-2)}.om-schema-cbx{min-width:170px}.om-notice{border-radius:var(--radius);color:var(--fg-1);background:color-mix(in oklch, var(--info), transparent 90%);border:1px solid color-mix(in oklch, var(--info), transparent 70%);margin:0 0 12px;padding:8px 12px;font-size:12.5px;line-height:1.5}.om-rel--fk{--om-rel-c:var(--om-rel-fk)}.om-rel--read{--om-rel-c:var(--om-rel-read)}.om-rel--write{--om-rel-c:var(--om-rel-write)}.om-rel--call{--om-rel-c:var(--om-rel-call)}.om-rel--code{--om-rel-c:var(--om-rel-code)}.om-rel-sample{flex:none}.om-rel-sample path{fill:none;stroke:var(--om-rel-c);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.om-rel--code.om-rel-sample path:first-child{stroke-dasharray:1.5 3.5}.om-rel-badge{white-space:nowrap;height:20px;font:500 11.5px var(--font-ui);color:var(--fg-0);background:color-mix(in srgb, var(--om-rel-c) 14%, transparent);border:1px solid color-mix(in srgb, var(--om-rel-c) 42%, transparent);border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.om-rel-detail{flex-direction:column;gap:1px;min-width:0;font-size:12px;display:flex}.om-rel-cols{word-break:break-word}.om-kind-tile{background:color-mix(in srgb, var(--om-tone) 16%, transparent);width:24px;height:24px;color:var(--om-tone);border-radius:7px;flex:none;place-items:center;display:inline-grid}.om-kind-tile--sm{border-radius:6px;width:20px;height:20px}.om-node-ref{align-items:center;gap:8px;min-width:0;max-width:100%;display:inline-flex}.om-node-ref-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.om-db-cell{align-items:center;gap:7px;display:inline-flex}.om-stage{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-0);flex-direction:column;height:clamp(460px,100vh - 190px,1400px);display:flex;position:relative;overflow:hidden}.om-stage.is-max{z-index:2000;border:0;border-radius:0;height:auto;position:fixed;inset:0}.om-max-bar{border-bottom:1px solid var(--line);background:var(--bg-1);min-width:0;color:var(--fg-0);flex:none;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex}.om-max-bar .rp-muted{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.om-canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-color:var(--bg-0);background-image:radial-gradient(circle, var(--tint-4) 1px, transparent 1.3px);outline:none;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.om-canvas.lod-low{background-image:none}.om-canvas:active{cursor:grabbing}.om-canvas:focus-visible{box-shadow:inset 0 0 0 2px var(--ring)}.om-svg{display:block}.om-frame{fill:color-mix(in srgb, var(--om-db) 4%, transparent);stroke:color-mix(in srgb, var(--om-db) 32%, var(--line));vector-effect:non-scaling-stroke}.om-caption{font:500 12px var(--font-ui);fill:var(--fg-3)}.om-frame-labels{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.om-frame-label{border:1px solid color-mix(in srgb, var(--om-db) 45%, var(--line));background:var(--bg-1);min-width:0;height:28px;box-shadow:var(--shadow-1);color:var(--fg-0);font:600 12.5px var(--font-ui);transform-origin:0 0;white-space:nowrap;cursor:pointer;pointer-events:auto;border-radius:999px;align-items:center;gap:8px;padding:0 11px;display:inline-flex;position:absolute;overflow:hidden}.om-frame-label:hover{border-color:var(--om-db)}.om-frame-label:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.om-frame-name{flex:none}.om-frame-meta{text-overflow:ellipsis;min-width:0;color:var(--fg-2);font-size:12px;font-weight:400;overflow:hidden}.om-k-table{--om-tone:var(--accent)}.om-k-view{--om-tone:var(--info)}.om-k-materialized_view{--om-tone:var(--purple)}.om-k-procedure{--om-tone:var(--warn)}.om-k-function{--om-tone:var(--ok)}.om-node{cursor:pointer;transition:opacity .15s}.om-node-box{fill:var(--bg-1);stroke:var(--line);stroke-width:1px}.om-node:hover .om-node-box{stroke:color-mix(in oklch, var(--accent), var(--line) 35%)}.om-node-bar{fill:var(--om-tone)}.om-node-tile{fill:color-mix(in srgb, var(--om-tone) 16%, transparent)}.om-node-ico{color:var(--om-tone)}.om-node-name{font:500 12px var(--font-mono);fill:var(--fg-0)}.om-node-meta{font:400 11px var(--font-ui);fill:var(--fg-2)}.om-node-count rect{fill:var(--tint-2)}.om-node-count text{font:600 10.5px var(--font-ui);fill:var(--fg-2);font-variant-numeric:tabular-nums}.om-node.is-sel .om-node-box{stroke:var(--accent);stroke-width:2px;filter:drop-shadow(0 4px 14px color-mix(in srgb, var(--accent) 35%, transparent))}.om-node.is-hl:not(.is-sel) .om-node-box{stroke:color-mix(in oklch, var(--accent), var(--line) 45%)}.has-sel .om-node{opacity:.28}.has-sel .om-node.is-hl{opacity:1}.lod-mid .om-node-meta{display:none}.lod-mid .om-node-name{transform:translateY(7px)}.lod-mid .om-node-count{transform:translateY(5px)}.lod-low .om-node-name,.lod-low .om-node-meta,.lod-low .om-node-ico,.lod-low .om-node-tile,.lod-low .om-node-count,.lod-low .om-node-bar,.lod-low .om-caption{display:none}.lod-low .om-node-box{fill:color-mix(in srgb, var(--om-tone) 55%, var(--bg-1));stroke:none}.lod-low .om-node.is-sel .om-node-box{stroke:var(--fg-0);stroke-width:3px}.om-edge{fill:none;stroke-width:1.4px;opacity:.75;vector-effect:non-scaling-stroke;transition:opacity .15s}.om-edge--fk{stroke:var(--om-rel-fk)}.om-edge--read{stroke:var(--om-rel-read)}.om-edge--write,.om-edge--read_write{stroke:var(--om-rel-write)}.om-edge--call{stroke:var(--om-rel-call)}.om-edge--code{stroke:var(--om-rel-code);stroke-dasharray:2 4;stroke-linecap:round}.om-edge.is-inferred{stroke-dasharray:6 4}.lod-low .om-edge{opacity:.4}.om-edge-hit{fill:none;stroke:#0000;stroke-width:10px;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:help}.has-sel .om-edge{opacity:.07}.has-sel .om-edge.is-hl{opacity:1;stroke-width:2.2px}.has-sel .om-edge.is-hl:not(.is-inferred):not(.om-edge--code){stroke-dasharray:9 5;animation:1s linear infinite om-flow}@keyframes om-flow{to{stroke-dashoffset:-28px}}.om-hover-edges path{fill:none;stroke:var(--accent);stroke-width:2.2px;vector-effect:non-scaling-stroke;pointer-events:none}.om-mk path{fill:var(--om-rel-fk)}.om-mk--read path{fill:var(--om-rel-read)}.om-mk--write path{fill:var(--om-rel-write)}.om-mk--call path{fill:var(--om-rel-call)}.om-mk--code path{fill:var(--om-rel-code)}.om-mk--hl path{fill:var(--accent)}@media (prefers-reduced-motion:reduce){.has-sel .om-edge.is-hl:not(.is-inferred):not(.om-edge--code){stroke-dasharray:none;animation:none}}.om-tip{z-index:6;pointer-events:none;border-radius:var(--radius);background:var(--bg-1);border:1px solid var(--line);max-width:340px;box-shadow:var(--shadow-2);color:var(--fg-1);opacity:0;visibility:hidden;padding:8px 10px;font-size:12px;line-height:1.45;transition:opacity .1s;position:absolute;top:0;left:0}.om-tip.is-on{opacity:1;visibility:visible}.om-tip-title{color:var(--fg-0);overflow-wrap:anywhere;margin-bottom:3px;font-weight:600}.om-tip-row{color:var(--fg-2)}.om-tip-muted{color:var(--fg-3)}.om-tip-warn{color:var(--fg-0);align-items:center;gap:6px;display:flex}.om-tip-warn:before{content:"";background:var(--warn);border-radius:50%;flex:none;width:6px;height:6px}.om-tip-cols{color:var(--fg-1);overflow-wrap:anywhere;margin-top:4px;font-size:11.5px}.om-tip-note{border-top:1px solid var(--line-soft);color:var(--fg-2);margin-top:5px;padding-top:5px}.om-zoom{z-index:3;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-1);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:12px;right:12px}.om-zoom button{width:30px;height:30px;color:var(--fg-1);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.om-zoom button:hover:not(:disabled){background:var(--bg-hover);color:var(--fg-0)}.om-zoom button:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.om-zoom button.is-on{color:var(--accent)}.om-zoom button:disabled{opacity:.35;cursor:default}.om-zoom-val{font:500 11px var(--font-ui);color:var(--fg-2);font-variant-numeric:tabular-nums;padding:2px 0}.om-zoom-sep{background:var(--line);width:18px;height:1px;margin:3px 0}.om-minimap{z-index:3;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-1);border-radius:10px;padding:4px;position:absolute;bottom:12px;right:64px}.om-minimap canvas{cursor:crosshair;border-radius:6px;display:block}.om-focus-bar{border-bottom:1px solid color-mix(in oklch, var(--accent), var(--line) 60%);background:color-mix(in oklch, var(--accent), var(--bg-1) 90%);min-width:0;color:var(--fg-1);white-space:nowrap;flex:none;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:12.5px;display:flex}.om-focus-bar>span{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.om-focus-bar b{color:var(--fg-0);font-weight:600}.om-focus-bar .rp-btn{flex:none}.om-selcard{z-index:4;cursor:default;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:312px;max-width:calc(100% - 24px);box-shadow:var(--shadow-2);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;top:12px;right:12px}.om-selcard-head{align-items:flex-start;gap:10px;display:flex}.om-selcard-title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.om-selcard-title .om-mono{text-overflow:ellipsis;white-space:nowrap;color:var(--fg-0);font-size:12.5px;font-weight:600;overflow:hidden}.om-selcard-sub{color:var(--fg-2);font-size:12px}.om-x{width:26px;height:26px;color:var(--fg-2);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;margin:-3px -3px 0 0;display:grid}.om-x:hover{background:var(--bg-hover);color:var(--fg-0)}.om-x:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.om-selcard-stats{color:var(--fg-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 16px;font-size:12px;display:flex}.om-selcard-stats b{color:var(--fg-0);margin-left:4px;font-weight:600}.om-selcard-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.om-selcard-row .rp-seg button{height:24px;padding:0 8px;font-size:11.5px}.om-switch{color:var(--fg-1);cursor:pointer;align-items:center;gap:8px;font-size:12.5px;display:flex}.om-switch input{width:15px;height:15px;accent-color:var(--accent);margin:0}.om-selcard-actions{gap:8px;display:flex}.om-selcard .om-hint{margin:0}.om-empty{z-index:2;text-align:center;color:var(--fg-2);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex;position:absolute;inset:0}.om-empty b{color:var(--fg-0);font-size:14.5px}.om-empty button{pointer-events:auto;margin-top:4px}.om-legend{color:var(--fg-2);flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:10px;font-size:12px;display:flex}.om-legend>span{align-items:center;gap:6px;display:inline-flex}.om-legend b{color:var(--fg-0);font-weight:600}.om-legend-line{fill:none;stroke:var(--fg-2);stroke-width:1.6px}.om-legend-line.is-inferred{stroke-dasharray:6 4}.om-legend-line.is-code{stroke:var(--om-rel-code);stroke-dasharray:2 4;stroke-linecap:round}.om-legend-count{background:var(--tint-2);min-width:22px;height:16px;font:600 10.5px var(--font-ui);color:var(--fg-2);border-radius:8px;place-items:center;padding:0 5px;display:inline-grid}.om-legend-keys{color:var(--fg-3);margin-left:auto}.om-facts{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px 18px;margin:0 0 14px;display:grid}.om-facts>div{flex-direction:column;gap:3px;min-width:0;display:flex}.om-facts dt{color:var(--fg-2);font-size:12px}.om-facts dd{min-width:0;color:var(--fg-0);overflow-wrap:anywhere;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.om-warn-text{color:light-dark(#b45309,#fbbf24);font-weight:600}.om-comment{border-radius:var(--radius);background:var(--bg-2);color:var(--fg-1);white-space:pre-wrap;margin:0 0 14px;padding:10px 12px;font-size:13px}.om-drawer-tabs{margin:6px 0 4px}.om-drawer-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.om-drawer-foot .rp-btn{text-decoration:none}.om-patterns{margin-bottom:16px}.om-patterns .om-label{margin-bottom:6px;display:block}.om-pattern-row{gap:8px;margin-bottom:6px;display:flex}.om-pattern-input{width:auto;font-family:var(--font-mono);flex:1;font-size:12.5px}.om-pattern-chips{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.om-pattern-chip{border:1px solid var(--line);background:var(--bg-2);height:24px;color:var(--fg-0);border-radius:999px;align-items:center;gap:4px;padding:0 3px 0 9px;display:inline-flex}.om-pattern-chip button{width:18px;height:18px;color:var(--fg-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:14px;line-height:1;display:grid}.om-pattern-chip button:hover{background:var(--bg-hover);color:var(--fg-0)}.om-vis-toolbar .rp-input{width:220px}.om-check{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;margin:0}.om-check:disabled{cursor:not-allowed}.om-state{color:var(--fg-3);font-size:12px}.om-state--shown{color:var(--fg-1)}.om-state--hidden,.om-state--pattern{color:var(--fg-0);font-weight:500}@media (max-width:900px){.om-filters-sep,.om-legend-keys{display:none}}@media (max-width:760px){.om-card{padding:12px}.om-find{order:5;width:100%}.om-chips{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.om-chips.has-more{mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.om-chips::-webkit-scrollbar{display:none}.om-stage{height:clamp(380px,64vh,600px)}.om-vis-toolbar .rp-input{width:100%}}@media (max-width:640px){.om-selcard{gap:8px;width:auto;max-width:none;padding:10px;top:8px;left:8px;right:8px}.om-selcard-row,.om-switch{display:none}.om-zoom{bottom:8px;right:8px}.om-legend{gap:6px 12px}}
.am-page{--am-rel-owner:color-mix(in oklch, var(--fg-3), transparent 5%)}.am-t-app{--om-tone:var(--purple)}.am-t-repo{--om-tone:var(--pink)}.am-t-table{--om-tone:var(--accent)}.am-t-db{--om-tone:var(--ok)}.am-crit--critical{--am-crit:var(--err)}.am-crit--high{--am-crit:var(--warn)}.am-crit--medium{--am-crit:var(--accent)}.am-crit--low{--am-crit:var(--fg-2)}.am-crit--none{--am-crit:var(--line)}.am-t-app .om-node-bar,.am-t-repo .om-node-bar{fill:var(--am-crit)}.am-name-ui{font:600 12.5px var(--font-ui)}.am-node.is-missing .om-node-box{stroke-dasharray:4 3}.am-node.is-missing .om-node-meta{fill:light-dark(#b45309,#fbbf24)}.om-node-count.am-count--shared rect{fill:color-mix(in srgb, var(--warn) 24%, transparent)}.om-node-count.am-count--contested rect{fill:color-mix(in srgb, var(--err) 22%, transparent)}.om-node-count.am-count--shared text,.om-node-count.am-count--contested text{fill:var(--fg-0)}.lod-low .am-t-app .om-node-box,.lod-low .am-t-repo .om-node-box{fill:color-mix(in srgb, var(--om-tone) 55%, var(--bg-1))}.am-edge{stroke-width:var(--am-w,1.4)}.has-sel .am-edge.is-hl{stroke-width:calc(var(--am-w,1.4) + .8)}.om-edge--owner{stroke:var(--am-rel-owner)}.om-mk--owner path{fill:var(--am-rel-owner)}.om-rel--owner{--om-rel-c:var(--am-rel-owner)}.om-rel--owner.om-rel-sample path:first-child{stroke-dasharray:4 3}.am-access{flex-wrap:wrap;gap:4px;display:inline-flex}.am-acc{white-space:nowrap;height:20px;font:500 11.5px var(--font-ui);color:var(--fg-0);background:color-mix(in srgb, var(--am-acc) 14%, transparent);border:1px solid color-mix(in srgb, var(--am-acc) 42%, transparent);border-radius:999px;align-items:center;padding:0 7px;display:inline-flex}.am-acc--owner{--am-acc:var(--fg-3);border-style:dashed}.am-acc--read{--am-acc:var(--om-rel-read)}.am-acc--write{--am-acc:var(--om-rel-write)}.am-acc--warn{--am-acc:var(--err)}.am-acc--legacy{--am-acc:var(--warn);border-style:dashed}.am-app-cbx{min-width:190px}.am-legend-bar{background:var(--am-crit);border-radius:2px;width:4px;height:14px;display:inline-block}.om-legend-count.am-count--shared{background:color-mix(in srgb, var(--warn) 24%, transparent);color:var(--fg-0)}.om-legend-count.am-count--contested{background:color-mix(in srgb, var(--err) 22%, transparent);color:var(--fg-0)}.am-repos{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.am-repos li{color:var(--fg-0);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;display:flex}.am-repos .om-muted{font-size:12px}.am-section-title{color:var(--fg-0);margin:4px 0 8px;font-size:13px;font-weight:600}.am-others{color:var(--fg-2);font-size:12px}
.dbo-page{color:var(--fg-1)}.dbo-head{margin-bottom:20px}.dbo-breadcrumb{color:var(--fg-3);align-items:center;gap:6px;margin-bottom:12px;font-size:12px;display:flex}.dbo-breadcrumb-sep{opacity:.6}.dbo-title-row{align-items:flex-start;gap:14px;display:flex}.dbo-title-text{flex:1;min-width:0}.dbo-title{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--fg-0);word-break:break-word;margin:0;font-size:22px;font-weight:650}.dbo-signature{color:var(--fg-3);margin-left:2px;font-size:15px;font-weight:500}.dbo-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.dbo-chip{border:1px solid var(--line);background:var(--bg-1);height:22px;color:var(--fg-2);white-space:nowrap;border-radius:999px;align-items:center;padding:0 9px;font-size:11.5px;display:inline-flex}.dbo-chip--kind{border-color:color-mix(in oklch, var(--dbo-tone), transparent 65%);background:color-mix(in oklch, var(--dbo-tone), transparent 88%);color:light-dark(color-mix(in oklch, var(--dbo-tone) 80%, black),var(--dbo-tone));font-weight:600}.dbo-chip--warn{border-color:color-mix(in oklch, var(--warn), transparent 60%);color:light-dark(color-mix(in oklch, var(--warn) 75%, black),var(--warn))}.dbo-head-action{flex-shrink:0;margin-top:2px}.dbo-kind-tile{--dbo-tone:var(--fg-3);width:26px;height:26px;color:light-dark(color-mix(in oklch, var(--dbo-tone) 82%, black),var(--dbo-tone));background:color-mix(in oklch, var(--dbo-tone), transparent 87%);box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--dbo-tone), transparent 74%);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.dbo-kind-tile--lg{border-radius:12px;width:44px;height:44px}.dbo-kind-tile--lg svg{width:22px;height:22px}.dbo-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.dbo-main,.dbo-side{flex-direction:column;gap:16px;min-width:0;display:flex}@media (max-width:1100px){.dbo-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.dbo-head-action{display:none}}.dbo-card{border:1px solid var(--line);background:var(--bg-1);box-shadow:light-dark(0 1px 2px #1018280a,0 0 0 transparent);border-radius:12px;padding:16px 18px}.dbo-card-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.dbo-card-head h2{color:var(--fg-0);margin:0;font-size:13.5px;font-weight:600}.dbo-card-sub{font-family:var(--font-mono);color:var(--fg-3);margin-left:auto;font-size:11.5px}.dbo-card-head .dbo-btn{margin-left:auto}.dbo-btn{border:1px solid var(--line);height:28px;color:var(--fg-1);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.dbo-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--fg-0)}.dbo-btn:disabled{opacity:.55;cursor:default}.dbo-btn--primary{background:var(--btn-primary);border-color:var(--btn-primary);color:var(--accent-fg)}.dbo-btn--primary:hover:not(:disabled){background:var(--btn-primary-hover);border-color:var(--btn-primary-hover);color:var(--accent-fg)}.dbo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbo-desc{color:var(--fg-1);white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.65}.dbo-desc-meta{color:var(--fg-3);margin-top:10px;font-size:11.5px}.dbo-desc-empty{color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.dbo-desc-empty p{margin:0}.dbo-desc-edit textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--line);background:var(--bg-0);width:100%;min-height:110px;color:var(--fg-0);font:13.5px/1.6 var(--font-ui);border-radius:8px;padding:10px 12px}.dbo-desc-edit textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent), transparent 85%);outline:none}.dbo-desc-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.dbo-hint{color:var(--fg-3);margin-right:auto;font-size:11.5px}.dbo-comment{border-top:1px dashed var(--line);color:var(--fg-2);gap:10px;margin-top:14px;padding-top:12px;font-size:12.5px;display:flex}.dbo-comment-label{text-transform:none;letter-spacing:0;color:var(--fg-3);flex-shrink:0;padding-top:1px;font-size:12px;font-weight:600}.dbo-legend{color:var(--fg-3);flex-wrap:wrap;gap:12px;margin-left:auto;font-size:11px;display:flex}.dbo-legend span{align-items:center;gap:5px;display:inline-flex}.dbo-legend-line{border-top:2px solid var(--fg-3);width:18px;height:0;display:inline-block}.dbo-legend-line--read{border-color:color-mix(in oklch, var(--accent), var(--fg-3) 30%)}.dbo-legend-line--write{border-color:var(--warn)}.dbo-legend-line--call{border-color:var(--ok)}.dbo-legend-line--inferred{border-top-style:dashed}.dbo-map{grid-template-columns:minmax(0,1fr) minmax(150px,.8fr) minmax(0,1fr);align-items:center;gap:56px;min-height:120px;padding:6px 0 4px;display:grid;position:relative}.dbo-map-edges{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.dbo-edge{fill:none;stroke-width:1.6px;stroke:color-mix(in oklch, var(--accent), var(--fg-3) 30%);opacity:.8}.dbo-edge--write,.dbo-edge--read_write{stroke:var(--warn)}.dbo-edge--call{stroke:var(--ok)}.dbo-edge.is-inferred{stroke-dasharray:5 4}.dbo-map-col{z-index:1;flex-direction:column;gap:6px;min-width:0;display:flex;position:relative}.dbo-map-col--center{align-items:stretch}.dbo-map-col-title{text-transform:none;letter-spacing:0;color:var(--fg-3);margin-bottom:2px;font-size:12px;font-weight:600}.dbo-map-col-title span{font-family:var(--font-mono);margin-left:4px}.dbo-map-node,.dbo-map-center{border:1px solid var(--line);background:var(--bg-1);min-width:0;color:var(--fg-1);border-radius:9px;align-items:center;gap:9px;padding:7px 9px;text-decoration:none;transition:border-color .12s,background .12s,transform .12s;display:flex}.dbo-map-node:hover{border-color:color-mix(in oklch, var(--accent), var(--line) 50%);background:var(--bg-hover);color:var(--fg-0)}.dbo-map-node:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dbo-map-center{border-width:1.5px;border-color:color-mix(in oklch, var(--dbo-tone), transparent 45%);background:color-mix(in oklch, var(--dbo-tone), var(--bg-1) 90%);box-shadow:0 0 0 4px color-mix(in oklch, var(--dbo-tone), transparent 90%);padding:12px}.dbo-map-node-text{flex-direction:column;flex:1;min-width:0;display:flex}.dbo-map-node-name{font-family:var(--font-mono);color:var(--fg-0);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;overflow:hidden}.dbo-map-node-meta{color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dbo-map-empty{color:var(--fg-3);padding:8px 2px;font-size:12px}.dbo-map-more{color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:2px 4px;font-size:12px}@media (max-width:760px){.dbo-map{grid-template-columns:minmax(0,1fr);gap:14px}.dbo-map-edges{display:none}}.dbo-access{color:var(--fg-2);background:var(--tint-2);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:10.5px;font-weight:600;line-height:16px}.dbo-access--write,.dbo-access--read_write{color:light-dark(color-mix(in oklch, var(--warn) 72%, black),var(--warn));background:color-mix(in oklch, var(--warn), transparent 86%)}.dbo-access--call{color:light-dark(color-mix(in oklch, var(--ok) 72%, black),var(--ok));background:color-mix(in oklch, var(--ok), transparent 86%)}.dbo-inferred{color:var(--fg-3);cursor:help;flex-shrink:0;font-size:12px}.dbo-code{margin:0}.dbo-code pre{max-height:560px}.dbo-fields,.dbo-refs{margin:0;padding:0;list-style:none}.dbo-field{border-bottom:1px solid var(--line-soft);align-items:baseline;gap:8px;padding:6px 0;font-size:12.5px;display:flex}.dbo-field:last-child{border-bottom:0}.dbo-field-name{font-family:var(--font-mono);color:var(--fg-0);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dbo-field-name em{color:var(--fg-3);font-style:normal}.dbo-field-type{font-family:var(--font-mono);color:var(--fg-3);text-align:right;margin-left:auto;font-size:11.5px}.dbo-field-mode{color:var(--fg-2);background:var(--tint-2);border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:600}.dbo-returns{border-top:1px dashed var(--line);align-items:center;gap:8px;margin-top:12px;padding-top:10px;font-size:12px;display:flex}.dbo-returns-label{text-transform:none;letter-spacing:0;color:var(--fg-3);font-size:12px;font-weight:600}.dbo-returns code{font-family:var(--font-mono);color:var(--fg-0);word-break:break-word}.dbo-ref{color:var(--fg-1);border-radius:7px;align-items:center;gap:9px;margin:0 -6px;padding:6px;text-decoration:none;transition:background .12s;display:flex}.dbo-ref:hover{background:var(--bg-hover);color:var(--fg-0)}.dbo-ref .dbo-kind-tile{border-radius:6px;width:22px;height:22px}.dbo-ref-name{min-width:0;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.dbo-ref-schema{color:var(--fg-3)}.dbo-error{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:460px;margin:60px auto;display:flex}.dbo-error h2{color:var(--fg-0);margin:6px 0 0;font-size:16px}.dbo-error p{color:var(--fg-2);margin:0 0 6px;font-size:13px}.dbo-sk{background:linear-gradient(90deg, var(--tint-2) 0%, var(--tint-3) 50%, var(--tint-2) 100%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite dboSkel;display:block}.dbo-head .dbo-sk+.dbo-title-row{margin-top:14px}@keyframes dboSkel{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.dbo-sk{animation:none}}.tdo-card{margin:16px 0}.tdo-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.tdo-head h3{color:var(--fg-0);margin:0;font-size:13.5px;font-weight:600}.tdo-head-sub{color:var(--fg-3);font-size:12px}.tdo-head .dbo-btn{margin-left:auto}.tdo-filters{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tdo-filter{border:1px solid var(--line);height:24px;color:var(--fg-2);cursor:pointer;background:0 0;border-radius:999px;padding:0 10px;font-size:11.5px}.tdo-filter.is-active{border-color:color-mix(in oklch, var(--accent), transparent 55%);background:color-mix(in oklch, var(--accent), transparent 88%);color:var(--fg-0)}.tdo-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.tdo-item{border:1px solid var(--line);background:var(--bg-1);color:var(--fg-1);border-radius:9px;align-items:center;gap:10px;padding:9px 10px;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.tdo-item:hover{border-color:color-mix(in oklch, var(--accent), var(--line) 50%);background:var(--bg-hover);color:var(--fg-0)}.tdo-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.tdo-item-name{font-family:var(--font-mono);color:var(--fg-0);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;overflow:hidden}.tdo-item-meta{color:var(--fg-3);font-size:11px}.tdo-empty{color:var(--fg-3);font-size:12.5px}.erd-table.is-db-object .erd-table-inner{border:1.5px dashed color-mix(in oklch, var(--dbo-tone,var(--info)), transparent 35%)}.erd-table.is-db-object .erd-table-header{background:color-mix(in oklch, var(--dbo-tone,var(--info)), #1b2230 30%)!important}.erd-table.is-db-object .erd-bead{display:none}.erd-object-badge{font-family:var(--font-mono);letter-spacing:.04em;color:#fff;background:#fff3;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:9.5px;font-weight:700}.erd-field-mode{color:var(--fg-3);margin-left:6px;font-size:9.5px;font-weight:600}.relation-line.dependency-relation{stroke-dasharray:6 4}.erd-objects-btn.active{color:var(--fg-0)}
.tix-card{--rp-low:var(--ok);--rp-medium:var(--warn);--rp-high:oklch(72% .16 48);--rp-critical:var(--err)}:root[data-theme=light] .tix-card{--rp-high:oklch(60% .17 45)}.tix-card .wiki-card-header{flex-wrap:wrap;row-gap:6px}.tix-head-actions{gap:6px;margin-left:auto;display:inline-flex}.tix-head-actions .dbo-btn{height:26px;padding:0 10px;font-size:12px}.tix-status{height:20px;color:var(--fg-1);background:color-mix(in oklch, var(--lv), transparent 88%);border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:11.5px;font-weight:500;display:inline-flex}.tix-status i{background:var(--lv);border-radius:50%;width:6px;height:6px}.tix-body{padding:12px 16px 14px}.tix-skeleton{gap:8px;display:grid}.tix-error{color:var(--err);font-size:12.5px}.tix-note{color:var(--fg-3);margin:10px 0 0;font-size:12px;line-height:1.5}.tix-muted{color:var(--fg-3)}.tix-advice{margin-bottom:14px}.tix-advice h4{color:var(--fg-1);margin:0 0 8px;font-size:12.5px;font-weight:600}.tix-advice ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tix-finding{border:1px solid var(--line);border-left:3px solid var(--lv);background:color-mix(in oklch, var(--lv), var(--bg-1) 95%);border-radius:8px;padding:10px 12px}.tix-finding-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tix-finding-title{color:var(--fg-0);font-size:13px;font-weight:600}.tix-finding-target{font-family:var(--font-mono);color:var(--fg-1);overflow-wrap:anywhere;font-size:12px}.tix-finding-detail{color:var(--fg-2);margin:6px 0 0;font-size:12.5px;line-height:1.5}.tix-finding-advice{color:var(--fg-3);margin:6px 0 0;font-size:12px}.tix-ddl{background:var(--code-bg);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:6px 6px 6px 10px;display:flex}.tix-ddl code{min-width:0;font-family:var(--font-mono);color:var(--fg-0);white-space:pre-wrap;overflow-wrap:anywhere;flex:1;font-size:12px}.tix-ddl .dbo-btn{flex-shrink:0;height:24px;padding:0 9px;font-size:11.5px}.tix-table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.tix-table{border-collapse:collapse;width:100%;font-size:12.5px}.tix-table th{text-align:left;color:var(--fg-2);background:var(--tint-1);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 12px;font-size:12px;font-weight:600}.tix-table td{border-bottom:1px solid var(--line);vertical-align:top;color:var(--fg-1);padding:9px 12px}.tix-table tbody tr:last-child td{border-bottom:0}.tix-table tbody tr:hover td{background:var(--tint-1)}.tix-col-name{width:38%}.tix-col-method{width:150px}.tix-col-act{width:84px}.tix-table .tix-act{text-align:right;white-space:nowrap}.tix-row--flag td:first-child{box-shadow:inset 3px 0 0 var(--lv)}.tix-name-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tix-name{font-family:var(--font-mono);color:var(--fg-0);text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-size:12.5px;font-weight:500;overflow:hidden}.tix-badges{flex-wrap:wrap;gap:4px;display:inline-flex}.tix-badges .field-badge{font-size:10px}.tix-tag{height:18px;color:var(--fg-2);background:var(--tint-2);border-radius:999px;align-items:center;padding:0 7px;font-size:11px;display:inline-flex}.tix-tag--err{color:var(--err);background:color-mix(in oklch, var(--err), transparent 86%)}.tix-filter{color:var(--fg-3);overflow-wrap:anywhere;margin-top:4px;font-size:11.5px}.tix-filter code{font-family:var(--font-mono);color:var(--fg-2)}.tix-row-note{color:var(--fg-2);margin-top:4px;font-size:11.5px}.tix-cols{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tix-col{height:22px;font-family:var(--font-mono);color:var(--fg-0);background:var(--tint-2);border:1px solid var(--line);border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.tix-col b{font-family:var(--font-ui);color:var(--fg-3);font-size:10.5px;font-weight:600}.tix-col.is-expr{font-style:italic}.tix-desc{color:var(--fg-2)}.tix-include{font-family:var(--font-mono);color:var(--fg-3);font-size:11.5px}.tix-method{font-family:var(--font-mono);color:var(--fg-2);font-size:12px}.tix-link{cursor:pointer;color:var(--accent);text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.tix-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.tix-def-row td{background:var(--tint-1)}.tix-code{background:var(--code-bg);border:1px solid var(--line);font-family:var(--font-mono);color:var(--fg-0);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:8px 10px;font-size:12px}@media (max-width:720px){.tix-head-actions{width:100%;margin-left:0}.tix-name{max-width:200px}}.field-badge.ix{background:color-mix(in srgb, var(--info) 15%, transparent);color:var(--info)}.rp-ix-ddl{align-items:flex-start;gap:8px;display:flex}.rp-ix-ddl code{min-width:0;font-family:var(--font-mono);color:var(--fg-1);white-space:pre-wrap;overflow-wrap:anywhere;flex:1;font-size:11.5px}.rp-ix-ddl .rp-btn{flex-shrink:0}
