local-review 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/demo/lib/gitworld.js +224 -0
  3. package/dist/demo/world/api.js +2436 -0
  4. package/dist/demo/world/infra.js +189 -0
  5. package/dist/demo/world/people.js +16 -0
  6. package/dist/demo/world/review.js +578 -0
  7. package/dist/demo/world/sdk.js +376 -0
  8. package/dist/demo/world/web.js +657 -0
  9. package/dist/server/cli.js +28 -0
  10. package/dist/server/config.js +3 -0
  11. package/dist/server/examples.js +204 -0
  12. package/dist/server/index.js +17 -2
  13. package/dist/server/projects.js +2 -0
  14. package/dist/web/assets/{angular-html-DJ4eInGE.js → angular-html-qFVZP7wG.js} +1 -1
  15. package/dist/web/assets/{angular-ts-DBhgg2a7.js → angular-ts-DzOxtaC9.js} +1 -1
  16. package/dist/web/assets/{apl-TCQAu201.js → apl-0AThSj8r.js} +1 -1
  17. package/dist/web/assets/{astro-DVtFuwC2.js → astro-By53bk_I.js} +1 -1
  18. package/dist/web/assets/{blade-CMp-sZYg.js → blade-Dw_Nglq9.js} +1 -1
  19. package/dist/web/assets/{c-DgqspIM2.js → c-CQT-cQHo.js} +1 -1
  20. package/dist/web/assets/{chapel-NTLt7i8E.js → chapel-64o3Hib1.js} +1 -1
  21. package/dist/web/assets/{cobol-CJiWQrT4.js → cobol-COyB9oJ9.js} +1 -1
  22. package/dist/web/assets/{coffee-Bv_hE6wf.js → coffee-BGIfDQTv.js} +1 -1
  23. package/dist/web/assets/{cpp-CuUsyAvc.js → cpp-wi7ixCRa.js} +1 -1
  24. package/dist/web/assets/{crystal-BeLopiD_.js → crystal-ADRCp2kP.js} +1 -1
  25. package/dist/web/assets/{css-OngwBV3K.js → css-BH9tz7qt.js} +1 -1
  26. package/dist/web/assets/{edge-BFLildoE.js → edge-DFzphiQm.js} +1 -1
  27. package/dist/web/assets/{elixir-1Fs6FjVs.js → elixir-BUj3AoF_.js} +1 -1
  28. package/dist/web/assets/{elm-piMM67vF.js → elm-Bqgz9ryu.js} +1 -1
  29. package/dist/web/assets/{erb-JJ0sF8GL.js → erb-DHHWfqsN.js} +1 -1
  30. package/dist/web/assets/{git-rebase-CtqXywWe.js → git-rebase-C7iLD81B.js} +1 -1
  31. package/dist/web/assets/{glimmer-js-BPewWxGC.js → glimmer-js-BT_UjuD4.js} +1 -1
  32. package/dist/web/assets/{glimmer-ts-DyUQWB47.js → glimmer-ts-BpeqXZCf.js} +1 -1
  33. package/dist/web/assets/{glsl-D6tJoMaT.js → glsl-mPoRKPQX.js} +1 -1
  34. package/dist/web/assets/{graphql-E6u2hkWE.js → graphql-D5e-luGt.js} +1 -1
  35. package/dist/web/assets/{hack-Djq191-P.js → hack-Yj_0xAq9.js} +1 -1
  36. package/dist/web/assets/{haml-C0LqmZG3.js → haml-rCEvyqvs.js} +1 -1
  37. package/dist/web/assets/{handlebars-DwdxF6uN.js → handlebars-CZRXN7yP.js} +1 -1
  38. package/dist/web/assets/{html-B5Myt0fy.js → html-XqiqNW99.js} +1 -1
  39. package/dist/web/assets/{html-derivative-DTVrLAw3.js → html-derivative-nWC0aMV7.js} +1 -1
  40. package/dist/web/assets/{http-CFoh3cQf.js → http-C4fFBmNU.js} +1 -1
  41. package/dist/web/assets/{hurl-B_38naAo.js → hurl-DjZ_NyWj.js} +1 -1
  42. package/dist/web/assets/{index-CfxIojO0.js → index-BPfnOrNh.js} +22 -22
  43. package/dist/web/assets/{index-QywYYqTw.css → index-BplAAg-1.css} +1 -1
  44. package/dist/web/assets/{java-odnexk6r.js → java-B0zZG6CJ.js} +1 -1
  45. package/dist/web/assets/{javascript-DvFCJKws.js → javascript-CFawPmAZ.js} +1 -1
  46. package/dist/web/assets/{jinja-UeLt2DYu.js → jinja-qu2nA6S7.js} +1 -1
  47. package/dist/web/assets/{jison-HNaDYeqE.js → jison-DviWniCr.js} +1 -1
  48. package/dist/web/assets/{json-D57CnrjR.js → json-C0vF7y3r.js} +1 -1
  49. package/dist/web/assets/{jsx-o_5ZAydi.js → jsx-DQYIrdZV.js} +1 -1
  50. package/dist/web/assets/{julia-20UebbrD.js → julia-C_b0WNzR.js} +1 -1
  51. package/dist/web/assets/{just-DqnPCg-Q.js → just-NwM_1ruS.js} +1 -1
  52. package/dist/web/assets/{latex-CZhIB-LV.js → latex-As2zLFN8.js} +1 -1
  53. package/dist/web/assets/{liquid-BzouPsN0.js → liquid-By8qNhnm.js} +1 -1
  54. package/dist/web/assets/{lua-BXclv8Fm.js → lua-Dairqw_c.js} +1 -1
  55. package/dist/web/assets/{marko-M78_INlG.js → marko-C2UPN-L_.js} +1 -1
  56. package/dist/web/assets/{mdc-CBluOiY7.js → mdc-Eijzzwck.js} +1 -1
  57. package/dist/web/assets/{nginx-CZFFQFbT.js → nginx-BF8eLz9n.js} +1 -1
  58. package/dist/web/assets/{nim-17kKsGqk.js → nim-BlPfC-Lu.js} +1 -1
  59. package/dist/web/assets/{org-BZABHRQH.js → org-jZgCqYxI.js} +1 -1
  60. package/dist/web/assets/{perl-CMrAQ9Je.js → perl-BIZHUlMC.js} +1 -1
  61. package/dist/web/assets/{php-DwA3kETk.js → php-Bu0o-4mH.js} +1 -1
  62. package/dist/web/assets/{pug-D4fM85kA.js → pug-Benj2kck.js} +1 -1
  63. package/dist/web/assets/{qml-C3893RHi.js → qml-BHSeoMrW.js} +1 -1
  64. package/dist/web/assets/{r-DwJhLW77.js → r-CUvEVkuI.js} +1 -1
  65. package/dist/web/assets/{razor-_KkCNZ8V.js → razor-BwPBMIxs.js} +1 -1
  66. package/dist/web/assets/{regexp-BZ9NHg3b.js → regexp-_ifpjSOj.js} +1 -1
  67. package/dist/web/assets/{rst-gdK-1c4t.js → rst-Es4SE5IJ.js} +1 -1
  68. package/dist/web/assets/{ruby-DsmqYtlH.js → ruby-76YJjt1j.js} +1 -1
  69. package/dist/web/assets/{sas-BNGv1ScF.js → sas-BEWDsPnW.js} +1 -1
  70. package/dist/web/assets/{scss-DjYUXT73.js → scss-DgcF5VZK.js} +1 -1
  71. package/dist/web/assets/{shellscript-DBtV-eli.js → shellscript-Cty74sqM.js} +1 -1
  72. package/dist/web/assets/{shellsession-BKEV8Fnx.js → shellsession-BCfSy2gp.js} +1 -1
  73. package/dist/web/assets/{soy-DUapMxos.js → soy-dM_k5IdG.js} +1 -1
  74. package/dist/web/assets/{sql-B-UyqKkd.js → sql-Dr4UDgPO.js} +1 -1
  75. package/dist/web/assets/{stata-Xq3iZiMK.js → stata-COCyw4rB.js} +1 -1
  76. package/dist/web/assets/{surrealql-CzXacK8i.js → surrealql-Cc-YKbr5.js} +1 -1
  77. package/dist/web/assets/{svelte-CZaBEmPP.js → svelte-BBNgvYF5.js} +1 -1
  78. package/dist/web/assets/{templ-CxkGuUpr.js → templ-D8WXh8mG.js} +1 -1
  79. package/dist/web/assets/{tex-DP74JH6g.js → tex-BNsfM6-w.js} +1 -1
  80. package/dist/web/assets/{ts-tags-BAcrCE2Y.js → ts-tags-C5cp5d5e.js} +1 -1
  81. package/dist/web/assets/{tsx-Dw11YP6z.js → tsx-D0nBgoOJ.js} +1 -1
  82. package/dist/web/assets/{twig-BMVjBxD6.js → twig-Clef_vTO.js} +1 -1
  83. package/dist/web/assets/{typescript-DoBLlVdC.js → typescript-84qFVDd8.js} +1 -1
  84. package/dist/web/assets/{typst-w2u_vl4_.js → typst-kHrpsAej.js} +1 -1
  85. package/dist/web/assets/{vue-BmuHTv5p.js → vue-D_k3LQNp.js} +1 -1
  86. package/dist/web/assets/{vue-html-Dt0zSF4I.js → vue-html-Bclb5q-s.js} +1 -1
  87. package/dist/web/assets/{vue-vine-wvJ1BTex.js → vue-vine-BvY0ORZK.js} +1 -1
  88. package/dist/web/assets/{xml-CXftIBCQ.js → xml-BgfQ1YbS.js} +1 -1
  89. package/dist/web/assets/{xsl-BoHSOMz1.js → xsl-DEqH3rje.js} +1 -1
  90. package/dist/web/assets/{yaml-dGreldtD.js → yaml-BiWwl5JE.js} +1 -1
  91. package/dist/web/index.html +2 -2
  92. package/package.json +3 -2
