bit-office 1.2.2 → 1.2.4
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/index.js +5247 -1840
- package/dist/index.js.map +1 -1
- package/dist/web/404.html +60 -50
- package/dist/web/_next/static/chunks/262.c930af897fc1ae41.js +1 -0
- package/dist/web/_next/static/chunks/27.d81804d60bc0f4f0.js +1 -0
- package/dist/web/_next/static/chunks/276-7203e26618727a54.js +1 -0
- package/dist/web/_next/static/chunks/29.5e4e3e30b02d00ad.js +1 -0
- package/dist/web/_next/static/chunks/290.247befe60cb2d28d.js +1 -0
- package/dist/web/_next/static/chunks/293.e3a551b691c61d55.js +1 -0
- package/dist/web/_next/static/chunks/297.2c14111a5babdc3f.js +1 -0
- package/dist/web/_next/static/chunks/336.8eafff71d277c552.js +1 -0
- package/dist/web/_next/static/chunks/337.98f156e48f146063.js +1 -0
- package/dist/web/_next/static/chunks/363.e8a82fede2ce0268.js +1 -0
- package/dist/web/_next/static/chunks/368.17f62d3909ec67e9.js +1 -0
- package/dist/web/_next/static/chunks/484.9bea1cffd0a0c25d.js +1 -0
- package/dist/web/_next/static/chunks/606.64076fb5c9a76eb8.js +1 -0
- package/dist/web/_next/static/chunks/611.a9c4df24fea6fe06.js +1 -0
- package/dist/web/_next/static/chunks/689-57cf7e431c713dac.js +1 -0
- package/dist/web/_next/static/chunks/729.f8f9847d2d765724.js +1 -0
- package/dist/web/_next/static/chunks/73.84b7325688d17248.js +1 -0
- package/dist/web/_next/static/chunks/757.704acf1f09ac05cb.js +1 -0
- package/dist/web/_next/static/chunks/767-52fa35b605461336.js +1 -0
- package/dist/web/_next/static/chunks/794.4c6f7ebfcb65fff9.js +1 -0
- package/dist/web/_next/static/chunks/810.39f7a3b8c687a8e4.js +1 -0
- package/dist/web/_next/static/chunks/849.04bc4b508495ab91.js +1 -0
- package/dist/web/_next/static/chunks/853.0c23af6158d43fda.js +1 -0
- package/dist/web/_next/static/chunks/88.219a7fc3735b6d2b.js +1 -0
- package/dist/web/_next/static/chunks/880.0799bc27d833d679.js +1 -0
- package/dist/web/_next/static/chunks/883.9832cb2358508994.js +1 -0
- package/dist/web/_next/static/chunks/895.b20c839956b4d7fa.js +1 -0
- package/dist/web/_next/static/chunks/913.d5d32ae6956a650a.js +1 -0
- package/dist/web/_next/static/chunks/955.8d32a077607d5dd4.js +1 -0
- package/dist/web/_next/static/chunks/999.59e64ccb62c7e043.js +1 -0
- package/dist/web/_next/static/chunks/app/_not-found/page-fc90e6f750996b0a.js +1 -0
- package/dist/web/_next/static/chunks/app/join/{page-7e3ac640395d940a.js → page-98fb24f2e87aa173.js} +1 -1
- package/dist/web/_next/static/chunks/app/layout-a57e585fdbd6e50f.js +1 -0
- package/dist/web/_next/static/chunks/app/not-found-fc90e6f750996b0a.js +1 -0
- package/dist/web/_next/static/chunks/app/office/page-21b29ce2f5b4492f.js +1 -0
- package/dist/web/_next/static/chunks/app/pair/page-67f86e4adcdf34ea.js +1 -0
- package/dist/web/_next/static/chunks/webpack-dcd361e024700880.js +1 -0
- package/dist/web/_next/static/css/c62e12508f039ceb.css +3 -0
- package/dist/web/index.html +60 -50
- package/dist/web/index.txt +73 -65
- package/dist/web/join.html +60 -50
- package/dist/web/join.txt +74 -66
- package/dist/web/manifest.json +1 -1
- package/dist/web/office.html +61 -50
- package/dist/web/office.txt +74 -66
- package/dist/web/offices/cute-whimsical.jpeg +0 -0
- package/dist/web/offices/cute-whimsical.zip +0 -0
- package/dist/web/offices/cyberpunk.jpeg +0 -0
- package/dist/web/offices/cyberpunk.zip +0 -0
- package/dist/web/offices/darkLegend.jpeg +0 -0
- package/dist/web/offices/darkLegend.zip +0 -0
- package/dist/web/offices/easternFantasy.jpeg +0 -0
- package/dist/web/offices/easternFantasy.zip +0 -0
- package/dist/web/offices/gothic.jpeg +0 -0
- package/dist/web/offices/gothic.zip +0 -0
- package/dist/web/offices/historical.jpeg +0 -0
- package/dist/web/offices/historical.zip +0 -0
- package/dist/web/offices/index.json +26 -25
- package/dist/web/offices/modern-cozy.jpeg +0 -0
- package/dist/web/offices/modern-cozy.jpg +0 -0
- package/dist/web/offices/modern-cozy.zip +0 -0
- package/dist/web/offices/mythological.jpeg +0 -0
- package/dist/web/offices/mythological.zip +0 -0
- package/dist/web/offices/nostalgic.jpeg +0 -0
- package/dist/web/offices/nostalgic.zip +0 -0
- package/dist/web/offices/postApocalyptic.jpeg +0 -0
- package/dist/web/offices/postApocalyptic.zip +0 -0
- package/dist/web/offices/sifi.jpeg +0 -0
- package/dist/web/offices/sifi.zip +0 -0
- package/dist/web/offices/westernFantasy.jpeg +0 -0
- package/dist/web/offices/westernFantasy.zip +0 -0
- package/dist/web/pair.html +60 -50
- package/dist/web/pair.txt +74 -66
- package/dist/web/sw.js +1 -1
- package/dist/web/workbox-a92c5218.js +1 -0
- package/package.json +2 -2
- package/dist/web/_next/static/chunks/29.a4a95a903c8b8e7b.js +0 -1
- package/dist/web/_next/static/chunks/290.345f536a557e23ec.js +0 -1
- package/dist/web/_next/static/chunks/336.033a979c6c5fe642.js +0 -1
- package/dist/web/_next/static/chunks/368.61fa3954c03d8818.js +0 -1
- package/dist/web/_next/static/chunks/632.d16ffbb5e23a43f2.js +0 -1
- package/dist/web/_next/static/chunks/757.a611f4691f6b1582.js +0 -1
- package/dist/web/_next/static/chunks/810.44213c6355518b0b.js +0 -1
- package/dist/web/_next/static/chunks/880.614e72604eb723a3.js +0 -1
- package/dist/web/_next/static/chunks/989-6be071435f8fdadf.js +0 -1
- package/dist/web/_next/static/chunks/app/_not-found/page-182ed2c105839b2a.js +0 -1
- package/dist/web/_next/static/chunks/app/layout-72c65340fbaef4c0.js +0 -1
- package/dist/web/_next/static/chunks/app/office/page-358079be75bf327f.js +0 -1
- package/dist/web/_next/static/chunks/app/pair/page-c47333f71aa3f4ef.js +0 -1
- package/dist/web/_next/static/chunks/webpack-1c3347ded5c6a52b.js +0 -1
- package/dist/web/offices/Nostalgic.jpeg +0 -0
- package/dist/web/offices/Nostalgic.zip +0 -0
- package/dist/web/offices/modernCozy.jpeg +0 -0
- package/dist/web/offices/modernCozy.zip +0 -0
- package/dist/web/workbox-5194662c.js +0 -1
- /package/dist/web/_next/static/{0Clbb0V7-cqhwpr3pjKk1 → a77xldHdc_0TOGcqwFr4L}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{0Clbb0V7-cqhwpr3pjKk1 → a77xldHdc_0TOGcqwFr4L}/_ssgManifest.js +0 -0
- /package/dist/web/_next/static/chunks/{325ca9c7-f84e7e4973790fdf.js → 325ca9c7.f84e7e4973790fdf.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[149,863],{140:(e,t,n)=>{"use strict";function o(e){let{reason:t,children:n}=e;return n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return o}}),n(7568)},458:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return o.workAsyncStorageInstance}});let o=n(4161)},607:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}});let o=n(8531)._(n(2663));function r(e,t){var n;let r={};"function"==typeof e&&(r.loader=e);let a={...r,...t};return(0,o.default)({...a,modules:null==(n=a.loadableGenerated)?void 0:n.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2663:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let o=n(206),r=n(1406),a=n(140);function l(e){return{default:e&&"default"in e?e.default:e}}n(9825);let i={loader:()=>Promise.resolve(l(()=>null)),loading:null,ssr:!0},s=function(e){let t={...i,...e},n=(0,r.lazy)(()=>t.loader().then(l)),s=t.loading;function c(e){let l=s?(0,o.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,c=i?r.Suspense:r.Fragment,u=t.ssr?(0,o.jsxs)(o.Fragment,{children:[null,(0,o.jsx)(n,{...e})]}):(0,o.jsx)(a.BailoutToCSR,{reason:"next/dynamic",children:(0,o.jsx)(n,{...e})});return(0,o.jsx)(c,{...i?{fallback:l}:{},children:u})}return c.displayName="LoadableComponent",c}},4161:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return o}});let o=(0,n(4847).createAsyncLocalStorage)()},4717:(e,t,n)=>{"use strict";var o=n(4121);n.o(o,"useRouter")&&n.d(t,{useRouter:function(){return o.useRouter}}),n.o(o,"useSearchParams")&&n.d(t,{useSearchParams:function(){return o.useSearchParams}})},4847:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return i}});let n=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class o{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}static bind(e){return e}}let r="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return r?new r:new o}function l(e){return r?r.bind(e):o.bind(e)}function i(){return r?r.snapshot():function(e,...t){return e(...t)}}},5149:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearConnection:()=>l,getConnection:()=>a,getGatewayHttpUrl:()=>i,saveConnection:()=>r});let o="office_connection";function r(e){sessionStorage.setItem(o,JSON.stringify(e)),"owner"!==e.role&&e.role||localStorage.setItem(o,JSON.stringify(e))}function a(){var e;let t=null!=(e=sessionStorage.getItem(o))?e:localStorage.getItem(o);if(!t)return null;try{return JSON.parse(t)}catch(e){return null}}function l(){sessionStorage.removeItem(o),localStorage.removeItem(o)}function i(){let e=a();return(null==e?void 0:e.wsUrl)?e.wsUrl.replace(/^ws(s?):\/\//,"http$1://"):window.location.origin}},5282:(e,t,n)=>{"use strict";n.d(t,{default:()=>r.a});var o=n(607),r=n.n(o)},9600:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});var o=n(206),r=n(1406),a=n(4717);let l=(0,n(5282).default)(()=>n.e(880).then(n.bind(n,2880)),{loadableGenerated:{webpack:()=>[2880]},ssr:!1});async function i(e){var t;let o=await fetch("http://localhost:".concat(e,"/connect"),{signal:AbortSignal.timeout(3e3)});if(!o.ok)return!1;let r=await o.json(),{saveConnection:a}=await Promise.resolve().then(n.bind(n,5149));return a({mode:"ws",machineId:r.machineId,gatewayId:r.gatewayId,wsUrl:"ws://localhost:".concat(e),role:null!=(t=r.role)?t:"owner",sessionToken:r.sessionToken}),!0}function s(){let[e,t]=(0,r.useState)(""),[s,c]=(0,r.useState)(""),[u,d]=(0,r.useState)(""),[f,p]=(0,r.useState)(!1),[g,y]=(0,r.useState)("connecting"),w=(0,a.useRouter)(),h=(0,r.useCallback)(async()=>{try{let{invoke:e}=await n.e(293).then(n.bind(n,5293)),{listen:t}=await n.e(484).then(n.bind(n,9484)),o=await e("get_gateway_info");if(null==o?void 0:o.port)return console.log("[pair] Tauri get_gateway_info: port=".concat(o.port)),i(o.port);return new Promise(e=>{let n,o=!1,r=setTimeout(()=>{o||(o=!0,null==n||n(),e(!1)),console.log("[pair] Tauri gateway-ready timeout after 30s")},3e4);t("gateway-ready",async t=>{if(o)return;o=!0,clearTimeout(r),null==n||n();let{port:a}=t.payload;console.log("[pair] Tauri gateway-ready event: port=".concat(a));try{e(await i(a))}catch(t){e(!1)}}).then(e=>{n=e})})}catch(e){return!1}},[]),b=(0,r.useCallback)(async function(){var e,t;let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r="3000"===window.location.port||"3002"===window.location.port;if(!r)try{let t=await fetch("".concat(window.location.origin,"/connect"),{signal:AbortSignal.timeout(1e3)});if(t.ok){let o=await t.json(),{saveConnection:r}=await Promise.resolve().then(n.bind(n,5149));return r({mode:"ws",machineId:o.machineId,gatewayId:o.gatewayId,wsUrl:window.location.origin.replace(/^http/,"ws"),role:null!=(e=o.role)?e:"owner",sessionToken:o.sessionToken}),!0}}catch(e){}let a=r?[9099,9090,9091]:[9090,9091,9099];for(let e of(console.log("[pair] Trying ports [".concat(a,"] (dev=").concat(r,", attempt=").concat(o+1,"/").concat(5,")")),a))try{let o=await fetch("http://localhost:".concat(e,"/connect"),{signal:AbortSignal.timeout(1500)});if(!o.ok)continue;let r=await o.json();console.log("[pair] Connected to gateway on port ".concat(e," (gatewayId=").concat(r.gatewayId,")"));let{saveConnection:a}=await Promise.resolve().then(n.bind(n,5149));return a({mode:"ws",machineId:r.machineId,gatewayId:r.gatewayId,wsUrl:"ws://localhost:".concat(e),role:null!=(t=r.role)?t:"owner",sessionToken:r.sessionToken}),!0}catch(e){}return o<4&&(await new Promise(e=>setTimeout(e,1e3)),b(o+1))},[]),m=(0,r.useCallback)(async()=>{let e="3000"===window.location.port||"3002"===window.location.port;return window.__TAURI_INTERNALS__&&!e?h():b()},[h,b]);async function x(){y("connecting"),d(""),await m()?w.push("/office"):y("failed")}async function j(t){t.preventDefault(),d(""),p(!0);try{var o,r;let t=e.includes("://")?e:"http://".concat(e),a=await fetch("".concat(t,"/pair/validate"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:s.trim()})}),l=await a.json();if(!a.ok)return void d(null!=(o=l.error)?o:"Failed to pair");let{saveConnection:i}=await Promise.resolve().then(n.bind(n,5149));i({mode:l.hasAbly?"ably":"ws",machineId:l.machineId,wsUrl:l.wsUrl,role:null!=(r=l.role)?r:"owner",sessionToken:l.sessionToken}),w.push("/office")}catch(e){d("Cannot reach gateway. Check the address.")}finally{p(!1)}}return(0,r.useEffect)(()=>{let e=Date.now(),t=()=>{let t=Math.max(0,3e3-(Date.now()-e));return new Promise(e=>setTimeout(e,t))};(async()=>{let{getConnection:e,clearConnection:o}=n(5149),r=e();if(window.__TAURI_INTERNALS__&&(null==r?void 0:r.gatewayId)&&"desktop"!==r.gatewayId)console.log("[pair] Cached connection is for gateway ".concat(r.gatewayId,", need desktop — clearing")),o();else if(null==r?void 0:r.sessionToken){await t(),w.push("/office");return}else r&&!r.sessionToken&&o();await m()?(await t(),w.push("/office")):y("failed")})()},[w,m]),(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"100vh",padding:24},children:["connecting"===g&&(0,o.jsx)(l,{onComplete:()=>{}}),"failed"===g&&(0,o.jsxs)("div",{style:{textAlign:"center",marginTop:24,maxWidth:400},children:[(0,o.jsx)("p",{style:{color:"#888",fontSize:14,marginBottom:20},children:"No local gateway found. Make sure the gateway is running."}),(0,o.jsxs)("div",{style:{display:"flex",gap:12,justifyContent:"center"},children:[(0,o.jsx)("button",{onClick:x,style:{padding:"10px 24px",borderRadius:8,border:"2px solid #4f46e5",backgroundColor:"transparent",color:"#4f46e5",fontSize:14,cursor:"pointer"},children:"Retry Local"}),(0,o.jsx)("button",{onClick:()=>y("remote"),style:{padding:"10px 24px",borderRadius:8,border:"none",backgroundColor:"#333",color:"#aaa",fontSize:14,cursor:"pointer"},children:"Connect Remote"})]})]}),"remote"===g&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("p",{style:{color:"#aaa",marginBottom:32},children:"Enter your gateway address and pair code"}),(0,o.jsxs)("form",{onSubmit:j,style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:320},children:[(0,o.jsx)("label",{style:{fontSize:13,color:"#888"},children:"Gateway Address"}),(0,o.jsx)("input",{type:"text",value:e,onChange:e=>t(e.target.value),placeholder:"your-gateway.com",style:{fontSize:16,padding:"12px 16px",borderRadius:8,border:"2px solid #444",backgroundColor:"#222",color:"#fff",marginTop:-8}}),(0,o.jsx)("label",{style:{fontSize:13,color:"#888"},children:"Pair Code"}),(0,o.jsx)("input",{type:"text",value:s,onChange:e=>c(e.target.value.toUpperCase()),placeholder:"PAIR CODE",maxLength:6,style:{fontSize:32,textAlign:"center",letterSpacing:8,padding:"12px 16px",borderRadius:8,border:"2px solid #444",backgroundColor:"#222",color:"#fff",marginTop:-8}}),(0,o.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,o.jsx)("button",{type:"button",onClick:()=>y("failed"),style:{padding:"12px 16px",borderRadius:8,border:"1px solid #444",backgroundColor:"transparent",color:"#888",fontSize:14,cursor:"pointer"},children:"Back"}),(0,o.jsx)("button",{type:"submit",disabled:f||s.length<6||!e.trim(),style:{flex:1,padding:"12px 24px",borderRadius:8,border:"none",backgroundColor:s.length>=6&&e.trim()?"#4f46e5":"#333",color:"#fff",fontSize:18,cursor:s.length>=6?"pointer":"default"},children:f?"Pairing...":"Connect"})]})]}),(0,o.jsx)("button",{onClick:x,style:{marginTop:16,background:"none",border:"none",color:"#666",fontSize:12,cursor:"pointer"},children:"Retry local connection"})]}),u&&(0,o.jsx)("p",{style:{color:"#ef4444",textAlign:"center",marginTop:16},children:u}),(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"@keyframes spin { to { transform: rotate(360deg); } }"}})]})}},9791:(e,t,n)=>{Promise.resolve().then(n.bind(n,9600))},9825:(e,t,n)=>{"use strict";function o(e){let{moduleIds:t}=e;return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return o}}),n(206),n(7995),n(458),n(1423)}},e=>{e.O(0,[235,388,358],()=>e(e.s=9791)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";var e={},t={};function r(a){var o=t[a];if(void 0!==o)return o.exports;var c=t[a]={exports:{}},d=!0;try{e[a].call(c.exports,c,c.exports,r),d=!1}finally{d&&delete t[a]}return c.exports}r.m=e,(()=>{var e=[];r.O=(t,a,o,c)=>{if(a){c=c||0;for(var d=e.length;d>0&&e[d-1][2]>c;d--)e[d]=e[d-1];e[d]=[a,o,c];return}for(var n=1/0,d=0;d<e.length;d++){for(var[a,o,c]=e[d],f=!0,i=0;i<a.length;i++)(!1&c||n>=c)&&Object.keys(r.O).every(e=>r.O[e](a[i]))?a.splice(i--,1):(f=!1,c<n&&(n=c));if(f){e.splice(d--,1);var u=o();void 0!==u&&(t=u)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(a,o){if(1&o&&(a=this(a)),8&o||"object"==typeof a&&a&&(4&o&&a.__esModule||16&o&&"function"==typeof a.then))return a;var c=Object.create(null);r.r(c);var d={};e=e||[null,t({}),t([]),t(t)];for(var n=2&o&&a;"object"==typeof n&&!~e.indexOf(n);n=t(n))Object.getOwnPropertyNames(n).forEach(e=>d[e]=()=>a[e]);return d.default=()=>a,r.d(c,d),c}})(),r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,a)=>(r.f[a](e,t),t),[])),r.u=e=>767===e?"static/chunks/767-52fa35b605461336.js":"static/chunks/"+(284===e?"325ca9c7":e)+"."+({27:"d81804d60bc0f4f0",29:"5e4e3e30b02d00ad",73:"84b7325688d17248",88:"219a7fc3735b6d2b",149:"4dcc265d90664a46",262:"c930af897fc1ae41",284:"f84e7e4973790fdf",290:"247befe60cb2d28d",293:"e3a551b691c61d55",297:"2c14111a5babdc3f",336:"8eafff71d277c552",337:"98f156e48f146063",363:"e8a82fede2ce0268",368:"17f62d3909ec67e9",484:"9bea1cffd0a0c25d",606:"64076fb5c9a76eb8",611:"a9c4df24fea6fe06",712:"fe038ea6687b84cf",729:"f8f9847d2d765724",757:"704acf1f09ac05cb",794:"4c6f7ebfcb65fff9",810:"39f7a3b8c687a8e4",849:"04bc4b508495ab91",853:"0c23af6158d43fda",880:"0799bc27d833d679",883:"9832cb2358508994",895:"b20c839956b4d7fa",913:"d5d32ae6956a650a",955:"8d32a077607d5dd4",999:"59e64ccb62c7e043"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(a,o,c,d)=>{if(e[a])return void e[a].push(o);if(void 0!==c)for(var n,f,i=document.getElementsByTagName("script"),u=0;u<i.length;u++){var l=i[u];if(l.getAttribute("src")==a||l.getAttribute("data-webpack")==t+c){n=l;break}}n||(f=!0,(n=document.createElement("script")).charset="utf-8",n.timeout=120,r.nc&&n.setAttribute("nonce",r.nc),n.setAttribute("data-webpack",t+c),n.src=r.tu(a)),e[a]=[o];var s=(t,r)=>{n.onerror=n.onload=null,clearTimeout(b);var o=e[a];if(delete e[a],n.parentNode&&n.parentNode.removeChild(n),o&&o.forEach(e=>e(r)),t)return t(r)},b=setTimeout(s.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=s.bind(null,n.onerror),n.onload=s.bind(null,n.onload),f&&document.head.appendChild(n)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={68:0,573:0};r.f.j=(t,a)=>{var o=r.o(e,t)?e[t]:void 0;if(0!==o)if(o)a.push(o[2]);else if(/^(573|68)$/.test(t))e[t]=0;else{var c=new Promise((r,a)=>o=e[t]=[r,a]);a.push(o[2]=c);var d=r.p+r.u(t),n=Error();r.l(d,a=>{if(r.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var c=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;n.message="Loading chunk "+t+" failed.\n("+c+": "+d+")",n.name="ChunkLoadError",n.type=c,n.request=d,o[1](n)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,a)=>{var o,c,[d,n,f]=a,i=0;if(d.some(t=>0!==e[t])){for(o in n)r.o(n,o)&&(r.m[o]=n[o]);if(f)var u=f(r)}for(t&&t(a);i<d.length;i++)c=d[i],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return r.O(u)},a=self.webpackChunk_N_E=self.webpackChunk_N_E||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})(),r.nc=void 0})();
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
|
|
2
|
+
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
|
|
3
|
+
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-1\/2{left:50%}.left-2{left:.5rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-2\.5{top:.625rem}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[50000\]{z-index:50000}.-m-4{margin:-1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-mt-px{margin-top:-1px}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-2{height:.5rem}.h-3\.5{height:.875rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[28px\]{height:28px}.h-\[60px\]{height:60px}.h-\[6px\]{height:6px}.h-\[70vh\]{height:70vh}.h-\[7px\]{height:7px}.h-full{height:100%}.h-px{height:1px}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0}.w-2{width:.5rem}.w-3\.5{width:.875rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[24px\]{width:24px}.w-\[6px\]{width:6px}.w-\[7px\]{width:7px}.w-\[90\%\]{width:90%}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[60px\]{min-width:60px}.min-w-\[8rem\]{min-width:8rem}.max-w-\[300px\]{max-width:300px}.max-w-\[520px\]{max-width:520px}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-none{resize:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-y-1{row-gap:.25rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:var(--radius-sm)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[rgba\(212\2c 168\2c 96\2c 0\.18\)\]{border-color:rgba(212,168,96,.18)}.border-border{border-color:var(--term-border)}.border-muted-foreground{border-color:var(--term-green-dim)}.border-sem-green{border-color:var(--term-sem-green)}.border-sem-red{border-color:var(--term-sem-red)}.border-sem-yellow{border-color:var(--term-sem-yellow)}.border-term-border-dim{border-color:var(--term-border-dim)}.border-white\/10{border-color:rgb(255 255 255/.1)}.border-l-border{border-left-color:var(--term-border)}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[\#0e0c1a\]{--tw-bg-opacity:1;background-color:rgb(14 12 26/var(--tw-bg-opacity,1))}.bg-\[rgba\(20\2c 20\2c 25\2c 0\.85\)\]{background-color:rgba(20,20,25,.85)}.bg-\[var\(--term-scroll-thumb\)\]{background-color:var(--term-scroll-thumb)}.bg-accent{background-color:var(--term-green)}.bg-background{background-color:var(--term-bg)}.bg-black\/65{background-color:rgb(0 0 0/.65)}.bg-border{background-color:var(--term-border)}.bg-muted{background-color:var(--term-surface)}.bg-muted-foreground{background-color:var(--term-green-dim)}.bg-sem-green{background-color:var(--term-sem-green)}.bg-term-panel{background-color:var(--term-panel)}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-4{padding:1rem}.p-px{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[3px\]{padding-left:3px;padding-right:3px}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pl-8{padding-left:2rem}.pl-\[112px\]{padding-left:112px}.pt-2{padding-top:.5rem}.pt-3\.5{padding-top:.875rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[34px\]{font-size:34px}.text-\[9px\]{font-size:9px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-term{font-size:12px;line-height:1.7}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-\[1\.7\]{line-height:1.7}.leading-\[15px\]{line-height:15px}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-accent{color:var(--term-green)}.text-background{color:var(--term-bg)}.text-foreground{color:var(--term-text)}.text-muted-foreground{color:var(--term-green-dim)}.text-sem-blue{color:var(--term-sem-blue)}.text-sem-green{color:var(--term-sem-green)}.text-sem-purple{color:var(--term-sem-purple)}.text-sem-red{color:var(--term-sem-red)}.text-sem-yellow{color:var(--term-sem-yellow)}.text-term-green-dim{color:var(--term-green-dim)}.text-term-text{color:var(--term-text)}.text-term-text-bright{color:var(--term-text-bright)}.text-white\/80{color:rgb(255 255 255/.8)}.caret-accent{caret-color:var(--term-green)}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_-3px_6px_-2px_rgba\(0\2c 0\2c 0\2c 0\.35\)\2c inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.03\)\]{--tw-shadow:0 -3px 6px -2px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.03);--tw-shadow-colored:0 -3px 6px -2px var(--tw-shadow-color),inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_-3px_6px_-2px_rgba\(0\2c 0\2c 0\2c 0\.35\)\2c inset_0_1px_0_var\(--separator-groove-light\)\]{--tw-shadow:0 -3px 6px -2px rgba(0,0,0,0.35),inset 0 1px 0 var(--separator-groove-light);--tw-shadow-colored:0 -3px 6px -2px var(--tw-shadow-color),inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_-3px_8px_-2px_rgba\(0\2c 0\2c 0\2c 0\.5\)\2c inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.04\)\]{--tw-shadow:0 -3px 8px -2px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.04);--tw-shadow-colored:0 -3px 8px -2px var(--tw-shadow-color),inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_3px_6px_-2px_rgba\(0\2c 0\2c 0\2c 0\.45\)\2c inset_0_-1px_0_rgba\(0\2c 0\2c 0\2c 0\.5\)\2c inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.03\)\]{--tw-shadow:0 3px 6px -2px rgba(0,0,0,0.45),inset 0 -1px 0 rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.03);--tw-shadow-colored:0 3px 6px -2px var(--tw-shadow-color),inset 0 -1px 0 var(--tw-shadow-color),inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--shadow-lg);--tw-shadow-colored:var(--shadow-lg)}.shadow-lg,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:var(--shadow-xl);--tw-shadow-colored:var(--shadow-xl)}.shadow-\[0_3px_6px_-2px_rgba\(0\2c 0\2c 0\2c 0\.4\)\2c inset_0_-1px_0_var\(--separator-groove-dark\)\2c var\(--highlight-top\)\]{--tw-shadow-color:0 3px 6px -2px rgba(0,0,0,0.4),inset 0 -1px 0 var(--separator-groove-dark),var(--highlight-top);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-opacity{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}.duration-fast{transition-duration:var(--duration-fast)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-500{animation-duration:.5s}.duration-fast{animation-duration:var(--duration-fast)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}body,html{overflow:hidden;height:100%}html{background:#16122a}:root{--office-bg:#16122a;--office-panel:#1e1a30;--office-border:#3d2e54;--office-text:#eddcb8;--office-gold:#e8b040;--term-bg:#141218;--term-panel:#1a1820;--term-card:#201e28;--term-surface:#201e28;--term-border:#302a38;--term-border-dim:#262030;--term-green:#d4a860;--term-green-dim:#685848;--term-text:#c8b8a8;--term-text-bright:#e0d4c8;--term-accent-rgb:212,168,96;--term-code-bg:#18161e;--term-code-text:#a08858;--term-scroll-thumb:#383040;--term-sem-green:#48cc6a;--term-sem-yellow:#e8b040;--term-sem-red:#e04848;--term-sem-blue:#5aacff;--term-sem-purple:#c084fc;--term-sem-cyan:#94e2d5;--font-mono:"JetBrains Mono","SF Mono",Menlo,Consolas,monospace;--font-size-base:12px;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-none:0px;--radius-sm:2px;--radius-md:4px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.3),0 1px 0 var(--term-border-dim);--shadow-md:0 2px 8px rgba(0,0,0,0.35),0 4px 16px rgba(0,0,0,0.25);--shadow-lg:0 4px 12px rgba(0,0,0,0.4),0 8px 32px rgba(0,0,0,0.35);--shadow-xl:0 8px 24px rgba(0,0,0,0.5),0 16px 48px rgba(0,0,0,0.4);--shadow-inset:inset 0 2px 4px rgba(0,0,0,0.3),inset 0 -1px 2px rgba(0,0,0,0.15);--shadow-inset-deep:inset 0 3px 8px rgba(0,0,0,0.4),inset 0 -1px 3px rgba(0,0,0,0.2);--highlight-top:inset 0 1px 0 rgba(255,255,255,0.03);--highlight-top-strong:inset 0 1px 0 rgba(255,255,255,0.06);--separator-groove-dark:rgba(0,0,0,0.5);--separator-groove-light:rgba(255,255,255,0.04);--separator-subtle:rgba(255,255,255,0.025);--duration-fast:100ms;--duration-normal:200ms;--duration-slow:350ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--px-bg-deep:var(--office-bg);--px-bg-panel:var(--office-panel);--px-bg-card:#231e38;--px-bg-chat:var(--term-surface);--px-border:var(--office-border);--px-border-warm:#5a3d14;--px-gold:#e8b040;--px-gold-dim:#a87820;--px-text:#eddcb8;--px-text-muted:#9a8a68;--px-text-dim:#6a5a48;--px-amber:#e0900a;--px-amber-bg:rgba(232,176,64,0.14)}.btb,.crt-screen,.term-info-bar,.term-input-area,body{transition:background-color .2s ease,color .2s ease,border-color .2s ease}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.custom-scrollbar{position:absolute;right:0;top:0;bottom:0;width:6px;pointer-events:none;z-index:10;opacity:0;transition:opacity .4s ease}.custom-scrollbar.visible{opacity:1}.custom-scrollbar-thumb{position:absolute;right:1px;width:3px;min-height:24px;background:var(--term-scroll-thumb);border-radius:1.5px;transition:background .2s ease,width .15s ease}.custom-scrollbar-thumb:hover,.custom-scrollbar:hover .custom-scrollbar-thumb{width:5px;right:0;background:rgba(var(--term-accent-rgb),.25)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239a8a68'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:10px 6px;padding-right:24px!important;border-radius:3px}select option{background:var(--term-panel);color:var(--term-text)}.px-font{font-family:Press Start\ 2P,monospace}@keyframes crt-scanline{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes crt-flicker{0%{opacity:.98}5%{opacity:.96}10%{opacity:.98}15%{opacity:.97}20%{opacity:.99}50%{opacity:.96}80%{opacity:.98}to{opacity:.97}}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes msg-fadein{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.crt-screen{position:relative;animation:crt-flicker 4s linear infinite}.crt-screen:after{content:"";inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(var(--term-accent-rgb),.04) 3px,rgba(var(--term-accent-rgb),.04) 4px);z-index:1}.crt-scanline-bar,.crt-screen:after{position:absolute;pointer-events:none}.crt-scanline-bar{top:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,transparent 0,rgba(var(--term-accent-rgb),.05) 50%,transparent 100%);animation:crt-scanline 6s linear infinite;z-index:2}.term-msg{animation:msg-fadein .12s ease-out}.term-cursor{display:inline-block;animation:cursor-blink 1s step-end infinite;color:var(--term-green)}.chat-markdown,.chat-markdown *,.crt-screen a,.crt-screen code,.crt-screen span,.term-msg,.term-msg *{font-size:12px!important;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace!important;font-weight:400!important;line-height:1.7!important;letter-spacing:-.01em}.chat-markdown h1{margin:14px 0 6px!important;padding:0 0 4px!important;border-bottom:1px solid var(--term-border-dim)!important}.chat-markdown h1,.chat-markdown h2{font-size:12px!important;font-weight:500!important;color:var(--term-text)!important}.chat-markdown h2{margin:12px 0 4px!important;padding:0!important}.chat-markdown h3{font-weight:500!important;margin:10px 0 3px!important}.chat-markdown h3,.chat-markdown h4,.chat-markdown h5,.chat-markdown h6{font-size:12px!important;color:var(--term-text)!important;padding:0!important}.chat-markdown h4,.chat-markdown h5,.chat-markdown h6{font-weight:400!important;margin:8px 0 2px!important}.chat-markdown b,.chat-markdown strong{font-weight:500!important;color:var(--term-text)!important}.chat-markdown em,.chat-markdown i{font-style:italic!important;color:var(--term-text)!important}.chat-markdown code{font-size:inherit!important;font-family:inherit!important;padding:1px 5px!important;border-radius:2px!important;border:none!important;color:var(--term-code-text)!important;opacity:1!important}.chat-markdown code,.chat-markdown pre{background:var(--term-code-bg)!important}.chat-markdown pre{margin:6px 0!important;padding:10px 14px!important;border-left:2px solid var(--term-border-dim)!important;border-radius:0!important;overflow-x:auto;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.chat-markdown pre code{color:var(--term-code-text)!important;opacity:1!important;background:none!important;padding:0!important;border:none!important;border-radius:0!important;letter-spacing:0!important}.chat-markdown p{margin:0 0 6px!important}.chat-markdown p:last-child{margin-bottom:0!important}.chat-markdown ol,.chat-markdown ul{margin:4px 0 8px!important;padding-left:20px!important}.chat-markdown li{margin:2px 0!important}.chat-markdown li::marker{color:var(--term-dim)!important}.chat-markdown hr{border:none!important;border-top:1px solid var(--term-border-dim)!important;margin:10px 0!important}.chat-markdown blockquote{margin:6px 0!important;padding:4px 12px!important;border-left:2px solid var(--term-border)!important;color:var(--term-dim)!important}.chat-markdown a,.crt-screen a{color:var(--term-green)!important;text-decoration:none!important;transition:color .1s ease}.chat-markdown a:hover,.crt-screen a:hover{text-decoration:underline!important;text-underline-offset:2px!important;text-decoration-thickness:1px!important}.chat-markdown table{border-collapse:collapse!important;margin:8px 0!important;width:100%!important}.chat-markdown th{padding:4px 12px!important;text-align:left!important;font-weight:500!important;color:var(--term-text)!important;border-bottom:1px solid var(--term-border)!important}.chat-markdown td{padding:3px 12px!important;border-bottom:1px solid var(--term-border-dim)!important}.chat-markdown tr:hover td{background:rgba(var(--term-accent-rgb),.03)!important}@keyframes dot1{0%,24%{opacity:0}25%,to{opacity:1}}@keyframes dot2{0%,49%{opacity:0}50%,to{opacity:1}}@keyframes dot3{0%,74%{opacity:0}75%,to{opacity:1}}.working-dots{display:inline-flex;gap:2px;align-items:center;vertical-align:middle}.working-dots:after,.working-dots:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.working-dots:before{animation:dot1 2s step-end infinite}.working-dots:after{animation:dot3 2s step-end infinite}.working-dots-mid{width:4px;height:4px;border-radius:50%;background:currentColor;animation:dot2 2s step-end infinite}@keyframes px-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes px-pulse-gold{0%,to{box-shadow:0 0 0 0 rgba(200,155,48,0)}50%{box-shadow:0 0 8px 2px rgba(200,155,48,.25)}}.term-dotgrid{background-image:none}.crt-screen,.crt-screen *{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga" 1,"calt" 1,"ss01" 1}.crt-screen ::-moz-selection{background:rgba(var(--term-accent-rgb),.15);color:var(--term-text-bright)}.crt-screen ::selection{background:rgba(var(--term-accent-rgb),.15);color:var(--term-text-bright)}.term-input-well{display:flex;align-items:flex-end;gap:0;background:var(--term-bg);border-radius:var(--radius-sm);border:1px solid var(--term-border);padding:0 2px;transition:border-color var(--duration-fast) ease}.term-input-well:focus-within{border-color:var(--term-green-dim)}.term-input:focus{outline:none}.term-input::-moz-placeholder{color:var(--term-green-dim);opacity:.5}.term-input::placeholder{color:var(--term-green-dim);opacity:.5}textarea::-moz-placeholder{color:var(--term-green-dim);opacity:.5}textarea::placeholder{color:var(--term-green-dim);opacity:.5}.term-btn{transition:border-color .15s ease,color .15s ease}.term-btn:active{opacity:.85}.term-path-scroll{overflow-x:auto;white-space:nowrap;scrollbar-width:none}.term-path-scroll::-webkit-scrollbar{display:none}@keyframes scene-overlay-fadeout{0%{opacity:1}to{opacity:0;visibility:hidden}}@keyframes review-overlay-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes review-slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.term-chat-area{background-image:none;box-shadow:inset 0 3px 6px rgba(0,0,0,.35),inset 0 1px 0 rgba(0,0,0,.5)}.btb,.cp-container,.term-info-bar,.tm-container,.tm-footer,.tm-header{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='4' height='4' fill='none'/%3E%3Crect width='1' height='1' x='0' y='0' fill='%23ffffff' fill-opacity='0.012'/%3E%3Crect width='1' height='1' x='2' y='2' fill='%23ffffff' fill-opacity='0.008'/%3E%3C/svg%3E"),linear-gradient(180deg,rgba(255,255,255,.02) 0,transparent)}.term-clean .crt-screen{animation:none!important}.term-clean .crt-scanline-bar,.term-clean .crt-screen:after{display:none!important}.term-clean .term-chat-area,.term-clean .term-dotgrid{background-image:none!important}.term-clean .term-input:focus{animation:none!important;box-shadow:none!important;outline:none}.console-transitioning *{transition:none!important}.term-paused .crt-scanline-bar,.term-paused .crt-screen,.term-paused .term-cursor,.term-paused .working-dots,.term-paused .working-dots-mid,.term-paused .working-dots:after,.term-paused .working-dots:before{animation-play-state:paused!important}[data-scrollbar]{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.term-msg .term-ts{font-variant-numeric:tabular-nums;letter-spacing:0!important}.term-info-bar{box-shadow:0 3px 6px -2px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.3),inset 0 -1px 0 var(--separator-groove-dark),var(--highlight-top);background-image:linear-gradient(180deg,rgba(255,255,255,.025) 0,transparent);border-bottom:none}.term-input-area{transition:box-shadow .2s ease;border-top:none;padding-top:10px;padding-bottom:10px;box-shadow:0 -4px 12px -2px rgba(0,0,0,.5),0 -1px 3px rgba(0,0,0,.3),inset 0 1px 0 var(--separator-groove-light),var(--highlight-top-strong);background-image:linear-gradient(180deg,rgba(255,255,255,.025) 0,transparent 40%)}.term-input-area:focus-within{box-shadow:0 -4px 12px -2px rgba(0,0,0,.5),0 -1px 3px rgba(0,0,0,.3),inset 0 1px 0 rgba(var(--term-accent-rgb),.18),var(--highlight-top-strong)}:focus-visible{outline:1px solid var(--term-green);outline-offset:2px}:focus:not(:focus-visible){outline:none}.term-input:focus-visible,textarea:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[data-scrollbar]{box-shadow:var(--shadow-inset)}.pane-resize:before{content:"";position:absolute;top:8%;bottom:8%;left:0;width:5px;background:linear-gradient(to bottom,transparent 0,rgba(var(--term-accent-rgb),.05) 50%,transparent 100%);pointer-events:none;opacity:0;transition:opacity var(--duration-normal) ease}.pane-resize:hover:before{opacity:1}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-content-in{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.placeholder\:text-term-green-dim::-moz-placeholder{color:var(--term-green-dim)}.placeholder\:text-term-green-dim::placeholder{color:var(--term-green-dim)}.placeholder\:opacity-50::-moz-placeholder{opacity:.5}.placeholder\:opacity-50::placeholder{opacity:.5}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-term-text-bright:hover{border-color:var(--term-text-bright)}.hover\:bg-\[rgba\(var\(--term-accent-rgb\)\2c 0\.25\)\]:hover{background-color:rgba(var(--term-accent-rgb),.25)}.hover\:bg-white\/5:hover{background-color:rgb(255 255 255/.05)}.hover\:bg-white\/\[0\.12\]:hover{background-color:rgb(255 255 255/.12)}.hover\:text-accent:hover{color:var(--term-green)}.hover\:text-foreground:hover{color:var(--term-text)}.hover\:text-sem-red:hover{color:var(--term-sem-red)}.hover\:text-term-text-bright:hover{color:var(--term-text-bright)}.hover\:shadow-sm:hover{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-none:focus{border-style:none}.focus\:border-term-green-dim:focus{border-color:var(--term-green-dim)}.focus\:text-term-text-bright:focus{color:var(--term-text-bright)}.focus\:shadow-none:focus{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--term-green)}.active\:translate-y-0:active{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:opacity-85:active{opacity:.85}.active\:shadow-none:active{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-\[rgba\(20\2c 20\2c 25\2c 0\.85\)\]:hover:disabled{background-color:rgba(20,20,25,.85)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:zoom-out-\[0\.97\][data-state=closed]{--tw-exit-scale:0.97}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:zoom-in-\[0\.97\][data-state=open]{--tw-enter-scale:0.97}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}@media (min-width:640px){.sm\:inline{display:inline}}.tb{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:6px 14px;border:1px solid var(--term-border);background:transparent;color:var(--term-text);font-size:var(--font-size-base);font-family:var(--font-mono);line-height:20px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,background-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) ease}.tb:hover{border-color:var(--term-text);color:var(--term-text-bright);box-shadow:0 1px 4px rgba(0,0,0,.25);transform:translateY(-.5px)}.tb:active{opacity:.85;transform:translateY(0);box-shadow:none}.tb:disabled{opacity:.4;cursor:default;pointer-events:none}.tb-ghost{border-color:var(--term-border);color:var(--term-text)}.tb-ghost:hover{border-color:var(--term-text);color:var(--term-text-bright)}.tb-primary,.tb-primary:hover{border-color:var(--term-sem-green);color:var(--term-sem-green)}.tb-primary:hover{background:color-mix(in srgb,var(--term-sem-green) 10%,transparent)}.tb-danger{border-color:var(--term-sem-red);color:var(--term-sem-red)}.tb-danger:hover{background:color-mix(in srgb,var(--term-sem-red) 10%,transparent)}.tb-success{border-color:var(--term-sem-green);color:var(--term-sem-green)}.tb-success:hover{background:color-mix(in srgb,var(--term-sem-green) 10%,transparent)}.tb-warning{border-color:var(--term-sem-yellow);color:var(--term-sem-yellow)}.tb-warning:hover{background:color-mix(in srgb,var(--term-sem-yellow) 10%,transparent)}.tb-dim{border-color:var(--term-border);color:var(--term-green-dim)}.tb-dim:hover{border-color:var(--term-text)}.tb-dim:hover,.ti{color:var(--term-text)}.ti{display:block;width:100%;padding:6px 10px;border:1px solid var(--term-border);background:var(--term-bg);font-size:var(--font-size-base);font-family:var(--font-mono);line-height:20px;outline:none;transition:border-color var(--duration-fast) ease}.ti::-moz-placeholder{color:var(--term-green-dim);opacity:.5}.ti::placeholder{color:var(--term-green-dim);opacity:.5}.ti:focus{border-color:var(--term-green-dim)}.ti-textarea{resize:none;overflow:hidden}.ti-inline{border:none;background:transparent;color:var(--term-text-bright);caret-color:var(--term-green);padding:6px 5px}.ti-inline:focus{border:none;box-shadow:none}.tm-backdrop{position:fixed;inset:0;z-index:10000;background-color:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;animation:modal-backdrop-in var(--duration-normal) var(--ease-out)}.tm-container{background:var(--term-panel);border:1px solid var(--term-border);box-shadow:var(--shadow-xl);width:90%;max-width:420px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:modal-content-in var(--duration-slow) var(--ease-out)}.tm-header{padding:var(--space-3) var(--space-4);border-bottom:none;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;color:var(--term-text-bright);box-shadow:0 3px 6px -2px rgba(0,0,0,.4),inset 0 -1px 0 var(--separator-groove-dark),var(--highlight-top)}.tm-body,.tm-header{font-family:var(--font-mono);font-size:var(--font-size-base)}.tm-body{padding:var(--space-4);overflow-y:auto;flex:1;min-height:0;color:var(--term-text);line-height:1.7}.tm-footer{padding:var(--space-3) var(--space-4);border-top:none;display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex-shrink:0;box-shadow:0 -3px 6px -2px rgba(0,0,0,.35),inset 0 1px 0 var(--separator-groove-light)}.tm-close{padding:2px 8px;border:1px solid var(--term-border);background:transparent;color:var(--term-green-dim);font-size:var(--font-size-base);font-family:var(--font-mono);cursor:pointer;line-height:1;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease}.tm-close:hover{color:var(--term-text);border-color:var(--term-text)}.tg{display:inline-flex;align-items:center;gap:var(--space-1);padding:1px 6px;font-size:10px;font-family:var(--font-mono);font-weight:500;letter-spacing:.02em;white-space:nowrap;line-height:1.4;border:1px solid transparent}.tg-green{color:var(--term-sem-green);background:color-mix(in srgb,var(--term-sem-green) 8%,transparent);border-color:color-mix(in srgb,var(--term-sem-green) 25%,transparent)}.tg-yellow{color:var(--term-sem-yellow);background:color-mix(in srgb,var(--term-sem-yellow) 8%,transparent);border-color:color-mix(in srgb,var(--term-sem-yellow) 25%,transparent)}.tg-red{color:var(--term-sem-red);background:color-mix(in srgb,var(--term-sem-red) 8%,transparent);border-color:color-mix(in srgb,var(--term-sem-red) 25%,transparent)}.tg-blue{color:var(--term-sem-blue);background:color-mix(in srgb,var(--term-sem-blue) 8%,transparent);border-color:color-mix(in srgb,var(--term-sem-blue) 25%,transparent)}.tg-purple{color:var(--term-sem-purple);background:color-mix(in srgb,var(--term-sem-purple) 8%,transparent);border-color:color-mix(in srgb,var(--term-sem-purple) 25%,transparent)}.tg-dim{color:var(--term-green-dim);background:color-mix(in srgb,var(--term-green-dim) 8%,transparent);border-color:color-mix(in srgb,var(--term-green-dim) 20%,transparent)}.tb-sm{padding:4px 10px;line-height:16px}.tb-sm,.tsl{font-size:11px}.tsl{font-family:var(--font-mono);font-weight:500;color:var(--term-green-dim);letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-1);line-height:1.2}.tac{display:flex;flex-direction:column;align-items:center;padding:12px 6px 10px;border:1px solid var(--term-border);background:transparent;cursor:pointer;text-align:center;position:relative;transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) ease}.tac:hover{border-color:color-mix(in srgb,var(--term-green) 40%,transparent);background:color-mix(in srgb,var(--term-green) 3%,transparent);box-shadow:0 2px 8px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.03);transform:translateY(-1px)}.tac-selected{border-color:color-mix(in srgb,var(--term-green) 50%,transparent);background:color-mix(in srgb,var(--term-green) 5%,transparent);box-shadow:0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.03)}.tdx{font-size:var(--font-size-base);color:var(--term-green-dim);cursor:pointer;padding:4px;line-height:1;border:none;background:transparent;flex-shrink:0;opacity:.5;transition:color var(--duration-fast) ease,opacity var(--duration-fast) ease}.tdx:hover{color:var(--term-sem-red);opacity:1}.btb{position:absolute;bottom:10px;left:10px;z-index:15;display:flex;align-items:center;gap:2px;background:rgba(8,8,12,.92);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid var(--term-border);padding:3px 4px;box-shadow:var(--shadow-lg),inset 0 1px 0 rgba(255,255,255,.04)}.btb-btn{padding:5px 10px;font-size:var(--font-size-base);font-family:var(--font-mono);color:var(--term-green-dim);background:transparent;border:1px solid transparent;cursor:pointer;letter-spacing:.02em;transition:background var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.btb-btn:hover{background:color-mix(in srgb,var(--term-text) 8%,transparent);color:var(--term-text)}.btb-btn-active{background:color-mix(in srgb,var(--term-sem-blue) 12%,transparent);border-color:color-mix(in srgb,var(--term-sem-blue) 35%,transparent);color:color-mix(in srgb,var(--term-sem-blue) 90%,white)}.btb-btn-danger{color:var(--term-sem-red)}.btb-btn-danger:hover{background:color-mix(in srgb,var(--term-sem-red) 10%,transparent)}.te{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3,12px);padding:var(--space-12,48px) var(--space-4);text-align:center;font-family:var(--font-mono);min-height:160px}.te:before{content:"";display:block;width:32px;height:32px;margin-bottom:4px;opacity:.15;background:var(--term-green);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Cpath d='M8 9h8M8 13h5M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Cpath d='M8 9h8M8 13h5M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z'/%3E%3C/svg%3E");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.te-msg{font-size:13px;color:var(--term-green-dim);letter-spacing:.02em}.te-msg:before{content:"> ";opacity:.5}.te-hint{font-size:11px;color:var(--term-green-dim);opacity:.4;margin-top:2px}.ap-status-idle{box-shadow:inset 0 2px 0 var(--term-border),0 1px 3px rgba(0,0,0,.2)}.ap-status-working{box-shadow:inset 0 2px 0 var(--term-sem-blue),0 1px 3px rgba(0,0,0,.2),0 0 8px color-mix(in srgb,var(--term-sem-blue) 8%,transparent)}.ap-status-waiting{box-shadow:inset 0 2px 0 var(--term-sem-yellow),0 1px 3px rgba(0,0,0,.2),0 0 8px color-mix(in srgb,var(--term-sem-yellow) 8%,transparent)}.ap-status-done{box-shadow:inset 0 2px 0 var(--term-sem-green),0 1px 3px rgba(0,0,0,.2)}.ap-status-error{box-shadow:inset 0 2px 0 var(--term-sem-red),0 1px 3px rgba(0,0,0,.2),0 0 8px color-mix(in srgb,var(--term-sem-red) 8%,transparent)}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.5}}.ap-status-working{animation:status-pulse 2s ease-in-out infinite}.scroll-pill{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:var(--space-1);padding:4px 12px;font-size:11px;font-family:var(--font-mono);color:var(--term-text);background:var(--term-panel);border:1px solid var(--term-border);box-shadow:var(--shadow-lg),inset 0 1px 0 rgba(255,255,255,.04);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) ease,transform var(--duration-normal) ease;transform:translateX(-50%) translateY(8px)}.scroll-pill.visible{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}.scroll-pill:hover{border-color:var(--term-text);color:var(--term-text-bright)}.scroll-pill-arrow{font-size:10px;line-height:1}.cp-backdrop{position:fixed;inset:0;z-index:20000;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;padding-top:min(20vh,160px);animation:modal-backdrop-in var(--duration-fast) var(--ease-out)}.cp-container{width:90%;max-width:480px;background:var(--term-panel);border:1px solid var(--term-border);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:400px;overflow:hidden;animation:modal-content-in var(--duration-normal) var(--ease-out)}.cp-input{display:block;width:100%;padding:12px 16px;border:none;border-bottom:1px solid var(--term-border-dim);background:transparent;color:var(--term-text-bright);font-size:14px;font-family:var(--font-mono);outline:none;caret-color:var(--term-green)}.cp-input::-moz-placeholder{color:var(--term-green-dim);opacity:.5}.cp-input::placeholder{color:var(--term-green-dim);opacity:.5}.cp-list{flex:1;overflow-y:auto;padding:var(--space-1) 0;min-height:0}.cp-item{display:flex;align-items:center;gap:var(--space-2);padding:8px 16px;font-size:var(--font-size-base);font-family:var(--font-mono);color:var(--term-text);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background var(--duration-fast) ease}.cp-item-active,.cp-item:hover{background:color-mix(in srgb,var(--term-green) 8%,transparent);color:var(--term-text-bright)}.cp-item-icon{width:20px;text-align:center;flex-shrink:0;font-size:13px}.cp-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-item-hint{font-size:11px;color:var(--term-green-dim);flex-shrink:0}.cp-empty{padding:16px;text-align:center;font-size:var(--font-size-base)}.cp-empty,.cp-group-label{font-family:var(--font-mono);color:var(--term-green-dim)}.cp-group-label{padding:8px 16px 4px;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.mpv-page-fade{animation:mpv-fade-in .15s ease-out}.mpv-slide-left{animation:mpv-slide-in-left .25s cubic-bezier(.4,0,.2,1)}.mpv-slide-right{animation:mpv-slide-in-right .25s cubic-bezier(.4,0,.2,1)}@keyframes mpv-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mpv-slide-in-left{0%{transform:translateX(30%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes mpv-slide-in-right{0%{transform:translateX(-30%);opacity:0}to{transform:translateX(0);opacity:1}}.mpv-dots{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px}.mpv-dot{width:6px;height:4px;border-radius:2px;border:none;padding:0;cursor:pointer;background:var(--term-green-dim);opacity:.35;transition:width .25s ease,opacity .25s ease,background .25s ease}.mpv-dot:hover{opacity:.6}.mpv-dot-active{width:18px;opacity:1;background:var(--term-green)}.pane-resize{width:5px;cursor:col-resize;background:transparent;position:relative;flex-shrink:0;z-index:5;transition:background var(--duration-fast) ease}.pane-resize:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:1px;background:var(--separator-groove-dark,rgba(0,0,0,.5));box-shadow:1px 0 0 var(--separator-groove-light,rgba(255,255,255,.04)),-2px 0 6px rgba(0,0,0,.25),2px 0 6px rgba(0,0,0,.25);transition:background var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.pane-resize-active:after,.pane-resize:hover:after{background:var(--term-green);box-shadow:1px 0 0 rgba(255,255,255,.06),0 0 8px rgba(var(--term-accent-rgb),.15)}.pane-resize:hover{background:color-mix(in srgb,var(--term-green) 4%,transparent)}.mpv-hire-float{position:absolute;top:8px;right:10px;z-index:8;display:flex;align-items:center;gap:5px;height:30px;padding:0 14px;border:1px solid color-mix(in srgb,var(--term-green) 32%,transparent);border-radius:6px;background:color-mix(in srgb,var(--term-green) 7%,transparent);backdrop-filter:blur(4px);color:color-mix(in srgb,var(--term-green) 80%,transparent);font-size:11px;font-weight:500;font-family:var(--font-mono);cursor:pointer;white-space:nowrap;transition:all .2s ease}.mpv-hire-float:hover{background:color-mix(in srgb,var(--term-green) 15%,transparent);border-color:color-mix(in srgb,var(--term-green) 56%,transparent);color:var(--term-green)}
|
package/dist/web/index.html
CHANGED
|
@@ -1,55 +1,65 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
--px-bg-chat: #1a1530;
|
|
7
|
-
--px-border: #3d2e54;
|
|
8
|
-
--px-border-warm: #5a3d14;
|
|
9
|
-
--px-gold: #e8b040;
|
|
10
|
-
--px-gold-dim: #a87820;
|
|
11
|
-
--px-text: #eddcb8;
|
|
12
|
-
--px-text-muted: #9a8a68;
|
|
13
|
-
--px-text-dim: #6a5a48;
|
|
14
|
-
--px-amber: #e0900a;
|
|
15
|
-
--px-amber-bg: rgba(232, 176, 64, 0.14);
|
|
16
|
-
}
|
|
17
|
-
* {
|
|
18
|
-
scrollbar-width: thin;
|
|
19
|
-
scrollbar-color: #5a3d14 #1a1530;
|
|
20
|
-
}
|
|
21
|
-
*::-webkit-scrollbar {
|
|
22
|
-
width: 4px;
|
|
23
|
-
height: 4px;
|
|
24
|
-
}
|
|
25
|
-
*::-webkit-scrollbar-track {
|
|
26
|
-
background: transparent;
|
|
27
|
-
}
|
|
28
|
-
*::-webkit-scrollbar-thumb {
|
|
29
|
-
background: #3d2d10;
|
|
30
|
-
border-radius: 0;
|
|
31
|
-
}
|
|
32
|
-
*::-webkit-scrollbar-thumb:hover {
|
|
33
|
-
background: #e8b040;
|
|
34
|
-
}
|
|
35
|
-
*::-webkit-scrollbar-corner {
|
|
36
|
-
background: transparent;
|
|
37
|
-
}
|
|
38
|
-
.px-font {
|
|
39
|
-
font-family: 'Press Start 2P', monospace;
|
|
40
|
-
}
|
|
41
|
-
@keyframes px-blink {
|
|
42
|
-
0%, 49% { opacity: 1; }
|
|
43
|
-
50%, 100% { opacity: 0; }
|
|
44
|
-
}
|
|
45
|
-
@keyframes px-pulse-gold {
|
|
46
|
-
0%, 100% { box-shadow: 0 0 0 0 rgba(200,155,48,0); }
|
|
47
|
-
50% { box-shadow: 0 0 8px 2px rgba(200,155,48,0.25); }
|
|
48
|
-
}
|
|
49
|
-
</style><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script>
|
|
1
|
+
<!DOCTYPE html><!--a77xldHdc_0TOGcqwFr4L--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/c62e12508f039ceb.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-dcd361e024700880.js"/><script src="/_next/static/chunks/4d67e943-e6a0fd3b5c397505.js" async=""></script><script src="/_next/static/chunks/388-5a04e93e2531cfb7.js" async=""></script><script src="/_next/static/chunks/main-app-baad86574bd560af.js" async=""></script><script src="/_next/static/chunks/767-52fa35b605461336.js" async=""></script><script src="/_next/static/chunks/276-7203e26618727a54.js" async=""></script><script src="/_next/static/chunks/app/layout-a57e585fdbd6e50f.js" async=""></script><script src="/_next/static/chunks/app/page-9734dfda2b306034.js" async=""></script><meta name="theme-color" content="#1a1530"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><title>Open Office</title><meta name="description" content="Control your AI agents from anywhere"/><link rel="manifest" href="/manifest.json"/><link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400&family=Press+Start+2P&display=swap" rel="stylesheet"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="margin:0;background-color:#16122a;color:#eddcb8;font-family:system-ui, sans-serif"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script>
|
|
2
|
+
document.addEventListener('visibilitychange', function() {
|
|
3
|
+
document.body.classList.toggle('term-paused', document.hidden);
|
|
4
|
+
});
|
|
5
|
+
</script><script>
|
|
50
6
|
if ('serviceWorker' in navigator && location.hostname === 'localhost') {
|
|
51
7
|
navigator.serviceWorker.getRegistrations().then(function(regs) {
|
|
52
8
|
for (var r of regs) r.unregister();
|
|
53
9
|
});
|
|
54
10
|
}
|
|
55
|
-
</script><script
|
|
11
|
+
</script><script>
|
|
12
|
+
(function() {
|
|
13
|
+
var attached = new WeakSet();
|
|
14
|
+
var timers = new WeakMap();
|
|
15
|
+
function addScrollbar(el) {
|
|
16
|
+
if (attached.has(el)) return;
|
|
17
|
+
var cs = getComputedStyle(el);
|
|
18
|
+
var ov = cs.overflowY;
|
|
19
|
+
if (ov !== 'auto' && ov !== 'scroll') return;
|
|
20
|
+
if (cs.position === 'static') el.style.position = 'relative';
|
|
21
|
+
var track = document.createElement('div');
|
|
22
|
+
track.className = 'custom-scrollbar';
|
|
23
|
+
var thumb = document.createElement('div');
|
|
24
|
+
thumb.className = 'custom-scrollbar-thumb';
|
|
25
|
+
track.appendChild(thumb);
|
|
26
|
+
el.appendChild(track);
|
|
27
|
+
attached.add(el);
|
|
28
|
+
function update() {
|
|
29
|
+
var sh = el.scrollHeight, ch = el.clientHeight;
|
|
30
|
+
if (sh <= ch) { track.classList.remove('visible'); return; }
|
|
31
|
+
var ratio = ch / sh;
|
|
32
|
+
var thumbH = Math.max(20, ratio * ch);
|
|
33
|
+
var scrollRatio = el.scrollTop / (sh - ch);
|
|
34
|
+
var thumbTop = scrollRatio * (ch - thumbH);
|
|
35
|
+
thumb.style.height = thumbH + 'px';
|
|
36
|
+
thumb.style.top = (el.scrollTop + thumbTop) + 'px';
|
|
37
|
+
track.classList.add('visible');
|
|
38
|
+
clearTimeout(timers.get(el));
|
|
39
|
+
timers.set(el, setTimeout(function() { track.classList.remove('visible'); }, 1200));
|
|
40
|
+
}
|
|
41
|
+
el.addEventListener('scroll', update, { passive: true });
|
|
42
|
+
new ResizeObserver(update).observe(el);
|
|
43
|
+
// Observe subtree content changes (e.g. streaming chat messages)
|
|
44
|
+
var contentTimer = 0;
|
|
45
|
+
new MutationObserver(function() {
|
|
46
|
+
if (contentTimer) return;
|
|
47
|
+
contentTimer = setTimeout(function() { contentTimer = 0; update(); }, 150);
|
|
48
|
+
}).observe(el, { childList: true, subtree: true, characterData: true });
|
|
49
|
+
update();
|
|
50
|
+
}
|
|
51
|
+
function scan() {
|
|
52
|
+
document.querySelectorAll('[data-scrollbar]').forEach(function(el) {
|
|
53
|
+
addScrollbar(el);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
var scanTimer = 0;
|
|
57
|
+
var mo = new MutationObserver(function() {
|
|
58
|
+
if (scanTimer) return;
|
|
59
|
+
scanTimer = setTimeout(function() { scanTimer = 0; scan(); }, 300);
|
|
60
|
+
});
|
|
61
|
+
mo.observe(document.body, { childList: true, subtree: true });
|
|
62
|
+
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', scan);
|
|
63
|
+
else scan();
|
|
64
|
+
})();
|
|
65
|
+
</script><script src="/_next/static/chunks/webpack-dcd361e024700880.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[8163,[\"767\",\"static/chunks/767-52fa35b605461336.js\",\"276\",\"static/chunks/276-7203e26618727a54.js\",\"177\",\"static/chunks/app/layout-a57e585fdbd6e50f.js\"],\"TooltipProvider\"]\n3:I[9653,[],\"\"]\n4:I[1329,[],\"\"]\n8:I[5719,[],\"\"]\n:HL[\"/_next/static/css/c62e12508f039ceb.css\",\"style\"]\n5:Tb25,"])</script><script>self.__next_f.push([1,"\n (function() {\n var attached = new WeakSet();\n var timers = new WeakMap();\n function addScrollbar(el) {\n if (attached.has(el)) return;\n var cs = getComputedStyle(el);\n var ov = cs.overflowY;\n if (ov !== 'auto' \u0026\u0026 ov !== 'scroll') return;\n if (cs.position === 'static') el.style.position = 'relative';\n var track = document.createElement('div');\n track.className = 'custom-scrollbar';\n var thumb = document.createElement('div');\n thumb.className = 'custom-scrollbar-thumb';\n track.appendChild(thumb);\n el.appendChild(track);\n attached.add(el);\n function update() {\n var sh = el.scrollHeight, ch = el.clientHeight;\n if (sh \u003c= ch) { track.classList.remove('visible'); return; }\n var ratio = ch / sh;\n var thumbH = Math.max(20, ratio * ch);\n var scrollRatio = el.scrollTop / (sh - ch);\n var thumbTop = scrollRatio * (ch - thumbH);\n thumb.style.height = thumbH + 'px';\n thumb.style.top = (el.scrollTop + thumbTop) + 'px';\n track.classList.add('visible');\n clearTimeout(timers.get(el));\n timers.set(el, setTimeout(function() { track.classList.remove('visible'); }, 1200));\n }\n el.addEventListener('scroll', update, { passive: true });\n new ResizeObserver(update).observe(el);\n // Observe subtree content changes (e.g. streaming chat messages)\n var contentTimer = 0;\n new MutationObserver(function() {\n if (contentTimer) return;\n contentTimer = setTimeout(function() { contentTimer = 0; update(); }, 150);\n }).observe(el, { childList: true, subtree: true, characterData: true });\n update();\n }\n function scan() {\n document.querySelectorAll('[data-scrollbar]').forEach(function(el) {\n addScrollbar(el);\n });\n }\n var scanTimer = 0;\n var mo = new MutationObserver(function() {\n if (scanTimer) return;\n scanTimer = setTimeout(function() { scanTimer = 0; scan(); }, 300);\n });\n mo.observe(document.body, { childList: true, subtree: true });\n if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', scan);\n else scan();\n })();\n "])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"a77xldHdc_0TOGcqwFr4L\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c62e12508f039ceb.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"content\":\"#1a1530\"}],[\"$\",\"meta\",null,{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400\u0026family=Press+Start+2P\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"style\":{\"margin\":0,\"backgroundColor\":\"#16122a\",\"color\":\"#eddcb8\",\"fontFamily\":\"system-ui, sans-serif\"},\"children\":[[\"$\",\"$L2\",null,{\"delayDuration\":300,\"skipDelayDuration\":100,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"style\":{\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"minHeight\":\"100vh\"},\"children\":[\"$\",\"h1\",null,{\"style\":{\"fontFamily\":\"JetBrains Mono, monospace\",\"fontSize\":\"1.2rem\"},\"children\":\"404 — Not Found\"}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n document.addEventListener('visibilitychange', function() {\\n document.body.classList.toggle('term-paused', document.hidden);\\n });\\n \"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n if ('serviceWorker' in navigator \u0026\u0026 location.hostname === 'localhost') {\\n navigator.serviceWorker.getRegistrations().then(function(regs) {\\n for (var r of regs) r.unregister();\\n });\\n }\\n \"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"$5\"}}]]}]]}]]}],{\"children\":[\"__PAGE__\",\"$L6\",{},null,false]},null,false],\"$L7\",false]],\"m\":\"$undefined\",\"G\":[\"$8\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:I[7868,[],\"ClientPageRoot\"]\na:I[8967,[\"974\",\"static/chunks/app/page-9734dfda2b306034.js\"],\"default\"]\nd:I[9096,[],\"OutletBoundary\"]\nf:I[913,[],\"AsyncMetadataOutlet\"]\n11:I[9096,[],\"ViewportBoundary\"]\n13:I[9096,[],\"MetadataBoundary\"]\n14:\"$Sreact.suspense\"\n6:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L9\",null,{\"Component\":\"$a\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@b\",\"$@c\"]}],null,[\"$\",\"$Ld\",null,{\"children\":[\"$Le\",[\"$\",\"$Lf\",null,{\"promise\":\"$@10\"}]]}]]}]\n7:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L11\",null,{\"children\":\"$L12\"}],null],[\"$\",\"$L13\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$14\",null,{\"fallback\":null,\"children\":\"$L15\"}]}]}]]}]\n"])</script><script>self.__next_f.push([1,"b:{}\nc:\"$6:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"12:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\ne:null\n"])</script><script>self.__next_f.push([1,"10:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Open Office\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Control your AI agents from anywhere\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"15:\"$10:metadata\"\n"])</script></body></html>
|
package/dist/web/index.txt
CHANGED
|
@@ -1,68 +1,76 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
+
2:I[8163,["767","static/chunks/767-52fa35b605461336.js","276","static/chunks/276-7203e26618727a54.js","177","static/chunks/app/layout-a57e585fdbd6e50f.js"],"TooltipProvider"]
|
|
2
3
|
3:I[9653,[],""]
|
|
3
4
|
4:I[1329,[],""]
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
11:[[
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
5
|
+
8:I[5719,[],""]
|
|
6
|
+
:HL["/_next/static/css/c62e12508f039ceb.css","style"]
|
|
7
|
+
5:Tb25,
|
|
8
|
+
(function() {
|
|
9
|
+
var attached = new WeakSet();
|
|
10
|
+
var timers = new WeakMap();
|
|
11
|
+
function addScrollbar(el) {
|
|
12
|
+
if (attached.has(el)) return;
|
|
13
|
+
var cs = getComputedStyle(el);
|
|
14
|
+
var ov = cs.overflowY;
|
|
15
|
+
if (ov !== 'auto' && ov !== 'scroll') return;
|
|
16
|
+
if (cs.position === 'static') el.style.position = 'relative';
|
|
17
|
+
var track = document.createElement('div');
|
|
18
|
+
track.className = 'custom-scrollbar';
|
|
19
|
+
var thumb = document.createElement('div');
|
|
20
|
+
thumb.className = 'custom-scrollbar-thumb';
|
|
21
|
+
track.appendChild(thumb);
|
|
22
|
+
el.appendChild(track);
|
|
23
|
+
attached.add(el);
|
|
24
|
+
function update() {
|
|
25
|
+
var sh = el.scrollHeight, ch = el.clientHeight;
|
|
26
|
+
if (sh <= ch) { track.classList.remove('visible'); return; }
|
|
27
|
+
var ratio = ch / sh;
|
|
28
|
+
var thumbH = Math.max(20, ratio * ch);
|
|
29
|
+
var scrollRatio = el.scrollTop / (sh - ch);
|
|
30
|
+
var thumbTop = scrollRatio * (ch - thumbH);
|
|
31
|
+
thumb.style.height = thumbH + 'px';
|
|
32
|
+
thumb.style.top = (el.scrollTop + thumbTop) + 'px';
|
|
33
|
+
track.classList.add('visible');
|
|
34
|
+
clearTimeout(timers.get(el));
|
|
35
|
+
timers.set(el, setTimeout(function() { track.classList.remove('visible'); }, 1200));
|
|
36
|
+
}
|
|
37
|
+
el.addEventListener('scroll', update, { passive: true });
|
|
38
|
+
new ResizeObserver(update).observe(el);
|
|
39
|
+
// Observe subtree content changes (e.g. streaming chat messages)
|
|
40
|
+
var contentTimer = 0;
|
|
41
|
+
new MutationObserver(function() {
|
|
42
|
+
if (contentTimer) return;
|
|
43
|
+
contentTimer = setTimeout(function() { contentTimer = 0; update(); }, 150);
|
|
44
|
+
}).observe(el, { childList: true, subtree: true, characterData: true });
|
|
45
|
+
update();
|
|
46
|
+
}
|
|
47
|
+
function scan() {
|
|
48
|
+
document.querySelectorAll('[data-scrollbar]').forEach(function(el) {
|
|
49
|
+
addScrollbar(el);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
var scanTimer = 0;
|
|
53
|
+
var mo = new MutationObserver(function() {
|
|
54
|
+
if (scanTimer) return;
|
|
55
|
+
scanTimer = setTimeout(function() { scanTimer = 0; scan(); }, 300);
|
|
56
|
+
});
|
|
57
|
+
mo.observe(document.body, { childList: true, subtree: true });
|
|
58
|
+
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', scan);
|
|
59
|
+
else scan();
|
|
60
|
+
})();
|
|
61
|
+
0:{"P":null,"b":"a77xldHdc_0TOGcqwFr4L","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/c62e12508f039ceb.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","meta",null,{"name":"theme-color","content":"#1a1530"}],["$","meta",null,{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400&family=Press+Start+2P&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"style":{"margin":0,"backgroundColor":"#16122a","color":"#eddcb8","fontFamily":"system-ui, sans-serif"},"children":[["$","$L2",null,{"delayDuration":300,"skipDelayDuration":100,"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"style":{"display":"flex","alignItems":"center","justifyContent":"center","minHeight":"100vh"},"children":["$","h1",null,{"style":{"fontFamily":"JetBrains Mono, monospace","fontSize":"1.2rem"},"children":"404 — Not Found"}]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n document.addEventListener('visibilitychange', function() {\n document.body.classList.toggle('term-paused', document.hidden);\n });\n "}}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n if ('serviceWorker' in navigator && location.hostname === 'localhost') {\n navigator.serviceWorker.getRegistrations().then(function(regs) {\n for (var r of regs) r.unregister();\n });\n }\n "}}],["$","script",null,{"dangerouslySetInnerHTML":{"__html":"$5"}}]]}]]}]]}],{"children":["__PAGE__","$L6",{},null,false]},null,false],"$L7",false]],"m":"$undefined","G":["$8",[]],"s":false,"S":true}
|
|
62
|
+
9:I[7868,[],"ClientPageRoot"]
|
|
63
|
+
a:I[8967,["974","static/chunks/app/page-9734dfda2b306034.js"],"default"]
|
|
64
|
+
d:I[9096,[],"OutletBoundary"]
|
|
65
|
+
f:I[913,[],"AsyncMetadataOutlet"]
|
|
66
|
+
11:I[9096,[],"ViewportBoundary"]
|
|
67
|
+
13:I[9096,[],"MetadataBoundary"]
|
|
68
|
+
14:"$Sreact.suspense"
|
|
69
|
+
6:["$","$1","c",{"children":[["$","$L9",null,{"Component":"$a","searchParams":{},"params":{},"promises":["$@b","$@c"]}],null,["$","$Ld",null,{"children":["$Le",["$","$Lf",null,{"promise":"$@10"}]]}]]}]
|
|
70
|
+
7:["$","$1","h",{"children":[null,[["$","$L11",null,{"children":"$L12"}],null],["$","$L13",null,{"children":["$","div",null,{"hidden":true,"children":["$","$14",null,{"fallback":null,"children":"$L15"}]}]}]]}]
|
|
71
|
+
b:{}
|
|
72
|
+
c:"$6:props:children:0:props:params"
|
|
73
|
+
12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
74
|
+
e:null
|
|
75
|
+
10:{"metadata":[["$","title","0",{"children":"Open Office"}],["$","meta","1",{"name":"description","content":"Control your AI agents from anywhere"}],["$","link","2",{"rel":"manifest","href":"/manifest.json","crossOrigin":"$undefined"}]],"error":null,"digest":"$undefined"}
|
|
76
|
+
15:"$10:metadata"
|