:root{--ground:#f4f7f9;--surface:#fff;--surface-2:#eef2f5;--border:#e2e8ec;--border-strong:#cdd6dc;--ink:#16202b;--ink-2:#46535f;--ink-3:#74828e;--brand:#0c6e86;--brand-strong:#0a5668;--brand-soft:#e0f0f4;--on-brand:#fff;--live:#1f8a54;--live-soft:#e6f4ec;--warn:#c0392b;--warn-soft:#fbe9e6;--code-bg:#f6f8fa;--diff-add-bg:#e7f4ec;--diff-add-fg:#146c43;--diff-del-bg:#fbe9e6;--diff-del-fg:#9b1c1c;--diff-hunk:#0c6e86;--diff-meta:#8a97a2;--shadow:0 1px 2px rgba(16,32,45,.05),0 8px 24px rgba(16,32,45,.06);--radius:10px;--mono:ui-monospace,"SF Mono","Cascadia Code","JetBrains Mono",Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0e141b;--surface:#151d26;--surface-2:#1b2530;--border:#263341;--border-strong:#35485a;--ink:#e7ecf1;--ink-2:#a6b3bf;--ink-3:#74828e;--brand:#38b8d6;--brand-strong:#5fc9e2;--brand-soft:#0f2e3a;--on-brand:#04141a;--live:#46c384;--live-soft:#10301f;--warn:#e7715f;--warn-soft:#3a1d19;--code-bg:#10161d;--diff-add-bg:#12301f;--diff-add-fg:#7fe0a8;--diff-del-bg:#3a1d19;--diff-del-fg:#f0a79b;--diff-hunk:#5fc9e2;--diff-meta:#74828e;--shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35)}}:root[data-theme=dark]{--ground:#0e141b;--surface:#151d26;--surface-2:#1b2530;--border:#263341;--border-strong:#35485a;--ink:#e7ecf1;--ink-2:#a6b3bf;--ink-3:#74828e;--brand:#38b8d6;--brand-strong:#5fc9e2;--brand-soft:#0f2e3a;--on-brand:#04141a;--live:#46c384;--live-soft:#10301f;--warn:#e7715f;--warn-soft:#3a1d19;--code-bg:#10161d;--diff-add-bg:#12301f;--diff-add-fg:#7fe0a8;--diff-del-bg:#3a1d19;--diff-del-fg:#f0a79b;--diff-hunk:#5fc9e2;--diff-meta:#74828e;--shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:var(--ground);line-height:1.5;-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion:no-preference){.btn,.btn-ghost,.link-toggle,.pr-link,.reviewer-chip,.tab,.toggle{transition:background-color .12s ease,border-color .12s ease,color .12s ease}}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}code{font-family:var(--mono)}.topbar{gap:14px;padding:12px 22px;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.topbar{display:flex;align-items:center}.brand{gap:11px}.brand svg{width:30px;height:30px;flex:none}.brand-name{font-weight:680;letter-spacing:-.01em;font-size:15px}.brand-tag{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-3);opacity:.75;margin-top:-1px}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.topbar-divider{width:1px;height:22px;background:var(--border);flex:none}.chip{font-family:var(--mono);font-size:11.5px;background:var(--brand-soft);color:var(--brand-strong);border-radius:999px;padding:3px 9px}.chip-dev{cursor:default}.chip-file{background:var(--surface-2);color:var(--ink-2)}.user-pill{display:flex;align-items:center;gap:8px;padding:3px 10px 3px 3px;background:var(--surface-2)}.avatar-img,.user-pill{border-radius:999px;border:1px solid var(--border)}.avatar-img{width:26px;height:26px;flex:none;object-fit:cover}.spinner{display:inline-block;width:15px;height:15px;flex:none;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--brand);animation:spin .7s linear infinite}.spinner-on-brand{border-color:hsla(0,0%,100%,.45);border-top-color:var(--on-brand)}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.result-loading{display:flex;align-items:center;gap:14px}.result-loading .spinner{width:22px;height:22px;border-width:2.5px}.result-loading strong{display:block;font-size:14px;color:var(--ink)}.result-loading p{margin:4px 0 0;font-size:12.5px;color:var(--ink-2)}.avatar{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:10.5px;font-weight:700;letter-spacing:.01em}.user-email{font-size:12.5px;color:var(--ink-2);max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-ghost{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 11px;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--ink-2);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.btn-ghost:hover{color:var(--ink);background:var(--surface-2)}.btn-ghost svg{width:15px;height:15px}.toggle{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:transparent;border:1px solid transparent;color:var(--ink-2);cursor:pointer}.toggle:hover{color:var(--ink);background:var(--surface-2)}.toggle svg{width:17px;height:17px}.signin-screen{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative}.signin-toggle{position:absolute;top:16px;right:16px}.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:40px 34px;max-width:400px;width:100%;text-align:center}.signin-mark{width:52px;height:52px;margin-bottom:14px}.signin-card h1{font-size:19px;font-weight:650;letter-spacing:-.01em;margin:0 0 10px}.signin-sub{color:var(--ink-2);font-size:14px;line-height:1.5;margin:0 0 22px}.signin-btn{display:inline-flex;align-items:center;gap:10px;font:inherit;font-weight:600;font-size:14px;padding:11px 18px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer}.signin-btn:hover{border-color:var(--ink-3)}.signin-note{margin:18px 0 0;font-size:12px;color:var(--ink-3)}.page{max-width:820px;margin:0 auto;padding:36px 22px 72px}.page-head{margin-bottom:22px}.page-head h1{margin:0 0 4px;font-size:19px;font-weight:650;letter-spacing:-.01em}.page-head p{margin:0;color:var(--ink-2);font-size:13.5px;max-width:64ch}.tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:4px;margin-bottom:16px}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;padding:9px 6px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:7px}.tab svg{width:15px;height:15px}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{background:var(--surface);color:var(--brand-strong);box-shadow:0 1px 2px rgba(16,32,45,.12)}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:14px 18px;border-bottom:1px solid var(--border)}.card-head h2{margin:0;font-size:15px;letter-spacing:-.01em}.card-head p{margin:4px 0 0;font-size:12.5px;color:var(--ink-2)}.card-body{padding:18px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px 16px;gap:14px 16px;margin-bottom:20px}.field{display:flex;flex-direction:column;gap:6px}.field-wide{grid-column:1/-1}.field label{font-size:12px;font-weight:650;color:var(--ink-2);letter-spacing:.01em}.field .hint{font-size:11.5px;color:var(--ink-3);margin-top:-2px}.field input,.field select,.field textarea{font:inherit;font-size:13.5px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--ink);width:100%}.field select{cursor:pointer}.field textarea{resize:vertical;min-height:150px;font-family:var(--mono);font-size:12.5px;line-height:1.55}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:7px}.upload-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:12px;font-weight:600;padding:6px 10px;border-radius:7px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);cursor:pointer}.upload-btn:hover{border-color:var(--ink-3);color:var(--ink)}.upload-btn svg{width:13px;height:13px;flex:none}.upload-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-input-hidden:focus-visible+.upload-btn{outline:2px solid var(--brand);outline-offset:2px}.reviewers-picker{margin-bottom:20px;padding-top:4px;border-top:1px solid var(--border)}.reviewers-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 10px}.reviewers-label{font-size:12px;font-weight:650;color:var(--ink-2);letter-spacing:.01em}.link-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:12px;font-weight:600;color:var(--brand-strong);cursor:pointer;padding:2px 0}.link-toggle:hover{text-decoration:underline}.reviewers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:8px;gap:8px}.reviewer-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:9px;text-align:left;font:inherit;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);cursor:pointer}.reviewer-chip:hover{border-color:var(--border-strong);color:var(--ink)}.reviewer-chip.is-selected{border-color:var(--brand);background:var(--brand-soft);color:var(--ink)}.reviewer-avatar{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:10.5px;font-weight:700;letter-spacing:.01em}.reviewer-chip.is-selected .reviewer-avatar{background:var(--brand);color:var(--on-brand)}.reviewer-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.reviewer-name{font-size:12.5px;font-weight:600;color:var(--ink)}.reviewer-name,.reviewer-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reviewer-username{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}.reviewer-avatars{display:flex;align-items:center;margin-left:auto}.mini-avatar{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:9.5px;font-weight:700;border:1.5px solid var(--surface);margin-left:-6px}.mini-avatar:first-child{margin-left:0}.reviewers-hint{margin:10px 0 0;font-size:12px;color:var(--ink-3)}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions,.btn{align-items:center}.btn{font:inherit;font-weight:600;font-size:13.5px;padding:9px 15px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer;display:inline-flex;gap:8px}.btn svg{width:15px;height:15px}.btn:hover:not(:disabled){border-color:var(--ink-3)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand-strong)}.btn-primary:hover:not(:disabled){background:var(--brand-strong);border-color:var(--brand-strong)}.hint-inline{font-size:12px;color:var(--ink-3);margin-left:auto}.result-stack{display:grid;grid-gap:16px;gap:16px;margin-top:20px}.result-card{overflow:visible}.result-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.result-head h2{margin:0;font-size:14px;letter-spacing:-.01em}.diff{margin:0;background:var(--code-bg);overflow-x:auto;font-family:var(--mono);font-size:12px;line-height:1.6;padding:10px 0}.dl{display:block;min-height:1.2em;padding:0 14px;white-space:pre}.dl.add{background:var(--diff-add-bg);color:var(--diff-add-fg)}.dl.del{background:var(--diff-del-bg);color:var(--diff-del-fg)}.dl.hunk{color:var(--diff-hunk)}.dl.meta{color:var(--diff-meta)}.dl.ctx{color:var(--ink-2)}.result-success{display:flex;flex-direction:column;gap:12px}.success-badge{display:inline-flex;align-items:center;gap:8px;color:var(--live);font-weight:650;font-size:14px}.success-badge svg{width:17px;height:17px;flex:none}.mode-tag{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink-3);background:var(--surface-2);border-radius:999px;padding:2px 8px}.pr-link{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-weight:650;font-size:13.5px;padding:8px 14px;border-radius:9px;background:var(--brand);color:var(--on-brand);text-decoration:none}.pr-link:hover{background:var(--brand-strong)}.pr-link svg{width:14px;height:14px}.kv-list{margin:4px 0 0;display:grid;grid-gap:8px;gap:8px}.kv-row{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:12.5px}.kv-row dt{color:var(--ink-3);flex:none}.kv-row dd{margin:0;display:flex;flex-wrap:wrap;gap:6px}.kv-row code{color:var(--ink);background:var(--surface-2);padding:2px 6px;border-radius:6px;font-size:12px}.banner{padding:14px 16px;border-radius:10px}.banner strong{color:var(--ink)}.banner p{margin:6px 0 0;font-size:13px}.banner ul{margin:8px 0 0;padding-left:18px;font-size:12.5px}.banner li{margin-bottom:3px}.banner li code{color:var(--warn)}.banner-blocking{background:var(--warn-soft);border:1px solid var(--warn)}.banner-error{background:var(--warn-soft);color:var(--ink-2);border:1px solid var(--border)}@media (max-width:900px){.reviewers-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.modal-backdrop{position:fixed;inset:0;background:rgba(10,16,22,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal{border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);width:100%;max-width:560px;max-height:88vh;overflow-y:auto}.modal,.modal-head{background:var(--surface)}.modal-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0}.modal-head h2{margin:0;font-size:16px;letter-spacing:-.01em}.modal-close{margin-left:auto;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2);cursor:pointer;display:grid;place-items:center}.modal-close:hover{color:var(--ink)}.modal-close svg{width:15px;height:15px}.modal-body{padding:18px 20px 22px}.steps{display:grid;grid-gap:15px;gap:15px;margin:0 0 16px}.step{display:flex;gap:12px}.step .n{flex:none;width:24px;height:24px;border-radius:7px;background:var(--brand);color:var(--on-brand);font-family:var(--mono);font-size:12px;font-weight:700;display:grid;place-items:center}.step h3{margin:0 0 3px;font-size:14px;letter-spacing:-.01em}.step p{margin:0;font-size:13px;color:var(--ink-2)}.step b{color:var(--ink)}.modal-note{font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border-radius:10px;padding:12px 14px}.modal-note strong{color:var(--ink)}.guide-h{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:700;margin:20px 0 12px}.guide-kind{border:1px solid var(--border);border-radius:12px;padding:13px 14px;margin-bottom:12px}.gk-head{display:flex;align-items:center;gap:8px;font-size:14px}.gk-head b{color:var(--ink)}.gk-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--brand-soft);color:var(--brand);flex:none}.gk-icon svg{width:14px;height:14px}.guide-kind .when{margin:9px 0 10px;font-size:12.5px;color:var(--ink-2);line-height:1.5}.guide-kind .when b{color:var(--ink)}.gk-fields{margin:0;padding:0;list-style:none;display:grid;grid-gap:6px;gap:6px;font-size:12.5px;color:var(--ink-2)}.gk-fields li{line-height:1.45}.gk-fields li b{color:var(--ink);font-weight:600}@media (max-width:560px){.field-grid,.reviewers-grid{grid-template-columns:1fr}.brand-tag,.user-email{display:none}.page{padding:26px 14px 56px}.topbar{padding:10px 14px;gap:10px}.brand-name{font-size:13.5px}.page-head h1{font-size:17px}.tab{flex-direction:column;gap:4px;font-size:11.5px;padding:8px 4px}.tab svg{width:18px;height:18px}.btn-ghost span{display:none}.btn-ghost{width:34px;padding:0;justify-content:center}.card-body{padding:15px}.hint-inline{margin-left:0}}