@agent-profile/web 0.1.3 → 0.2.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.
- package/README.md +70 -29
- package/build/client/_app/immutable/assets/{0.BG6jUcBX.css → 0.8hVtEx5X.css} +1 -1
- package/build/client/_app/immutable/assets/0.8hVtEx5X.css.br +0 -0
- package/build/client/_app/immutable/assets/0.8hVtEx5X.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.BsbC-D7w.css +1 -0
- package/build/client/_app/immutable/assets/9.BsbC-D7w.css.br +0 -0
- package/build/client/_app/immutable/assets/9.BsbC-D7w.css.gz +0 -0
- package/build/client/_app/immutable/chunks/4FiW6_9u.js +1 -0
- package/build/client/_app/immutable/chunks/4FiW6_9u.js.br +2 -0
- package/build/client/_app/immutable/chunks/4FiW6_9u.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CF39CcoQ.js +3 -0
- package/build/client/_app/immutable/chunks/CF39CcoQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CF39CcoQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CRcOA4L4.js +3 -0
- package/build/client/_app/immutable/chunks/CRcOA4L4.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRcOA4L4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cc9Av3g9.js +2 -0
- package/build/client/_app/immutable/chunks/Cc9Av3g9.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cc9Av3g9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DUEBfJ-c.js +1 -0
- package/build/client/_app/immutable/chunks/DUEBfJ-c.js.br +4 -0
- package/build/client/_app/immutable/chunks/DUEBfJ-c.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DvNNrklS.js +1 -0
- package/build/client/_app/immutable/chunks/DvNNrklS.js.br +2 -0
- package/build/client/_app/immutable/chunks/DvNNrklS.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.ZULfIbKE.js +2 -0
- package/build/client/_app/immutable/entry/app.ZULfIbKE.js.br +0 -0
- package/build/client/_app/immutable/entry/app.ZULfIbKE.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.XwZvWTgq.js +1 -0
- package/build/client/_app/immutable/entry/start.XwZvWTgq.js.br +0 -0
- package/build/client/_app/immutable/entry/start.XwZvWTgq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BTaKrNnR.js +1 -0
- package/build/client/_app/immutable/nodes/0.BTaKrNnR.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BTaKrNnR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.B4GcuHvH.js +1 -0
- package/build/client/_app/immutable/nodes/1.B4GcuHvH.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B4GcuHvH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.BOQgahuX.js → 10.IHQDAuDz.js} +2 -2
- package/build/client/_app/immutable/nodes/10.IHQDAuDz.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.IHQDAuDz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.B5APptAv.js +1 -0
- package/build/client/_app/immutable/nodes/11.B5APptAv.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.B5APptAv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js +10 -0
- package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BHUaWFMZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DIhh3cSh.js +2 -0
- package/build/client/_app/immutable/nodes/3.DIhh3cSh.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DIhh3cSh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DjkBBmOF.js +4 -0
- package/build/client/_app/immutable/nodes/4.DjkBBmOF.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DjkBBmOF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BPcSAYs6.js +2 -0
- package/build/client/_app/immutable/nodes/5.BPcSAYs6.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BPcSAYs6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DZa-5yoH.js +5 -0
- package/build/client/_app/immutable/nodes/6.DZa-5yoH.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DZa-5yoH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.v6t5o5IK.js +4 -0
- package/build/client/_app/immutable/nodes/7.v6t5o5IK.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.v6t5o5IK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.UWqOmBTc.js +1 -0
- package/build/client/_app/immutable/nodes/8.UWqOmBTc.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.UWqOmBTc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.xVCOCMfn.js +3 -0
- package/build/client/_app/immutable/nodes/9.xVCOCMfn.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.xVCOCMfn.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/client/marketing.js +105 -0
- package/build/client/marketing.js.br +0 -0
- package/build/client/marketing.js.gz +0 -0
- package/build/server/chunks/{0-aBAedq2p.js → 0-IAeZ4YD5.js} +17 -11
- package/build/server/chunks/0-IAeZ4YD5.js.map +1 -0
- package/build/server/chunks/{1-7SwLsXP7.js → 1--R3gZqoU.js} +3 -3
- package/build/server/chunks/{1-7SwLsXP7.js.map → 1--R3gZqoU.js.map} +1 -1
- package/build/server/chunks/10-B2v4GVik.js +9 -0
- package/build/server/chunks/{10-B1aX7ZZ8.js.map → 10-B2v4GVik.js.map} +1 -1
- package/build/server/chunks/{11-4z6b2WB8.js → 11-DbxvesJH.js} +6 -6
- package/build/server/chunks/{11-4z6b2WB8.js.map → 11-DbxvesJH.js.map} +1 -1
- package/build/server/chunks/2-CHviyPyI.js +21 -0
- package/build/server/chunks/2-CHviyPyI.js.map +1 -0
- package/build/server/chunks/3-CdNRNP5d.js +9 -0
- package/build/server/chunks/{3-CLWhM7Et.js.map → 3-CdNRNP5d.js.map} +1 -1
- package/build/server/chunks/{4-BehBrXcu.js → 4-CCj_Mhpz.js} +6 -6
- package/build/server/chunks/{4-BehBrXcu.js.map → 4-CCj_Mhpz.js.map} +1 -1
- package/build/server/chunks/5-CqBVRlNU.js +9 -0
- package/build/server/chunks/{5-C1YtO2Ru.js.map → 5-CqBVRlNU.js.map} +1 -1
- package/build/server/chunks/{6-DJ03bQJy.js → 6-BHxeFzUE.js} +3 -3
- package/build/server/chunks/{6-DJ03bQJy.js.map → 6-BHxeFzUE.js.map} +1 -1
- package/build/server/chunks/{7-BHefj3jR.js → 7-BUFOaHdC.js} +8 -8
- package/build/server/chunks/{7-BHefj3jR.js.map → 7-BUFOaHdC.js.map} +1 -1
- package/build/server/chunks/8-BbviFV5J.js +9 -0
- package/build/server/chunks/{8-BNb36pCU.js.map → 8-BbviFV5J.js.map} +1 -1
- package/build/server/chunks/9-kCTRECfO.js +67 -0
- package/build/server/chunks/9-kCTRECfO.js.map +1 -0
- package/build/server/chunks/{Badge-BrV_lIru.js → Badge-DCQxSQCS.js} +2 -2
- package/build/server/chunks/{Badge-BrV_lIru.js.map → Badge-DCQxSQCS.js.map} +1 -1
- package/build/server/chunks/{SafetyBadge-BSDbVVMY.js → SafetyBadge-BxEGojgX.js} +2 -2
- package/build/server/chunks/{SafetyBadge-BSDbVVMY.js.map → SafetyBadge-BxEGojgX.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-C6Ru_7YV.js → _layout.svelte-CQM4xaaq.js} +8 -8
- package/build/server/chunks/_layout.svelte-CQM4xaaq.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Bv-w7cKm.js → _page.svelte-1wUrXGW-.js} +3 -3
- package/build/server/chunks/{_page.svelte-Bv-w7cKm.js.map → _page.svelte-1wUrXGW-.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BS9xpx67.js → _page.svelte-2W3EhlSt.js} +141 -60
- package/build/server/chunks/_page.svelte-2W3EhlSt.js.map +1 -0
- package/build/server/chunks/{_page.svelte-C8HqSRYY.js → _page.svelte-B3CasgD8.js} +2 -2
- package/build/server/chunks/{_page.svelte-C8HqSRYY.js.map → _page.svelte-B3CasgD8.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-QyOMa9Ce.js → _page.svelte-B6d3qwTm.js} +5 -5
- package/build/server/chunks/{_page.svelte-QyOMa9Ce.js.map → _page.svelte-B6d3qwTm.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DRj4L7XZ.js → _page.svelte-BikYFdJv.js} +4 -4
- package/build/server/chunks/{_page.svelte-DRj4L7XZ.js.map → _page.svelte-BikYFdJv.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-r2AHAn4f.js → _page.svelte-D8ffqrO3.js} +3 -3
- package/build/server/chunks/{_page.svelte-r2AHAn4f.js.map → _page.svelte-D8ffqrO3.js.map} +1 -1
- package/build/server/chunks/_page.svelte-DfUc4h7g.js +435 -0
- package/build/server/chunks/_page.svelte-DfUc4h7g.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DYBnVmA8.js → _page.svelte-sygmDxbg.js} +6 -6
- package/build/server/chunks/{_page.svelte-DYBnVmA8.js.map → _page.svelte-sygmDxbg.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DyYKrY-D.js → _page.svelte-wL3fdD1l.js} +4 -4
- package/build/server/chunks/{_page.svelte-DyYKrY-D.js.map → _page.svelte-wL3fdD1l.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DuJcNgye.js → _page.svelte-xTZOj1o8.js} +3 -3
- package/build/server/chunks/{_page.svelte-DuJcNgye.js.map → _page.svelte-xTZOj1o8.js.map} +1 -1
- package/build/server/chunks/_server.ts-B7znNtap.js +100 -0
- package/build/server/chunks/_server.ts-B7znNtap.js.map +1 -0
- package/build/server/chunks/_server.ts-BjPyYUki.js +85 -0
- package/build/server/chunks/_server.ts-BjPyYUki.js.map +1 -0
- package/build/server/chunks/_server.ts-C8Fe0kql.js +8 -0
- package/build/server/chunks/_server.ts-C8Fe0kql.js.map +1 -0
- package/build/server/chunks/_server.ts-D1Ja2hnG.js +8 -0
- package/build/server/chunks/_server.ts-D1Ja2hnG.js.map +1 -0
- package/build/server/chunks/_server.ts-DsbQ4b7x.js +43 -0
- package/build/server/chunks/_server.ts-DsbQ4b7x.js.map +1 -0
- package/build/server/chunks/_server.ts-hEGlXjuB.js +8 -0
- package/build/server/chunks/_server.ts-hEGlXjuB.js.map +1 -0
- package/build/server/chunks/{client-CBew73li.js → client-h6Frgnzt.js} +3 -3
- package/build/server/chunks/{client-CBew73li.js.map → client-h6Frgnzt.js.map} +1 -1
- package/build/server/chunks/{dev-CrqJ3ZR3.js → dev-BdIdjvaY.js} +216 -82
- package/build/server/chunks/dev-BdIdjvaY.js.map +1 -0
- package/build/server/chunks/{doctorSummary-CGjSiyKU.js → doctorSummary-FyoWuR3R.js} +3 -3
- package/build/server/chunks/{doctorSummary-CGjSiyKU.js.map → doctorSummary-FyoWuR3R.js.map} +1 -1
- package/build/server/chunks/{error.svelte-C78Jl1J5.js → error.svelte-DYzh-S9t.js} +5 -5
- package/build/server/chunks/{error.svelte-C78Jl1J5.js.map → error.svelte-DYzh-S9t.js.map} +1 -1
- package/build/server/chunks/hooks.server-BKavEpqC.js +81 -0
- package/build/server/chunks/hooks.server-BKavEpqC.js.map +1 -0
- package/build/server/chunks/index-CLnuRv4X.js +134 -0
- package/build/server/chunks/index-CLnuRv4X.js.map +1 -0
- package/build/server/chunks/index-DBqjc0Yf.js +77 -0
- package/build/server/chunks/index-DBqjc0Yf.js.map +1 -0
- package/build/server/chunks/{internal-WBaPpipk.js → internal-Dz8-ksla.js} +23 -93
- package/build/server/chunks/internal-Dz8-ksla.js.map +1 -0
- package/build/server/chunks/marketingSeo-6Ec8IVzY.js +132 -0
- package/build/server/chunks/marketingSeo-6Ec8IVzY.js.map +1 -0
- package/build/server/chunks/profileApiHelpers-CUuQdn1G.js +180 -0
- package/build/server/chunks/profileApiHelpers-CUuQdn1G.js.map +1 -0
- package/build/server/chunks/{projectContext-C4-xYqFg.js → projectContext-fk5wtjwg.js} +1393 -69
- package/build/server/chunks/projectContext-fk5wtjwg.js.map +1 -0
- package/build/server/chunks/src2-BFardyAd.js +12 -0
- package/build/server/chunks/src2-BFardyAd.js.map +1 -0
- package/build/server/chunks/{dist--t-UlYlZ.js → src3-vKD2iyNK.js} +135 -3
- package/build/server/chunks/src3-vKD2iyNK.js.map +1 -0
- package/build/server/chunks/tokenStore-DQfTa-N3.js +57 -0
- package/build/server/chunks/tokenStore-DQfTa-N3.js.map +1 -0
- package/build/server/index.js +4592 -4
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +57 -15
- package/build/server/manifest.js.map +1 -1
- package/package.json +12 -9
- package/build/client/_app/immutable/assets/0.BG6jUcBX.css.br +0 -0
- package/build/client/_app/immutable/assets/0.BG6jUcBX.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B-io8J2C.js +0 -1
- package/build/client/_app/immutable/chunks/B-io8J2C.js.br +0 -2
- package/build/client/_app/immutable/chunks/B-io8J2C.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BWDgWdtq.js +0 -3
- package/build/client/_app/immutable/chunks/BWDgWdtq.js.br +0 -0
- package/build/client/_app/immutable/chunks/BWDgWdtq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CBvCQPh1.js +0 -1
- package/build/client/_app/immutable/chunks/CBvCQPh1.js.br +0 -2
- package/build/client/_app/immutable/chunks/CBvCQPh1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DAWBIq3g.js +0 -2
- package/build/client/_app/immutable/chunks/DAWBIq3g.js.br +0 -0
- package/build/client/_app/immutable/chunks/DAWBIq3g.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DCJP-V9E.js +0 -3
- package/build/client/_app/immutable/chunks/DCJP-V9E.js.br +0 -0
- package/build/client/_app/immutable/chunks/DCJP-V9E.js.gz +0 -0
- package/build/client/_app/immutable/chunks/SOrpfga1.js +0 -1
- package/build/client/_app/immutable/chunks/SOrpfga1.js.br +0 -0
- package/build/client/_app/immutable/chunks/SOrpfga1.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CvfSMy7S.js +0 -2
- package/build/client/_app/immutable/entry/app.CvfSMy7S.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CvfSMy7S.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.nKIgWfXU.js +0 -1
- package/build/client/_app/immutable/entry/start.nKIgWfXU.js.br +0 -0
- package/build/client/_app/immutable/entry/start.nKIgWfXU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.l1JjQQQj.js +0 -1
- package/build/client/_app/immutable/nodes/0.l1JjQQQj.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.l1JjQQQj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BzbldZDH.js +0 -1
- package/build/client/_app/immutable/nodes/1.BzbldZDH.js.br +0 -4
- package/build/client/_app/immutable/nodes/1.BzbldZDH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.BOQgahuX.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.BOQgahuX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BjwWla8T.js +0 -1
- package/build/client/_app/immutable/nodes/11.BjwWla8T.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BjwWla8T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.BDMGSS6l.js +0 -9
- package/build/client/_app/immutable/nodes/2.BDMGSS6l.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BDMGSS6l.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.NnDkXnSG.js +0 -2
- package/build/client/_app/immutable/nodes/3.NnDkXnSG.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.NnDkXnSG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.8sZ5zCiS.js +0 -4
- package/build/client/_app/immutable/nodes/4.8sZ5zCiS.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.8sZ5zCiS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CSOalQ9R.js +0 -2
- package/build/client/_app/immutable/nodes/5.CSOalQ9R.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CSOalQ9R.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BMBuGW7y.js +0 -5
- package/build/client/_app/immutable/nodes/6.BMBuGW7y.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BMBuGW7y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CKFnFT6B.js +0 -4
- package/build/client/_app/immutable/nodes/7.CKFnFT6B.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CKFnFT6B.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Dw5huUXy.js +0 -1
- package/build/client/_app/immutable/nodes/8.Dw5huUXy.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Dw5huUXy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CnkwRoxn.js +0 -5
- package/build/client/_app/immutable/nodes/9.CnkwRoxn.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CnkwRoxn.js.gz +0 -0
- package/build/server/chunks/0-aBAedq2p.js.map +0 -1
- package/build/server/chunks/10-B1aX7ZZ8.js +0 -9
- package/build/server/chunks/2-BT3hDge_.js +0 -9
- package/build/server/chunks/2-BT3hDge_.js.map +0 -1
- package/build/server/chunks/3-CLWhM7Et.js +0 -9
- package/build/server/chunks/5-C1YtO2Ru.js +0 -9
- package/build/server/chunks/8-BNb36pCU.js +0 -9
- package/build/server/chunks/9-LeS-ldcl.js +0 -57
- package/build/server/chunks/9-LeS-ldcl.js.map +0 -1
- package/build/server/chunks/_layout.svelte-C6Ru_7YV.js.map +0 -1
- package/build/server/chunks/_page.svelte-BS9xpx67.js.map +0 -1
- package/build/server/chunks/_page.svelte-IYyXbXcB.js +0 -424
- package/build/server/chunks/_page.svelte-IYyXbXcB.js.map +0 -1
- package/build/server/chunks/dev-CrqJ3ZR3.js.map +0 -1
- package/build/server/chunks/dist--t-UlYlZ.js.map +0 -1
- package/build/server/chunks/hooks.server-BU12K8IL.js +0 -38
- package/build/server/chunks/hooks.server-BU12K8IL.js.map +0 -1
- package/build/server/chunks/index-CNsiSQmW.js +0 -4727
- package/build/server/chunks/index-CNsiSQmW.js.map +0 -1
- package/build/server/chunks/internal-WBaPpipk.js.map +0 -1
- package/build/server/chunks/projectContext-C4-xYqFg.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# @agent-profile/web
|
|
2
2
|
|
|
3
|
-
Local-first UI for Agent Profile Compiler. SvelteKit app
|
|
3
|
+
Local-first UI for Agent Profile Compiler. The SvelteKit app displays the
|
|
4
4
|
parsed `ai-profile.yaml`, the compiler's would-be output, and the doctor's
|
|
5
|
-
findings.
|
|
5
|
+
findings. The `/profile` route can edit the source `ai-profile.yaml` through
|
|
6
|
+
server-side validation, plain-text diff review, and explicit confirmation.
|
|
7
|
+
Generated artifacts still go through the CLI
|
|
6
8
|
(`npx agent-profile compile --write`). Launched in production via
|
|
7
9
|
`npx agent-profile ui`; this package ships the built server output.
|
|
8
10
|
|
|
9
11
|
## Status
|
|
10
12
|
|
|
11
|
-
Phase
|
|
12
|
-
|
|
13
|
-
[`docs/specs
|
|
14
|
-
truth lives in
|
|
15
|
-
[`docs/design/phase-06/handoff/`](../../docs/design/phase-06/handoff).
|
|
13
|
+
Phase 8 adds guarded local editing for an existing `ai-profile.yaml`. Phase 7
|
|
14
|
+
marketing/live route separation and CLI launch support still apply. Specs live
|
|
15
|
+
under [`docs/specs/`](../../docs/specs/).
|
|
16
16
|
|
|
17
17
|
## Run
|
|
18
18
|
|
|
@@ -35,8 +35,8 @@ The packaged UI is served from the built `@agent-profile/web` server output.
|
|
|
35
35
|
The CLI passes the project root through `AGENT_PROFILE_ROOT`; the server must
|
|
36
36
|
not rely on the package install directory as project state.
|
|
37
37
|
|
|
38
|
-
By default the UI reads `ai-profile.yaml` from the current working
|
|
39
|
-
|
|
38
|
+
By default the UI reads `ai-profile.yaml` from the current working directory.
|
|
39
|
+
Override the project root with `AGENT_PROFILE_ROOT`:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
AGENT_PROFILE_ROOT=/path/to/your/repo npm run dev --workspace @agent-profile/web
|
|
@@ -49,7 +49,7 @@ AGENT_PROFILE_ROOT=/path/to/your/repo npm run dev --workspace @agent-profile/web
|
|
|
49
49
|
| `/` | `src/routes/+page.svelte` | Marketing/onboarding route |
|
|
50
50
|
| `/landing` | `src/routes/landing/+page.svelte` | Redirect alias to `/` |
|
|
51
51
|
| `/dashboard` | `src/routes/dashboard/+page.svelte` | Live project overview |
|
|
52
|
-
| `/profile` | `src/routes/profile/+page.svelte` |
|
|
52
|
+
| `/profile` | `src/routes/profile/+page.svelte` | Guarded source profile editor |
|
|
53
53
|
| `/artifacts` | `src/routes/artifacts/+page.svelte` | Compiler tree + read-only preview |
|
|
54
54
|
| `/doctor` | `src/routes/doctor/+page.svelte` | Grouped findings list |
|
|
55
55
|
| `/diff` | `src/routes/diff/+page.svelte` | Example placeholder + CLI guidance |
|
|
@@ -57,10 +57,53 @@ AGENT_PROFILE_ROOT=/path/to/your/repo npm run dev --workspace @agent-profile/web
|
|
|
57
57
|
| `/settings` | `src/routes/settings/+page.svelte` | Read-only settings reference |
|
|
58
58
|
|
|
59
59
|
`/` is standalone and does not use live project loader data. Example project
|
|
60
|
-
values on the landing page are labeled as examples. Live project state starts
|
|
61
|
-
`/dashboard` and the other app-shell routes.
|
|
60
|
+
values on the landing page are labeled as examples. Live project state starts
|
|
61
|
+
at `/dashboard` and the other app-shell routes.
|
|
62
62
|
|
|
63
|
-
##
|
|
63
|
+
## Profile Editing
|
|
64
|
+
|
|
65
|
+
`/profile` edits only supported schema v1 fields in `ai-profile.yaml`.
|
|
66
|
+
Unsupported or invalid profiles render validation feedback and keep edit mode
|
|
67
|
+
disabled. The browser does not create a missing profile.
|
|
68
|
+
|
|
69
|
+
The save flow is:
|
|
70
|
+
|
|
71
|
+
1. Client-side field checks run for required fields, slug syntax, and duplicate
|
|
72
|
+
token lists.
|
|
73
|
+
2. `POST /api/profile/plan` re-reads `ai-profile.yaml`, validates the candidate
|
|
74
|
+
through `@agent-profile/core`, rejects secret-like or invalid-encoding
|
|
75
|
+
values, checks the base ETag, and returns a unified diff plus a short-lived
|
|
76
|
+
plan token.
|
|
77
|
+
3. The modal renders the diff as text in a `<pre>`.
|
|
78
|
+
4. `POST /api/profile/apply` consumes the plan token, re-reads the file,
|
|
79
|
+
re-validates the candidate, verifies the candidate hash, and writes only
|
|
80
|
+
`<root>/ai-profile.yaml` through the fixed-profile atomic write helper.
|
|
81
|
+
|
|
82
|
+
The profile API has no generic file-write endpoint and no route that writes
|
|
83
|
+
generated artifacts, lockfiles, package files, `.gitignore`, `.mcp.json`, or
|
|
84
|
+
client runtime config.
|
|
85
|
+
|
|
86
|
+
## Hosted SEO
|
|
87
|
+
|
|
88
|
+
The hosted marketing build is static-only and requires a canonical site URL:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
AGENT_PROFILE_SITE_URL=https://your-domain.example npm run build:marketing --workspace @agent-profile/web
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
`AGENT_PROFILE_SITE_URL` must be an origin URL with no path, query, or hash.
|
|
95
|
+
The build normalizes the root URL with a trailing slash and uses it in the
|
|
96
|
+
canonical link, Open Graph metadata, Twitter metadata, JSON-LD, `robots.txt`,
|
|
97
|
+
`sitemap.xml`, and `llms.txt`.
|
|
98
|
+
|
|
99
|
+
The hosted artifact must not link to local-only app routes. Visitors should use
|
|
100
|
+
the local CLI launch path instead:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
npx agent-profile ui
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Missing Profile Onboarding
|
|
64
107
|
|
|
65
108
|
When no `ai-profile.yaml` exists, live project routes render bootstrap states
|
|
66
109
|
instead of demo project data. The UI explains that `ai-profile.yaml` is the
|
|
@@ -73,20 +116,20 @@ npx agent-profile compile --write
|
|
|
73
116
|
npx agent-profile doctor
|
|
74
117
|
```
|
|
75
118
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
## Local-only network posture
|
|
119
|
+
## Local-Only Network Posture
|
|
79
120
|
|
|
80
121
|
- the dev server binds to `127.0.0.1` (see `vite.config.ts`)
|
|
81
122
|
- there are no third-party fonts loaded at runtime
|
|
82
123
|
- there are no analytics or telemetry calls
|
|
83
124
|
- there are no outbound HTTP requests from any route handler
|
|
125
|
+
- write-capable routes reject mismatched loopback host/port and require CSRF
|
|
84
126
|
|
|
85
|
-
##
|
|
127
|
+
## Write Boundaries
|
|
86
128
|
|
|
87
|
-
The UI
|
|
88
|
-
|
|
89
|
-
commands so
|
|
129
|
+
The UI imports only the fixed-profile write helper for confirmed
|
|
130
|
+
`ai-profile.yaml` saves. Generated artifact mutations go through
|
|
131
|
+
`agent-profile` CLI commands so generated-file first-write protection and
|
|
132
|
+
lockfile ownership stay in one path.
|
|
90
133
|
|
|
91
134
|
## Tests
|
|
92
135
|
|
|
@@ -95,16 +138,14 @@ npm run test --workspace @agent-profile/web
|
|
|
95
138
|
```
|
|
96
139
|
|
|
97
140
|
Tests use Node's built-in test runner via `tsx`. They cover the project
|
|
98
|
-
context loader, secret redaction,
|
|
99
|
-
|
|
141
|
+
context loader, secret redaction, preview truncation, server hook protections,
|
|
142
|
+
profile API helpers, and guarded profile write routes.
|
|
100
143
|
|
|
101
144
|
## Theming
|
|
102
145
|
|
|
103
|
-
Dark by default. Tokens are defined in `src/lib/styles/tokens.css` and
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
(see `docs/specs/phase-06/README.md`).
|
|
146
|
+
Dark by default. Tokens are defined in `src/lib/styles/tokens.css` and mirror
|
|
147
|
+
`docs/design/phase-06/handoff/wireframes-styles.css`. Light theme parity is
|
|
148
|
+
intentionally deferred until the dashboard variant is selected.
|
|
107
149
|
|
|
108
|
-
The production UI uses Inter for prose and JetBrains Mono for
|
|
109
|
-
|
|
110
|
-
intentionally not loaded here.
|
|
150
|
+
The production UI uses Inter for prose and JetBrains Mono for code, paths, and
|
|
151
|
+
badges.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--accent:oklch(72% .12 240);--accent-dim:oklch(45% .08 240);--accent-bg:oklch(28% .05 240/.18);--bg:oklch(16% .005 270);--bg-1:oklch(19% .006 270);--bg-2:oklch(22% .007 270);--bg-3:oklch(26% .008 270);--line:oklch(32% .008 270);--line-soft:oklch(26% .008 270);--ink:oklch(94% .005 270);--ink-2:oklch(78% .006 270);--ink-3:oklch(58% .008 270);--ink-4:oklch(42% .008 270);--ok:oklch(78% .12 145);--warn:oklch(82% .12 80);--err:oklch(70% .16 25);--info:oklch(78% .1 220);--unknown:oklch(65% .02 270);--radius:4px;--radius-lg:8px;--pad:16px;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased;background:oklch(10% .005 270);min-height:100vh}a{color:var(--accent)}.app{background:var(--bg);color:var(--ink);font-family:var(--font-ui);grid-template-columns:220px 1fr;min-height:100vh;display:grid}.ic-svg{stroke:currentColor;stroke-width:1.5px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:14px;height:14px}.appv3{background:var(--bg);color:var(--ink);font-family:var(--font-ui);grid-template:"header header"48px"side work"1fr"foot foot"56px/184px 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.appv3.collapsed{grid-template-columns:48px 1fr}.appv3-header{background:var(--bg-1);border-bottom:1px solid var(--line-soft);z-index:20;grid-area:header;align-items:center;gap:14px;padding:0 12px;display:flex;position:sticky;top:0}.appv3-header .toggle{width:30px;height:30px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.appv3-header .toggle:hover{background:var(--bg-2);color:var(--ink)}.appv3-header .brand{font-family:var(--font-mono);color:var(--ink);border-radius:4px;flex-shrink:0;align-items:center;gap:8px;padding:4px 6px;font-size:13px;font-weight:600;display:flex}.appv3-header a.brand:hover{background:var(--bg-2)}.appv3-header .brand .mk{background:var(--accent);border-radius:3px;flex-shrink:0;width:18px;height:18px;position:relative}.appv3-header .brand .mk:after{content:"";border:1.5px solid var(--bg-1);border-radius:1px;position:absolute;inset:5px}.appv3-header .brand .ver{color:var(--ink-4);border:1px solid var(--line);border-radius:2px;padding:1px 5px;font-size:10px;font-weight:400}.appv3-header .header-crumbs{font-family:var(--font-mono);color:var(--ink-3);border-left:1px solid var(--line-soft);align-items:center;gap:6px;margin-left:4px;padding-left:14px;font-size:12px;display:flex;overflow:hidden}.appv3-header .header-crumbs .sep{color:var(--ink-4)}.appv3-header .header-crumbs .here{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appv3-header .grow{flex:1}.appv3-header .header-btn{width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.appv3-header .header-btn:hover{background:var(--bg-2);color:var(--ink)}.profile-dd{flex-shrink:0;position:relative}.profile-dd-trigger{background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-2);cursor:pointer;border-radius:4px;align-items:center;gap:8px;height:30px;padding:5px 8px 5px 10px;font-size:11px;display:inline-flex}.profile-dd-trigger:hover{border-color:var(--ink-4)}.profile-dd-trigger .lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);font-size:9px}.profile-dd-trigger .nm{color:var(--ink);font-weight:500}.profile-dd-trigger .hash{color:var(--ink-4);border-left:1px solid var(--line);padding-left:8px;font-size:10px}.profile-dd-menu{background:var(--bg-1);border:1px solid var(--line);z-index:100;width:320px;font-family:var(--font-ui);border-radius:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 32px -8px #00000080}.profile-dd-h{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-4);padding:10px 12px 6px;font-size:9px}.profile-dd-item{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 12px;display:flex}.profile-dd-item:hover,.profile-dd-item.on{background:var(--bg-2)}.profile-dd-item .check{width:12px;height:12px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.profile-dd-item .meta{flex-direction:column;gap:1px;min-width:0;display:flex}.profile-dd-item .nm{color:var(--ink);font-size:12px;font-weight:500}.profile-dd-item .sub{color:var(--ink-4);font-size:10px;font-family:var(--font-mono)}.profile-dd-note{color:var(--ink-3);margin:8px 12px 10px;font-size:11px;line-height:1.45}.profile-dd-foot{border-top:1px solid var(--line-soft);padding:4px;display:flex}.profile-dd-foot a{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:3px;flex:1;padding:7px 10px;font-size:11px;text-decoration:none}.profile-dd-foot a:hover{background:var(--bg-2);color:var(--ink)}.appv3-side{background:var(--bg-1);border-right:1px solid var(--line-soft);flex-direction:column;grid-area:side;align-self:start;height:calc(100vh - 104px);padding:8px 6px;display:flex;position:sticky;top:48px;overflow:hidden}.appv3-side .nav-section{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);white-space:nowrap;padding:10px 10px 4px;font-size:9px;overflow:hidden}.appv3-nav{font-family:var(--font-ui);color:var(--ink-3);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:13px;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.appv3.collapsed .appv3-nav{justify-content:center;padding:8px 0}.appv3-nav:hover,.appv3-nav.active{color:var(--ink);background:var(--bg-2)}.appv3-nav.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:6px;bottom:6px;left:0}.appv3.collapsed .appv3-nav.active:before{left:-6px}.appv3-nav .nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.appv3.collapsed .appv3-nav .nav-label{display:none}.appv3.collapsed .appv3-nav:hover:after{content:attr(data-label);background:var(--bg-3);border:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);white-space:nowrap;z-index:30;pointer-events:none;border-radius:3px;padding:4px 8px;font-size:11px;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.appv3-side-foot{border-top:1px solid var(--line-soft);margin-top:auto;padding:10px}.appv3-side-foot .safety-line{justify-content:center;display:flex}.appv3.collapsed .appv3-side-foot{padding:8px 4px}.appv3-work{grid-area:work;min-height:0;overflow:auto}.appv3-work .content{min-height:100%;padding:18px 22px}.appv3-foot{background:var(--bg-1);border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-3);z-index:10;grid-area:foot;align-items:center;gap:18px;padding:0 18px;font-size:11px;display:flex;position:sticky;bottom:0}.appv3-foot .foot-status{align-items:center;gap:8px;display:inline-flex}.appv3-foot .foot-status .dot{background:var(--ok);border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px oklch(78% .12 145/.5)}.appv3-foot .foot-status.warn .dot{background:var(--warn);box-shadow:0 0 8px oklch(80% .12 80/.5)}.appv3-foot .foot-status.fail .dot{background:var(--err);box-shadow:0 0 8px oklch(70% .12 25/.5)}.appv3-foot .foot-status.unknown .dot{background:var(--ink-4);box-shadow:none}.appv3-foot .foot-status .flbl{color:var(--ok);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600}.appv3-foot .foot-status.warn .flbl{color:var(--warn)}.appv3-foot .foot-status.fail .flbl{color:var(--err)}.appv3-foot .foot-status.unknown .flbl,.appv3-foot .foot-status .sep{color:var(--ink-4)}.appv3-foot .foot-status a{color:var(--ink-3);text-decoration:none}.appv3-foot .foot-status a:hover{color:var(--ink)}.appv3-foot .foot-grow{flex:1}.appv3-foot .foot-links{gap:16px;display:inline-flex}.appv3-foot .foot-links a{color:var(--ink-3);cursor:pointer;text-decoration:none}.appv3-foot .foot-links a:hover{color:var(--ink)}.appv3-foot .foot-end{border-left:1px solid var(--line-soft);color:var(--ink-4);align-items:center;gap:8px;padding-left:16px;display:inline-flex}.appv3-foot .foot-end .ver{border:1px solid var(--line);color:var(--ink-3);border-radius:2px;padding:1px 5px}.appv3-foot .foot-end .lic{color:var(--ink-4);font-size:10px}.seg{border:1px solid var(--line);background:var(--bg-2);border-radius:4px;display:inline-flex;overflow:hidden}.seg button{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;border:0;border-right:1px solid var(--line);background:0 0;padding:5px 12px;font-size:11px}.seg button:last-child{border-right:0}.seg button:hover{color:var(--ink);background:var(--bg-3)}.seg button.on{background:var(--bg-3);color:var(--ink);font-weight:500}.settings-section-lbl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);margin-top:20px;margin-bottom:8px;font-size:10px}.settings-section-lbl:first-child{margin-top:0}.settings-foot-note{text-align:center;font-family:var(--font-mono);color:var(--ink-4);margin-top:18px;font-size:11px}body.lightmode{--bg:oklch(98.5% .003 90);--bg-1:oklch(96.5% .003 90);--bg-2:oklch(93.5% .004 90);--bg-3:oklch(89.5% .005 90);--line:oklch(85% .005 90);--line-soft:oklch(91% .004 90);--ink:oklch(22% .005 270);--ink-2:oklch(36% .006 270);--ink-3:oklch(50% .008 270);--ink-4:oklch(66% .008 270);--accent:oklch(50% .14 250);--ok:oklch(55% .14 145);--warn:oklch(62% .16 60);--err:oklch(55% .2 25);--info:oklch(55% .12 220);background:var(--bg);color:var(--ink)}body.lightmode .appv3-header,body.lightmode .appv3-side,body.lightmode .appv3-foot{background:var(--bg-1);border-color:var(--line-soft)}body.lightmode .appv3-nav{color:var(--ink-3)}body.lightmode .appv3-nav:hover,body.lightmode .appv3-nav.active{background:var(--bg-2);color:var(--ink)}body.lightmode .card{background:var(--bg-1);border-color:var(--line-soft)}body.lightmode .kv-list .k{color:var(--ink-3)}body.lightmode .kv-list .v{color:var(--ink)}body.lightmode .status-strip{background:var(--bg-1);border-color:var(--line-soft)}body.lightmode .btn{background:var(--bg-1);border-color:var(--line);color:var(--ink)}body.lightmode pre,body.lightmode code{color:var(--ink-2)}body.lightmode .yaml{background:var(--bg-1)}body.lightmode .profile-dd-trigger{background:var(--bg-2);border-color:var(--line)}body.lightmode .profile-dd-menu{background:var(--bg-1);border-color:var(--line)}body.lightmode .seg{background:var(--bg-2);border-color:var(--line)}body.lightmode .seg button.on{background:var(--bg-3);color:var(--ink)}@media (width<=760px){.appv3,.appv3.collapsed{grid-template-rows:48px 1fr 44px;grid-template-areas:"header""work""foot";min-width:0;grid-template-columns:1fr!important}.appv3-side{display:none}.appv3-header{gap:8px;min-width:0}.appv3-header .header-crumbs,.appv3-header .profile-dd,.appv3-header .header-btn{display:none}.appv3-header .brand{min-width:0;overflow:hidden}.appv3-work{min-width:0}.appv3-work .content{padding:14px}.appv3-foot{gap:8px;min-width:0;padding:0 12px;overflow:hidden}.appv3-foot .foot-links,.appv3-foot .foot-end{display:none}.appv3-foot .foot-status{white-space:nowrap;min-width:0;overflow:hidden}}.titlebar{background:var(--bg-1);border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-3);grid-column:1/-1;align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:flex}.titlebar .dots{gap:6px;display:flex}.titlebar .dots i{background:var(--bg-3);border-radius:50%;width:10px;height:10px;display:block}.titlebar .dots i:first-child{background:oklch(65% .14 30)}.titlebar .dots i:nth-child(2){background:oklch(78% .12 80)}.titlebar .dots i:nth-child(3){background:oklch(72% .12 145)}.titlebar .path{text-align:center;flex:1}.titlebar .right{color:var(--ink-4)}.sidebar{background:var(--bg-1);border-right:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:14px 8px;display:flex;overflow:hidden}.sidebar .brand{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;margin-bottom:8px;padding:6px 8px 14px;display:flex}.sidebar .brand .mark{background:var(--accent);border-radius:3px;flex-shrink:0;width:22px;height:22px;position:relative}.sidebar .brand .mark:after{content:"";border:2px solid var(--bg-1);border-radius:1px;position:absolute;inset:6px}.sidebar .brand .name{font-family:var(--font-mono);color:var(--ink);letter-spacing:.02em;font-size:12px;font-weight:600}.sidebar .brand .ver{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:9px}.nav-item{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:12px;text-decoration:none;display:flex}.nav-item:hover{color:var(--ink);background:var(--bg-2)}.nav-item.active{color:var(--ink);background:var(--bg-2);box-shadow:inset 2px 0 0 var(--accent)}.nav-item .glyph{opacity:.75;border:1px solid;border-radius:2px;flex-shrink:0;width:14px;height:14px}.nav-item .num{color:var(--ink-4);margin-left:auto;font-size:9px}.sidebar-foot{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-4);flex-direction:column;gap:4px;margin-top:auto;padding:8px 10px;font-size:10px;display:flex}.sidebar-foot .row{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-foot .row b{color:var(--ink-2);font-weight:500}.workspace{flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line-soft);background:var(--bg);box-sizing:border-box;flex-shrink:0;align-items:center;gap:12px;min-height:44px;padding:10px 16px;font-size:13px;display:flex}.crumbs{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:6px;font-size:11px;display:flex}.crumbs .sep{color:var(--ink-4)}.crumbs .here{color:var(--ink)}.topbar .spacer{flex:1}.topbar .kbd{font-family:var(--font-mono);color:var(--ink-3);border:1px solid var(--line);border-radius:3px;padding:2px 6px;font-size:10px}.content{flex:1;padding:18px 22px;overflow:auto}.badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-2);white-space:nowrap;border-radius:3px;align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-flex}.badge .dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px}.badge.ok{color:var(--ok);border-color:oklch(50% .1 145/.5)}.badge.ok .dot{background:var(--ok)}.badge.warn{color:var(--warn);border-color:oklch(50% .1 80/.5)}.badge.warn .dot{background:var(--warn)}.badge.err{color:var(--err);border-color:oklch(50% .12 25/.5)}.badge.err .dot{background:var(--err)}.badge.info{color:var(--info);border-color:oklch(50% .08 220/.5)}.badge.info .dot{background:var(--info)}.badge.muted{color:var(--ink-3)}.badge.muted .dot{background:var(--ink-3)}.badge.accent{color:var(--accent);border-color:oklch(50% .1 240/.6)}.badge.accent .dot{background:var(--accent)}.safety-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid;border-radius:3px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.safety-badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.safety-badge[data-mode=guarded]{color:var(--ok);background:oklch(40% .08 145/.15);border-color:oklch(50% .1 145/.7)}.safety-badge[data-mode=balanced]{color:var(--info);background:oklch(40% .06 220/.15);border-color:oklch(50% .08 220/.7)}.safety-badge[data-mode=autonomous]{color:var(--err);background:oklch(40% .1 25/.15);border-color:oklch(50% .12 25/.7)}.safety-badge[data-mode=plan-only]{color:var(--ink-2);border-color:var(--line);background:var(--bg-2)}.path,.mono{font-family:var(--font-mono);font-size:12px}.path{color:var(--ink-2)}.card{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--radius);padding:14px}.btn{font-family:var(--font-mono);cursor:pointer;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);border-radius:4px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-3)}.btn.ghost{background:0 0}.trust{color:var(--ink-2);background:oklch(30% .06 145/.12);border:1px solid oklch(40% .08 145/.4);border-radius:4px;align-items:center;gap:14px;padding:10px 14px;font-size:12px;display:flex}.trust .lock{border:1.5px solid var(--ok);border-radius:3px;flex-shrink:0;width:18px;height:18px;position:relative}.hr-hand{height:8px;margin:10px 0;position:relative}.hr-hand:before{content:"";border-top:1px dashed var(--line);position:absolute;top:50%;left:0;right:0}.btn.primary{background:var(--accent);border-color:var(--accent);color:oklch(15% .02 240);font-weight:600}.btn.primary:hover{background:oklch(78% .12 240)}.page-intro{flex-direction:column;gap:6px;max-width:760px;margin:8px 0 20px;display:flex}.page-intro h2{font-family:var(--font-mono);color:var(--ink);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.empty{color:var(--ink-3);font-family:var(--font-mono);text-align:center;padding:32px 0;font-size:12px}.warn-callout{color:var(--ink-2);background:oklch(40% .08 80/.1);border:1px solid oklch(50% .1 80/.4);border-radius:4px;align-items:flex-start;gap:10px;margin:10px 0;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.warn-callout .icon{color:var(--warn);font-family:var(--font-mono);flex-shrink:0;font-size:13px}.warn-callout .badge.warn{margin-bottom:4px}.warn-callout .dot{background:var(--warn);border-radius:50%;width:6px;height:6px;display:inline-block}.card .ck-h{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.card .ck-h .t{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:11px;font-family:var(--font-mono);font-weight:500}.card .ck-v{font-family:var(--font-mono);color:var(--ink);font-size:18px;font-weight:500}.card .ck-sub{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);margin-top:4px}.section-title{justify-content:space-between;align-items:baseline;margin:18px 0 8px;display:flex}.section-title h3{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-size:11px;font-family:var(--font-mono);margin:0;font-weight:500}.tree-row{text-align:left;cursor:pointer;width:100%;color:var(--ink-2);font-family:var(--font-mono);background:0 0;border:0;border-radius:2px;align-items:center;gap:8px;padding:2px 6px;font-size:12px;display:flex}.tree-row:hover{background:var(--bg-2)}.tree-row.sel{background:var(--accent-bg);color:var(--ink)}.tree-row .indent{width:14px;color:var(--ink-4);flex-shrink:0;font-size:10px}.tree-row .name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-row .name.dir{color:var(--ink-2)}.preview{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.preview .head{border-bottom:1px solid var(--line-soft);background:var(--bg-2);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:flex}.preview .body{font-family:var(--font-mono);color:var(--ink-2);white-space:pre;background:var(--bg);flex:1;margin:0;padding:14px;font-size:11.5px;line-height:1.65;overflow:auto}.preview .foot{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-4);background:var(--bg-1);padding:8px 14px;font-size:11px}.diff{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--line-soft);border-radius:4px;font-size:12px;line-height:1.55;overflow:hidden}.diff .file-h{background:var(--bg-2);border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:6px 12px;font-size:11px;display:flex}.diff .hunk{grid-template-columns:36px 36px 1fr;font-size:11.5px;display:grid}.diff .hunk>div{white-space:pre;border-bottom:1px solid oklch(18% .005 270);padding:1px 8px}.diff .ln{text-align:right;color:var(--ink-4);-webkit-user-select:none;user-select:none;background:var(--bg-1)}.diff .code{white-space:pre}.diff .hunk.add{background:oklch(32% .08 145/.18)}.diff .hunk.add .ln{color:var(--ok);background:oklch(30% .08 145/.25)}.diff .hunk.add .code:before{content:"+ ";color:var(--ok)}.diff .hunk.del{background:oklch(32% .1 25/.15)}.diff .hunk.del .ln{color:var(--err);background:oklch(30% .1 25/.2)}.diff .hunk.del .code:before{content:"− ";color:var(--err)}.diff .hunk.ctx .code:before{content:" "}.finding .sev{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.finding.warn .sev{background:var(--warn);box-shadow:0 0 0 4px oklch(50% .1 80/.15)}.finding.err .sev{background:var(--err);box-shadow:0 0 0 4px oklch(50% .12 25/.15)}.finding .h{align-items:baseline;gap:10px;display:flex}.finding .actions{flex-direction:column;gap:6px;display:flex}.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;font-family:var(--font-mono)}.matrix th,.matrix td{text-align:left;border-bottom:1px solid var(--line-soft);padding:10px 12px}.matrix th{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;background:var(--bg-1);font-size:11px;font-weight:500;position:sticky;top:0}.matrix th.tgt,.matrix td.tgt{text-align:center}.matrix tr:hover td{background:var(--bg-1)}.cap-name{color:var(--ink)}.cap-sub{color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10px;display:block}.timeline{flex-direction:column;display:flex}.tl-item{border-bottom:1px dashed var(--line-soft);grid-template-columns:110px 16px 1fr;gap:12px;padding:10px 0;display:grid}.tl-time{font-family:var(--font-mono);color:var(--ink-3);padding-top:6px;font-size:11px}.tl-rail{position:relative}.tl-rail:before{content:"";border-left:1px solid var(--line-soft);position:absolute;top:14px;bottom:-10px;left:7px}.tl-dot{background:var(--accent);z-index:1;border-radius:50%;width:8px;height:8px;margin-top:6px;margin-left:4px;position:relative}.form-section{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:4px;margin-bottom:8px;overflow:hidden}.form-section .head{font-family:var(--font-mono);color:inherit;cursor:pointer;width:100%;font-size:12px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.form-section:not(.open) .body{display:none}.form-section .body{border-top:1px solid var(--line-soft);padding:10px 14px 12px}.form-section .car{color:var(--ink-3);transition:transform .12s;display:inline-block}.form-section.open .car{transform:rotate(90deg)}.yaml{background:var(--bg);border:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-2);white-space:pre;border-radius:4px;padding:12px 14px;font-size:11.5px;line-height:1.65;overflow:auto}.yaml .yk{color:oklch(78% .1 220)}.yaml .ys{color:oklch(82% .1 80)}.yaml .yc{color:var(--ink-4)}.yaml .yn{color:oklch(75% .1 145)}.trust .lock:before{content:"";border:1.5px solid var(--ok);border-bottom:0;border-radius:4px 4px 0 0;width:8px;height:6px;position:absolute;top:-5px;left:3px}.trust b{color:var(--ok);font-weight:600}.trust .checks{font-family:var(--font-mono);gap:14px;margin-left:auto;font-size:11px;display:flex}.trust .checks span:before{content:"✓ ";color:var(--ok)}.btn.primary{background:var(--accent);border-color:var(--accent);color:oklch(99% 0 0)}.btn.primary:hover{filter:brightness(1.1)}.btn.danger{color:var(--err);background:0 0;border-color:oklch(50% .12 25/.5)}.btn.danger:hover{background:oklch(40% .1 25/.1)}.section-title{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;margin-top:22px;margin-bottom:10px;padding-bottom:6px;display:flex}.section-title h3{font-family:var(--font-ui);color:var(--ink);letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.section-title .more{font-family:var(--font-mono);color:var(--ink-4);font-size:11px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:6px;display:grid}@media (width<=900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-grid .card{padding:12px 14px}.ck-h{align-items:center;gap:6px;margin-bottom:6px;display:flex}.ck-h .t{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);font-size:9px}.ck-v{font-family:var(--font-mono);color:var(--ink);font-size:15px;font-weight:500;line-height:1.3}.ck-sub{font-family:var(--font-mono);color:var(--ink-4);margin-top:4px;font-size:10px}.timeline{flex-direction:column;gap:0;display:flex}.tl-item{grid-template-columns:110px 24px 1fr;align-items:start;gap:0 10px;min-height:36px;display:grid}.tl-time{font-family:var(--font-mono);color:var(--ink-4);text-align:right;padding-top:8px;font-size:11px}.tl-rail{flex-direction:column;align-items:center;display:flex;position:relative}.tl-rail:before{content:"";background:var(--line-soft);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tl-dot{background:var(--accent);z-index:1;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:8px;position:relative}.tl-body{color:var(--ink-2);padding:5px 0 14px;font-size:12px}.tl-body .cmd{font-family:var(--font-mono);color:var(--ink);font-size:12px}.tl-body .meta{font-family:var(--font-mono);color:var(--ink-4);margin-top:2px;font-size:11px}.matrix{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:12px}.matrix thead th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);border-bottom:1px solid var(--line-soft);padding:8px 14px;font-size:10px;font-weight:500}.matrix thead th.tgt{text-align:center}.matrix tbody tr{border-bottom:1px solid var(--line-soft)}.matrix tbody tr:last-child{border-bottom:0}.matrix tbody td{color:var(--ink-2);vertical-align:middle;padding:8px 14px}.matrix tbody td.tgt{text-align:center}.matrix tbody tr:hover td{background:var(--bg-2)}.cap-name{color:var(--ink);font-size:12px;display:block}.cap-sub{color:var(--ink-4);margin-top:1px;font-size:10px;display:block}.diff{background:var(--bg-1);border:1px solid var(--line-soft);font-family:var(--font-mono);border-radius:4px;font-size:12px;overflow:hidden}.file-h{background:var(--bg-2);border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:9px 14px;display:flex}.hunk{grid-template-columns:36px 36px 1fr;min-height:22px;display:grid}.hunk .ln{color:var(--ink-4);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line-soft);text-align:right;padding:2px 10px;font-size:11px}.hunk .code{color:var(--ink-2);white-space:pre;padding:2px 12px}.hunk.add{background:oklch(25% .05 145/.3)}.hunk.add .code{color:var(--ok)}.hunk.del{background:oklch(25% .06 25/.3)}.hunk.del .code{color:var(--err)}.hunk.ctx{background:0 0}.yk{color:oklch(75% .1 280)}.ys{color:var(--ok)}.yn{color:var(--accent)}.yc{color:var(--ink-4)}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:1}.muted{color:var(--ink-3)}.faint{color:var(--ink-4)}.upper{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.kv-list{grid-template-columns:130px 1fr;gap:8px 14px;font-size:12px;display:grid}.kv-list .k{color:var(--ink-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.kv-list .v{color:var(--ink);font-family:var(--font-mono)}.page-intro{flex-direction:column;justify-content:center;gap:6px;max-width:760px;min-height:88px;margin:4px 0 18px;display:flex}.page-intro h2{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:22px;font-weight:600}.page-intro p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.55}.form-section{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:4px;margin-bottom:10px}.form-section .head{border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 14px;font-size:12px;display:flex}.form-section .head .car{color:var(--ink-3);transition:transform .12s;display:inline-block}.form-section.open .head .car{transform:rotate(90deg)}.form-section .body{padding:12px 14px;display:none}.form-section.open .body{display:block}.field{grid-template-columns:130px 1fr;align-items:start;gap:12px;padding:6px 0;display:grid}.field .lbl{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding-top:6px;font-size:11px}.field .val{font-family:var(--font-mono);color:var(--ink);font-size:12px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink);border-radius:3px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.chip.del{color:var(--ink-3)}.yaml{background:var(--bg);border:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-2);white-space:pre;border-radius:4px;margin:0;padding:12px 14px;font-size:11.5px;line-height:1.65;overflow:auto}.tree{font-family:var(--font-mono);font-size:12px;line-height:1.7}.tree .tree-row{color:var(--ink);cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:0;border-radius:2px;align-items:center;gap:8px;padding:1px 6px;display:flex}.tree .tree-row:hover{background:var(--bg-2)}.tree .tree-row.sel{background:var(--accent-bg)}.tree .indent{width:14px;color:var(--ink-4);flex-shrink:0;display:inline-block}.tree .name{color:var(--ink);flex:1}.tree .name.dir{color:var(--ink-2)}.finding{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:4px;grid-template-columns:auto 1fr;align-items:start;gap:10px 14px;padding:12px 14px;display:grid}.finding .sev{border-radius:50%;width:10px;height:10px;margin-top:5px}.finding.warning .sev{background:var(--warn);box-shadow:0 0 0 4px oklch(50% .1 80/.15)}.finding.error .sev{background:var(--err);box-shadow:0 0 0 4px oklch(50% .12 25/.15)}.finding.info .sev{background:var(--info);box-shadow:0 0 0 4px oklch(50% .08 220/.15)}.finding.nv .sev{background:var(--unknown);box-shadow:0 0 0 4px oklch(40% 0 0/.15)}.finding .body{flex-direction:column;gap:6px;display:flex}.finding .h{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.finding .rule{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.finding .title{color:var(--ink);font-size:13px;font-weight:500}.finding .desc{color:var(--ink-2);font-size:12px;line-height:1.55}.finding .fix{font-family:var(--font-mono);color:var(--ink-2);background:var(--bg-2);border-left:2px solid var(--accent);border-radius:3px;padding:6px 10px;font-size:11px}.status-strip{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:4px;gap:0;margin-bottom:14px;display:flex;overflow:hidden}.status-strip>div{border-right:1px solid var(--line-soft);flex-direction:column;flex:1;gap:4px;padding:10px 14px;display:flex}.status-strip>div:last-child{border-right:0}.status-strip .lbl{font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.status-strip .val{font-family:var(--font-mono);color:var(--ink);align-items:center;gap:6px;font-size:13px;display:flex}.preview{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:4px;flex-direction:column;min-height:320px;display:flex}.preview .head{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.preview .head .meta{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:10px}.preview .body{font-family:var(--font-mono);color:var(--ink-2);white-space:pre;flex:1;margin:0;padding:14px;font-size:12px;line-height:1.7;overflow:auto}.preview .foot{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-3);gap:8px;padding:10px 14px;font-size:11px;display:flex}.warn-callout{color:var(--ink-2);background:oklch(40% .08 80/.1);border:1px solid oklch(50% .1 80/.4);border-radius:4px;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:12px;display:flex}.warn-callout .icon{color:var(--warn);font-family:var(--font-mono);font-size:12px}.empty{border:1px dashed var(--line);background:var(--bg-1);color:var(--ink-3);font-family:var(--font-mono);text-align:center;border-radius:4px;padding:28px;font-size:12px;line-height:1.6}.home-section{margin-top:28px}.home-section-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;padding-bottom:8px;display:flex}.home-section-head h3{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:18px;font-weight:600}.home-section-sub{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;font-size:11px}.home-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.home-grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=1100px){.home-grid-3,.home-grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.home-grid-2,.home-grid-3,.home-grid-4{grid-template-columns:1fr}}.home-card{flex-direction:column;gap:10px;display:flex}.home-card-head{align-items:center;gap:10px;display:flex}.home-card-name{font-family:var(--font-mono);color:var(--ink);letter-spacing:.01em;font-size:13px;font-weight:600}.home-card-blurb{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.home-card-paths{color:var(--ink-4);border-top:1px dashed var(--line-soft);padding-top:8px;font-size:11px!important}.home-later{border:1px dashed var(--line);background:var(--bg-1);border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:11px;display:flex}.home-list{color:var(--ink-2);flex-direction:column;gap:8px;margin:0;padding:0;font-size:12.5px;line-height:1.55;list-style:none;display:flex}.home-list li{border-bottom:1px dashed var(--line-soft);align-items:baseline;gap:8px;padding-bottom:8px;display:flex}.home-list li:last-child{border-bottom:0;padding-bottom:0}.home-footer{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-4);text-align:center;margin-top:36px;padding:16px 0;font-size:11px}.terminal{border:1px solid var(--line);font-family:var(--font-mono);background:oklch(12% .005 270);border-radius:6px;font-size:12.5px;line-height:1.7;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(18% .005 270),0 4px 18px oklch(5% 0 0/.5)}.terminal-bar{border-bottom:1px solid var(--line-soft);color:var(--ink-3);background:oklch(16% .005 270);align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:flex}.terminal-bar .dots{gap:6px;display:inline-flex}.terminal-bar .dots i{background:var(--bg-3);border-radius:50%;width:10px;height:10px;display:block}.terminal-bar .dots i:first-child{background:oklch(65% .14 30)}.terminal-bar .dots i:nth-child(2){background:oklch(78% .12 80)}.terminal-bar .dots i:nth-child(3){background:oklch(72% .12 145)}.terminal-title{text-align:center;flex:1}.terminal-body{color:var(--ink-2);white-space:pre;padding:14px 16px;overflow-x:auto}.terminal-line{align-items:baseline;gap:10px;display:flex}.terminal-prompt{color:var(--accent);font-weight:600}.terminal-cmd{color:var(--ink)}.terminal-out{color:var(--ink-3);padding-left:18px}.terminal-spacer{height:6px}.terminal-cursor{color:var(--ink);animation:1.1s steps(2,end) infinite terminal-blink}@keyframes terminal-blink{to{opacity:0}}.workflow-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.workflow-card{background:var(--bg-1);border:1px solid var(--line-soft);color:var(--ink);border-radius:6px;grid-template-columns:auto 1fr;grid-template-areas:"n t""n d";gap:4px 10px;padding:14px;text-decoration:none;display:grid}.workflow-card:hover{border-color:var(--accent);background:oklch(40% .08 240/.08)}.workflow-card .n{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;grid-area:n;padding-top:2px;font-size:10px}.workflow-card .t{font-family:var(--font-mono);grid-area:t;font-size:12px;font-weight:600}.workflow-card .d{color:var(--ink-3);grid-area:d;font-size:12px;line-height:1.45}.command-callout{border:1px dashed var(--line);background:var(--bg-1);font-family:var(--font-mono);color:var(--ink-3);border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;font-size:11px;display:flex}.command-callout.vertical{flex-direction:column;align-items:flex-start}.command-callout .lbl{color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em}.command-callout .cmd{color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line-soft);border-radius:3px;padding:3px 7px}.dashboard-workflow button.btn.ghost{display:none}.finding-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.finding-actions .btn{padding:5px 9px;font-size:11px}.profile-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.profile-workspace{grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;gap:14px;display:grid}.profile-form{min-width:0}.profile-note{font-family:var(--font-ui);color:var(--ink-3);margin-top:8px;font-size:11px;line-height:1.5}.profile-side{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:6px;min-width:0;position:sticky;top:62px;overflow:hidden}.profile-side-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.profile-summary{flex-direction:column;gap:14px;padding:14px;display:flex}.profile-score{border:1px solid var(--line-soft);background:var(--bg-2);border-radius:5px;align-items:baseline;gap:10px;padding:14px;display:flex}.profile-score .big{font-family:var(--font-mono);color:var(--accent);font-size:34px;line-height:1}.profile-score .lbl{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.kv-list.compact{background:0 0;border:0;grid-template-columns:92px 1fr;padding:0}.yaml-guard{color:var(--ink-2);background:oklch(40% .08 80/.1);border:1px solid oklch(50% .1 80/.45);border-radius:4px;gap:8px;margin:12px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.yaml-guard .icon{color:var(--warn);font-family:var(--font-mono)}.profile-yaml{max-height:520px;margin:0 12px 12px}.settings-layout{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start;gap:16px;margin-top:18px;display:grid}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.settings-tile{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:6px;flex-direction:column;gap:10px;padding:14px;display:flex}.settings-tile .k{font-family:var(--font-mono);color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.settings-tile p{color:var(--ink-3);margin:0;font-size:12px;line-height:1.5}.settings-kv{grid-template-columns:130px minmax(0,1fr)}.settings-panel{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:6px;padding:14px}.settings-list{flex-direction:column;gap:0;display:flex}.settings-row{border-bottom:1px dashed var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 0;display:grid}.settings-row:last-child{border-bottom:0;padding-bottom:0}.settings-row .t{font-family:var(--font-mono);color:var(--ink);margin-bottom:4px;font-size:12px;display:block}.settings-row .d{color:var(--ink-3);font-size:12px;line-height:1.45;display:block}@media (width<=1100px){.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-workspace,.settings-layout{grid-template-columns:1fr}.profile-side{position:static}.settings-grid{grid-template-columns:1fr}}@media (width<=720px){.workflow-grid{grid-template-columns:1fr}.profile-toolbar{flex-direction:column;align-items:flex-start}.profile-toolbar>div[style*=flex]{display:none}.settings-row{grid-template-columns:1fr}}.lv2{color:var(--ink);font-family:var(--font-ui);background:oklch(10% .005 270);min-height:100vh;position:relative;overflow:hidden}.lv2-grid{pointer-events:none;background-image:linear-gradient(90deg,oklch(18% .005 270/.5) 1px,#0000 1px),linear-gradient(oklch(18% .005 270/.5) 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at top,#000 30%,#0000 75%);mask-image:radial-gradient(at top,#000 30%,#0000 75%)}.lv2-nav{border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-3);z-index:2;align-items:center;gap:28px;padding:18px 40px;font-size:12px;display:flex;position:relative}.lv2-nav .brand{color:var(--ink);align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.lv2-nav .brand .mk{background:var(--accent);border-radius:3px;width:18px;height:18px;position:relative}.lv2-nav .brand .mk:after{content:"";border:1.5px solid oklch(10% .005 270);border-radius:1px;position:absolute;inset:5px}.lv2-nav .ver{color:var(--ink-4);border:1px solid var(--line);border-radius:2px;margin-left:-4px;padding:1px 5px;font-size:10px}.lv2-nav .links{gap:22px;margin-left:auto;display:flex}.lv2-nav a{color:var(--ink-3);text-decoration:none}.lv2-nav a:hover{color:var(--ink)}.lv2-nav .stars{border:1px solid var(--line);color:var(--ink);border-radius:3px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.lv2-nav .stars .star{color:var(--warn)}.lv2-nav .github-link{color:var(--ink)}.lv2-hero{z-index:2;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:64px;max-width:1240px;margin:0 auto;padding:84px 40px 58px;display:grid;position:relative}.lv2-eyebrow{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;background:oklch(40% .08 240/.12);border:1px solid oklch(50% .1 240/.5);border-radius:999px;align-items:center;gap:10px;margin-bottom:24px;padding:5px 12px;font-size:11px;display:inline-flex}.lv2-eyebrow .pulse{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 oklch(72% .12 240/.6)}@keyframes pulse{0%{box-shadow:0 0 oklch(72% .12 240/.6)}70%{box-shadow:0 0 0 8px oklch(72% .12 240/0)}to{box-shadow:0 0 oklch(72% .12 240/0)}}.lv2-hero h1{letter-spacing:0;color:var(--ink);margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:64px;font-weight:500;line-height:1.05}.lv2-hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.lv2-hero h1 .h1-muted{color:var(--ink-3);font-size:.7em}.lv2-hero h1 .strike{color:var(--ink-3);font-size:.7em;-webkit-text-decoration:line-through oklch(50% .1 25/.7);text-decoration:line-through oklch(50% .1 25/.7);text-decoration-thickness:2px}.lv2-hero .sub{color:var(--ink-2);max-width:540px;margin:0 0 32px;font-size:18px;line-height:1.6}.lv2 .inline-path{background:var(--bg-1);border-radius:3px;padding:1px 6px}.lv2-cta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.lv2-cli{background:var(--bg-1);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink);border-radius:4px;align-items:center;gap:12px;padding:11px 14px;font-size:13px;display:inline-flex}.lv2-cli .prompt{color:var(--accent)}.lv2-cli .copy{font:inherit;color:var(--ink-3);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:2px;margin-left:4px;padding:2px 7px;font-size:10px}.lv2-cli .copy:hover{color:var(--ink);border-color:var(--ink-3)}.lv2-visual{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:6px;flex-direction:column;height:480px;padding:0;display:flex;position:relative;overflow:hidden}.hd3{height:100%;font-family:var(--font-mono);flex-direction:column;display:flex}.hd3-bar{background:var(--bg-2);border-bottom:1px solid var(--line-soft);color:var(--ink-3);align-items:center;gap:10px;padding:9px 14px;font-size:11px;display:flex}.hd3-dots{gap:5px;display:flex}.hd3-dots i{background:var(--bg-3);border-radius:50%;width:8px;height:8px}.hd3-path{text-align:center;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hd3-hash{color:var(--ink-4);font-size:10px}.hd3-stage{flex:1;grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);align-items:stretch;gap:0;padding:22px 16px;display:grid;position:relative}.hd3-stamp{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-4);margin-bottom:8px;font-size:9px}.hd3-input{opacity:.55;cursor:pointer;flex-direction:column;grid-column:1;transition:opacity .2s;display:flex}.hd3-input.on{opacity:1}.hd3-doc{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;flex-direction:column;flex:1;display:flex;overflow:hidden}.hd3-input.on .hd3-doc{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.hd3-doc-h{background:var(--bg-3);border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex}.hd3-doc-h .ico{color:var(--accent);font-size:14px}.hd3-doc-h .nm{color:var(--ink);font-weight:500}.hd3-doc-h .meta{color:var(--ink-4);margin-left:auto;font-size:10px}.hd3-doc-body{counter-reset:line;flex-direction:column;flex:1;gap:5px;padding:12px 14px;font-size:11px;display:flex}.hd3-doc-body .ln{counter-increment:line;gap:10px;min-width:0;padding-left:28px;display:flex;position:relative}.hd3-doc-body .ln:before{content:counter(line);text-align:right;width:18px;color:var(--ink-4);font-size:10px;position:absolute;top:0;left:0}.hd3-doc-body .k{color:oklch(78% .1 280)}.hd3-doc-body .v{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hd3-pipe{flex-direction:column;grid-column:2;align-items:center;display:flex}.hd3-pipe .hd3-stamp{writing-mode:vertical-rl;transform:rotate(180deg)}.hd3-cli{display:none}.hd3-outs{cursor:pointer;opacity:.55;flex-direction:column;grid-column:3;transition:opacity .2s;display:flex}.hd3-outs.on{opacity:1}.hd3-out-stack{flex-direction:column;flex:1;gap:6px;display:flex}.hd3-out{background:var(--bg-2);border:1px solid var(--line);border-left:2px solid var(--tgt,var(--accent));color:var(--ink-3);border-radius:3px;padding:7px 10px;font-size:10px}.hd3-out-h{align-items:center;gap:8px;margin-bottom:4px;display:flex}.hd3-out-tgt{color:var(--ink);font-size:11px;font-weight:600}.hd3-out-ct{color:var(--tgt);margin-left:auto;font-size:9px}.hd3-out-f{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.5;overflow:hidden}.hd3-stage:before,.hd3-stage:after{content:"→";font-family:var(--font-mono);color:var(--accent);font-size:18px;position:absolute;top:50%;transform:translateY(-50%)}.hd3-stage:before{left:calc(50% - 36px)}.hd3-stage:after{left:calc(50% + 24px)}.lv2-trust{z-index:2;max-width:1240px;font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;gap:28px;margin:0 auto;padding:0 40px 40px;font-size:11px;display:flex;position:relative}.lv2-trust span{align-items:center;gap:6px;display:inline-flex}.lv2-trust span:before{content:"✓";color:var(--ok);font-weight:600}.lv2-section{z-index:2;border-top:1px solid var(--line-soft);max-width:1240px;margin:0 auto;padding:80px 40px;position:relative}.lv2-section .eyebrow{font-family:var(--font-mono);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;font-size:11px}.lv2-section h2{letter-spacing:0;max-width:720px;margin:0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:40px;font-weight:500;line-height:1.1}.lv2-section h2 em{color:var(--accent);font-style:italic;font-weight:400}.lv2-section .lede{color:var(--ink-2);max-width:640px;margin:0 0 40px;font-size:16px;line-height:1.6}.lv2-ba{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:8px;grid-template-columns:1fr 1fr;gap:0;display:grid;overflow:hidden}.lv2-ba .panel{padding:32px 28px;position:relative}.lv2-ba .before{border-right:1px solid var(--line-soft);background:repeating-linear-gradient(135deg,#0000 0 14px,oklch(50% .12 25/.04) 14px 28px)}.lv2-ba .after{background:oklch(18% .01 240/.3)}.lv2-ba .lbl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:6px;font-size:11px}.lv2-ba .before .lbl{color:var(--err)}.lv2-ba .after .lbl{color:var(--ok)}.lv2-ba h3{letter-spacing:0;color:var(--ink);margin:0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500;line-height:1.25}.lv2-ba code{font-family:var(--font-mono);background:var(--bg-2);border-radius:3px;padding:1px 6px;font-size:.75em}.lv2-ba .files{flex-direction:column;gap:0;display:flex}.lv2-ba .file{font-family:var(--font-mono);color:var(--ink-2);border-bottom:1px dashed var(--line-soft);align-items:center;gap:10px;padding:8px 0;font-size:12px;display:flex}.lv2-ba .file:last-child{border-bottom:0}.lv2-ba .file .ic{border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;display:inline-flex}.lv2-ba .before .file{color:var(--ink-3)}.lv2-ba .before .file .ic{color:var(--err);background:oklch(40% .1 25/.25)}.lv2-ba .after .file .ic{color:var(--ok);background:oklch(40% .1 145/.2)}.lv2-ba .file .nm{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.lv2-ba .file .src{color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:10px}.lv2-ba .arrow-cap{z-index:3;border:1px solid var(--accent);font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.1em;background:oklch(10% .005 270);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:11px;display:flex;position:absolute;top:50%;right:-22px;transform:translateY(-50%)}.lv2-ba .arrow-cap:after{content:"→";font-size:14px}.lv2-steps{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:8px;grid-template-columns:220px 1fr;gap:0;display:grid;overflow:hidden}.lv2-step-list{border-right:1px solid var(--line-soft);background:oklch(13% .005 270);padding:16px 0}.lv2-step-row{cursor:pointer;width:100%;font-family:var(--font-mono);color:var(--ink-3);text-align:left;background:0 0;border:0;border-left:2px solid #0000;align-items:flex-start;gap:12px;padding:10px 18px;font-size:12px;display:flex}.lv2-step-row:hover{color:var(--ink-2)}.lv2-step-row.on{color:var(--ink);border-left-color:var(--accent);background:oklch(40% .08 240/.08)}.lv2-step-row .n{color:var(--ink-4);width:16px;font-size:10px;font-weight:600}.lv2-step-row.on .n{color:var(--accent)}.lv2-step-row .t{flex:1;line-height:1.4}.lv2-step-row .t .sub{color:var(--ink-4);margin-top:2px;font-size:10px;display:block}.lv2-step-pane{font-family:var(--font-mono);color:var(--ink-2);min-height:260px;padding:22px 26px;font-size:13px;line-height:1.7;overflow-x:auto}.lv2-step-pane .line{white-space:pre;min-height:1.7em}.lv2-step-pane .cmd{color:var(--ink)}.lv2-step-pane .ok{color:var(--ok)}.lv2-step-pane .dim{color:var(--ink-4)}.lv2-step-pane .warn{color:var(--warn)}.lv2-step-pane .acc{color:var(--accent)}.lv2-targets{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:0;display:grid;overflow:hidden}.lv2-target{border-right:1px solid var(--line-soft);flex-direction:column;gap:12px;padding:24px 22px;display:flex}.lv2-target:last-child{border-right:0}.lv2-target .h{align-items:center;gap:10px;display:flex}.lv2-target .h .mk{background:var(--bg-2);border:1px solid var(--line);width:28px;height:28px;font-family:var(--font-mono);color:var(--ink-2);border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.lv2-target h4{font-family:var(--font-mono);color:var(--ink);margin:0;font-size:14px;font-weight:600}.lv2-target .badge{margin-left:auto}.lv2-target .desc{color:var(--ink-2);font-size:13px;line-height:1.55}.lv2-target .files{font-family:var(--font-mono);color:var(--ink-3);border-top:1px dashed var(--line-soft);flex-direction:column;gap:4px;padding-top:8px;font-size:11px;display:flex}.lv2-later{font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;margin-top:14px;font-size:11px}.lv2-modes{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.lv2-mode{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:6px;flex-direction:column;gap:10px;padding:18px;display:flex}.lv2-mode .desc{color:var(--ink-2);font-size:13px;line-height:1.5}.lv2-mode .when{font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;border-top:1px dashed var(--line-soft);padding-top:8px;font-size:10px}.lv2-roadmap{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.lv2-rcol{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:6px;padding:22px 20px}.lv2-rcol .ph{font-family:var(--font-mono);color:var(--ink);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;margin-bottom:16px;font-size:11px;display:flex}.lv2-rcol.now .ph:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px oklch(72% .12 240/.18)}.lv2-rcol.later .ph:before{content:"";background:var(--ink-3);border-radius:50%;width:8px;height:8px}.lv2-rcol.maybe .ph:before{content:"";border:1.5px dashed var(--ink-3);background:0 0;border-radius:50%;width:8px;height:8px}.lv2-rcol .it{color:var(--ink-2);border-bottom:1px dashed var(--line-soft);gap:10px;padding:8px 0;font-size:13px;display:flex}.lv2-rcol .it:last-child{border-bottom:0}.lv2-rcol .it .b{background:var(--line);border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.lv2-rcol.now .it .b{background:var(--accent)}.lv2-rcol .it .lbl{font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10px;display:block}.lv2-foot{z-index:2;border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-4);flex-wrap:wrap;align-items:center;gap:24px;max-width:1240px;margin:0 auto;padding:40px;font-size:11px;display:flex;position:relative}.lv2-foot .end{color:var(--ink-3);margin-left:auto;font-family:Georgia,Times New Roman,serif;font-size:13px;font-style:italic}body.lightmode .lv2{background:oklch(98.5% .003 90)}body.lightmode .lv2-grid{background-image:linear-gradient(90deg,oklch(85% .005 90/.6) 1px,#0000 1px),linear-gradient(oklch(85% .005 90/.6) 1px,#0000 1px)}body.lightmode .lv2-nav{border-bottom-color:oklch(85% .005 90)}body.lightmode .lv2-nav .brand .mk:after{border-color:oklch(98.5% .003 90)}body.lightmode .lv2-foot,body.lightmode .lv2-trust,body.lightmode .lv2-section,body.lightmode .lv2-hero,body.lightmode .lv2-cli,body.lightmode .lv2-step-pane,body.lightmode .lv2-step-row,body.lightmode .lv2-target,body.lightmode .lv2-mode,body.lightmode .lv2-rcol,body.lightmode .lv2-ba .panel{color:var(--ink)}body.lightmode .lv2-cli{background:var(--bg-1);border-color:var(--line)}@media (width<=1100px){.lv2-hero{grid-template-columns:1fr;gap:40px;padding-top:64px}.lv2-hero h1{font-size:48px}.lv2-section h2{font-size:32px}.lv2-modes,.lv2-roadmap,.lv2-targets,.lv2-ba{grid-template-columns:1fr}.lv2-targets .lv2-target{border-right:0;border-bottom:1px solid var(--line-soft)}.lv2-targets .lv2-target:last-child{border-bottom:0}.lv2-ba .before{border-right:0;border-bottom:1px solid var(--line-soft)}.lv2-ba .arrow-cap{top:auto;bottom:-18px;right:50%;transform:translate(50%)}}@media (width<=760px){.lv2-nav{flex-wrap:wrap;gap:14px;padding:16px 20px}.lv2-nav .links{order:3;gap:14px;width:100%;margin-left:0;overflow-x:auto}.lv2-hero{padding:48px 20px 40px}.lv2-hero h1{font-size:40px}.lv2-hero .sub{font-size:16px}.lv2-visual{height:auto;min-height:620px}.hd3-stage{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:18px}.hd3-input,.hd3-pipe,.hd3-outs{grid-column:1}.hd3-pipe .hd3-stamp{writing-mode:horizontal-tb;transform:none}.hd3-cli{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;width:100%;padding:10px 12px;font-size:11px;line-height:1.6;display:block}.hd3-cli-row{gap:8px;display:flex}.hd3-stage:before,.hd3-stage:after{display:none}.lv2-trust,.lv2-section{padding-left:20px;padding-right:20px}.lv2-section{padding-top:56px;padding-bottom:56px}.lv2-steps{grid-template-columns:1fr}.lv2-step-list{border-right:0;border-bottom:1px solid var(--line-soft)}.lv2-step-pane{padding:18px;font-size:12px}.lv2-ba .file,.lv2-target .h{align-items:flex-start}.lv2-foot{padding:30px 20px}.lv2-foot .end{margin-left:0}}
|
|
1
|
+
:root{--accent:oklch(72% .12 240);--accent-dim:oklch(45% .08 240);--accent-bg:oklch(28% .05 240/.18);--bg:oklch(16% .005 270);--bg-1:oklch(19% .006 270);--bg-2:oklch(22% .007 270);--bg-3:oklch(26% .008 270);--line:oklch(32% .008 270);--line-soft:oklch(26% .008 270);--ink:oklch(94% .005 270);--ink-2:oklch(78% .006 270);--ink-3:oklch(58% .008 270);--ink-4:oklch(42% .008 270);--ok:oklch(78% .12 145);--warn:oklch(82% .12 80);--err:oklch(70% .16 25);--info:oklch(78% .1 220);--unknown:oklch(65% .02 270);--radius:4px;--radius-lg:8px;--pad:16px;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);color:var(--ink);-webkit-font-smoothing:antialiased;background:oklch(10% .005 270);min-height:100vh}a{color:var(--accent)}.app{background:var(--bg);color:var(--ink);font-family:var(--font-ui);grid-template-columns:220px 1fr;min-height:100vh;display:grid}.ic-svg{stroke:currentColor;stroke-width:1.5px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:14px;height:14px}.appv3{background:var(--bg);color:var(--ink);font-family:var(--font-ui);grid-template:"header header"48px"side work"1fr"foot foot"56px/184px 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.appv3.collapsed{grid-template-columns:48px 1fr}.appv3-header{background:var(--bg-1);border-bottom:1px solid var(--line-soft);z-index:20;grid-area:header;align-items:center;gap:14px;padding:0 12px;display:flex;position:sticky;top:0}.appv3-header .toggle{width:30px;height:30px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.appv3-header .toggle:hover{background:var(--bg-2);color:var(--ink)}.appv3-header .brand{font-family:var(--font-mono);color:var(--ink);border-radius:4px;flex-shrink:0;align-items:center;gap:8px;padding:4px 6px;font-size:13px;font-weight:600;display:flex}.appv3-header a.brand:hover{background:var(--bg-2)}.appv3-header .brand .mk{background:var(--accent);border-radius:3px;flex-shrink:0;width:18px;height:18px;position:relative}.appv3-header .brand .mk:after{content:"";border:1.5px solid var(--bg-1);border-radius:1px;position:absolute;inset:5px}.appv3-header .brand .ver{color:var(--ink-4);border:1px solid var(--line);border-radius:2px;padding:1px 5px;font-size:10px;font-weight:400}.appv3-header .header-crumbs{font-family:var(--font-mono);color:var(--ink-3);border-left:1px solid var(--line-soft);align-items:center;gap:6px;margin-left:4px;padding-left:14px;font-size:12px;display:flex;overflow:hidden}.appv3-header .header-crumbs .sep{color:var(--ink-4)}.appv3-header .header-crumbs .here{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appv3-header .grow{flex:1}.appv3-header .header-btn{width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.appv3-header .header-btn:hover{background:var(--bg-2);color:var(--ink)}.profile-dd{flex-shrink:0;position:relative}.profile-dd-trigger{background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-2);cursor:pointer;border-radius:4px;align-items:center;gap:8px;height:30px;padding:5px 8px 5px 10px;font-size:11px;display:inline-flex}.profile-dd-trigger:hover{border-color:var(--ink-4)}.profile-dd-trigger .lbl{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);font-size:9px}.profile-dd-trigger .nm{color:var(--ink);font-weight:500}.profile-dd-trigger .hash{color:var(--ink-4);border-left:1px solid var(--line);padding-left:8px;font-size:10px}.profile-dd-menu{background:var(--bg-1);border:1px solid var(--line);z-index:100;width:320px;font-family:var(--font-ui);border-radius:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 32px -8px #00000080}.profile-dd-h{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-4);padding:10px 12px 6px;font-size:9px}.profile-dd-item{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 12px;display:flex}.profile-dd-item:hover,.profile-dd-item.on{background:var(--bg-2)}.profile-dd-item .check{width:12px;height:12px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.profile-dd-item .meta{flex-direction:column;gap:1px;min-width:0;display:flex}.profile-dd-item .nm{color:var(--ink);font-size:12px;font-weight:500}.profile-dd-item .sub{color:var(--ink-4);font-size:10px;font-family:var(--font-mono)}.profile-dd-note{color:var(--ink-3);margin:8px 12px 10px;font-size:11px;line-height:1.45}.profile-dd-foot{border-top:1px solid var(--line-soft);padding:4px;display:flex}.profile-dd-foot a{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:3px;flex:1;padding:7px 10px;font-size:11px;text-decoration:none}.profile-dd-foot a:hover{background:var(--bg-2);color:var(--ink)}.appv3-side{background:var(--bg-1);border-right:1px solid var(--line-soft);flex-direction:column;grid-area:side;align-self:start;height:calc(100vh - 104px);padding:8px 6px;display:flex;position:sticky;top:48px;overflow:hidden}.appv3-side .nav-section{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);white-space:nowrap;padding:10px 10px 4px;font-size:9px;overflow:hidden}.appv3-nav{font-family:var(--font-ui);color:var(--ink-3);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:13px;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.appv3.collapsed .appv3-nav{justify-content:center;padding:8px 0}.appv3-nav:hover,.appv3-nav.active{color:var(--ink);background:var(--bg-2)}.appv3-nav.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:6px;bottom:6px;left:0}.appv3.collapsed .appv3-nav.active:before{left:-6px}.appv3-nav .nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.appv3.collapsed .appv3-nav .nav-label{display:none}.appv3.collapsed .appv3-nav:hover:after{content:attr(data-label);background:var(--bg-3);border:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);white-space:nowrap;z-index:30;pointer-events:none;border-radius:3px;padding:4px 8px;font-size:11px;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}.appv3-side-foot{border-top:1px solid var(--line-soft);margin-top:auto;padding:10px}.appv3-side-foot .safety-line{justify-content:center;display:flex}.appv3.collapsed .appv3-side-foot{padding:8px 4px}.appv3-work{grid-area:work;min-height:0;overflow:auto}.appv3-work .content{min-height:100%;padding:18px 22px}.appv3-foot{background:var(--bg-1);border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-3);z-index:10;grid-area:foot;align-items:center;gap:18px;padding:0 18px;font-size:11px;display:flex;position:sticky;bottom:0}.appv3-foot .foot-status{align-items:center;gap:8px;display:inline-flex}.appv3-foot .foot-status .dot{background:var(--ok);border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px oklch(78% .12 145/.5)}.appv3-foot .foot-status.warn .dot{background:var(--warn);box-shadow:0 0 8px oklch(80% .12 80/.5)}.appv3-foot .foot-status.fail .dot{background:var(--err);box-shadow:0 0 8px oklch(70% .12 25/.5)}.appv3-foot .foot-status.unknown .dot{background:var(--ink-4);box-shadow:none}.appv3-foot .foot-status .flbl{color:var(--ok);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600}.appv3-foot .foot-status.warn .flbl{color:var(--warn)}.appv3-foot .foot-status.fail .flbl{color:var(--err)}.appv3-foot .foot-status.unknown .flbl,.appv3-foot .foot-status .sep{color:var(--ink-4)}.appv3-foot .foot-status a{color:var(--ink-3);text-decoration:none}.appv3-foot .foot-status a:hover{color:var(--ink)}.appv3-foot .foot-grow{flex:1}.appv3-foot .foot-links{gap:16px;display:inline-flex}.appv3-foot .foot-links a{color:var(--ink-3);cursor:pointer;text-decoration:none}.appv3-foot .foot-links a:hover{color:var(--ink)}.appv3-foot .foot-end{border-left:1px solid var(--line-soft);color:var(--ink-4);align-items:center;gap:8px;padding-left:16px;display:inline-flex}.appv3-foot .foot-end .ver{border:1px solid var(--line);color:var(--ink-3);border-radius:2px;padding:1px 5px}.appv3-foot .foot-end .lic{color:var(--ink-4);font-size:10px}.seg{border:1px solid var(--line);background:var(--bg-2);border-radius:4px;display:inline-flex;overflow:hidden}.seg button{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;border:0;border-right:1px solid var(--line);background:0 0;padding:5px 12px;font-size:11px}.seg button:last-child{border-right:0}.seg button:hover{color:var(--ink);background:var(--bg-3)}.seg button.on{background:var(--bg-3);color:var(--ink);font-weight:500}.settings-section-lbl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);margin-top:20px;margin-bottom:8px;font-size:10px}.settings-section-lbl:first-child{margin-top:0}.settings-foot-note{text-align:center;font-family:var(--font-mono);color:var(--ink-4);margin-top:18px;font-size:11px}body.lightmode{--bg:oklch(98.5% .003 90);--bg-1:oklch(96.5% .003 90);--bg-2:oklch(93.5% .004 90);--bg-3:oklch(89.5% .005 90);--line:oklch(85% .005 90);--line-soft:oklch(91% .004 90);--ink:oklch(22% .005 270);--ink-2:oklch(36% .006 270);--ink-3:oklch(50% .008 270);--ink-4:oklch(66% .008 270);--accent:oklch(50% .14 250);--ok:oklch(55% .14 145);--warn:oklch(62% .16 60);--err:oklch(55% .2 25);--info:oklch(55% .12 220);background:var(--bg);color:var(--ink)}body.lightmode .appv3-header,body.lightmode .appv3-side,body.lightmode .appv3-foot{background:var(--bg-1);border-color:var(--line-soft)}body.lightmode .appv3-nav{color:var(--ink-3)}body.lightmode .appv3-nav:hover,body.lightmode .appv3-nav.active{background:var(--bg-2);color:var(--ink)}body.lightmode .card{background:var(--bg-1);border-color:var(--line-soft)}body.lightmode .kv-list .k{color:var(--ink-3)}body.lightmode .kv-list .v{color:var(--ink)}body.lightmode .status-strip{background:var(--bg-1);border-color:var(--line-soft)}body.lightmode .btn{background:var(--bg-1);border-color:var(--line);color:var(--ink)}body.lightmode pre,body.lightmode code{color:var(--ink-2)}body.lightmode .yaml{background:var(--bg-1)}body.lightmode .profile-dd-trigger{background:var(--bg-2);border-color:var(--line)}body.lightmode .profile-dd-menu{background:var(--bg-1);border-color:var(--line)}body.lightmode .seg{background:var(--bg-2);border-color:var(--line)}body.lightmode .seg button.on{background:var(--bg-3);color:var(--ink)}@media (width<=760px){.appv3,.appv3.collapsed{grid-template-rows:48px 1fr 44px;grid-template-areas:"header""work""foot";min-width:0;grid-template-columns:1fr!important}.appv3-side{display:none}.appv3-header{gap:8px;min-width:0}.appv3-header .header-crumbs,.appv3-header .profile-dd,.appv3-header .header-btn{display:none}.appv3-header .brand{min-width:0;overflow:hidden}.appv3-work{min-width:0}.appv3-work .content{padding:14px}.appv3-foot{gap:8px;min-width:0;padding:0 12px;overflow:hidden}.appv3-foot .foot-links,.appv3-foot .foot-end{display:none}.appv3-foot .foot-status{white-space:nowrap;min-width:0;overflow:hidden}}.titlebar{background:var(--bg-1);border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-3);grid-column:1/-1;align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:flex}.titlebar .dots{gap:6px;display:flex}.titlebar .dots i{background:var(--bg-3);border-radius:50%;width:10px;height:10px;display:block}.titlebar .dots i:first-child{background:oklch(65% .14 30)}.titlebar .dots i:nth-child(2){background:oklch(78% .12 80)}.titlebar .dots i:nth-child(3){background:oklch(72% .12 145)}.titlebar .path{text-align:center;flex:1}.titlebar .right{color:var(--ink-4)}.sidebar{background:var(--bg-1);border-right:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:14px 8px;display:flex;overflow:hidden}.sidebar .brand{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;margin-bottom:8px;padding:6px 8px 14px;display:flex}.sidebar .brand .mark{background:var(--accent);border-radius:3px;flex-shrink:0;width:22px;height:22px;position:relative}.sidebar .brand .mark:after{content:"";border:2px solid var(--bg-1);border-radius:1px;position:absolute;inset:6px}.sidebar .brand .name{font-family:var(--font-mono);color:var(--ink);letter-spacing:.02em;font-size:12px;font-weight:600}.sidebar .brand .ver{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:9px}.nav-item{font-family:var(--font-mono);color:var(--ink-3);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:12px;text-decoration:none;display:flex}.nav-item:hover{color:var(--ink);background:var(--bg-2)}.nav-item.active{color:var(--ink);background:var(--bg-2);box-shadow:inset 2px 0 0 var(--accent)}.nav-item .glyph{opacity:.75;border:1px solid;border-radius:2px;flex-shrink:0;width:14px;height:14px}.nav-item .num{color:var(--ink-4);margin-left:auto;font-size:9px}.sidebar-foot{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-4);flex-direction:column;gap:4px;margin-top:auto;padding:8px 10px;font-size:10px;display:flex}.sidebar-foot .row{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-foot .row b{color:var(--ink-2);font-weight:500}.workspace{flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line-soft);background:var(--bg);box-sizing:border-box;flex-shrink:0;align-items:center;gap:12px;min-height:44px;padding:10px 16px;font-size:13px;display:flex}.crumbs{font-family:var(--font-mono);color:var(--ink-3);align-items:center;gap:6px;font-size:11px;display:flex}.crumbs .sep{color:var(--ink-4)}.crumbs .here{color:var(--ink)}.topbar .spacer{flex:1}.topbar .kbd{font-family:var(--font-mono);color:var(--ink-3);border:1px solid var(--line);border-radius:3px;padding:2px 6px;font-size:10px}.content{flex:1;padding:18px 22px;overflow:auto}.badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-2);white-space:nowrap;border-radius:3px;align-items:center;gap:5px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-flex}.badge .dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px}.badge.ok{color:var(--ok);border-color:oklch(50% .1 145/.5)}.badge.ok .dot{background:var(--ok)}.badge.warn{color:var(--warn);border-color:oklch(50% .1 80/.5)}.badge.warn .dot{background:var(--warn)}.badge.err{color:var(--err);border-color:oklch(50% .12 25/.5)}.badge.err .dot{background:var(--err)}.badge.info{color:var(--info);border-color:oklch(50% .08 220/.5)}.badge.info .dot{background:var(--info)}.badge.muted{color:var(--ink-3)}.badge.muted .dot{background:var(--ink-3)}.badge.accent{color:var(--accent);border-color:oklch(50% .1 240/.6)}.badge.accent .dot{background:var(--accent)}.safety-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:1px solid;border-radius:3px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.safety-badge:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.safety-badge[data-mode=guarded]{color:var(--ok);background:oklch(40% .08 145/.15);border-color:oklch(50% .1 145/.7)}.safety-badge[data-mode=balanced]{color:var(--info);background:oklch(40% .06 220/.15);border-color:oklch(50% .08 220/.7)}.safety-badge[data-mode=autonomous]{color:var(--err);background:oklch(40% .1 25/.15);border-color:oklch(50% .12 25/.7)}.safety-badge[data-mode=plan-only]{color:var(--ink-2);border-color:var(--line);background:var(--bg-2)}.path,.mono{font-family:var(--font-mono);font-size:12px}.path{color:var(--ink-2)}.card{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--radius);padding:14px}.btn{font-family:var(--font-mono);cursor:pointer;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);border-radius:4px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-3)}.btn.ghost{background:0 0}.trust{color:var(--ink-2);background:oklch(30% .06 145/.12);border:1px solid oklch(40% .08 145/.4);border-radius:4px;align-items:center;gap:14px;padding:10px 14px;font-size:12px;display:flex}.trust .lock{border:1.5px solid var(--ok);border-radius:3px;flex-shrink:0;width:18px;height:18px;position:relative}.hr-hand{height:8px;margin:10px 0;position:relative}.hr-hand:before{content:"";border-top:1px dashed var(--line);position:absolute;top:50%;left:0;right:0}.btn.primary{background:var(--accent);border-color:var(--accent);color:oklch(15% .02 240);font-weight:600}.btn.primary:hover{background:oklch(78% .12 240)}.page-intro{flex-direction:column;gap:6px;max-width:760px;margin:8px 0 20px;display:flex}.page-intro h2{font-family:var(--font-mono);color:var(--ink);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.empty{color:var(--ink-3);font-family:var(--font-mono);text-align:center;padding:32px 0;font-size:12px}.warn-callout{color:var(--ink-2);background:oklch(40% .08 80/.1);border:1px solid oklch(50% .1 80/.4);border-radius:4px;align-items:flex-start;gap:10px;margin:10px 0;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.warn-callout .icon{color:var(--warn);font-family:var(--font-mono);flex-shrink:0;font-size:13px}.warn-callout .badge.warn{margin-bottom:4px}.warn-callout .dot{background:var(--warn);border-radius:50%;width:6px;height:6px;display:inline-block}.card .ck-h{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.card .ck-h .t{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-size:11px;font-family:var(--font-mono);font-weight:500}.card .ck-v{font-family:var(--font-mono);color:var(--ink);font-size:18px;font-weight:500}.card .ck-sub{color:var(--ink-3);font-size:11px;font-family:var(--font-mono);margin-top:4px}.section-title{justify-content:space-between;align-items:baseline;margin:18px 0 8px;display:flex}.section-title h3{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-size:11px;font-family:var(--font-mono);margin:0;font-weight:500}.tree-row{text-align:left;cursor:pointer;width:100%;color:var(--ink-2);font-family:var(--font-mono);background:0 0;border:0;border-radius:2px;align-items:center;gap:8px;padding:2px 6px;font-size:12px;display:flex}.tree-row:hover{background:var(--bg-2)}.tree-row.sel{background:var(--accent-bg);color:var(--ink)}.tree-row .indent{width:14px;color:var(--ink-4);flex-shrink:0;font-size:10px}.tree-row .name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tree-row .name.dir{color:var(--ink-2)}.preview{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.preview .head{border-bottom:1px solid var(--line-soft);background:var(--bg-2);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:flex}.preview .body{font-family:var(--font-mono);color:var(--ink-2);white-space:pre;background:var(--bg);flex:1;margin:0;padding:14px;font-size:11.5px;line-height:1.65;overflow:auto}.preview .foot{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-4);background:var(--bg-1);padding:8px 14px;font-size:11px}.diff{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--line-soft);border-radius:4px;font-size:12px;line-height:1.55;overflow:hidden}.diff .file-h{background:var(--bg-2);border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:6px 12px;font-size:11px;display:flex}.diff .hunk{grid-template-columns:36px 36px 1fr;font-size:11.5px;display:grid}.diff .hunk>div{white-space:pre;border-bottom:1px solid oklch(18% .005 270);padding:1px 8px}.diff .ln{text-align:right;color:var(--ink-4);-webkit-user-select:none;user-select:none;background:var(--bg-1)}.diff .code{white-space:pre}.diff .hunk.add{background:oklch(32% .08 145/.18)}.diff .hunk.add .ln{color:var(--ok);background:oklch(30% .08 145/.25)}.diff .hunk.add .code:before{content:"+ ";color:var(--ok)}.diff .hunk.del{background:oklch(32% .1 25/.15)}.diff .hunk.del .ln{color:var(--err);background:oklch(30% .1 25/.2)}.diff .hunk.del .code:before{content:"− ";color:var(--err)}.diff .hunk.ctx .code:before{content:" "}.finding .sev{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.finding.warn .sev{background:var(--warn);box-shadow:0 0 0 4px oklch(50% .1 80/.15)}.finding.err .sev{background:var(--err);box-shadow:0 0 0 4px oklch(50% .12 25/.15)}.finding .h{align-items:baseline;gap:10px;display:flex}.finding .actions{flex-direction:column;gap:6px;display:flex}.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;font-family:var(--font-mono)}.matrix th,.matrix td{text-align:left;border-bottom:1px solid var(--line-soft);padding:10px 12px}.matrix th{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;background:var(--bg-1);font-size:11px;font-weight:500;position:sticky;top:0}.matrix th.tgt,.matrix td.tgt{text-align:center}.matrix tr:hover td{background:var(--bg-1)}.cap-name{color:var(--ink)}.cap-sub{color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10px;display:block}.timeline{flex-direction:column;display:flex}.tl-item{border-bottom:1px dashed var(--line-soft);grid-template-columns:110px 16px 1fr;gap:12px;padding:10px 0;display:grid}.tl-time{font-family:var(--font-mono);color:var(--ink-3);padding-top:6px;font-size:11px}.tl-rail{position:relative}.tl-rail:before{content:"";border-left:1px solid var(--line-soft);position:absolute;top:14px;bottom:-10px;left:7px}.tl-dot{background:var(--accent);z-index:1;border-radius:50%;width:8px;height:8px;margin-top:6px;margin-left:4px;position:relative}.form-section{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:4px;margin-bottom:8px;overflow:hidden}.form-section .head{font-family:var(--font-mono);color:inherit;cursor:pointer;width:100%;font-size:12px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.form-section:not(.open) .body{display:none}.form-section .body{border-top:1px solid var(--line-soft);padding:10px 14px 12px}.form-section .car{color:var(--ink-3);transition:transform .12s;display:inline-block}.form-section.open .car{transform:rotate(90deg)}.yaml{background:var(--bg);border:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-2);white-space:pre;border-radius:4px;padding:12px 14px;font-size:11.5px;line-height:1.65;overflow:auto}.yaml .yk{color:oklch(78% .1 220)}.yaml .ys{color:oklch(82% .1 80)}.yaml .yc{color:var(--ink-4)}.yaml .yn{color:oklch(75% .1 145)}.trust .lock:before{content:"";border:1.5px solid var(--ok);border-bottom:0;border-radius:4px 4px 0 0;width:8px;height:6px;position:absolute;top:-5px;left:3px}.trust b{color:var(--ok);font-weight:600}.trust .checks{font-family:var(--font-mono);gap:14px;margin-left:auto;font-size:11px;display:flex}.trust .checks span:before{content:"✓ ";color:var(--ok)}.btn.primary{background:var(--accent);border-color:var(--accent);color:oklch(99% 0 0)}.btn.primary:hover{filter:brightness(1.1)}.btn.danger{color:var(--err);background:0 0;border-color:oklch(50% .12 25/.5)}.btn.danger:hover{background:oklch(40% .1 25/.1)}.section-title{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;margin-top:22px;margin-bottom:10px;padding-bottom:6px;display:flex}.section-title h3{font-family:var(--font-ui);color:var(--ink);letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.section-title .more{font-family:var(--font-mono);color:var(--ink-4);font-size:11px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:6px;display:grid}@media (width<=900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-grid .card{padding:12px 14px}.ck-h{align-items:center;gap:6px;margin-bottom:6px;display:flex}.ck-h .t{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);font-size:9px}.ck-v{font-family:var(--font-mono);color:var(--ink);font-size:15px;font-weight:500;line-height:1.3}.ck-sub{font-family:var(--font-mono);color:var(--ink-4);margin-top:4px;font-size:10px}.timeline{flex-direction:column;gap:0;display:flex}.tl-item{grid-template-columns:110px 24px 1fr;align-items:start;gap:0 10px;min-height:36px;display:grid}.tl-time{font-family:var(--font-mono);color:var(--ink-4);text-align:right;padding-top:8px;font-size:11px}.tl-rail{flex-direction:column;align-items:center;display:flex;position:relative}.tl-rail:before{content:"";background:var(--line-soft);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tl-dot{background:var(--accent);z-index:1;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:8px;position:relative}.tl-body{color:var(--ink-2);padding:5px 0 14px;font-size:12px}.tl-body .cmd{font-family:var(--font-mono);color:var(--ink);font-size:12px}.tl-body .meta{font-family:var(--font-mono);color:var(--ink-4);margin-top:2px;font-size:11px}.matrix{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:12px}.matrix thead th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);border-bottom:1px solid var(--line-soft);padding:8px 14px;font-size:10px;font-weight:500}.matrix thead th.tgt{text-align:center}.matrix tbody tr{border-bottom:1px solid var(--line-soft)}.matrix tbody tr:last-child{border-bottom:0}.matrix tbody td{color:var(--ink-2);vertical-align:middle;padding:8px 14px}.matrix tbody td.tgt{text-align:center}.matrix tbody tr:hover td{background:var(--bg-2)}.cap-name{color:var(--ink);font-size:12px;display:block}.cap-sub{color:var(--ink-4);margin-top:1px;font-size:10px;display:block}.diff{background:var(--bg-1);border:1px solid var(--line-soft);font-family:var(--font-mono);border-radius:4px;font-size:12px;overflow:hidden}.file-h{background:var(--bg-2);border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:9px 14px;display:flex}.hunk{grid-template-columns:36px 36px 1fr;min-height:22px;display:grid}.hunk .ln{color:var(--ink-4);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line-soft);text-align:right;padding:2px 10px;font-size:11px}.hunk .code{color:var(--ink-2);white-space:pre;padding:2px 12px}.hunk.add{background:oklch(25% .05 145/.3)}.hunk.add .code{color:var(--ok)}.hunk.del{background:oklch(25% .06 25/.3)}.hunk.del .code{color:var(--err)}.hunk.ctx{background:0 0}.yk{color:oklch(75% .1 280)}.ys{color:var(--ok)}.yn{color:var(--accent)}.yc{color:var(--ink-4)}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:1}.muted{color:var(--ink-3)}.faint{color:var(--ink-4)}.upper{text-transform:uppercase;letter-spacing:.08em;font-size:10px}.kv-list{grid-template-columns:130px 1fr;gap:8px 14px;font-size:12px;display:grid}.kv-list .k{color:var(--ink-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.kv-list .v{color:var(--ink);font-family:var(--font-mono)}.page-intro{flex-direction:column;justify-content:center;gap:6px;max-width:760px;min-height:88px;margin:4px 0 18px;display:flex}.page-intro h2{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:22px;font-weight:600}.page-intro p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.55}.form-section{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:4px;margin-bottom:10px}.form-section .head{border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:10px 14px;font-size:12px;display:flex}.form-section .head .car{color:var(--ink-3);transition:transform .12s;display:inline-block}.form-section.open .head .car{transform:rotate(90deg)}.form-section .body{padding:12px 14px;display:none}.form-section.open .body{display:block}.field{grid-template-columns:130px 1fr;align-items:start;gap:12px;padding:6px 0;display:grid}.field .lbl{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding-top:6px;font-size:11px}.field .val{font-family:var(--font-mono);color:var(--ink);font-size:12px}.chip-row{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink);border-radius:3px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.chip.del{color:var(--ink-3)}.yaml{background:var(--bg);border:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-2);white-space:pre;border-radius:4px;margin:0;padding:12px 14px;font-size:11.5px;line-height:1.65;overflow:auto}.tree{font-family:var(--font-mono);font-size:12px;line-height:1.7}.tree .tree-row{color:var(--ink);cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:0;border-radius:2px;align-items:center;gap:8px;padding:1px 6px;display:flex}.tree .tree-row:hover{background:var(--bg-2)}.tree .tree-row.sel{background:var(--accent-bg)}.tree .indent{width:14px;color:var(--ink-4);flex-shrink:0;display:inline-block}.tree .name{color:var(--ink);flex:1}.tree .name.dir{color:var(--ink-2)}.finding{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:4px;grid-template-columns:auto 1fr;align-items:start;gap:10px 14px;padding:12px 14px;display:grid}.finding .sev{border-radius:50%;width:10px;height:10px;margin-top:5px}.finding.warning .sev{background:var(--warn);box-shadow:0 0 0 4px oklch(50% .1 80/.15)}.finding.error .sev{background:var(--err);box-shadow:0 0 0 4px oklch(50% .12 25/.15)}.finding.info .sev{background:var(--info);box-shadow:0 0 0 4px oklch(50% .08 220/.15)}.finding.nv .sev{background:var(--unknown);box-shadow:0 0 0 4px oklch(40% 0 0/.15)}.finding .body{flex-direction:column;gap:6px;display:flex}.finding .h{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.finding .rule{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.finding .title{color:var(--ink);font-size:13px;font-weight:500}.finding .desc{color:var(--ink-2);font-size:12px;line-height:1.55}.finding .fix{font-family:var(--font-mono);color:var(--ink-2);background:var(--bg-2);border-left:2px solid var(--accent);border-radius:3px;padding:6px 10px;font-size:11px}.status-strip{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:4px;gap:0;margin-bottom:14px;display:flex;overflow:hidden}.status-strip>div{border-right:1px solid var(--line-soft);flex-direction:column;flex:1;gap:4px;padding:10px 14px;display:flex}.status-strip>div:last-child{border-right:0}.status-strip .lbl{font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.status-strip .val{font-family:var(--font-mono);color:var(--ink);align-items:center;gap:6px;font-size:13px;display:flex}.preview{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:4px;flex-direction:column;min-height:320px;display:flex}.preview .head{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.preview .head .meta{font-family:var(--font-mono);color:var(--ink-4);margin-left:auto;font-size:10px}.preview .body{font-family:var(--font-mono);color:var(--ink-2);white-space:pre;flex:1;margin:0;padding:14px;font-size:12px;line-height:1.7;overflow:auto}.preview .foot{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-3);gap:8px;padding:10px 14px;font-size:11px;display:flex}.warn-callout{color:var(--ink-2);background:oklch(40% .08 80/.1);border:1px solid oklch(50% .1 80/.4);border-radius:4px;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:12px;display:flex}.warn-callout .icon{color:var(--warn);font-family:var(--font-mono);font-size:12px}.empty{border:1px dashed var(--line);background:var(--bg-1);color:var(--ink-3);font-family:var(--font-mono);text-align:center;border-radius:4px;padding:28px;font-size:12px;line-height:1.6}.home-section{margin-top:28px}.home-section-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;padding-bottom:8px;display:flex}.home-section-head h3{font-family:var(--font-ui);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:18px;font-weight:600}.home-section-sub{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;font-size:11px}.home-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.home-grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=1100px){.home-grid-3,.home-grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.home-grid-2,.home-grid-3,.home-grid-4{grid-template-columns:1fr}}.home-card{flex-direction:column;gap:10px;display:flex}.home-card-head{align-items:center;gap:10px;display:flex}.home-card-name{font-family:var(--font-mono);color:var(--ink);letter-spacing:.01em;font-size:13px;font-weight:600}.home-card-blurb{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.home-card-paths{color:var(--ink-4);border-top:1px dashed var(--line-soft);padding-top:8px;font-size:11px!important}.home-later{border:1px dashed var(--line);background:var(--bg-1);border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;font-size:11px;display:flex}.home-list{color:var(--ink-2);flex-direction:column;gap:8px;margin:0;padding:0;font-size:12.5px;line-height:1.55;list-style:none;display:flex}.home-list li{border-bottom:1px dashed var(--line-soft);align-items:baseline;gap:8px;padding-bottom:8px;display:flex}.home-list li:last-child{border-bottom:0;padding-bottom:0}.home-footer{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-4);text-align:center;margin-top:36px;padding:16px 0;font-size:11px}.terminal{border:1px solid var(--line);font-family:var(--font-mono);background:oklch(12% .005 270);border-radius:6px;font-size:12.5px;line-height:1.7;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(18% .005 270),0 4px 18px oklch(5% 0 0/.5)}.terminal-bar{border-bottom:1px solid var(--line-soft);color:var(--ink-3);background:oklch(16% .005 270);align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:flex}.terminal-bar .dots{gap:6px;display:inline-flex}.terminal-bar .dots i{background:var(--bg-3);border-radius:50%;width:10px;height:10px;display:block}.terminal-bar .dots i:first-child{background:oklch(65% .14 30)}.terminal-bar .dots i:nth-child(2){background:oklch(78% .12 80)}.terminal-bar .dots i:nth-child(3){background:oklch(72% .12 145)}.terminal-title{text-align:center;flex:1}.terminal-body{color:var(--ink-2);white-space:pre;padding:14px 16px;overflow-x:auto}.terminal-line{align-items:baseline;gap:10px;display:flex}.terminal-prompt{color:var(--accent);font-weight:600}.terminal-cmd{color:var(--ink)}.terminal-out{color:var(--ink-3);padding-left:18px}.terminal-spacer{height:6px}.terminal-cursor{color:var(--ink);animation:1.1s steps(2,end) infinite terminal-blink}@keyframes terminal-blink{to{opacity:0}}.workflow-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.workflow-card{background:var(--bg-1);border:1px solid var(--line-soft);color:var(--ink);border-radius:6px;grid-template-columns:auto 1fr;grid-template-areas:"n t""n d";gap:4px 10px;padding:14px;text-decoration:none;display:grid}.workflow-card:hover{border-color:var(--accent);background:oklch(40% .08 240/.08)}.workflow-card .n{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;grid-area:n;padding-top:2px;font-size:10px}.workflow-card .t{font-family:var(--font-mono);grid-area:t;font-size:12px;font-weight:600}.workflow-card .d{color:var(--ink-3);grid-area:d;font-size:12px;line-height:1.45}.command-callout{border:1px dashed var(--line);background:var(--bg-1);font-family:var(--font-mono);color:var(--ink-3);border-radius:4px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;font-size:11px;display:flex}.command-callout.vertical{flex-direction:column;align-items:flex-start}.command-callout .lbl{color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em}.command-callout .cmd{color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line-soft);border-radius:3px;padding:3px 7px}.dashboard-workflow button.btn.ghost{display:none}.finding-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.finding-actions .btn{padding:5px 9px;font-size:11px}.profile-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.profile-workspace{grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;gap:14px;display:grid}.profile-form{min-width:0}.profile-note{font-family:var(--font-ui);color:var(--ink-3);margin-top:8px;font-size:11px;line-height:1.5}.profile-side{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:6px;min-width:0;position:sticky;top:62px;overflow:hidden}.profile-side-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.profile-summary{flex-direction:column;gap:14px;padding:14px;display:flex}.profile-score{border:1px solid var(--line-soft);background:var(--bg-2);border-radius:5px;align-items:baseline;gap:10px;padding:14px;display:flex}.profile-score .big{font-family:var(--font-mono);color:var(--accent);font-size:34px;line-height:1}.profile-score .lbl{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.kv-list.compact{background:0 0;border:0;grid-template-columns:92px 1fr;padding:0}.yaml-guard{color:var(--ink-2);background:oklch(40% .08 80/.1);border:1px solid oklch(50% .1 80/.45);border-radius:4px;gap:8px;margin:12px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.yaml-guard .icon{color:var(--warn);font-family:var(--font-mono)}.profile-yaml{max-height:520px;margin:0 12px 12px}.settings-layout{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:start;gap:16px;margin-top:18px;display:grid}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.settings-tile{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:6px;flex-direction:column;gap:10px;padding:14px;display:flex}.settings-tile .k{font-family:var(--font-mono);color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.settings-tile p{color:var(--ink-3);margin:0;font-size:12px;line-height:1.5}.settings-kv{grid-template-columns:130px minmax(0,1fr)}.settings-panel{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:6px;padding:14px}.settings-list{flex-direction:column;gap:0;display:flex}.settings-row{border-bottom:1px dashed var(--line-soft);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 0;display:grid}.settings-row:last-child{border-bottom:0;padding-bottom:0}.settings-row .t{font-family:var(--font-mono);color:var(--ink);margin-bottom:4px;font-size:12px;display:block}.settings-row .d{color:var(--ink-3);font-size:12px;line-height:1.45;display:block}@media (width<=1100px){.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-workspace,.settings-layout{grid-template-columns:1fr}.profile-side{position:static}.settings-grid{grid-template-columns:1fr}}@media (width<=720px){.workflow-grid{grid-template-columns:1fr}.profile-toolbar{flex-direction:column;align-items:flex-start}.profile-toolbar>div[style*=flex]{display:none}.settings-row{grid-template-columns:1fr}}.lv2{color:var(--ink);font-family:var(--font-ui);background:oklch(10% .005 270);min-height:100vh;position:relative;overflow:hidden}.lv2-grid{pointer-events:none;background-image:linear-gradient(90deg,oklch(18% .005 270/.5) 1px,#0000 1px),linear-gradient(oklch(18% .005 270/.5) 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at top,#000 30%,#0000 75%);mask-image:radial-gradient(at top,#000 30%,#0000 75%)}.lv2-nav{border-bottom:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-3);z-index:2;align-items:center;gap:28px;padding:18px 40px;font-size:12px;display:flex;position:relative}.lv2-nav .brand{color:var(--ink);align-items:center;gap:10px;font-weight:600;text-decoration:none;display:flex}.lv2-nav .brand .mk{background:var(--accent);border-radius:3px;width:18px;height:18px;position:relative}.lv2-nav .brand .mk:after{content:"";border:1.5px solid oklch(10% .005 270);border-radius:1px;position:absolute;inset:5px}.lv2-nav .ver{color:var(--ink-4);border:1px solid var(--line);border-radius:2px;margin-left:-4px;padding:1px 5px;font-size:10px}.lv2-nav .links{gap:22px;margin-left:auto;display:flex}.lv2-nav a{color:var(--ink-3);text-decoration:none}.lv2-nav a:hover{color:var(--ink)}.lv2-nav .stars{border:1px solid var(--line);color:var(--ink);border-radius:3px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.lv2-nav .stars .star{color:var(--warn)}.lv2-nav .github-link{color:var(--ink)}.lv2-hero{z-index:2;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:64px;max-width:1240px;margin:0 auto;padding:84px 40px 58px;display:grid;position:relative}.lv2-eyebrow{font-family:var(--font-mono);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;background:oklch(40% .08 240/.12);border:1px solid oklch(50% .1 240/.5);border-radius:999px;align-items:center;gap:10px;margin-bottom:24px;padding:5px 12px;font-size:11px;display:inline-flex}.lv2-eyebrow .pulse{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2.4s ease-out infinite pulse;box-shadow:0 0 oklch(72% .12 240/.6)}@keyframes pulse{0%{box-shadow:0 0 oklch(72% .12 240/.6)}70%{box-shadow:0 0 0 8px oklch(72% .12 240/0)}to{box-shadow:0 0 oklch(72% .12 240/0)}}.lv2-hero h1{letter-spacing:0;color:var(--ink);margin:0 0 24px;font-family:Georgia,Times New Roman,serif;font-size:64px;font-weight:500;line-height:1.05}.lv2-hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.lv2-hero h1 .h1-muted{color:var(--ink-3);font-size:.7em}.lv2-hero h1 .strike{color:var(--ink-3);font-size:.7em;-webkit-text-decoration:line-through oklch(50% .1 25/.7);text-decoration:line-through oklch(50% .1 25/.7);text-decoration-thickness:2px}.lv2-hero .sub{color:var(--ink-2);max-width:540px;margin:0 0 32px;font-size:18px;line-height:1.6}.lv2 .inline-path{background:var(--bg-1);border-radius:3px;padding:1px 6px}.lv2-cta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.lv2-cli{background:var(--bg-1);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink);border-radius:4px;align-items:center;gap:12px;padding:11px 14px;font-size:13px;display:inline-flex}.lv2-cli .prompt{color:var(--accent)}.lv2-cli .copy{font:inherit;color:var(--ink-3);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:2px;margin-left:4px;padding:2px 7px;font-size:10px}.lv2-cli .copy:hover{color:var(--ink);border-color:var(--ink-3)}.lv2-visual{background:var(--bg-1);border:1px solid var(--line-soft);border-radius:6px;flex-direction:column;height:480px;padding:0;display:flex;position:relative;overflow:hidden}.hd3{height:100%;font-family:var(--font-mono);flex-direction:column;display:flex}.hd3-bar{background:var(--bg-2);border-bottom:1px solid var(--line-soft);color:var(--ink-3);align-items:center;gap:10px;padding:9px 14px;font-size:11px;display:flex}.hd3-dots{gap:5px;display:flex}.hd3-dots i{background:var(--bg-3);border-radius:50%;width:8px;height:8px}.hd3-path{text-align:center;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hd3-hash{color:var(--ink-4);font-size:10px}.hd3-stage{flex:1;grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);align-items:stretch;gap:0;padding:22px 16px;display:grid;position:relative}.hd3-stamp{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-4);margin-bottom:8px;font-size:9px}.hd3-input{opacity:.55;cursor:pointer;flex-direction:column;grid-column:1;transition:opacity .2s;display:flex}.hd3-input.on{opacity:1}.hd3-doc{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;flex-direction:column;flex:1;display:flex;overflow:hidden}.hd3-input.on .hd3-doc{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.hd3-doc-h{background:var(--bg-3);border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex}.hd3-doc-h .ico{color:var(--accent);font-size:14px}.hd3-doc-h .nm{color:var(--ink);font-weight:500}.hd3-doc-h .meta{color:var(--ink-4);margin-left:auto;font-size:10px}.hd3-doc-body{counter-reset:line;flex-direction:column;flex:1;gap:5px;padding:12px 14px;font-size:11px;display:flex}.hd3-doc-body .ln{counter-increment:line;gap:10px;min-width:0;padding-left:28px;display:flex;position:relative}.hd3-doc-body .ln:before{content:counter(line);text-align:right;width:18px;color:var(--ink-4);font-size:10px;position:absolute;top:0;left:0}.hd3-doc-body .k{color:oklch(78% .1 280)}.hd3-doc-body .v{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hd3-pipe{flex-direction:column;grid-column:2;align-items:center;display:flex}.hd3-pipe .hd3-stamp{writing-mode:vertical-rl;transform:rotate(180deg)}.hd3-cli{display:none}.hd3-outs{cursor:pointer;opacity:.55;flex-direction:column;grid-column:3;transition:opacity .2s;display:flex}.hd3-outs.on{opacity:1}.hd3-out-stack{flex-direction:column;flex:1;gap:6px;display:flex}.hd3-out{background:var(--bg-2);border:1px solid var(--line);border-left:2px solid var(--tgt,var(--accent));color:var(--ink-3);border-radius:3px;padding:7px 10px;font-size:10px}.hd3-out-h{align-items:center;gap:8px;margin-bottom:4px;display:flex}.hd3-out-tgt{color:var(--ink);font-size:11px;font-weight:600}.hd3-out-ct{color:var(--tgt);margin-left:auto;font-size:9px}.hd3-out-f{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.5;overflow:hidden}.hd3-stage:before,.hd3-stage:after{content:"→";font-family:var(--font-mono);color:var(--accent);font-size:18px;position:absolute;top:50%;transform:translateY(-50%)}.hd3-stage:before{left:calc(50% - 36px)}.hd3-stage:after{left:calc(50% + 24px)}.lv2-trust{z-index:2;max-width:1240px;font-family:var(--font-mono);color:var(--ink-3);flex-wrap:wrap;gap:28px;margin:0 auto;padding:0 40px 40px;font-size:11px;display:flex;position:relative}.lv2-trust span{align-items:center;gap:6px;display:inline-flex}.lv2-trust span:before{content:"✓";color:var(--ok);font-weight:600}.lv2-section{z-index:2;border-top:1px solid var(--line-soft);max-width:1240px;margin:0 auto;padding:80px 40px;position:relative}.lv2-section .eyebrow{font-family:var(--font-mono);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;font-size:11px}.lv2-section h2{letter-spacing:0;max-width:720px;margin:0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:40px;font-weight:500;line-height:1.1}.lv2-section h2 em{color:var(--accent);font-style:italic;font-weight:400}.lv2-section .lede{color:var(--ink-2);max-width:640px;margin:0 0 40px;font-size:16px;line-height:1.6}.lv2-ba{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:8px;grid-template-columns:1fr 1fr;gap:0;display:grid;overflow:hidden}.lv2-ba .panel{padding:32px 28px;position:relative}.lv2-ba .before{border-right:1px solid var(--line-soft);background:repeating-linear-gradient(135deg,#0000 0 14px,oklch(50% .12 25/.04) 14px 28px)}.lv2-ba .after{background:oklch(18% .01 240/.3)}.lv2-ba .lbl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin-bottom:6px;font-size:11px}.lv2-ba .before .lbl{color:var(--err)}.lv2-ba .after .lbl{color:var(--ok)}.lv2-ba h3{letter-spacing:0;color:var(--ink);margin:0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500;line-height:1.25}.lv2-ba code{font-family:var(--font-mono);background:var(--bg-2);border-radius:3px;padding:1px 6px;font-size:.75em}.lv2-ba .files{flex-direction:column;gap:0;display:flex}.lv2-ba .file{font-family:var(--font-mono);color:var(--ink-2);border-bottom:1px dashed var(--line-soft);align-items:center;gap:10px;padding:8px 0;font-size:12px;display:flex}.lv2-ba .file:last-child{border-bottom:0}.lv2-ba .file .ic{border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;display:inline-flex}.lv2-ba .before .file{color:var(--ink-3)}.lv2-ba .before .file .ic{color:var(--err);background:oklch(40% .1 25/.25)}.lv2-ba .after .file .ic{color:var(--ok);background:oklch(40% .1 145/.2)}.lv2-ba .file .nm{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.lv2-ba .file .src{color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:10px}.lv2-ba .arrow-cap{z-index:3;border:1px solid var(--accent);font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.1em;background:oklch(10% .005 270);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:11px;display:flex;position:absolute;top:50%;right:-22px;transform:translateY(-50%)}.lv2-ba .arrow-cap:after{content:"→";font-size:14px}.lv2-steps{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:8px;grid-template-columns:220px 1fr;gap:0;display:grid;overflow:hidden}.lv2-step-list{border-right:1px solid var(--line-soft);background:oklch(13% .005 270);padding:16px 0}.lv2-step-row{cursor:pointer;width:100%;font-family:var(--font-mono);color:var(--ink-3);text-align:left;background:0 0;border:0;border-left:2px solid #0000;align-items:flex-start;gap:12px;padding:10px 18px;font-size:12px;display:flex}.lv2-step-row:hover{color:var(--ink-2)}.lv2-step-row.on{color:var(--ink);border-left-color:var(--accent);background:oklch(40% .08 240/.08)}.lv2-step-row .n{color:var(--ink-4);width:16px;font-size:10px;font-weight:600}.lv2-step-row.on .n{color:var(--accent)}.lv2-step-row .t{flex:1;line-height:1.4}.lv2-step-row .t .sub{color:var(--ink-4);margin-top:2px;font-size:10px;display:block}.lv2-step-pane{font-family:var(--font-mono);color:var(--ink-2);min-height:260px;padding:22px 26px;font-size:13px;line-height:1.7;overflow-x:auto}.lv2-step-pane .line{white-space:pre;min-height:1.7em}.lv2-step-pane .cmd{color:var(--ink)}.lv2-step-pane .ok{color:var(--ok)}.lv2-step-pane .dim{color:var(--ink-4)}.lv2-step-pane .warn{color:var(--warn)}.lv2-step-pane .acc{color:var(--accent)}.lv2-targets{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:0;display:grid;overflow:hidden}.lv2-target{border-right:1px solid var(--line-soft);flex-direction:column;gap:12px;padding:24px 22px;display:flex}.lv2-target:last-child{border-right:0}.lv2-target .h{align-items:center;gap:10px;display:flex}.lv2-target .h .mk{background:var(--bg-2);border:1px solid var(--line);width:28px;height:28px;font-family:var(--font-mono);color:var(--ink-2);border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.lv2-target h4{font-family:var(--font-mono);color:var(--ink);margin:0;font-size:14px;font-weight:600}.lv2-target .badge{margin-left:auto}.lv2-target .desc{color:var(--ink-2);font-size:13px;line-height:1.55}.lv2-target .files{font-family:var(--font-mono);color:var(--ink-3);border-top:1px dashed var(--line-soft);flex-direction:column;gap:4px;padding-top:8px;font-size:11px;display:flex}.lv2-later{font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;margin-top:14px;font-size:11px}.lv2-modes{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.lv2-mode{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:6px;flex-direction:column;gap:10px;padding:18px;display:flex}.lv2-mode .desc{color:var(--ink-2);font-size:13px;line-height:1.5}.lv2-mode .when{font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;border-top:1px dashed var(--line-soft);padding-top:8px;font-size:10px}.lv2-roadmap{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.lv2-rcol{border:1px solid var(--line-soft);background:var(--bg-1);border-radius:6px;padding:22px 20px}.lv2-rcol .ph{font-family:var(--font-mono);color:var(--ink);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;margin-bottom:16px;font-size:11px;display:flex}.lv2-rcol.now .ph:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px oklch(72% .12 240/.18)}.lv2-rcol.later .ph:before{content:"";background:var(--ink-3);border-radius:50%;width:8px;height:8px}.lv2-rcol.maybe .ph:before{content:"";border:1.5px dashed var(--ink-3);background:0 0;border-radius:50%;width:8px;height:8px}.lv2-rcol .it{color:var(--ink-2);border-bottom:1px dashed var(--line-soft);gap:10px;padding:8px 0;font-size:13px;display:flex}.lv2-rcol .it:last-child{border-bottom:0}.lv2-rcol .it .b{background:var(--line);border-radius:2px;flex-shrink:0;align-self:stretch;width:4px}.lv2-rcol.now .it .b{background:var(--accent)}.lv2-rcol .it .lbl{font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:10px;display:block}.lv2-foot{z-index:2;border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-4);flex-wrap:wrap;align-items:center;gap:24px;max-width:1240px;margin:0 auto;padding:40px;font-size:11px;display:flex;position:relative}.lv2-foot .end{color:var(--ink-3);margin-left:auto;font-family:Georgia,Times New Roman,serif;font-size:13px;font-style:italic}body.lightmode .lv2{background:oklch(98.5% .003 90)}body.lightmode .lv2-grid{background-image:linear-gradient(90deg,oklch(85% .005 90/.6) 1px,#0000 1px),linear-gradient(oklch(85% .005 90/.6) 1px,#0000 1px)}body.lightmode .lv2-nav{border-bottom-color:oklch(85% .005 90)}body.lightmode .lv2-nav .brand .mk:after{border-color:oklch(98.5% .003 90)}body.lightmode .lv2-foot,body.lightmode .lv2-trust,body.lightmode .lv2-section,body.lightmode .lv2-hero,body.lightmode .lv2-cli,body.lightmode .lv2-step-pane,body.lightmode .lv2-step-row,body.lightmode .lv2-target,body.lightmode .lv2-mode,body.lightmode .lv2-rcol,body.lightmode .lv2-ba .panel{color:var(--ink)}body.lightmode .lv2-cli{background:var(--bg-1);border-color:var(--line)}.lv2-nav .brand,.lv2-nav a,.lv2-nav .stars,.lv2-cli,.lv2-cli .copy,.lv2-visual,.hd3-input,.hd3-pipe,.hd3-outs,.hd3-out,.lv2-ba .panel,.lv2-step-row,.lv2-target,.lv2-mode,.lv2-rcol{transition:transform .18s,color .18s,background .18s,border-color .18s,box-shadow .18s,opacity .18s}.lv2-nav .github-link{color:var(--ink);border:1px solid var(--line);border-radius:3px;align-items:center;gap:7px;padding:4px 8px;display:inline-flex}.lv2-nav .github-mark{flex:none;width:14px;height:14px}.lv2-cli .copy{min-width:54px}.lv2-cli.copied{background:oklch(34% .1 145/.14);border-color:oklch(72% .14 145/.85);box-shadow:0 0 0 1px oklch(72% .14 145/.32),0 0 28px oklch(72% .14 145/.12)}.lv2-cli .copy.copied{color:oklch(88% .13 145);background:oklch(34% .1 145/.24);border-color:oklch(72% .14 145/.7)}.lv2-cli .copy.copy-failed{color:var(--err);background:oklch(40% .1 25/.16);border-color:oklch(55% .13 25/.75)}.hd3-pipe{cursor:pointer}.lv2-step-panels{min-width:0}.lv2-step-pane[hidden]{display:none}@media (hover:hover){.lv2-nav .brand:hover,.lv2-nav .links a:hover,.lv2-nav .stars:hover,.lv2-nav .github-link:hover,.lv2-cli:hover,.lv2 .btn:hover{transform:translateY(-2px)}.lv2-nav .github-link:hover,.lv2-cli:hover{border-color:var(--accent);box-shadow:0 10px 30px oklch(0% 0 0/.18)}.lv2-visual:hover{border-color:oklch(50% .1 240/.6);transform:translateY(-4px);box-shadow:0 24px 70px oklch(0% 0 0/.26)}.hd3-input:hover,.hd3-pipe:hover,.hd3-outs:hover{opacity:1;transform:translateY(-3px)}.hd3-out:hover{background:oklch(20% .012 270);border-color:oklch(48% .08 240/.55);transform:translate(3px)}.lv2-ba .panel:hover,.lv2-target:hover,.lv2-mode:hover,.lv2-rcol:hover{border-color:oklch(50% .09 240/.5);transform:translateY(-4px);box-shadow:0 18px 55px oklch(0% 0 0/.18)}.lv2-step-row:hover{background:oklch(40% .08 240/.06);transform:translate(4px)}.lv2-cli .copy:hover{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.lv2 *,.lv2 :before,.lv2 :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=1100px){.lv2-hero{grid-template-columns:1fr;gap:40px;padding-top:64px}.lv2-hero h1{font-size:48px}.lv2-section h2{font-size:32px}.lv2-modes,.lv2-roadmap,.lv2-targets,.lv2-ba{grid-template-columns:1fr}.lv2-targets .lv2-target{border-right:0;border-bottom:1px solid var(--line-soft)}.lv2-targets .lv2-target:last-child{border-bottom:0}.lv2-ba .before{border-right:0;border-bottom:1px solid var(--line-soft)}.lv2-ba .arrow-cap{top:auto;bottom:-18px;right:50%;transform:translate(50%)}}@media (width<=760px){.lv2-nav{flex-wrap:wrap;gap:14px;padding:16px 20px}.lv2-nav .links{order:3;gap:14px;width:100%;margin-left:0;overflow-x:auto}.lv2-hero{padding:48px 20px 40px}.lv2-hero h1{font-size:40px}.lv2-hero .sub{font-size:16px}.lv2-visual{height:auto;min-height:620px}.hd3-stage{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:18px}.hd3-input,.hd3-pipe,.hd3-outs{grid-column:1}.hd3-pipe .hd3-stamp{writing-mode:horizontal-tb;transform:none}.hd3-cli{background:var(--bg-2);border:1px solid var(--line);border-radius:4px;width:100%;padding:10px 12px;font-size:11px;line-height:1.6;display:block}.hd3-cli-row{gap:8px;display:flex}.hd3-stage:before,.hd3-stage:after{display:none}.lv2-trust,.lv2-section{padding-left:20px;padding-right:20px}.lv2-section{padding-top:56px;padding-bottom:56px}.lv2-steps{grid-template-columns:1fr}.lv2-step-list{border-right:0;border-bottom:1px solid var(--line-soft)}.lv2-step-pane{padding:18px;font-size:12px}.lv2-ba .file,.lv2-target .h{align-items:flex-start}.lv2-foot{padding:30px 20px}.lv2-foot .end{margin-left:0}}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.text-input.svelte-maq4gq,.text-area.svelte-maq4gq,.select-input.svelte-maq4gq{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--ink-1);font-family:var(--font-mono);box-sizing:border-box;border-radius:4px;padding:5px 8px;font-size:12px}.text-area.svelte-maq4gq{resize:vertical}.toggle-label.svelte-maq4gq{cursor:pointer;color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:flex}.field-err.svelte-maq4gq{color:var(--err);font-size:11px}.ok-callout.svelte-maq4gq{background:var(--ok-bg,#0d2b1b);border:1px solid var(--ok,#22c55e);color:var(--ok,#22c55e);border-radius:6px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.ok-callout.svelte-maq4gq .icon:where(.svelte-maq4gq){font-weight:700}.modal-overlay.svelte-maq4gq{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.svelte-maq4gq{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;flex-direction:column;width:min(860px,92vw);max-height:80vh;display:flex;overflow:hidden}.modal-head.svelte-maq4gq{border-bottom:1px solid var(--border);color:var(--ink-2);align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.modal-foot.svelte-maq4gq{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.diff-pre.svelte-maq4gq{font-family:var(--font-mono);color:var(--ink-2);white-space:pre;tab-size:2;background:var(--surface-2);flex:1;margin:0;padding:12px 16px;font-size:11px;line-height:1.6;overflow:auto}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./CRcOA4L4.js";
|
|
Binary file
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},n=Array.isArray,r=Array.prototype.indexOf,i=Array.prototype.includes,a=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyDescriptors,l=Object.prototype,u=Array.prototype,d=Object.getPrototypeOf,f=Object.isExtensible,p=()=>{};function m(e){for(var t=0;t<e.length;t++)e[t]()}function h(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var g=1024,_=2048,v=4096,y=8192,b=16384,x=32768,S=1<<25,ee=65536,te=1<<18,ne=1<<19,re=1<<20,ie=1<<25,ae=65536,oe=1<<21,se=1<<22,ce=1<<23,le=Symbol(`$state`),ue=Symbol(`legacy props`),de=Symbol(``),fe=Symbol(`attributes`),pe=Symbol(`class`),me=Symbol(`style`),he=Symbol(`text`),ge=Symbol(`form reset`),_e=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ve=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function ye(e){throw Error(`https://svelte.dev/e/experimental_async_required`)}function be(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function xe(){throw Error(`https://svelte.dev/e/missing_context`)}function Se(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function Ce(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function we(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Te(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ee(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function De(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Oe(){throw Error(`https://svelte.dev/e/fork_discarded`)}function ke(){throw Error(`https://svelte.dev/e/fork_timing`)}function Ae(){throw Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`)}function je(){throw Error(`https://svelte.dev/e/hydration_failed`)}function Me(e){throw Error(`https://svelte.dev/e/lifecycle_legacy_only`)}function Ne(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function Pe(){throw Error(`https://svelte.dev/e/set_context_after_init`)}function Fe(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Ie(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Le(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Re(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var ze={},C=Symbol(),Be=`http://www.w3.org/1999/xhtml`,Ve=`http://www.w3.org/2000/svg`,He=`http://www.w3.org/1998/Math/MathML`;function Ue(){console.warn(`https://svelte.dev/e/derived_inert`)}function We(e){console.warn(`https://svelte.dev/e/hydratable_missing_but_expected`)}function Ge(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Ke(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function qe(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var w=!1;function T(e){w=e}var E;function D(e){if(e===null)throw Ge(),ze;return E=e}function Je(){return D(L(E))}function Ye(e){if(w){if(L(E)!==null)throw Ge(),ze;E=e}}function Xe(e=1){if(w){for(var t=e,n=E;t--;)n=L(n);E=n}}function Ze(e=!0){for(var t=0,n=E;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=L(n);e&&n.remove(),n=i}}function Qe(e){if(!e||e.nodeType!==8)throw Ge(),ze;return e.data}function $e(e){return e===this.v}function et(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function tt(e){return!et(e,this.v)}var O=!1,nt=!1,k=null;function rt(e){k=e}function it(){let e={};return[()=>(st(e)||xe(),at(e)),t=>ot(e,t)]}function at(e){return ft(`getContext`).get(e)}function ot(e,t){let n=ft(`setContext`);if(O){var r=G.f;!H&&r&32&&!k.i||Pe()}return n.set(e,t),t}function st(e){return ft(`hasContext`).has(e)}function ct(){return ft(`getAllContexts`)}function lt(e,t=!1,n){k={p:k,i:!1,c:null,e:null,s:e,x:null,r:G,l:nt&&!t?{s:null,u:null,$:[]}:null}}function ut(e){var t=k,n=t.e;if(n!==null){t.e=null;for(var r of n)rr(r)}return e!==void 0&&(t.x=e),t.i=!0,k=t.p,e??{}}function dt(){return!nt||k!==null&&k.l===null}function ft(e){return k===null&&be(e),k.c??=new Map(pt(k)||void 0)}function pt(e){let t=e.p;for(;t!==null;){let e=t.c;if(e!==null)return e;t=t.p}return null}var mt=[];function ht(){var e=mt;mt=[],m(e)}function gt(e){if(mt.length===0&&!Rt){var t=mt;queueMicrotask(()=>{t===mt&&ht()})}mt.push(e)}function _t(){for(;mt.length>0;)ht()}function vt(e){var t=G;if(t===null)return H.f|=ce,e;if(!(t.f&32768)&&!(t.f&4))throw e;yt(e,t)}function yt(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var bt=~(_|v|g);function A(e,t){e.f=e.f&bt|t}function xt(e){e.f&512||e.deps===null?A(e,g):A(e,v)}function St(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ae,St(t.deps))}function Ct(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),St(e.deps),A(e,g)}function wt(e,t,n){if(e==null)return t(void 0),n&&n(void 0),p;let r=Q(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}var Tt=[];function Et(e,t=p){let n=null,r=new Set;function i(t){if(et(e,t)&&(e=t,n)){let t=!Tt.length;for(let t of r)t[1](),Tt.push(t,e);if(t){for(let e=0;e<Tt.length;e+=2)Tt[e][0](Tt[e+1]);Tt.length=0}}}function a(t){i(t(e))}function o(o,s=p){let c=[o,s];return r.add(c),r.size===1&&(n=t(i,a)||p),o(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:i,update:a,subscribe:o}}function Dt(e){let t;return wt(e,e=>t=e)(),t}var Ot=!1,kt=!1,At=Symbol();function jt(e,t,n){let r=n[t]??={store:null,source:En(void 0),unsubscribe:p};if(r.store!==e&&!(At in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=p;else{var i=!0;r.unsubscribe=wt(e,e=>{i?r.source.v=e:P(r.source,e)}),i=!1}return e&&At in n?Dt(e):Z(r.source)}function Mt(){let e={};function t(){tr(()=>{for(var t in e)e[t].unsubscribe();o(e,At,{enumerable:!1,value:!0})})}return[e,t]}function Nt(e){var t=kt;try{return kt=!1,[e(),kt]}finally{kt=t}}var Pt=null,Ft=null,j=null,It=null,M=null,Lt=null,Rt=!1,zt=!1,Bt=null,Vt=null,Ht=0,Ut=1,Wt=class e{id=Ut++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;unblocked=new Set;#r=new Set;#i=new Set;#a=new Set;#o=0;#s=new Map;#c=null;#l=[];#u=[];#d=new Set;#f=new Set;#p=new Map;#m=new Set;is_fork=!1;#h=!1;#g(){if(this.is_fork)return!0;for(let n of this.#s.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#p.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#p.has(e)||this.#p.set(e,{d:[],m:[]}),this.#m.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#p.get(e);if(n){this.#p.delete(e);for(var r of n.d)A(r,_),t(r);for(r of n.m)A(r,v),t(r)}this.#m.add(e)}#_(){if(this.#e=!0,Ht++>1e3&&(this.#w(),Kt()),!this.#g()){for(let e of this.#d)this.#f.delete(e),A(e,_),this.schedule(e);for(let e of this.#f)A(e,v),this.schedule(e)}let t=this.#l;this.#l=[],this.apply();var n=Bt=[],r=[],i=Vt=[];for(let e of t)try{this.#v(e,n,r)}catch(t){throw $t(e),t}if(j=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Bt=null,Vt=null,this.#g()){this.#x(r),this.#x(n);for(let[e,t]of this.#p)Qt(e,t);i.length>0&&j.#_();return}let o=this.#y();if(o){o.#b(this);return}this.#d.clear(),this.#f.clear();for(let e of this.#r)e(this);this.#r.clear(),It=this,qt(r),qt(n),It=null,this.#c?.resolve();var s=j;if(this.linked&&this.#o===0&&this.#w(),O&&!this.linked&&(this.#S(),j=s),this.#l.length>0){s===null&&(s=this,this.#C());let e=s;e.#l.push(...this.#l.filter(t=>!e.#l.includes(t)))}s!==null&&s.#_()}#v(e,t,n){e.f^=g;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#p.has(r))&&r.fn!==null){a?r.f^=g:i&4?t.push(r):O&&i&16777224?n.push(r):Mr(r)&&(i&16&&this.#f.add(r),Lr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#y(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#b(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve)}let t=e=>{var n=e.reactions;if(n!==null)for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#f.delete(i),A(i,_),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#w(),j=this,this.#_()}#x(e){for(var t=0;t<e.length;t+=1)Ct(e[t],this.#d,this.#f)}capture(e,t,n=!1){e.v!==C&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),M?.set(e,t)),this.is_fork||(e.v=t)}activate(){j=this}deactivate(){j=null,M=null}flush(){try{zt=!0,j=this,this.#_()}finally{Ht=0,Lt=null,Bt=null,Vt=null,zt=!1,j=null,M=null,xn.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear(),this.#a.clear(),this.#w()}register_created_effect(e){this.#u.push(e)}#S(){this.#w();for(let l=Pt;l!==null;l=l.#n){var e=l.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(l.current.has(r)){var n=l.current.get(r)[0];if(e&&i!==n)l.current.set(r,[i,a]);else continue}t.push(r)}if(e)for(let[e,t]of this.async_deriveds){let n=l.async_deriveds.get(e);n&&t.promise.then(n.resolve)}if(l.#e){var r=[...l.current.keys()].filter(e=>!this.current.has(e));if(r.length===0)e&&l.discard();else if(t.length>0){if(e)for(let e of this.#m)l.unskip_effect(e,e=>{e.f&4194320?l.schedule(e):l.#x([e])});l.activate();var i=new Set,a=new Map;for(var o of t)Jt(o,r,i,a);a=new Map;var s=[...l.current.keys()].filter(e=>this.current.has(e)?this.current.get(e)[0]!==e.v:!0);if(s.length>0)for(let e of this.#u)!(e.f&155648)&&Xt(e,s,a)&&(e.f&4194320?(A(e,_),l.schedule(e)):l.#d.add(e));if(l.#l.length>0){l.apply();for(var c of l.#l)l.#v(c,[],[]);l.#l=[]}l.deactivate()}}}}increment(e,t){if(this.#o+=1,e){let e=this.#s.get(t)??0;this.#s.set(t,e+1)}}decrement(e,t){if(--this.#o,e){let e=this.#s.get(t)??0;e===1?this.#s.delete(t):this.#s.set(t,e-1)}this.#h||(this.#h=!0,gt(()=>{this.#h=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#d.add(t);for(let e of t)this.#f.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}on_fork_commit(e){this.#a.add(e)}run_fork_commit_callbacks(){for(let e of this.#a)e(this);this.#a.clear()}settled(){return(this.#c??=h()).promise}static ensure(){if(j===null){let t=j=new e;t.#C(),!zt&&!Rt&>(()=>{t.#e||t.flush()})}return j}apply(){if(!O||!this.is_fork&&this.#t===null&&this.#n===null){M=null;return}M=new Map;for(let[e,[t]]of this.current)M.set(e,t);for(let t=Pt;t!==null;t=t.#n)if(!(t===this||t.is_fork)){var e=!1;if(t.id<this.id){for(let[n,[,r]]of t.current)if(!r&&this.current.has(n)){e=!0;break}}if(!e)for(let[e,n]of t.previous)M.has(e)||M.set(e,n)}}schedule(e){if(Lt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Bt!==null&&t===G&&(O||(H===null||!(H.f&2))&&!Ot))return;if(n&96){if(!(n&1024))return;t.f^=g}}this.#l.push(t)}#C(){Ft===null?Pt=Ft=this:(Ft.#n=this,this.#t=Ft),Ft=this}#w(){var e=this.#t,t=this.#n;e===null?Pt=t:e.#n=t,t===null?Ft=e:t.#t=e,this.linked=!1}};function Gt(e){var t=Rt;Rt=!0;try{var n;for(e&&(j!==null&&!j.is_fork&&j.flush(),n=e());;){if(_t(),j===null)return n;j.flush()}}finally{Rt=t}}function Kt(){try{De()}catch(e){yt(e,Lt)}}var N=null;function qt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Mr(r)&&(N=new Set,Lr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&gr(r),N?.size>0)){xn.clear();for(let e of N){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)N.has(n)&&(N.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Lr(n)}}N.clear()}}N=null}}function Jt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Jt(i,t,n,r):e&4194320&&!(e&2048)&&Xt(i,t,r)&&(A(i,_),Zt(i))}}function Yt(e,t){if(e.reactions!==null)for(let n of e.reactions){let e=n.f;e&2?Yt(n,t):e&131072&&(A(n,_),t.add(n))}}function Xt(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(i.call(t,r))return!0;if(r.f&2&&Xt(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function Zt(e){j.schedule(e)}function Qt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),A(e,g);for(var n=e.first;n!==null;)Qt(n,t),n=n.next}}function $t(e){A(e,g);for(var t=e.first;t!==null;)$t(t),t=t.next}function en(e){O||ye(`fork`),j!==null&&ke();var t=Wt.ensure();t.is_fork=!0,M=new Map;var n=!1,r=t.settled();return Gt(e),{commit:async()=>{if(n){await r;return}t.linked||Oe(),n=!0,t.is_fork=!1;for(var[e,[i]]of t.current)e.v=i,e.wv=jr();t.activate(),t.run_fork_commit_callbacks(),t.deactivate(),Gt(()=>{var e=new Set;for(var n of t.current.keys())Yt(n,e);Sn(e),On()}),t.flush(),await r},discard:()=>{for(var e of t.current.keys())e.wv=jr();!n&&t.linked&&t.discard()}}}function tn(e){let t=0,n=wn(0),r;return()=>{er()&&(Z(n),cr(()=>(t===0&&(r=Q(()=>e(()=>kn(n)))),t+=1,()=>{gt(()=>{--t,t===0&&(r?.(),r=void 0,kn(n))})})))}}var nn=ee|ne;function rn(e,t,n,r){new an(e,t,n,r)}var an=class{parent;is_pending=!1;transform_error;#e;#t=w?E:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=tn(()=>(this.#m=wn(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=G;t.b=this,t.f|=128,n(e)},this.parent=G.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=dr(()=>{if(w){let e=this.#t;Je();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},nn),w&&(this.#e=E)}#g(){try{this.#a=z(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=z(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=z(()=>e(this.#e)),gt(()=>{var e=this.#c=document.createDocumentFragment(),t=F();e.append(t),this.#a=this.#x(()=>z(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,_r(this.#o,()=>{this.#o=null}),this.#b(j))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=z(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();xr(this.#a,e);let t=this.#n.pending;this.#o=z(()=>t(this.#e))}else this.#b(j)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){Ct(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=G,n=H,r=k;K(this.#i),W(this.#i),rt(this.#i.ctx);try{return Wt.ensure(),e()}catch(e){return vt(e),null}finally{K(t),W(n),rt(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&_r(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,gt(()=>{this.#d=!1,this.#m&&Dn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Z(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;j?.is_fork?(this.#a&&j.skip_effect(this.#a),this.#o&&j.skip_effect(this.#o),this.#s&&j.skip_effect(this.#s),j.on_fork_commit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(B(this.#a),null),this.#o&&=(B(this.#o),null),this.#s&&=(B(this.#s),null),w&&(D(this.#t),Xe(),D(Ze()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){qe();return}r=!0,i&&Re(),this.#s!==null&&_r(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){yt(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return z(()=>{var t=G;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return yt(e,this.#i.parent),null}}))};gt(()=>{var t;try{t=this.transform_error(e)}catch(e){yt(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>yt(e,this.#i&&this.#i.parent)):o(t)})}};function on(e,t,n,r){let i=dt()?un:mn;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=G,s=sn(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){if(!(o.f&16384)){s();try{r(e)}catch(e){yt(e,o)}cn()}}var u=ln();if(n.length===0){c.then(()=>l(t.map(i))).finally(u);return}function d(){Promise.all(n.map(e=>fn(e))).then(e=>l([...t.map(i),...e])).catch(e=>yt(e,o)).finally(u)}c?c.then(()=>{s(),d(),cn()}):d()}function sn(){var e=G,t=H,n=k,r=j;return function(i=!0){K(e),W(t),rt(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function cn(e=!0){K(null),W(null),rt(null),e&&j?.deactivate()}function ln(){var e=G,t=e.b,n=j,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),()=>{t.update_pending_count(-1,n),n.decrement(r,e)}}function un(e){var t=2|_;return G!==null&&(G.f|=ne),{ctx:k,deps:null,effects:null,equals:$e,f:t,fn:e,reactions:null,rv:0,v:C,wv:0,parent:G,ac:null}}var dn=Symbol(`obsolete`);function fn(e,t,n){let r=G;r===null&&Se();var i=void 0,a=wn(C),o=!H,s=new Set;return sr(()=>{var t=G,n=h();i=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==_e&&n.reject(e)}).finally(cn)}catch(e){n.reject(e),cn()}var c=j;if(o){if(t.f&32768)var l=ln();if(r.b.is_rendered())c.async_deriveds.get(t)?.reject(dn);else for(let e of s.values())e.reject(dn);s.add(n),c.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),s.delete(n),t!==dn&&(c.activate(),t?(a.f|=ce,Dn(a,t)):(a.f&8388608&&(a.f^=ce),Dn(a,e)),c.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),tr(()=>{for(let e of s)e.reject(dn)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function pn(e){let t=un(e);return O||Tr(t),t}function mn(e){let t=un(e);return t.equals=tt,t}function hn(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)B(t[n])}}function gn(e){var t,n=G,r=e.parent;if(!V&&r!==null&&r.f&24576)return Ue(),e.v;K(r);try{e.f&=~ae,hn(e),t=Pr(e)}finally{K(n)}return t}function _n(e){var t=gn(e);if(!e.equals(t)&&(e.wv=jr(),(!j?.is_fork||e.deps===null)&&(j===null?e.v=t:(j.capture(e,t,!0),It?.capture(e,t,!0)),e.deps===null))){A(e,g);return}V||(M===null?xt(e):(er()||j?.is_fork)&&M.set(e,t))}function vn(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(_e),t.teardown=p,t.ac=null,Ir(t,0),pr(t))}function yn(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&Lr(t)}var bn=new Set,xn=new Map;function Sn(e){bn=e}var Cn=!1;function wn(e,t){return{f:0,v:e,reactions:null,equals:$e,rv:0,wv:0}}function Tn(e,t){let n=wn(e,t);return Tr(n),n}function En(e,t=!1,n=!0){let r=wn(e);return t||(r.equals=tt),nt&&n&&k!==null&&k.l!==null&&(k.l.s??=[]).push(r),r}function P(e,t,n=!1){return H!==null&&(!U||H.f&131072)&&dt()&&H.f&4325394&&(q===null||!i.call(q,e))&&Le(),Dn(e,n?jn(t):t,Vt)}function Dn(e,t,n=null){if(!e.equals(t)){xn.set(e,V?t:e.v);var r=Wt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&gn(t),M===null&&xt(t)}e.wv=jr(),An(e,_,n),dt()&&G!==null&&G.f&1024&&!(G.f&96)&&(X===null?Er([e]):X.push(e)),!r.is_fork&&bn.size>0&&!Cn&&On()}return t}function On(){Cn=!1;for(let e of bn){e.f&1024&&A(e,v);let t;try{t=Mr(e)}catch{t=!0}t&&Lr(e)}bn.clear()}function kn(e){P(e,e.v+1)}function An(e,t,n){var r=e.reactions;if(r!==null)for(var i=dt(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===G)){var l=(c&_)===0;if(l&&A(s,t),c&131072)bn.add(s);else if(c&2){var u=s;M?.delete(u),c&65536||(c&512&&(G===null||!(G.f&2097152))&&(s.f|=ae),An(u,v,n))}else if(l){var d=s;c&16&&N!==null&&N.add(d),n===null?Zt(d):n.push(d)}}}}function jn(e){if(typeof e!=`object`||!e||le in e)return e;let t=d(e);if(t!==l&&t!==u)return e;var r=new Map,i=n(e),a=Tn(0),o=null,c=kr,f=e=>{if(kr===c)return e();var t=H,n=kr;W(null),Ar(c);var r=e();return W(t),Ar(n),r};return i&&r.set(`length`,Tn(e.length,o)),new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Fe();var i=r.get(t);return i===void 0?f(()=>{var e=Tn(n.value,o);return r.set(t,e),e}):P(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>Tn(C,o));r.set(t,e),kn(a)}}else P(n,C),kn(a);return!0},get(t,n,i){if(n===le)return e;var a=r.get(n),c=n in t;if(a===void 0&&(!c||s(t,n)?.writable)&&(a=f(()=>Tn(jn(c?t[n]:C),o)),r.set(n,a)),a!==void 0){var l=Z(a);return l===C?void 0:l}return Reflect.get(t,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=Z(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==C)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===le)return!0;var n=r.get(t),i=n!==void 0&&n.v!==C||Reflect.has(e,t);return(n!==void 0||G!==null&&(!i||s(e,t)?.writable))&&(n===void 0&&(n=f(()=>Tn(i?jn(e[t]):C,o)),r.set(t,n)),Z(n)===C)?!1:i},set(e,t,n,c){var l=r.get(t),u=t in e;if(i&&t===`length`)for(var d=n;d<l.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>Tn(C,o)),r.set(d+``,p)):P(p,C)}if(l===void 0)(!u||s(e,t)?.writable)&&(l=f(()=>Tn(void 0,o)),P(l,jn(n)),r.set(t,l));else{u=l.v!==C;var m=f(()=>jn(n));P(l,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(c,n),!u){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&P(g,_+1)}kn(a)}return!0},ownKeys(e){Z(a);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==C});for(var[n,i]of r)i.v!==C&&!(n in e)&&t.push(n);return t},setPrototypeOf(){Ie()}})}function Mn(e){try{if(typeof e==`object`&&e&&le in e)return e[le]}catch{}return e}function Nn(e,t){return Object.is(Mn(e),Mn(t))}var Pn,Fn,In,Ln,Rn;function zn(){if(Pn===void 0){Pn=window,Fn=document,In=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Ln=s(t,`firstChild`).get,Rn=s(t,`nextSibling`).get,f(e)&&(e[pe]=void 0,e[fe]=null,e[me]=void 0,e.__e=void 0),f(n)&&(n[he]=void 0)}}function F(e=``){return document.createTextNode(e)}function I(e){return Ln.call(e)}function L(e){return Rn.call(e)}function Bn(e,t){if(!w)return I(e);var n=I(E);if(n===null)n=E.appendChild(F());else if(t&&n.nodeType!==3){var r=F();return n?.before(r),D(r),r}return t&&Kn(n),D(n),n}function Vn(e,t=!1){if(!w){var n=I(e);return n instanceof Comment&&n.data===``?L(n):n}if(t){if(E?.nodeType!==3){var r=F();return E?.before(r),D(r),r}Kn(E)}return E}function Hn(e,t=1,n=!1){let r=w?E:e;for(var i;t--;)i=r,r=L(r);if(!w)return r;if(n){if(r?.nodeType!==3){var a=F();return r===null?i?.after(a):r.before(a),D(a),a}Kn(r)}return D(r),r}function Un(e){e.textContent=``}function Wn(){return!O||N!==null?!1:(G.f&x)!==0}function Gn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function Kn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function qn(e){w&&I(e)!==null&&Un(e)}var Jn=!1;function Yn(){Jn||(Jn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[ge]?.()})},{capture:!0}))}function Xn(e){var t=H,n=G;W(null),K(null);try{return e()}finally{W(t),K(n)}}function Zn(e,t,n,r=n){e.addEventListener(t,()=>Xn(n));let i=e[ge];i?e[ge]=()=>{i(),r(!0)}:e[ge]=()=>r(!0),Yn()}function Qn(e){G===null&&(H===null&&Ee(e),Te()),V&&we(e)}function $n(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function R(e,t){var n=G;n!==null&&n.f&8192&&(e|=y);var r={ctx:k,deps:null,nodes:null,f:e|_|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};j?.register_created_effect(r);var i=r;if(e&4)Bt===null?Wt.ensure().schedule(r):Bt.push(r);else if(t!==null){try{Lr(r)}catch(e){throw B(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=ee))}if(i!==null&&(i.parent=n,n!==null&&$n(i,n),H!==null&&H.f&2&&!(e&64))){var a=H;(a.effects??=[]).push(i)}return r}function er(){return H!==null&&!U}function tr(e){let t=R(8,null);return A(t,g),t.teardown=e,t}function nr(e){Qn(`$effect`);var t=G.f;if(!H&&t&32&&!(t&32768)){var n=k;(n.e??=[]).push(e)}else return rr(e)}function rr(e){return R(4|re,e)}function ir(e){return Qn(`$effect.pre`),R(8|re,e)}function ar(e){Wt.ensure();let t=R(64|ne,e);return(e={})=>new Promise(n=>{e.outro?_r(t,()=>{B(t),n(void 0)}):(B(t),n(void 0))})}function or(e){return R(4,e)}function sr(e){return R(se|ne,e)}function cr(e,t=0){return R(8|t,e)}function lr(e,t=[],n=[],r=[]){on(r,t,n,t=>{R(8,()=>e(...t.map(Z)))})}function ur(e,t=[],n=[],r=[]){on(r,t,n,t=>{R(4,()=>e(...t.map(Z)))})}function dr(e,t=0){return R(16|t,e)}function z(e){return R(32|ne,e)}function fr(e){var t=e.teardown;if(t!==null){let e=V,n=H;wr(!0),W(null);try{t.call(null)}finally{wr(e),W(n)}}}function pr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Xn(()=>{e.abort(_e)});var r=n.next;n.f&64?n.parent=null:B(n,t),n=r}}function mr(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||B(t),t=n}}function B(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(hr(e.nodes.start,e.nodes.end),n=!0),A(e,S),pr(e,t&&!n),Ir(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();fr(e),e.f^=S,e.f|=b;var i=e.parent;i!==null&&i.first!==null&&gr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function hr(e,t){for(;e!==null;){var n=e===t?null:L(e);e.remove(),e=n}}function gr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function _r(e,t,n=!0){var r=[];vr(e,r,!0);var i=()=>{n&&B(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function vr(e,t,n){if(!(e.f&8192)){e.f^=y;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;vr(i,t,o?n:!1)}i=a}}}function yr(e){br(e,!0)}function br(e,t){if(e.f&8192){e.f^=y,e.f&1024||(A(e,_),Wt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;br(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function xr(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:L(n);t.append(n),n=i}}var Sr=null,Cr=!1,V=!1;function wr(e){V=e}var H=null,U=!1;function W(e){H=e}var G=null;function K(e){G=e}var q=null;function Tr(e){H!==null&&(!O||H.f&2)&&(q===null?q=[e]:q.push(e))}var J=null,Y=0,X=null;function Er(e){X=e}var Dr=1,Or=0,kr=Or;function Ar(e){kr=e}function jr(){return++Dr}function Mr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ae),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Mr(a)&&_n(a),a.wv>e.wv)return!0}t&512&&M===null&&A(e,g)}return!1}function Nr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!O&&q!==null&&i.call(q,e)))for(var a=0;a<r.length;a++){var o=r[a];o.f&2?Nr(o,t,!1):t===o&&(n?A(o,_):o.f&1024&&A(o,v),Zt(o))}}function Pr(e){var t=J,n=Y,r=X,i=H,a=q,o=k,s=U,c=kr,l=e.f;J=null,Y=0,X=null,H=l&96?null:e,q=null,rt(e.ctx),U=!1,kr=++Or,e.ac!==null&&(Xn(()=>{e.ac.abort(_e)}),e.ac=null);try{e.f|=oe;var u=e.fn,d=u();e.f|=x;var f=e.deps,p=j?.is_fork;if(J!==null){var m;if(p||Ir(e,Y),f!==null&&Y>0)for(f.length=Y+J.length,m=0;m<J.length;m++)f[Y+m]=J[m];else e.deps=f=J;if(er()&&e.f&512)for(m=Y;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&Y<f.length&&(Ir(e,Y),f.length=Y);if(dt()&&X!==null&&!U&&f!==null&&!(e.f&6146))for(m=0;m<X.length;m++)Nr(X[m],e);if(i!==null&&i!==e){if(Or++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=Or;if(t!==null)for(let e of t)e.rv=Or;X!==null&&(r===null?r=X:r.push(...X))}return e.f&8388608&&(e.f^=ce),d}catch(e){return vt(e)}finally{e.f^=oe,J=t,Y=n,X=r,H=i,q=a,rt(o),U=s,kr=c}}function Fr(e,t){let n=t.reactions;if(n!==null){var a=r.call(n,e);if(a!==-1){var o=n.length-1;o===0?n=t.reactions=null:(n[a]=n[o],n.pop())}}if(n===null&&t.f&2&&(J===null||!i.call(J,t))){var s=t;s.f&512&&(s.f^=512,s.f&=~ae),s.v!==C&&xt(s),vn(s),Ir(s,0)}}function Ir(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Fr(e,n[r])}function Lr(e){var t=e.f;if(!(t&16384)){A(e,g);var n=G,r=Cr;G=e,Cr=!0;try{t&16777232?mr(e):pr(e),fr(e);var i=Pr(e);e.teardown=typeof i==`function`?i:null,e.wv=Dr}finally{Cr=r,G=n}}}async function Rr(){if(O)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),Gt()}function zr(){return Wt.ensure().settled()}function Z(e){var t=(e.f&2)!=0;if(Sr?.add(e),H!==null&&!U&&!(G!==null&&G.f&16384)&&(q===null||!i.call(q,e))){var n=H.deps;if(H.f&2097152)e.rv<Or&&(e.rv=Or,J===null&&n!==null&&n[Y]===e?Y++:J===null?J=[e]:J.push(e));else{(H.deps??=[]).push(e);var r=e.reactions;r===null?e.reactions=[H]:i.call(r,H)||r.push(H)}}if(V&&xn.has(e))return xn.get(e);if(t){var a=e;if(V){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||Vr(a))&&(o=gn(a)),xn.set(a,o),o}var s=(a.f&512)==0&&!U&&H!==null&&(Cr||(H.f&512)!=0),c=(a.f&x)===0;Mr(a)&&(s&&(a.f|=512),_n(a)),s&&!c&&(yn(a),Br(a))}if(M?.has(e))return M.get(e);if(e.f&8388608)throw e.v;return e.v}function Br(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(yn(t),Br(t))}function Vr(e){if(e.v===C)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(xn.has(t)||t.f&2&&Vr(t))return!0;return!1}function Q(e){var t=U;try{return U=!0,e()}finally{U=t}}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];var Hr=[`touchstart`,`touchmove`];function Ur(e){return Hr.includes(e)}var Wr=Symbol(`events`),Gr=new Set,Kr=new Set;function qr(e,t,n,r={}){function i(e){if(r.capture||Qr.call(t,e),!e.cancelBubble)return Xn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?gt(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Jr(e,t,n,r,i){var a={capture:r,passive:i},o=qr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&tr(()=>{t.removeEventListener(e,o,a)})}function Yr(e,t,n){(t[Wr]??={})[e]=n}function Xr(e){for(var t=0;t<e.length;t++)Gr.add(e[t]);for(var n of Kr)n(e)}var Zr=null;function Qr(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;Zr=e;var s=0,c=Zr===e&&e[Wr];if(c){var l=i.indexOf(c);if(l!==-1&&(t===document||t===window)){e[Wr]=t;return}var u=i.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(a=i[s]||e.target,a!==t){o(e,`currentTarget`,{configurable:!0,get(){return a||n}});var d=H,f=G;W(null),K(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[Wr]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[Wr]=t,delete e.currentTarget,W(d),K(f)}}}var $r=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function ei(e){return $r?.createHTML(e)??e}function ti(e){var t=Gn(`template`);return t.innerHTML=ei(e.replaceAll(`<!>`,`<!---->`)),t.content}var ni=ve?`script`:`SCRIPT`;function $(e,t){var n=G;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function ri(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(w)return $(E,null),E;i===void 0&&(i=ti(a?e:`<!>`+e),n||(i=I(i)));var t=r||In?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=I(t),s=t.lastChild;$(o,s)}else $(t,t);return t}}function ii(e){return()=>ai(e())}function ai(e){if(w)return e;let t=e.nodeType===11,n=e.nodeName===ni?[e]:e.querySelectorAll(`script`),r=G;for(let a of n){let n=Gn(`script`);for(var i of a.attributes)n.setAttribute(i.name,i.value);n.textContent=a.textContent,(t?e.firstChild===a:e===a)&&(r.nodes.start=n),(t?e.lastChild===a:e===a)&&(r.nodes.end=n),a.replaceWith(n)}return e}function oi(e=``){if(!w){var t=F(e+``);return $(t,t),t}var n=E;return n.nodeType===3?Kn(n):(n.before(n=F()),D(n)),$(n,n),n}function si(){if(w)return $(E,null),E;var e=document.createDocumentFragment(),t=document.createComment(``),n=F();return e.append(t,n),$(t,n),e}function ci(e,t){if(w){var n=G;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=E),Je();return}e!==null&&e.before(t)}function li(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[he]??=e.nodeValue)&&(e[he]=n,e.nodeValue=`${n}`)}function ui(e,t){return pi(e,t)}function di(e,t){zn(),t.intro=t.intro??!1;let n=t.target,r=w,i=E;try{for(var a=I(n);a&&(a.nodeType!==8||a.data!==`[`);)a=L(a);if(!a)throw ze;T(!0),D(a);let r=pi(e,{...t,anchor:a});return T(!1),r}catch(r){if(r instanceof Error&&r.message.split(`
|
|
2
|
+
`).some(e=>e.startsWith(`https://svelte.dev/e/`)))throw r;return r!==ze&&console.warn(`Failed to hydrate: `,r),t.recover===!1&&je(),zn(),Un(n),T(!1),ui(e,t)}finally{T(r),D(i)}}var fi=new Map;function pi(e,{target:t,anchor:n,props:r={},events:i,context:o,intro:s=!0,transformError:c}){zn();var l=void 0,u=ar(()=>{var s=n??t.appendChild(F());rn(s,{pending:()=>{}},t=>{lt({});var n=k;if(o&&(n.c=o),i&&(r.$$events=i),w&&$(t,null),l=e(t,r)||{},w&&(G.nodes.end=E,E===null||E.nodeType!==8||E.data!==`]`))throw Ge(),ze;ut()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=Ur(r);for(let e of[t,document]){var a=fi.get(e);a===void 0&&(a=new Map,fi.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Qr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(a(Gr)),Kr.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=fi.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Qr),r.delete(e),r.size===0&&fi.delete(n)):r.set(e,i)}Kr.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return mi.set(l,u),l}var mi=new WeakMap;function hi(e,t){let n=mi.get(e);return n?(mi.delete(e),n(t)):Promise.resolve()}var gi=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)yr(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(B(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();xr(r,t),t.append(F()),this.#n.set(e,{effect:r,fragment:t})}else B(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),_r(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(B(n.effect),this.#n.delete(e))};ensure(e,t){var n=j,r=Wn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=F();i.append(a),this.#n.set(e,{effect:z(()=>t(a)),fragment:i})}else this.#t.set(e,z(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else w&&(this.anchor=E),this.#a(n)}};function _i(e,t,n=!1){var r;w&&(r=E,Je());var i=new gi(e),a=n?ee:0;function o(e,t){if(w){var n=Qe(r);if(e!==parseInt(n.substring(1))){var a=Ze();D(a),i.anchor=a,T(!1),i.ensure(e,t),T(!0);return}}i.ensure(e,t)}dr(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function vi(e,t){return t}function yi(e,t,n){for(var r=[],i=t.length,o,s=t.length,c=0;c<i;c++){let n=t[c];_r(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;bi(e,a(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else --s},!1)}if(s===0){var l=r.length===0&&n!==null;if(l){var u=n,d=u.parentNode;Un(d),d.append(u),e.items.clear()}bi(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function bi(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=ie,xr(a,document.createDocumentFragment())):B(t[i],n)}}var xi;function Si(e,t,r,i,o,s=null){var c=e,l=new Map;if(t&4){var u=e;c=w?D(I(u)):u.appendChild(F())}w&&Je();var d=null,f=mn(()=>{var e=r();return n(e)?e:e==null?[]:a(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,wi(v,p,c,t,i),d!==null&&(p.length===0?d.f&33554432?(d.f^=ie,Ei(d,null,c)):yr(d):_r(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:dr(()=>{p=Z(f);var e=p.length;let n=!1;w&&Qe(c)===`[!`!=(e===0)&&(c=Ze(),D(c),T(!1),n=!0);for(var a=new Set,u=j,v=Wn(),y=0;y<e;y+=1){w&&E.nodeType===8&&E.data===`]`&&(c=E,n=!0,T(!1));var b=p[y],x=i(b,y),S=h?null:l.get(x);S?(S.v&&Dn(S.v,b),S.i&&Dn(S.i,y),v&&u.unskip_effect(S.e)):(S=Ti(l,h?c:xi??=F(),b,x,y,o,t,r),h||(S.e.f|=ie),l.set(x,S)),a.add(x)}if(e===0&&s&&!d&&(h?d=z(()=>s(c)):(d=z(()=>s(xi??=F())),d.f|=ie)),e>a.size&&Ce(``,``,``),w&&e>0&&D(Ze()),!h)if(m.set(u,a),v){for(let[e,t]of l)a.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);n&&T(!0),Z(f)}),flags:t,items:l,pending:m,outrogroups:null,fallback:d};h=!1,w&&(c=E)}function Ci(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function wi(e,t,n,r,i){var o=(r&8)!=0,s=t.length,c=e.items,l=Ci(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v<s;v+=1)h=t[v],g=i(h,v),_=c.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<s;v+=1){if(h=t[v],g=i(h,v),_=c.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(yr(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=ie,_===l)Ei(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),Di(e,d,_),Di(e,_,y),Ei(_,y,n),d=_,p=[],m=[],l=Ci(d.next);continue}if(_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],ee=p[p.length-1];for(x=0;x<p.length;x+=1)Ei(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);Di(e,S.prev,ee.next),Di(e,d,S),Di(e,ee,b),l=b,d=ee,--v,p=[],m=[]}else u.delete(_),Ei(_,l,n),Di(e,_.prev,_.next),Di(e,_,d===null?e.effect.first:d.next),Di(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Ci(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Ci(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(bi(e,a(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var te=[];if(u!==void 0)for(_ of u)_.f&8192||te.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&te.push(l),l=Ci(l.next);var ne=te.length;if(ne>0){var re=r&4&&s===0?n:null;if(o){for(v=0;v<ne;v+=1)te[v].nodes?.a?.measure();for(v=0;v<ne;v+=1)te[v].nodes?.a?.fix()}yi(e,te,re)}}o&>(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function Ti(e,t,n,r,i,a,o,s){var c=o&1?o&16?wn(n):En(n,!1,!1):null,l=o&2?wn(i):null;return{v:c,i:l,e:z(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function Ei(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=L(r);if(a.before(r),r===i)return;r=o}}function Di(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Oi(e,t,n=!1,r=!1,i=!1,a=!1){var o=e,s=``;if(n){var c=e;w&&(o=D(I(c)))}lr(()=>{var e=G;if(s===(s=t()??``)){w&&Je();return}if(n&&!w){e.nodes=null,c.innerHTML=s,s!==``&&$(I(c),c.lastChild);return}if(e.nodes!==null&&(hr(e.nodes.start,e.nodes.end),e.nodes=null),s!==``){if(w){for(var a=E.data,l=Je(),u=l;l!==null&&(l.nodeType!==8||l.data!==``);)u=l,l=L(l);if(l===null)throw Ge(),ze;$(E,u),o=D(l);return}var d=Gn(r?`svg`:i?`math`:`template`,r?Ve:i?He:void 0);d.innerHTML=s;var f=r||i?d:d.content;if($(I(f),f.lastChild),r||i)for(;I(f);)o.before(I(f));else o.before(f)}})}function ki(e,t,...n){var r=new gi(e);dr(()=>{let e=t()??null;r.ensure(e,e&&(t=>e(t,...n)))},ee)}function Ai(e){return(t,...n)=>{var r=e(...n),i;w?(i=E,Je()):(i=I(ti(r.render().trim())),t.before(i));let a=r.setup?.(i);$(i,i),typeof a==`function`&&tr(a)}}function ji(e,t,n){var r;w&&(r=E,Je());var i=new gi(e);dr(()=>{var e=t()??null;if(w&&Qe(r)===`[`!=(e!==null)){var a=Ze();D(a),i.anchor=a,T(!1),i.ensure(e,e&&(t=>n(t,e))),T(!0);return}i.ensure(e,e&&(t=>n(t,e)))},ee)}function Mi(e,t){let n=null,r=w;var i;if(w){n=E;for(var a=I(document.head);a!==null&&(a.nodeType!==8||a.data!==e);)a=L(a);if(a===null)T(!1);else{var o=L(a);a.remove(),D(o)}}w||(i=document.head.appendChild(F()));try{dr(()=>{var e=z(()=>t(i));e.f|=te})}finally{r&&(T(!0),D(n))}}function Ni(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ni(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function Pi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ni(e))&&(r&&(r+=` `),r+=t);return r}function Fi(e){return typeof e==`object`?Pi(e):e??``}var Ii=[...`
|
|
3
|
+
\r\f\xA0\v`];function Li(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Ii.includes(r[o-1]))&&(s===r.length||Ii.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Ri(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function zi(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Bi(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(zi)),i&&c.push(...Object.keys(i).map(zi));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=zi(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=Ri(r)),i&&(n+=Ri(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function Vi(e,t,n,r,i,a){var o=e[pe];if(w||o!==n||o===void 0){var s=Li(n,r,a);(!w||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[pe]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function Hi(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Ui(e,t,n,r){var i=e[me];if(w||i!==t){var a=Bi(t,r);(!w||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e[me]=t}else r&&(Array.isArray(r)?(Hi(e,n?.[0],r[0]),Hi(e,n?.[1],r[1],`important`)):Hi(e,n,r));return r}function Wi(e,t,r=!1){if(e.multiple){if(t==null)return;if(!n(t))return Ke();for(var i of e.options)i.selected=t.includes(qi(i));return}for(i of e.options)if(Nn(qi(i),t)){i.selected=!0;return}(!r||t!==void 0)&&(e.selectedIndex=-1)}function Gi(e){var t=new MutationObserver(()=>{Wi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),tr(()=>{t.disconnect()})}function Ki(e,t,n=t){var r=new WeakSet,i=!0;Zn(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),qi);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&qi(o)}n(a),e.__value=a,j!==null&&r.add(j)}),or(()=>{var a=t();if(e===document.activeElement){var o=O?It:j;if(r.has(o))return}if(Wi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=qi(s),n(a))}e.__value=a,i=!1}),Gi(e)}function qi(e){return`__value`in e?e.__value:e.value}var Ji=Symbol(`is custom element`),Yi=Symbol(`is html`),Xi=ve?`link`:`LINK`;function Zi(e){if(w){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Qi(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Qi(e,`checked`,null),e.checked=r}}};e[ge]=n,gt(n),Yn()}}function Qi(e,t,n,r){var i=$i(e);w&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Xi)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[de]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&ta(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function $i(e){return e[fe]??={[Ji]:e.nodeName.includes(`-`),[Yi]:e.namespaceURI===Be}}var ea=new Map;function ta(e){var t=e.getAttribute(`is`)||e.nodeName,n=ea.get(t);if(n)return n;ea.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=c(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=d(i)}return n}function na(e,t,n=t){var r=new WeakSet;Zn(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=ia(e)?aa(a):a,n(a),j!==null&&r.add(j),await Rr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(w&&e.defaultValue!==e.value||Q(t)==null&&e.value)&&(n(ia(e)?aa(e.value):e.value),j!==null&&r.add(j)),cr(()=>{var n=t();if(e===document.activeElement){var i=O?It:j;if(r.has(i))return}ia(e)&&n===aa(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function ra(e,t,n=t){Zn(e,`change`,t=>{n(t?e.defaultChecked:e.checked)}),(w&&e.defaultChecked!==e.checked||Q(t)==null)&&n(e.checked),cr(()=>{e.checked=!!t()})}function ia(e){var t=e.type;return t===`number`||t===`range`}function aa(e){return e===``?null:+e}function oa(e,t){return e===t||e?.[le]===t}function sa(e={},t,n,r){var i=k.r,a=G;return or(()=>{var o,s;return cr(()=>{o=s,s=r?.()||[],Q(()=>{oa(n(...s),e)||(t(e,...s),o&&oa(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&oa(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function ca(e,t,n,r){var i=!nt||(n&2)!=0,a=(n&8)!=0,o=(n&16)!=0,c=r,l=!0,u=void 0,d=()=>o&&i?(u??=un(r),Z(u)):(l&&(l=!1,c=o?Q(r):r),c);let f;if(a){var p=le in e||ue in e;f=s(e,t)?.set??(p&&t in e?n=>e[t]=n:void 0)}var m,h=!1;a?[m,h]=Nt(()=>e[t]):m=e[t],m===void 0&&r!==void 0&&(m=d(),f&&(i&&Ne(t),f(m)));var g=i?()=>{var n=e[t];return n===void 0?d():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return g;if(f){var _=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||_||h)&&f(t?g():e),e):g()})}var v=!1,y=(n&1?un:mn)(()=>(v=!1,g()));a&&Z(y);var b=G;return(function(e,t){if(arguments.length>0){let n=t?Z(y):i&&a?jn(e):e;return P(y,n),v=!0,c!==void 0&&(c=n),e}return V&&v||b.f&16384?y.v:Z(y)})}function la(e){return class extends ua{constructor(t){super({component:e,...t})}}}var ua=class{#e;#t;constructor(e){var t=new Map,n=(e,n)=>{var r=En(n,!1,!1);return t.set(e,r),r};let r=new Proxy({...e.props||{},$$events:{}},{get(e,r){return Z(t.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===ue?!0:(Z(t.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,i){return P(t.get(r)??n(r,i),i),Reflect.set(e,r,i)}});this.#t=(e.hydrate?di:ui)(e.component,{target:e.target,anchor:e.anchor,props:r,context:e.context,intro:e.intro??!1,recover:e.recover,transformError:e.transformError}),!O&&(!e?.props?.$$host||e.sync===!1)&&Gt(),this.#e=r.$$events;for(let e of Object.keys(this.#t))e===`$set`||e===`$destroy`||e===`$on`||o(this,e,{get(){return this.#t[e]},set(t){this.#t[e]=t},enumerable:!0});this.#t.$set=e=>{Object.assign(r,e)},this.#t.$destroy=()=>{hi(this.#t)}}$set(e){this.#t.$set(e)}$on(e,t){this.#e[e]=this.#e[e]||[];let n=(...e)=>t.call(this,...e);return this.#e[e].push(n),()=>{this.#e[e]=this.#e[e].filter(e=>e!==n)}}$destroy(){this.#t.$destroy()}};function da(e,t){if(O||ye(`hydratable`),w){let t=window.__svelte?.h;if(t?.has(e))return t.get(e);We(e)}return t()}var fa=t({afterUpdate:()=>ya,beforeUpdate:()=>va,createContext:()=>it,createEventDispatcher:()=>_a,createRawSnippet:()=>Ai,flushSync:()=>Gt,fork:()=>en,getAbortSignal:()=>pa,getAllContexts:()=>ct,getContext:()=>at,hasContext:()=>st,hydratable:()=>da,hydrate:()=>di,mount:()=>ui,onDestroy:()=>ha,onMount:()=>ma,setContext:()=>ot,settled:()=>zr,tick:()=>Rr,unmount:()=>hi,untrack:()=>Q});function pa(){return H===null&&Ae(),(H.ac??=new AbortController).signal}function ma(e){k===null&&be(`onMount`),nt&&k.l!==null?ba(k).m.push(e):nr(()=>{let t=Q(e);if(typeof t==`function`)return t})}function ha(e){k===null&&be(`onDestroy`),ma(()=>()=>Q(e))}function ga(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function _a(){let e=k;return e===null&&be(`createEventDispatcher`),(t,r,i)=>{let a=e.s.$$events?.[t];if(a){let o=n(a)?a.slice():[a],s=ga(t,r,i);for(let t of o)t.call(e.x,s);return!s.defaultPrevented}return!0}}function va(e){k===null&&be(`beforeUpdate`),k.l===null&&Me(`beforeUpdate`),ba(k).b.push(e)}function ya(e){k===null&&be(`afterUpdate`),k.l===null&&Me(`afterUpdate`),ba(k).a.push(e)}function ba(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}export{ot as $,Z as A,Bn as B,si as C,Xr as D,ii as E,lr as F,Tn as G,Hn as H,nr as I,jt as J,pn as K,ir as L,Rr as M,Q as N,Yr as O,ur as P,lt as Q,qn as R,ci as S,oi as T,jn as U,Vn as V,P as W,at as X,Et as Y,ut as Z,Oi as _,sa as a,_i as b,Zi as c,Ui as d,Xe as et,Vi as f,ki as g,ji as h,ca as i,zr as j,Jr as k,Qi as l,Mi as m,ma as n,p as nt,ra as o,Fi as p,Mt as q,la as r,t as rt,na as s,fa as t,Ye as tt,Ki as u,Si as v,ri as w,li as x,vi as y,Fn as z};
|
|
Binary file
|
|
Binary file
|