:root{--font-sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--fs-12:0.75rem;--fs-13:0.8125rem;--fs-14:0.875rem;--fs-15:0.9375rem;--fs-16:1rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-44:2.75rem;--lh-tight:1.3;--lh-base:1.5;--lh-long:1.65;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--r-1:1px;--r-2:2px;--h-control:30px;--h-control-lg:34px;--h-touch:44px;--head-h:44px;--dur:140ms}@media (max-width:767px){:root{--head-h:52px}}:root,[data-theme=dark]{--bg:#0a0c10;--bg-2:#0e1116;--sf:#12161c;--sf-2:#171c24;--sf-3:#1e242e;--bd:hsla(0,0%,100%,.07);--bd-2:hsla(0,0%,100%,.13);--bd-3:hsla(0,0%,100%,.24);--tx:#e6eaf0;--tx-2:#96a0ad;--tx-3:#7a8493;--ac:#3f70d6;--ac-weak:rgba(76,127,224,.16);--dev-match:#3e9e6e;--dev-match-weak:rgba(62,158,110,.14);--dev-minor:#b98a2e;--dev-minor-weak:rgba(185,138,46,.15);--dev-major:#e05a50;--dev-major-weak:rgba(224,90,80,.14);--dev-unknown:#8a95a4;--dev-unknown-weak:rgba(138,149,164,.14)}[data-theme=light]{--bg:#edf0f4;--bg-2:#fff;--sf:#fff;--sf-2:#f6f8fa;--sf-3:#eaeef3;--bd:rgba(16,24,40,.11);--bd-2:rgba(16,24,40,.17);--bd-3:rgba(16,24,40,.3);--tx:#101828;--tx-2:#4b5565;--tx-3:#5f6874;--ac:#2c60c8;--ac-weak:rgba(44,96,200,.1);--dev-match:#1b7a52;--dev-match-weak:rgba(27,122,82,.1);--dev-minor:#8a6410;--dev-minor-weak:rgba(138,100,16,.11);--dev-major:#b93a32;--dev-major-weak:rgba(185,58,50,.09);--dev-unknown:#5c6674;--dev-unknown-weak:rgba(92,102,116,.1)}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-base);color:var(--tx);-webkit-font-smoothing:antialiased}.mono,.num,td.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}a{color:var(--ac);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--ac);outline-offset:1px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}@keyframes ai-spin{to{transform:rotate(1turn)}}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.4}}.ai-badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:1px 6px;border-radius:var(--r-1);font-size:var(--fs-12);line-height:1.6;white-space:nowrap}.ai-badge__glyph{font-family:var(--font-mono);font-weight:600}.ai-badge--match{background:var(--dev-match-weak);color:var(--dev-match)}.ai-badge--minor{background:var(--dev-minor-weak);color:var(--dev-minor)}.ai-badge--major{background:var(--dev-major-weak);color:var(--dev-major)}.ai-badge--unknown{background:var(--dev-unknown-weak);color:var(--dev-unknown)}.ai-conf{display:inline-flex;align-items:flex-end;gap:2px;height:8px}.ai-conf i{display:block;width:3px;background:var(--bd-3);border-radius:var(--r-1)}.ai-conf i:first-child{height:4px}.ai-conf i:nth-child(2){height:6px}.ai-conf i:nth-child(3){height:8px}.ai-conf i.on{background:var(--tx-2)}.ai-scale{position:relative;height:7px;border-radius:var(--r-1);background:var(--sf-3);overflow:hidden}.ai-scale__fill{position:absolute;inset:0 auto 0 0;border-radius:var(--r-1)}.ai-scale__tick{position:absolute;top:-1px;bottom:-1px;width:1px;background:var(--bd-3)}.ai-scale-legend{display:flex;justify-content:space-between;margin-top:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-12);color:var(--tx-3)}.ai-mix{display:flex;height:5px;border-radius:var(--r-1);overflow:hidden;background:var(--sf-3)}.ai-mix span{display:block;height:100%}.ai-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--h-control);padding:0 var(--sp-3);border:1px solid var(--bd-2);border-radius:var(--r-2);background:var(--sf);color:var(--tx);font-family:inherit;font-size:var(--fs-13);font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--dur),border-color var(--dur)}.ai-btn,.ai-btn:hover{text-decoration:none}.ai-btn:hover:not(:disabled){background:var(--sf-2);border-color:var(--bd-3)}.ai-btn:disabled{opacity:.5;cursor:not-allowed}.ai-btn--primary{height:var(--h-control-lg);background:var(--ac);border-color:var(--ac);color:#fff;font-weight:600}.ai-btn--primary:hover:not(:disabled){background:var(--ac);filter:brightness(1.08)}.ai-btn--ghost{background:transparent;border-color:transparent;color:var(--tx-2)}.ai-btn--ghost:hover:not(:disabled){background:var(--sf-2);color:var(--tx)}.ai-btn--sm{height:26px;padding:0 var(--sp-2);font-size:var(--fs-12)}.ai-input,.ai-select,.ai-textarea{width:100%;border:1px solid var(--bd-2);border-radius:var(--r-2);background:var(--bg);color:var(--tx);font-family:inherit;font-size:var(--fs-14)}.ai-input,.ai-select{height:var(--h-control-lg);padding:0 var(--sp-3)}.ai-textarea{padding:var(--sp-3);line-height:var(--lh-base);resize:vertical}.ai-input::placeholder,.ai-textarea::placeholder{color:var(--tx-3)}.ai-input:focus,.ai-select:focus,.ai-textarea:focus{outline:2px solid var(--ac);outline-offset:1px;border-color:var(--ac)}.ai-input--quiet{height:auto;min-height:0;padding:0;border-color:transparent;border-radius:0;background:transparent;color:var(--tx-2);font-size:var(--fs-13)}.ai-input--quiet:hover{border-bottom-color:var(--bd-2)}.ai-seg{display:inline-flex;flex-wrap:wrap;gap:var(--sp-2)}.ai-seg__btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;height:var(--h-control);padding:0 var(--sp-3);border:1px solid var(--bd-2);border-radius:var(--r-2);background:var(--sf);color:var(--tx-2);font-family:inherit;font-size:var(--fs-13);font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--dur),border-color var(--dur),color var(--dur)}.ai-seg__btn:hover:not(:disabled){background:var(--sf-2);color:var(--tx)}.ai-seg__btn:disabled{opacity:.5;cursor:not-allowed}.ai-seg__btn[aria-pressed=true]{border-color:var(--ac);background:var(--ac-weak);color:var(--tx);font-weight:600}.ai-switch{position:relative;display:inline-flex;align-items:center;flex:none;width:40px;height:22px;padding:2px;border:1px solid var(--bd-2);border-radius:var(--r-2);background:var(--sf-3);cursor:pointer;transition:background var(--dur),border-color var(--dur)}.ai-switch__knob{display:block;width:16px;height:16px;border-radius:var(--r-1);background:var(--tx-2);transition:transform var(--dur),background var(--dur)}.ai-switch[aria-checked=true]{background:var(--ac);border-color:var(--ac)}.ai-switch[aria-checked=true] .ai-switch__knob{transform:translateX(18px);background:#fff}.ai-switch:disabled{opacity:.5;cursor:not-allowed}.ai-menu-anchor{position:relative;display:inline-flex}.ai-menu-scrim{position:fixed;inset:0;z-index:80}.ai-menu{position:absolute;top:calc(100% + var(--sp-1));right:0;z-index:81;min-width:190px;max-width:calc(100vw - var(--sp-4));padding:var(--sp-1) 0;background:var(--sf);border:1px solid var(--bd-2);border-radius:var(--r-2);box-shadow:var(--shadow);animation:ai-menu-pop var(--dur) ease-out}.ai-menu--left{right:auto;left:0}@keyframes ai-menu-pop{0%{opacity:0}}.ai-menu__item{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--h-control-lg);padding:var(--sp-1) var(--sp-3);border:0;background:transparent;color:var(--tx);font-family:inherit;font-size:var(--fs-13);text-align:left;cursor:pointer;white-space:nowrap}.ai-menu__item:focus-visible,.ai-menu__item:hover:not(:disabled){background:var(--sf-2)}.ai-menu__item:disabled{opacity:.5;cursor:not-allowed}.ai-menu__item--danger{color:var(--dev-major)}.ai-menu__item--danger:hover:not(:disabled){background:var(--dev-major-weak)}.ai-menu__caret{font-size:var(--fs-12);color:var(--tx-3)}.ai-ico{flex:none;display:inline-block;vertical-align:-3px}.ai-card{background:var(--sf);border:1px solid var(--bd);border-radius:var(--r-2)}.ai-label{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3)}.mdl{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--sp-5);background:var(--overlay)}.mdl__win{display:flex;flex-direction:column;min-height:0;width:580px;max-width:100%;max-height:88dvh;background:var(--sf);border:1px solid var(--bd-2);border-radius:var(--r-2);box-shadow:var(--shadow);overflow:hidden}.mdl__win--lg{width:820px}.mdl__win:focus{outline:none}.mdl__head{flex:none;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--bd);background:var(--bg-2)}.mdl__titles{flex:1 1 auto;min-width:0}.mdl__title{margin:0;font-size:var(--fs-16);line-height:var(--lh-tight);font-weight:600}.mdl__sub{margin-top:2px;font-size:var(--fs-12);color:var(--tx-3)}.mdl__x{flex:none;width:var(--h-control-lg);padding:0;justify-content:center}.mdl__foot{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--bd);background:var(--bg-2)}@media (max-width:767px){.mdl{padding:0;align-items:stretch}.mdl__win,.mdl__win--lg{width:100%;max-width:none;max-height:none;border:0;border-radius:0}.mdl__foot,.mdl__head{padding-left:var(--sp-4);padding-right:var(--sp-4)}}.ai-skeleton{background:linear-gradient(90deg,var(--sf-3) 25%,var(--sf-2) 37%,var(--sf-3) 63%);background-size:400px 100%;animation:ai-shimmer 1.2s ease-in-out infinite;border-radius:var(--r-1)}@keyframes ai-shimmer{0%{background-position:-200px 0}to{background-position:400px 0}}.ai-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width:1279px){.ai-btn,.ai-btn--sm,.ai-input,.ai-menu__item,.ai-seg__btn,.ai-select{min-height:var(--h-touch)}.mdl__x{min-width:var(--h-touch)}.ai-switch:after{content:"";position:absolute;inset:-11px -2px}}@media (max-width:767px){.ai-input,.ai-select,.ai-textarea{font-size:16px}}.sh{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100dvh;background:var(--bg)}.sh__side{position:-webkit-sticky;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:var(--bg-2);border-right:1px solid var(--bd);overflow:hidden}.sh__side-scroll{flex:1 1 auto;min-height:0;overflow-y:auto}.sh__main{min-width:0;display:flex;flex-direction:column}.sh__head{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:44px;gap:var(--sp-3);padding:0 var(--sp-4);background:var(--bg-2);border-bottom:1px solid var(--bd)}.sh__crumbs,.sh__head{display:flex;align-items:center}.sh__crumbs{gap:var(--sp-2);min-width:0;font-size:var(--fs-13)}.sh__tabs{display:flex;gap:2px;margin-left:auto}.sh__tab{height:28px;padding:0 var(--sp-3);border:1px solid transparent;border-radius:var(--r-2);background:transparent;color:var(--tx-2);font-family:inherit;font-size:var(--fs-13);cursor:pointer}.sh__tab:hover{background:var(--sf);color:var(--tx)}.sh__tab[aria-current=page]{background:var(--sf-2);border-color:var(--bd-2);color:var(--tx);font-weight:500}.sh__body{padding:var(--sp-5)}.sh__burger,.sh__scrim{display:none}@media (max-width:1279px){.sh{grid-template-columns:48px minmax(0,1fr)}.sh__side--rail .sh__side-full{display:none}.sh__body{padding:var(--sp-4)}}@media (max-width:767px){.sh{grid-template-columns:minmax(0,1fr)}.sh__side{position:fixed;inset:0 auto 0 0;z-index:60;width:min(280px,86vw);transform:translateX(-100%);transition:transform var(--dur)}.sh--open .sh__side{transform:none}.sh--open .sh__scrim{display:block;position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.5)}.sh__burger{display:inline-flex}.sh__head{height:52px}.sh__tabs{display:none}.sh__body{padding:var(--sp-3);padding-bottom:calc(64px + env(safe-area-inset-bottom))}}.db{display:flex;flex-direction:column;gap:var(--sp-5)}.db__split{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:var(--r-2);overflow:hidden}.db__split>*{background:var(--sf);padding:var(--sp-5);min-width:0}.db__score{font-family:var(--font-mono);font-size:var(--fs-44);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.db__rec{display:inline-flex;align-items:center;height:24px;padding:0 var(--sp-3);border-radius:var(--r-1);font-weight:600;letter-spacing:.04em}.db__kv,.db__rec{font-size:var(--fs-13)}.db__kv{display:flex;justify-content:space-between;padding:3px 0}.db__kv b{font-family:var(--font-mono);font-weight:500}.db__dirs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:var(--r-2);overflow:hidden}.db__dir{background:var(--sf);padding:var(--sp-4);text-align:left;border:0;cursor:pointer;color:var(--tx);font-family:inherit;display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.db__dir:hover{background:var(--sf-2)}.db__dir-score{font-family:var(--font-mono);font-size:var(--fs-24);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.db__cols{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-gap:1px;gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:var(--r-2);overflow:hidden}.db__cols>section{background:var(--sf);padding:var(--sp-4);min-width:0}.db__flag{display:flex;gap:var(--sp-3);width:100%;text-align:left;padding:var(--sp-3) var(--sp-2);border:0;border-top:1px solid var(--bd);background:transparent;color:var(--tx);font-family:inherit;font-size:var(--fs-13);line-height:var(--lh-base);cursor:pointer}.db__flag:hover{background:var(--sf-2)}.db__flag-to{margin-left:auto;color:var(--tx-3);white-space:nowrap;font-size:var(--fs-12)}.db__flagrow{border-top:1px solid var(--bd)}.db__flagrow .db__flag{border-top:0}.db__flagline{display:flex;align-items:stretch;gap:var(--sp-1)}.db__flagline .db__flag{flex:1 1 auto;min-width:0}.db__flagrow--resolved .db__flag{color:var(--tx-3)}.db__flagrow--resolved .db__flag-to{opacity:.7}.db__flag-ok{font-family:var(--font-mono);font-weight:600}.db__flag-ok,.db__flag-resolved-n{color:var(--dev-match)}.db__flag-acts{display:flex;align-items:flex-start;gap:2px;padding-top:var(--sp-2)}.db__flag-btn{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:var(--h-control);height:var(--h-control);padding:0 var(--sp-2);border:1px solid transparent;border-radius:var(--r-2);background:transparent;color:var(--tx-3);font-family:var(--font-mono);font-size:var(--fs-13);font-weight:600;cursor:pointer;transition:background var(--dur),border-color var(--dur),color var(--dur)}.db__flag-btn:hover{background:var(--sf-2);color:var(--tx);border-color:var(--bd-2)}.db__flag-btn[aria-pressed=true]{background:var(--dev-match-weak);color:var(--dev-match);border-color:var(--dev-match)}.db__flag-btn[aria-expanded=true]{background:var(--sf-2);color:var(--tx);border-color:var(--bd-2)}.db__flag-btn-n{font-size:var(--fs-12);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.db__flag-notes{padding:0 var(--sp-2) var(--sp-3)}.db__flag-notes,.db__notes{display:flex;flex-direction:column;gap:var(--sp-3)}.db__notes{padding:var(--sp-5)}.db__notes-head{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}.db__notes-n{font-family:var(--font-mono);font-size:var(--fs-12);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--tx-2)}.db__notes-hint{margin-left:auto;font-size:var(--fs-12);color:var(--tx-3)}@media (max-width:1279px){.db__dirs{grid-template-columns:repeat(3,minmax(0,1fr))}.db__cols{grid-template-columns:1fr}.db__flag-btn{min-width:var(--h-touch);height:var(--h-touch)}.db__flag-acts{padding-top:0}}@media (max-width:767px){.db__dirs,.db__split{grid-template-columns:1fr}.db__cols>section,.db__notes,.db__split>*{padding:var(--sp-4)}.db__notes-hint{margin-left:0;flex-basis:100%}}.pr{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-5);gap:var(--sp-5)}.pr__chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.pr__chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--r-1);background:var(--sf-2);border:1px solid var(--bd);font-size:var(--fs-12);color:var(--tx-2)}@media (max-width:767px){.pr{grid-template-columns:1fr;gap:var(--sp-4)}}.only-narrow{display:none}@media (max-width:767px){.only-wide{display:none}.only-narrow{display:block}}.db__partial{margin:var(--sp-3) 0 0;padding:var(--sp-3);border:1px solid var(--dev-major-weak);border-left:3px solid var(--dev-major);border-radius:var(--r-2);background:var(--sf-2);font-size:var(--fs-13);line-height:var(--lh-base);color:var(--tx-2)}.db__sec{margin-top:var(--sp-5);padding:var(--sp-5);background:var(--sf);border:1px solid var(--bd);border-radius:var(--r-2)}.db__sec--accent{border-left:3px solid var(--ac)}.db__sec-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}.db__sec-title{margin:0;flex:1 1 12rem;min-width:0;font-size:var(--fs-16);line-height:var(--lh-tight);font-weight:600}.db__sec-title small{font-weight:400;color:var(--tx-3);font-size:var(--fs-13)}.db__sec-lead{margin:0 0 var(--sp-4);max-width:72ch;font-size:var(--fs-14);line-height:var(--lh-long);color:var(--tx-2)}.db__sec-acts{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.db__sec-hint,.db__sec-note{font-size:var(--fs-13);color:var(--tx-3)}.db__sec-note{margin:0;line-height:var(--lh-base)}.db__sec-note--box{padding:var(--sp-3);border:1px dashed var(--bd-2);border-radius:var(--r-2)}.db__sec-count{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--tx-3)}.db__sec-sep{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--bd)}.db__sec-textarea{width:100%;min-height:84px;font-size:var(--fs-15)}.db__sec-textarea:disabled{opacity:.6}.db__sec-ok{color:var(--dev-match)}.db__sec-err,.db__sec-ok{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-13)}.db__sec-err{color:var(--dev-major)}.db__items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:var(--r-2);overflow:hidden}.db__item{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--sf-2)}.db__item-no{flex:none;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-1);background:var(--ac-weak);color:var(--ac);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:600}.db__item-body{flex:1 1;min-width:0;font-size:var(--fs-14);line-height:var(--lh-base)}.db__item-why{margin-top:2px;font-size:var(--fs-12);color:var(--tx-3)}.db__groups{display:flex;flex-direction:column;gap:var(--sp-4)}.db__group-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.db__group-name{font-size:var(--fs-13);font-weight:600;color:var(--tx-2);letter-spacing:.01em}@media (max-width:767px){.db__sec{padding:var(--sp-4)}.db__sec-textarea{font-size:16px}}.ai-save{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-12);color:var(--tx-3);white-space:nowrap}@media (max-width:767px){.ai-save__at{display:none}}.boot__box{width:100%;max-width:20rem;display:flex;flex-direction:column;gap:var(--sp-4)}.boot__acts{display:flex;flex-wrap:wrap;gap:var(--sp-2)}