@@ -1 +1 @@
1
- :root{--fg:#1f2328;--fg-muted:#59636e;--bg:#fff;--bg-subtle:#f6f8fa;--bg-inset:#f6f8fa;--border:#d0d7de;--border-muted:#d8dee4;--accent:#0969da;--accent-subtle:#ddf4ff;--success:#1a7f37;--success-emph:#1f883d;--danger:#d1242f;--attention:#9a6700;--attention-subtle:#fff8c5;--add-fg:#1a7f37;--del-fg:#d1242f;--plum:#4a1942;--plum-2:#6b2a60;--claude:#c15f3c;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius:6px;--diffs-tab-size:2;--tooltip-bg:#24292f;--tooltip-fg:#fff;--stack-blue:#0969da;--stack-green:#1a7f37;--stack-purple:#8250df;--stack-orange:#bc4c00;--stack-pink:#bf3989;--stack-teal:#1b7c83;--stack-red:#cf222e;--stack-yellow:#9a6700;--stack-gray:#8c959f;--follow-on-fg:#9a6700;--follow-on-border:#bf8700;--follow-on-line:#d4a72c;--follow-on-subtle:#fff8c5;--ready:#1f883d;--published:#0969da;--merged:#8250df}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--fg);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:14px;line-height:1.5}code,pre,.sha{font-family:var(--mono);font-size:12px}code,pre,textarea,.snippet td.code{tab-size:var(--diffs-tab-size)}button{font-family:inherit}.muted{color:var(--fg-muted)}.spacer{flex:1}.color-add{color:var(--add-fg);font-weight:600}.color-del{color:var(--del-fg);font-weight:600}.loading{color:var(--fg-muted);padding:24px}.blankslate{text-align:center;color:var(--fg-muted);border:1px dashed var(--border);border-radius:var(--radius);margin:16px 0;padding:40px}.app-header{background:linear-gradient(90deg, var(--plum) 0%, #5c1f52 100%);color:#fff;border-bottom:3px solid #e8a33d;align-items:center;gap:14px;height:56px;padding:0 16px;display:flex}.header-btn{color:#fff;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #ffffff4d;width:32px;height:32px;font-size:16px}.header-btn:hover{background:#ffffff1f}.wordmark{color:#fff;letter-spacing:.28em;font-size:15px;font-weight:800;text-decoration:none}.not-github-pill{color:#2b0f27;letter-spacing:.02em;background:#e8a33d;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.header-project{color:#fff;white-space:nowrap;text-overflow:ellipsis;border-left:1px solid #ffffff47;max-width:420px;padding:3px 0 3px 14px;font-size:14px;font-weight:600;overflow:hidden}.header-project.is-button{cursor:pointer;background:0 0;border-top:0;border-bottom:0;border-right:0;border-radius:0;align-items:center;gap:6px;font-family:inherit;display:inline-flex}.header-project.is-button:hover{color:#f6d29b}.header-project .caret{opacity:.8;font-size:10px}.project-switcher{position:relative}.project-menu{z-index:50;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);border-top:3px solid #e8a33d;min-width:320px;max-width:480px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 8px 24px #1f232833}.project-menu a{border-radius:var(--radius);color:var(--fg);flex-direction:column;padding:7px 10px;text-decoration:none;display:flex}.project-menu a:hover{background:var(--bg-subtle)}.project-menu a.current{box-shadow:inset 3px 0 0 var(--plum-2);background:var(--bg-subtle)}.project-menu-title{font-size:14px;font-weight:600}.project-menu-meta{color:var(--fg-muted);font-size:12px}.project-menu-meta .attn{color:var(--attention);font-weight:600}.header-crumbs{color:#fffc;font-size:13px}.header-crumbs code{color:#fff}.header-hint,.live-dot{color:#fff9;font-size:12px}.live-dot.on{color:#8ee6a8}.app-body{align-items:flex-start;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--bg-subtle);flex:none;width:300px;height:100vh;padding:12px 0 40px;position:sticky;top:0;overflow-y:auto}.main{flex:1;min-width:0}.page{max-width:1400px;margin:0 auto;padding:20px 24px 80px}.repo{margin-bottom:18px}.repo.closed{margin-bottom:4px}.repo-heading{width:100%;font:inherit;cursor:pointer;text-align:left;color:var(--fg);background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:6px 12px 6px 10px;font-size:12px;font-weight:600;display:flex}.repo-heading:hover{background:#d0d7de52}.repo-chev{color:var(--fg-muted);flex:none}.repo-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.repo-progress{color:var(--fg-muted);flex:none;align-items:center;gap:4px;font-size:11px;font-weight:500;display:inline-flex}.repo-progress .Counter{min-width:18px;padding:0 5px;font-size:11px;line-height:16px}.repo-warning{border-radius:var(--radius);background:var(--attention-subtle);color:#7d4e00;word-break:break-word;border:1px solid #f5e0a0;border-left:3px solid #bf8700;flex-direction:column;gap:3px;margin:4px 12px 8px;padding:7px 10px;font-size:12px;display:flex}.repo-warning code{font-size:11px}.repo-warn-flag{color:#9a6700;flex:none;margin-left:4px;font-size:11px;font-weight:600}.pr-stack{--stack:var(--stack-gray);border:2px solid var(--stack);border-radius:10px;min-width:0;margin:10px 8px 12px;padding:4px 0}.pr-stack+.pr-stack{margin-top:14px}.pr-stack>legend{max-width:calc(100% - 28px);color:var(--stack);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin-left:10px;padding:0 6px;font-size:10.5px;font-weight:700;line-height:1;overflow:hidden}.pr-stack{position:relative}.pr-stack-tally{background:var(--bg-subtle);color:var(--stack);letter-spacing:.09em;text-transform:uppercase;padding:0 6px;font-size:10.5px;font-weight:700;line-height:14px;position:absolute;bottom:-8px;right:14px}.pr-stack.unstacked{border-style:dashed}.pr-stack.unstacked>legend{color:var(--fg-muted)}.pr-stack .commit-list{padding:0 4px}.repo-error{border:1px solid #ffcecb;border-left:3px solid var(--danger);border-radius:var(--radius);color:#82071e;word-break:break-word;background:#ffebe9;flex-direction:column;gap:2px;margin:4px 12px 8px 28px;padding:8px 10px;font-size:12px;display:flex}.repo-error code{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.repo-error .muted{font-size:11px}.repo-name{font-weight:700}.branch-name{font-family:var(--mono);color:var(--accent);background:var(--accent-subtle);border-radius:var(--radius);padding:0 6px;font-size:12px}.commit-list{margin:0;padding:0 8px;list-style:none}.commit-item{border-radius:var(--radius);color:var(--fg);border-left:3px solid #0000;align-items:flex-start;gap:8px;padding:6px 8px;text-decoration:none;display:flex}.commit-item:hover{background:#d0d7de52}.commit-item.active{border-left-color:var(--plum);box-shadow:0 1px 0 #1f23280a, inset 0 0 0 1px var(--border);background:#fff}.commit-num{width:20px;height:20px;color:var(--fg-muted);background:#e6e9ed;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:600;display:flex}.commit-item.active .commit-num{background:var(--plum);color:#fff}.viewed-mini{align-items:center;gap:4px;margin-left:auto;padding-right:2px;display:inline-flex}.viewed-mini-bar{background:var(--border-muted);border-radius:2px;width:28px;height:4px;display:inline-block;overflow:hidden}.viewed-mini-bar>span{background:var(--success-emph);height:100%;display:block}.viewed-mini.done{color:var(--success)}.viewed-mini-eye{opacity:.7;flex:none}.viewed-mini.done .viewed-mini-eye{opacity:1}.commit-main{flex-direction:column;flex:1;min-width:0;display:flex}.commit-subject{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.commit-item.active .commit-subject{font-weight:600}.commit-line{align-items:center;gap:6px;min-width:0;display:flex}.commit-line .commit-subject{flex:1;min-width:0}.commit-line .Counter{flex:none}.commit-sub{color:var(--fg-muted);align-items:center;gap:6px;min-width:0;font-size:11px;display:flex}.commit-sub code{font-size:11px}.commit-sub .color-add,.commit-sub .color-del{font-weight:500}.commit-branch{min-width:0;font-family:var(--mono);color:var(--fg-muted);font-size:11px}.commit-branch.is-missing{opacity:.75}.commit-branch.is-missing .mid-trunc-head,.commit-branch.is-missing .mid-trunc-tail{text-decoration:line-through}.commit-counts{flex:none;gap:6px;margin-left:auto;padding-left:4px;display:inline-flex}.mid-trunc{white-space:nowrap;min-width:0;max-width:100%;display:inline-flex}.mid-trunc-head{text-overflow:ellipsis;min-width:1.5em;overflow:hidden}.mid-trunc-tail{flex:none}.branch-status{color:var(--attention);flex:none;display:inline-flex}.branch-status-missing{color:var(--fg-muted)}.pr-badge{color:var(--fg-muted);border:1px solid var(--border-muted);cursor:pointer;white-space:nowrap;border-radius:2em;flex:none;align-items:center;gap:1px;padding:0 4px;font-size:11px;font-weight:500;line-height:16px;text-decoration:none;display:inline-flex}.pr-badge:hover,.pr-badge:focus-visible{color:var(--accent);border-color:var(--accent)}.pr-badge-ext{opacity:.8;font-size:10px}.sidebar-empty{color:var(--fg-muted);padding:4px 16px;font-size:12px}.btn{color:var(--fg);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:5px 16px;font-size:14px;font-weight:500;line-height:20px;display:inline-flex;box-shadow:0 1px #1f23280a}.btn:hover:not(:disabled){background:#eef1f4;border-color:#c4ccd5}.btn:disabled{color:#8c959f;cursor:default}.btn-sm{padding:3px 12px;font-size:12px}.btn-primary{background:var(--success-emph);color:#fff;border-color:#1f232826}.btn-primary:hover:not(:disabled){background:#1c8139;border-color:#1f232826}.btn-primary:disabled{color:#fff;background:#94d3a2}.btn-link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}.btn-link:hover{text-decoration:underline}.btn-octicon{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px}.btn-octicon:hover{color:var(--accent);background:var(--bg-subtle)}.BtnGroup{display:inline-flex}.BtnGroup .btn{border-radius:0}.BtnGroup .btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.BtnGroup .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.BtnGroup .btn+.btn{margin-left:-1px}.btn.selected{box-shadow:inset 0 0 0 1px var(--fg-muted);z-index:1;background:#fff;font-weight:600;position:relative}.Label{border:1px solid var(--border);color:var(--fg-muted);white-space:nowrap;border-radius:2em;padding:0 7px;font-size:12px;font-weight:500;line-height:18px;display:inline-block}.Label--success{color:var(--success);border-color:#4ac26b}.Label--danger{color:var(--danger);border-color:#ff8182}.Label--agent{color:var(--claude);border-color:#e7b39e;margin-left:4px;font-size:11px;line-height:16px}.Label--attention{color:var(--attention);background:var(--attention-subtle);border-color:#d4a72c}.Label--outdated{margin-right:6px}.Label--counter{background:var(--bg-subtle);border-radius:var(--radius);border:1px solid var(--border);padding:1px 6px}.Counter{text-align:center;min-width:20px;color:var(--fg);background:#afb8c133;border:1px solid #0000;border-radius:2em;padding:0 6px;font-size:12px;font-weight:500;line-height:18px;display:inline-block}.Counter--attn{color:#fff;background:#bf8700;font-weight:600}.flash{border-radius:var(--radius);border:1px solid;margin:8px 0;padding:10px 14px;font-size:13px}.flash.small{margin:4px 16px;padding:6px 10px;font-size:12px}.flash-error{color:#82071e;background:#ffebe9;border-color:#ffcecb}.flash-warn{background:var(--attention-subtle);color:#4d2d00;border-color:#d4a72c66}.form-control{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);width:100%;padding:5px 12px;font-size:14px}.form-control:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.avatar{color:#fff;-webkit-user-select:none;user-select:none;background:#8c959f;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:0 0 0 1px #1f23281f}.avatar-reviewer{background:linear-gradient(135deg,#2f6feb,#5a32a3)}.avatar-claude{background:var(--claude);border-radius:30%}.pr-header{margin-bottom:16px}.pr-title-row{align-items:flex-start;gap:16px;display:flex}.pr-title{word-break:break-word;flex:1;margin:0 0 8px;font-size:32px;font-weight:400;line-height:1.25}.pr-number{color:var(--fg-muted);font-weight:300}.pr-nav{align-items:center;gap:8px;padding-top:8px;display:flex}.pr-nav-sep{background:var(--border);width:1px;height:20px;margin:0 2px}.btn-icon{color:var(--fg-muted);padding:3px 7px}.btn-icon .octicon,.btn-octicon .octicon{display:block}.btn-icon.is-copied,.btn-octicon.is-copied,.btn-octicon.is-copied:hover{color:var(--success)}.pr-title-edit{margin:0 0 8px}.pr-title-edit-row{align-items:center;gap:8px;display:flex}.pr-title-input{flex:1;padding:5px 12px;font-size:16px;line-height:20px}.pr-title-edit-hint{margin-top:6px;font-size:12px}.pr-title-edit .flash{margin:8px 0 0}.pr-title .edited-marker{vertical-align:middle;font-size:12px}.edited-btn{font:inherit;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:12px;line-height:20px}.edited-btn:hover,.edited-btn[aria-expanded=true]{color:var(--accent)}.edited-btn .octicon{vertical-align:-1px;margin-left:1px}.comment-actions{align-items:center;gap:2px;margin-left:4px;display:inline-flex}.pr-description.is-editing{border-color:var(--accent)}.pr-description .comment-form{border-radius:0 0 var(--radius) var(--radius)}.pr-description .comment-form-tabs{padding-top:8px}.comment-form.pr-body-editor textarea{field-sizing:content;min-height:200px;max-height:70vh}.changed-elsewhere{margin:0 0 8px;padding:6px 10px;font-size:12px}.md-toolbar{align-items:center;gap:2px;margin-left:auto;padding-bottom:4px;display:inline-flex}.md-tool{color:var(--fg-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.md-tool:hover{color:var(--accent);background:var(--bg)}.copy-wrap{display:inline-flex;position:relative}.copy-tip{background:var(--tooltip-bg);color:var(--tooltip-fg);border-radius:var(--radius);white-space:nowrap;pointer-events:none;opacity:0;z-index:30;padding:4px 8px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .1s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.copy-tip:after{content:"";border:5px solid #0000;border-top-color:var(--tooltip-bg);margin-left:-5px;position:absolute;top:100%;left:50%}.copy-tip.show{opacity:1}.dropdown{display:inline-flex;position:relative}.dropdown-menu{z-index:40;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);text-align:left;white-space:normal;min-width:200px;max-width:360px;padding:4px 0;font-size:13px;font-weight:400;line-height:1.4;position:absolute;top:calc(100% + 4px);box-shadow:0 8px 24px #8c959f33}.dropdown-menu.align-right{right:0}.dropdown-menu.align-left{left:0}.dropdown-header{color:var(--fg-muted);padding:6px 12px;font-size:12px}.dropdown-original{border-bottom:1px solid var(--border-muted);margin-bottom:4px;padding:4px 12px 8px;font-size:12px}.original-text{color:var(--fg);word-break:break-word;margin-top:2px;font-size:13px}.original-text.is-body{white-space:pre-wrap;font-family:var(--mono);background:var(--bg-subtle);border-radius:4px;max-height:120px;padding:4px 6px;font-size:11px;overflow:auto}.dropdown-item{text-align:left;width:100%;font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;padding:6px 12px;font-size:13px;display:block}.dropdown-item:hover{background:var(--accent);color:#fff}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger);color:#fff}.dropdown-divider{background:var(--border-muted);height:1px;margin:4px 0}.pr-meta{color:var(--fg-muted);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:16px;display:flex}.pr-meta strong{color:var(--fg)}.pr-header:has(.stack-stepper) .pr-meta{border-bottom:0;padding-bottom:10px}.stack-stepper{--stack:var(--plum-2);border-bottom:1px solid var(--border);align-items:center;gap:12px;min-width:0;padding:0 0 14px;font-size:12px;display:flex}.stepper-label{letter-spacing:.08em;text-transform:uppercase;color:var(--stack);flex:none;font-size:11px;font-weight:700}.stack-stepper.unstacked .stepper-label{color:var(--fg-muted)}.stepper{align-items:center;margin:0;padding:0;list-style:none;display:flex}.step{align-items:center;display:flex}.step-line{background:var(--border);width:18px;height:2px}.step.before .step-line,.step.current .step-line{background:var(--stack);opacity:.6}.step a{border:1.5px solid var(--border);background:var(--bg);min-width:24px;height:24px;color:var(--fg-muted);border-radius:12px;justify-content:center;align-items:center;padding:0 4px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .1s,color .1s;display:inline-flex;position:relative}.step a:hover{border-color:var(--stack);color:var(--stack)}.step.current a{background:var(--stack);border-color:var(--stack);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--stack) 22%, transparent)}.step a .readiness-badge{margin-left:4px}.step.current a .readiness-badge.is-draft{color:#fff}.step.current a .readiness-badge .rb-fill{fill:#fff}.step.current a .readiness-badge.is-ready .rb-mark{stroke:var(--ready)}.step.current a .readiness-badge.is-published .rb-mark{fill:var(--published)}.step.current a .readiness-badge.is-merged .rb-mark{fill:var(--merged)}.stepper-next{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stepper-next .btn-link{font-size:12px}.pr-branch{vertical-align:middle;align-items:center;gap:4px;max-width:100%;display:inline-flex}.pr-branch .branch-name{text-overflow:ellipsis;white-space:nowrap;max-width:46ch;overflow:hidden}.pr-branch .branch-name.is-base{color:var(--fg-muted);background:var(--bg-subtle)}.pr-branch .branch-name.is-missing{color:var(--fg-muted);background:var(--bg-subtle);text-decoration:line-through}.pr-branch-arrow{color:var(--fg-muted);font-size:12px}.pr-branch .copy-wrap{display:inline-flex}.btn-copy-branch{padding:2px 3px}.pr-meta .pr-badge{vertical-align:middle;padding:0 6px;font-size:12px;line-height:18px}.pr-meta .sha{cursor:pointer;color:var(--fg);background:var(--bg-subtle);border-radius:4px;padding:1px 5px}.State{color:#fff;border-radius:2em;align-items:center;padding:5px 12px;font-size:14px;font-weight:500;display:inline-flex}.State--published{background:var(--published);gap:6px}.State--published .pr-badge{color:#fff;border-color:#fff9}.State--published .pr-badge:hover{color:#fff;border-color:#fff}.readiness-badge{color:var(--fg-muted);flex:none;line-height:0;display:inline-flex}.readiness-badge svg{display:block}.readiness-badge .rb-ring{stroke:currentColor;opacity:.6}.readiness-badge .rb-pie{fill:currentColor}.readiness-badge.is-ready .rb-mark{stroke:#fff}.readiness-badge.is-published .rb-mark{fill:#fff}.readiness-badge.is-ready .rb-fill{fill:var(--ready)}.readiness-badge.is-published .rb-fill{fill:var(--published)}.State--published .readiness-badge,.State--merged .readiness-badge{border-radius:50%;box-shadow:0 0 0 1.5px #fff}.readiness-badge.is-merged .rb-mark{fill:#fff}.readiness-badge.is-merged .rb-fill{fill:var(--merged)}.State--merged{background:var(--merged);gap:6px}.State--merged .pr-badge{color:#fff;border-color:#fff9}.State--merged .pr-badge:hover{color:#fff;border-color:#fff}.readiness-control{align-items:center;gap:10px;display:inline-flex}.readiness-toggle{border:1px solid var(--border);background:var(--bg-subtle);border-radius:2em;padding:2px;display:inline-flex}.readiness-opt{color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:2em;align-items:center;gap:5px;padding:3px 12px;font-size:13px;font-weight:600;display:inline-flex}.readiness-opt:hover:not(:disabled):not(.selected){color:var(--fg)}.readiness-opt:disabled{cursor:progress}.readiness-opt.selected{cursor:default}.readiness-opt.is-draft.selected{background:var(--bg);color:var(--fg);box-shadow:0 0 0 1px var(--border)}.readiness-opt.is-ready.selected{background:var(--ready);color:#fff}.readiness-opt.is-ready:not(.selected) .readiness-badge{opacity:.5}.readiness-opt.is-ready.selected .readiness-badge{border-radius:50%;box-shadow:0 0 0 1.5px #fff}.readiness-progress{color:var(--fg-muted);white-space:nowrap;align-items:center;gap:5px;font-size:13px;display:inline-flex}.tabnav{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;margin-bottom:16px;display:flex}.tabnav-tab{color:var(--fg-muted);cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;background:0 0;border:1px solid #0000;border-bottom:0;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 16px;font-size:14px;display:inline-flex}.tabnav-tab:hover{color:var(--fg)}.tabnav-tab.selected{color:var(--fg);background:var(--bg);border-color:var(--border);border-top:2px solid #e8a33d;font-weight:600}.tabnav-extra{padding:8px 4px;font-size:13px}.markdown-body{word-wrap:break-word;font-size:14px;line-height:1.5}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body pre,.markdown-body blockquote,.markdown-body table{margin:0 0 12px}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body li+li{margin-top:2px}.markdown-body code{background:#afb8c133;border-radius:6px;padding:.2em .4em;font-size:85%}.markdown-body pre{background:var(--bg-subtle);border-radius:var(--radius);padding:12px 16px;overflow:auto}.markdown-body pre code{background:0 0;padding:0;font-size:12px}.markdown-body blockquote{color:var(--fg-muted);border-left:4px solid var(--border);padding:0 1em}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:16px 0 8px;line-height:1.25}.markdown-body h1{font-size:1.5em}.markdown-body h2{font-size:1.3em}.markdown-body h3{font-size:1.1em}.markdown-body a{color:var(--accent)}.markdown-body img{box-sizing:content-box;max-width:100%}.markdown-body table{border-collapse:collapse}.markdown-body td,.markdown-body th{border:1px solid var(--border);padding:4px 10px}.conversation{align-items:flex-start;gap:24px;display:flex}.timeline{flex:1;min-width:0;position:relative}.timeline-item{gap:16px;margin-bottom:16px;display:flex;position:relative}.timeline-item>.avatar{margin-top:2px}.timeline-comment,.timeline-review,.general-thread{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);flex:1;min-width:0;position:relative}.timeline-comment>.comment-header,.timeline-review-header,.general-thread .comment-header{background:var(--bg-subtle);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:8px 16px}.timeline-comment.is-claude>.comment-header,.general-thread .timeline-comment.is-claude>.comment-header{background:#fbf1ec;border-bottom-color:#efcfc0}.timeline-comment-body{padding:16px}.general-thread .timeline-comment{border-radius:var(--radius) var(--radius) 0 0;border:0}.general-replies .thread{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);margin:0}.general-replies .thread-comments:empty{display:none}.timeline-review-header{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.timeline-review .thread{border-radius:0 0 var(--radius) var(--radius);border:0;margin:0}.file-link{font-family:var(--mono);font-size:12px}.timeline-event{color:var(--fg-muted);align-items:center;gap:10px;margin:0 0 16px 56px;font-size:13px;display:flex}.timeline-badge{width:28px;height:28px;color:var(--fg-muted);background:#e6e9ed;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.timeline-item.is-resolved .general-thread{opacity:.85}.timeline-fold{border-top:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);background:var(--bg-subtle);margin:0 0 16px 56px}.timeline-fold-btn{width:100%;font:inherit;color:var(--fg-muted);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.timeline-fold-btn:hover .timeline-fold-label,.timeline-fold-btn:focus-visible .timeline-fold-label{color:var(--accent);text-decoration:underline}.timeline-fold-chev{flex:none;width:12px;font-size:14px;line-height:1}.timeline-fold-icon{color:var(--success);flex:none}.timeline-fold-label{color:var(--fg);flex:none;font-weight:600}.timeline-fold-where{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);font-size:11px;overflow:hidden}.new-comment{border-top:2px solid var(--border-muted);margin-top:24px;padding-top:16px}.new-comment .comment-form{border:0}.yaml-hint{margin-left:56px;font-size:12px}.conversation-sidebar{flex:none;width:260px;font-size:12px}.sidebar-section{border-bottom:1px solid var(--border-muted);margin-bottom:16px;padding:0 0 16px}.sidebar-section h3{color:var(--fg-muted);margin:0 0 8px;font-size:12px;font-weight:600}.sidebar-files{margin:0;padding:0;list-style:none}.sidebar-files li{white-space:nowrap;align-items:center;gap:6px;padding:2px 0;display:flex;overflow:hidden}.sidebar-files .btn-link{text-overflow:ellipsis;font-size:12px;overflow:hidden}.review-file{word-break:break-all;color:var(--fg-muted);font-size:11px}.comment-header{align-items:center;gap:6px;font-size:14px;display:flex}.comment-header .muted{font-size:13px}.author{color:var(--fg)}.thread{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin:8px 0;overflow:hidden}.thread-comments>.review-comment+.review-comment{border-top:1px solid var(--border-muted)}.review-comment{padding:12px 16px}.review-comment.is-claude{box-shadow:inset 3px 0 0 var(--claude);background:#fffaf7}.review-comment-body{padding:6px 0 0 26px}.thread-footer{border-top:1px solid var(--border-muted);background:var(--bg-subtle);padding:8px 16px}.thread-comments:empty+.thread-footer{border-top:0}.thread-footer-row{align-items:center;gap:8px;display:flex}.reply-placeholder{text-align:left;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius);color:var(--fg-muted);cursor:text;flex:1;padding:5px 12px;font-size:14px}.thread-footer-actions{justify-content:flex-start;margin-top:8px;display:flex}.thread.resolved{background:var(--bg-subtle)}.thread-resolved-bar{color:var(--fg-muted);background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;display:flex}.thread.resolved .thread-resolved-bar+.thread-comments{border-top:1px solid var(--border-muted)}.thread-location{color:var(--fg-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border-muted);padding:6px 16px;font-size:12px}.thread.draft{border-color:var(--accent)}.draft-label{color:var(--fg-muted);padding:6px 12px 0;font-size:12px}.comment-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.comment-form.compact{border:0}.thread .comment-form{margin:0}.comment-form-tabs{border-bottom:1px solid var(--border);background:var(--bg-subtle);border-radius:var(--radius) var(--radius) 0 0;gap:0;padding:8px 8px 0;display:flex}.comment-form.compact .comment-form-tabs{background:0 0;padding-top:6px}.comment-form-tabs button{cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;color:var(--fg-muted);background:0 0;border:1px solid #0000;border-bottom:0;margin-bottom:-1px;padding:6px 14px;font-size:13px}.comment-form-tabs button.selected{background:var(--bg);border-color:var(--border);color:var(--fg);font-weight:600}.comment-form-body{padding:8px}.comment-form-body.is-dropping{outline:2px dashed var(--accent);outline-offset:-4px;border-radius:var(--radius)}.comment-form-actions .hint .uploading{color:var(--accent)}.flash.upload-error{white-space:pre-line}.comment-form textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);width:100%;min-height:100px;color:var(--fg);padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.5}.comment-form textarea:focus{background:var(--bg);outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.comment-preview{border-bottom:1px solid var(--border-muted);min-height:100px;padding:8px 12px}.comment-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.comment-form-actions .hint{color:var(--fg-muted);margin-right:auto;font-size:12px}.snippet{border-bottom:1px solid var(--border);background:var(--bg);overflow-x:auto}.snippet table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:12px;line-height:20px}.snippet td.ln{text-align:right;width:1%;min-width:44px;color:var(--fg-muted);-webkit-user-select:none;user-select:none;background:var(--bg-subtle);padding:0 10px}.snippet td.code{white-space:pre;padding:0 10px}.snippet tr.hl-add td.code{background:#e6ffec}.snippet tr.hl-add td.ln{background:#ccffd8}.snippet tr.hl-del td.code{background:#ffebe9}.snippet tr.hl-del td.ln{background:#ffd7d5}.files-toolbar{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:8px;height:49px;margin-bottom:12px;padding:8px 0;display:flex;position:sticky;top:0}.btn-octicon-only{padding:3px 8px}.toolbar-summary{font-size:14px}.viewed-progress{color:var(--fg-muted);white-space:nowrap;align-items:center;gap:6px;margin-right:8px;font-size:12px;display:inline-flex}.viewed-progress strong{color:var(--fg)}.progress-bar{background:var(--border-muted);border-radius:3px;width:64px;height:6px;display:inline-block;overflow:hidden}.progress-bar>span{background:var(--success-emph);border-radius:3px;height:100%;transition:width .2s;display:block}.octicon{fill:currentColor;vertical-align:text-bottom;flex:none;display:inline-block}.files-layout{align-items:flex-start;gap:16px;display:flex}.file-tree-wrap{flex:none;width:280px;max-height:calc(100vh - 70px);position:sticky;top:61px;overflow-y:auto}.file-tree{flex-direction:column;font-size:13px;display:flex}.tree-filter{margin-bottom:8px;font-size:13px}.tree-row{border-radius:var(--radius);text-align:left;cursor:pointer;color:var(--fg);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:3px 8px;font-size:13px;display:flex}.tree-row:hover{background:#d0d7de52}.tree-row.active{background:var(--accent-subtle);font-weight:600}.tree-dir{color:var(--fg-muted)}.chev{width:12px;height:12px;color:var(--fg-muted)}.folder-icon{color:#54aeff}.file-icon{color:var(--fg-muted)}.tree-empty{padding:4px 8px;font-size:12px}.tree-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tree-file.is-viewed,.tree-file.is-viewed .tree-name{color:var(--fg-muted)}.tree-file.is-viewed .file-icon{opacity:.6}.tree-file .status-icon{opacity:.85;border-width:1.5px;width:14px;height:14px;font-size:10px}.tree-comments{color:#9a6700;font-size:11px}.tree-comments.all-resolved{color:var(--fg-muted)}.tree-viewed{color:var(--success);width:14px;height:14px}.status-icon{border:1.5px solid;border-radius:4px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.status-added{color:var(--success)}.status-deleted{color:var(--danger)}.status-modified{color:#9a6700}.status-renamed{color:#8250df}.file-cards{flex:1;min-width:0}.file-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:16px;scroll-margin-top:57px}.file-header{z-index:10;background:var(--bg-subtle);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:12px;display:flex;position:sticky;top:49px}.file-card.collapsed .file-header{border-radius:var(--radius);border-bottom:0}.chevron{width:24px;font-size:14px}.file-path{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;direction:ltr;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.old-path{color:var(--fg-muted);font-weight:400}.copy{font-size:12px}.file-comment-count{color:#9a6700;font-size:12px}.file-comment-count.all-resolved{color:var(--fg-muted)}.diffstat{font-size:12px;font-family:var(--mono);align-items:center;gap:4px;display:inline-flex}.diffstat-blocks{gap:1px;margin-left:2px;display:inline-flex}.diffstat-blocks span{border-radius:1px;width:8px;height:8px}.b-add{background:#1f883d}.b-del{background:#cf222e}.b-neutral{background:#d0d7de}.viewed-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.viewed-toggle.checked{background:var(--accent-subtle);color:var(--accent);border-color:#54aeff}.viewed-toggle input{margin:0}.file-body{border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.diff-placeholder{text-align:center;color:var(--fg-muted);background:var(--bg);padding:24px;font-size:13px}.diff-lazy{background:repeating-linear-gradient(180deg, var(--bg) 0 20px, var(--bg-subtle) 20px 40px);opacity:.6}.load-diff .btn-link{font-size:14px;font-weight:600}.outside-threads{background:var(--bg-subtle);border-bottom:1px solid var(--border);padding:8px 12px}.pierre-diff{--diffs-font-family:var(--mono);--diffs-font-size:12px;--diffs-line-height:20px;--diffs-header-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--diffs-addition-color:#2da44e;--diffs-deletion-color:#e5534b;--diffs-modified-color:#0969da;--diffs-gap-block:0px}.inline-annotation{max-width:900px;color:var(--fg);white-space:normal;padding:4px 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.inline-annotation .thread{box-shadow:0 1px 3px #1f232814}@media (width<=1100px){.conversation-sidebar{display:none}.file-tree-wrap{width:220px}}.stack-tab-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 12px;display:flex}.stack-tab-toolbar a.btn{color:inherit;text-decoration:none}.stack-tab-toolbar .is-copied{color:var(--success);border-color:#4ac26b}.stack-tab-svg{font-size:12px}.stack-tab-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;margin-left:8px;font-size:12px;display:inline-flex}.stack-tab-check input{margin:0}.stack-tab-canvas{border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-width:100%;line-height:0;display:inline-block;overflow:hidden}.stack-tab-canvas img{max-width:100%;height:auto;display:block}.stack-tab-canvas .flash{margin:12px;line-height:normal}.stack-tab-hint{margin:8px 0 24px;font-size:12px}a.header-project{text-decoration:none}a.header-project:hover{color:#f6d29b}.project-home-body{flex-wrap:wrap;align-items:flex-start;gap:32px;display:flex}.project-home-h2{margin:0;font-size:16px}.project-home-list{flex:1;min-width:280px;padding-top:16px}.project-home-list .project-home-h2{margin-bottom:12px}.project-home-repo h3{margin:16px 0 8px;font-size:14px}.project-home-stack{--stack:var(--stack-gray);border-left:3px solid var(--stack);margin:0 0 12px;padding:2px 0 2px 12px}.project-home-stack-title{color:var(--stack);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.project-home-stack ol{margin:0;padding:0;list-style:none}.project-home-stack li a{color:var(--fg);align-items:baseline;gap:8px;padding:3px 0;font-size:13px;text-decoration:none;display:flex}.project-home-stack li a:hover{color:var(--accent);text-decoration:underline}.project-home-stack .commit-num{min-width:18px;color:var(--fg-muted);text-align:right;flex:none;font-size:12px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--fg:#e6edf3;--fg-muted:#8d96a0;--bg:#0d1117;--bg-subtle:#161b22;--bg-inset:#010409;--border:#30363d;--border-muted:#21262d;--accent:#4493f8;--accent-subtle:#388bfd26;--success:#3fb950;--success-emph:#238636;--danger:#f85149;--attention:#d29922;--attention-subtle:#bb800926;--add-fg:#3fb950;--del-fg:#f85149;--plum-2:#8a3b7e;--claude:#e07a55;--stack-blue:#4493f8;--stack-green:#3fb950;--stack-purple:#ab7df8;--stack-orange:#f0883e;--stack-pink:#f778ba;--stack-teal:#39c5cf;--stack-red:#f85149;--stack-yellow:#d29922;--stack-gray:#6e7681;--follow-on-fg:#d29922;--follow-on-border:#d29922;--follow-on-line:#bb800999;--follow-on-subtle:#bb800926;--ready:#238636;--published:#1f6feb;--merged:#8957e5;--tooltip-bg:#3d444d;--tooltip-fg:#f0f6fc}.dropdown-menu{background:#161b22;box-shadow:0 8px 24px #010409cc}.dropdown-item:hover{background:#1f6feb}.dropdown-item.danger:hover{background:#da3633}.md-tool:hover{background:#b1bac41f}.pr-description.is-editing{border-color:#1f6feb}.repo-warning{color:#e3b341;border-color:#bb800966 #bb800966 #bb800966 #d29922}.repo-warn-flag{color:#e3b341}.project-menu{box-shadow:0 8px 24px #010409cc}.step.current a{color:#0d1117}.repo-heading:hover,.commit-item:hover,.tree-row:hover{background:#b1bac41f}.commit-item.active{background:var(--bg);box-shadow:inset 0 0 0 1px var(--border);border-left-color:#c46db5}.commit-item.active .commit-num{background:#8a3b7e;border-color:#8a3b7e}.commit-num,.timeline-badge{background:#21262d}.repo-error,.flash-error{color:#ffa198;background:#f851491a;border-color:#f8514966}.flash-warn{color:#e3b341;border-color:#bb800966}.btn{box-shadow:none;background:#21262d;border-color:#f0f6fc1a}.btn:hover:not(:disabled){background:#30363d;border-color:#8b949e}.btn:disabled{color:#484f58}.btn.selected{background:var(--bg);box-shadow:inset 0 0 0 1px var(--fg-muted)}.btn-primary{background:var(--success-emph);border-color:#f0f6fc1a}.btn-primary:hover:not(:disabled){background:#2ea043}.btn-primary:disabled{color:#ffffff80;background:#23863699}.Label--success{border-color:#238636}.Label--danger{border-color:#da3633}.Label--agent{border-color:#8a4a33}.Label--attention{border-color:#bb800999}.Counter:not(.Counter--attn),.markdown-body code{background:#6e768166}.avatar{box-shadow:0 0 0 1px #f0f6fc1a}.timeline-comment.is-claude>.comment-header,.general-thread .timeline-comment.is-claude>.comment-header{background:#e07a551f;border-bottom-color:#e07a5559}.review-comment.is-claude{background:#e07a550f}.snippet tr.hl-add td.code{background:#2ea04326}.snippet tr.hl-add td.ln{background:#3fb9504d}.snippet tr.hl-del td.code{background:#f851491a}.snippet tr.hl-del td.ln{background:#f851494d}.tree-comments,.file-comment-count,.status-modified{color:#d29922}.status-renamed{color:#a371f7}.b-add{background:#2ea043}.b-del{background:#da3633}.b-neutral{background:#30363d}.viewed-toggle.checked{border-color:#1f6feb}.inline-annotation .thread{box-shadow:0 1px 3px #01040999}.pierre-diff{--diffs-modified-color:#4493f8}}.ptext-head{align-items:center;gap:6px;min-height:24px;display:flex}.ptext-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);font-size:11px;font-weight:700}.ptext-sub{letter-spacing:normal;text-transform:none;font-size:12px;font-weight:400}.ptext-body .markdown-body>:first-child{margin-top:0}.ptext-body .markdown-body>:last-child{margin-bottom:0}.ptext-empty{font-size:13px}.ptext-hint{margin:6px 0 0;font-size:12px}.ptext.is-editing .comment-form{border:1px solid var(--accent);border-radius:var(--radius)}.comment-form.ptext-editor textarea{field-sizing:content;min-height:120px;max-height:60vh}.project-home-intro{border:1px solid var(--border);border-left:3px solid var(--plum-2);border-radius:var(--radius);background:var(--bg-subtle);max-width:860px;margin:8px 0 4px;padding:10px 14px}.project-home-stack-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:2px;display:flex}.project-home-stack-head .project-home-stack-title{margin-bottom:0}.stack-weight{color:var(--fg-muted);font-size:12px}.stack-weight .color-add,.stack-weight .color-del{font-weight:500}.project-home-note{color:var(--fg);margin:0 0 4px;font-size:13px}.project-home-note .ptext-head{min-height:0;position:relative}.project-home-note .ptext-head .comment-actions{opacity:.5}.project-home-note:hover .ptext-head .comment-actions{opacity:1}.project-home-note:not(.is-editing){flex-direction:row-reverse;align-items:flex-start;gap:6px;display:flex}.project-home-note:not(.is-editing)>.ptext-head{flex:none}.project-home-note:not(.is-editing)>.ptext-head .spacer{display:none}.project-home-note:not(.is-editing)>.ptext-body,.project-home-note:not(.is-editing)>.ptext-empty{flex:1}.project-home-note .ptext-empty .btn-link{color:var(--fg-muted);font-size:12px}.project-home-note .ptext-empty .btn-link:hover{color:var(--accent)}.avatar-spacer{flex:none;width:40px}.project-context-item{margin-bottom:12px}.project-context{border:1px dashed var(--border);border-left:3px solid var(--plum-2);border-radius:var(--radius);background:var(--bg-subtle);flex:1;min-width:0;font-size:13px}.project-context-head{align-items:center;gap:8px;padding:4px 10px 4px 6px;display:flex}.project-context-toggle{min-width:0;font:inherit;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:2px 0;display:flex}.project-context-chev{color:var(--fg-muted);flex:none;transition:transform .1s}.project-context.open .project-context-chev{transform:rotate(90deg)}.project-context-title{flex:none;font-size:12px;font-weight:600}.project-context-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.project-context-link{color:var(--fg-muted);flex:none;font-size:12px;text-decoration:none}.project-context-link:hover{color:var(--accent);text-decoration:underline}.project-context-body{border-top:1px solid var(--border-muted);flex-direction:column;gap:10px;padding:4px 14px 10px 24px;display:flex}.project-context-body .ptext+.ptext{border-top:1px dashed var(--border-muted);padding-top:8px}.project-context-stack{color:var(--stack)}.project-context .ptext-body{color:var(--fg)}.btn-octicon.has-caption{align-items:center;gap:4px;display:inline-flex}.btn-octicon.has-caption .copy-caption{font-size:12px;line-height:16px}.ptext .comment-form-tabs,.ptext .md-toolbar{flex-wrap:wrap}.project-home-stack li a .readiness-badge{align-self:center}.Label--follow-on{letter-spacing:normal;text-transform:none;border-style:dashed;border-color:var(--follow-on-line);color:var(--follow-on-fg);background:var(--follow-on-subtle);vertical-align:1px;flex:none;padding:0 6px;font-size:10px;font-weight:600;line-height:14px}.pr-stack>legend .Label--follow-on,.stepper-label .Label--follow-on,.project-home-stack-head .Label--follow-on{margin-left:6px}.follow-on-divider{color:var(--follow-on-fg);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;margin:18px 10px 4px;font-size:10px;font-weight:700;display:flex}.follow-on-divider:before,.follow-on-divider:after{content:"";border-top:1px dashed var(--follow-on-line);flex:1}.follow-on-divider:before{flex:0 0 8px}.pr-stack.follow-on{border-color:var(--follow-on-border);background:repeating-linear-gradient(135deg, transparent 0 7px, color-mix(in srgb, var(--follow-on-border) 9%, transparent) 7px 8px)}.pr-stack.follow-on>legend,.pr-stack.follow-on .pr-stack-tally{color:var(--follow-on-fg)}.pr-stack.follow-on .commit-item:not(.active):not(:hover) :is(.commit-num,.commit-subject,.commit-branch,.pr-badge,.commit-counts){opacity:.72}.stack-stepper.follow-on{--stack:var(--follow-on-fg)}.project-home-stack.follow-on{border-left:3px dashed var(--follow-on-border)}.project-home-stack.follow-on .project-home-stack-title{color:var(--follow-on-fg)}.project-home-stack.follow-on li a:not(:hover){opacity:.72}.project-home-list .follow-on-divider{margin:16px 0 8px}.follow-on-note{color:var(--follow-on-fg);font-weight:600}.merged-note{color:var(--merged);font-weight:600}.pr-stack-tally.is-merged{color:var(--merged)}.branch-name.is-merged{color:var(--merged);background:color-mix(in srgb, var(--merged) 12%, transparent)}.commit-branch.is-merged{color:var(--fg-muted)}.project-menu-section{border-top:1px solid var(--border);margin-top:4px;padding-top:4px;list-style:none}.project-menu-section-toggle{width:100%;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:flex}.project-menu-section-toggle:hover{background:var(--bg-subtle);color:var(--fg)}.project-menu-section-toggle .octicon{fill:currentColor}.project-menu a.is-archived .project-menu-title{color:var(--fg-muted)}.landed-note{color:var(--fg-muted);font-size:12px}.totals-line{color:var(--fg-muted);font-size:12px;font-weight:400}.totals-line .color-add,.totals-line .color-del{font-weight:500}.project-home-repo h3 .totals-line{margin-top:2px;display:block}.project-home-totals{margin:-6px 0 4px;display:block}.repo-progress-follow-on{color:var(--follow-on-fg);border:1px dashed var(--follow-on-line);border-radius:2em;padding:0 4px;font-weight:600;line-height:14px}
1
+ :root{--fg:#1f2328;--fg-muted:#59636e;--bg:#fff;--bg-subtle:#f6f8fa;--bg-inset:#f6f8fa;--border:#d0d7de;--border-muted:#d8dee4;--accent:#0969da;--accent-subtle:#ddf4ff;--success:#1a7f37;--success-emph:#1f883d;--danger:#d1242f;--attention:#9a6700;--attention-subtle:#fff8c5;--add-fg:#1a7f37;--del-fg:#d1242f;--plum:#4a1942;--plum-2:#6b2a60;--claude:#c15f3c;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius:6px;--diffs-tab-size:2;--tooltip-bg:#24292f;--tooltip-fg:#fff;--stack-blue:#0969da;--stack-green:#1a7f37;--stack-purple:#8250df;--stack-orange:#bc4c00;--stack-pink:#bf3989;--stack-teal:#1b7c83;--stack-red:#cf222e;--stack-yellow:#9a6700;--stack-gray:#8c959f;--follow-on-fg:#9a6700;--follow-on-border:#bf8700;--follow-on-line:#d4a72c;--follow-on-subtle:#fff8c5;--ready:#1f883d;--published:#0969da;--merged:#8250df}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--fg);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:14px;line-height:1.5}code,pre,.sha{font-family:var(--mono);font-size:12px}code,pre,textarea,.snippet td.code{tab-size:var(--diffs-tab-size)}button{font-family:inherit}.muted{color:var(--fg-muted)}.spacer{flex:1}.color-add{color:var(--add-fg);font-weight:600}.color-del{color:var(--del-fg);font-weight:600}.loading{color:var(--fg-muted);padding:24px}.blankslate{text-align:center;color:var(--fg-muted);border:1px dashed var(--border);border-radius:var(--radius);margin:16px 0;padding:40px}.app-header{background:linear-gradient(90deg, var(--plum) 0%, #5c1f52 100%);color:#fff;border-bottom:3px solid #e8a33d;align-items:center;gap:14px;height:56px;padding:0 16px;display:flex}.header-btn{color:#fff;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #ffffff4d;width:32px;height:32px;font-size:16px}.header-btn:hover{background:#ffffff1f}.wordmark{color:#fff;letter-spacing:.28em;font-size:15px;font-weight:800;text-decoration:none}.not-github-pill{color:#2b0f27;letter-spacing:.02em;background:#e8a33d;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.header-project{color:#fff;white-space:nowrap;text-overflow:ellipsis;border-left:1px solid #ffffff47;max-width:420px;padding:3px 0 3px 14px;font-size:14px;font-weight:600;overflow:hidden}.header-project.is-button{cursor:pointer;background:0 0;border-top:0;border-bottom:0;border-right:0;border-radius:0;align-items:center;gap:6px;font-family:inherit;display:inline-flex}.header-project.is-button:hover{color:#f6d29b}.header-project .caret{opacity:.8;font-size:10px}.project-switcher{position:relative}.project-menu{z-index:50;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);border-top:3px solid #e8a33d;min-width:320px;max-width:480px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 8px 24px #1f232833}.project-menu a{border-radius:var(--radius);color:var(--fg);flex-direction:column;padding:7px 10px;text-decoration:none;display:flex}.project-menu a:hover{background:var(--bg-subtle)}.project-menu a.current{box-shadow:inset 3px 0 0 var(--plum-2);background:var(--bg-subtle)}.project-menu-title{font-size:14px;font-weight:600}.project-menu-meta{color:var(--fg-muted);font-size:12px}.project-menu-meta .attn{color:var(--attention);font-weight:600}.header-crumbs{color:#fffc;font-size:13px}.header-crumbs code{color:#fff}.header-hint,.live-dot{color:#fff9;font-size:12px}.live-dot.on{color:#8ee6a8}.app-body{align-items:flex-start;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--bg-subtle);flex:none;width:300px;height:100vh;padding:12px 0 40px;position:sticky;top:0;overflow-y:auto}.main{flex:1;min-width:0}.page{max-width:1400px;margin:0 auto;padding:20px 24px 80px}.repo{margin-bottom:18px}.repo.closed{margin-bottom:4px}.repo-heading{width:100%;font:inherit;cursor:pointer;text-align:left;color:var(--fg);background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:6px 12px 6px 10px;font-size:12px;font-weight:600;display:flex}.repo-heading:hover{background:#d0d7de52}.repo-chev{color:var(--fg-muted);flex:none}.repo-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.repo-progress{color:var(--fg-muted);flex:none;align-items:center;gap:4px;font-size:11px;font-weight:500;display:inline-flex}.repo-progress .Counter{min-width:18px;padding:0 5px;font-size:11px;line-height:16px}.repo-warning{border-radius:var(--radius);background:var(--attention-subtle);color:#7d4e00;word-break:break-word;border:1px solid #f5e0a0;border-left:3px solid #bf8700;flex-direction:column;gap:3px;margin:4px 12px 8px;padding:7px 10px;font-size:12px;display:flex}.repo-warning code{font-size:11px}.repo-warn-flag{color:#9a6700;flex:none;margin-left:4px;font-size:11px;font-weight:600}.pr-stack{--stack:var(--stack-gray);border:2px solid var(--stack);border-radius:10px;min-width:0;margin:10px 8px 12px;padding:4px 0}.pr-stack+.pr-stack{margin-top:14px}.pr-stack>legend{max-width:calc(100% - 28px);color:var(--stack);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin-left:10px;padding:0 6px;font-size:10.5px;font-weight:700;line-height:1;overflow:hidden}.pr-stack{position:relative}.pr-stack-tally{background:var(--bg-subtle);color:var(--stack);letter-spacing:.09em;text-transform:uppercase;padding:0 6px;font-size:10.5px;font-weight:700;line-height:14px;position:absolute;bottom:-8px;right:14px}.pr-stack.unstacked{border-style:dashed}.pr-stack.unstacked>legend{color:var(--fg-muted)}.pr-stack .commit-list{padding:0 4px}.repo-error{border:1px solid #ffcecb;border-left:3px solid var(--danger);border-radius:var(--radius);color:#82071e;word-break:break-word;background:#ffebe9;flex-direction:column;gap:2px;margin:4px 12px 8px 28px;padding:8px 10px;font-size:12px;display:flex}.repo-error code{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.repo-error .muted{font-size:11px}.repo-name{font-weight:700}.branch-name{font-family:var(--mono);color:var(--accent);background:var(--accent-subtle);border-radius:var(--radius);padding:0 6px;font-size:12px}.commit-list{margin:0;padding:0 8px;list-style:none}.commit-item{border-radius:var(--radius);color:var(--fg);border-left:3px solid #0000;align-items:flex-start;gap:8px;padding:6px 8px;text-decoration:none;display:flex}.commit-item:hover{background:#d0d7de52}.commit-item.active{border-left-color:var(--plum);box-shadow:0 1px 0 #1f23280a, inset 0 0 0 1px var(--border);background:#fff}.commit-num{width:20px;height:20px;color:var(--fg-muted);background:#e6e9ed;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:600;display:flex}.commit-item.active .commit-num{background:var(--plum);color:#fff}.viewed-mini{align-items:center;gap:4px;margin-left:auto;padding-right:2px;display:inline-flex}.viewed-mini-bar{background:var(--border-muted);border-radius:2px;width:28px;height:4px;display:inline-block;overflow:hidden}.viewed-mini-bar>span{background:var(--success-emph);height:100%;display:block}.viewed-mini.done{color:var(--success)}.viewed-mini-eye{opacity:.7;flex:none}.viewed-mini.done .viewed-mini-eye{opacity:1}.commit-main{flex-direction:column;flex:1;min-width:0;display:flex}.commit-subject{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.commit-item.active .commit-subject{font-weight:600}.commit-line{align-items:center;gap:6px;min-width:0;display:flex}.commit-line .commit-subject{flex:1;min-width:0}.commit-line .Counter{flex:none}.commit-sub{color:var(--fg-muted);align-items:center;gap:6px;min-width:0;font-size:11px;display:flex}.commit-sub code{font-size:11px}.commit-sub .color-add,.commit-sub .color-del{font-weight:500}.commit-branch{min-width:0;font-family:var(--mono);color:var(--fg-muted);font-size:11px}.commit-branch.is-missing{opacity:.75}.commit-branch.is-missing .mid-trunc-head,.commit-branch.is-missing .mid-trunc-tail{text-decoration:line-through}.commit-counts{flex:none;gap:6px;margin-left:auto;padding-left:4px;display:inline-flex}.mid-trunc{white-space:nowrap;min-width:0;max-width:100%;display:inline-flex}.mid-trunc-head{text-overflow:ellipsis;min-width:1.5em;overflow:hidden}.mid-trunc-tail{flex:none}.branch-status{color:var(--attention);flex:none;display:inline-flex}.branch-status-missing{color:var(--fg-muted)}.pr-badge{color:var(--fg-muted);border:1px solid var(--border-muted);cursor:pointer;white-space:nowrap;border-radius:2em;flex:none;align-items:center;gap:1px;padding:0 4px;font-size:11px;font-weight:500;line-height:16px;text-decoration:none;display:inline-flex}.pr-badge:hover,.pr-badge:focus-visible{color:var(--accent);border-color:var(--accent)}.pr-badge-ext{opacity:.8;font-size:10px}.sidebar-empty{color:var(--fg-muted);padding:4px 16px;font-size:12px}.btn{color:var(--fg);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:5px 16px;font-size:14px;font-weight:500;line-height:20px;display:inline-flex;box-shadow:0 1px #1f23280a}.btn:hover:not(:disabled){background:#eef1f4;border-color:#c4ccd5}.btn:disabled{color:#8c959f;cursor:default}.btn-sm{padding:3px 12px;font-size:12px}.btn-primary{background:var(--success-emph);color:#fff;border-color:#1f232826}.btn-primary:hover:not(:disabled){background:#1c8139;border-color:#1f232826}.btn-primary:disabled{color:#fff;background:#94d3a2}.btn-link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}.btn-link:hover{text-decoration:underline}.btn-octicon{color:var(--fg-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:12px}.btn-octicon:hover{color:var(--accent);background:var(--bg-subtle)}.BtnGroup{display:inline-flex}.BtnGroup .btn{border-radius:0}.BtnGroup .btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.BtnGroup .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.BtnGroup .btn+.btn{margin-left:-1px}.btn.selected{box-shadow:inset 0 0 0 1px var(--fg-muted);z-index:1;background:#fff;font-weight:600;position:relative}.Label{border:1px solid var(--border);color:var(--fg-muted);white-space:nowrap;border-radius:2em;padding:0 7px;font-size:12px;font-weight:500;line-height:18px;display:inline-block}.Label--success{color:var(--success);border-color:#4ac26b}.Label--danger{color:var(--danger);border-color:#ff8182}.Label--agent{color:var(--claude);border-color:#e7b39e;margin-left:4px;font-size:11px;line-height:16px}.Label--attention{color:var(--attention);background:var(--attention-subtle);border-color:#d4a72c}.Label--outdated{margin-right:6px}.Label--counter{background:var(--bg-subtle);border-radius:var(--radius);border:1px solid var(--border);padding:1px 6px}.Counter{text-align:center;min-width:20px;color:var(--fg);background:#afb8c133;border:1px solid #0000;border-radius:2em;padding:0 6px;font-size:12px;font-weight:500;line-height:18px;display:inline-block}.Counter--attn{color:#fff;background:#bf8700;font-weight:600}.flash{border-radius:var(--radius);border:1px solid;margin:8px 0;padding:10px 14px;font-size:13px}.flash.small{margin:4px 16px;padding:6px 10px;font-size:12px}.flash-error{color:#82071e;background:#ffebe9;border-color:#ffcecb}.flash-warn{background:var(--attention-subtle);color:#4d2d00;border-color:#d4a72c66}.form-control{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);width:100%;padding:5px 12px;font-size:14px}.form-control:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.avatar{color:#fff;-webkit-user-select:none;user-select:none;background:#8c959f;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;box-shadow:0 0 0 1px #1f23281f}.avatar-reviewer{background:linear-gradient(135deg,#2f6feb,#5a32a3)}.avatar-claude{background:var(--claude);border-radius:30%}.pr-header{margin-bottom:16px}.pr-title-row{align-items:flex-start;gap:16px;display:flex}.pr-title{word-break:break-word;flex:1;margin:0 0 8px;font-size:32px;font-weight:400;line-height:1.25}.pr-number{color:var(--fg-muted);font-weight:300}.pr-nav{align-items:center;gap:8px;padding-top:8px;display:flex}.pr-nav-sep{background:var(--border);width:1px;height:20px;margin:0 2px}.btn-icon{color:var(--fg-muted);padding:3px 7px}.btn-icon .octicon,.btn-octicon .octicon{display:block}.btn-icon.is-copied,.btn-octicon.is-copied,.btn-octicon.is-copied:hover{color:var(--success)}.pr-title-edit{margin:0 0 8px}.pr-title-edit-row{align-items:center;gap:8px;display:flex}.pr-title-input{flex:1;padding:5px 12px;font-size:16px;line-height:20px}.pr-title-edit-hint{margin-top:6px;font-size:12px}.pr-title-edit .flash{margin:8px 0 0}.pr-title .edited-marker{vertical-align:middle;font-size:12px}.edited-btn{font:inherit;color:var(--fg-muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:12px;line-height:20px}.edited-btn:hover,.edited-btn[aria-expanded=true]{color:var(--accent)}.edited-btn .octicon{vertical-align:-1px;margin-left:1px}.comment-actions{align-items:center;gap:2px;margin-left:4px;display:inline-flex}.pr-description.is-editing{border-color:var(--accent)}.pr-description .comment-form{border-radius:0 0 var(--radius) var(--radius)}.pr-description .comment-form-tabs{padding-top:8px}.comment-form.pr-body-editor textarea{field-sizing:content;min-height:200px;max-height:70vh}.changed-elsewhere{margin:0 0 8px;padding:6px 10px;font-size:12px}.md-toolbar{align-items:center;gap:2px;margin-left:auto;padding-bottom:4px;display:inline-flex}.md-tool{color:var(--fg-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.md-tool:hover{color:var(--accent);background:var(--bg)}.copy-wrap{display:inline-flex;position:relative}.copy-tip{background:var(--tooltip-bg);color:var(--tooltip-fg);border-radius:var(--radius);white-space:nowrap;pointer-events:none;opacity:0;z-index:30;padding:4px 8px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .1s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.copy-tip:after{content:"";border:5px solid #0000;border-top-color:var(--tooltip-bg);margin-left:-5px;position:absolute;top:100%;left:50%}.copy-tip.show{opacity:1}.dropdown{display:inline-flex;position:relative}.dropdown-menu{z-index:40;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);text-align:left;white-space:normal;min-width:200px;max-width:360px;padding:4px 0;font-size:13px;font-weight:400;line-height:1.4;position:absolute;top:calc(100% + 4px);box-shadow:0 8px 24px #8c959f33}.dropdown-menu.align-right{right:0}.dropdown-menu.align-left{left:0}.dropdown-header{color:var(--fg-muted);padding:6px 12px;font-size:12px}.dropdown-original{border-bottom:1px solid var(--border-muted);margin-bottom:4px;padding:4px 12px 8px;font-size:12px}.original-text{color:var(--fg);word-break:break-word;margin-top:2px;font-size:13px}.original-text.is-body{white-space:pre-wrap;font-family:var(--mono);background:var(--bg-subtle);border-radius:4px;max-height:120px;padding:4px 6px;font-size:11px;overflow:auto}.dropdown-item{text-align:left;width:100%;font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;padding:6px 12px;font-size:13px;display:block}.dropdown-item:hover{background:var(--accent);color:#fff}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger);color:#fff}.dropdown-divider{background:var(--border-muted);height:1px;margin:4px 0}.pr-meta{color:var(--fg-muted);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:16px;display:flex}.pr-meta strong{color:var(--fg)}.pr-header:has(.stack-stepper) .pr-meta{border-bottom:0;padding-bottom:10px}.stack-stepper{--stack:var(--plum-2);border-bottom:1px solid var(--border);align-items:center;gap:12px;min-width:0;padding:0 0 14px;font-size:12px;display:flex}.stepper-label{letter-spacing:.08em;text-transform:uppercase;color:var(--stack);flex:none;font-size:11px;font-weight:700}.stack-stepper.unstacked .stepper-label{color:var(--fg-muted)}.stepper{align-items:center;margin:0;padding:0;list-style:none;display:flex}.step{align-items:center;display:flex}.step-line{background:var(--border);width:18px;height:2px}.step.before .step-line,.step.current .step-line{background:var(--stack);opacity:.6}.step a{border:1.5px solid var(--border);background:var(--bg);min-width:24px;height:24px;color:var(--fg-muted);border-radius:12px;justify-content:center;align-items:center;padding:0 4px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .1s,color .1s;display:inline-flex;position:relative}.step a:hover{border-color:var(--stack);color:var(--stack)}.step.current a{background:var(--stack);border-color:var(--stack);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb, var(--stack) 22%, transparent)}.step a .readiness-badge{margin-left:4px}.step.current a .readiness-badge.is-draft{color:#fff}.step.current a .readiness-badge .rb-fill{fill:#fff}.step.current a .readiness-badge.is-ready .rb-mark{stroke:var(--ready)}.step.current a .readiness-badge.is-published .rb-mark{fill:var(--published)}.step.current a .readiness-badge.is-merged .rb-mark{fill:var(--merged)}.stepper-next{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stepper-next .btn-link{font-size:12px}.pr-branch{vertical-align:middle;align-items:center;gap:4px;max-width:100%;display:inline-flex}.pr-branch .branch-name{text-overflow:ellipsis;white-space:nowrap;max-width:46ch;overflow:hidden}.pr-branch .branch-name.is-base{color:var(--fg-muted);background:var(--bg-subtle)}.pr-branch .branch-name.is-missing{color:var(--fg-muted);background:var(--bg-subtle);text-decoration:line-through}.pr-branch-arrow{color:var(--fg-muted);font-size:12px}.pr-branch .copy-wrap{display:inline-flex}.btn-copy-branch{padding:2px 3px}.pr-meta .pr-badge{vertical-align:middle;padding:0 6px;font-size:12px;line-height:18px}.pr-meta .sha{cursor:pointer;color:var(--fg);background:var(--bg-subtle);border-radius:4px;padding:1px 5px}.State{color:#fff;border-radius:2em;align-items:center;padding:5px 12px;font-size:14px;font-weight:500;display:inline-flex}.State--published{background:var(--published);gap:6px}.State--published .pr-badge{color:#fff;border-color:#fff9}.State--published .pr-badge:hover{color:#fff;border-color:#fff}.readiness-badge{color:var(--fg-muted);flex:none;line-height:0;display:inline-flex}.readiness-badge svg{display:block}.readiness-badge .rb-ring{stroke:currentColor;opacity:.6}.readiness-badge .rb-pie{fill:currentColor}.readiness-badge.is-ready .rb-mark{stroke:#fff}.readiness-badge.is-published .rb-mark{fill:#fff}.readiness-badge.is-ready .rb-fill{fill:var(--ready)}.readiness-badge.is-published .rb-fill{fill:var(--published)}.State--published .readiness-badge,.State--merged .readiness-badge{border-radius:50%;box-shadow:0 0 0 1.5px #fff}.readiness-badge.is-merged .rb-mark{fill:#fff}.readiness-badge.is-merged .rb-fill{fill:var(--merged)}.State--merged{background:var(--merged);gap:6px}.State--merged .pr-badge{color:#fff;border-color:#fff9}.State--merged .pr-badge:hover{color:#fff;border-color:#fff}.readiness-control{align-items:center;gap:10px;display:inline-flex}.readiness-toggle{border:1px solid var(--border);background:var(--bg-subtle);border-radius:2em;padding:2px;display:inline-flex}.readiness-opt{color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:2em;align-items:center;gap:5px;padding:3px 12px;font-size:13px;font-weight:600;display:inline-flex}.readiness-opt:hover:not(:disabled):not(.selected){color:var(--fg)}.readiness-opt:disabled{cursor:progress}.readiness-opt.selected{cursor:default}.readiness-opt.is-draft.selected{background:var(--bg);color:var(--fg);box-shadow:0 0 0 1px var(--border)}.readiness-opt.is-ready.selected{background:var(--ready);color:#fff}.readiness-opt.is-ready:not(.selected) .readiness-badge{opacity:.5}.readiness-opt.is-ready.selected .readiness-badge{border-radius:50%;box-shadow:0 0 0 1.5px #fff}.readiness-progress{color:var(--fg-muted);white-space:nowrap;align-items:center;gap:5px;font-size:13px;display:inline-flex}.tabnav{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;margin-bottom:16px;display:flex}.tabnav-tab{color:var(--fg-muted);cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;background:0 0;border:1px solid #0000;border-bottom:0;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 16px;font-size:14px;display:inline-flex}.tabnav-tab:hover{color:var(--fg)}.tabnav-tab.selected{color:var(--fg);background:var(--bg);border-color:var(--border);border-top:2px solid #e8a33d;font-weight:600}.tabnav-extra{padding:8px 4px;font-size:13px}.markdown-body{word-wrap:break-word;font-size:14px;line-height:1.5}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body pre,.markdown-body blockquote,.markdown-body table{margin:0 0 12px}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body li+li{margin-top:2px}.markdown-body code{background:#afb8c133;border-radius:6px;padding:.2em .4em;font-size:85%}.markdown-body pre{background:var(--bg-subtle);border-radius:var(--radius);padding:12px 16px;overflow:auto}.markdown-body pre code{background:0 0;padding:0;font-size:12px}.markdown-body blockquote{color:var(--fg-muted);border-left:4px solid var(--border);padding:0 1em}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:16px 0 8px;line-height:1.25}.markdown-body h1{font-size:1.5em}.markdown-body h2{font-size:1.3em}.markdown-body h3{font-size:1.1em}.markdown-body a{color:var(--accent)}.markdown-body img{box-sizing:content-box;max-width:100%}.markdown-body table{border-collapse:collapse}.markdown-body td,.markdown-body th{border:1px solid var(--border);padding:4px 10px}.conversation{align-items:flex-start;gap:24px;display:flex}.timeline{flex:1;min-width:0;position:relative}.timeline-item{gap:16px;margin-bottom:16px;display:flex;position:relative}.timeline-item>.avatar{margin-top:2px}.timeline-comment,.timeline-review,.general-thread{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);flex:1;min-width:0;position:relative}.timeline-comment>.comment-header,.timeline-review-header,.general-thread .comment-header{background:var(--bg-subtle);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;padding:8px 16px}.timeline-comment.is-claude>.comment-header,.general-thread .timeline-comment.is-claude>.comment-header{background:#fbf1ec;border-bottom-color:#efcfc0}.timeline-comment-body{padding:16px}.general-thread .timeline-comment{border-radius:var(--radius) var(--radius) 0 0;border:0}.general-replies .thread{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);margin:0}.general-replies .thread-comments:empty{display:none}.timeline-review-header{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.timeline-review .thread{border-radius:0 0 var(--radius) var(--radius);border:0;margin:0}.file-link{font-family:var(--mono);font-size:12px}.timeline-event{color:var(--fg-muted);align-items:center;gap:10px;margin:0 0 16px 56px;font-size:13px;display:flex}.timeline-badge{width:28px;height:28px;color:var(--fg-muted);background:#e6e9ed;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.timeline-item.is-resolved .general-thread{opacity:.85}.timeline-fold{border-top:1px solid var(--border-muted);border-bottom:1px solid var(--border-muted);background:var(--bg-subtle);margin:0 0 16px 56px}.timeline-fold-btn{width:100%;font:inherit;color:var(--fg-muted);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.timeline-fold-btn:hover .timeline-fold-label,.timeline-fold-btn:focus-visible .timeline-fold-label{color:var(--accent);text-decoration:underline}.timeline-fold-chev{flex:none;width:12px;font-size:14px;line-height:1}.timeline-fold-icon{color:var(--success);flex:none}.timeline-fold-label{color:var(--fg);flex:none;font-weight:600}.timeline-fold-where{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);font-size:11px;overflow:hidden}.new-comment{border-top:2px solid var(--border-muted);margin-top:24px;padding-top:16px}.new-comment .comment-form{border:0}.yaml-hint{margin-left:56px;font-size:12px}.conversation-sidebar{flex:none;width:260px;font-size:12px}.sidebar-section{border-bottom:1px solid var(--border-muted);margin-bottom:16px;padding:0 0 16px}.sidebar-section h3{color:var(--fg-muted);margin:0 0 8px;font-size:12px;font-weight:600}.sidebar-files{margin:0;padding:0;list-style:none}.sidebar-files li{white-space:nowrap;align-items:center;gap:6px;padding:2px 0;display:flex;overflow:hidden}.sidebar-files .btn-link{text-overflow:ellipsis;font-size:12px;overflow:hidden}.review-file{word-break:break-all;color:var(--fg-muted);font-size:11px}.comment-header{align-items:center;gap:6px;font-size:14px;display:flex}.comment-header .muted{font-size:13px}.author{color:var(--fg)}.thread{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin:8px 0;overflow:hidden}.thread-comments>.review-comment+.review-comment{border-top:1px solid var(--border-muted)}.review-comment{padding:12px 16px}.review-comment.is-claude{box-shadow:inset 3px 0 0 var(--claude);background:#fffaf7}.review-comment-body{padding:6px 0 0 26px}.thread-footer{border-top:1px solid var(--border-muted);background:var(--bg-subtle);padding:8px 16px}.thread-comments:empty+.thread-footer{border-top:0}.thread-footer-row{align-items:center;gap:8px;display:flex}.reply-placeholder{text-align:left;border:1px solid var(--border);background:var(--bg);border-radius:var(--radius);color:var(--fg-muted);cursor:text;flex:1;padding:5px 12px;font-size:14px}.thread-footer-actions{justify-content:flex-start;margin-top:8px;display:flex}.thread.resolved{background:var(--bg-subtle)}.thread-resolved-bar{color:var(--fg-muted);background:var(--bg-subtle);justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;display:flex}.thread.resolved .thread-resolved-bar+.thread-comments{border-top:1px solid var(--border-muted)}.thread-location{color:var(--fg-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border-muted);padding:6px 16px;font-size:12px}.thread.draft{border-color:var(--accent)}.draft-label{color:var(--fg-muted);padding:6px 12px 0;font-size:12px}.comment-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.comment-form.compact{border:0}.thread .comment-form{margin:0}.comment-form-tabs{border-bottom:1px solid var(--border);background:var(--bg-subtle);border-radius:var(--radius) var(--radius) 0 0;gap:0;padding:8px 8px 0;display:flex}.comment-form.compact .comment-form-tabs{background:0 0;padding-top:6px}.comment-form-tabs button{cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;color:var(--fg-muted);background:0 0;border:1px solid #0000;border-bottom:0;margin-bottom:-1px;padding:6px 14px;font-size:13px}.comment-form-tabs button.selected{background:var(--bg);border-color:var(--border);color:var(--fg);font-weight:600}.comment-form-body{padding:8px}.comment-form-body.is-dropping{outline:2px dashed var(--accent);outline-offset:-4px;border-radius:var(--radius)}.comment-form-actions .hint .uploading{color:var(--accent)}.flash.upload-error{white-space:pre-line}.comment-form textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);width:100%;min-height:100px;color:var(--fg);padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.5}.comment-form textarea:focus{background:var(--bg);outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.comment-preview{border-bottom:1px solid var(--border-muted);min-height:100px;padding:8px 12px}.comment-form-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;display:flex}.comment-form-actions .hint{color:var(--fg-muted);margin-right:auto;font-size:12px}.snippet{border-bottom:1px solid var(--border);background:var(--bg);overflow-x:auto}.snippet table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:12px;line-height:20px}.snippet td.ln{text-align:right;width:1%;min-width:44px;color:var(--fg-muted);-webkit-user-select:none;user-select:none;background:var(--bg-subtle);padding:0 10px}.snippet td.code{white-space:pre;padding:0 10px}.snippet tr.hl-add td.code{background:#e6ffec}.snippet tr.hl-add td.ln{background:#ccffd8}.snippet tr.hl-del td.code{background:#ffebe9}.snippet tr.hl-del td.ln{background:#ffd7d5}.files-toolbar{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:8px;height:49px;margin-bottom:12px;padding:8px 0;display:flex;position:sticky;top:0}.btn-octicon-only{padding:3px 8px}.toolbar-summary{font-size:14px}.viewed-progress{color:var(--fg-muted);white-space:nowrap;align-items:center;gap:6px;margin-right:8px;font-size:12px;display:inline-flex}.viewed-progress strong{color:var(--fg)}.progress-bar{background:var(--border-muted);border-radius:3px;width:64px;height:6px;display:inline-block;overflow:hidden}.progress-bar>span{background:var(--success-emph);border-radius:3px;height:100%;transition:width .2s;display:block}.octicon{fill:currentColor;vertical-align:text-bottom;flex:none;display:inline-block}.files-layout{align-items:flex-start;gap:16px;display:flex}.file-tree-wrap{flex:none;width:280px;max-height:calc(100vh - 70px);position:sticky;top:61px;overflow-y:auto}.file-tree{flex-direction:column;font-size:13px;display:flex}.tree-filter{margin-bottom:8px;font-size:13px}.tree-row{border-radius:var(--radius);text-align:left;cursor:pointer;color:var(--fg);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;width:100%;padding:3px 8px;font-size:13px;display:flex}.tree-row:hover{background:#d0d7de52}.tree-row.active{background:var(--accent-subtle);font-weight:600}.tree-dir{color:var(--fg-muted)}.chev{width:12px;height:12px;color:var(--fg-muted)}.folder-icon{color:#54aeff}.file-icon{color:var(--fg-muted)}.tree-empty{padding:4px 8px;font-size:12px}.tree-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tree-file.is-viewed,.tree-file.is-viewed .tree-name{color:var(--fg-muted)}.tree-file.is-viewed .file-icon{opacity:.6}.tree-file .status-icon{opacity:.85;border-width:1.5px;width:14px;height:14px;font-size:10px}.tree-comments{color:#9a6700;font-size:11px}.tree-comments.all-resolved{color:var(--fg-muted)}.tree-viewed{color:var(--success);width:14px;height:14px}.status-icon{border:1.5px solid;border-radius:4px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.status-added{color:var(--success)}.status-deleted{color:var(--danger)}.status-modified{color:#9a6700}.status-renamed{color:#8250df}.file-cards{flex:1;min-width:0}.file-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:16px;scroll-margin-top:57px}.file-header{z-index:10;background:var(--bg-subtle);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:12px;display:flex;position:sticky;top:49px}.file-card.collapsed .file-header{border-radius:var(--radius);border-bottom:0}.chevron{width:24px;font-size:14px}.file-path{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;direction:ltr;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.old-path{color:var(--fg-muted);font-weight:400}.copy{font-size:12px}.file-comment-count{color:#9a6700;font-size:12px}.file-comment-count.all-resolved{color:var(--fg-muted)}.diffstat{font-size:12px;font-family:var(--mono);align-items:center;gap:4px;display:inline-flex}.diffstat-blocks{gap:1px;margin-left:2px;display:inline-flex}.diffstat-blocks span{border-radius:1px;width:8px;height:8px}.b-add{background:#1f883d}.b-del{background:#cf222e}.b-neutral{background:#d0d7de}.viewed-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.viewed-toggle.checked{background:var(--accent-subtle);color:var(--accent);border-color:#54aeff}.viewed-toggle input{margin:0}.file-body{border-radius:0 0 var(--radius) var(--radius);overflow:hidden}.diff-placeholder{text-align:center;color:var(--fg-muted);background:var(--bg);padding:24px;font-size:13px}.diff-lazy{background:repeating-linear-gradient(180deg, var(--bg) 0 20px, var(--bg-subtle) 20px 40px);opacity:.6}.load-diff .btn-link{font-size:14px;font-weight:600}.outside-threads{background:var(--bg-subtle);border-bottom:1px solid var(--border);padding:8px 12px}.pierre-diff{--diffs-font-family:var(--mono);--diffs-font-size:12px;--diffs-line-height:20px;--diffs-header-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--diffs-addition-color:#2da44e;--diffs-deletion-color:#e5534b;--diffs-modified-color:#0969da;--diffs-gap-block:0px}.inline-annotation{max-width:900px;color:var(--fg);white-space:normal;padding:4px 12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}.inline-annotation .thread{box-shadow:0 1px 3px #1f232814}@media (width<=1100px){.conversation-sidebar{display:none}.file-tree-wrap{width:220px}}.stack-tab-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 12px;display:flex}.stack-tab-toolbar a.btn{color:inherit;text-decoration:none}.stack-tab-toolbar .is-copied{color:var(--success);border-color:#4ac26b}.stack-tab-svg{font-size:12px}.stack-tab-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;margin-left:8px;font-size:12px;display:inline-flex}.stack-tab-check input{margin:0}.stack-tab-canvas{border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-width:100%;line-height:0;display:inline-block;overflow:hidden}.stack-tab-canvas img{max-width:100%;height:auto;display:block}.stack-tab-canvas .flash{margin:12px;line-height:normal}.stack-tab-hint{margin:8px 0 24px;font-size:12px}a.header-project{text-decoration:none}a.header-project:hover{color:#f6d29b}.project-home-body{flex-wrap:wrap;align-items:flex-start;gap:32px;display:flex}.project-home-h2{margin:0;font-size:16px}.project-home-list{flex:1;min-width:280px;padding-top:16px}.project-home-list .project-home-h2{margin-bottom:12px}.project-home-repo h3{margin:16px 0 8px;font-size:14px}.project-home-stack{--stack:var(--stack-gray);border-left:3px solid var(--stack);margin:0 0 12px;padding:2px 0 2px 12px}.project-home-stack-title{color:var(--stack);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.project-home-stack ol{margin:0;padding:0;list-style:none}.project-home-stack li a{color:var(--fg);align-items:baseline;gap:8px;padding:3px 0;font-size:13px;text-decoration:none;display:flex}.project-home-stack li a:hover{color:var(--accent);text-decoration:underline}.project-home-stack .commit-num{min-width:18px;color:var(--fg-muted);text-align:right;flex:none;font-size:12px}.welcome{max-width:980px;padding-top:32px}.welcome-hero{color:#fff;background:radial-gradient(120% 140% at 100% 0%, #6b2a60 0%, var(--plum) 55%, #2b0f27 100%);border-bottom:3px solid #e8a33d;border-radius:12px;align-items:flex-start;gap:20px;padding:28px 32px;display:flex;box-shadow:0 8px 24px #4a19422e}.welcome-hero>div{flex:1;min-width:0}.welcome-hero img{border-radius:12px;flex:none;box-shadow:0 0 0 1px #ffffff2e}.welcome-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#f0b960;margin-bottom:6px;font-size:12px;font-weight:700}.welcome-hero h1{text-wrap:balance;max-width:38em;margin:0 0 10px;font-size:24px;font-weight:700;line-height:1.25}.welcome-hero p{color:#ffffffd1;max-width:44em;margin:0;font-size:15px;line-height:1.55}.welcome-cards{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;display:grid}@media (width<=860px){.welcome-cards{grid-template-columns:1fr}.welcome-hero img{display:none}}.welcome-card{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;align-items:flex-start;gap:12px;padding:22px 24px;display:flex}.welcome-card.is-tour{background:linear-gradient(180deg, #fff8ec 0%, var(--bg) 70%);border-color:#e8a33d}.welcome-card h2{align-items:center;gap:10px;margin:0;font-size:17px;display:flex}.welcome-card p{margin:0;line-height:1.55}.welcome-icon{background:var(--plum);color:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:inline-grid}.welcome-card.is-tour .welcome-icon{color:#2b0f27;background:#e8a33d}.welcome-repos{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.welcome-repos li{border:1px solid var(--border);background:var(--bg);border-radius:999px;align-items:baseline;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.welcome-repos code{font-size:12px;font-weight:600}.welcome-repos span{color:var(--fg-muted)}.btn-plum{background:var(--plum);color:#fff;border-color:#1f232826;padding:7px 18px;font-weight:600}.btn-plum:hover:not(:disabled){background:var(--plum-2);border-color:#1f232826}.btn-plum:disabled{color:#fff;background:#a8749d}.welcome-fine{color:var(--fg-muted);font-size:12px}.welcome-fine code{font-size:11.5px}.welcome-path{background:var(--bg-subtle);overflow-wrap:anywhere;border-radius:4px;width:fit-content;max-width:100%;margin-top:6px;padding:2px 8px;font-size:12px;display:block}.welcome-error{align-self:stretch;margin:0}.welcome-notice{color:#4d2d00;background:#fff8ec;border-color:#e8a33d;margin:0 0 16px}.welcome-steps{flex-direction:column;align-self:stretch;gap:10px;margin:0;padding-left:20px;line-height:1.5;display:flex}.welcome-steps li::marker{color:var(--plum);font-weight:700}.copy-line{background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:6px 6px 6px 12px;display:flex}.copy-line code{white-space:pre-wrap;font-size:12.5px;line-height:1.45}.copy-line .btn-octicon{white-space:nowrap;flex:none}.welcome-agent{border-top:1px dashed var(--border);align-self:stretch;margin-top:4px;padding-top:14px}.welcome-agent-label{color:var(--fg-muted);font-size:12px;font-weight:600}.welcome-links{border-top:1px solid var(--border-muted);flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:24px;padding:14px 4px 0;font-size:13px;display:flex}.welcome-links a{color:var(--accent);text-decoration:none}.welcome-links a:hover{text-decoration:underline}.welcome-promise{color:var(--fg-muted);margin-left:auto;font-size:12px}.example-tag{color:#2b0f27;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;background:#e8a33d;border-radius:999px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:700;line-height:16px;display:inline-block}.examples-strip{border-radius:var(--radius);color:#4d2d00;background:#fff8ec;border:1px solid #e8a33d;flex-direction:column;gap:6px;margin:8px 12px 4px;padding:8px 10px;font-size:12px;display:flex}.examples-strip-head{align-items:center;gap:6px;display:flex}.examples-strip-head .example-tag{margin-left:0}.examples-strip-remove{align-self:flex-start;font-size:12px}.examples-strip-confirm{flex-direction:column;gap:6px;line-height:1.4;display:flex}.examples-strip-actions{gap:6px;display:flex}.btn-danger-outline{color:var(--danger)}.project-menu-examples-btn{width:100%;color:var(--fg-muted);text-align:left;cursor:pointer;border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.project-menu-examples-btn:hover:not(:disabled){background:var(--bg-subtle);color:var(--fg)}.project-menu-examples-btn:disabled{cursor:progress}.project-menu-examples-btn .example-tag{margin-left:0}.project-menu-examples-confirm{color:var(--fg);flex-direction:column;gap:6px;padding:6px 10px;font-size:12px;display:flex}.project-menu-examples-error{margin:4px 6px;font-size:12px}.btn-danger-outline:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--fg:#e6edf3;--fg-muted:#8d96a0;--bg:#0d1117;--bg-subtle:#161b22;--bg-inset:#010409;--border:#30363d;--border-muted:#21262d;--accent:#4493f8;--accent-subtle:#388bfd26;--success:#3fb950;--success-emph:#238636;--danger:#f85149;--attention:#d29922;--attention-subtle:#bb800926;--add-fg:#3fb950;--del-fg:#f85149;--plum-2:#8a3b7e;--claude:#e07a55;--stack-blue:#4493f8;--stack-green:#3fb950;--stack-purple:#ab7df8;--stack-orange:#f0883e;--stack-pink:#f778ba;--stack-teal:#39c5cf;--stack-red:#f85149;--stack-yellow:#d29922;--stack-gray:#6e7681;--follow-on-fg:#d29922;--follow-on-border:#d29922;--follow-on-line:#bb800999;--follow-on-subtle:#bb800926;--ready:#238636;--published:#1f6feb;--merged:#8957e5;--tooltip-bg:#3d444d;--tooltip-fg:#f0f6fc}.dropdown-menu{background:#161b22;box-shadow:0 8px 24px #010409cc}.dropdown-item:hover{background:#1f6feb}.dropdown-item.danger:hover{background:#da3633}.md-tool:hover{background:#b1bac41f}.pr-description.is-editing{border-color:#1f6feb}.repo-warning{color:#e3b341;border-color:#bb800966 #bb800966 #bb800966 #d29922}.repo-warn-flag{color:#e3b341}.project-menu{box-shadow:0 8px 24px #010409cc}.step.current a{color:#0d1117}.repo-heading:hover,.commit-item:hover,.tree-row:hover{background:#b1bac41f}.commit-item.active{background:var(--bg);box-shadow:inset 0 0 0 1px var(--border);border-left-color:#c46db5}.commit-item.active .commit-num{background:#8a3b7e;border-color:#8a3b7e}.commit-num,.timeline-badge{background:#21262d}.repo-error,.flash-error{color:#ffa198;background:#f851491a;border-color:#f8514966}.flash-warn{color:#e3b341;border-color:#bb800966}.btn{box-shadow:none;background:#21262d;border-color:#f0f6fc1a}.btn:hover:not(:disabled){background:#30363d;border-color:#8b949e}.btn:disabled{color:#484f58}.btn.selected{background:var(--bg);box-shadow:inset 0 0 0 1px var(--fg-muted)}.btn-primary{background:var(--success-emph);border-color:#f0f6fc1a}.btn-primary:hover:not(:disabled){background:#2ea043}.btn-primary:disabled{color:#ffffff80;background:#23863699}.Label--success{border-color:#238636}.Label--danger{border-color:#da3633}.Label--agent{border-color:#8a4a33}.Label--attention{border-color:#bb800999}.Counter:not(.Counter--attn),.markdown-body code{background:#6e768166}.avatar{box-shadow:0 0 0 1px #f0f6fc1a}.timeline-comment.is-claude>.comment-header,.general-thread .timeline-comment.is-claude>.comment-header{background:#e07a551f;border-bottom-color:#e07a5559}.review-comment.is-claude{background:#e07a550f}.snippet tr.hl-add td.code{background:#2ea04326}.snippet tr.hl-add td.ln{background:#3fb9504d}.snippet tr.hl-del td.code{background:#f851491a}.snippet tr.hl-del td.ln{background:#f851494d}.tree-comments,.file-comment-count,.status-modified{color:#d29922}.status-renamed{color:#a371f7}.b-add{background:#2ea043}.b-del{background:#da3633}.b-neutral{background:#30363d}.viewed-toggle.checked{border-color:#1f6feb}.inline-annotation .thread{box-shadow:0 1px 3px #01040999}.pierre-diff{--diffs-modified-color:#4493f8}}.ptext-head{align-items:center;gap:6px;min-height:24px;display:flex}.ptext-label{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);font-size:11px;font-weight:700}.ptext-sub{letter-spacing:normal;text-transform:none;font-size:12px;font-weight:400}.ptext-body .markdown-body>:first-child{margin-top:0}.ptext-body .markdown-body>:last-child{margin-bottom:0}.ptext-empty{font-size:13px}.ptext-hint{margin:6px 0 0;font-size:12px}.ptext.is-editing .comment-form{border:1px solid var(--accent);border-radius:var(--radius)}.comment-form.ptext-editor textarea{field-sizing:content;min-height:120px;max-height:60vh}.project-home-intro{border:1px solid var(--border);border-left:3px solid var(--plum-2);border-radius:var(--radius);background:var(--bg-subtle);max-width:860px;margin:8px 0 4px;padding:10px 14px}.project-home-stack-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:2px;display:flex}.project-home-stack-head .project-home-stack-title{margin-bottom:0}.stack-weight{color:var(--fg-muted);font-size:12px}.stack-weight .color-add,.stack-weight .color-del{font-weight:500}.project-home-note{color:var(--fg);margin:0 0 4px;font-size:13px}.project-home-note .ptext-head{min-height:0;position:relative}.project-home-note .ptext-head .comment-actions{opacity:.5}.project-home-note:hover .ptext-head .comment-actions{opacity:1}.project-home-note:not(.is-editing){flex-direction:row-reverse;align-items:flex-start;gap:6px;display:flex}.project-home-note:not(.is-editing)>.ptext-head{flex:none}.project-home-note:not(.is-editing)>.ptext-head .spacer{display:none}.project-home-note:not(.is-editing)>.ptext-body,.project-home-note:not(.is-editing)>.ptext-empty{flex:1}.project-home-note .ptext-empty .btn-link{color:var(--fg-muted);font-size:12px}.project-home-note .ptext-empty .btn-link:hover{color:var(--accent)}.avatar-spacer{flex:none;width:40px}.project-context-item{margin-bottom:12px}.project-context{border:1px dashed var(--border);border-left:3px solid var(--plum-2);border-radius:var(--radius);background:var(--bg-subtle);flex:1;min-width:0;font-size:13px}.project-context-head{align-items:center;gap:8px;padding:4px 10px 4px 6px;display:flex}.project-context-toggle{min-width:0;font:inherit;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:2px 0;display:flex}.project-context-chev{color:var(--fg-muted);flex:none;transition:transform .1s}.project-context.open .project-context-chev{transform:rotate(90deg)}.project-context-title{flex:none;font-size:12px;font-weight:600}.project-context-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.project-context-link{color:var(--fg-muted);flex:none;font-size:12px;text-decoration:none}.project-context-link:hover{color:var(--accent);text-decoration:underline}.project-context-body{border-top:1px solid var(--border-muted);flex-direction:column;gap:10px;padding:4px 14px 10px 24px;display:flex}.project-context-body .ptext+.ptext{border-top:1px dashed var(--border-muted);padding-top:8px}.project-context-stack{color:var(--stack)}.project-context .ptext-body{color:var(--fg)}.btn-octicon.has-caption{align-items:center;gap:4px;display:inline-flex}.btn-octicon.has-caption .copy-caption{font-size:12px;line-height:16px}.ptext .comment-form-tabs,.ptext .md-toolbar{flex-wrap:wrap}.project-home-stack li a .readiness-badge{align-self:center}.Label--follow-on{letter-spacing:normal;text-transform:none;border-style:dashed;border-color:var(--follow-on-line);color:var(--follow-on-fg);background:var(--follow-on-subtle);vertical-align:1px;flex:none;padding:0 6px;font-size:10px;font-weight:600;line-height:14px}.pr-stack>legend .Label--follow-on,.stepper-label .Label--follow-on,.project-home-stack-head .Label--follow-on{margin-left:6px}.follow-on-divider{color:var(--follow-on-fg);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:8px;margin:18px 10px 4px;font-size:10px;font-weight:700;display:flex}.follow-on-divider:before,.follow-on-divider:after{content:"";border-top:1px dashed var(--follow-on-line);flex:1}.follow-on-divider:before{flex:0 0 8px}.pr-stack.follow-on{border-color:var(--follow-on-border);background:repeating-linear-gradient(135deg, transparent 0 7px, color-mix(in srgb, var(--follow-on-border) 9%, transparent) 7px 8px)}.pr-stack.follow-on>legend,.pr-stack.follow-on .pr-stack-tally{color:var(--follow-on-fg)}.pr-stack.follow-on .commit-item:not(.active):not(:hover) :is(.commit-num,.commit-subject,.commit-branch,.pr-badge,.commit-counts){opacity:.72}.stack-stepper.follow-on{--stack:var(--follow-on-fg)}.project-home-stack.follow-on{border-left:3px dashed var(--follow-on-border)}.project-home-stack.follow-on .project-home-stack-title{color:var(--follow-on-fg)}.project-home-stack.follow-on li a:not(:hover){opacity:.72}.project-home-list .follow-on-divider{margin:16px 0 8px}.follow-on-note{color:var(--follow-on-fg);font-weight:600}.merged-note{color:var(--merged);font-weight:600}.pr-stack-tally.is-merged{color:var(--merged)}.branch-name.is-merged{color:var(--merged);background:color-mix(in srgb, var(--merged) 12%, transparent)}.commit-branch.is-merged{color:var(--fg-muted)}.project-menu-section{border-top:1px solid var(--border);margin-top:4px;padding-top:4px;list-style:none}.project-menu-section-toggle{width:100%;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:flex}.project-menu-section-toggle:hover{background:var(--bg-subtle);color:var(--fg)}.project-menu-section-toggle .octicon{fill:currentColor}.project-menu a.is-archived .project-menu-title{color:var(--fg-muted)}.landed-note{color:var(--fg-muted);font-size:12px}.totals-line{color:var(--fg-muted);font-size:12px;font-weight:400}.totals-line .color-add,.totals-line .color-del{font-weight:500}.project-home-repo h3 .totals-line{margin-top:2px;display:block}.project-home-totals{margin:-6px 0 4px;display:block}.repo-progress-follow-on{color:var(--follow-on-fg);border:1px dashed var(--follow-on-line);border-radius:2em;padding:0 4px;font-weight:600;line-height:14px}@media (prefers-color-scheme:dark){.welcome-card.is-tour{background:linear-gradient(180deg, #e8a33d1a 0%, var(--bg) 70%)}.welcome-notice,.examples-strip{color:#f0c47a;background:#e8a33d1a}.welcome-repos li{background:var(--bg-subtle)}.btn-plum{color:#fff;background:#7a2f6e;border-color:#f0f6fc1a}.btn-plum:hover:not(:disabled){background:#8f3a82}.btn-plum:disabled{color:#fff9;background:#4a1942}.welcome-icon{background:#7a2f6e}.welcome-steps li::marker{color:#d9a6cf}}
@@ -1 +1 @@
1
- import{t as e}from"./index-CfxIojO0.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"Java","name":"java","patterns":[{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.package.java"}},"contentName":"storage.modifier.package.java","end":"\\\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.package.java","patterns":[{"include":"#comments"},{"match":"(?<=\\\\.)\\\\s*\\\\.|\\\\.(?=\\\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!_)_(?=\\\\s*([.;]))|\\\\b\\\\d+|-+","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"[A-Z]+","name":"invalid.deprecated.package_name_not_lowercase.java"},{"match":"\\\\b(?<!\\\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\\\b","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\.","name":"punctuation.separator.java"}]},{"begin":"\\\\b(import)\\\\b\\\\s*\\\\b(static)?\\\\b\\\\s","beginCaptures":{"1":{"name":"keyword.other.import.java"},"2":{"name":"storage.modifier.java"}},"contentName":"storage.modifier.import.java","end":"\\\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.import.java","patterns":[{"include":"#comments"},{"match":"(?<=\\\\.)\\\\s*\\\\.|\\\\.(?=\\\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!\\\\.)\\\\s*\\\\*","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!_)_(?=\\\\s*([.;]))|\\\\b\\\\d+|-+","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\b(?<!\\\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\\\b","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\.","name":"punctuation.separator.java"},{"match":"\\\\*","name":"variable.language.wildcard.java"}]},{"include":"#comments-javadoc"},{"include":"#code"},{"include":"#module"}],"repository":{"all-types":{"patterns":[{"include":"#primitive-arrays"},{"include":"#primitive-types"},{"include":"#object-types"}]},"annotations":{"patterns":[{"begin":"((@)\\\\s*([^(\\\\s]+))(\\\\()","beginCaptures":{"2":{"name":"punctuation.definition.annotation.java"},"3":{"name":"storage.type.annotation.java"},"4":{"name":"punctuation.definition.annotation-arguments.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.annotation-arguments.end.bracket.round.java"}},"name":"meta.declaration.annotation.java","patterns":[{"captures":{"1":{"name":"constant.other.key.java"},"2":{"name":"keyword.operator.assignment.java"}},"match":"(\\\\w*)\\\\s*(=)"},{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.annotation.java"},"2":{"name":"storage.modifier.java"},"3":{"name":"storage.type.annotation.java"},"5":{"name":"punctuation.definition.annotation.java"},"6":{"name":"storage.type.annotation.java"}},"match":"(@)(interface)\\\\s+(\\\\w*)|((@)\\\\s*(\\\\w+))","name":"meta.declaration.annotation.java"}]},"anonymous-block-and-instance-initializer":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.java"}},"patterns":[{"include":"#code"}]},"anonymous-classes-and-new":{"begin":"\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.control.new.java"}},"end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"include":"#function-call"},{"include":"#all-types"},{"begin":"(?<=\\\\))","end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.inner-class.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.inner-class.end.bracket.curly.java"}},"name":"meta.inner-class.java","patterns":[{"include":"#class-body"}]}]},{"begin":"(?<=])","end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array-initializer.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array-initializer.end.bracket.curly.java"}},"name":"meta.array-initializer.java","patterns":[{"include":"#code"}]}]},{"include":"#parens"}]},"assertions":{"patterns":[{"begin":"\\\\b(assert)\\\\s","beginCaptures":{"1":{"name":"keyword.control.assert.java"}},"end":"$","name":"meta.declaration.assertion.java","patterns":[{"match":":","name":"keyword.operator.assert.expression-separator.java"},{"include":"#code"}]}]},"class":{"begin":"(?=\\\\w?[-\\\\w\\\\s]*\\\\b(?:class|(?<!@)interface|enum)\\\\s+[$\\\\w]+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.bracket.curly.java"}},"name":"meta.class.java","patterns":[{"include":"#storage-modifiers"},{"include":"#generics"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.class.java"}},"match":"(class|(?<!@)interface|enum)\\\\s+([$\\\\w]+)","name":"meta.class.identifier.java"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.java"}},"end":"(?=\\\\{|implements|permits)","name":"meta.definition.class.inherited.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\s*extends|permits|\\\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(permits)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.permits.java"}},"end":"(?=\\\\s*extends|implements|\\\\{)","name":"meta.definition.class.permits.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"contentName":"meta.class.body.java","end":"(?=})","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"include":"#enums"},{"include":"#class"},{"include":"#generics"},{"include":"#static-initializer"},{"include":"#class-fields-and-methods"},{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#member-variables"},{"include":"#code"}]},"class-fields-and-methods":{"patterns":[{"begin":"(?==)","end":"(?=;)","patterns":[{"include":"#code"}]},{"include":"#methods"}]},"code":{"patterns":[{"include":"#annotations"},{"include":"#comments"},{"include":"#enums"},{"include":"#class"},{"include":"#record"},{"include":"#anonymous-block-and-instance-initializer"},{"include":"#try-catch-finally"},{"include":"#assertions"},{"include":"#parens"},{"include":"#constants-and-special-vars"},{"include":"#numbers"},{"include":"#anonymous-classes-and-new"},{"include":"#lambda-expression"},{"include":"#keywords"},{"include":"#storage-modifiers"},{"include":"#method-call"},{"include":"#function-call"},{"include":"#variables"},{"include":"#variables-local"},{"include":"#objects"},{"include":"#properties"},{"include":"#strings"},{"include":"#all-types"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"},{"match":";","name":"punctuation.terminator.java"}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.java"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.java"},{"include":"#comments-inline"}]},"comments-inline":{"patterns":[{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.java"}},"end":"\\\\*/","name":"comment.block.java"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.java"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.java"}},"end":"\\\\n","name":"comment.line.double-slash.java"}]}]},"comments-javadoc":{"patterns":[{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.java"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.java"}},"name":"comment.block.javadoc.java","patterns":[{"match":"@(author|deprecated|return|see|serial|since|version)\\\\b","name":"keyword.other.documentation.javadoc.java"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"variable.parameter.java"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"entity.name.type.class.java"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"entity.name.type.class.java"},"3":{"name":"variable.parameter.java"}},"match":"\\\\{(@link)\\\\s+(\\\\S+)?#([$\\\\w]+\\\\s*\\\\([^()]*\\\\)).*?}"}]}]},"constants-and-special-vars":{"patterns":[{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.java"},{"match":"\\\\bthis\\\\b","name":"variable.language.this.java"},{"match":"\\\\bsuper\\\\b","name":"variable.language.java"}]},"enums":{"begin":"^\\\\s*([\\\\w\\\\s]*)(enum)\\\\s+(\\\\w+)","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifiers"}]},"2":{"name":"storage.modifier.java"},"3":{"name":"entity.name.type.enum.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.enum.end.bracket.curly.java"}},"name":"meta.enum.java","patterns":[{"begin":"\\\\b(extends)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.extends.java"}},"end":"(?=\\\\{|\\\\bimplements\\\\b)","name":"meta.definition.class.inherited.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\b(implements)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\{|\\\\bextends\\\\b)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.enum.begin.bracket.curly.java"}},"end":"(?=})","patterns":[{"begin":"(?<=\\\\{)","end":"(?=[;}])","patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"begin":"\\\\b(\\\\w+)\\\\b","beginCaptures":{"1":{"name":"constant.other.enum.java"}},"end":"(,)|(?=[;}])","endCaptures":{"1":{"name":"punctuation.separator.delimiter.java"}},"patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"patterns":[{"include":"#class-body"}]}]}]},{"include":"#class-body"}]}]},"function-call":{"begin":"([$A-Z_a-z][$\\\\w]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.function-call.java","patterns":[{"include":"#code"}]},"generics":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"end":">","endCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"patterns":[{"match":"\\\\b(extends|super)\\\\b","name":"storage.modifier.$1.java"},{"captures":{"1":{"name":"storage.type.java"}},"match":"(?<!\\\\.)([$A-Z_a-z][$0-9A-Z_a-z]*)(?=\\\\s*<)"},{"include":"#primitive-arrays"},{"match":"[$A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.generic.java"},{"match":"\\\\?","name":"storage.type.generic.wildcard.java"},{"match":"&","name":"punctuation.separator.types.java"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"},{"include":"#parens"},{"include":"#generics"},{"include":"#comments"}]},"keywords":{"patterns":[{"match":"\\\\bthrow\\\\b","name":"keyword.control.throw.java"},{"match":"[:?]","name":"keyword.control.ternary.java"},{"match":"\\\\b(return|yield|break|case|continue|default|do|while|for|switch|if|else)\\\\b","name":"keyword.control.java"},{"match":"\\\\b(instanceof)\\\\b","name":"keyword.operator.instanceof.java"},{"match":"(<<|>>>?|[\\\\^~])","name":"keyword.operator.bitwise.java"},{"match":"(([\\\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.java"},{"match":"(===?|!=|<=|>=|<>|[<>])","name":"keyword.operator.comparison.java"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.java"},{"match":"(=)","name":"keyword.operator.assignment.java"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.java"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.java"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.java"},{"match":"([\\\\&|])","name":"keyword.operator.bitwise.java"},{"match":"\\\\b(const|goto)\\\\b","name":"keyword.reserved.java"}]},"lambda-expression":{"patterns":[{"match":"->","name":"storage.type.function.arrow.java"}]},"member-variables":{"begin":"(?=private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)","end":"(?=[;=])","patterns":[{"include":"#storage-modifiers"},{"include":"#variables"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"method-call":{"begin":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"entity.name.function.java"},"3":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method-call.java","patterns":[{"include":"#code"}]},"methods":{"begin":"(?!new)(?=[<\\\\w].*\\\\s+)(?=([^/=]|/(?!/))+\\\\()","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\\\w+)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method.identifier.java","patterns":[{"include":"#parameters"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#generics"},{"begin":"(?=\\\\w.*\\\\s+\\\\w+\\\\s*\\\\()","end":"(?=\\\\s+\\\\w+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#all-types"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#throws"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]},{"include":"#comments"}]},"module":{"begin":"((open)\\\\s)?(module)\\\\s+(\\\\w+)","beginCaptures":{"1":{"name":"storage.modifier.java"},"3":{"name":"storage.modifier.java"},"4":{"name":"entity.name.type.module.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.module.end.bracket.curly.java"}},"name":"meta.module.java","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.module.begin.bracket.curly.java"}},"contentName":"meta.module.body.java","end":"(?=})","patterns":[{"include":"#comments"},{"include":"#comments-javadoc"},{"match":"\\\\b(requires|transitive|exports|opens|to|uses|provides|with)\\\\b","name":"keyword.module.java"}]}]},"numbers":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])((?<!\\\\.)\\\\h([_\\\\h]*\\\\h)?[Ll]?(?!\\\\.)|(\\\\h([_\\\\h]*\\\\h)?\\\\.?|(\\\\h([_\\\\h]*\\\\h)?)?\\\\.\\\\h([_\\\\h]*\\\\h)?)[Pp][-+]?[0-9]([0-9_]*[0-9])?[DFdf]?)\\\\b(?!\\\\$)","name":"constant.numeric.hex.java"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]([01_]*[01])?[Ll]?\\\\b(?!\\\\$)","name":"constant.numeric.binary.java"},{"match":"\\\\b(?<!\\\\$)0[0-7]([0-7_]*[0-7])?[Ll]?\\\\b(?!\\\\$)","name":"constant.numeric.octal.java"},{"match":"(?<!\\\\$)(\\\\b[0-9]([0-9_]*[0-9])?\\\\.\\\\B(?!\\\\.)|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\\\b|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([0-9]([0-9_]*[0-9])?)([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\\\b|(?<!\\\\.)\\\\B\\\\.[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\\\b|\\\\b(0|[1-9]([0-9_]*[0-9])?)(?!\\\\.)[Ll]?\\\\b)(?!\\\\$)","name":"constant.numeric.decimal.java"}]},"object-types":{"patterns":[{"include":"#generics"},{"begin":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*)([A-Z_]\\\\w*)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]},"2":{"name":"storage.type.object.array.java"}},"end":"(?!\\\\s*\\\\[)","patterns":[{"include":"#comments"},{"include":"#parens"}]},{"captures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]}},"match":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*[A-Z_]\\\\w*)\\\\s*(?=<)"},{"captures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]}},"match":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*[A-Z_]\\\\w*)\\\\b((?=\\\\s*[\\\\n$A-Z_a-z])|(?=\\\\s*\\\\.\\\\.\\\\.))"}]},"object-types-inherited":{"patterns":[{"include":"#generics"},{"captures":{"1":{"name":"punctuation.separator.period.java"}},"match":"\\\\b(?:[A-Z]\\\\w*\\\\s*(\\\\.)\\\\s*)*[A-Z]\\\\w*\\\\b","name":"entity.other.inherited-class.java"},{"match":",","name":"punctuation.separator.delimiter.java"}]},"objects":{"match":"(?<![$\\\\w])[$A-Z_a-z][$\\\\w]*(?=\\\\s*\\\\.\\\\s*[$\\\\w]+)","name":"variable.other.object.java"},"parameters":{"patterns":[{"match":"\\\\bfinal\\\\b","name":"storage.modifier.java"},{"include":"#annotations"},{"include":"#all-types"},{"include":"#strings"},{"match":"\\\\w+","name":"variable.parameter.java"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.\\\\.\\\\.","name":"punctuation.definition.parameters.varargs.java"}]},"parens":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.square.java"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.square.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"patterns":[{"include":"#code"}]}]},"primitive-arrays":{"patterns":[{"begin":"\\\\b(void|boolean|byte|char|short|int|float|long|double)\\\\b\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.type.primitive.array.java"}},"end":"(?!\\\\s*\\\\[)","patterns":[{"include":"#comments"},{"include":"#parens"}]}]},"primitive-types":{"match":"\\\\b(void|boolean|byte|char|short|int|float|long|double)\\\\b","name":"storage.type.primitive.java"},"properties":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"keyword.control.new.java"}},"match":"(\\\\.)\\\\s*(new)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"variable.other.object.property.java"}},"match":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)(?=\\\\s*\\\\.\\\\s*[$A-Z_a-z][$\\\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"variable.other.object.property.java"}},"match":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"invalid.illegal.identifier.java"}},"match":"(\\\\.)\\\\s*([0-9][$\\\\w]*)"}]},"record":{"begin":"(?=\\\\w?[\\\\w\\\\s]*\\\\brecord\\\\s+[$\\\\w]+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.bracket.curly.java"}},"name":"meta.record.java","patterns":[{"include":"#storage-modifiers"},{"include":"#generics"},{"include":"#comments"},{"begin":"(record)\\\\s+([$\\\\w]+)(<[$\\\\w]+>)?(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.record.java"},"3":{"patterns":[{"include":"#generics"}]},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.record.identifier.java","patterns":[{"include":"#code"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\s*\\\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"include":"#record-body"}]},"record-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"end":"(?=})","name":"meta.record.body.java","patterns":[{"include":"#record-constructor"},{"include":"#class-body"}]},"record-constructor":{"begin":"(?!new)(?=[<\\\\w].*\\\\s+)(?=([^(/=]|/(?!/))+(?=\\\\{))","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\\\w+)","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"(?=\\\\s*\\\\{)","name":"meta.method.identifier.java","patterns":[{"include":"#comments"}]},{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},"static-initializer":{"patterns":[{"include":"#anonymous-block-and-instance-initializer"},{"match":"static","name":"storage.modifier.java"}]},"storage-modifiers":{"match":"\\\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|volatile|default|strictfp|sealed|non-sealed)\\\\b","name":"storage.modifier.java"},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.triple.java","patterns":[{"match":"(\\\\\\\\\\"\\"\\")(?!\\")|(\\\\\\\\.)","name":"constant.character.escape.java"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.double.java","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.java"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.single.java","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.java"}]}]},"throws":{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.java"}},"end":"(?=[;{])","name":"meta.throwables.java","patterns":[{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"[$A-Z_a-z][$.0-9A-Z_a-z]*","name":"storage.type.java"},{"include":"#comments"}]},"try-catch-finally":{"patterns":[{"begin":"\\\\btry\\\\b","beginCaptures":{"0":{"name":"keyword.control.try.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.try.end.bracket.curly.java"}},"name":"meta.try.java","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.try.resources.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.try.resources.end.bracket.round.java"}},"name":"meta.try.resources.java","patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.try.begin.bracket.curly.java"}},"contentName":"meta.try.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\\\b(catch)\\\\b","beginCaptures":{"1":{"name":"keyword.control.catch.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.catch.end.bracket.curly.java"}},"name":"meta.catch.java","patterns":[{"include":"#comments"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"contentName":"meta.catch.parameters.java","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"patterns":[{"include":"#comments"},{"include":"#storage-modifiers"},{"begin":"[$A-Z_a-z][$.0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"storage.type.java"}},"end":"(\\\\|)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.catch.separator.java"}},"patterns":[{"include":"#comments"},{"captures":{"0":{"name":"variable.parameter.java"}},"match":"\\\\w+"}]}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.catch.begin.bracket.curly.java"}},"contentName":"meta.catch.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\\\bfinally\\\\b","beginCaptures":{"0":{"name":"keyword.control.finally.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.finally.end.bracket.curly.java"}},"name":"meta.finally.java","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.finally.begin.bracket.curly.java"}},"contentName":"meta.finally.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]}]},"variables":{"begin":"(?=\\\\b((void|boolean|byte|char|short|int|float|long|double)|(?>(\\\\w+\\\\.)*[A-Z_]+\\\\w*))\\\\b\\\\s*(<[],.<>?\\\\[\\\\w\\\\s]*>)?\\\\s*((\\\\[])*)?\\\\s+[$A-Z_a-z][$\\\\w]*([]$,\\\\[\\\\w][],\\\\[\\\\w\\\\s]*)?\\\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.java","patterns":[{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\\\w]*)(?=\\\\s*(\\\\[])*\\\\s*([,:;=]))"},{"include":"#all-types"},{"include":"#code"}]},"variables-local":{"begin":"(?=\\\\b(var)\\\\b\\\\s+[$A-Z_a-z][$\\\\w]*\\\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.local.java","patterns":[{"match":"\\\\bvar\\\\b","name":"storage.type.local.java"},{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\\\w]*)(?=\\\\s*(\\\\[])*\\\\s*([:;=]))"},{"include":"#code"}]}},"scopeName":"source.java"}`))];export{t as n,n as t};
1
+ import{t as e}from"./index-BPfnOrNh.js";var t=e({default:()=>n}),n=[Object.freeze(JSON.parse(`{"displayName":"Java","name":"java","patterns":[{"begin":"\\\\b(package)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.other.package.java"}},"contentName":"storage.modifier.package.java","end":"\\\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.package.java","patterns":[{"include":"#comments"},{"match":"(?<=\\\\.)\\\\s*\\\\.|\\\\.(?=\\\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!_)_(?=\\\\s*([.;]))|\\\\b\\\\d+|-+","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"[A-Z]+","name":"invalid.deprecated.package_name_not_lowercase.java"},{"match":"\\\\b(?<!\\\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\\\b","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\.","name":"punctuation.separator.java"}]},{"begin":"\\\\b(import)\\\\b\\\\s*\\\\b(static)?\\\\b\\\\s","beginCaptures":{"1":{"name":"keyword.other.import.java"},"2":{"name":"storage.modifier.java"}},"contentName":"storage.modifier.import.java","end":"\\\\s*(;)","endCaptures":{"1":{"name":"punctuation.terminator.java"}},"name":"meta.import.java","patterns":[{"include":"#comments"},{"match":"(?<=\\\\.)\\\\s*\\\\.|\\\\.(?=\\\\s*;)","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!\\\\.)\\\\s*\\\\*","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"(?<!_)_(?=\\\\s*([.;]))|\\\\b\\\\d+|-+","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\b(?<!\\\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\\\b","name":"invalid.illegal.character_not_allowed_here.java"},{"match":"\\\\.","name":"punctuation.separator.java"},{"match":"\\\\*","name":"variable.language.wildcard.java"}]},{"include":"#comments-javadoc"},{"include":"#code"},{"include":"#module"}],"repository":{"all-types":{"patterns":[{"include":"#primitive-arrays"},{"include":"#primitive-types"},{"include":"#object-types"}]},"annotations":{"patterns":[{"begin":"((@)\\\\s*([^(\\\\s]+))(\\\\()","beginCaptures":{"2":{"name":"punctuation.definition.annotation.java"},"3":{"name":"storage.type.annotation.java"},"4":{"name":"punctuation.definition.annotation-arguments.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.annotation-arguments.end.bracket.round.java"}},"name":"meta.declaration.annotation.java","patterns":[{"captures":{"1":{"name":"constant.other.key.java"},"2":{"name":"keyword.operator.assignment.java"}},"match":"(\\\\w*)\\\\s*(=)"},{"include":"#code"}]},{"captures":{"1":{"name":"punctuation.definition.annotation.java"},"2":{"name":"storage.modifier.java"},"3":{"name":"storage.type.annotation.java"},"5":{"name":"punctuation.definition.annotation.java"},"6":{"name":"storage.type.annotation.java"}},"match":"(@)(interface)\\\\s+(\\\\w*)|((@)\\\\s*(\\\\w+))","name":"meta.declaration.annotation.java"}]},"anonymous-block-and-instance-initializer":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.java"}},"patterns":[{"include":"#code"}]},"anonymous-classes-and-new":{"begin":"\\\\bnew\\\\b","beginCaptures":{"0":{"name":"keyword.control.new.java"}},"end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"include":"#function-call"},{"include":"#all-types"},{"begin":"(?<=\\\\))","end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.inner-class.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.inner-class.end.bracket.curly.java"}},"name":"meta.inner-class.java","patterns":[{"include":"#class-body"}]}]},{"begin":"(?<=])","end":"(?=[])-.:;?}]|/(?![*/])|[!%\\\\&=^|])","patterns":[{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.array-initializer.begin.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.array-initializer.end.bracket.curly.java"}},"name":"meta.array-initializer.java","patterns":[{"include":"#code"}]}]},{"include":"#parens"}]},"assertions":{"patterns":[{"begin":"\\\\b(assert)\\\\s","beginCaptures":{"1":{"name":"keyword.control.assert.java"}},"end":"$","name":"meta.declaration.assertion.java","patterns":[{"match":":","name":"keyword.operator.assert.expression-separator.java"},{"include":"#code"}]}]},"class":{"begin":"(?=\\\\w?[-\\\\w\\\\s]*\\\\b(?:class|(?<!@)interface|enum)\\\\s+[$\\\\w]+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.bracket.curly.java"}},"name":"meta.class.java","patterns":[{"include":"#storage-modifiers"},{"include":"#generics"},{"include":"#comments"},{"captures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.class.java"}},"match":"(class|(?<!@)interface|enum)\\\\s+([$\\\\w]+)","name":"meta.class.identifier.java"},{"begin":"extends","beginCaptures":{"0":{"name":"storage.modifier.extends.java"}},"end":"(?=\\\\{|implements|permits)","name":"meta.definition.class.inherited.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\s*extends|permits|\\\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"(permits)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.permits.java"}},"end":"(?=\\\\s*extends|implements|\\\\{)","name":"meta.definition.class.permits.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"contentName":"meta.class.body.java","end":"(?=})","patterns":[{"include":"#class-body"}]}]},"class-body":{"patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"include":"#enums"},{"include":"#class"},{"include":"#generics"},{"include":"#static-initializer"},{"include":"#class-fields-and-methods"},{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#member-variables"},{"include":"#code"}]},"class-fields-and-methods":{"patterns":[{"begin":"(?==)","end":"(?=;)","patterns":[{"include":"#code"}]},{"include":"#methods"}]},"code":{"patterns":[{"include":"#annotations"},{"include":"#comments"},{"include":"#enums"},{"include":"#class"},{"include":"#record"},{"include":"#anonymous-block-and-instance-initializer"},{"include":"#try-catch-finally"},{"include":"#assertions"},{"include":"#parens"},{"include":"#constants-and-special-vars"},{"include":"#numbers"},{"include":"#anonymous-classes-and-new"},{"include":"#lambda-expression"},{"include":"#keywords"},{"include":"#storage-modifiers"},{"include":"#method-call"},{"include":"#function-call"},{"include":"#variables"},{"include":"#variables-local"},{"include":"#objects"},{"include":"#properties"},{"include":"#strings"},{"include":"#all-types"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"},{"match":";","name":"punctuation.terminator.java"}]},"comments":{"patterns":[{"captures":{"0":{"name":"punctuation.definition.comment.java"}},"match":"/\\\\*\\\\*/","name":"comment.block.empty.java"},{"include":"#comments-inline"}]},"comments-inline":{"patterns":[{"begin":"/\\\\*","captures":{"0":{"name":"punctuation.definition.comment.java"}},"end":"\\\\*/","name":"comment.block.java"},{"begin":"(^[\\\\t ]+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.java"}},"end":"(?!\\\\G)","patterns":[{"begin":"//","beginCaptures":{"0":{"name":"punctuation.definition.comment.java"}},"end":"\\\\n","name":"comment.line.double-slash.java"}]}]},"comments-javadoc":{"patterns":[{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.java"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.java"}},"name":"comment.block.javadoc.java","patterns":[{"match":"@(author|deprecated|return|see|serial|since|version)\\\\b","name":"keyword.other.documentation.javadoc.java"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"variable.parameter.java"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"entity.name.type.class.java"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.java"},"2":{"name":"entity.name.type.class.java"},"3":{"name":"variable.parameter.java"}},"match":"\\\\{(@link)\\\\s+(\\\\S+)?#([$\\\\w]+\\\\s*\\\\([^()]*\\\\)).*?}"}]}]},"constants-and-special-vars":{"patterns":[{"match":"\\\\b(true|false|null)\\\\b","name":"constant.language.java"},{"match":"\\\\bthis\\\\b","name":"variable.language.this.java"},{"match":"\\\\bsuper\\\\b","name":"variable.language.java"}]},"enums":{"begin":"^\\\\s*([\\\\w\\\\s]*)(enum)\\\\s+(\\\\w+)","beginCaptures":{"1":{"patterns":[{"include":"#storage-modifiers"}]},"2":{"name":"storage.modifier.java"},"3":{"name":"entity.name.type.enum.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.enum.end.bracket.curly.java"}},"name":"meta.enum.java","patterns":[{"begin":"\\\\b(extends)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.extends.java"}},"end":"(?=\\\\{|\\\\bimplements\\\\b)","name":"meta.definition.class.inherited.classes.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\b(implements)\\\\b","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\{|\\\\bextends\\\\b)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.enum.begin.bracket.curly.java"}},"end":"(?=})","patterns":[{"begin":"(?<=\\\\{)","end":"(?=[;}])","patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"begin":"\\\\b(\\\\w+)\\\\b","beginCaptures":{"1":{"name":"constant.other.enum.java"}},"end":"(,)|(?=[;}])","endCaptures":{"1":{"name":"punctuation.separator.delimiter.java"}},"patterns":[{"include":"#comments-javadoc"},{"include":"#comments"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"patterns":[{"include":"#class-body"}]}]}]},{"include":"#class-body"}]}]},"function-call":{"begin":"([$A-Z_a-z][$\\\\w]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.function-call.java","patterns":[{"include":"#code"}]},"generics":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"end":">","endCaptures":{"0":{"name":"punctuation.bracket.angle.java"}},"patterns":[{"match":"\\\\b(extends|super)\\\\b","name":"storage.modifier.$1.java"},{"captures":{"1":{"name":"storage.type.java"}},"match":"(?<!\\\\.)([$A-Z_a-z][$0-9A-Z_a-z]*)(?=\\\\s*<)"},{"include":"#primitive-arrays"},{"match":"[$A-Z_a-z][$0-9A-Z_a-z]*","name":"storage.type.generic.java"},{"match":"\\\\?","name":"storage.type.generic.wildcard.java"},{"match":"&","name":"punctuation.separator.types.java"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"},{"include":"#parens"},{"include":"#generics"},{"include":"#comments"}]},"keywords":{"patterns":[{"match":"\\\\bthrow\\\\b","name":"keyword.control.throw.java"},{"match":"[:?]","name":"keyword.control.ternary.java"},{"match":"\\\\b(return|yield|break|case|continue|default|do|while|for|switch|if|else)\\\\b","name":"keyword.control.java"},{"match":"\\\\b(instanceof)\\\\b","name":"keyword.operator.instanceof.java"},{"match":"(<<|>>>?|[\\\\^~])","name":"keyword.operator.bitwise.java"},{"match":"(([\\\\&^|]|<<|>>>?)=)","name":"keyword.operator.assignment.bitwise.java"},{"match":"(===?|!=|<=|>=|<>|[<>])","name":"keyword.operator.comparison.java"},{"match":"([-%*+/]=)","name":"keyword.operator.assignment.arithmetic.java"},{"match":"(=)","name":"keyword.operator.assignment.java"},{"match":"(--|\\\\+\\\\+)","name":"keyword.operator.increment-decrement.java"},{"match":"([-%*+/])","name":"keyword.operator.arithmetic.java"},{"match":"(!|&&|\\\\|\\\\|)","name":"keyword.operator.logical.java"},{"match":"([\\\\&|])","name":"keyword.operator.bitwise.java"},{"match":"\\\\b(const|goto)\\\\b","name":"keyword.reserved.java"}]},"lambda-expression":{"patterns":[{"match":"->","name":"storage.type.function.arrow.java"}]},"member-variables":{"begin":"(?=private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)","end":"(?=[;=])","patterns":[{"include":"#storage-modifiers"},{"include":"#variables"},{"include":"#primitive-arrays"},{"include":"#object-types"}]},"method-call":{"begin":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"entity.name.function.java"},"3":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method-call.java","patterns":[{"include":"#code"}]},"methods":{"begin":"(?!new)(?=[<\\\\w].*\\\\s+)(?=([^/=]|/(?!/))+\\\\()","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\\\w+)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.java"},"2":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.method.identifier.java","patterns":[{"include":"#parameters"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#generics"},{"begin":"(?=\\\\w.*\\\\s+\\\\w+\\\\s*\\\\()","end":"(?=\\\\s+\\\\w+\\\\s*\\\\()","name":"meta.method.return-type.java","patterns":[{"include":"#all-types"},{"include":"#parens"},{"include":"#comments"}]},{"include":"#throws"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]},{"include":"#comments"}]},"module":{"begin":"((open)\\\\s)?(module)\\\\s+(\\\\w+)","beginCaptures":{"1":{"name":"storage.modifier.java"},"3":{"name":"storage.modifier.java"},"4":{"name":"entity.name.type.module.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.module.end.bracket.curly.java"}},"name":"meta.module.java","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.module.begin.bracket.curly.java"}},"contentName":"meta.module.body.java","end":"(?=})","patterns":[{"include":"#comments"},{"include":"#comments-javadoc"},{"match":"\\\\b(requires|transitive|exports|opens|to|uses|provides|with)\\\\b","name":"keyword.module.java"}]}]},"numbers":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])((?<!\\\\.)\\\\h([_\\\\h]*\\\\h)?[Ll]?(?!\\\\.)|(\\\\h([_\\\\h]*\\\\h)?\\\\.?|(\\\\h([_\\\\h]*\\\\h)?)?\\\\.\\\\h([_\\\\h]*\\\\h)?)[Pp][-+]?[0-9]([0-9_]*[0-9])?[DFdf]?)\\\\b(?!\\\\$)","name":"constant.numeric.hex.java"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]([01_]*[01])?[Ll]?\\\\b(?!\\\\$)","name":"constant.numeric.binary.java"},{"match":"\\\\b(?<!\\\\$)0[0-7]([0-7_]*[0-7])?[Ll]?\\\\b(?!\\\\$)","name":"constant.numeric.octal.java"},{"match":"(?<!\\\\$)(\\\\b[0-9]([0-9_]*[0-9])?\\\\.\\\\B(?!\\\\.)|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\\\b|\\\\b[0-9]([0-9_]*[0-9])?\\\\.([0-9]([0-9_]*[0-9])?)([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\\\b|(?<!\\\\.)\\\\B\\\\.[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\\\b|\\\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\\\b|\\\\b(0|[1-9]([0-9_]*[0-9])?)(?!\\\\.)[Ll]?\\\\b)(?!\\\\$)","name":"constant.numeric.decimal.java"}]},"object-types":{"patterns":[{"include":"#generics"},{"begin":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*)([A-Z_]\\\\w*)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]},"2":{"name":"storage.type.object.array.java"}},"end":"(?!\\\\s*\\\\[)","patterns":[{"include":"#comments"},{"include":"#parens"}]},{"captures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]}},"match":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*[A-Z_]\\\\w*)\\\\s*(?=<)"},{"captures":{"1":{"patterns":[{"match":"[A-Z_a-z]\\\\w*","name":"storage.type.java"},{"match":"\\\\.","name":"punctuation.separator.period.java"}]}},"match":"\\\\b((?:[A-Z_a-z]\\\\w*\\\\s*\\\\.\\\\s*)*[A-Z_]\\\\w*)\\\\b((?=\\\\s*[\\\\n$A-Z_a-z])|(?=\\\\s*\\\\.\\\\.\\\\.))"}]},"object-types-inherited":{"patterns":[{"include":"#generics"},{"captures":{"1":{"name":"punctuation.separator.period.java"}},"match":"\\\\b(?:[A-Z]\\\\w*\\\\s*(\\\\.)\\\\s*)*[A-Z]\\\\w*\\\\b","name":"entity.other.inherited-class.java"},{"match":",","name":"punctuation.separator.delimiter.java"}]},"objects":{"match":"(?<![$\\\\w])[$A-Z_a-z][$\\\\w]*(?=\\\\s*\\\\.\\\\s*[$\\\\w]+)","name":"variable.other.object.java"},"parameters":{"patterns":[{"match":"\\\\bfinal\\\\b","name":"storage.modifier.java"},{"include":"#annotations"},{"include":"#all-types"},{"include":"#strings"},{"match":"\\\\w+","name":"variable.parameter.java"},{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"\\\\.\\\\.\\\\.","name":"punctuation.definition.parameters.varargs.java"}]},"parens":{"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.bracket.round.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.bracket.square.java"}},"end":"]","endCaptures":{"0":{"name":"punctuation.bracket.square.java"}},"patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.bracket.curly.java"}},"patterns":[{"include":"#code"}]}]},"primitive-arrays":{"patterns":[{"begin":"\\\\b(void|boolean|byte|char|short|int|float|long|double)\\\\b\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"storage.type.primitive.array.java"}},"end":"(?!\\\\s*\\\\[)","patterns":[{"include":"#comments"},{"include":"#parens"}]}]},"primitive-types":{"match":"\\\\b(void|boolean|byte|char|short|int|float|long|double)\\\\b","name":"storage.type.primitive.java"},"properties":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"keyword.control.new.java"}},"match":"(\\\\.)\\\\s*(new)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"variable.other.object.property.java"}},"match":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)(?=\\\\s*\\\\.\\\\s*[$A-Z_a-z][$\\\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"variable.other.object.property.java"}},"match":"(\\\\.)\\\\s*([$A-Z_a-z][$\\\\w]*)"},{"captures":{"1":{"name":"punctuation.separator.period.java"},"2":{"name":"invalid.illegal.identifier.java"}},"match":"(\\\\.)\\\\s*([0-9][$\\\\w]*)"}]},"record":{"begin":"(?=\\\\w?[\\\\w\\\\s]*\\\\brecord\\\\s+[$\\\\w]+)","end":"}","endCaptures":{"0":{"name":"punctuation.section.class.end.bracket.curly.java"}},"name":"meta.record.java","patterns":[{"include":"#storage-modifiers"},{"include":"#generics"},{"include":"#comments"},{"begin":"(record)\\\\s+([$\\\\w]+)(<[$\\\\w]+>)?(\\\\()","beginCaptures":{"1":{"name":"storage.modifier.java"},"2":{"name":"entity.name.type.record.java"},"3":{"patterns":[{"include":"#generics"}]},"4":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"name":"meta.record.identifier.java","patterns":[{"include":"#code"}]},{"begin":"(implements)\\\\s","beginCaptures":{"1":{"name":"storage.modifier.implements.java"}},"end":"(?=\\\\s*\\\\{)","name":"meta.definition.class.implemented.interfaces.java","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}]},{"include":"#record-body"}]},"record-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.class.begin.bracket.curly.java"}},"end":"(?=})","name":"meta.record.body.java","patterns":[{"include":"#record-constructor"},{"include":"#class-body"}]},"record-constructor":{"begin":"(?!new)(?=[<\\\\w].*\\\\s+)(?=([^(/=]|/(?!/))+(?=\\\\{))","end":"(})|(?=;)","endCaptures":{"1":{"name":"punctuation.section.method.end.bracket.curly.java"}},"name":"meta.method.java","patterns":[{"include":"#storage-modifiers"},{"begin":"(\\\\w+)","beginCaptures":{"1":{"name":"entity.name.function.java"}},"end":"(?=\\\\s*\\\\{)","name":"meta.method.identifier.java","patterns":[{"include":"#comments"}]},{"include":"#comments"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.method.begin.bracket.curly.java"}},"contentName":"meta.method.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},"static-initializer":{"patterns":[{"include":"#anonymous-block-and-instance-initializer"},{"match":"static","name":"storage.modifier.java"}]},"storage-modifiers":{"match":"\\\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|volatile|default|strictfp|sealed|non-sealed)\\\\b","name":"storage.modifier.java"},"strings":{"patterns":[{"begin":"\\"\\"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\\"\\"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.triple.java","patterns":[{"match":"(\\\\\\\\\\"\\"\\")(?!\\")|(\\\\\\\\.)","name":"constant.character.escape.java"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.double.java","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.java"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.java"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.java"}},"name":"string.quoted.single.java","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.java"}]}]},"throws":{"begin":"throws","beginCaptures":{"0":{"name":"storage.modifier.java"}},"end":"(?=[;{])","name":"meta.throwables.java","patterns":[{"match":",","name":"punctuation.separator.delimiter.java"},{"match":"[$A-Z_a-z][$.0-9A-Z_a-z]*","name":"storage.type.java"},{"include":"#comments"}]},"try-catch-finally":{"patterns":[{"begin":"\\\\btry\\\\b","beginCaptures":{"0":{"name":"keyword.control.try.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.try.end.bracket.curly.java"}},"name":"meta.try.java","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.try.resources.begin.bracket.round.java"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.try.resources.end.bracket.round.java"}},"name":"meta.try.resources.java","patterns":[{"include":"#code"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.try.begin.bracket.curly.java"}},"contentName":"meta.try.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\\\b(catch)\\\\b","beginCaptures":{"1":{"name":"keyword.control.catch.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.catch.end.bracket.curly.java"}},"name":"meta.catch.java","patterns":[{"include":"#comments"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.bracket.round.java"}},"contentName":"meta.catch.parameters.java","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.bracket.round.java"}},"patterns":[{"include":"#comments"},{"include":"#storage-modifiers"},{"begin":"[$A-Z_a-z][$.0-9A-Z_a-z]*","beginCaptures":{"0":{"name":"storage.type.java"}},"end":"(\\\\|)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.catch.separator.java"}},"patterns":[{"include":"#comments"},{"captures":{"0":{"name":"variable.parameter.java"}},"match":"\\\\w+"}]}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.catch.begin.bracket.curly.java"}},"contentName":"meta.catch.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]},{"begin":"\\\\bfinally\\\\b","beginCaptures":{"0":{"name":"keyword.control.finally.java"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.finally.end.bracket.curly.java"}},"name":"meta.finally.java","patterns":[{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.finally.begin.bracket.curly.java"}},"contentName":"meta.finally.body.java","end":"(?=})","patterns":[{"include":"#code"}]}]}]},"variables":{"begin":"(?=\\\\b((void|boolean|byte|char|short|int|float|long|double)|(?>(\\\\w+\\\\.)*[A-Z_]+\\\\w*))\\\\b\\\\s*(<[],.<>?\\\\[\\\\w\\\\s]*>)?\\\\s*((\\\\[])*)?\\\\s+[$A-Z_a-z][$\\\\w]*([]$,\\\\[\\\\w][],\\\\[\\\\w\\\\s]*)?\\\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.java","patterns":[{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\\\w]*)(?=\\\\s*(\\\\[])*\\\\s*([,:;=]))"},{"include":"#all-types"},{"include":"#code"}]},"variables-local":{"begin":"(?=\\\\b(var)\\\\b\\\\s+[$A-Z_a-z][$\\\\w]*\\\\s*([:;=]))","end":"(?=[:;=])","name":"meta.definition.variable.local.java","patterns":[{"match":"\\\\bvar\\\\b","name":"storage.type.local.java"},{"captures":{"1":{"name":"variable.other.definition.java"}},"match":"([$A-Z_a-z][$\\\\w]*)(?=\\\\s*(\\\\[])*\\\\s*([:;=]))"},{"include":"#code"}]}},"scopeName":"source.java"}`))];export{t as n,n as t};