af360 0.1.6 → 0.1.11
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/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +94 -94
- package/dist/.next/app-path-routes-manifest.json +17 -17
- package/dist/.next/build-manifest.json +2 -2
- package/dist/.next/prerender-manifest.json +39 -39
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +3 -3
- package/dist/.next/server/app/ahead/page.js +1 -1
- package/dist/.next/server/app/ahead/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/ahead.html +1 -1
- package/dist/.next/server/app/ahead.rsc +4 -4
- package/dist/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/card/route.js +1 -1
- package/dist/.next/server/app/api/card/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/card/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/check/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/connectors/github/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/consent/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/context/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/discover/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/expiry/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/first-light/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/handoff/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/incidents/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/insights/route.js +1 -1
- package/dist/.next/server/app/api/insights/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/insights/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/log/route.js +1 -1
- package/dist/.next/server/app/api/log/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/pulse/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/radar/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/report/route.js +1 -1
- package/dist/.next/server/app/api/report/route.js.nft.json +1 -1
- package/dist/.next/server/app/api/report/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/services/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/api/status/route_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/connections/page.js +1 -1
- package/dist/.next/server/app/connections/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/connections.html +1 -1
- package/dist/.next/server/app/connections.rsc +4 -4
- package/dist/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/dashboard.html +1 -1
- package/dist/.next/server/app/dashboard.rsc +3 -3
- package/dist/.next/server/app/discoveries/page.js +1 -1
- package/dist/.next/server/app/discoveries/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/discoveries.html +1 -1
- package/dist/.next/server/app/discoveries.rsc +4 -4
- package/dist/.next/server/app/expiry/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/expiry.html +1 -1
- package/dist/.next/server/app/expiry.rsc +3 -3
- package/dist/.next/server/app/fleet/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/fleet.html +1 -1
- package/dist/.next/server/app/fleet.rsc +3 -3
- package/dist/.next/server/app/home/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/home.html +1 -1
- package/dist/.next/server/app/home.rsc +3 -3
- package/dist/.next/server/app/legal/privacy/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/legal/terms/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/log/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/log.html +1 -1
- package/dist/.next/server/app/log.rsc +4 -4
- package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/projects.html +1 -1
- package/dist/.next/server/app/projects.rsc +4 -4
- package/dist/.next/server/app/radar/page.js +1 -1
- package/dist/.next/server/app/radar/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/radar.html +1 -1
- package/dist/.next/server/app/radar.rsc +4 -4
- package/dist/.next/server/app/report/page.js +1 -1
- package/dist/.next/server/app/report/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/report.html +1 -1
- package/dist/.next/server/app/report.rsc +4 -4
- package/dist/.next/server/app/settings/page.js +1 -1
- package/dist/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/settings.html +1 -1
- package/dist/.next/server/app/settings.rsc +4 -4
- package/dist/.next/server/app/sites/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/sites.html +1 -1
- package/dist/.next/server/app/sites.rsc +4 -4
- package/dist/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/welcome.html +1 -1
- package/dist/.next/server/app/welcome.rsc +4 -4
- package/dist/.next/server/app-paths-manifest.json +17 -17
- package/dist/.next/server/chunks/1155.js +1 -0
- package/dist/.next/server/chunks/2346.js +1 -1
- package/dist/.next/server/chunks/2465.js +1 -1
- package/dist/.next/server/chunks/9170.js +1 -1
- package/dist/.next/server/middleware-manifest.json +1 -1
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/static/chunks/3192-f33976256a7713fd.js +1 -0
- package/dist/.next/static/chunks/{5449-42f9c47cf519229a.js → 5449-1f71ab05b6de2699.js} +1 -1
- package/dist/.next/static/chunks/app/ahead/page-ec9c355d92be3655.js +1 -0
- package/dist/.next/static/chunks/app/connections/page-78928db455ee443e.js +1 -0
- package/dist/.next/static/chunks/app/discoveries/page-09ae376238d3c1da.js +1 -0
- package/dist/.next/static/chunks/app/radar/page-ca0fa3338fe9ddb4.js +1 -0
- package/dist/.next/static/chunks/app/report/page-b6eef7480ac39e24.js +1 -0
- package/dist/.next/static/chunks/app/settings/{page-3ca6b23c69637aab.js → page-dd56fc2e097505c7.js} +1 -1
- package/dist/.next/static/css/9db3c04b1822381e.css +1 -0
- package/dist/build-id.json +113 -113
- package/dist/package.json +1 -1
- package/dist/shell/bin/af360-bridge.exe +0 -0
- package/lib/mcpActivity.mjs +318 -23
- package/package.json +1 -1
- package/shell/bin/af360-bridge.exe +0 -0
- package/dist/.next/server/chunks/9601.js +0 -1
- package/dist/.next/static/chunks/3192-3df9f9fedb9e38b1.js +0 -1
- package/dist/.next/static/chunks/app/ahead/page-2d37c636630d12e7.js +0 -1
- package/dist/.next/static/chunks/app/connections/page-7e0dbe13ce939fc9.js +0 -1
- package/dist/.next/static/chunks/app/discoveries/page-0ac8bd1bf0178837.js +0 -1
- package/dist/.next/static/chunks/app/radar/page-24540a7c154a41b8.js +0 -1
- package/dist/.next/static/chunks/app/report/page-f1ede34a209ac047.js +0 -1
- package/dist/.next/static/css/f0c4f79b3d7295b1.css +0 -1
- /package/dist/.next/static/{71f4c38dc0c65050446da → 24e7279870f90176b29aa}/_buildManifest.js +0 -0
- /package/dist/.next/static/{71f4c38dc0c65050446da → 24e7279870f90176b29aa}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2305],{1601:(e,n,a)=>{"use strict";a.r(n),a.d(n,{default:()=>q});var s=a(5155),t=a(2115),r=a(7064),i=a(4097),l=a(7482),o=a(436),c=a(5310),d=a(1551),h=a(8706),p=a(5964),m=a(993),g=a(8261),x=a(7470),u=a(4576),j=a(9378),f=a(9129),w=a(797);function b(e){let n=e.filter(Boolean),a=n.slice(-2).join("/");return n.length>2?"…/"+a:a}function k(e){let n=e;return(n=(n=String(n=(0,p.dK)(n)).replace(/[A-Za-z0-9._%+-]+@([A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?(?:\.[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?)*\.[A-Za-z]{2,})/g,(e,n)=>"".concat("[email hidden]","@").concat(n))).replace(/[A-Za-z]:\\[^\s"'`,;]+/g,e=>b(e.split("\\")))).replace(/(^|\s)(\/(?:home|Users)\/[^\s"'`,;]+)/g,(e,n,a)=>n+b(a.split("/")))}let v={title:"export.title",intro:"diag.intro",safe:"diag.safe",needs:"sec.needsYou",worth:"export.worth",why:"export.why",fix:"export.fix",details:"report.detailsLabel",noNeeds:"export.noNeeds",noWorth:"export.noWorth",foot:"export.foot"},y={title:"Estate check",intro:"A snapshot from ".concat(u.qt," of what is worth your attention right now. Folder paths are shortened and anything shaped like a password or key is hidden, so this file is safe to hand to someone or paste into an AI assistant."),safe:"Folder paths shortened, anything shaped like a password or key hidden, machine name never included.",needs:"Needs attention",worth:"Worth doing",why:"Why it matters",fix:"Suggested fix",details:"Details",noNeeds:"Nothing needs attention right now.",noWorth:"No open discoveries right now.",foot:"Made with ".concat(u.qt," by ").concat(u.rM," - it runs on your machine, and nothing here left it until you chose to share this file.")};function N(e){return"ar"!==e?"en":Object.values(v).every(e=>void 0!==d.AR[e])?"ar":"en"}function I(e){let n=N(e),a={};for(let[e,t]of Object.entries(v)){var s;a[e]="ar"===n&&null!=(s=d.AR[t])?s:y[e]}return a}function U(e,n,a){return"ar"===e&&n?(0,h.DJ)(n,e=>d.AR[e]):a}function A(e,n){var a,s,t;return{needs:(null!=(s=null==(a=e.attention)?void 0:a.items)?s:[]).filter(e=>!e.handled).map(e=>{var a;return{title:k(U(n,e.whatP,e.what)),why:e.why?k(U(n,e.whyP,e.why)):void 0,fixes:(null!=(a=e.steps)?a:[]).map((a,s)=>{var t;return k(U(n,null==(t=e.stepsP)?void 0:t[s],a))})}}),worth:(null!=(t=e.insights)?t:[]).map(e=>{var a;return{title:k(U(n,e.verdictP,e.verdict)),why:e.why?k((0,m.XF)(e.why,e.quoted)):void 0,fixes:(null!=(a=e.steps)?a:[]).map(k),cat:e.cat}})}}function C(e,n){if(!e)return null;let a=N(n),s=null===e.since?"":(0,x.OL)(e.since);return(0,j.lz)(e,(e,n)=>{var s;return"ar"===a&&null!=(s=d.AR[e])?s:n},s)}function T(e){let n=(0,g.X2)(e.attention,e.projects);if(!n)return null;let a=(0,g.sx)(n),s=(0,g.Bx)(n);return"".concat(a.headline.en," ").concat(a.under.en).concat(s?" ".concat(s.en):"")}function P(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function F(e,n,a){let s=new Blob([a],{type:n}),t=URL.createObjectURL(s),r=document.createElement("a");r.download=e,r.href=t,r.click(),setTimeout(()=>URL.revokeObjectURL(t),2e3)}function S(e){let{cockpit:n,onClose:a}=e,[r]=(0,t.useState)(()=>Date.now()),[i,l]=(0,t.useState)(!1),d=(0,c.kj)(),h=(0,c.cO)(),p=(0,c.uU)(),{delta:m}=(0,f.K)(n),g=function(e,n){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en",s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,{needs:t,worth:r}=A(e,N(a)),i=I(a),l=(0,x.OL)(n),o=[];o.push("# ".concat(i.title," - ").concat(l)),o.push(""),o.push(i.intro),o.push("");let c=C(s,a);c&&(o.push(c),o.push(""));let d=T(e);return d&&(o.push(d),o.push("")),o.push("Summary: ".concat(t.length," thing").concat(1===t.length?"":"s"," need").concat(1===t.length?"s":""," attention, ").concat(r.length," discover").concat(1===r.length?"y":"ies"," worth a look.")),o.push(""),o.push("## ".concat(i.needs," (").concat(t.length,")")),o.push(""),0===t.length&&o.push(i.noNeeds),t.forEach((e,n)=>{o.push("### ".concat(n+1,". ").concat(e.title)),e.why&&o.push("- ".concat(i.why,": ").concat(e.why)),e.fixes.length>0&&(o.push("- ".concat(i.fix,":")),e.fixes.forEach(e=>o.push(" - ".concat(e)))),o.push("")}),o.push("## ".concat(i.worth," (").concat(r.length,")")),o.push(""),0===r.length&&o.push(i.noWorth),r.forEach(e=>{o.push("### ".concat(e.cat?"`".concat(e.cat,"` "):"").concat(e.title)),e.why&&o.push("- ".concat(i.why,": ").concat(e.why)),e.fixes.length>0&&(o.push("- ".concat(i.fix,":")),e.fixes.forEach(e=>o.push(" - ".concat(e)))),o.push("")}),o.push("---"),o.push(i.foot),o.join("\n")}(n,r,p,m),j=(0,x.rq)(r),b=async()=>{try{await navigator.clipboard.writeText(g),l(!0),setTimeout(()=>l(!1),2e3)}catch(e){}};return(0,s.jsx)("div",{className:"confirm-overlay",role:"dialog","aria-modal":"true","aria-label":d("diag.dialogAria",o.UI.diag.dialogAria),onClick:a,children:(0,s.jsxs)("div",{className:"diag",onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:"diag-head",children:[(0,s.jsx)("h2",{children:d("diag.title",o.UI.diag.title)}),(0,s.jsx)("p",{children:d("diag.intro",o.UI.diag.intro)}),(0,s.jsxs)("div",{className:"diag-safe",children:[(0,s.jsx)("i",{}),d("diag.safe",o.UI.diag.safe)]})]}),(0,s.jsx)("div",{className:"diag-preview",children:(0,s.jsx)("pre",{children:g})}),(0,s.jsxs)("p",{className:"diag-hint",children:[(0,s.jsx)("b",{children:d("diag.copyForAi",o.UI.diag.copyForAi)})," ",d("diag.hintText",o.UI.diag.hintText)," \xb7 ",(0,s.jsx)("b",{children:d("diag.downloadText",o.UI.diag.downloadText)})," ",d("diag.hintFile",o.UI.diag.hintFile)," \xb7",(0,s.jsxs)("b",{children:[" ",d("diag.downloadPage",o.UI.diag.downloadPage)]})," ",d("diag.hintPage",o.UI.diag.hintPage),"."]}),(0,s.jsxs)("div",{className:"diag-acts",children:[(0,s.jsx)("button",{className:"btn primary",...(0,w.uN)(h.markdown),onClick:()=>F("estate-check-".concat(j,".md"),"text/markdown",g),children:d("diag.downloadText",o.UI.diag.downloadText)}),(0,s.jsx)("button",{className:"btn",onClick:()=>F("estate-check-".concat(j,".html"),"text/html",function(e,n){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"en",s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,{needs:t,worth:r}=A(e,N(a)),i=I(a),l="ar"===N(a),o=(0,x.OL)(n);return'<!doctype html><html lang="'.concat(l?"ar":"en",'" dir="').concat(l?"rtl":"ltr",'"><head><meta charset="utf-8">\n<meta name="viewport" content="width=device-width, initial-scale=1">\n<title>').concat(P(i.title)," - ").concat(P(o),"</title>\n<style>\n :root { color-scheme: dark; }\n * { box-sizing: border-box; }\n body { margin: 0; background: #0A0D14; color: #E7ECF4; font: 15px/1.55 -apple-system, Segoe UI, system-ui, sans-serif; }\n main { max-width: 720px; margin: 0 auto; padding: 40px 24px 64px; }\n /* the masthead line, and the wordmark it carries */\n .brandline { font-weight: 800; font-size: 18px; margin: 0 0 14px; letter-spacing: .5px; }\n .brandline .maker { color: #9AA6BC; font-weight: 600; font-size: 14px; }\n footer .brand { font-weight: 700; }\n h1 { font-size: 26px; margin: 0 0 4px; }\n .sub { color: #9AA6BC; font-size: 14px; margin: 0 0 6px; }\n .safe { color: #3ECF8E; font-size: 13px; margin: 0 0 28px; }\n /* what moved since the last check - the page's own dim, no new colour */\n .since { color: #E7ECF4; font-size: 14px; margin: 0 0 10px; unicode-bidi: plaintext; }\n /* what a dead disk would cost, in the page's own amber, no new colour */\n .radius { color: #E8B23D; font-size: 14.5px; font-weight: 600; margin: 0 0 18px; unicode-bidi: plaintext; }\n h2 { font-size: 17px; margin: 30px 0 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(148,163,214,.2); }\n .f { background: #0F1420; border: 1px solid rgba(148,163,214,.14); border-radius: 12px; padding: 14px 16px; margin: 0 0 10px; }\n h3 { font-size: 15px; margin: 0 0 6px; }\n .why { color: #9AA6BC; font-size: 13.5px; margin: 0 0 8px; }\n .lbl { color: #5C6880; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 4px; }\n ul { margin: 0; padding-inline-start: 20px; } li { font-size: 13.5px; margin: 2px 0; }\n /* the estate is English inside an Arabic page: isolated, never reordered */\n h3, .fact, li, .why { unicode-bidi: plaintext; }\n .wkrow .cat { unicode-bidi: isolate; direction: ltr; }\n .brand { direction: ltr; unicode-bidi: isolate; display: inline-block; }\n .empty { color: #9AA6BC; }\n /* one fact per row: category, fact, why, and the depth behind Details */\n .wk { border: 1px solid rgba(148,163,214,.14); border-radius: 12px; overflow: hidden; }\n .wkrow { display: flex; align-items: baseline; gap: 12px; padding: 10px 14px; background: #0F1420; flex-wrap: wrap; }\n .wkrow + .wkrow { border-top: 1px solid rgba(148,163,214,.14); }\n .wkrow .cat { font: 500 11px ui-monospace, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; color: #8FB8FF; width: 96px; flex-shrink: 0; }\n .wkrow .fact { font-size: 13.5px; flex: 1 1 260px; min-width: 0; }\n .wkrow .why { color: #5C6880; font-size: 12.5px; }\n .wkrow details { flex-basis: 100%; margin-top: 6px; }\n .wkrow summary { cursor: pointer; color: #9AA6BC; font-size: 12.5px; }\n footer { margin-top: 32px; color: #5C6880; font-size: 12.5px; border-top: 1px solid rgba(148,163,214,.14); padding-top: 14px; }\n /* printed, every disclosure is open: a PDF cannot be clicked */\n @media print { body { background: #fff; color: #141A26; } .f, .wkrow { background: #f6f8fc; } details { display: block; } details > *:not(summary) { display: revert; } }\n</style></head>\n<body><main>\n <p class=\"brandline\">").concat((0,u.pl)("#4D7FFF"),' <span class="maker">by ').concat(P(u.rM),"</span></p>\n <h1>").concat(P(i.title),'</h1>\n <p class="sub">').concat(P(o)," \xb7 ").concat(t.length," need").concat(1===t.length?"s":""," attention, ").concat(r.length," worth a look</p>\n ").concat(C(s,a)?'<p class="since">'.concat(P(C(s,a)),"</p>"):"","\n ").concat(T(e)?'<p class="radius">'.concat(P(T(e)),"</p>"):"",'\n <p class="safe">').concat(P(i.safe),"</p>\n ").concat(((e,n,a,s)=>{if(0===n.length)return"<h2>".concat(P(e),'</h2><p class="empty">').concat(P(s),"</p>");let t=n.map((e,n)=>'\n <div class="f">\n <h3>'.concat(a?"".concat(n+1,". "):"").concat(P(e.title),"</h3>\n ").concat(e.why?'<p class="why">'.concat(P(e.why),"</p>"):"","\n ").concat(e.fixes.length?'<p class="lbl">'.concat(P(i.fix),"</p><ul>").concat(e.fixes.map(e=>"<li>".concat(P(e),"</li>")).join(""),"</ul>"):"","\n </div>")).join("");return"<h2>".concat(P(e),"</h2>").concat(t)})(i.needs,t,!0,i.noNeeds),"\n ").concat(((e,n,a)=>{if(0===n.length)return"<h2>".concat(P(e),'</h2><p class="empty">').concat(P(a),"</p>");let s=n.map(e=>{var n;return'\n <div class="wkrow">\n <span class="cat">'.concat(P(null!=(n=e.cat)?n:""),'</span>\n <div class="fact">').concat(P(e.title)).concat(e.why?'<span class="why"> - '.concat(P(e.why),"</span>"):"","</div>\n ").concat(e.fixes.length?"<details><summary>".concat(P(i.details),"</summary><ul>").concat(e.fixes.map(e=>"<li>".concat(P(e),"</li>")).join(""),"</ul></details>"):"","\n </div>")}).join("");return"<h2>".concat(P(e),'</h2><div class="wk">').concat(s,"</div>")})(i.worth,r,i.noWorth),"\n <footer>").concat(function(e,n,a){let s=String(e).indexOf(n);return -1===s?String(e):e.slice(0,s)+a+e.slice(s+n.length)}(P(i.foot),u.qt,(0,u.pl)("#4D7FFF")),"</footer>\n</main></body></html>")}(n,r,p,m)),children:d("diag.downloadPage",o.UI.diag.downloadPage)}),(0,s.jsx)("button",{className:"btn",...(0,w.uN)(h.copyEstateReport),onClick:b,children:i?d("btn.copied",o.UI.diag.copied):d("diag.copyForAi",o.UI.diag.copyForAi)}),(0,s.jsx)("button",{className:"btn ghost grow",onClick:a,children:(0,s.jsx)(c.T,{k:"btn.close",en:o.UI.common.close})})]})]})})}var z=a(6660),R=a(7897),E=a(5163),B=a(2696),L=a(23),M=a(2613),D=a(3034),O=a(8106),V=a(6400),W=a(5834);function q(){var e,n,a,h,p,m,g,x,u;let j=(0,z.x)(),[f,b]=(0,t.useState)(null),[k,v]=(0,t.useState)(null),[y,N]=(0,t.useState)(!1),[I,U]=(0,t.useState)(!1),{radar:A,incidents:C,insights:T,insightsMuted:P,insightsPending:F,demo:O,projects:q,urls:_,views:G,collapsed:J,changes:K,attention:X}=j,{requestIgnore:$,showToast:Q,overlays:ee}=(0,R.Wj)(j),en=(0,d.$c)(null==(e=j.cfg)?void 0:e.lang),ea=(e,n)=>(0,d.tr)(en,e,n),es="ar"===en,et=(0,c.qN)(en);(0,t.useEffect)(()=>{let e=Object.keys(K);if(0===e.length)return;let n=setTimeout(()=>j.markSeen(e),12e3);return()=>clearTimeout(n)},[Object.keys(K).join("|")]);let er=e=>b(n=>n===e?null:e),ei=(0,V.yr)(T),el=e=>(0,E.YV)(X,e),eo=null!=(h=G.projects)?h:"cards",ec=null!=(p=G.urls)?p:"cards",ed=e=>"red"===e?2:+("amber"===e),eh=[...q].sort((e,n)=>{let a=Number(j.isPinned((0,R.yn)(n)))-Number(j.isPinned((0,R.yn)(e)));return 0!==a?a:ed(el((0,R.yn)(n)))-ed(el((0,R.yn)(e)))}),ep=[..._].sort((e,n)=>ed(el(n.entry.id))-ed(el(e.entry.id))),em=e=>{var n;return null!=(n=J[e])?n:"ignored"===e||"drawer"===e},eg=(0,t.useRef)(null),ex=(0,t.useRef)(null),eu=(0,R.j4)(eg,eh.length,260,[eo,em("projects"),null!=(m=null==X?void 0:X.items.length)?m:0,y,O]),ej=(0,R.j4)(ex,ep.length,40,[ec,em("sites"),eu,null!=(g=null==X?void 0:X.items.length)?g:0,y,O]),ef=eh.slice(0,eu),ew=eh.slice(eu),eb=ep.slice(0,ej),ek=ep.slice(ej),ev=X?(0,E.Pl)(X):null,ey=!!X&&(0,E.yy)(X)&&!!A,eN=!X||(0,E.yy)(X)?"idle":"INCIDENT"===X.state?"bad":"NEEDS_YOU"===X.state||"SAFETY"===X.state?"":"ok";return(0,s.jsxs)(r.Ay,{active:"/radar",cockpit:j,children:[(0,s.jsxs)("div",{className:"radar-head ".concat(eN),children:[(0,s.jsx)("div",{className:"rh-left",children:(0,s.jsx)("div",{className:"greet",children:function(e){let n=new Date().getHours();return n<5?e("greet.evening","Good evening"):n<12?e("greet.morning","Good morning"):n<17?e("greet.afternoon","Good afternoon"):e("greet.evening","Good evening")}(ea)})}),(0,s.jsx)("div",{className:"rh-right",children:(0,s.jsx)("div",{className:"row1",children:(0,s.jsx)("button",{className:"b",onClick:()=>U(!0),...(0,w.uN)(ea("radar.shareReportTip",o.UI.radar.shareReportTip)),children:(0,s.jsx)(c.T,{k:"btn.shareReport",en:o.UI.radar.shareReport})})})})]}),(0,s.jsx)(B.zU,{cockpit:j,onToast:Q}),!ey&&(0,s.jsxs)("div",{className:"radar-verdict ".concat(eN),children:[(0,s.jsx)("div",{className:"state",children:ev?(0,s.jsx)(c.P,{p:ev.lineP}):(0,s.jsx)(W.h,{children:ea("common.loading",o.UI.common.loading)})}),ev&&(0,s.jsx)("div",{className:"reason",children:(0,s.jsx)(c.P,{p:ev.underP})}),(0,s.jsx)(B.HE,{cockpit:j})]}),(0,s.jsxs)("div",{className:"pagebar",style:{marginBlockStart:4},children:[(0,s.jsx)("h1",{children:(0,s.jsx)(c.T,{k:"room.radar",en:o.UI.radar.title})}),(0,s.jsx)("span",{className:"purpose",children:(0,s.jsx)(c.T,{k:"radar.purpose",en:o.UI.radar.purpose})})]}),O&&(0,s.jsxs)("p",{className:"banner",children:[ea("banner.radarLead",o.UI.radar.bannerLead)," ",(0,s.jsx)("strong",{children:ea("banner.radarStrong",o.UI.radar.bannerStrong)})," ",ea("banner.radarRest",o.UI.radar.bannerRest)," ",(0,s.jsx)("button",{className:"link",onClick:()=>N(!0),children:ea("banner.radarLink",o.UI.radar.bannerLink)})," ",ea("banner.radarTail",o.UI.radar.bannerTail)]}),X&&X.items.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"sec",children:[(0,s.jsx)("h2",{children:(0,s.jsx)(c.T,{k:"sec.needsYou",en:o.UI.radar.needsYou})}),(0,s.jsxs)("span",{className:"meta",children:[(0,s.jsx)(D.V,{n:X.items.length})," \xb7 ",(0,s.jsx)(c.T,{k:"radar.needsYouAlways",en:o.UI.radar.needsYouAlways})]})]}),(0,L.bI)(X).map(e=>(0,s.jsx)(Y,{it:e,cockpit:j,demo:O,onIgnoreRequest:$,onFind:e=>v(e)},e.id))]}),(0,s.jsx)(H,{cockpit:j,collapsed:em("ignored")}),A?0===q.length&&0===_.length?(0,s.jsx)(Z,{cockpit:j}):(0,s.jsxs)(s.Fragment,{children:[q.length>0&&(0,s.jsxs)(s.Fragment,{children:[X&&X.items.length>0&&(0,s.jsx)("div",{className:"secline","aria-hidden":!0}),(0,s.jsxs)("div",{className:"sec",children:[(0,s.jsx)("h2",{children:(0,s.jsx)(c.T,{k:"sec.projects",en:o.UI.radar.projects})}),(0,s.jsxs)("span",{className:"meta",children:[(0,s.jsx)(D.V,{n:q.length})," \xb7 ",(0,s.jsx)(c.T,{k:"radar.projectsMeta",en:o.UI.radar.projectsMeta})]}),(0,s.jsxs)("div",{className:"tools",children:[(0,s.jsx)("button",{className:"b",...(0,w.uN)(et.watch),onClick:()=>N(!y),children:y?(0,s.jsx)(c.T,{k:"btn.close",en:o.UI.common.close}):(0,s.jsx)(c.T,{k:"btn.watchMore",en:o.UI.radar.watchMore})}),(0,s.jsx)(R.aA,{view:eo,onChange:e=>j.setView("projects",e)}),(0,s.jsx)(R.cc,{value:em("projects"),onChange:e=>j.setCollapsed("projects",e)}),(0,s.jsx)("a",{className:"seeall",href:"/projects",children:es?(0,s.jsxs)(s.Fragment,{children:[ea("more.seeAllProjects","")," (",(0,s.jsx)(D.V,{n:q.length}),") ","←"]}):o.UI.radar.seeAllProjects(q.length)})]})]}),y&&(0,s.jsx)("div",{className:"card plain",style:{marginBlockEnd:10},children:(0,s.jsx)(i.A,{watched:null!=(x=null==(n=j.cfg)?void 0:n.roots)?x:[],onChanged:()=>j.refresh(!0)})}),!em("projects")&&(0,s.jsxs)(s.Fragment,{children:["cards"===eo?(0,s.jsx)("div",{className:"grid",ref:eg,children:ef.map(e=>(0,s.jsx)(R.Uj,{p:e,tone:el((0,R.yn)(e)),cockpit:j,change:K[(0,R.yn)(e)],open:f===e.path,onToggle:()=>er(e.path),onIgnoreRequest:$,onToast:Q},e.path))}):(0,s.jsx)("div",{className:"irows",ref:eg,children:ef.map(e=>(0,s.jsx)(R.ou,{p:e,tone:el((0,R.yn)(e)),cockpit:j,change:K[(0,R.yn)(e)],open:f===e.path,onToggle:()=>er(e.path),onIgnoreRequest:$},e.path))}),ew.length>0&&(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"cleanline",children:ew.every(e=>"clean"===el((0,R.yn)(e)))?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"okw",children:"✓"})," ",ew.every(e=>e.hasRemote||e.looksDownloaded)?es?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(D.V,{n:ew.length})," ",ea("more.cleanBacked","")]}):o.UI.radar.moreCleanBacked(ew.length):es?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(D.V,{n:ew.length})," ",ea("more.clean","")]}):o.UI.radar.moreClean(ew.length)]}):es?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(D.V,{n:ew.length})," ",ea("more.projects","")]}):(0,s.jsx)(s.Fragment,{children:o.UI.radar.moreProjects(ew.length)})})})]})]}),_.length>0&&(0,s.jsxs)(s.Fragment,{children:[q.length>0&&(0,s.jsx)("div",{className:"secline","aria-hidden":!0}),(0,s.jsxs)("div",{className:"sec",children:[(0,s.jsx)("h2",{children:(0,s.jsx)(c.T,{k:"sec.sites",en:o.UI.radar.sites})}),(0,s.jsxs)("span",{className:"meta",children:[(0,s.jsx)(D.V,{n:_.length})," \xb7 ",(0,s.jsx)(c.T,{k:"radar.sitesMeta",en:o.UI.radar.sitesMeta})]}),(0,s.jsxs)("div",{className:"tools",children:[(0,s.jsx)(R.aA,{view:ec,onChange:e=>j.setView("urls",e)}),(0,s.jsx)(R.cc,{value:em("sites"),onChange:e=>j.setCollapsed("sites",e)}),(0,s.jsx)("a",{className:"seeall",href:"/sites",children:es?(0,s.jsxs)(s.Fragment,{children:[ea("more.seeAllSites","")," (",(0,s.jsx)(D.V,{n:_.length}),") ","←"]}):o.UI.radar.seeAllSites(_.length)})]})]}),!em("sites")&&(0,s.jsxs)(s.Fragment,{children:["cards"===ec?(0,s.jsx)("div",{className:"grid",ref:ex,children:eb.map(e=>(0,s.jsx)(R.ct,{u:e,tone:el(e.entry.id),cockpit:j,incident:(0,R.G2)(C,e.entry.id),open:f===e.entry.id,onToggle:()=>er(e.entry.id),onIgnoreRequest:$},e.entry.id))}):(0,s.jsx)("div",{className:"irows",ref:ex,children:eb.map(e=>(0,s.jsx)(R.kc,{u:e,tone:el(e.entry.id),cockpit:j,incident:(0,R.G2)(C,e.entry.id),open:f===e.entry.id,onToggle:()=>er(e.entry.id),onIgnoreRequest:$},e.entry.id))}),ek.length>0&&(0,s.jsx)(s.Fragment,{children:(0,s.jsx)("div",{className:"cleanline",children:ek.every(e=>"clean"===el(e.entry.id))?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"okw",children:"✓"})," ",es?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(D.V,{n:ek.length})," ",ea("more.sitesUp","")]}):o.UI.radar.moreSitesUp(ek.length)]}):es?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(D.V,{n:ek.length})," ",ea("more.sites","")]}):(0,s.jsx)(s.Fragment,{children:o.UI.radar.moreSites(ek.length)})})})]})]}),(0,V.ZT)(T).length>0&&(0,s.jsx)(V.LZ,{cockpit:j})]}):(0,s.jsxs)("div",{className:"sweep-wrap",children:[(0,s.jsx)("div",{className:"sweep","aria-hidden":!0}),(0,s.jsx)("span",{children:(0,s.jsx)(W.h,{children:ea("common.scanning",o.UI.common.scanning)})})]}),(null===T||ei.length>0||F>0||P.length>0)&&(0,s.jsxs)(s.Fragment,{children:[(q.length>0||_.length>0||X&&X.items.length>0)&&(0,s.jsx)("div",{className:"secline","aria-hidden":!0}),(0,s.jsxs)("div",{className:"sec",children:[(0,s.jsx)("h2",{children:(0,s.jsx)(c.T,{k:"sec.discoveries",en:o.UI.radar.discoveries})}),(0,s.jsxs)("span",{className:"meta",children:[(0,s.jsx)(D.V,{n:ei.length})," \xb7 ",(0,s.jsx)(c.T,{k:"radar.discoveriesMeta",en:o.UI.radar.discoveriesMeta}),ei.length>3?(0,s.jsxs)(s.Fragment,{children:[" \xb7 ",(0,s.jsx)(c.T,{k:"radar.discoveriesTop3",en:o.UI.radar.discoveriesTop3})]}):null]}),(0,s.jsxs)("div",{className:"tools",children:[(0,s.jsx)(R.cc,{value:em("discoveries"),onChange:e=>j.setCollapsed("discoveries",e),showLabel:o.UI.common.show,hideLabel:o.UI.common.hide,hideKey:"btn.hide"}),(0,s.jsx)("a",{className:"seeall",href:"/discoveries",children:es?(0,s.jsxs)(s.Fragment,{children:[ea("more.seeAllDiscoveries","")," (",(0,s.jsx)(D.V,{n:ei.length}),") ","←"]}):o.UI.radar.seeAll(ei.length)})]})]}),!em("discoveries")&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(M.hf,{done:j.insightsDeepTotal-F,total:j.insightsDeepTotal,working:null===T}),(0,s.jsx)("div",{className:"grid three",children:ei.slice(0,3).map(e=>(0,s.jsx)(l.JF,{d:e},e.id))}),P.length>0&&(0,s.jsx)("div",{className:"disc-more",children:(0,s.jsxs)("span",{className:"m",children:[P.length," muted, named on the Discoveries page"]})})]})]}),k&&(0,s.jsx)("div",{className:"confirm-overlay",role:"dialog","aria-modal":"true",children:(0,s.jsxs)("div",{className:"confirm",style:{maxInlineSize:560},children:[(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:(0,s.jsx)(D.B,{children:function(e){var n;let a=e.split(/[\\/]/).filter(Boolean);return null!=(n=a[a.length-1])?n:e}(k)})})," ",(0,s.jsx)(c.T,{k:"radar.movedTail",en:o.UI.radar.movedTail})]}),(0,s.jsx)(i.A,{watched:null!=(u=null==(a=j.cfg)?void 0:a.roots)?u:[],autoBrowsePath:function(e){let n=e.split(/[\\/]/).filter(Boolean);return n.length>1?n.slice(0,-1).join("\\"):e}(k),replaceRoot:k,onChanged:()=>{v(null),j.refresh(!0)}}),(0,s.jsx)("div",{className:"setup-actions",children:(0,s.jsx)("button",{className:"b q",onClick:()=>v(null),children:(0,s.jsx)(c.T,{k:"btn.cancel",en:o.UI.common.cancel})})})]})}),I&&(0,s.jsx)(S,{cockpit:j,onClose:()=>U(!1)}),ee]})}function Z(e){var n,a;let{cockpit:r}=e,[l,d]=(0,t.useState)(null),h=(0,c.kj)();return(0,c.cO)(),(0,s.jsxs)("div",{className:"empty welcome",children:[(0,s.jsx)("p",{className:"invite",children:h("empty.invite",o.UI.radar.emptyInvite)}),(0,s.jsx)("p",{className:"wl",children:h("empty.line",o.UI.radar.emptyLine)}),(0,s.jsxs)("div",{className:"setup-actions",children:[(0,s.jsx)("button",{className:"btn ".concat("folder"===l?"":"primary"),"aria-pressed":"folder"===l,onClick:()=>d("folder"===l?null:"folder"),children:"folder"===l?h("btn.back",o.UI.radar.emptyBack):h("empty.pickFolder",o.UI.radar.emptyPickFolder)}),(0,s.jsx)("button",{className:"btn ".concat("site"===l?"":"primary"),"aria-pressed":"site"===l,onClick:()=>d("site"===l?null:"site"),children:"site"===l?h("btn.back",o.UI.radar.emptyBack):h("empty.pickSite",o.UI.radar.emptyPickSite)})]}),"folder"===l&&(0,s.jsx)(i.A,{watched:null!=(a=null==(n=r.cfg)?void 0:n.roots)?a:[],onChanged:()=>r.refresh(!0)}),"site"===l&&(0,s.jsx)(O.T,{cockpit:r}),(0,s.jsx)("p",{className:"someday",children:h("empty.someday",o.UI.radar.emptySomeday)})]})}function H(e){let{cockpit:n,collapsed:a}=e,t=(0,c.kj)(),r=(0,c.cO)();return 0===n.ignored.length?null:(0,s.jsxs)("div",{className:"ign2",children:[(0,s.jsxs)("div",{className:"ign2-row",children:[(0,s.jsxs)("span",{className:"n",...(0,w.uN)(r.ignore),children:[(0,s.jsx)(c.T,{k:"radar.ignoredLabel",en:o.UI.radar.ignoredLabel}),": ",(0,s.jsx)(D.V,{n:n.ignored.length})]}),a&&(0,s.jsx)("span",{className:"why",children:t("radar.ignoredStill",o.UI.radar.ignoredStill)}),(0,s.jsx)("button",{className:"b2 q ign2-toggle","aria-expanded":!a,onClick:()=>n.setCollapsed("ignored",!a),children:a?(0,s.jsx)(c.T,{k:"btn.show",en:o.UI.radar.ignoredShow}):(0,s.jsx)(c.T,{k:"btn.hide",en:o.UI.radar.ignoredHide})})]}),!a&&n.ignored.map(e=>(0,s.jsxs)("div",{className:"ign2-row item",children:[(0,s.jsxs)("span",{className:"item",children:[(0,s.jsx)(D.B,{children:e.label})," ",(0,s.jsx)("span",{className:"mono",children:"project"===e.kind?"project":"site"})]}),(0,s.jsx)("span",{className:"why",children:t("radar.ignoredStill",o.UI.radar.ignoredStill)}),(0,s.jsx)("button",{className:"b2 q",...(0,w.uN)(r.watch),onClick:()=>n.unignore(e.id),children:(0,s.jsx)(c.T,{k:"btn.watchAgain",en:o.UI.radar.watchAgain})})]},e.id))]})}function Y(e){var n,a,i,l,d;let{it:h,cockpit:p,demo:m,onIgnoreRequest:g,onFind:u}=e,j=(0,t.useContext)(r.vC),f=(0,r.cB)(),[b,k]=(0,t.useState)(!1),[v,y]=(0,t.useState)(!1),N=(0,t.useRef)(null);(0,t.useEffect)(()=>{var e,n;b&&v&&(null==(e=N.current)||e.scrollIntoView({block:"nearest"}),null==(n=N.current)||n.focus(),y(!1))},[b,v]);let I=(0,c.kj)(),U=(0,c.cO)(),A=(0,L.pd)(h),C="losable"===A?I("tag.losable",o.UI.radar.tagLosable):"money"===A?I("tag.money",o.UI.radar.tagMoney):I("tag.hygiene",o.UI.radar.tagHygiene),T="losable"===A?U.tagLosable:"money"===A?U.tagMoney:U.tagHygiene,P=[];return!h.handled&&(h.resurfaceId&&P.push({label:I("act.stillIgnore",o.UI.radar.stillIgnore),title:U.ignore,effect:I("eff.stillIgnore",o.UI.radar.effStillIgnore),onClick:()=>p.stillIgnore(h.resurfaceId)}),h.ignore&&!h.resurfaceId&&P.push({label:I("act.ignore",o.UI.radar.ignore),title:U.ignore,effect:I("eff.ignore",o.UI.radar.effIgnore),onClick:()=>g(h.ignore.id,h.ignore.kind,h.ignore.label,h.ignore.atRisk,"project"===h.ignore.kind?I("confirm.project",o.UI.radar.confirmProject):I("confirm.site",o.UI.radar.confirmSite),"site"===h.kind?{down:!0}:void 0)}),h.laterId&&P.push({label:I("act.later",o.UI.radar.later),title:U.later,effect:I("eff.later",o.UI.radar.effLater),onClick:()=>p.later(h.laterId)}),h.findPath&&P.push({label:I("act.stopWatching",o.UI.radar.stopWatching),title:U.unwatch,effect:I("eff.stopWatching",o.UI.radar.effStopWatching),danger:!0,onClick:()=>{p.post({action:"removeRoot",path:h.findPath}).then(e=>{e.ok&&p.resolveRow(h.findPath)})}})),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{[B.J6]:h.id,className:"need".concat(b?" open":"").concat("red"===h.tone&&!h.handled?" bad":"").concat(h.handled?" handled":""),children:[(0,s.jsx)("span",{className:"tag ".concat(A),...(0,w.uN)(T),children:C}),(0,s.jsxs)("div",{className:"txt",children:[(0,s.jsx)("b",{children:h.whatP?(0,s.jsx)(c.P,{p:h.whatP}):h.what}),(0,s.jsx)("span",{children:h.whyP?(0,s.jsx)(c.P,{p:h.whyP}):h.why})]}),h.since&&!(0,x.nW)(h.since,f)&&(0,s.jsx)("span",{className:"age",...(0,w.uN)(U.age),children:function(e){let n=Math.floor(e/6e4);return n<60?"".concat(Math.max(1,n),"m"):n<1440?"".concat(Math.floor(n/60),"h"):"".concat(Math.floor(n/1440),"d")}(f-h.since)}),(0,s.jsxs)("div",{className:"acts",children:[!h.handled&&(h.steps.length>0||(null!=(a=null==(n=h.devSteps)?void 0:n.length)?a:0)>0)&&(0,s.jsx)("button",{className:"b2",...(0,w.uN)(U.fix),onClick:()=>{k(!0),y(!0)},children:(0,s.jsx)(c.T,{k:"btn.fix",en:o.UI.session.fix})}),!h.handled&&h.checkId&&(0,s.jsx)("button",{className:"b2",...(0,w.uN)(U.check),onClick:()=>p.ack(h.checkId),children:I("act.check",o.UI.radar.check)}),!h.handled&&h.resurfaceId&&(0,s.jsx)("button",{className:"b2",...(0,w.uN)(U.watch),onClick:()=>p.unignore(h.resurfaceId),children:(0,s.jsx)(c.T,{k:"btn.watchAgain",en:o.UI.radar.watchAgain})}),!h.handled&&h.findPath&&(0,s.jsx)("button",{className:"b2",onClick:()=>u(h.findPath),children:I("act.findIt",o.UI.radar.findIt)}),(0,s.jsx)("button",{className:"b2 q",...(0,w.uN)(U.details),onClick:()=>k(!b),"aria-expanded":b,children:b?(0,s.jsx)(c.T,{k:"btn.hide",en:o.UI.common.hide}):(0,s.jsx)(c.T,{k:"btn.details",en:o.UI.common.details})}),(0,s.jsx)(M.ob,{actions:P})]}),h.handled&&(0,s.jsx)("span",{className:"ok-line handled-note",children:h.handledNoteP?(0,s.jsx)(c.P,{p:h.handledNoteP}):null!=(i=h.handledNote)?i:I("act.handled",o.UI.radar.handled)})]}),b&&(0,s.jsxs)("div",{className:"need-draw",children:[(0,s.jsxs)("div",{className:"need-detail rec",ref:N,tabIndex:-1,children:[(0,s.jsx)("span",{className:"k",children:I("fix.what",o.UI.session.fixHeadingWhat)}),(0,s.jsx)("span",{children:h.whyP?(0,s.jsx)(c.P,{p:h.whyP}):h.why}),(0,s.jsx)("span",{className:"k",children:I("fix.steps",o.UI.session.fixHeadingSteps)}),(null!=(l=h.stepsP)?l:h.steps.map(e=>({k:"",en:e}))).map((e,n)=>(0,s.jsx)("span",{children:(0,s.jsx)(c.P,{p:e})},n))]}),j&&h.devSteps&&h.devSteps.length>0&&(0,s.jsxs)("div",{className:"need-detail cmds",children:[(0,s.jsx)("span",{className:"k",children:I("fix.commands",o.UI.session.fixHeadingCommands)}),h.devSteps.map(e=>(0,s.jsx)(D.B,{mono:!0,children:e},e)),(0,s.jsx)(B.M0,{it:h})]}),h.openPath&&!m&&(0,s.jsxs)("div",{className:"draw-line",children:[(0,s.jsx)("span",{className:"k",children:I("radar.folder",o.UI.radar.folder)}),(0,s.jsx)(D.B,{mono:!0,children:h.openPath}),(0,s.jsx)(B.r8,{path:h.openPath})]}),(0,s.jsxs)("div",{className:"need-detail",children:[(0,s.jsx)("span",{className:"k",children:I("radar.whatISaw",o.UI.radar.whatISaw)}),(null!=(d=h.evidenceP)?d:h.evidence.map(e=>({k:"",en:e}))).map((e,n)=>(0,s.jsx)("span",{className:"mono",children:(0,s.jsx)(c.P,{p:e})},n))]})]})]})}},8106:(e,n,a)=>{"use strict";a.d(n,{T:()=>l});var s=a(5155),t=a(2115),r=a(436),i=a(5310);function l(e){let{cockpit:n,onAdded:a}=e,[l,o]=(0,t.useState)(""),[c,d]=(0,t.useState)(""),[h,p]=(0,t.useState)(!1),[m,g]=(0,t.useState)(null),x=(0,i.kj)(),u=async e=>{var s;if(e.preventDefault(),!l.trim())return;p(!0),g(null);let t=await n.post({action:"addUrl",url:l.trim(),label:c.trim()||void 0});p(!1),t.ok?(o(""),d(""),g({ok:!0,text:x("site.added",r.UI.radar.siteAdded)}),n.readHealth(),null==a||a()):g({ok:!1,text:null!=(s=t.message)?s:x("common.somethingWrong",r.UI.common.somethingWrong)})};return(0,s.jsxs)("form",{className:"setup",onSubmit:u,children:[(0,s.jsxs)("div",{className:"addrow",children:[(0,s.jsx)("input",{className:"in",type:"text",inputMode:"url",dir:"ltr",value:l,"aria-label":x("site.addrAria",r.UI.radar.siteAddrAria),placeholder:r.UI.radar.sitePlaceholder,onChange:e=>o(e.target.value)}),(0,s.jsx)("input",{className:"in",type:"text",value:c,"aria-label":x("site.nameAria",r.UI.radar.siteNameAria),placeholder:x("site.namePlaceholder",r.UI.radar.siteNamePlaceholder),onChange:e=>d(e.target.value)}),(0,s.jsx)("button",{className:"btn primary",type:"submit",disabled:h||!l.trim(),children:h?x("site.adding",r.UI.radar.siteAdding):x("site.add",r.UI.radar.siteAdd)})]}),m&&(0,s.jsx)("p",{className:m.ok?"ok-line":"error-line",children:m.text})]})}},8216:(e,n,a)=>{Promise.resolve().then(a.bind(a,1601))}},e=>{e.O(0,[3192,5449,7897,2036,4097,7482,8441,1255,7358],()=>e(e.s=8216)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7081],{2149:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>N});var s=r(5155),a=r(2115),n=r(7064),l=r(6660),o=r(5163),i=r(8261),c=r(436),d=r(8706);function p(e,t,r){return{fact:e.en,factP:e,why:t.en,whyP:t,detail:r.en,detailP:r}}function u(e){var t;let r=[];if(e.oldestTodo&&r.push({cat:c.UI.report.catTimeCapsule,catKey:"report.catTimeCapsule",...p((0,d.ph)("wk.todoFact",'Your oldest note to yourself is still open, from {0}: "{1}"',e.oldestTodo.from,e.oldestTodo.quote),(0,d.pl)("wk.todoWhy",c.UI.report.wTodoWhy),(0,d.pl)("tip.todosTip",c.UI.report.todosTip))}),e.reclaimableBytes>5e7&&r.push({cat:c.UI.report.catHousekeeping,catKey:"report.catHousekeeping",...p((0,d.ph)("wk.spaceFact","{0} of downloaded code libraries sit in projects you have not touched in months",(t=e.reclaimableBytes)>=1e9?"".concat((t/1e9).toFixed(1)," GB"):"".concat(Math.round(t/1e6)," MB")),(0,d.pl)("wk.spaceWhy",c.UI.report.wSpaceWhy),(0,d.pl)("tip.reclaimableTip",c.UI.report.reclaimableTip))}),e.busiest&&r.push({cat:c.UI.report.catHistory,catKey:"report.catHistory",...p((0,d.ph)("wk.busiestFact","{0} is your busiest project, {1} commits",e.busiest.name,e.busiest.commits.toLocaleString()),(0,d.pl)("wk.busiestWhy",c.UI.report.wBusiestWhy),(0,d.pl)("tip.busiestTip",c.UI.report.busiestTip))}),e.anniversaries.length>0){let t=e.anniversaries[0];r.push({cat:c.UI.report.catMilestone,catKey:"report.catMilestone",...p((0,d.ph)("wk.birthdayFact","{0} turns {1} on {2}",t.name,t.years,t.when),(0,d.pl)("wk.birthdayWhy",c.UI.report.wBirthdayWhy),(0,d.pl)("tip.birthdayTip",c.UI.report.birthdayTip))})}return r}var h=r(7470),f=r(9178),m=r(4576),x=r(5310),U=r(3034),g=r(1551),j=r(9378),v=r(5964),I=r(9129),y=r(5834),k=r(797);function N(){var e,t;let r=(0,l.x)(),{delta:d}=(0,I.K)(r),[p,j]=(0,a.useState)(null),[N,L]=(0,a.useState)(!1),[A,E]=(0,a.useState)(!1);(0,a.useEffect)(()=>{fetch("/api/report",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(e=>e&&"object"==typeof e&&"number"==typeof e.projects&&e.languages&&"object"==typeof e.languages?j(e):L(!0)).catch(()=>L(!0))},[]);let D=(0,g.$c)(null==(e=r.cfg)?void 0:e.lang),F=(e,t)=>(0,g.tr)(D,e,t),M="ar"===D,R=(0,x.qN)(D),O=function(e){var t,r,s,a,n,l;let i=e.projects.filter(e=>!e.looksDownloaded),d=i.filter(e=>e.uncommitted>0),p=i.filter(e=>{var t;return(null!=(t=e.ahead)?t:0)>0}),u=e.incidents.filter(e=>!e.endedTs).length,h=(null!=(s=null==(t=e.expiry)?void 0:t.items)?s:[]).filter(e=>"number"==typeof e.daysLeft).sort((e,t)=>{var r,s;return(null!=(r=e.daysLeft)?r:0)-(null!=(s=t.daysLeft)?s:0)})[0];return{needing:null!=(a=null==(r=e.attention)?void 0:r.open)?a:0,cleanBacked:i.filter(t=>{let r;return"clean"===(r=t.path.toLowerCase(),(0,o.YV)(e.attention,r))&&t.hasRemote}).length,sitesUp:e.urls.filter(e=>{var t;return null==(t=e.current)?void 0:t.ok}).length,sitesTotal:e.urls.length,unsavedProjects:d.length,unsavedChanges:d.reduce((e,t)=>e+t.uncommitted,0),unpushedCommits:p.reduce((e,t)=>{var r;return e+(null!=(r=t.ahead)?r:0)},0),unpushedProjects:p.length,notBackedUp:i.filter(e=>e.isGit&&e.remoteKnown&&!e.hasRemote).length,sitesQuiet:0===u,nextDate:h?{name:h.name,text:c.UI.report.dateIn(null!=(n=c.UI.ahead.kind[h.kind])?n:h.kind,h.daysLeft),judgment:null!=(l=h.judgment)?l:null}:null}}(r),W=(0,i.X2)(r.attention,r.projects),K=(null==p?void 0:p.languages)?Object.entries(p.languages).sort((e,t)=>t[1]-e[1]):[],V=K.reduce((e,t)=>{let[,r]=t;return e+r},0);return(0,s.jsxs)(n.Ay,{active:"/report",cockpit:r,children:[(0,s.jsxs)("div",{className:"pagebar",children:[(0,s.jsx)("h1",{children:(0,s.jsx)(x.T,{k:"room.report",en:c.UI.report.title})}),(0,s.jsx)("span",{className:"purpose",...(0,k.uN)(R.estate),children:(0,s.jsx)(x.T,{k:"report.purpose",en:c.UI.report.purpose})}),p&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{className:"scan",style:{marginInlineStart:"auto"},onClick:()=>{!function(e,t,r,s){let a=document.createElement("canvas");a.width=2400,a.height=1260;let n=a.getContext("2d");if(!n)return;n.scale(2,2),n.fillStyle=S.void,n.fillRect(0,0,1200,630);let l=n.createRadialGradient(983.9999999999999,-80,60,983.9999999999999,-80,700);l.addColorStop(0,"rgba(110,168,255,.10)"),l.addColorStop(1,"rgba(110,168,255,0)"),n.fillStyle=l,n.fillRect(0,0,1200,630);let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400;return"".concat(t," ").concat(e,"px Inter, system-ui, sans-serif")},d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400;return"".concat(t," ").concat(e,'px "IBM Plex Mono", Consolas, monospace')};n.strokeStyle="rgba(148,163,214,.25)",n.lineWidth=4,n.beginPath(),n.arc(80,74,15,0,2*Math.PI),n.stroke(),n.strokeStyle=S.accent,n.lineCap="round",n.beginPath(),n.arc(80,74,15,-Math.PI/2,5*Math.PI/6),n.stroke(),n.fillStyle=S.accent,n.beginPath(),n.arc(80,74,4.5,0,2*Math.PI),n.fill(),n.fillStyle=S.text,n.font=o(28,800),n.textBaseline="middle",n.textAlign="left",n.fillText(c.UI.report.heading,108,75),n.textAlign="right",n.font=d(15),n.fillStyle=S.faint,n.fillText((0,h.OL)(e.generatedAt),1136,75),n.textBaseline="alphabetic",r&&(n.fillStyle=S.dim,n.font=o(15),n.textAlign="left",n.fillText(C(n,r,1072),64,108));let p=1048/3;if([[String(t.needing),c.UI.report.vNeeding(t.needing),t.needing>0?S.warn:S.ok],[String(t.cleanBacked),c.UI.report.vClean,S.ok],[0===t.sitesTotal?"-":"".concat(t.sitesUp,"/").concat(t.sitesTotal),c.UI.report.vSites,0===t.sitesTotal?S.dim:t.sitesUp===t.sitesTotal?S.ok:S.warn]].forEach((e,t)=>{let[r,s,a]=e,l=64+t*(p+12);n.fillStyle=S.panel,B(n,l,126,p,96,14),n.fill(),n.strokeStyle=S.line,n.lineWidth=1,B(n,l,126,p,96,14),n.stroke(),n.fillStyle=a,B(n,l+18,126,44,3,1.5),n.fill(),n.fillStyle=a,n.font=o(40,700),n.textAlign="left",n.fillText(r,l+20,184),n.fillStyle=S.dim,n.font=o(15),n.fillText(s,l+20,208)}),s){let e=(0,i.sx)(s);n.fillStyle="clean"===e.tone?S.ok:S.warn,n.font=o(17,700),n.textAlign="left",n.fillText(C(n,e.headline.en,1072),64,243)}n.fillStyle=S.faint,n.font=d(13,500),n.fillText(c.UI.report.rightNow.toUpperCase(),64,260);let u=[];u.push([c.UI.report.rUnsaved,t.unsavedProjects>0?c.UI.report.rUnsavedVal(t.unsavedProjects,t.unsavedChanges):c.UI.report.rNone,t.unsavedProjects>0?S.warn:S.ok]),t.unpushedCommits>0&&u.push([c.UI.report.rUnpushed,c.UI.report.rUnpushedVal(t.unpushedCommits,t.unpushedProjects),S.warn]),u.push([t.notBackedUp>0?c.UI.report.rNoBackup:c.UI.report.rEverythingElse,t.notBackedUp>0?c.UI.report.rNoBackupVal(t.notBackedUp):c.UI.report.rBackedUp,t.notBackedUp>0?S.warn:S.ok]),t.sitesTotal>0&&u.push([c.UI.report.rSites,t.sitesUp===t.sitesTotal?t.sitesQuiet?c.UI.report.rSitesAllUp:c.UI.report.rSitesUpNow:c.UI.report.rSitesDown(t.sitesTotal-t.sitesUp),t.sitesUp===t.sitesTotal?S.ok:S.warn]),t.nextDate&&u.push([c.UI.report.rNext,"".concat(t.nextDate.name," - ").concat(t.nextDate.text),S.dim]);let f=292;for(let[e,t,r]of u.slice(0,5))n.fillStyle=S.dim,n.font=o(17),n.textAlign="left",n.fillText(e,64,f),n.fillStyle=r,n.font=o(17,600),n.textAlign="right",n.fillText(P(t,46),534,f),n.strokeStyle=S.line,n.lineWidth=1,n.beginPath(),n.moveTo(64,f+12),n.lineTo(534,f+12),n.stroke(),f+=36;n.textAlign="left",n.fillStyle=S.faint,n.font=d(13,500),n.fillText(c.UI.report.inNumbers.toUpperCase(),640,260);let x=Object.entries(e.languages).sort((e,t)=>t[1]-e[1]),U=x.reduce((e,t)=>{let[,r]=t;return e+r},0);if(U>0){let e=640,t=[S.accent,"#8FB8FF","#4A7ACB","#3B5A8A"];x.slice(0,4).forEach((r,s)=>{let[,a]=r,l=a/U*496;n.fillStyle=t[s],n.fillRect(e,276,l,10),e+=l}),n.fillStyle=S.faint,n.fillRect(e,276,Math.max(0,1136-e),10)}let g=[[e.lines.toLocaleString(),c.UI.report.fLines],[String(e.projects),c.UI.report.fProjects]];x.length>0&&g.push([String(x.length),c.UI.report.fLanguages(x[0][0])]),null!=e.commits&&g.push([e.commits.toLocaleString(),c.UI.report.fCommits]),g.slice(0,4).forEach((e,t)=>{let[r,s]=e,a=640+t%2*248,l=312+84*Math.floor(t/2);n.fillStyle=S.inset,B(n,a,l,236,68,12),n.fill(),n.strokeStyle=S.line,n.lineWidth=1,B(n,a,l,236,68,12),n.stroke(),n.fillStyle=S.text,n.font=o(24,700),n.textAlign="left",n.fillText(r,a+16,l+32),n.fillStyle=S.faint,n.font=o(14),n.fillText(P(s,30),a+16,l+54)}),e.oldestTodo&&(n.fillStyle=S.dim,n.font="italic 400 17px Inter, system-ui, sans-serif",n.textAlign="left",n.fillText(C(n,'"'.concat(e.oldestTodo.quote,'" - ').concat(c.UI.report.wTodoFrom(e.oldestTodo.from)),1072),64,512)),n.font=d(13),n.textAlign="left";let j=(0,m.dv)(n,64,604,S.text,S.accent);n.fillStyle=S.faint,n.fillText(" ".concat(c.UI.shell.footBy," ").concat(m.rM," \xb7 ").concat(c.UI.report.imageFoot),j,604);let v=document.createElement("a");v.download="your-estate-".concat((0,h.rq)(e.generatedAt),".png"),v.href=a.toDataURL("image/png"),v.click()}(p,O,T(d,D),W)},children:F("report.download",c.UI.report.download)}),(0,s.jsx)("button",{className:"btn",onClick:()=>{!function(e,t,r,s){var a;let n=new Blob([function(e){var t;let{data:r,now:s,seal:a,date:n,since:l,radius:o}=e,i=[];i.push("# ".concat(c.UI.report.heading)),i.push("".concat(c.UI.report.asOf," ").concat(n)),i.push(""),l&&(i.push(l),i.push("")),o&&(i.push(o),i.push("")),i.push("- ".concat(s.needing," ").concat(c.UI.report.vNeeding(s.needing))),i.push("- ".concat(s.cleanBacked," ").concat(c.UI.report.vClean)),i.push("- ".concat(0===s.sitesTotal?"-":"".concat(s.sitesUp,"/").concat(s.sitesTotal)," ").concat(c.UI.report.vSites)),i.push(""),i.push("## ".concat(c.UI.report.rightNow)),i.push(""),i.push("- ".concat(c.UI.report.rUnsaved,": ").concat(s.unsavedProjects>0?c.UI.report.rUnsavedVal(s.unsavedProjects,s.unsavedChanges):c.UI.report.rNone)),s.unpushedCommits>0&&i.push("- ".concat(c.UI.report.rUnpushed,": ").concat(c.UI.report.rUnpushedVal(s.unpushedCommits,s.unpushedProjects))),i.push("- ".concat(s.notBackedUp>0?c.UI.report.rNoBackup:c.UI.report.rEverythingElse,": ").concat(s.notBackedUp>0?c.UI.report.rNoBackupVal(s.notBackedUp):c.UI.report.rBackedUp)),s.sitesTotal>0&&i.push("- ".concat(c.UI.report.rSites,": ").concat(s.sitesUp===s.sitesTotal?s.sitesQuiet?c.UI.report.rSitesAllUp:c.UI.report.rSitesUpNow:c.UI.report.rSitesDown(s.sitesTotal-s.sitesUp))),s.nextDate&&i.push("- ".concat(c.UI.report.rNext,": ").concat(s.nextDate.name," - ").concat(s.nextDate.text)),i.push(""),i.push("## ".concat(c.UI.report.inNumbers)),i.push(""),i.push("- ".concat(r.lines.toLocaleString()," ").concat(c.UI.report.fLines));let d=null!=(t=r.excludedCopies)?t:0;i.push("- ".concat(r.projects," ").concat(c.UI.report.fProjects).concat(d>0?" (".concat(c.UI.report.fProjectsExcluded(d),")"):""));let p=Object.entries(r.languages).sort((e,t)=>t[1]-e[1]);p.length>0&&i.push("- ".concat(p.length," ").concat(c.UI.report.fLanguages(p[0][0]))),null!=r.commits&&i.push("- ".concat(r.commits.toLocaleString()," ").concat(c.UI.report.fCommits)),i.push("");let u=[];if(r.oldestTodo&&u.push('- "'.concat(r.oldestTodo.quote,'" - ').concat(c.UI.report.wTodoFrom(r.oldestTodo.from))),r.busiest&&u.push("- ".concat(c.UI.report.wBusiestFact(r.busiest.name,r.busiest.commits))),u.length>0){for(let e of(i.push("## ".concat(c.UI.report.worthKnowing)),i.push(""),u))i.push(e);i.push("")}return i.push("---"),i.push(""),a.known?(i.push("".concat(m.qt," ").concat(a.id).concat(a.version?" (".concat(a.version,")"):"")),a.proves&&i.push(a.proves)):a.note&&i.push(a.note),i.push(""),i.push("".concat(m.qt," ").concat(c.UI.shell.footBy," ").concat(m.rM," \xb7 ").concat(c.UI.report.imageFoot)),(0,v.dK)(i.join("\n"))}({data:e,now:{needing:t.needing,cleanBacked:t.cleanBacked,sitesUp:t.sitesUp,sitesTotal:t.sitesTotal,unsavedProjects:t.unsavedProjects,unsavedChanges:t.unsavedChanges,unpushedCommits:t.unpushedCommits,unpushedProjects:t.unpushedProjects,notBackedUp:t.notBackedUp,sitesQuiet:t.sitesQuiet,nextDate:t.nextDate?{name:t.nextDate.name,text:t.nextDate.text}:null},seal:e.build,date:(0,h.OL)(e.generatedAt),since:r,radius:s?(0,i.sx)(s).headline.en:null})],{type:"text/markdown"}),l=URL.createObjectURL(n),o=document.createElement("a");a=(0,h.rq)(e.generatedAt),o.download="your-estate-".concat(a,".md"),o.href=l,o.click(),setTimeout(()=>URL.revokeObjectURL(l),2e3)}(p,O,T(d,D),W)},children:F("report.downloadText",c.UI.report.downloadText)}),(0,s.jsx)("button",{className:"btn",disabled:A,onClick:()=>{E(!0),fetch("/api/card",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(e=>{(null==e?void 0:e.card)&&function(e,t){let r=document.createElement("canvas");r.width=2160,r.height=2700;let s=r.getContext("2d");if(!s)return;s.scale(2,2);let a=(e,r)=>(0,g.tr)(t,e,r);s.fillStyle=S.void,s.fillRect(0,0,1080,1350);let n=s.createRadialGradient(540,120,80,540,120,900);n.addColorStop(0,"rgba(77,127,255,.14)"),n.addColorStop(1,"rgba(77,127,255,0)"),s.fillStyle=n,s.fillRect(0,0,1080,1350);let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"".concat(t?700:400," ").concat(e,"px Inter, system-ui, sans-serif")};s.textBaseline="middle",s.textAlign="center",s.fillStyle=S.text,s.font=l(200,!0),s.fillText(e.lines.toLocaleString(),540,232),s.fillStyle=S.dim,s.font=l(30),s.fillText(a("card.heroLabel",c.UI.card.heroLabel).replace("{0}",String(e.projects)),540,366),s.fillStyle=S.faint,s.font=l(21),s.fillText(a("card.heroSub",c.UI.card.heroSub),540,412);let o=[[a("card.statLanguages",c.UI.card.statLanguages),String(e.languages)],...null===e.ageDays?[]:[[a("card.statAge",c.UI.card.statAge),(0,f.LS)(e.ageDays,"day")]],[a("card.statBranches",c.UI.card.statBranches),String(e.branches)],[a("card.statCommits",c.UI.card.statCommits),String(e.total)],[a("card.statReadProjects",c.UI.card.statReadProjects),String(e.readProjects)],...0!==e.busiestProject&&e.busiestProjectName?[[a("card.statBusiestProject",c.UI.card.statBusiestProject).replace("{0}",(0,f.LS)(e.busiestProject,"commit")),e.busiestProjectName]]:[]],i=e.projects>0;i||(s.fillStyle=S.dim,s.font=l(30),s.fillText(a("card.emptyEstate",c.UI.card.emptyEstate),540,512));let d=920/3;i&&o.forEach((e,t)=>{let[r,a]=e,n=Math.floor(t/3),o=80+920/3*(t%3+.5),i=512+156*n,c=(e=>{for(let t=58;t>=26;t-=4)if(s.font=l(t,!0),s.measureText(e).width<=d-16)return{font:l(t,!0),text:e};s.font=l(26,!0);let t=e;for(;t.length>1&&s.measureText(t+"…").width>d-16;)t=t.slice(0,-1);return{font:l(26,!0),text:t+"…"}})(a);s.fillStyle=S.text,s.font=c.font,s.fillText(c.text,o,i),s.fillStyle=S.faint,s.font=l(20),s.fillText(r,o,i+54)});if(i){s.fillStyle=S.faint,s.font=l(20),s.fillText(a("card.gridHead",c.UI.card.gridHead),540,784);let t=Math.round(309.5),r=824,n=Math.max(1,e.busiestDay);for(let a=0;a<12;a++)for(let l=0;l<7;l++){let o=7*a+l,i=e.days[o],c=t+39*a,d=r+39*l,p=i?i.commits:0;if(0===p)s.fillStyle="rgba(148,163,214,.10)";else{let e=Math.min(1,p/n);s.fillStyle="rgba(77,127,255,".concat((.28+.72*e).toFixed(3),")")}B(s,c,d,32,32,6),s.fill()}}i&&e.capped&&(s.fillStyle=S.faint,s.font=l(18),s.fillText(a("card.capped",c.UI.card.capped).replace("{0}",String(e.readProjects)),540,1174)),s.fillStyle=S.dim,s.font="400 ".concat(18,'px "IBM Plex Mono", Consolas, monospace'),s.fillText(e.seal.known&&e.seal.id?a("card.seal",c.UI.card.seal).replace("{0}",e.seal.id):a("card.sealNoBuild",c.UI.card.sealNoBuild),540,1218),s.font=l(20,!0);let p=a("card.foot",c.UI.card.foot),u=s.measureText(p).width;s.textAlign="left";let x=Math.round((1080-u)/2),U=(0,m.dv)(s,x,1280,S.text,S.accent);s.fillStyle=S.faint,s.font=l(20),s.fillText(" ".concat(c.UI.shell.footBy," ").concat(m.rM),U,1280);let j=document.createElement("a");j.download="af360-card-".concat((0,h.rq)(Date.now()),".png"),j.href=r.toDataURL("image/png"),j.click()}(e.card,D)}).catch(()=>{}).finally(()=>E(!1))},children:F("card.button",c.UI.card.button)})]})]}),(null==p?void 0:p.demo)&&(0,s.jsxs)("p",{className:"banner",children:[F("banner.reportLead",c.UI.report.bannerLead)," ",(0,s.jsx)("a",{className:"link",href:"/radar",children:F("banner.radarLink",c.UI.report.bannerLink)})," ",F("banner.reportTail",c.UI.report.bannerTail)]}),N?(0,s.jsx)("p",{className:"error-line",children:F("report.failed",c.UI.report.failed)}):p?0===p.projects?(0,s.jsxs)("div",{className:"empty",children:[(0,s.jsx)("p",{className:"invite",children:F("report.emptyInvite",c.UI.report.emptyInvite)}),(0,s.jsx)("p",{children:F("report.emptyLine",c.UI.report.emptyLine)}),(0,s.jsx)("a",{className:"btn primary",href:"/radar",children:F("btn.goRadar",c.UI.report.goRadar)})]}):(0,s.jsxs)("div",{className:"er",children:[(0,s.jsxs)("div",{className:"er-head",children:[(0,s.jsx)("h1",{children:(0,s.jsx)(x.T,{k:"sec.reportHeading",en:c.UI.report.heading})}),(0,s.jsxs)("span",{className:"when",children:[F("report.asOf",c.UI.report.asOf)," ",(0,s.jsx)(U.En,{children:(0,s.jsx)(n.fV,{ts:p.generatedAt,skewForm:"core"})})," - ",(0,s.jsx)(U.En,{children:new Date(p.generatedAt).toLocaleDateString([],{month:"long",day:"numeric"})})]})]}),(0,s.jsx)("div",{className:"er-sub",children:F("report.sub",c.UI.report.sub)}),(0,s.jsxs)("div",{className:"verdict",children:[(0,s.jsxs)("div",{className:"vcard ".concat(O.needing>0?"warn":"ok"),children:[(0,s.jsx)("div",{className:"big",children:O.needing}),(0,s.jsx)("div",{className:"lbl",children:F("report.vNeeding",c.UI.report.vNeeding(O.needing))})]}),(0,s.jsxs)("div",{className:"vcard ok",children:[(0,s.jsx)("div",{className:"big",children:O.cleanBacked}),(0,s.jsx)("div",{className:"lbl",children:F("report.vClean",c.UI.report.vClean)})]}),(0,s.jsxs)("div",{className:"vcard ".concat(0===O.sitesTotal?"info":O.sitesUp===O.sitesTotal?"ok":"warn"),children:[(0,s.jsx)("div",{className:"big",children:0===O.sitesTotal?"-":"".concat(O.sitesUp,"/").concat(O.sitesTotal)}),(0,s.jsx)("div",{className:"lbl",children:F("report.vSites",c.UI.report.vSites)})]})]}),(0,s.jsxs)("div",{className:"er-block",children:[(0,s.jsx)("h4",{children:(0,s.jsx)(x.T,{k:"sec.rightNow",en:c.UI.report.rightNow})}),(0,s.jsxs)("div",{className:"er-row",children:[(0,s.jsx)("span",{className:"k",children:F("report.rUnsaved",c.UI.report.rUnsaved)}),(0,s.jsx)("span",{className:"v",style:{color:O.unsavedProjects>0?"var(--warn)":"var(--ok)"},children:O.unsavedProjects>0?c.UI.report.rUnsavedVal(O.unsavedProjects,O.unsavedChanges):F("report.rNone",c.UI.report.rNone)})]}),O.unpushedCommits>0&&(0,s.jsxs)("div",{className:"er-row",children:[(0,s.jsx)("span",{className:"k",children:F("report.rUnpushed",c.UI.report.rUnpushed)}),(0,s.jsx)("span",{className:"v",style:{color:"var(--warn)"},children:c.UI.report.rUnpushedVal(O.unpushedCommits,O.unpushedProjects)})]}),(0,s.jsxs)("div",{className:"er-row",children:[(0,s.jsx)("span",{className:"k",children:O.notBackedUp>0?F("report.rNoBackup",c.UI.report.rNoBackup):F("report.rEverythingElse",c.UI.report.rEverythingElse)}),(0,s.jsx)("span",{className:"v",style:{color:O.notBackedUp>0?"var(--warn)":"var(--ok)"},children:O.notBackedUp>0?c.UI.report.rNoBackupVal(O.notBackedUp):F("report.rBackedUp",c.UI.report.rBackedUp)})]}),O.sitesTotal>0&&(0,s.jsxs)("div",{className:"er-row",children:[(0,s.jsx)("span",{className:"k",children:F("report.rSites",c.UI.report.rSites)}),(0,s.jsx)("span",{className:"v",style:{color:O.sitesUp===O.sitesTotal?"var(--ok)":"var(--warn)"},children:O.sitesUp===O.sitesTotal?O.sitesQuiet?F("report.rSitesAllUp",c.UI.report.rSitesAllUp):F("report.rSitesUpNow",c.UI.report.rSitesUpNow):M?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(U.V,{n:O.sitesTotal-O.sitesUp})," ",F("report.rSitesDownTail","")]}):c.UI.report.rSitesDown(O.sitesTotal-O.sitesUp)})]}),O.nextDate&&(0,s.jsxs)("div",{className:"er-row wrap",children:[(0,s.jsx)("span",{className:"k",children:F("report.rNext",c.UI.report.rNext)}),(0,s.jsxs)("span",{className:"v mono",children:[O.nextDate.name," - ",O.nextDate.text]}),O.nextDate.judgment&&(0,s.jsx)("span",{className:"er-why",children:O.nextDate.judgment})]})]}),(0,s.jsxs)("div",{className:"er-block",children:[(0,s.jsx)("h4",{children:(0,s.jsx)(x.T,{k:"sec.inNumbers",en:c.UI.report.inNumbers})}),K.length>0&&V>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"langbar",role:"img","aria-label":F("report.langAria",c.UI.report.langAria),children:[K.slice(0,4).map((e,t)=>{let[r,a]=e;return(0,s.jsx)("span",{...(0,k.uN)("".concat(r," \xb7 ").concat(a.toLocaleString()," ").concat(F("report.linesWord",c.UI.report.linesWord))),style:{inlineSize:"".concat(a/V*100,"%"),background:w[t]}},r)}),K.length>4&&(0,s.jsx)("span",{...(0,k.uN)(F("report.langRest",c.UI.report.langRest)),style:{inlineSize:"".concat(K.slice(4).reduce((e,t)=>{let[,r]=t;return e+r},0)/V*100,"%"),background:"var(--faint)"}})]}),(0,s.jsx)("div",{className:"langkey",children:K.slice(0,4).map((e,t)=>{let[r]=e;return(0,s.jsxs)("span",{children:[(0,s.jsx)("i",{style:{background:w[t]}}),r]},r)})})]}),(0,s.jsxs)("div",{className:"facts",children:[(0,s.jsxs)("div",{className:"fact",children:[(0,s.jsx)("div",{className:"n",children:p.lines.toLocaleString()}),(0,s.jsx)("div",{className:"l",children:F("report.fLines",c.UI.report.fLines)})]}),(0,s.jsxs)("div",{className:"fact",children:[(0,s.jsx)("div",{className:"n",children:p.projects}),(0,s.jsx)("div",{className:"l",children:F("report.fProjects",c.UI.report.fProjects)}),(null!=(t=p.excludedCopies)?t:0)>0&&(0,s.jsx)("div",{className:"l excl",children:M?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(U.V,{n:p.excludedCopies})," ",F("report.fProjectsExcluded","")]}):c.UI.report.fProjectsExcluded(p.excludedCopies)})]}),K.length>0&&(0,s.jsxs)("div",{className:"fact",children:[(0,s.jsx)("div",{className:"n",children:K.length}),(0,s.jsx)("div",{className:"l",children:M?(0,s.jsxs)(s.Fragment,{children:[F("report.fLanguagesTail","")," ",(0,s.jsx)(U.B,{children:K[0][0]})]}):c.UI.report.fLanguages(K[0][0])})]}),null!=p.commits&&(0,s.jsxs)("div",{className:"fact",children:[(0,s.jsx)("div",{className:"n",children:p.commits.toLocaleString()}),(0,s.jsx)("div",{className:"l",children:F("report.fCommits",c.UI.report.fCommits)})]})]})]}),u(p).length>0&&(0,s.jsxs)("div",{className:"er-block",children:[(0,s.jsx)("h4",{children:(0,s.jsx)(x.T,{k:"sec.worthKnowing",en:c.UI.report.worthKnowing})}),(0,s.jsx)("p",{className:"er-subline",children:F("report.worthKnowingSub",c.UI.report.worthKnowingSub)}),(0,s.jsx)("div",{className:"wk",children:u(p).map(e=>(0,s.jsx)(b,{row:e},e.cat+e.fact))})]})]}):(0,s.jsxs)("div",{className:"sweep-wrap",children:[(0,s.jsx)("div",{className:"sweep","aria-hidden":!0}),(0,s.jsx)("span",{children:(0,s.jsx)(y.h,{children:F("report.counting",c.UI.report.counting)})})]})]})}function b(e){let{row:t}=e,[r,n]=(0,a.useState)(!1),l=(0,x.kj)();return(0,x.cO)(),(0,s.jsxs)("div",{className:"wkrow".concat(r?" open":""),children:[(0,s.jsx)("span",{className:"cat mono",children:l(t.catKey,t.cat)}),(0,s.jsxs)("div",{className:"fact",children:[t.factP?(0,s.jsx)(x.P,{p:t.factP}):t.fact,t.why&&(0,s.jsxs)("span",{className:"why",children:[" - ",t.whyP?(0,s.jsx)(x.P,{p:t.whyP}):t.why]})]}),(0,s.jsx)("button",{className:"b2 q wk-details","aria-expanded":r,onClick:()=>n(!r),children:r?l("btn.hide",c.UI.common.hide):l("report.detailsLabel",c.UI.report.detailsLabel)}),r&&(0,s.jsx)("div",{className:"wkdepth",children:t.detailP?(0,s.jsx)(x.P,{p:t.detailP}):t.detail})]})}let w=["var(--accent)","var(--info)","color-mix(in srgb, var(--accent) 55%, var(--panel))","color-mix(in srgb, var(--info) 40%, var(--panel))"],S={void:"#0A0D14",panel:"#0F1420",inset:"#0E1526",line:"rgba(148,163,214,.18)",text:"#E7ECF4",dim:"#9AA6BC",faint:"#5C6880",accent:"#4D7FFF",ok:"#3ECF8E",warn:"#E8B23D"};function T(e,t){if(!e)return null;let r=null===e.since?"":(0,h.OL)(e.since);return(0,j.lz)(e,(e,r)=>(0,g.tr)(t,e,r),r)}function B(e,t,r,s,a,n){e.beginPath(),e.moveTo(t+n,r),e.arcTo(t+s,r,t+s,r+a,n),e.arcTo(t+s,r+a,t,r+a,n),e.arcTo(t,r+a,t,r,n),e.arcTo(t,r,t+s,r,n),e.closePath()}function P(e,t){return e.length>t?e.slice(0,t-1)+"…":e}function C(e,t,r){if(e.measureText(t).width<=r)return t;let s=t.split(" "),a="";for(let t of s){if(e.measureText("".concat(a).concat(a?" ":"").concat(t,"…")).width>r)break;a+=(a?" ":"")+t}return(a||t.slice(0,8))+"…"}},9576:(e,t,r)=>{Promise.resolve().then(r.bind(r,2149))}},e=>{e.O(0,[3192,5449,2036,8441,1255,7358],()=>e(e.s=9576)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--void:#0A0D14;--panel:#0F1420;--raise:#151B2A;--inset:#0E1526;--line:#232B3D;--line2:rgba(148,163,214,.20);--text:#E7ECF4;--dim:#9AA6BC;--faint:#5C6880;--ok:#3ECF8E;--warn:#E8B23D;--bad:#E5534B;--info:#8FB8FF;--accent:#4D7FFF;--accent-ink:#0B1B36;--chip-warn-bg:color-mix(in srgb,var(--warn) 16%,transparent);--chip-warn-ink:var(--warn);--chip-bad-bg:color-mix(in srgb,var(--bad) 16%,transparent);--chip-bad-ink:var(--bad);--f-display:var(--font-display),var(--font-arabic),system-ui,sans-serif;--f-ui:var(--font-ui),var(--font-arabic),system-ui,sans-serif;--f-mono:var(--font-mono),var(--font-arabic),ui-monospace,Consolas,monospace}[data-theme=light]{--void:#F4F6FA;--panel:#FFFFFF;--raise:#EBEFF6;--line:#D5DBE7;--text:#141A26;--dim:#5A6478;--faint:#7A8398;--ok:#137A54;--warn:#A66A05;--chip-warn-bg:#FBEFD6;--chip-warn-ink:#8A5804;--bad:#DC2626;--chip-bad-bg:#FDE3E3;--chip-bad-ink:#B01B1B;--accent:#2B5FD0;--accent-ink:#FFFFFF;--line2:#C3CBDB;--inset:#E8EDF6;--info:#2B6FE3}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark}[data-theme=light]{color-scheme:light}body{background:radial-gradient(1100px 600px at 82% -15%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 55%),var(--void);color:var(--text);font-family:var(--f-ui);font-size:14px;line-height:1.45}.mono{font-family:var(--f-mono)}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.horizon{block-size:3px}.horizon.quiet{background:linear-gradient(90deg,transparent,var(--ok) 18%,var(--ok) 82%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--ok) 40%,transparent)}.horizon.needs{background:linear-gradient(90deg,transparent,var(--warn) 18%,var(--warn) 82%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--warn) 40%,transparent)}.horizon.incident{background:linear-gradient(90deg,transparent,var(--bad) 18%,var(--bad) 82%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--bad) 45%,transparent)}.horizon.idle{background:linear-gradient(90deg,transparent,var(--line2) 18%,var(--line2) 82%,transparent)}.shell{display:grid;grid-template-columns:176px minmax(0,1fr) 240px;min-block-size:100vh}@media (max-width:1100px){.shell{grid-template-columns:176px minmax(0,1fr)}.rail{display:none}}.rail{-webkit-border-start:1px solid var(--line);border-inline-start:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;inset-block-start:0;block-size:100vh}.raillog{flex:1 1 auto;min-block-size:0}.rail .next{flex:0 0 auto}.rail .next,.rail .pl{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none}.rail h3{font:600 12px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:8px}.rail h3 i{inline-size:6px;block-size:6px;border-radius:50%;background:var(--ok);font-style:normal;box-shadow:0 0 8px color-mix(in srgb,var(--ok) 60%,transparent);animation:blink 2s infinite}@keyframes blink{50%{opacity:.4}}.pulse{display:grid;grid-gap:7px;gap:7px}.pl{font:400 12px var(--f-mono);color:var(--dim);line-height:1.5;-webkit-padding-start:14px;padding-inline-start:14px;position:relative}.pl:before{content:"›";position:absolute;inset-inline-start:0;color:var(--faint)}.pl.now{color:var(--text)}.raillink{color:inherit;text-decoration:none}.raillink:focus-visible,.raillink:hover{color:var(--dim);text-decoration:underline}.pl .ok-t,.pl.now:before{color:var(--ok)}.pl .dim-t{color:var(--faint)}.pl .bad-t{color:var(--bad)}.raillog{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-padding-before:12px;padding-block-start:12px;display:flex;flex-direction:column;gap:7px}.raillog h3{-webkit-margin-after:1px;margin-block-end:1px;flex-wrap:wrap}.raillog h3 .railread{flex:0 0 100%}.rail .next{-webkit-margin-before:2px;margin-block-start:2px;-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-padding-before:12px;padding-block-start:12px;font:400 12px var(--f-mono);color:var(--faint);line-height:1.7}.rail .next b{color:var(--dim);font-weight:500}.side{-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;inset-block-start:0;block-size:100vh}.nav{flex:1 1 auto;min-block-size:0;overflow-y:auto}.nav-pinned{flex:0 0 auto;overflow:visible;-webkit-margin-before:10px;margin-block-start:10px;-webkit-margin-after:10px;margin-block-end:10px}.brand{display:flex;align-items:center;gap:8px;font-size:19px;padding-inline:10px;-webkit-margin-after:20px;margin-block-end:20px;text-decoration:none}.brand,.word{font-family:var(--f-display);font-weight:800;color:var(--text)}.word{white-space:nowrap;direction:ltr}.word,.word em{letter-spacing:0}.word em{font-style:normal;color:var(--accent);margin:0;padding:0}.mark{inline-size:26px;block-size:26px;flex-shrink:0}.mark.scanning{animation:markspin 1.6s linear infinite;transform-origin:center}@keyframes markspin{to{transform:rotate(1turn)}}.nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--dim);font-weight:500;font-size:13.5px}.nav a:hover{color:var(--text);background:color-mix(in srgb,var(--dim) 6%,transparent)}.nav a .nicon{inline-size:16px;block-size:16px;flex-shrink:0;color:var(--faint)}.nav a:hover .nicon{color:var(--dim)}.nav a.on .nicon{color:var(--accent)}.nav a.on{color:var(--text);background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 2px 0 0 var(--accent)}[dir=rtl] .nav a.on{box-shadow:inset -2px 0 0 var(--accent)}.nav .n{-webkit-margin-start:auto;margin-inline-start:auto;font:600 12px var(--f-ui);background:var(--chip-warn-bg);color:var(--chip-warn-ink);border-radius:99px;padding:1px 7px}.nav .n.bad{background:var(--chip-bad-bg);color:var(--chip-bad-ink)}.nav .soon{font:500 12px var(--f-mono)}.nav .cnt,.nav .soon{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--faint)}.nav .cnt{font:400 12px var(--f-mono)}.nav .cnt+.soon,.nav .n+.cnt{-webkit-margin-start:6px;margin-inline-start:6px}.siderow{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:14px 10px 0}.siderow .modeseg{margin:0;min-inline-size:0}.siderow .kbtn{text-align:center}.modeseg{display:flex;margin:14px 10px 0;background:var(--inset);border:1px solid var(--line2);border-radius:8px;padding:2px}.modeseg button{flex:1 1;font:600 12px var(--f-ui);padding:5px 0;border:none;background:none;color:var(--faint);cursor:pointer;border-radius:6px;white-space:nowrap}.modeseg button.on{background:var(--panel);color:var(--text);box-shadow:0 1px 4px color-mix(in srgb,var(--void) 15%,transparent)}.side-foot{-webkit-margin-before:auto;margin-block-start:auto;padding-inline:10px;display:grid;grid-gap:10px;gap:10px}.side-foot .b{inline-size:100%}.foot{font-size:12px;color:var(--faint);line-height:1.5}.foot a{color:inherit}.foot a:hover{color:var(--accent)}.foot .link{color:inherit;font-weight:inherit;text-decoration:underline}.foot .link:hover{color:var(--accent)}main{padding:22px 28px 48px;max-inline-size:1160px;inline-size:100%;-webkit-margin-start:0;margin-inline-start:0}.appbar{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 14px;-webkit-margin-after:16px;margin-block-end:16px;flex-wrap:wrap}.appbar .brand{font-size:15px;margin:0;padding:0;gap:7px}.appbar .brand .mark{inline-size:20px;block-size:20px}.appbar .room{font:600 13px var(--f-ui);color:var(--dim);-webkit-padding-start:12px;padding-inline-start:12px;-webkit-border-start:1px solid var(--line2);border-inline-start:1px solid var(--line2)}.appbar .right{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.kbtn{font:600 12px var(--f-ui);padding:5px 10px;border-radius:7px;cursor:pointer;border:1px solid var(--line2);background:var(--raise);color:var(--dim);white-space:nowrap}.kbtn:hover{color:var(--text);border-color:var(--accent)}.appbar .scan{padding:6px 13px}.radar-head{display:flex;align-items:center;justify-content:space-between;gap:20px;-webkit-padding-after:14px;padding-block-end:14px;-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line);-webkit-margin-after:18px;margin-block-end:18px;flex-wrap:wrap}.rh-left .greet{font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--dim)}.radar-verdict{margin-block:14px 20px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.radar-verdict .state{font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1.1;color:var(--warn)}.radar-verdict.ok .state{color:var(--ok)}.radar-verdict.bad .state{color:var(--bad)}.radar-verdict.idle .state{color:var(--dim)}.radar-verdict .reason{font-size:13px;color:var(--dim);-webkit-margin-before:5px;margin-block-start:5px}.radar-verdict .radius{-webkit-margin-before:14px;margin-block-start:14px;-webkit-padding-start:13px;padding-inline-start:13px;-webkit-border-start:3px solid var(--line2);border-inline-start:3px solid var(--line2)}.radar-verdict .radius.risk{border-inline-start-color:var(--warn)}.radar-verdict .radius.ok{border-inline-start-color:var(--ok)}.radar-verdict .radius-head{font-family:var(--f-display);font-weight:700;font-size:19px;line-height:1.25;color:var(--text)}.radar-verdict .radius.ok .radius-head{color:var(--ok)}.radar-verdict .radius-under{font-size:12.5px;color:var(--dim);-webkit-margin-before:4px;margin-block-start:4px}.radar-verdict .radius-excluded{font:400 12px var(--f-mono);color:var(--faint);-webkit-margin-before:5px;margin-block-start:5px}.radar-verdict button.radius{display:block;inline-size:100%;text-align:start;font:inherit;color:inherit;background:none;border:0;-webkit-border-start:3px solid var(--line2);border-inline-start:3px solid var(--line2);padding-block:0}.radar-verdict button.radius.jump{cursor:pointer}.radar-verdict button.radius.jump:hover .radius-head{filter:brightness(1.08)}.radar-verdict button.radius.jump:hover .radius-hint{color:var(--dim)}.radar-verdict .radius-hint{display:block;font:400 11.5px var(--f-mono);color:var(--dim);-webkit-margin-before:6px;margin-block-start:6px}.rh-right{display:flex;flex-direction:column;align-items:flex-end;gap:9px;-webkit-padding-before:4px;padding-block-start:4px}.rh-right .row1{justify-content:flex-end}.rh-right .row1,.session{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.session{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;-webkit-margin-after:4px;margin-block-end:4px;position:relative;overflow:hidden}.session:before{content:"";position:absolute;inset-block-start:0;inset-inline-start:12px;inline-size:34px;block-size:3px;border-radius:0 0 3px 3px;background:var(--info)}.session .k{font:500 12px var(--f-mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;white-space:nowrap}.session b{font-size:13.5px;font-weight:600}.session .fact{font-size:12.5px;color:var(--dim)}.session .fact em{font-style:normal;color:var(--warn);font-weight:600}.session .branch{font:400 12px var(--f-mono);color:var(--faint)}.session .acts{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;gap:6px;flex-wrap:wrap}.session .subk{flex-basis:100%;font-size:12px;color:var(--faint);-webkit-margin-before:-2px;margin-block-start:-2px}.need.jumped{border-color:var(--accent)}@media (prefers-reduced-motion:no-preference){.need.jumped{animation:needflash 1.3s ease-out both}}@keyframes needflash{0%{background:color-mix(in srgb,var(--accent) 14%,var(--panel))}to{background:var(--panel)}}.pagebar{display:flex;align-items:center;gap:14px;-webkit-margin-after:14px;margin-block-end:14px;flex-wrap:wrap}h1{font-family:var(--f-display);font-weight:700;font-size:21px}.purpose{color:var(--dim);font-size:12.5px;-webkit-padding-before:3px;padding-block-start:3px}.statuspill{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;align-items:center;gap:8px;font-weight:600;font-size:12.5px;border-radius:99px;padding:5px 13px;background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);color:var(--warn)}.statuspill i{inline-size:7px;block-size:7px;border-radius:50%;background:var(--warn);font-style:normal;box-shadow:0 0 8px color-mix(in srgb,var(--warn) 60%,transparent)}.statuspill.ok{background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,transparent);color:var(--ok)}.statuspill.ok i{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 60%,transparent)}.statuspill.bad{background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:color-mix(in srgb,var(--bad) 35%,transparent);color:var(--bad)}.statuspill.bad i{background:var(--bad);box-shadow:0 0 8px color-mix(in srgb,var(--bad) 60%,transparent)}.statuspill.idle{background:color-mix(in srgb,var(--dim) 8%,transparent);border-color:var(--line2);color:var(--dim)}.statuspill.idle i{background:var(--line2);box-shadow:none}.scan{font:600 12.5px var(--f-ui);background:var(--accent);color:var(--accent-ink);border:none;border-radius:8px;padding:7px 14px;cursor:pointer}.scan:hover{filter:brightness(1.08)}.scan:disabled{opacity:.6;cursor:default}.looked{font:400 12px var(--f-mono);color:var(--faint)}.sec{display:flex;align-items:baseline;gap:10px;margin:20px 0 10px}.sec h2{font-size:14px;font-weight:600}.sec .meta{font:400 12px var(--f-mono);color:var(--faint)}.pagebar .tools,.sec .tools{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;gap:6px;align-items:center}.viewseg{display:flex;background:var(--inset);border:1px solid var(--line2);border-radius:7px;padding:2px}.viewseg button{font:600 12px var(--f-ui);padding:3px 10px;border:none;background:none;color:var(--faint);cursor:pointer;border-radius:5px}.viewseg button.on{background:var(--panel);color:var(--text);box-shadow:0 1px 4px color-mix(in srgb,var(--void) 15%,transparent)}.linkbtn{font:500 12px var(--f-ui);color:var(--info);background:none;border:none;cursor:pointer;padding:0}.linkbtn:hover{text-decoration:underline}.collapse{font:500 12px var(--f-ui);color:var(--faint);background:none;border:none;cursor:pointer}.collapse:hover{color:var(--dim)}.seeall{font:600 12px var(--f-ui);color:var(--accent);text-decoration:none;white-space:nowrap}.seeall:hover{text-decoration:underline}.cleanline{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;-webkit-margin-before:8px;margin-block-start:8px;flex-wrap:wrap}.cleanline .okw{color:var(--ok)}.cleanline .seeall{-webkit-margin-start:auto;margin-inline-start:auto}.secline{block-size:1px;background:var(--line);border:none;margin:22px 0 0}.need{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 12px;-webkit-margin-after:6px;margin-block-end:6px;flex-wrap:wrap;position:relative;overflow:visible}.need:before{content:"";position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;inline-size:3px;block-size:auto;border-radius:9px 0 0 9px;background:var(--warn)}.need.bad:before{background:var(--bad)}.need.handled{opacity:.65}.need.open{border-end-start-radius:0;border-end-end-radius:0;-webkit-margin-after:0;margin-block-end:0}.need .txt{min-inline-size:0;flex:1 1 auto;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.need .txt b{font-size:13px;font-weight:600}.need .txt span{font-size:12px;color:var(--faint)}.need .age{font:400 12px var(--f-mono);color:var(--faint);white-space:nowrap;flex-shrink:0}.need .acts{display:flex;gap:5px;align-items:center;flex-shrink:0}.need .handled-note{flex-basis:100%;-webkit-margin-before:0;margin-block-start:0}.need .tag{font:600 9.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:99px;white-space:nowrap;flex-shrink:0}.need .tag.losable{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}.need .tag.money{background:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn) 45%,transparent);color:var(--warn)}.need .tag.hygiene{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info)}.need.propose:before{background:var(--info)}.need.propose .glyph{display:inline-flex;color:var(--info);flex-shrink:0}.need.propose .txt .changed{flex-basis:100%;font-size:12px;color:var(--faint)}.need-draw{background:var(--inset);border:1px solid var(--line);-webkit-border-before:none;border-block-start:none;border-radius:0 0 9px 9px;-webkit-margin-after:6px;margin-block-end:6px;padding:8px 12px}.need-draw .draw-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-inline-size:0}.need-draw .draw-line .k{font:500 12px var(--f-mono);letter-spacing:.1em;color:var(--faint);text-transform:uppercase}.need-draw .draw-line .mono{font:400 12px var(--f-mono);color:var(--dim);overflow-wrap:anywhere;min-inline-size:0;-webkit-user-select:all;-moz-user-select:all;user-select:all}.need-draw .draw-line>button:last-child{-webkit-margin-start:auto;margin-inline-start:auto}.need-detail{display:grid;grid-gap:5px;gap:5px;font-size:12px;color:var(--dim)}.need-draw .draw-line+.need-detail{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-margin-before:8px;margin-block-start:8px;-webkit-padding-before:8px;padding-block-start:8px}.need-detail .k{font:500 12px var(--f-mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase}.need-detail .mono{font-size:12px;color:var(--faint);overflow-wrap:anywhere}.need-detail.rec{color:var(--text)}.need-detail.rec:focus{outline:none}.need-detail.rec:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.need-detail+.draw-line,.need-detail+.need-detail{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-margin-before:8px;margin-block-start:8px;-webkit-padding-before:8px;padding-block-start:8px}.need-detail.cmds>button{justify-self:start;-webkit-margin-before:3px;margin-block-start:3px}.b2{font:600 12px var(--f-ui);padding:4px 10px;border-radius:6px;cursor:pointer;border:1px solid var(--line2);background:var(--raise);color:var(--text);white-space:nowrap}.b2:hover{border-color:var(--accent);color:var(--accent)}.b2:disabled{opacity:.6;cursor:default}.b2.q{background:none;border-color:transparent;color:var(--faint)}.b2.q:hover{color:var(--text);border-color:var(--line2)}.b2.on{color:var(--accent);border-color:var(--accent)}.b2.danger{color:var(--bad)}.b2.danger:hover{color:var(--bad);border-color:var(--bad)}a.b2{text-decoration:none;display:inline-block}.ovf{position:relative;display:inline-flex}.ovf-btn{font:600 12px var(--f-ui);padding:4px 9px;border-radius:6px;cursor:pointer;border:1px solid transparent;background:none;color:var(--faint);white-space:nowrap}.ovf-btn:hover,.ovf-btn[aria-expanded=true]{color:var(--text);border-color:var(--line2)}.ovf-menu{position:fixed;z-index:60;min-inline-size:190px;display:flex;flex-direction:column;gap:1px;padding:5px;background:var(--raise);border:1px solid var(--line2);border-radius:9px;box-shadow:0 10px 28px color-mix(in srgb,var(--void) 50%,transparent)}.ovf-menu button{display:flex;align-items:center;gap:9px;text-align:start;font:500 12.5px var(--f-ui);color:var(--text);background:none;border:none;border-radius:6px;padding:7px 10px;cursor:pointer;white-space:nowrap}.ovf-menu button:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.ovf-menu button span{font-size:12px;color:var(--faint);-webkit-margin-start:auto;margin-inline-start:auto;font-weight:400}.ovf-menu button.danger{color:var(--bad)}.tip{position:fixed;z-index:70;pointer-events:none;max-inline-size:340px;font:400 12px var(--f-mono);line-height:1.5;border:1px solid var(--line2);border-radius:6px;padding:7px 10px;box-shadow:0 6px 20px color-mix(in srgb,var(--void) 45%,transparent)}.b,.tip{color:var(--text);background:var(--raise)}.b{font:600 12px var(--f-ui);padding:5px 11px;border-radius:7px;cursor:pointer;border:1px solid var(--line2)}.b:hover{background:color-mix(in srgb,var(--raise) 80%,var(--text) 8%)}.b:disabled{opacity:.6;cursor:default}.b.q{background:none;border-color:transparent;color:var(--faint)}.b.q:hover{color:var(--text)}.b.accent{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.b.accent:hover{filter:brightness(1.08)}.b.danger{color:var(--bad)}.b.danger:hover{border-color:var(--bad)}.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.grid.three{grid-template-columns:repeat(3,1fr)}@media (max-width:1280px){.grid{grid-template-columns:repeat(3,1fr)}.grid.three{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.grid,.grid.three{grid-template-columns:repeat(2,1fr)}}.card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:11px 13px;position:relative;overflow:hidden}.card.bad:before,.card.warn:before{content:"";position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;inline-size:3px;block-size:auto;border-radius:11px 0 0 11px;background:var(--warn)}.card.bad:before{background:var(--bad)}.card.plain:before{background:var(--line2)}.card:hover{border-color:var(--line2)}.card.pinned .c-top b:after{content:" ⚑";color:var(--accent);font-size:12px}.c-top{display:flex;align-items:center;gap:7px;-webkit-margin-after:5px;margin-block-end:5px}.dot{inline-size:7px;block-size:7px;border-radius:50%;flex-shrink:0}.dot.g{background:var(--ok)}.dot.a{background:var(--warn)}.dot.r{background:var(--bad);box-shadow:0 0 8px color-mix(in srgb,var(--bad) 60%,transparent)}.dot.u{background:var(--faint)}.c-top b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qk{display:flex;gap:4px;align-items:center;flex-shrink:0;-webkit-padding-end:6px;padding-inline-end:6px}.c-fact{font-size:12.5px;color:var(--dim)}.c-fact b{color:var(--warn);font-weight:600}.c-fact .okw{color:var(--ok);font-weight:500}.c-path{font:400 12px var(--f-mono);color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-margin-before:4px;margin-block-start:4px;direction:ltr;text-align:start}.c-foot{display:flex;gap:4px;-webkit-margin-before:7px;margin-block-start:7px;flex-wrap:wrap;align-items:center}.c-detail{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-margin-before:8px;margin-block-start:8px;-webkit-padding-before:8px;padding-block-start:8px;display:grid;grid-gap:5px;gap:5px;font-size:12px;color:var(--dim)}.c-detail .mono{font-size:12px;color:var(--faint);overflow-wrap:anywhere}.c-detail a{color:var(--info)}.site{grid-column:span 2;display:grid;grid-template-columns:1fr 130px;grid-gap:10px;gap:10px;align-items:center}.site>div:first-child{min-inline-size:0}.spark{block-size:34px;position:relative}.spark svg{inline-size:100%;block-size:100%}.spark .cap{position:absolute;inset-inline-end:0;inset-block-end:-14px;white-space:nowrap}.spark .cap,.spark-wait{font:400 12px var(--f-mono);color:var(--faint)}.spark-wait{display:flex;align-items:center;block-size:100%}.irows{display:flex;flex-direction:column;gap:6px}.irow{background:var(--panel);border:1px solid var(--line);border-radius:10px;position:relative;overflow:hidden}.irow.bad:before,.irow.warn:before{content:"";position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;inline-size:3px;block-size:auto;border-radius:10px 0 0 10px;background:var(--warn)}.irow.bad:before{background:var(--bad)}.irow-line,.irow-main{display:flex;align-items:center}.irow-main{gap:10px;flex:1 1;min-inline-size:0;min-block-size:38px;padding:0 4px 0 12px;background:none;border:none;color:var(--text);font-size:13px;cursor:pointer;text-align:start}.irow-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:26ch}.irow-parent{color:var(--faint);font-weight:400}.irow-truth{color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.irow-truth.warn{color:var(--warn);font-weight:600}.irow-truth.bad{color:var(--bad);font-weight:600}.irow-path{-webkit-margin-start:auto;margin-inline-start:auto;font:400 12px var(--f-mono);color:var(--faint);white-space:nowrap;direction:ltr}@media (max-width:1280px){.irow-path{display:none}}.irow .qk{display:flex;gap:4px;-webkit-padding-end:8px;padding-inline-end:8px;flex-shrink:0;align-items:center}.irow-detail{display:grid;grid-gap:5px;gap:5px;padding:10px 12px 12px;-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);font-size:12px;color:var(--dim)}.irow-detail .mono{font-size:12px;color:var(--faint);overflow-wrap:anywhere}.chg,.irow-detail a{color:var(--info)}.chg{display:inline-flex;align-items:center;background:color-mix(in srgb,var(--info) 14%,transparent);border-radius:99px;padding:1px 8px;font:600 12px var(--f-mono);white-space:nowrap}.disc{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 14px}.disc .k{font:500 12px var(--f-mono);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;-webkit-margin-after:5px;margin-block-end:5px}.disc b{font-size:13px;font-weight:600;display:block;-webkit-margin-after:3px;margin-block-end:3px;line-height:1.35}.disc p{font-size:12px;color:var(--dim)}.disc .ev{font:500 12px var(--f-ui);color:var(--info);-webkit-margin-before:7px;margin-block-start:7px;display:inline-block;cursor:pointer;background:none;border:none;padding:0}.disc .ev:hover{text-decoration:underline}.disc .evd{-webkit-margin-before:7px;margin-block-start:7px;display:grid;grid-gap:3px;gap:3px;font:400 12px var(--f-mono);color:var(--faint)}.disc .evd .k{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;-webkit-margin-before:4px;margin-block-start:4px}.disc .evd .step{font:400 12px var(--f-ui);color:var(--dim)}.disc .devline{-webkit-margin-before:5px;margin-block-start:5px;font:400 12px var(--f-mono);color:var(--faint)}.disc-foot{gap:4px;-webkit-margin-before:7px;margin-block-start:7px;flex-wrap:wrap}.disc-foot,.streamline{display:flex;align-items:center}.streamline{gap:9px;font:400 12px var(--f-mono);color:var(--faint);padding:8px 2px}.streamline i{inline-size:6px;block-size:6px;border-radius:50%;background:var(--info);font-style:normal;flex-shrink:0}@media (prefers-reduced-motion:no-preference){.streamline i{animation:blink 1.6s infinite}}.kbd{font:500 12px var(--f-mono);color:var(--faint);border:1px solid var(--line2);border-radius:5px;padding:1px 6px;background:var(--inset)}button.kbd{cursor:pointer}button.kbd:hover{color:var(--text);border-color:var(--accent)}.keysheet{max-inline-size:420px;gap:10px}.keysheet h2{font-family:var(--f-display);font-weight:700;font-size:16px}.keysheet .keysub{font-size:12px;color:var(--dim);-webkit-margin-before:3px;margin-block-start:3px}.keygroup{display:grid;grid-gap:4px;gap:4px}.keygroup .k{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);-webkit-margin-after:2px;margin-block-end:2px}.keyrow{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--dim)}.keyrow .keys{display:inline-flex;align-items:center;gap:3px;min-inline-size:74px}.disc-more{display:flex;align-items:center;gap:10px;-webkit-margin-before:10px;margin-block-start:10px;flex-wrap:wrap}.disc-more a{font:600 12.5px var(--f-ui);color:var(--info);text-decoration:none}.disc-more a:hover{text-decoration:underline}.disc-more .m{font:400 12px var(--f-mono);color:var(--faint)}.ogcard{border:1px solid var(--line2);border-radius:10px;overflow:hidden;max-inline-size:280px;background:var(--inset);-webkit-margin-before:8px;margin-block-start:8px}.ogcard img{display:block;inline-size:100%;max-block-size:140px;object-fit:cover}.ogcard-body{padding:8px 10px}.ogcard-title{font-size:12px;font-weight:600}.ogcard-desc{font-size:12px;color:var(--dim);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ogcard-host{font:400 12px var(--f-mono);color:var(--faint);-webkit-margin-before:3px;margin-block-start:3px}.ogcard.bare{padding:10px 12px;color:var(--dim);font-size:12px}.disc-groups{display:flex;flex-direction:column;gap:22px}.disc-group>h2{font-size:14px;font-weight:600;display:flex;align-items:baseline;gap:10px;-webkit-margin-after:10px;margin-block-end:10px}.disc-group>h2 .m{font:400 12px var(--f-mono);color:var(--faint);font-weight:400}.disc-muted-panel{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 14px}.disc-muted-panel .k{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);-webkit-margin-after:6px;margin-block-end:6px}.disc-muted-panel p{font-size:12.5px;color:var(--dim)}.disc-muted-panel a{color:var(--info)}.ign2{max-inline-size:640px;-webkit-margin-before:8px;margin-block-start:8px;border:1px dashed var(--line2);border-radius:9px;padding:4px 12px}.ign2-row{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--faint);padding-block:4px}.ign2-row+.ign2-row{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line)}.ign2-row .n{font:600 12px var(--f-mono);color:var(--dim)}.ign2-row .item{font-size:12.5px;color:var(--dim)}.ign2-row .item .mono{font-size:12px;color:var(--faint)}.ign2-row .why{font:400 12px var(--f-mono)}.ign2-row>button:last-child{-webkit-margin-start:auto;margin-inline-start:auto}.tl{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 12px;-webkit-margin-after:6px;margin-block-end:6px;flex-wrap:wrap}.chip{font:600 12px var(--f-mono);padding:3px 9px;border-radius:99px;white-space:nowrap}.chip.calm{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.chip.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);color:var(--warn)}.chip.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.chip.info{background:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info)}.chip.plain{background:color-mix(in srgb,var(--faint) 16%,transparent);color:var(--dim)}.tl b{font-size:13px}.tl .what{color:var(--dim);font-size:12.5px}.tl .judg{color:var(--faint);font-size:12px;font-style:italic;min-inline-size:0}.tl .when{-webkit-margin-start:auto;margin-inline-start:auto;font:400 12px var(--f-mono);color:var(--faint);white-space:nowrap}.addrow{display:flex;gap:8px;align-items:center;-webkit-margin-before:10px;margin-block-start:10px;flex-wrap:wrap}.in{background:var(--inset);border:1px solid var(--line2);border-radius:8px;color:var(--text);font:400 12.5px var(--f-ui);padding:7px 11px}.in::placeholder{color:var(--faint)}select.in{cursor:pointer}.gsel{font-size:12px;padding:3px 8px;max-inline-size:14ch}.svc-bound{color:var(--faint)}.svc-add{display:flex;flex-wrap:wrap;align-items:center;gap:6px;-webkit-margin-before:6px;margin-block-start:6px}input[type=date].in{font-family:var(--f-ui)}.costbox{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--dim);font:400 12.5px var(--f-ui)}.costbox input{accent-color:var(--accent);inline-size:14px;block-size:14px;cursor:pointer}.tl.handled{opacity:.62}.rule-row.gone,.tl.gone{border-style:dashed;color:var(--faint)}.rule-row.gone b,.tl.gone b{font-weight:400;color:var(--dim);font-size:12.5px}.rule-row.gone .chip.plain,.tl.gone .chip.plain{opacity:.7}.rule-row.gone .b2,.tl.gone .b2{-webkit-margin-start:auto;margin-inline-start:auto}.rule-row.gone{gap:10px}.kit-card,.set{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 14px;-webkit-margin-after:6px;margin-block-end:6px}.set{display:flex;align-items:center;gap:14px;max-inline-size:560px}.rule-list{-webkit-margin-before:8px;margin-block-start:8px;display:grid;grid-gap:4px;gap:4px}.rule-group{-webkit-margin-before:10px;margin-block-start:10px;display:grid;grid-gap:2px;gap:2px}.rule-cat,.set .lbl .rule-cat{font:600 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);-webkit-margin-after:2px;margin-block-end:2px}.rule-row{display:flex;align-items:center;gap:10px;-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line);padding-block:3px}.rule-row:last-child{-webkit-border-after:none;border-block-end:none}.rule-name{font-size:12.5px;color:var(--text);flex:1 1;min-inline-size:0}.set.detectors{grid-column:1/-1;max-inline-size:none}.rule-group .rule-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0 22px;gap:0 22px}@media (max-width:1100px){.rule-group .rule-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}.set.detectors .rule-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set.detectors .rule-row{padding-block:5px;gap:8px}.set.detectors .rule-row .swt{flex-shrink:0}.fact .l.excl{font-size:11.5px;color:var(--faint);-webkit-margin-before:2px;margin-block-start:2px}.rule-why{display:block;font-size:12px;color:var(--dim);line-height:1.4}.conn-act{align-items:baseline;gap:12px}.conn-act-when{font:12px var(--f-mono);color:var(--faint);min-inline-size:74px;flex-shrink:0}.conn-act-what{font-size:13px;color:var(--dim);flex:1 1;min-inline-size:0}.swt{display:inline-flex;align-items:center;gap:7px;background:none;border:none;cursor:pointer;padding:2px 0;color:var(--faint);font:500 12px var(--f-mono);letter-spacing:.04em}.swt i{inline-size:26px;block-size:14px;border-radius:7px;background:var(--line2);position:relative;transition:background .15s;flex-shrink:0}.swt i:after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:2px;inline-size:10px;block-size:10px;border-radius:50%;background:var(--panel);transition:inset-inline-start .15s}.swt.on i{background:var(--accent)}.swt.on i:after{inset-inline-start:14px}.swt.on{color:var(--dim)}.swt span{min-inline-size:50px;text-align:start}.swt:disabled{opacity:.55;cursor:default}.set select.in{inline-size:150px}.set .lbl b{font-size:13.5px;font-weight:600;display:block}.set .lbl span{font-size:12px;color:var(--dim);display:block}.kit-card>.lbl{display:flex;flex-direction:column;min-inline-size:0}:where(.kit-card>.lbl)>span{font-size:12px;color:var(--dim)}:where(.kit-card>.lbl)>b{font-size:13.5px;font-weight:600;color:var(--text)}.set .ctl{-webkit-margin-start:auto;margin-inline-start:auto;flex-shrink:0;display:flex;gap:8px;align-items:center}.btn{display:inline-block;text-decoration:none;text-align:center;font:600 12px var(--f-ui);padding:5px 11px;border-radius:7px;cursor:pointer;border:1px solid var(--line2);background:var(--raise);color:var(--text)}.btn:hover{background:color-mix(in srgb,var(--raise) 80%,var(--text) 8%)}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.small{padding:4px 10px;font-size:12px}.btn.danger{color:var(--bad);background:none;border-color:transparent}.btn.danger:hover{border-color:var(--bad)}.btn.ghost{background:none;border-color:transparent;color:var(--faint)}.btn.ghost:hover{color:var(--text)}.link{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--accent);text-decoration:underline;cursor:pointer}.banner{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;-webkit-margin-after:14px;margin-block-end:14px;font-size:12.5px;color:var(--dim)}.banner strong{color:var(--text)}.error-line{color:var(--bad)}.error-line,.ok-line{font-size:12.5px;-webkit-margin-before:6px;margin-block-start:6px}.ok-line{color:var(--ok)}.loading{color:var(--dim);font-size:12.5px}.setup-hint{font-size:12px;color:var(--dim);-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-padding-before:8px;padding-block-start:8px}.setup-hint .link{color:var(--info);font-weight:500}.field{flex:1 1 200px;display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;font-weight:600;color:var(--faint);letter-spacing:.02em}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],input[type=url]{background:var(--inset);color:var(--text);border:1px solid var(--line2);border-radius:8px;padding:7px 11px;font:400 12.5px var(--f-ui);inline-size:100%}input::placeholder{color:var(--faint)}input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.empty{background:var(--panel);border:1px dashed var(--line2);border-radius:11px;padding:26px 22px;text-align:center}.empty .invite{font-family:var(--f-display);font-weight:600;font-size:18px;-webkit-margin-after:6px;margin-block-end:6px}.empty p{color:var(--dim);font-size:12.5px;-webkit-margin-after:12px;margin-block-end:12px}.logbar{-webkit-margin-after:16px;margin-block-end:16px;display:grid;grid-gap:8px;gap:8px}.logchips{display:flex;flex-wrap:wrap;gap:6px}.logchip{display:inline-flex;align-items:center;gap:6px;font:500 12.5px var(--f-ui);background:var(--inset);color:var(--dim);border:none;border-radius:99px;padding:5px 12px;cursor:pointer}.logchip.on,.logchip:hover{color:var(--text)}.logchip.on{background:color-mix(in srgb,var(--accent) 16%,transparent)}.logchip .cnt{font:600 11.5px var(--f-ui);color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.logchip.on .cnt{color:var(--accent)}.logremainder{font-size:12px;color:var(--dim);line-height:1.5;max-inline-size:78ch}.logday{-webkit-margin-after:18px;margin-block-end:18px}.logday-h{display:flex;align-items:baseline;gap:8px;font:600 12px var(--f-ui);letter-spacing:.02em;color:var(--faint);-webkit-margin-after:7px;margin-block-end:7px;-webkit-padding-after:6px;padding-block-end:6px;-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line)}.logday-h .cnt{font:600 11.5px var(--f-ui);color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.loglist{display:grid;grid-gap:2px;gap:2px}.logrow{display:flex;align-items:baseline;gap:10px;padding:4px 8px;border-radius:6px}.logrow:hover{background:color-mix(in srgb,var(--dim) 6%,transparent)}.logtime{font:400 11.5px var(--f-mono);color:var(--faint);flex:0 0 auto;min-inline-size:62px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.logkind{font:600 9.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;flex:0 0 auto;min-inline-size:74px}.logkind.k-closed{color:var(--ok)}.logkind.k-mcp{color:var(--info)}.logkind.k-connection{color:var(--accent)}.logtext{font-size:12.5px;line-height:1.55;color:var(--text);min-inline-size:0;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none}.logfloor{-webkit-margin-before:18px;margin-block-start:18px;-webkit-padding-before:12px;padding-block-start:12px;-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);font:400 12px var(--f-mono);color:var(--faint)}[data-lang=ar] .logkind{font:600 12px var(--f-ui);letter-spacing:0;text-transform:none}.empty.welcome{padding:34px 26px 26px}.empty.welcome .wl{max-inline-size:60ch;margin-inline:auto;font-size:13.5px;line-height:1.6;color:var(--dim);-webkit-margin-after:20px;margin-block-end:20px}.empty.welcome .setup-actions{gap:10px;-webkit-margin-after:6px;margin-block-end:6px}.empty.welcome .btn{padding:8px 16px;font-size:13px}.empty.welcome .browser,.empty.welcome .setup,.empty.welcome .setup-results{-webkit-margin-before:16px;margin-block-start:16px;text-align:start}.empty.welcome .addrow{justify-content:center}.empty.welcome .someday{margin-block:22px 0;-webkit-padding-before:16px;padding-block-start:16px;-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);font-size:12px;color:var(--faint)}.meta{color:var(--dim);font-size:12.5px}.meta strong{color:var(--text);font-weight:600}[role=tabpanel]>p.meta{-webkit-margin-after:10px;margin-block-end:10px}.path{font:400 12px var(--f-mono);overflow-wrap:anywhere;direction:ltr;text-align:start}.judgment,.path{color:var(--faint)}.judgment{display:block;font-size:12px}.rowlist{display:flex;flex-direction:column;gap:6px}.row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 13px;font-size:12.5px;flex-wrap:wrap}.row .grow{flex:1 1 200px;min-inline-size:0}.row .dim{color:var(--faint);font-size:12px}.row .date{font:400 12px var(--f-mono);color:var(--faint)}.sweep-wrap{display:flex;align-items:center;gap:12px;padding:14px 4px;color:var(--dim);font-size:12.5px}.sweep{inline-size:30px;block-size:30px;border-radius:50%;flex-shrink:0;border:1px solid var(--line2);position:relative;overflow:hidden}.sweep:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--accent) 0deg,transparent 70deg,transparent 1turn);opacity:.8}@media (prefers-reduced-motion:no-preference){.sweep:after{animation:spin 1.6s linear infinite}}@media (prefers-reduced-motion:reduce){.sweep:after{opacity:.25}}@keyframes spin{to{transform:rotate(1turn)}}.ell{display:inline-flex;align-items:baseline;gap:.14em;inline-size:1.15em;vertical-align:baseline}.ell i{inline-size:.2em;block-size:.2em;border-radius:50%;background:currentColor;opacity:.85;font-style:normal}@media (prefers-reduced-motion:no-preference){.ell i{animation:elldot 1.4s ease-in-out infinite}.ell i:nth-child(2){animation-delay:.18s}.ell i:nth-child(3){animation-delay:.36s}}@keyframes elldot{0%,70%,to{opacity:.28}30%{opacity:1}}.setup{display:flex;flex-direction:column;gap:12px}.setup-actions{display:flex;gap:8px;flex-wrap:wrap}.browser .setup-actions,.card .setup-actions,.empty .setup-actions,.setup-actions{justify-content:center}.setup-results{display:flex;flex-direction:column;gap:10px;text-align:start}.setup-results .setup-actions,.setup-results~.setup-actions{justify-content:flex-start}.browser{flex-direction:column;text-align:start}.browser,.crumbbar{display:flex;gap:10px}.crumbbar{align-items:center;flex-wrap:wrap}.dirgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:8px;gap:8px;max-block-size:280px;overflow-y:auto;padding:2px}.folder-btn{display:flex;align-items:center;gap:8px;text-align:start;background:var(--inset);border:1px solid var(--line2);color:var(--text);border-radius:8px;padding:7px 11px;font-size:12.5px;cursor:pointer;overflow-wrap:anywhere}.folder-btn:hover{border-color:var(--accent)}.wherelooked{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-padding-before:8px;padding-block-start:8px}.wherelooked ul{display:flex;flex-direction:column;gap:3px;-webkit-margin-before:4px;margin-block-start:4px}.wherelooked li{list-style:none;font-size:12px}.confirm-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--void) 60%,transparent);display:flex;align-items:center;justify-content:center;z-index:110;padding:20px}.confirm{background:var(--panel);border:1px solid var(--line2);border-radius:11px;padding:20px;max-inline-size:460px;inline-size:100%;display:flex;flex-direction:column;gap:14px;font-size:13px;box-shadow:0 12px 40px color-mix(in srgb,var(--void) 35%,transparent)}.confirm .setup-actions{justify-content:flex-end}.er{max-inline-size:1100px}.er-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;-webkit-margin-after:6px;margin-block-end:6px;flex-wrap:wrap}.er-head h1{font-family:var(--f-display);font-weight:700;font-size:20px}.er-head .when{font:400 12px var(--f-mono);color:var(--faint)}.er-sub{font-size:12.5px;color:var(--dim)}.er-sub,.verdict{-webkit-margin-after:22px;margin-block-end:22px}.verdict{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}@media (max-width:900px){.verdict{grid-template-columns:1fr}}.vcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;position:relative;overflow:hidden}.vcard:before{content:"";position:absolute;inset-block-start:0;inset-inline-start:16px;inline-size:40px;block-size:3px;border-radius:0 0 3px 3px;background:var(--line2)}.vcard.ok:before{background:var(--ok)}.vcard.warn:before{background:var(--warn)}.vcard.info:before{background:var(--info)}.vcard .big{font-family:var(--f-display);font-weight:700;font-size:24px;line-height:1;color:var(--text)}.vcard.ok .big{color:var(--ok)}.vcard.warn .big{color:var(--warn)}.vcard .lbl{font-size:12px;color:var(--dim);-webkit-margin-before:6px;margin-block-start:6px}.er-block{-webkit-margin-after:20px;margin-block-end:20px}.er-block h4{font:600 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);-webkit-margin-after:10px;margin-block-end:10px}.er-row{display:flex;align-items:center;gap:10px;padding-block:8px;-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line);font-size:13px}.er-row:last-child{-webkit-border-after:none;border-block-end:none}.er-row.wrap{flex-wrap:wrap}.er-row .k{color:var(--dim)}.er-row .v{-webkit-margin-start:auto;margin-inline-start:auto;font-weight:600;text-align:end}.er-row .v.mono{font-family:var(--f-mono);font-weight:500}.er-row .v.soft{font-weight:500;color:var(--dim)}.er-why{flex-basis:100%}.er-subline,.er-why{font-size:12px;color:var(--dim)}.er-subline{margin-block:-4px 8px}.wk{border:1px solid var(--line);border-radius:11px;overflow:hidden}.wkrow{display:flex;align-items:baseline;gap:12px;padding:9px 14px;background:var(--panel);flex-wrap:wrap}.wkrow+.wkrow{-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line)}.wkrow .cat{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--info);inline-size:104px;flex-shrink:0}.wkrow .fact{font-size:13px;flex:1 1 260px;min-inline-size:0;color:var(--text);background:none;border:none;border-radius:0;padding:0}.wkrow .fact .why{color:var(--dim);font-size:12px}.wkrow .wk-details{-webkit-margin-start:auto;margin-inline-start:auto;flex-shrink:0}.wkrow .wkdepth{flex-basis:100%;font-size:12px;color:var(--dim);line-height:1.55;-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-margin-before:8px;margin-block-start:8px;-webkit-padding-before:8px;padding-block-start:8px}.langbar,.wkrow.open{background:var(--inset)}.langbar{display:flex;block-size:8px;border-radius:4px;overflow:hidden;margin-block:4px 8px}.langbar span{display:block}.langkey{display:flex;gap:14px;flex-wrap:wrap;-webkit-margin-after:10px;margin-block-end:10px;font-size:12px;color:var(--faint)}.langkey span{display:inline-flex;align-items:center;gap:6px}.langkey i{inline-size:8px;block-size:8px;border-radius:2px}.facts{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}@media (max-width:900px){.facts{grid-template-columns:repeat(2,1fr)}}.fact{background:var(--inset);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.fact .n{font-family:var(--f-display);font-weight:700;font-size:18px}.fact .l{font-size:12px;color:var(--faint);-webkit-margin-before:3px;margin-block-start:3px}.diag{background:var(--panel);border:1px solid var(--line2);border-radius:12px;padding:0;max-inline-size:680px;inline-size:100%;display:flex;flex-direction:column;max-block-size:86vh;box-shadow:0 12px 40px color-mix(in srgb,var(--void) 35%,transparent)}.diag-head{padding:18px 20px 12px;-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line)}.diag-head h2{font-family:var(--f-display);font-weight:700;font-size:18px}.diag-head p{font-size:12.5px;color:var(--dim);-webkit-margin-before:4px;margin-block-start:4px}.diag-safe{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ok);-webkit-margin-before:8px;margin-block-start:8px}.diag-safe i{inline-size:7px;block-size:7px;border-radius:50%;background:var(--ok);font-style:normal;flex-shrink:0}.diag-preview{overflow:auto;padding:16px 20px;background:var(--inset);-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line);flex:1 1}.diag-preview pre{font:400 12px var(--f-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.diag-hint,.diag-preview pre{color:var(--dim);line-height:1.6}.diag-hint{padding:12px 20px 0;font-size:12px}.diag-hint b{color:var(--dim);font-weight:600}.diag-acts{padding:12px 20px 14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.diag-acts .grow{-webkit-margin-start:auto;margin-inline-start:auto}.toast{position:fixed;inset-block-end:22px;inset-inline:0;margin-inline:auto;inline-size:-moz-fit-content;inline-size:fit-content;max-inline-size:min(92vw,520px);background:var(--raise);border:1px solid var(--line2);border-radius:10px;padding:10px 16px;font-size:12.5px;color:var(--text);z-index:120;box-shadow:0 8px 30px color-mix(in srgb,var(--void) 40%,transparent);text-align:center}@media (prefers-reduced-motion:no-preference){.toast{animation:toastin .2s ease-out both}}@keyframes toastin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.landing{min-block-size:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:10px;max-inline-size:none}.landing .brand{font-size:44px;-webkit-margin-after:0;margin-block-end:0}.landing .mark{inline-size:52px;block-size:52px}.landing-tag{font-size:15px}.landing-sub{font-size:12.5px;color:var(--dim);-webkit-margin-after:16px;margin-block-end:16px}.landing .scan{font-size:14px;padding:10px 22px;border-radius:10px;text-decoration:none}.landing-foot{position:fixed;inset-block-end:18px;color:var(--faint);font-size:12px}.landing.doc{justify-content:flex-start;padding-block:48px}.landing.doc .landing-foot{position:static;inset-block-end:auto;-webkit-margin-before:28px;margin-block-start:28px}.legal-doc{font:400 13px/1.7 var(--f-ui);color:var(--dim);text-align:start}.legal-doc h2{font-size:14px;font-weight:700;color:var(--text);margin-block:22px 8px}.legal-doc p{margin-block:0 12px}.legal-doc strong{font-weight:700;color:var(--text)}.legal-doc code{font:400 12px/1.5 var(--f-mono);color:var(--text);background:var(--inset);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.legal-doc ul{margin-block:0 12px;-webkit-padding-start:20px;padding-inline-start:20px}.legal-doc li{-webkit-margin-after:8px;margin-block-end:8px}.legal-doc .legal-clause{-webkit-padding-start:26px;padding-inline-start:26px;text-indent:-26px}.legal-doc .legal-marker{display:inline-block;inline-size:20px;color:var(--text);font-weight:700;text-indent:0}@media (prefers-reduced-motion:no-preference){.disc,.need,.tl{animation:rise .25s ease-out backwards}@keyframes rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}[data-lang=ar] .shell{grid-template-columns:240px minmax(0,1fr) 208px}[data-lang=ar] .side{grid-column:3;grid-row:1}[data-lang=ar] main{grid-column:2;grid-row:1}[data-lang=ar] .rail{grid-column:1;grid-row:1}@media (max-width:1100px){[data-lang=ar] .shell{grid-template-columns:minmax(0,1fr) 208px}[data-lang=ar] .side{grid-column:2}[data-lang=ar] main{grid-column:1}}[data-lang=ar] .rail,[data-lang=ar] .side,[data-lang=ar] main{direction:rtl;text-align:right}[data-lang=ar] .nav a.on{box-shadow:inset -2px 0 0 var(--accent)}[data-lang=ar] .pl:before{content:"\2039"}[data-lang=ar] .data,[data-lang=ar] .path,[data-lang=ar] .word{text-align:left}.data,.en,[data-lang=ar] .data,[data-lang=ar] .path,[data-lang=ar] .word{direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.data.mono{font-family:var(--f-mono)}.data.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.raillist{display:grid;grid-gap:7px;gap:7px;align-content:start;flex:1 1 auto;min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.raillist::-webkit-scrollbar{inline-size:6px}.raillist::-webkit-scrollbar-thumb{background:var(--line2);border-radius:3px}[data-lang=ar] .need .tag{font:600 12px var(--f-ui);letter-spacing:0;text-transform:none;padding:2px 8px}.conn-row{flex-wrap:wrap;gap:8px 12px;padding-block:6px}.conn-name{display:flex;align-items:baseline;gap:8px;font-weight:600;font-size:13px}.conn-name em{font-style:normal;font-weight:400;font-size:11.5px}.conn-on{color:var(--ok)}.conn-off{color:var(--dim)}.conn-fault{color:var(--warn)}.conn-idle{background:color-mix(in srgb,var(--faint) 16%,transparent);color:var(--dim);border-radius:99px;padding:1px 7px}.conn-path{font:400 11.5px var(--f-mono);color:var(--faint);overflow-wrap:anywhere;min-inline-size:0;flex:1 1}.conn-row .b2{-webkit-margin-start:auto;margin-inline-start:auto;flex-shrink:0}[role=tabpanel][hidden]{display:none}.conn-also{color:var(--dim);font-size:12px;-webkit-border-before:1px solid var(--line);border-block-start:1px solid var(--line);-webkit-margin-before:4px;margin-block-start:4px;-webkit-padding-before:8px;padding-block-start:8px}.conn-diff{-webkit-margin-before:10px;margin-block-start:10px;padding:10px 12px;background:var(--inset);border:1px solid var(--line2);border-radius:8px;display:flex;flex-direction:column;gap:4px}.conn-row>.conn-diff{flex-basis:100%;-webkit-margin-before:6px;margin-block-start:6px}.conn-diff>b{font-size:12.5px}.conn-diff.conn-refused{border-color:var(--bad)}.conn-backup,.conn-count{color:var(--dim);font-size:11.5px}.conn-alt{display:block;flex-basis:100%;-webkit-margin-before:8px;margin-block-start:8px}.conn-alt-link{display:inline-block;font-size:12px;color:var(--dim);text-decoration:underline}.conn-alt-link:focus-visible,.conn-alt-link:hover{color:var(--fg)}.conn-alt-help{display:block;color:var(--dim);font-size:11.5px;-webkit-margin-before:2px;margin-block-start:2px}.conn-reveal{background:none;border:0;padding:0;font:inherit;color:var(--dim);text-decoration:underline;cursor:pointer}.conn-reveal:focus-visible,.conn-reveal:hover{color:var(--fg)}.conn-acct+.conn-acct,.conn-granted{-webkit-margin-before:6px;margin-block-start:6px}.conn-acct-name{display:block;color:var(--dim);font-size:11.5px;font-weight:600}.conn-granted ul{margin:0;-webkit-padding-start:18px;padding-inline-start:18px}.conn-granted li{color:var(--dim);font-size:11.5px;line-height:1.7}.conn-done{color:var(--ok);font-size:12.5px;-webkit-margin-before:8px;margin-block-start:8px}.conn-lines{margin:6px 0 2px;padding:8px 10px;background:var(--void);border:1px solid var(--line);border-radius:6px;font:400 11.5px/1.55 var(--f-mono);overflow-x:auto;white-space:pre;-moz-tab-size:2;tab-size:2;max-block-size:340px;overflow-y:auto}.conn-lines span{display:block}.dl-add{color:var(--ok)}.dl-del{color:var(--bad)}.dl-ctx{color:var(--faint)}.gh-chips{display:flex;flex-wrap:wrap;gap:6px;-webkit-margin-before:6px;margin-block-start:6px;align-items:baseline}.irow-line .gh-chips{-webkit-margin-before:0;margin-block-start:0;flex-shrink:0;-webkit-margin-start:8px;margin-inline-start:8px}.gh-prov{color:var(--dim);font-size:11.5px;flex-basis:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.irow-line .gh-prov{display:none}.conn-setup{gap:2px}.conn-lede{-webkit-margin-after:6px;margin-block-end:6px}.conn-lede,.conn-touches{color:var(--dim);font-size:13px}.conn-touches{-webkit-margin-before:8px;margin-block-start:8px}.conn-go{display:flex;gap:8px;align-items:center;-webkit-margin-before:12px;margin-block-start:12px;flex-wrap:wrap}.conn-go a.b{text-decoration:none;display:inline-block}.conn-waiting{font-size:12.5px;color:var(--warn);-webkit-margin-before:8px;margin-block-start:8px}.conn-device{-webkit-margin-before:12px;margin-block-start:12px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--inset);display:flex;flex-direction:column;gap:8px}.conn-device-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.conn-device-label{font-size:11.5px;color:var(--faint);letter-spacing:.06em;text-transform:uppercase}.conn-device-code{font:700 22px var(--f-mono);color:var(--text);letter-spacing:.14em;-webkit-user-select:all;-moz-user-select:all;user-select:all}.conn-device-clock{font-size:12px;color:var(--faint)}.conn-receipt{-webkit-margin-before:12px;margin-block-start:12px;padding:10px 12px;background:var(--void);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:3px;font:12.5px/1.5 var(--f-mono);color:var(--dim)}.conn-receipt>b{color:var(--text);font-size:12px;letter-spacing:.04em}.conn-leak{font-family:var(--f-ui);font-size:12.5px;color:var(--text);-webkit-margin-before:4px;margin-block-start:4px}.conn-ok{border-color:color-mix(in srgb,var(--ok) 45%,var(--line2))}.conn-bad{color:var(--bad)}.conn-dropped{flex-basis:100%;color:var(--warn);font-size:12px;-webkit-margin-before:2px;margin-block-start:2px}.conn-step{display:block;-webkit-margin-before:4px;margin-block-start:4px;color:var(--text);font-size:12.5px}.conn-warn{color:var(--warn);font-size:11.5px}.tabs{display:flex;gap:2px;-webkit-border-after:1px solid var(--line);border-block-end:1px solid var(--line);margin-block:4px 14px}.tabs button{font:600 13px var(--f-ui);padding:8px 14px;cursor:pointer;background:none;border:none;-webkit-border-after:2px solid transparent;border-block-end:2px solid transparent;color:var(--dim);display:flex;align-items:center;gap:7px;-webkit-margin-after:-1px;margin-block-end:-1px}.tabs button.on,.tabs button:hover{color:var(--text)}.tabs button.on{border-block-end-color:var(--accent)}.tabs .tabn{font:600 11.5px var(--f-mono);background:var(--raise);color:var(--faint);border-radius:99px;padding:1px 7px;min-inline-size:20px;text-align:center}.tabs button.on .tabn{color:var(--dim)}.conn-row{padding-block:9px;row-gap:4px}.conn-name{font-size:14px}.conn-name em{font-size:12px}.conn-path{flex-basis:100%;flex-grow:0;order:3}.conn-row .b2,.conn-row .ovf{-webkit-margin-start:auto;margin-inline-start:auto;order:2}.needs-row{position:relative;overflow:visible}.needs-row:before{content:"";position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;inline-size:3px;border-radius:10px 0 0 10px;background:var(--warn)}.settings-shell{display:grid;grid-template-columns:184px minmax(0,1fr);grid-gap:26px;gap:26px;align-items:start}.tabs.tabs-v{flex-direction:column;gap:1px;-webkit-border-after:none;border-block-end:none;-webkit-border-end:1px solid var(--line);border-inline-end:1px solid var(--line);margin-block:0;-webkit-padding-end:0;padding-inline-end:0;position:-webkit-sticky;position:sticky;inset-block-start:20px}.tabs.tabs-v button{text-align:start;justify-content:flex-start;padding:8px 12px;-webkit-border-after:none;border-block-end:none;-webkit-border-start:2px solid transparent;border-inline-start:2px solid transparent;-webkit-margin-after:0;margin-block-end:0;-webkit-margin-end:-1px;margin-inline-end:-1px}.tabs.tabs-v button.on{border-inline-start-color:var(--accent)}.tabs.tabs-v .tabn{-webkit-margin-start:auto;margin-inline-start:auto}.settings-panel{display:block}.settings-panel,.settings-panel>.set{max-inline-size:none}.settings-panel .set{align-items:start}.settings-panel .ctl{-webkit-margin-start:auto;margin-inline-start:auto;align-self:start;flex-shrink:0}.settings-panel .sec{-webkit-margin-before:0;margin-block-start:0}.settings-panel .sec+.meta{-webkit-margin-after:10px;margin-block-end:10px;display:block}
|
/package/dist/.next/static/{71f4c38dc0c65050446da → 24e7279870f90176b29aa}/_buildManifest.js
RENAMED
|
File without changes
|
|
File without changes
|