class-studys 7.0.1 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.well-known/discord +1 -0
- package/21fn9e.js +54 -0
- package/README.md +25 -0
- package/assets/AccountPage-DmlYaBSE-8068ec8f.js +1 -0
- package/assets/AccountPage-fg4fizGa-8068ec8f.css +1 -0
- package/assets/AiPage-CTjB7gWo-8068ec8f.css +1 -0
- package/assets/AiPage-CbTtOj3W-8068ec8f.js +18 -0
- package/assets/DarkVeil-CC-BBhGo-8068ec8f.js +69 -0
- package/assets/GamesPage--YRYDVtw-8068ec8f.css +1 -0
- package/assets/GamesPage-D-HV0rpM-8068ec8f.js +1 -0
- package/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/assets/PlusPage-DBE836ej-8068ec8f.js +1 -0
- package/assets/PlusPage-vOvT9Zss-8068ec8f.css +1 -0
- package/assets/SettingsPage-CsV-N8Y0-8068ec8f.js +1 -0
- package/assets/boot-D3vqjHTs-8068ec8f.js +1 -0
- package/assets/fingerprint-Y5nV5FVa-8068ec8f.js +4 -0
- package/assets/index-COUSXtyQ-8068ec8f.js +3 -0
- package/assets/index-D4-Q3uqd-8068ec8f.css +1 -0
- package/assets/markdown-BtlGIx_H-8068ec8f.js +291 -0
- package/assets/markdown-dIRGbAJA-8068ec8f.css +1 -0
- package/assets/motion-B1hdS1Lc-8068ec8f.js +9 -0
- package/assets/ogl-BWe_HKY6-8068ec8f.js +1 -0
- package/assets/proxy-runtime-hRo6K69j-8068ec8f.js +13 -0
- package/assets/react-BNEptbwn-8068ec8f.js +49 -0
- package/assets/settings-page-B-LiQw8a-8068ec8f.css +1 -0
- package/assets/verity-mini-DjLHPujK.png +0 -0
- package/branding/ignite-os-browser-834cc7f9f1eda4fb.png +0 -0
- package/branding/ignite-os-browser-spooky-805a89482927bc04.png +0 -0
- package/branding/ignite-os-browser-spooky-no-drips-52ef55ca90dacae1.png +0 -0
- package/equ4q/67140b.js +2 -0
- package/equ4q/8tzsxm.js +41 -0
- package/equ4q/datyqq.js +2 -0
- package/favicon.svg +8 -0
- package/ignite-ember.css +191 -0
- package/index.html +29 -757
- package/index.svg +36 -0
- package/jr1n9/4m74rv.js +31 -0
- package/jr1n9/cw3zk6.wasm +0 -0
- package/logo.svg +36 -0
- package/package.json +25 -63
- package/privacy.html +113 -0
- package/release-manifest.json +1 -0
- package/release.json +1 -0
- package/study.html +29 -0
- package/terms.html +96 -0
package/equ4q/8tzsxm.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var _u806vei;(()=>{var e={286(e,t,r){r.d(t,{I:()=>o});let o=Symbol.for("controller frame handle")},355(e,t,r){r.d(t,{O:()=>s,x:()=>o});let o="0.0.14";function s(){if("undefined"==typeof _dln2p7n)throw Error("_mci54rtqy3is_mci54rtqy3i is not loaded. Load _6p7n1ah before the controller.");var e="2.0.67-alpha.2",t=_dln2p7n.versionInfo.version;if(e!==t)throw Error(`_mci54rtqy3is_mci54rtqy3i version mismatch: this build expects ${e}, but the loaded runtime is ${t}`)}},805(e,t,r){r.d(t,{C:()=>o});class o{methods;id;sendRaw;counter=0;promiseCallbacks=new Map;constructor(e,t,r){this.methods=e,this.id=t,this.sendRaw=r}recieve(e){if(null==e||"object"!=typeof e)return;let t=e[this.id];if(null==t||"object"!=typeof t)return;let r=t.$type;if("response"===r){let e=t.$token,r=t.$data,o=t.$error,s=this.promiseCallbacks.get(e);if(!s)return;this.promiseCallbacks.delete(e),void 0!==o?s.reject(Error(o)):s.resolve(r)}else if("request"===r){let e=t.$method,r=t.$args;this.methods[e](r).then(e=>{this.sendRaw({[this.id]:{$type:"response",$token:t.$token,$data:e?.[0]}},e?.[1])}).catch(e=>{console.error(e),this.sendRaw({[this.id]:{$type:"response",$token:t.$token,$error:e?.toString()||"Unknown error"}},[])})}}call(e,t,r=[]){let o=this.counter++;return new Promise((s,i)=>{this.promiseCallbacks.set(o,{resolve:s,reject:i}),this.sendRaw({[this.id]:{$type:"request",$method:e,$args:t,$token:o}},r)})}}},986(e){let t=Object.getPrototypeOf({});function r(){return function(e){return"object"==typeof e&&null!==e&&!(e instanceof RegExp)&&!(e instanceof Date)}}function o(e){function o(e){return"constructor"!==e&&"prototype"!==e&&"__proto__"!==e}let s=Object.prototype.propertyIsEnumerable,i=e?.symbols?function(e){let t=Object.keys(e),r=Object.getOwnPropertySymbols(e);for(let o=0,i=r.length;o<i;++o)s.call(e,r[o])&&t.push(r[o]);return t}:Object.keys,n="function"==typeof e?.cloneProtoObject?e.cloneProtoObject:void 0,a="function"==typeof e?.isMergeableObject?e.isMergeableObject:r(),c=e?.onlyDefinedProperties===!0,l=e&&"function"==typeof e.mergeArray?e.mergeArray({clone:d,deepmerge:h,getKeys:i,isMergeableObject:a}):function(e,t){let r=e.length,o=t.length,s=0,i=Array(r+o);for(;s<r;++s)i[s]=d(e[s]);for(s=0;s<o;++s)i[s+r]=d(t[s]);return i};function d(e){return a(e)?Array.isArray(e)?function(e){let t=0,r=e.length,o=Array(r);for(;t<r;++t)o[t]=d(e[t]);return o}(e):function(e){let r,s,a,c={};if(n&&Object.getPrototypeOf(e)!==t)return n(e);let l=i(e);for(r=0,s=l.length;r<s;++r)o(a=l[r])&&(c[a]=d(e[a]));return c}(e):e}function h(e,r){if(c&&void 0===r)return d(e);let s=Array.isArray(r),f=Array.isArray(e);return"object"!=typeof r||null===r?r:a(e)?s&&f?l(e,r):s!==f?d(r):function(e,r){let s,l,f,p={},u=i(e),y=i(r);for(s=0,l=u.length;s<l;++s)o(f=u[s])&&-1===y.indexOf(f)&&(p[f]=d(e[f]));for(s=0,l=y.length;s<l;++s)if(o(f=y[s]))if(f in e)-1!==u.indexOf(f)&&(n&&a(r[f])&&Object.getPrototypeOf(r[f])!==t?p[f]=n(r[f]):p[f]=h(e[f],r[f]));else{if(c&&void 0===r[f])continue;p[f]=d(r[f])}return p}(e,r):d(r)}return e?.all?function(){let e;switch(arguments.length){case 0:return{};case 1:return d(arguments[0]);case 2:return h(arguments[0],arguments[1])}for(let t=0,r=arguments.length;t<r;++t)e=h(e,arguments[t]);return e}:h}e.exports=o,e.exports.default=o,e.exports.deepmerge=o,Object.defineProperty(e.exports,"isMergeableObject",{get:r})},235(e,t,r){r.d(t,{Sr:()=>s}),WebSocket.CLOSED,WebSocket.CONNECTING,WebSocket.OPEN,EventTarget;let o=[101,204,205,304];class s extends Response{url;rawHeaders;redirected=!1;static fromTransferrableResponse(e,t){let r=new s(o.includes(e.status)?void 0:e.body,{headers:new Headers(e.headers),status:e.status,statusText:e.statusText});return r.url=t,r.redirected=e.status>=300&&e.status<400&&void 0!==e.headers.location,r.rawHeaders=e.headers,r}static fromNativeResponse(e){let t=new s(o.includes(e.status)?void 0:e.body,{headers:e.headers,status:e.status,statusText:e.statusText});return t.url=e.url,t.rawHeaders=[...e.headers],t.redirected=e.redirected,t}}},423(e,t,r){r.d(t,{Cx:()=>p,Oy:()=>G,cP:()=>s,ht:()=>z,k_:()=>n,mK:()=>d,sb:()=>y,uh:()=>f});let{BareResponse:o,CookieJar:s,IncrementalHtmlRewriter:i,Plugin:n,_cyjjhzkhpv6k_:a,_pa224o0785iz_pa22:c,_2czy428eent4_:l,_expwoox5qk5q_expwoo:d,_3u4crmf09z2g_3u4crmf09z2g:h,_bnhge3scjomf_b:f,Tap:p,createLocationProxy:u,defaultConfig:y,defaultConfigDev:m,flagEnabled:g,getOwnPropertyDescriptorHandler:w,getRewriter:k,getScriptBlockTypeString:b,htmlRules:j,isArchiveMimeType:S,isAudioOrVideoMimeType:v,isFontMimeType:C,isHtmlMimeType:x,isImageMimeType:$,isInlineDisplayableMimeType:P,isJavascriptMimeType:O,isJavascriptMimeTypeEssenceMatch:R,isModuleScriptType:A,isScriptType:E,isScriptableMimeType:U,isXmlMimeType:M,isZipBasedMimeType:W,isdedicated:T,isshared:D,issw:I,iswindow:L,isworker:N,parseMimeType:_,rewriteBlob:J,rewriteCss:H,rewriteHtml:q,rewriteJs:F,rewriteJsInner:B,rewriteSrcset:K,rewriteUrl:G,rewriteWorkers:V,setWasm:z,unrewriteBlob:Q,unrewriteCss:X,unrewriteHtml:Y,unrewriteUrl:Z,versionInfo:ee}=globalThis._dln2p7n}},t={};function r(o){var s=t[o];if(void 0!==s)return s.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{r.r(o),r.d(o,{Controller:()=>S,Frame:()=>v,ManagedPlugin:()=>d,VERSION:()=>a.x,assertRuntimeScramjetVersion:()=>a.O,config:()=>c});var e=r(805),t=r(235),s=r(986),i=r(423),n=r(286),a=r(355);let c={prefix:"/~/sj/",_6p7n1ahPath:"/_6p7n1ah/_6p7n1ah.js",injectPath:"/controller/controller.inject.js",wasmPath:"/_6p7n1ah/_6p7n1ah.wasm",virtualWasmPath:"_6p7n1ah.wasm.js",codec:{encode:e=>e?encodeURIComponent(e):e,decode:e=>e?decodeURIComponent(e):e}},l={flags:{...i.sb.flags,allowFailedIntercepts:!0},maskedfiles:["inject.js","_6p7n1ah.wasm.js"]};class d extends i.k_{frame=null;dependencies=[];constructor(e,t){super(e),this.dependencies=t}install(e){this.frame=e}}let h="state",f="cookies",p=null;function u(e){return"object"==typeof e&&null!==e&&"number"==typeof e.updatedAt&&Number.isFinite(e.updatedAt)&&"string"==typeof e.cookies?e:null}function y(e){return new Promise((t,r)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>r(e.error??Error("IndexedDB request failed"))})}function m(e){return new Promise((t,r)=>{e.oncomplete=()=>t(),e.onabort=()=>r(e.error??Error("IndexedDB transaction aborted")),e.onerror=()=>r(e.error??Error("IndexedDB transaction failed"))})}function g(){return p||(p=new Promise((e,t)=>{let r=indexedDB.open("__7ffqz1mrkgz_27ffqz1",1);r.onupgradeneeded=()=>{let e=r.result;e.objectStoreNames.contains(h)||e.createObjectStore(h)},r.onsuccess=()=>e(r.result),r.onerror=()=>t(r.error??Error("Failed to open cookie database"))}))}async function w(){try{let e=(await g()).transaction(h,"readonly"),t=e.objectStore(h),r=await y(t.get(f));return await m(e),u(r)}catch(e){return console.error("Failed to read persisted controller cookies:",e),null}}async function k(e,t){try{let r=(await g()).transaction(h,"readwrite"),o=r.objectStore(h),s=u(await y(o.get(f))),i=Math.max(Date.now(),t+1,(s?.updatedAt??0)+1);return o.put({updatedAt:i,cookies:e},f),await m(r),i}catch(e){return console.error("Failed to persist controller cookies:",e),t}}function b(){return Math.random().toString(36).substring(2,10)}let j=(0,s.deepmerge)();class S{init;id;config;_6p7n1ahConfig;prefix;cookieJar=new i.cP;frames=[];serviceWorkerController;guardServiceWorkerRevive=!0;ready;readyResolve;isReady=!1;rpc;port=null;transport;cookieUpdatedAt=0;cookieSyncPromise=null;cookieSyncDirty=!0;cookieSyncChannel=new BroadcastChannel("__em1woh0axqg_fem1woh0axqg_fe");wasmAlreadyFetched=!1;wasmPayload=null;onTabChannelMessage=e=>{this.rpc.recieve(e.data)};onCookieSyncMessage=e=>{let t="object"==typeof e.data&&null!==e.data?e.data.updatedAt:void 0;"number"!=typeof t||t<=this.cookieUpdatedAt||(this.cookieSyncDirty=!0,this.loadSavedCookies())};async loadScramjetWasm(){if(this.wasmAlreadyFetched)return;let e=await fetch(this.config.wasmPath);(0,i.ht)(await e.arrayBuffer()),this.wasmAlreadyFetched=!0}methods={ready:async()=>{this.readyResolve(),setTimeout(()=>{this.guardServiceWorkerRevive=!1},5e3)},request:async e=>{let t=new URL(e.rawUrl).pathname,r=this.frames.find(e=>t.startsWith(e.prefix));if(!r)throw Error("No frame found for request");try{if(await this.loadSavedCookies(),t===r.prefix+this.config.virtualWasmPath){if(!this.wasmPayload){let e=await fetch(this.config.wasmPath),t=await e.arrayBuffer(),r=btoa(new Uint8Array(t).reduce((e,t)=>(e.push(String.fromCharCode(t)),e),[]).join(""));this.wasmPayload=`self.WASM = '${r}';`}return[{body:this.wasmPayload,status:200,statusText:"OK",headers:[["Content-Type","application/javascript"]]},[]]}let o=i.uh.fromRawHeaders(e.initialHeaders),s=await r.fetchHandler.handleFetch({initialHeaders:o,rawClientUrl:e.rawClientUrl?new URL(e.rawClientUrl):void 0,rawUrl:new URL(e.rawUrl),rawReferrer:e.rawReferrer,rawDestination:e.destination,method:e.method,mode:e.mode,referrer:e.referrer,body:e.body,cache:e.cache,clientId:e.clientId});return[{body:s.body,status:s.status,statusText:s.statusText,headers:s.headers.toRawHeaders()},s.body instanceof ReadableStream||s.body instanceof ArrayBuffer?[s.body]:[]]}catch(o){let t={setResponse:void 0,suppressError:!1};if(await i.Cx.dispatch(r.hooks.error.request,{rawrequest:e,error:o},t),t.suppressError||console.error("Error in controller request handler:",o),t.setResponse)return[t.setResponse,[]];throw o}},initRemoteTransport:async t=>{let r=new e.C({request:async({remote:e,method:t,body:r,headers:o})=>{let s=await this.transport.request(new URL(e),t,r,o,void 0);return[s,[s.body]]},sendSetCookie:async({cookies:e,options:t})=>{await this.loadSavedCookies(!0),t?.clear&&this.cookieJar.clear(),this.applyCookieSyncEntries(e),await this.persistCookies(),await this.propagateCookieSync(e,t)},connect:async({url:e,protocols:t,requestHeaders:r,port:o})=>{let s,i=new Promise(e=>s=e),[n,a]=this.transport.connect(new URL(e),t,r,(e,t)=>{s({result:"success",protocol:e,extensions:t})},e=>{o.postMessage({type:"data",data:e},e instanceof ArrayBuffer?[e]:[])},(e,t)=>{o.postMessage({type:"close",code:e,reason:t})},e=>{s({result:"failure",error:e})});return o.onmessageerror=e=>{console.error("Transport port messageerror (this should never happen!)",e)},o.onmessage=({data:e})=>{"data"===e.type?n(e.data):"close"===e.type&&a(e.code,e.reason)},[await i,[]]}},"transport",(e,r)=>t.postMessage(e,r));t.onmessageerror=e=>{console.error("Transport port messageerror (this should never happen!)",e)},t.onmessage=e=>{r.recieve(e.data)},r.call("ready",void 0,[])}};constructor(t){this.init=t,(0,a.O)(),this.id=b(),this.config=j(c,t.config||{}),this._6p7n1ahConfig=j(l,i.sb),this._6p7n1ahConfig=j(this._6p7n1ahConfig,t._6p7n1ahConfig||{}),this.prefix=this.config.prefix+this.id+"/",this.serviceWorkerController=t.serviceworker,this.ready=Promise.all([new Promise(e=>{this.readyResolve=e}),this.loadScramjetWasm(),this.loadSavedCookies(!0)]).then(()=>void 0),this.rpc=new e.C(this.methods,"tabchannel-"+this.id,(e,t)=>{if(!this.port)throw Error("Port not found");this.port.postMessage(e,t)}),this.transport=t.transport,this.cookieSyncChannel.addEventListener("message",this.onCookieSyncMessage),this.setupMessagePort(),navigator.serviceWorker.addEventListener("message",e=>{if(e.data?.$controller$setCookie&&"object"==typeof e.data.$controller$setCookie){let t=e.data.$controller$setCookie;t.options?.clear&&this.cookieJar.clear(),this.applyCookieSyncEntries(t.cookies),"string"==typeof t.id&&this.serviceWorkerController.postMessage({$sw$setCookieDone:{id:t.id}});return}if(e.data.$controller$swrevive){if(this.guardServiceWorkerRevive)return;this.setupMessagePort()}})}setupMessagePort(){if(this.port){this.port.removeEventListener("message",this.onTabChannelMessage);try{this.port.close()}catch{}this.port=null}let e=new MessageChannel;this.port=e.port1,this.port.addEventListener("message",this.onTabChannelMessage),this.port.start(),this.serviceWorkerController.postMessage({$controller$init:{prefix:this.prefix,id:this.id}},[e.port2])}applyCookieSyncEntries(e){if(Array.isArray(e))for(let t of e)"string"==typeof t?.url&&"string"==typeof t.cookie&&this.cookieJar.setCookies(t.cookie,new URL(t.url))}async propagateCookieSync(e,t={}){this.port&&await this.rpc.call("sendSetCookie",{cookies:e,options:t})}async loadSavedCookies(e=!1){if(e||this.cookieSyncDirty)return this.cookieSyncPromise||(this.cookieSyncPromise=(async()=>{let e=await w();e&&e.updatedAt>this.cookieUpdatedAt&&(this.cookieJar.load(e.cookies),this.cookieUpdatedAt=e.updatedAt),this.cookieSyncDirty=!1})().finally(()=>{this.cookieSyncPromise=null})),this.cookieSyncPromise}async persistCookies(){let e=await k(this.cookieJar.dump(),this.cookieUpdatedAt);e<=this.cookieUpdatedAt||(this.cookieUpdatedAt=e,this.cookieSyncDirty=!1,this.cookieSyncChannel.postMessage({updatedAt:e}))}setTransport(e){for(let t of(this.transport=e,this.frames))t.controller.transport=e,t.fetchHandler.client.transport=e}createFrame(e,t={}){if(!this.ready)throw Error("Controller is not ready! Try awaiting controller.wait()");let r=new v(this,e??=document.createElement("iframe"),t);return this.frames.push(r),r}async wait(){await this.ready}}class v{controller;element;options;id;prefix;fetchHandler;hooks;get context(){return{config:this.controller._6p7n1ahConfig,prefix:new URL(this.prefix,location.href),cookieJar:this.controller.cookieJar,interface:{getInjectScripts:function e(t,r,o,s,i,n){return(a,c,l,d)=>{var h;return[d(t._6p7n1ahPath),d(o.href+t.virtualWasmPath),d(t.injectPath),d("data:text/javascript;charset=utf-8;base64,"+(h=`
|
|
2
|
+
document.querySelectorAll("script[_n1i1sqz7a5f0_n1i]").forEach(script => script.remove());
|
|
3
|
+
_u806vei.load({
|
|
4
|
+
config: ${JSON.stringify(t)},
|
|
5
|
+
sjconfig: ${JSON.stringify(r)},
|
|
6
|
+
prefix: new URL("${o.href}"),
|
|
7
|
+
cookies: ${JSON.stringify(s.dump())},
|
|
8
|
+
yieldGetInjectScripts: ${e.toString()},
|
|
9
|
+
codecEncode: ${i.toString()},
|
|
10
|
+
codecDecode: ${n.toString()},
|
|
11
|
+
initHeaders: ${JSON.stringify(l.headers??[])},
|
|
12
|
+
history: ${JSON.stringify(l.history??[])},
|
|
13
|
+
})
|
|
14
|
+
`,btoa(new TextEncoder().encode(h).reduce((e,t)=>(e.push(String.fromCharCode(t)),e),[]).join(""))))]}}(this.controller.config,this.controller._6p7n1ahConfig,new URL(this.prefix,location.href),this.controller.cookieJar,this.controller.config.codec.encode,this.controller.config.codec.decode),getWorkerInjectScripts:(e,t,r)=>{var o;let s="";return s+=r(this.controller.config._6p7n1ahPath),s+=r(this.prefix+this.controller.config.virtualWasmPath),s+=r("data:text/javascript;charset=utf-8;base64,"+(o=`
|
|
15
|
+
(()=>{
|
|
16
|
+
const { _2czy428eent4_, CookieJar, setWasm } = _dln2p7n;
|
|
17
|
+
|
|
18
|
+
setWasm(Uint8Array.from(atob(self.WASM), (c) => c.charCodeAt(0)));
|
|
19
|
+
delete self.WASM;
|
|
20
|
+
|
|
21
|
+
const sjconfig = ${JSON.stringify(this.controller._6p7n1ahConfig)};
|
|
22
|
+
const prefix = new URL("${this.prefix}", location.href);
|
|
23
|
+
|
|
24
|
+
const context = {
|
|
25
|
+
config: sjconfig,
|
|
26
|
+
prefix,
|
|
27
|
+
interface: {
|
|
28
|
+
codecEncode: ${this.controller.config.codec.encode.toString()},
|
|
29
|
+
codecDecode: ${this.controller.config.codec.decode.toString()},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const client = new _2czy428eent4_(globalThis, {
|
|
34
|
+
context,
|
|
35
|
+
transport: null,
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
client.hook();
|
|
39
|
+
})();
|
|
40
|
+
`,btoa(new TextEncoder().encode(o).reduce((e,t)=>(e.push(String.fromCharCode(t)),e),[]).join(""))))},codecEncode:this.controller.config.codec.encode,codecDecode:this.controller.config.codec.decode}}}plugins=[];constructor(e,r,o={}){for(const s of(this.controller=e,this.element=r,this.options=o,this.id=b(),this.prefix=this.controller.prefix+this.id+"/",this.fetchHandler=new i.mK({crossOriginIsolated:self.crossOriginIsolated,context:this.context,transport:e.transport,async sendSetCookie(t,r){await e.persistCookies(),await e.propagateCookieSync(t.map(({url:e,cookie:t})=>({url:e.href,cookie:t})),r)},fetchBlobUrl:async e=>t.Sr.fromNativeResponse(await fetch(e)),fetchDataUrl:async e=>t.Sr.fromNativeResponse(await fetch(e))}),this.hooks={fetch:this.fetchHandler.hooks.fetch,init:i.Cx.create(),error:i.Cx.create()},r[n.I]=this,this.plugins=o.plugins??[],this.plugins)){for(const e of s.dependencies)if(!this.plugins.find(t=>t.name===e))throw Error(`Dependency ${e} not found for plugin ${s.name}`);s.install(this)}}getPlugin(e){let t=this.plugins.find(t=>t.name===e);if(!t)throw Error(`Plugin ${e} not found`);return t}back(){this.element.contentWindow?.history.back()}forward(){this.element.contentWindow?.history.forward()}reload(){this.element.contentWindow?.location.reload()}go(e){let t=(0,i.Oy)(e,this.context,{origin:new URL(location.href),base:new URL(location.href)});this.element.src=t}}})(),_u806vei=o})();
|
|
41
|
+
//# sourceMappingURL=controller.api.js.map
|
package/equ4q/datyqq.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var _u806vei;(()=>{var e={805(e,t,r){r.d(t,{C:()=>o});class o{methods;id;sendRaw;counter=0;promiseCallbacks=new Map;constructor(e,t,r){this.methods=e,this.id=t,this.sendRaw=r}recieve(e){if(null==e||"object"!=typeof e)return;let t=e[this.id];if(null==t||"object"!=typeof t)return;let r=t.$type;if("response"===r){let e=t.$token,r=t.$data,o=t.$error,s=this.promiseCallbacks.get(e);if(!s)return;this.promiseCallbacks.delete(e),void 0!==o?s.reject(Error(o)):s.resolve(r)}else if("request"===r){let e=t.$method,r=t.$args;this.methods[e](r).then(e=>{this.sendRaw({[this.id]:{$type:"response",$token:t.$token,$data:e?.[0]}},e?.[1])}).catch(e=>{console.error(e),this.sendRaw({[this.id]:{$type:"response",$token:t.$token,$error:e?.toString()||"Unknown error"}},[])})}}call(e,t,r=[]){let o=this.counter++;return new Promise((s,i)=>{this.promiseCallbacks.set(o,{resolve:s,reject:i}),this.sendRaw({[this.id]:{$type:"request",$method:e,$args:t,$token:o}},r)})}}}},t={};function r(o){var s=t[o];if(void 0!==s)return s.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,r),i.exports}r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{r.r(o),r.d(o,{route:()=>a,shouldRoute:()=>n});var e=r(805);let t={};addEventListener("message",e=>{if(e.data&&"object"==typeof e.data){if(e.data.$sw$setCookieDone&&"object"==typeof e.data.$sw$setCookieDone){let r=e.data.$sw$setCookieDone,o=t[r.id];o&&(o(),delete t[r.id])}if(e.data.$sw$initRemoteTransport&&"object"==typeof e.data.$sw$initRemoteTransport){let{port:t,prefix:r}=e.data.$sw$initRemoteTransport,o=i.find(e=>new URL(r).pathname.startsWith(e.prefix));if(!o)return void console.error("No relevant controller found for transport init");o.rpc.call("initRemoteTransport",t,[t])}}});class s{prefix;id;rpc;constructor(r,o,s){this.prefix=r,this.id=o,this.rpc=new e.C({sendSetCookie:async({cookies:e,options:r})=>{let o=await self.clients.matchAll(),s=[],i=[],n=r?.destination==="document"||r?.destination==="iframe";for(let a of o){let o=Math.random().toString(36).substring(2,10);s.push(o),a.postMessage({$controller$setCookie:{cookies:e,options:r,id:o}}),n||i.push(new Promise(e=>{t[o]=()=>e(o)}))}if(i.length>0){let r,n=!1,a=new Promise(i=>{r=setTimeout(()=>{if(!n){let r=s.filter(e=>void 0!==t[e]);console.error(`timed out waiting for set cookie response (deadlock?): cookies=${e.length} clients=${o.length} pending=${r.length}/${s.length} clientUrls=${o.map(e=>e.url).join(",")}`)}i()},1e3)});try{await Promise.race([a,Promise.any(i).then(()=>{n=!0}).catch(()=>{})])}finally{for(let e of(void 0!==r&&clearTimeout(r),s))delete t[e]}}}},"tabchannel-"+o,(e,t)=>{s.postMessage(e,t)}),s.onmessage=e=>{this.rpc.recieve(e.data)},s.onmessageerror=console.error,this.rpc.call("ready",void 0)}}let i=[];function n(e){let t=new URL(e.request.url);return void 0!==i.find(e=>t.pathname.startsWith(e.prefix))}async function a(e){try{let t=new URL(e.request.url),r=i.find(e=>t.pathname.startsWith(e.prefix)),o=await clients.get(e.clientId),s=[...e.request.headers],n=await r.rpc.call("request",{rawUrl:e.request.url,rawReferrer:e.request.referrer,destination:e.request.destination,mode:e.request.mode,referrer:e.request.referrer,method:e.request.method,body:e.request.body,cache:e.request.cache,forceCrossOriginIsolated:!1,initialHeaders:s,rawClientUrl:o?o.url:void 0,clientId:e.clientId||e.resultingClientId},e.request.body instanceof ReadableStream||e.request.body instanceof ArrayBuffer?[e.request.body]:void 0);return new Response(n.body,{status:n.status,statusText:n.statusText,headers:n.headers})}catch(e){return console.error("Service Worker error:",e),new Response("Internal Service Worker Error: "+e.message,{status:500})}}addEventListener("message",e=>{if(!e.data||"object"!=typeof e.data||!e.data.$controller$init||"object"!=typeof e.data.$controller$init)return;let t=e.data.$controller$init,r=i.findIndex(e=>e.id===t.id);-1!==r&&i.splice(r,1),i.push(new s(t.prefix,t.id,e.ports[0]))}),addEventListener("install",()=>{self.__requestWorkerActivation()}),addEventListener("activate",e=>{e.waitUntil(clients.claim())}),setTimeout(async()=>{for(let e of(console.log("service worker activated, notifying clients to revive"),await clients.matchAll()))e.postMessage({$controller$swrevive:{}})},100)})(),_u806vei=o})();
|
|
2
|
+
//# sourceMappingURL=controller.sw.js.map
|
package/favicon.svg
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
2
|
+
<g stroke="#f3f4f6" stroke-width="3.4" stroke-linecap="round">
|
|
3
|
+
<line x1="16" y1="5" x2="16" y2="27" />
|
|
4
|
+
<line x1="5" y1="16" x2="27" y2="16" />
|
|
5
|
+
<line x1="8.2" y1="8.2" x2="23.8" y2="23.8" />
|
|
6
|
+
<line x1="23.8" y1="8.2" x2="8.2" y2="23.8" />
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
package/ignite-ember.css
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/* Ignite OS — Dark Ember · iOS 26 glass, restrained.
|
|
2
|
+
Near-black surfaces, hairline borders, ember used only as a quiet accent. */
|
|
3
|
+
|
|
4
|
+
:root, :root[data-theme=light], :root[data-theme=dark] {
|
|
5
|
+
--bg: #08080a;
|
|
6
|
+
--surface: color-mix(in srgb, #ffffff 4.5%, transparent);
|
|
7
|
+
--surface-2: color-mix(in srgb, #ffffff 7%, transparent);
|
|
8
|
+
--surface-3: color-mix(in srgb, #ffffff 10%, transparent);
|
|
9
|
+
--surface-solid: #131114;
|
|
10
|
+
--border: rgba(255, 255, 255, 0.07);
|
|
11
|
+
--border-2: rgba(255, 255, 255, 0.12);
|
|
12
|
+
--text: #ece7e3;
|
|
13
|
+
--muted: rgba(236, 231, 227, 0.62);
|
|
14
|
+
--muted-2: rgba(236, 231, 227, 0.38);
|
|
15
|
+
--accent: #c9703a;
|
|
16
|
+
--accent-contrast: #0c0807;
|
|
17
|
+
--mesh-base: #08080a;
|
|
18
|
+
--mesh-glow-1: #2a1209;
|
|
19
|
+
--mesh-glow-2: #1d0e09;
|
|
20
|
+
--mesh-glow-3: #140a08;
|
|
21
|
+
--radius: 18px;
|
|
22
|
+
--radius-sm: 13px;
|
|
23
|
+
--radius-xs: 9px;
|
|
24
|
+
--ember: #c9703a;
|
|
25
|
+
--ember-soft: #e0a27a;
|
|
26
|
+
--glass: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
|
|
27
|
+
--glass-hi: inset 0 1px 0 rgba(255,255,255,.07);
|
|
28
|
+
--font-round: ui-rounded, 'SF Pro Rounded', -apple-system, BlinkMacSystemFont, 'Geist Variable', system-ui, sans-serif;
|
|
29
|
+
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Geist Variable', 'Segoe UI', system-ui, sans-serif;
|
|
30
|
+
color-scheme: dark;
|
|
31
|
+
}
|
|
32
|
+
body { background: #08080a; letter-spacing: -0.012em; -webkit-font-smoothing: antialiased; }
|
|
33
|
+
::selection { background: rgba(201,112,58,.55); color: #fff; }
|
|
34
|
+
|
|
35
|
+
/* Calm the animated background into a faint ember haze */
|
|
36
|
+
.dark-veil-canvas, ._v4jfozk canvas { opacity: .34; filter: saturate(.75) brightness(.8); }
|
|
37
|
+
._rx2al0e { background: radial-gradient(80% 60% at 50% 0%, rgba(0,0,0,0), rgba(8,8,10,.55)) !important; }
|
|
38
|
+
|
|
39
|
+
/* ---------- Glass surfaces ---------- */
|
|
40
|
+
._gs5mofn {
|
|
41
|
+
background: linear-gradient(180deg, rgba(20,18,20,.72), rgba(12,11,13,.78)) !important;
|
|
42
|
+
-webkit-backdrop-filter: blur(30px) saturate(150%); backdrop-filter: blur(30px) saturate(150%);
|
|
43
|
+
border: 1px solid rgba(255,255,255,.07) !important;
|
|
44
|
+
box-shadow: var(--glass-hi), 0 18px 50px rgba(0,0,0,.55);
|
|
45
|
+
}
|
|
46
|
+
@media (min-width: 701px) {
|
|
47
|
+
._gs5mofn { margin: 10px 0 10px 10px; height: calc(100% - 20px); border-radius: 26px; overflow: hidden; }
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.sidebar-omnibox, .newtab-search-wrap form, ._25dnvc2 {
|
|
51
|
+
background: var(--glass) !important;
|
|
52
|
+
border: 1px solid rgba(255,255,255,.09) !important;
|
|
53
|
+
border-radius: 999px !important;
|
|
54
|
+
box-shadow: var(--glass-hi), 0 6px 22px rgba(0,0,0,.35);
|
|
55
|
+
-webkit-backdrop-filter: blur(24px) saturate(140%); backdrop-filter: blur(24px) saturate(140%);
|
|
56
|
+
}
|
|
57
|
+
.sidebar-omnibox:focus-within, ._25dnvc2:focus-within, ._25dnvc2.focused {
|
|
58
|
+
border-color: rgba(201,112,58,.55) !important;
|
|
59
|
+
box-shadow: var(--glass-hi), 0 0 0 3px rgba(201,112,58,.14), 0 6px 22px rgba(0,0,0,.35) !important;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.bookmark-tile {
|
|
63
|
+
border-radius: 16px !important;
|
|
64
|
+
background: linear-gradient(160deg, #26211f, #151214) !important;
|
|
65
|
+
border: 1px solid rgba(255,255,255,.08) !important; color: var(--ember-soft) !important;
|
|
66
|
+
font-family: var(--font-round); font-weight: 700;
|
|
67
|
+
box-shadow: var(--glass-hi), 0 6px 14px rgba(0,0,0,.4);
|
|
68
|
+
transition: transform .22s cubic-bezier(.3,1.4,.5,1), border-color .2s;
|
|
69
|
+
}
|
|
70
|
+
.bookmark-tile:hover { transform: translateY(-2px); border-color: rgba(201,112,58,.45) !important; }
|
|
71
|
+
.bookmark-tile.bookmark-add { background: var(--glass) !important; color: var(--muted) !important; }
|
|
72
|
+
|
|
73
|
+
.new-tab, ._u1z2hr2, .tab-item, ._1lqv40d { border-radius: 13px !important; transition: background .2s, transform .15s; }
|
|
74
|
+
.new-tab:hover, ._u1z2hr2:hover, .tab-item:hover, ._1lqv40d:hover { background: rgba(255,255,255,.07) !important; }
|
|
75
|
+
.new-tab:active, ._u1z2hr2:active, ._1lqv40d:active { transform: scale(.97); }
|
|
76
|
+
.tab-item.active {
|
|
77
|
+
background: linear-gradient(180deg, rgba(201,112,58,.2), rgba(201,112,58,.09)) !important;
|
|
78
|
+
border: 1px solid rgba(201,112,58,.32); color: #f3e4d8;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.modal, .backend-unavailable-modal {
|
|
82
|
+
background: linear-gradient(180deg, rgba(24,21,23,.94), rgba(14,12,14,.96)) !important;
|
|
83
|
+
border: 1px solid rgba(255,255,255,.09) !important; border-radius: 26px !important;
|
|
84
|
+
box-shadow: var(--glass-hi), 0 28px 80px rgba(0,0,0,.7);
|
|
85
|
+
-webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px);
|
|
86
|
+
}
|
|
87
|
+
.backend-unavailable-backdrop, ._t97drno { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); background: rgba(4,4,5,.6); }
|
|
88
|
+
.plus-perks-toast {
|
|
89
|
+
background: linear-gradient(180deg, rgba(26,23,25,.9), rgba(16,14,16,.92)) !important; border: 1px solid rgba(255,255,255,.09) !important; border-radius: 22px !important;
|
|
90
|
+
box-shadow: var(--glass-hi), 0 14px 40px rgba(0,0,0,.55);
|
|
91
|
+
-webkit-backdrop-filter: blur(26px); backdrop-filter: blur(26px);
|
|
92
|
+
}
|
|
93
|
+
.plus-perks-toast-cta, .backend-unavailable-modal button {
|
|
94
|
+
border-radius: 999px !important; font-weight: 600;
|
|
95
|
+
background: linear-gradient(180deg, #b8653a, #8e4624) !important; color: #fff6ee !important;
|
|
96
|
+
border: 1px solid rgba(255,255,255,.12) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
|
|
97
|
+
}
|
|
98
|
+
.discord-link { border-radius: 999px !important; background: var(--glass) !important; border: 1px solid rgba(255,255,255,.08) !important;
|
|
99
|
+
-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }
|
|
100
|
+
|
|
101
|
+
button, input, select, textarea { font-family: inherit; }
|
|
102
|
+
button:focus-visible { outline: 2px solid rgba(201,112,58,.7); outline-offset: 2px; }
|
|
103
|
+
|
|
104
|
+
/* ---------- Ignite OS home screen ---------- */
|
|
105
|
+
.ignite-home { align-items: flex-start !important; padding: clamp(18px, 4vw, 44px) !important; }
|
|
106
|
+
.ignite-home:before { background: radial-gradient(70% 45% at 50% 0%, rgba(201,112,58,.08), transparent 70%) !important; }
|
|
107
|
+
.ignite-os-home { margin: auto !important; max-width: 740px !important; gap: 20px !important; align-items: stretch !important; }
|
|
108
|
+
|
|
109
|
+
.ignite-hero {
|
|
110
|
+
position: relative; overflow: hidden; padding: 28px 32px; border-radius: 32px;
|
|
111
|
+
display: flex; flex-direction: column; gap: 2px;
|
|
112
|
+
background: linear-gradient(160deg, rgba(201,112,58,.14) 0%, rgba(255,255,255,.04) 45%, rgba(255,255,255,.02) 100%);
|
|
113
|
+
border: 1px solid rgba(255,255,255,.08);
|
|
114
|
+
box-shadow: var(--glass-hi), 0 16px 48px rgba(0,0,0,.5);
|
|
115
|
+
-webkit-backdrop-filter: blur(30px) saturate(140%); backdrop-filter: blur(30px) saturate(140%);
|
|
116
|
+
}
|
|
117
|
+
.ignite-hero:before { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
|
|
118
|
+
background: radial-gradient(110% 60% at 15% -15%, rgba(255,255,255,.09), transparent 55%); }
|
|
119
|
+
.ignite-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; position: relative; }
|
|
120
|
+
.ignite-flame {
|
|
121
|
+
width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center;
|
|
122
|
+
background: linear-gradient(160deg, #2b2421, #141113);
|
|
123
|
+
border: 1px solid rgba(201,112,58,.35);
|
|
124
|
+
box-shadow: var(--glass-hi), 0 0 18px rgba(201,112,58,.18);
|
|
125
|
+
}
|
|
126
|
+
.ignite-flame svg { width: 22px; height: 22px; fill: var(--ember); }
|
|
127
|
+
.ignite-wordmark { margin: 0; font-family: var(--font-round); font-size: 13px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
|
|
128
|
+
.ignite-wordmark b { color: var(--text); font-weight: 700; }
|
|
129
|
+
.ignite-clock { position: relative; font-family: var(--font-round); font-weight: 300; font-size: clamp(60px, 11vw, 92px); line-height: .95; letter-spacing: -.045em; color: #f1ebe6; }
|
|
130
|
+
.ignite-date { position: relative; margin-top: 8px; font-size: 14px; font-weight: 500; color: var(--muted); }
|
|
131
|
+
.ignite-greeting { position: relative; margin: 14px 0 0; font-size: 13.5px; color: var(--muted-2); }
|
|
132
|
+
|
|
133
|
+
.ignite-os-home .newtab-search-wrap { width: 100%; }
|
|
134
|
+
.ignite-os-home ._25dnvc2 { height: 54px; }
|
|
135
|
+
|
|
136
|
+
.ignite-apps { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 22px 8px; padding: 6px 4px 0; }
|
|
137
|
+
.ignite-app { display: flex; flex-direction: column; align-items: center; gap: 9px; background: none; border: 0; cursor: pointer; color: var(--text); padding: 0; }
|
|
138
|
+
.ignite-app:disabled { opacity: .5; cursor: default; }
|
|
139
|
+
.ignite-app-icon {
|
|
140
|
+
position: relative; overflow: hidden; width: 66px; height: 66px; border-radius: 22px; display: grid; place-items: center;
|
|
141
|
+
font-family: var(--font-round); font-weight: 700; font-size: 24px; color: var(--ember-soft);
|
|
142
|
+
background: linear-gradient(160deg, #2a2421 0%, #141113 100%) !important;
|
|
143
|
+
border: 1px solid rgba(255,255,255,.08);
|
|
144
|
+
box-shadow: var(--glass-hi), 0 8px 18px rgba(0,0,0,.45);
|
|
145
|
+
transition: transform .22s cubic-bezier(.3,1.4,.5,1), border-color .2s, box-shadow .2s;
|
|
146
|
+
}
|
|
147
|
+
.ignite-app-icon:after { content: ''; position: absolute; inset: 0; background: radial-gradient(90% 55% at 30% 0%, rgba(255,255,255,.1), transparent 60%); pointer-events: none; }
|
|
148
|
+
.ignite-app-icon > span { position: relative; z-index: 1; }
|
|
149
|
+
.ignite-app:hover .ignite-app-icon { transform: translateY(-3px); border-color: rgba(201,112,58,.5); box-shadow: var(--glass-hi), 0 14px 26px rgba(0,0,0,.5), 0 0 22px rgba(201,112,58,.16); }
|
|
150
|
+
.ignite-app:active .ignite-app-icon { transform: scale(.94); }
|
|
151
|
+
.ignite-app-label { font-size: 12px; font-weight: 500; color: var(--muted); }
|
|
152
|
+
|
|
153
|
+
.ignite-tour-open { align-self: center; margin-top: 4px; height: 34px; padding: 0 16px; border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--muted);
|
|
154
|
+
background: var(--glass); border: 1px solid rgba(255,255,255,.09); cursor: pointer; transition: color .2s, border-color .2s; }
|
|
155
|
+
.ignite-tour-open:hover { color: var(--text); border-color: rgba(201,112,58,.45); }
|
|
156
|
+
|
|
157
|
+
/* ---------- Guided tour ---------- */
|
|
158
|
+
.ignite-tour { position: fixed; inset: 0; z-index: 200; }
|
|
159
|
+
.ignite-tour-scrim { position: absolute; inset: 0; }
|
|
160
|
+
.ignite-tour-ring {
|
|
161
|
+
position: fixed; border-radius: 20px; pointer-events: none; z-index: 1;
|
|
162
|
+
border: 1.5px solid rgba(201,112,58,.85);
|
|
163
|
+
box-shadow: 0 0 0 9999px rgba(4,4,5,.66), 0 0 24px rgba(201,112,58,.35);
|
|
164
|
+
transition: all .28s cubic-bezier(.3,1,.4,1);
|
|
165
|
+
}
|
|
166
|
+
.ignite-tour-card {
|
|
167
|
+
position: fixed; z-index: 2; padding: 18px 20px 16px; border-radius: 24px; transition: left .28s, top .28s;
|
|
168
|
+
background: linear-gradient(180deg, rgba(30,26,28,.95), rgba(16,14,16,.97));
|
|
169
|
+
border: 1px solid rgba(255,255,255,.1); box-shadow: var(--glass-hi), 0 24px 60px rgba(0,0,0,.7);
|
|
170
|
+
-webkit-backdrop-filter: blur(28px); backdrop-filter: blur(28px);
|
|
171
|
+
}
|
|
172
|
+
.ignite-tour-step { font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ember); }
|
|
173
|
+
.ignite-tour-card h3 { margin: 6px 0 6px; font-family: var(--font-round); font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--text); }
|
|
174
|
+
.ignite-tour-card p { margin: 0 0 16px; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
|
|
175
|
+
.ignite-tour-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
|
|
176
|
+
.ignite-tour-actions > span { display: flex; gap: 8px; }
|
|
177
|
+
.ignite-tour-skip { background: none; border: 0; color: var(--muted-2); font-size: 13px; cursor: pointer; padding: 6px 4px; }
|
|
178
|
+
.ignite-tour-skip:hover { color: var(--text); }
|
|
179
|
+
.ignite-tour-btn { height: 34px; padding: 0 16px; border-radius: 999px; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--text);
|
|
180
|
+
background: var(--glass); border: 1px solid rgba(255,255,255,.1); }
|
|
181
|
+
.ignite-tour-btn.primary { background: linear-gradient(180deg, #b8653a, #8e4624); border-color: rgba(255,255,255,.14); color: #fff6ee; }
|
|
182
|
+
|
|
183
|
+
@media (max-width: 700px) {
|
|
184
|
+
.ignite-hero { padding: 22px; border-radius: 28px; }
|
|
185
|
+
.ignite-app-icon { width: 60px; height: 60px; border-radius: 19px; font-size: 22px; }
|
|
186
|
+
}
|
|
187
|
+
@media (prefers-reduced-motion: reduce) { * { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
|
|
188
|
+
|
|
189
|
+
/* Games: dark tile fallback when a thumbnail cannot load */
|
|
190
|
+
.ignite-thumb-fallback { display: grid !important; place-items: center !important; width: 100%; height: 100%; font-family: var(--font-round); font-weight: 700; font-size: 38px; color: var(--ember-soft);
|
|
191
|
+
background: linear-gradient(160deg, #2a2421, #141113); }
|