:root { --bg:#fff; --fg:#111113; --muted:#76767d; --line:#e7e7e9; --surface:#f5f5f6; --accent:#10a37f; --danger:#c5433c; color-scheme:light; }
html[data-theme="dark"] { --bg:#0f0f10; --fg:#f2f2f3; --muted:#92929a; --line:#262629; --surface:#1a1a1d; --accent:#35c99f; --danger:#ff8b84; color-scheme:dark; }
* { box-sizing:border-box; } body { margin:0; background:var(--bg); color:var(--fg); font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; } button,input,textarea,select { font:inherit; color:inherit; } button { cursor:pointer; } :focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.shell { width:min(100% - 44px,980px); margin:auto; padding-bottom:72px; }.bar { height:64px; display:flex; align-items:center; gap:15px; border-bottom:1px solid var(--line); }.mark { color:var(--fg); font-size:19px; font-weight:680; letter-spacing:-.06em; text-decoration:none; }.mark span { color:var(--accent); }.quiet,.state,.help { color:var(--muted); font-size:12px; }.bar-actions { margin-left:auto; display:flex; gap:8px; align-items:center; }.icon-link,.text-button { border:0; background:transparent; color:var(--muted); font-size:12px; text-decoration:none; }.icon-link:hover,.text-button:hover { color:var(--fg); }.icon-button { width:32px; height:32px; border:1px solid var(--line); border-radius:7px; background:transparent; }.icon-button:hover { background:var(--surface); }
.auth-panel { padding:42px 0; }.auth-panel form { width:min(100%,520px); }.auth-panel label,.fields label { display:grid; gap:6px; font-size:12px; font-weight:600; }.auth-panel textarea { min-height:38px; resize:none; }.auth-panel textarea.invalid { border-color:var(--danger); } .eyebrow { margin:0 0 7px; color:var(--accent); font-size:10px; font-weight:750; letter-spacing:.12em; }.heading h1 { margin:0; font-size:27px; letter-spacing:-.045em; } input,textarea,select { width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:transparent; } input:focus,textarea:focus,select:focus { border-color:var(--accent); outline:0; }.button { height:36px; padding:0 14px; border:0; border-radius:7px; background:var(--fg); color:var(--bg); font-size:13px; font-weight:650; }.button:hover { opacity:.86; }.error { color:var(--danger); font-size:12px; }.heading { display:flex; justify-content:space-between; align-items:end; padding:37px 0 20px; }.heading-actions { display:flex; gap:14px; align-items:center; }.filters { display:flex; gap:8px; }.filters input { flex:1; }.filters select { width:150px; }.state { min-height:18px; margin:13px 0; }.list { overflow:hidden; border:1px solid var(--line); border-radius:10px; }.bug { display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:15px; width:100%; padding:15px; border:0; border-top:1px solid var(--line); background:transparent; color:inherit; text-align:left; }.bug:first-child { border-top:0; }.bug:hover { background:var(--surface); }.bug-id { color:var(--muted); font:12px ui-monospace,SFMono-Regular,Menlo,monospace; padding-top:2px; }.bug-title { overflow:hidden; font-weight:640; text-overflow:ellipsis; white-space:nowrap; }.bug-summary { overflow:hidden; margin-top:2px; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.badge { align-self:start; padding:3px 6px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font:11px ui-monospace,SFMono-Regular,Menlo,monospace; }.badge.fixed,.badge.closed { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.editor { width:min(100% - 30px,680px); padding:0; border:1px solid var(--line); border-radius:11px; background:var(--bg); color:var(--fg); }.editor::backdrop { background:rgba(0,0,0,.52); }.dialog-bar { display:flex; align-items:center; height:55px; padding:0 16px; border-bottom:1px solid var(--line); }.close { width:28px; height:28px; margin-left:auto; border:0; border-radius:6px; background:transparent; color:var(--muted); font-size:22px; line-height:1; }.close:hover { background:var(--surface); }.fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:18px; }.wide { grid-column:1 / -1; }.fields textarea { resize:vertical; }.editor footer { display:flex; justify-content:space-between; align-items:center; min-height:64px; padding:0 18px; border-top:1px solid var(--line); }.editor footer .error { margin-right:auto; }.help { margin:0; }
@media(max-width:650px){.shell{width:min(100% - 28px,980px)}.auth-panel{padding-top:34px}.heading{align-items:start;gap:18px;flex-direction:column}.filters{flex-direction:column}.filters select{width:100%}.bug{grid-template-columns:75px minmax(0,1fr)}.badge{display:none}.fields{grid-template-columns:1fr}.wide{grid-column:auto}}

/* Bug rows are a fixed three-column record: identifier, text, status. The
   middle column must be allowed to shrink, otherwise long titles overlap the
   status control at the right edge. */
html.modal-open,
html.modal-open body { overflow: hidden; }
.bug { padding: 14px 15px; align-items: center; }
.bug-body { display: grid; min-width: 0; gap: 3px; }
.bug-title,
.bug-summary { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bug-summary { margin-top: 0; }
.badge { justify-self: end; min-width: 72px; padding: 4px 7px; border-color: transparent; background: var(--surface); color: var(--fg); text-align: center; }
.badge.open,
.badge.repro { border-color: #f0d28b; background: #fff4d8; color: #805600; }
.badge.reported,
.badge.partial { border-color: #b9cff7; background: #e8f0ff; color: #24549b; }
.badge.fixed,
.badge.closed { border-color: #a8dfca; background: #def6ed; color: #086c51; }
.badge.wontfix,
.badge.duplicate { border-color: #d7d7dc; background: #eeeef1; color: #5d5d65; }
html[data-theme="dark"] .badge.open,
html[data-theme="dark"] .badge.repro { border-color: #73541d; background: #3f3217; color: #f6ce73; }
html[data-theme="dark"] .badge.reported,
html[data-theme="dark"] .badge.partial { border-color: #30528a; background: #182e52; color: #a8c6ff; }
html[data-theme="dark"] .badge.fixed,
html[data-theme="dark"] .badge.closed { border-color: #246d58; background: #123d32; color: #8ee4c6; }
@media(max-width:650px) { .badge { display: block; min-width: 56px; padding: 3px 5px; } }

.editor { max-height: calc(100dvh - 30px); overflow: auto; }
.dialog-bar { position: sticky; z-index: 1; top: 0; background: var(--bg); }
.fields #bug-summary { min-height: 200px; line-height: 1.5; }
.editor footer { position: sticky; bottom: 0; background: var(--bg); }
