:root{--bg:#f6f8f3;--surface:#ffffff;--surface-2:#eef2e6;--surface-3:#e6ecdb;--border:#d7e0c8;--border-strong:#c2cfad;--fg:#1c2411;--fg-muted:#5a6650;--fg-subtle:#808b74;--accent:#478a20;--accent-hover:#3a6b16;--accent-weak:#e7f1d3;--lime:#7d9a08;--success-fg:#1a7f37;--success-bg:#dcf5e0;--success-bd:#a6e0b3;--danger-fg:#b3261e;--danger-bg:#fde6e4;--danger-bd:#f2b8b3;--warn-fg:#8a5a00;--warn-bg:#fbeecb;--warn-bd:#efd493;--info-fg:#1f6feb;--info-bg:#e4eefb;--info-bd:#b9d3f5;--shadow:0 1px 2px rgba(28,36,17,.06);--shadow-pop:0 8px 24px rgba(28,36,17,.14);--r:6px;--r-sm:4px;--r-lg:10px;--font-ui:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;color-scheme:light;--brand-green: var(--accent);--brand-lime: var(--lime);--brand-leaf: var(--accent-hover);--card-border: var(--border);--text-primary: var(--fg)}[data-theme=dark]{--bg:#0f130d;--surface:#161b12;--surface-2:#1d2418;--surface-3:#232c1d;--border:#2c3626;--border-strong:#3a462f;--fg:#e7ece0;--fg-muted:#98a389;--fg-subtle:#727d63;--accent:#6cb744;--accent-hover:#7fc957;--accent-weak:#22301a;--lime:#a7c714;--success-fg:#57c463;--success-bg:#142c19;--success-bd:#2b5133;--danger-fg:#f2685f;--danger-bg:#351816;--danger-bd:#6b2f2a;--warn-fg:#e3b341;--warn-bg:#2e2611;--warn-bd:#5c4a1e;--info-fg:#6ea8fe;--info-bg:#16233a;--info-bd:#29406b;--shadow:0 1px 2px rgba(0,0,0,.4);--shadow-pop:0 10px 30px rgba(0,0,0,.5);color-scheme:dark}@font-face{font-family:IBM Plex Sans;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-600.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2")}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em;text-wrap:balance}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;accent-color:var(--accent)}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[role=combobox]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-weak);color:var(--fg)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.48rem .8rem;border-radius:var(--r);font:inherit;font-weight:600;font-size:.86rem;border:1px solid transparent;cursor:pointer;white-space:nowrap}.btn .ic{width:15px;height:15px}.btn-primary{background:var(--accent);color:#fff}[data-theme=dark] .btn-primary{color:#0f130d}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--fg);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent)}.btn-ghost{background:transparent;color:var(--fg-muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--fg)}.btn-danger{background:transparent;color:var(--danger-fg);border-color:var(--danger-bd)}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-sm{padding:.3rem .55rem;font-size:.8rem}.btn:disabled,.btn[disabled]{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}.panel-pad{padding:1rem}.table-wrap{overflow-x:auto;border-radius:var(--r-lg)}table{width:100%;border-collapse:collapse;font-size:.86rem}thead th{text-align:left;font-weight:600;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle);padding:.6rem .85rem;background:var(--surface-2);border-bottom:1px solid var(--border)}tbody td{padding:.62rem .85rem;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:last-child td{border-bottom:none}@media(hover:hover){tbody tr:hover{background:var(--surface-2)}}.num{color:var(--fg);font-weight:600}@media(max-width:640px){.table-wrap:has(>.table-cards){overflow-x:visible}.table-cards,.table-cards tbody{display:block}.table-cards thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.table-cards tbody tr{display:flex;flex-direction:column;gap:.35rem;padding:.75rem;border-bottom:1px solid var(--border)}.table-cards tbody tr:last-child{border-bottom:none}.table-cards tbody td{display:flex;gap:.6rem;align-items:baseline;min-width:0;padding:0;border-bottom:none;overflow-wrap:anywhere}.table-cards tbody td:before{content:attr(data-label);content:attr(data-label)/"";flex:0 0 6.5rem;font-family:var(--font-ui);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-subtle)}.table-cards tbody td:not([data-label]):before,.table-cards tbody td.cell-switch:before{display:none}.table-cards tbody td:empty{display:none}.table-cards tbody td.cell-main{order:-1;font-size:.94rem;font-weight:500}}@media(min-width:641px)and (max-width:768px){thead th,tbody td{padding-left:.4rem;padding-right:.4rem}}.toolbar{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap;padding:.9rem 1rem;margin-bottom:1rem}.field{display:flex;flex-direction:column;gap:.3rem;min-width:200px}.field>label{font-size:.74rem;font-weight:600;color:var(--fg-muted);letter-spacing:.01em}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.48rem .65rem;background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--r);font:inherit;cursor:pointer}.select-trigger .ph{color:var(--fg)}.select-trigger:hover{border-color:var(--accent)}.select-trigger .ic{color:var(--fg-subtle)}.select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toolbar-spacer{flex:1}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .5rem;border-radius:999px;font-size:.74rem;font-weight:600;border:1px solid transparent}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.b-success{color:var(--success-fg);background:var(--success-bg);border-color:var(--success-bd)}.b-danger{color:var(--danger-fg);background:var(--danger-bg);border-color:var(--danger-bd)}.b-warn{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-bd)}.b-info{color:var(--info-fg);background:var(--info-bg);border-color:var(--info-bd)}.b-neutral{color:var(--fg-muted);background:var(--surface-2);border-color:var(--border)}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .45rem;border-radius:var(--r-sm);font-family:var(--font-mono);font-size:.76rem;background:var(--surface-2);color:var(--fg-muted);border:1px solid var(--border)}.chip .ic{width:12px;height:12px;color:var(--accent)}.link-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--accent);font:inherit;font-weight:600;font-size:.84rem;display:inline-flex;align-items:center;gap:.25rem}.link-btn:hover{color:var(--accent-hover);text-decoration:underline}.block-title{display:flex;align-items:baseline;gap:.55rem;margin:0 0 .65rem;flex-wrap:wrap}.block-title h2{font-size:1.05rem}.block-title .sub{color:var(--fg-muted);font-size:.84rem}.compare{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-top:.95rem}.compare .side{position:relative;display:flex;gap:.6rem;align-items:flex-end;padding:1rem .8rem .7rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}.compare .side .field{min-width:148px}.side-tag{position:absolute;top:-.62rem;left:.7rem;padding:.06rem .5rem;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;border-radius:999px}[data-theme=dark] .side-tag{color:#0f130d}.compare .arrow-lg{align-self:center;color:var(--fg-subtle);margin-bottom:.35rem}.spin{display:inline-flex;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap}@media(max-width:640px){.field{min-width:0;width:100%}.toolbar,.compare,.compare .side{flex-direction:column;align-items:stretch}.compare .side .field{min-width:0;width:100%}.compare .arrow-lg{align-self:center;margin-bottom:0;transform:rotate(90deg)}}@media(pointer:coarse){.btn,.tab,.src-btn,.select-trigger,.link-btn{min-height:40px}}@media(max-width:640px){app-changelog .table-cards tbody tr.dup-detail{padding:0;gap:0;background:var(--surface-2)}app-changelog .table-cards tbody tr.ticket-row:has(+tr.dup-detail),app-changelog .table-cards tbody tr:has(+tr.dup-detail){border-bottom:none}app-changelog .table-cards tbody tr.dup-detail td{display:block;padding:0 .7rem 0 4.9rem}app-changelog .table-cards tbody tr.dup-detail ul{margin:0;gap:0}app-changelog .table-cards tbody tr.dup-detail li{font-size:.78rem;gap:0 .45rem;align-items:baseline;padding:.35rem 0;border-top:1px solid var(--border)}app-changelog .table-cards tbody tr.dup-detail li:first-child{border-top:none}app-changelog .table-cards tbody tr.dup-detail li .msg-full{display:none}app-changelog .table-cards tbody tr.dup-detail li .meta{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}app-changelog .table-cards tbody tr.dup-detail li .who{display:block;flex:1 1 5rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-changelog .table-cards tbody tr.dup-detail li .when-short{flex:none;display:inline;margin-left:auto;color:var(--fg-subtle);font-size:.72rem}app-changelog .table-cards tbody tr.dup-detail li .msg-short{display:block;flex:0 0 100%;min-width:0;color:var(--fg);font-size:.8rem;line-height:1.3}app-changelog .table-cards tbody tr.dup-detail li .chip{font-size:.7rem;padding:0 .35rem;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}app-changelog .table-cards tbody tr.dup-detail li.highlight{margin-left:0;padding-left:0;border-radius:0}}@media(max-width:640px){app-changelog .panel.summary{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:.5rem .55rem}app-changelog .panel.summary .leg[class]{display:contents}app-changelog .panel.summary .leg:nth-of-type(1)>*{grid-row:1}app-changelog .panel.summary .leg:nth-of-type(2)>*{grid-row:3}app-changelog .panel.summary .leg>.lab{grid-column:1}app-changelog .panel.summary .leg>.chip{grid-column:2;min-width:0;overflow-wrap:anywhere}app-changelog .panel.summary .leg>.num{grid-column:3;min-width:0;overflow-wrap:anywhere}app-changelog .panel.summary .arrow{grid-row:2;grid-column:3;justify-self:center;transform:rotate(90deg)}app-changelog .panel.summary .count[class]{grid-column:4;grid-row:1/span 3;justify-self:end;margin-left:0;text-align:right;display:flex;flex-direction:column;align-items:flex-end;font-size:.72rem;line-height:1.2}app-changelog .panel.summary .count b{font-size:1.5rem;font-weight:700}app-changelog .panel.summary .customer-chip{grid-column:1/-1;grid-row:4;justify-self:start}}@media(max-width:399px){app-changelog .panel.summary{grid-template-columns:auto auto minmax(0,1fr);column-gap:.45rem}app-changelog .panel.summary .count[class]{grid-column:1/-1;grid-row:4;flex-direction:row;align-items:baseline;gap:.3rem;font-size:.85rem}app-changelog .panel.summary .count b{font-size:1rem}app-changelog .panel.summary .customer-chip{grid-row:5}}
