jivamai 0.2.33 → 0.2.34-dev.828ae62

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.
@@ -0,0 +1,10 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
2
+ Theme: GitHub
3
+ Description: Light theme as seen on github.com
4
+ Author: github.com
5
+ Maintainer: @Hirse
6
+ Updated: 2021-05-15
7
+
8
+ Outdated base version: https://github.com/primer/github-syntax-light
9
+ Current colors taken from GitHub's CSS
10
+ */.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}*,:before,:after{--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 / .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 / .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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;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,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{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}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-10{bottom:2.5rem}.bottom-2\.5{bottom:.625rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.right-0{right:0}.right-2\.5{right:.625rem}.right-4{right:1rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-6{margin-right:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.max-h-96{max-height:24rem}.max-h-\[240px\]{max-height:240px}.max-h-\[90vh\]{max-height:90vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[260px\]{width:260px}.w-\[320px\]{width:320px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.max-w-2xl{max-width:42rem}.max-w-\[140px\]{max-width:140px}.max-w-\[160px\]{max-width:160px}.max-w-\[75\%\]{max-width:75%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(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:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.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-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.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-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-tl-sm{border-top-left-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-amber-400\/25{border-color:#fbbf2440}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-800{--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-purple-400\/50{border-color:#c084fc80}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.border-red-400\/25{border-color:#f8717140}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-t-transparent{border-top-color:transparent}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-\[var\(--card\)\]{background-color:var(--card)}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-black\/10{background-color:#0000001a}.bg-black\/20{background-color:#0003}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-100\/60{background-color:#f3e8ff99}.bg-purple-900\/10{background-color:#581c871a}.bg-purple-900\/20{background-color:#581c8733}.bg-purple-900\/30{background-color:#581c874d}.bg-red-400\/5{background-color:#f871710d}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-jivam-purple{--tw-gradient-from: #8B5CF6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-jivam-blue{--tw-gradient-to: #3B82F6 var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.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-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.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-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-3\.5{padding-left:.875rem}.pl-6{padding-left:1.5rem}.pr-2\.5{padding-right:.625rem}.pr-3\.5{padding-right:.875rem}.pr-9{padding-right:2.25rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--accent-blue\)\]{color:var(--accent-blue)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-subtle\)\]{color:var(--text-subtle)}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-300\/90{color:#fcd34de6}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.accent-purple-500{accent-color:#a855f7}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(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-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px 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_0_4px_rgba\(34\,197\,94\,0\.6\)\]{--tw-shadow: 0 0 4px rgba(34,197,94,.6);--tw-shadow-colored: 0 0 4px 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: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px 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-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 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-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);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)}.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)}.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);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--bg: #F5F3FF;--bg-secondary: #EDE9FE;--card: #FFFFFF;--card-border: rgba(139, 92, 246, .15);--card-shadow: 0 4px 24px rgba(139, 92, 246, .08);--text: #1E1B4B;--text-muted: #6B7280;--text-subtle: #9CA3AF;--accent: #8B5CF6;--accent-blue: #3B82F6;--accent-indigo: #6366F1;--input-bg: rgba(255, 255, 255, .9);--input-border: rgba(139, 92, 246, .25);--user-bubble-bg: linear-gradient(135deg, #8B5CF6, #3B82F6);--user-bubble-text: #FFFFFF;--agent-bubble-bg: #FFFFFF;--agent-bubble-border: rgba(139, 92, 246, .12);--topbar-bg: rgba(245, 243, 255, .85);--topbar-border: rgba(139, 92, 246, .12);--sidebar-bg: rgba(255, 255, 255, .95);--scrollbar-thumb: rgba(139, 92, 246, .3);--code-bg: #F8F5FF;--code-border: rgba(139, 92, 246, .12)}[data-theme=dark]{--bg: #0A0A0B;--bg-secondary: #111113;--card: rgba(28, 28, 33, .85);--card-border: rgba(139, 92, 246, .2);--card-shadow: 0 4px 24px rgba(139, 92, 246, .15);--text: #F5F3FF;--text-muted: #9CA3AF;--text-subtle: #6B7280;--accent: #A78BFA;--accent-blue: #60A5FA;--accent-indigo: #818CF8;--input-bg: rgba(28, 28, 33, .9);--input-border: rgba(139, 92, 246, .35);--user-bubble-bg: linear-gradient(135deg, #7C3AED, #2563EB);--user-bubble-text: #FFFFFF;--agent-bubble-bg: rgba(28, 28, 33, .9);--agent-bubble-border: rgba(139, 92, 246, .2);--topbar-bg: rgba(10, 10, 11, .9);--topbar-border: rgba(139, 92, 246, .15);--sidebar-bg: rgba(17, 17, 19, .98);--scrollbar-thumb: rgba(139, 92, 246, .4);--code-bg: rgba(28, 28, 33, .8);--code-border: rgba(139, 92, 246, .2)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#8b5cf680}.aurora-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.aurora-bg:before{content:"";position:absolute;width:80%;height:80%;top:-20%;left:-10%;background:radial-gradient(ellipse,rgba(139,92,246,.08) 0%,transparent 70%);animation:aurora 20s ease-in-out infinite}.aurora-bg:after{content:"";position:absolute;width:60%;height:60%;bottom:-10%;right:-10%;background:radial-gradient(ellipse,rgba(59,130,246,.06) 0%,transparent 70%);animation:aurora 25s ease-in-out infinite reverse}[data-theme=dark] .aurora-bg:before{background:radial-gradient(ellipse,rgba(139,92,246,.12) 0%,transparent 70%)}[data-theme=dark] .aurora-bg:after{background:radial-gradient(ellipse,rgba(59,130,246,.08) 0%,transparent 70%)}@keyframes aurora{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.05)}66%{transform:translate(-30px,20px) scale(.95)}}.glass-card{background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);box-shadow:var(--card-shadow)}.gradient-text{background:linear-gradient(135deg,var(--accent),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:typingBounce 1.4s ease-in-out infinite}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-8px);opacity:1}}.hljs{background:var(--code-bg)!important;color:var(--text)!important;border-radius:.5rem}[data-theme=dark] .hljs-keyword{color:#c084fc}[data-theme=dark] .hljs-string{color:#86efac}[data-theme=dark] .hljs-comment{color:#6b7280}[data-theme=dark] .hljs-number{color:#fca5a5}[data-theme=dark] .hljs-function{color:#93c5fd}.drag-region{-webkit-app-region:drag}.no-drag{-webkit-app-region:no-drag}.markdown-body{line-height:1.7;color:var(--text)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-weight:600;margin:1.25em 0 .5em;line-height:1.3;color:var(--text)}.markdown-body h1{font-size:1.4em}.markdown-body h2{font-size:1.2em}.markdown-body h3{font-size:1.1em}.markdown-body p{margin:.75em 0}.markdown-body ul,.markdown-body ol{padding-left:1.5em;margin:.5em 0}.markdown-body li{margin:.25em 0}.markdown-body code:not(pre code){background:var(--code-bg);border:1px solid var(--code-border);border-radius:4px;padding:.1em .4em;font-size:.875em;font-family:JetBrains Mono,Fira Code,monospace}.markdown-body pre{background:var(--code-bg);border:1px solid var(--code-border);border-radius:.5rem;margin:.75em 0;overflow:hidden}.markdown-body blockquote{border-left:3px solid var(--accent);padding-left:1em;margin:.75em 0;color:var(--text-muted)}.markdown-body table{width:100%;border-collapse:collapse;margin:.75em 0;font-size:.9em;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--card-border);padding:.5em .75em;text-align:left}.markdown-body th{background:var(--bg-secondary);font-weight:600}.markdown-body a{color:var(--accent);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body hr{border:none;border-top:1px solid var(--card-border);margin:1em 0}.status-row-shrink{container-type:inline-size}@container (max-width: 480px){.status-row-disclaimer{display:none}}.placeholder\:text-\[var\(--text-subtle\)\]::-moz-placeholder{color:var(--text-subtle)}.placeholder\:text-\[var\(--text-subtle\)\]::placeholder{color:var(--text-subtle)}.hover\:border-\[rgba\(139\,92\,246\,0\.4\)\]:hover{border-color:#8b5cf666}.hover\:border-purple-200:hover{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.hover\:border-purple-300:hover{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1))}.hover\:bg-\[rgba\(139\,92\,246\,0\.03\)\]:hover{background-color:#8b5cf608}.hover\:bg-\[rgba\(139\,92\,246\,0\.05\)\]:hover{background-color:#8b5cf60d}.hover\:bg-\[rgba\(139\,92\,246\,0\.06\)\]:hover{background-color:#8b5cf60f}.hover\:bg-\[var\(--card\)\]:hover{background-color:var(--card)}.hover\:bg-\[var\(--hover\)\]:hover{background-color:var(--hover)}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-purple-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-50\/50:hover{background-color:#faf5ff80}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text\)\]:hover{color:var(--text)}.hover\:text-\[var\(--text-muted\)\]:hover{color:var(--text-muted)}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-white\/70:hover{color:#ffffffb3}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:brightness-105:hover{--tw-brightness: brightness(1.05);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)}.focus\:border-\[rgba\(139\,92\,246\,0\.5\)\]:focus{border-color:#8b5cf680}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--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(1px + 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)}.focus\:ring-\[rgba\(139\,92\,246\,0\.2\)\]:focus{--tw-ring-color: rgba(139,92,246,.2)}.focus-visible\:ring-2:focus-visible{--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(2px + 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)}.focus-visible\:ring-purple-500\/50:focus-visible{--tw-ring-color: rgb(168 85 247 / .5)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-\[var\(--accent\)\]{color:var(--accent)}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-blue-800:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-purple-500\/50:is([data-theme=dark] *){border-color:#a855f780}.dark\:bg-amber-900\/20:is([data-theme=dark] *){background-color:#78350f33}.dark\:bg-black\/40:is([data-theme=dark] *){background-color:#0006}.dark\:bg-blue-900\/20:is([data-theme=dark] *){background-color:#1e3a8a33}.dark\:bg-gray-800:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/20:is([data-theme=dark] *){background-color:#14532d33}.dark\:bg-purple-900\/30:is([data-theme=dark] *){background-color:#581c874d}.dark\:text-amber-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:border-purple-600:hover:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.dark\:hover\:border-purple-700\/40:hover:is([data-theme=dark] *){border-color:#7e22ce66}.dark\:hover\:bg-purple-900\/10:hover:is([data-theme=dark] *){background-color:#581c871a}.dark\:hover\:bg-purple-900\/20:hover:is([data-theme=dark] *){background-color:#581c8733}@media (min-width: 640px){.sm\:inline{display:inline}}
package/dist/index.html CHANGED
@@ -10,8 +10,8 @@
10
10
  <link rel="preconnect" href="https://fonts.googleapis.com">
11
11
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12
12
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
13
- <script type="module" crossorigin src="/assets/index-CbMmXFFf.js"></script>
14
- <link rel="stylesheet" crossorigin href="/assets/index-4So1kBgC.css">
13
+ <script type="module" crossorigin src="/assets/index-Bnmqb4t0.js"></script>
14
+ <link rel="stylesheet" crossorigin href="/assets/index-C6vx7BMs.css">
15
15
  </head>
16
16
  <body>
17
17
  <div id="root"></div>
@@ -0,0 +1,343 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self' http://localhost:*;" />
7
+ <meta name="theme-color" content="#8b5cf6" />
8
+ <title>Jivam — Not Running</title>
9
+ <style>
10
+ * { margin: 0; padding: 0; box-sizing: border-box; }
11
+
12
+ :root {
13
+ --bg: #0A0A0B;
14
+ --card: rgba(28, 28, 33, 0.85);
15
+ --card-border: rgba(139, 92, 246, 0.2);
16
+ --text: #F5F3FF;
17
+ --text-muted: #9CA3AF;
18
+ --text-subtle: #6B7280;
19
+ --accent: #A78BFA;
20
+ --accent-blue: #60A5FA;
21
+ }
22
+
23
+ html, body {
24
+ height: 100%;
25
+ }
26
+
27
+ body {
28
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
29
+ background: var(--bg);
30
+ color: var(--text);
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ padding: 24px;
35
+ overflow-x: hidden;
36
+ }
37
+
38
+ /* Aurora background — same visual language as the main app's .aurora-bg */
39
+ .aurora {
40
+ position: fixed;
41
+ inset: 0;
42
+ pointer-events: none;
43
+ z-index: 0;
44
+ overflow: hidden;
45
+ }
46
+ .aurora::before,
47
+ .aurora::after {
48
+ content: '';
49
+ position: absolute;
50
+ border-radius: 50%;
51
+ animation: aurora-drift 22s ease-in-out infinite;
52
+ }
53
+ .aurora::before {
54
+ width: 80%;
55
+ height: 80%;
56
+ top: -20%;
57
+ left: -10%;
58
+ background: radial-gradient(ellipse, rgba(139, 92, 246, 0.14) 0%, transparent 70%);
59
+ }
60
+ .aurora::after {
61
+ width: 60%;
62
+ height: 60%;
63
+ bottom: -10%;
64
+ right: -10%;
65
+ background: radial-gradient(ellipse, rgba(59, 130, 246, 0.1) 0%, transparent 70%);
66
+ animation-duration: 27s;
67
+ animation-direction: reverse;
68
+ }
69
+ @keyframes aurora-drift {
70
+ 0%, 100% { transform: translate(0, 0) scale(1); }
71
+ 33% { transform: translate(40px, -30px) scale(1.05); }
72
+ 66% { transform: translate(-30px, 20px) scale(0.95); }
73
+ }
74
+
75
+ .card {
76
+ position: relative;
77
+ z-index: 1;
78
+ width: 100%;
79
+ max-width: 520px;
80
+ max-height: 90vh;
81
+ overflow-y: auto;
82
+ background: var(--card);
83
+ border: 1px solid var(--card-border);
84
+ border-radius: 20px;
85
+ padding: 36px;
86
+ text-align: center;
87
+ box-shadow: 0 4px 24px rgba(139, 92, 246, 0.15);
88
+ backdrop-filter: blur(12px);
89
+ }
90
+
91
+ .logo-badge {
92
+ width: 72px;
93
+ height: 72px;
94
+ margin: 0 auto 20px;
95
+ border-radius: 18px;
96
+ display: flex;
97
+ align-items: center;
98
+ justify-content: center;
99
+ background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(59, 130, 246, 0.15));
100
+ }
101
+ .logo-badge img {
102
+ width: 44px;
103
+ height: 44px;
104
+ object-fit: contain;
105
+ }
106
+
107
+ h1 {
108
+ font-size: 22px;
109
+ font-weight: 600;
110
+ margin-bottom: 8px;
111
+ background: linear-gradient(135deg, var(--accent), var(--accent-blue));
112
+ -webkit-background-clip: text;
113
+ background-clip: text;
114
+ -webkit-text-fill-color: transparent;
115
+ }
116
+
117
+ .subtitle {
118
+ font-size: 14px;
119
+ color: var(--text-muted);
120
+ line-height: 1.6;
121
+ margin-bottom: 24px;
122
+ max-width: 400px;
123
+ margin-left: auto;
124
+ margin-right: auto;
125
+ }
126
+
127
+ .subtitle code {
128
+ background: rgba(139, 92, 246, 0.15);
129
+ color: var(--accent);
130
+ padding: 1px 6px;
131
+ border-radius: 4px;
132
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
133
+ font-size: 13px;
134
+ }
135
+
136
+ /* ── Terminal mockups ──────────────────────────────────────────── */
137
+ .terminal {
138
+ text-align: left;
139
+ border-radius: 10px;
140
+ overflow: hidden;
141
+ margin: 0 auto 22px;
142
+ max-width: 400px;
143
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
144
+ font-size: 13px;
145
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
146
+ }
147
+
148
+ /* macOS Terminal.app chrome */
149
+ .terminal.mac .titlebar {
150
+ background: #3a3a3d;
151
+ padding: 9px 12px;
152
+ display: flex;
153
+ align-items: center;
154
+ gap: 8px;
155
+ }
156
+ .terminal.mac .dot { width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; }
157
+ .terminal.mac .dot.red { background: #ff5f57; }
158
+ .terminal.mac .dot.yellow { background: #febc2e; }
159
+ .terminal.mac .dot.green { background: #28c840; }
160
+ .terminal.mac .titlebar .title {
161
+ flex: 1;
162
+ text-align: center;
163
+ color: rgba(255, 255, 255, 0.55);
164
+ font-size: 12px;
165
+ font-family: -apple-system, sans-serif;
166
+ margin-right: 43px; /* balance the dots on the left */
167
+ }
168
+ .terminal.mac .body { background: #1e1e1e; padding: 16px; }
169
+
170
+ /* Windows Terminal / PowerShell chrome */
171
+ .terminal.win .titlebar {
172
+ background: #2b2b2b;
173
+ padding: 8px 6px 8px 12px;
174
+ display: flex;
175
+ align-items: center;
176
+ gap: 8px;
177
+ }
178
+ .terminal.win .titlebar .icon {
179
+ width: 14px;
180
+ height: 14px;
181
+ border-radius: 3px;
182
+ background: linear-gradient(135deg, #5391fe, #1e3a7b);
183
+ flex-shrink: 0;
184
+ }
185
+ .terminal.win .titlebar .title {
186
+ flex: 1;
187
+ color: rgba(255, 255, 255, 0.7);
188
+ font-size: 12px;
189
+ font-family: 'Segoe UI', system-ui, sans-serif;
190
+ }
191
+ .terminal.win .titlebar .win-btn {
192
+ width: 30px;
193
+ height: 24px;
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: center;
197
+ color: rgba(255, 255, 255, 0.55);
198
+ font-size: 10px;
199
+ border-radius: 3px;
200
+ }
201
+ .terminal.win .titlebar .win-btn.close:hover { background: #e81123; color: #fff; }
202
+ .terminal.win .body { background: #012456; padding: 16px; }
203
+
204
+ .terminal .line {
205
+ color: rgba(255, 255, 255, 0.85);
206
+ line-height: 1.7;
207
+ white-space: pre;
208
+ }
209
+ .terminal .prompt { color: #8b8b8b; }
210
+ .terminal.win .prompt { color: #7fb2f0; }
211
+ .terminal .cmd { color: #ffffff; font-weight: 600; }
212
+ .terminal .cursor {
213
+ display: inline-block;
214
+ width: 7px;
215
+ height: 14px;
216
+ background: rgba(255, 255, 255, 0.75);
217
+ vertical-align: -2px;
218
+ animation: blink 1.1s step-end infinite;
219
+ }
220
+ @keyframes blink { 50% { opacity: 0; } }
221
+
222
+ /* ── Status / retry ────────────────────────────────────────────── */
223
+ .status {
224
+ display: flex;
225
+ align-items: center;
226
+ justify-content: center;
227
+ gap: 8px;
228
+ font-size: 12px;
229
+ color: var(--text-subtle);
230
+ margin-bottom: 18px;
231
+ }
232
+ .dots { display: inline-flex; gap: 4px; }
233
+ .dots span {
234
+ width: 5px;
235
+ height: 5px;
236
+ border-radius: 50%;
237
+ background: var(--accent);
238
+ animation: dotBounce 1.4s ease-in-out infinite;
239
+ }
240
+ .dots span:nth-child(2) { animation-delay: 0.2s; }
241
+ .dots span:nth-child(3) { animation-delay: 0.4s; }
242
+ @keyframes dotBounce {
243
+ 0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
244
+ 30% { transform: translateY(-4px); opacity: 1; }
245
+ }
246
+
247
+ button {
248
+ font-family: inherit;
249
+ font-size: 14px;
250
+ font-weight: 500;
251
+ color: #fff;
252
+ background: var(--accent);
253
+ border: none;
254
+ border-radius: 12px;
255
+ padding: 10px 22px;
256
+ cursor: pointer;
257
+ transition: opacity 0.15s ease;
258
+ }
259
+ button:hover { opacity: 0.88; }
260
+ button:active { opacity: 0.75; }
261
+ </style>
262
+ </head>
263
+ <body>
264
+ <div class="aurora"></div>
265
+
266
+ <div class="card">
267
+ <div class="logo-badge">
268
+ <img src="data:image/png;base64,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" alt="Jivam" />
269
+ </div>
270
+
271
+ <h1>Jivam isn't running</h1>
272
+ <p class="subtitle" id="subtitle">
273
+ The Jivam background service isn't running. Open Terminal and run the command below to start it.
274
+ </p>
275
+
276
+ <div class="terminal mac" id="terminal-mac">
277
+ <div class="titlebar">
278
+ <span class="dot red"></span><span class="dot yellow"></span><span class="dot green"></span>
279
+ <span class="title">Terminal — zsh — 80×24</span>
280
+ </div>
281
+ <div class="body">
282
+ <div class="line"><span class="prompt">you@mac ~ %</span> <span class="cmd">jivam</span></div>
283
+ <div class="line"><span class="prompt">you@mac ~ %</span> <span class="cursor"></span></div>
284
+ </div>
285
+ </div>
286
+
287
+ <div class="terminal win" id="terminal-win" style="display:none">
288
+ <div class="titlebar">
289
+ <span class="icon"></span>
290
+ <span class="title">Windows PowerShell</span>
291
+ <span class="win-btn">─</span><span class="win-btn">▢</span><span class="win-btn close">✕</span>
292
+ </div>
293
+ <div class="body">
294
+ <div class="line"><span class="prompt">PS C:\Users\you&gt;</span> <span class="cmd">jivam</span></div>
295
+ <div class="line"><span class="prompt">PS C:\Users\you&gt;</span> <span class="cursor"></span></div>
296
+ </div>
297
+ </div>
298
+
299
+ <div class="status">
300
+ <span class="dots"><span></span><span></span><span></span></span>
301
+ <span id="status-text">Checking automatically...</span>
302
+ </div>
303
+
304
+ <button id="retry-btn">Try Again</button>
305
+ </div>
306
+
307
+ <script>
308
+ (function () {
309
+ var ua = navigator.userAgent || ''
310
+ var plat = navigator.platform || ''
311
+ var isWindows = /Win/.test(plat) || /Windows/.test(ua)
312
+
313
+ if (isWindows) {
314
+ document.getElementById('terminal-mac').style.display = 'none'
315
+ document.getElementById('terminal-win').style.display = ''
316
+ document.getElementById('subtitle').textContent =
317
+ 'The Jivam background service isn\'t running. Open PowerShell and run the command below to start it.'
318
+ }
319
+
320
+ var checking = false
321
+ function checkServer() {
322
+ if (checking) return
323
+ checking = true
324
+ fetch('/api/version', { cache: 'no-store' })
325
+ .then(function (res) {
326
+ if (res.ok) {
327
+ window.location.href = '/'
328
+ } else {
329
+ checking = false
330
+ }
331
+ })
332
+ .catch(function () { checking = false })
333
+ }
334
+
335
+ setInterval(checkServer, 3000)
336
+ document.getElementById('retry-btn').addEventListener('click', function () {
337
+ document.getElementById('status-text').textContent = 'Checking...'
338
+ window.location.reload()
339
+ })
340
+ })()
341
+ </script>
342
+ </body>
343
+ </html>
package/dist/sw.js ADDED
@@ -0,0 +1,44 @@
1
+ // Minimal offline-fallback service worker. This does NOT cache the app
2
+ // shell (index.html / hashed JS-CSS bundles) or any API responses — only
3
+ // enough to show a friendly "Jivam isn't running" page when the background
4
+ // service (which serves this whole origin) is unreachable, e.g. right after
5
+ // a reboot before `jivam` has started, or if it crashed. Caching the app
6
+ // bundle itself would risk serving stale code after an update, which is
7
+ // exactly the class of bug Jivam's own auto-updater was built to avoid —
8
+ // see CLAUDE.md's "updater is real now" note. Keep this worker scoped to
9
+ // just the offline fallback; don't grow it into a general asset cache.
10
+ // offline.html inlines its own logo as a data URI, so it's the only URL
11
+ // that needs precaching — no separate image request for the SW's minimal
12
+ // non-navigation-aware fetch handler (below) to worry about missing.
13
+ const CACHE_NAME = 'jivam-offline-v2'
14
+ const OFFLINE_URL = '/offline.html'
15
+ const PRECACHE_URLS = [OFFLINE_URL]
16
+
17
+ self.addEventListener('install', (event) => {
18
+ event.waitUntil(
19
+ caches.open(CACHE_NAME)
20
+ .then((cache) => cache.addAll(PRECACHE_URLS))
21
+ .then(() => self.skipWaiting())
22
+ )
23
+ })
24
+
25
+ self.addEventListener('activate', (event) => {
26
+ event.waitUntil(
27
+ caches.keys()
28
+ .then((keys) => Promise.all(keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k))))
29
+ .then(() => self.clients.claim())
30
+ )
31
+ })
32
+
33
+ self.addEventListener('fetch', (event) => {
34
+ // Only intercept top-level page navigations — never API calls, the WS
35
+ // upgrade, or hashed asset requests. A failed asset/API request should
36
+ // just fail normally and let the app's own UI handle it; only a failed
37
+ // *navigation* (the background service isn't reachable at all) gets the
38
+ // offline fallback page.
39
+ if (event.request.mode !== 'navigate') return
40
+
41
+ event.respondWith(
42
+ fetch(event.request).catch(() => caches.match(OFFLINE_URL))
43
+ )
44
+ })