@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700;800&display=swap";*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}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,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}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:JetBrains Mono,ui-monospace,monospace;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;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[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]{display:none}*,: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: }::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: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.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}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.m-4{margin:1rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-12{margin-top:3rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-full{width:100%}.flex-shrink{flex-shrink:1}.transform{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))}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.justify-end{justify-content:flex-end}.rounded{border-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-t{border-top-width:1px}.border-\[rgba\(34\,211\,238\,0\.12\)\]{border-color:#22d3ee1f}.stroke-slate-300{stroke:#cbd5e1}.p-4{padding:1rem}.p-8{padding:2rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pr-4{padding-right:1rem}.text-right{text-align:right}.text-xl{font-size:1.25rem;line-height:1.75rem}.uppercase{text-transform:uppercase}.text-\[\#22D3EE\]{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}.text-accent{color:var(--cyan)}.text-ink{color:var(--text)}.text-ink-faint{color:var(--text-faint)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.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)}.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);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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.terminal.vue-command .vue-command__history{padding:16px 20px;background-color:var(--window);color:var(--text-body);font-family:var(--font-mono);font-size:13px;line-height:1.6}.terminal.vue-command .vue-command__history input{color:var(--text-strong);caret-color:var(--cyan);font-family:var(--font-mono);font-size:13px}.terminal.vue-command .vue-command__query input::-moz-placeholder{color:var(--text-muted)}.terminal.vue-command .vue-command__query input::placeholder{color:var(--text-muted)}.term-user{color:var(--cyan)}.term-path{color:var(--text-muted)}.terminal.vue-command .vue-command__history__entry ul li{color:var(--cyan)}.terminal.vue-command .vue-command__history__entry a{color:var(--cyan);text-decoration:none}.terminal.vue-command .vue-command__history__entry a:hover{color:var(--cyan-300)}.terminal.vue-command pre{font-family:var(--font-mono);color:var(--text)}@media (max-width: 767px){.terminal.vue-command .vue-command__query,.terminal.vue-command .vue-command__multiline-query{flex-wrap:wrap}.terminal.vue-command .vue-command__history input{flex-basis:100%;min-width:0}}.term-faint{color:var(--text-faint)}.term-folder{color:var(--text-strong);font-weight:700}.term-muted{color:var(--text-muted)}::-webkit-scrollbar{width:3px;height:3px;background:transparent}::-webkit-scrollbar-track{background:transparent;border-radius:5px}::-webkit-scrollbar-thumb{background:var(--cyan-700)}::-webkit-scrollbar-corner{background:transparent}::-webkit-resizer{background:transparent}::-moz-selection{background:var(--cyan);color:var(--on-cyan)}::selection{background:var(--cyan);color:var(--on-cyan)}html{position:absolute;background-color:#010204;background-image:var(--bg);color:var(--text-strong);height:100vh;height:100dvh;width:100vw;scrollbar-color:slategray transparent;scrollbar-width:thin;font-family:var(--font-mono)}body{height:100%;width:100%}#app{height:100%}.particle-layer canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-9999;width:100%;height:100%}.marker\:text-\[\#22D3EE\] *::marker{color:#22d3ee}.marker\:text-\[\#22D3EE\]::marker{color:#22d3ee}.hover\:stroke-white:hover{stroke:#fff}.hover\:text-\[\#22D3EE\]:hover{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity))}@media (min-width: 1536px){.\32xl\:w-1\/2{width:50%}}:root{--bg: radial-gradient(ellipse 80% 70% at 50% 42%, #0A1424 0%, #04070E 55%, #010204 100%);--panel: rgba(10, 17, 30, .94);--window: #0A111E;--window-header: rgba(34, 211, 238, .04);--card: #0E1726;--card-featured: #111C2E;--divider: rgba(34, 211, 238, .12);--cyan: #22D3EE;--cyan-300: #67E8F9;--cyan-200: #A5F3FC;--cyan-600: #0891B2;--cyan-700: #0E7490;--cutout: #04131A;--seam: #04070E;--text-strong: #E6F7FF;--text: #C9D6E3;--text-body: #A9B8C9;--text-muted: #7A8BA3;--text-faint: #3B4A60;--text-tag: #7FB8CC;--on-cyan: #03050A;--tag-work: #22D3EE;--tag-internship: #A5F3FC;--tag-side: #E6F7FF;--tag-gapyear: #7FB8CC;--tag-school: #94A3B8;--tag-learning: #FBBF24;--font-mono: "JetBrains Mono", ui-monospace, monospace;--glow: drop-shadow(0 0 12px rgba(34, 211, 238, .65));--glow-hover: drop-shadow(0 0 10px rgba(34, 211, 238, .55))}.frame{--cut: 14px;--mark: 9px;--fill: var(--panel);position:relative}.frame__body{height:100%;background:var(--fill);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}.frame:before,.frame:after{content:"";position:absolute;z-index:1;width:var(--mark);height:var(--mark);background:var(--cyan);pointer-events:none}.frame:before{left:0;top:0;clip-path:polygon(0 0,100% 0,0 100%)}.frame:after{right:0;bottom:0;clip-path:polygon(100% 0,100% 100%,0 100%)}.frame--window{--cut: 18px;--mark: 12px;--fill: var(--window);filter:drop-shadow(0 30px 50px rgba(0,0,0,.65))}.frame--card{--cut: 12px;--mark: 8px;--fill: var(--card)}.frame--card:before,.frame--card:after{display:none}.frame--card.frame--featured{--fill: var(--card-featured)}.frame--card.frame--featured:before{display:block}.frame--image{--cut: 8px}.frame--image:before,.frame--image:after{display:none}.active-bar{--bar: 2px;position:relative;color:var(--cyan);font-weight:700}.active-bar:after{content:"";position:absolute;left:var(--bar-inset, 6px);right:var(--bar-inset, 6px);bottom:var(--bar-bottom, 6px);height:var(--bar);background:var(--cyan);clip-path:polygon(var(--bar) 0,100% 0,calc(100% - var(--bar)) 100%,0 100%)}.tag-slanted{padding:3px 11px;background:var(--cyan);color:var(--on-cyan);font-size:11px;font-weight:700;clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%)}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.vue-command,.vue-command--invert{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;overflow-x:hidden;overflow-y:hidden}.vue-command--invert .vue-command__bar,.vue-command--invert .vue-command__bar--invert,.vue-command .vue-command__bar,.vue-command .vue-command__bar--invert{display:flex;font-family:-apple-system,BlinkMacSystemFont,sans-serif;justify-content:space-between;padding:10px;position:inherit}.vue-command--invert .vue-command__bar--invert:after,.vue-command--invert .vue-command__bar--invert:before,.vue-command--invert .vue-command__bar:after,.vue-command--invert .vue-command__bar:before,.vue-command .vue-command__bar--invert:after,.vue-command .vue-command__bar--invert:before,.vue-command .vue-command__bar:after,.vue-command .vue-command__bar:before{display:table}.vue-command--invert .vue-command__bar--invert:after,.vue-command--invert .vue-command__bar:after,.vue-command .vue-command__bar--invert:after,.vue-command .vue-command__bar:after{clear:both}.vue-command--invert .vue-command__bar__button,.vue-command--invert .vue-command__bar__button--invert,.vue-command .vue-command__bar__button,.vue-command .vue-command__bar__button--invert{display:inline-block;border-radius:100%}.vue-command--invert .vue-command__bar__button--invert:before,.vue-command--invert .vue-command__bar__button:before,.vue-command .vue-command__bar__button--invert:before,.vue-command .vue-command__bar__button:before{content:" ";display:block;height:12px;width:12px}.vue-command--invert .vue-command__bar__button--invert:not(:last-child),.vue-command--invert .vue-command__bar__button:not(:last-child),.vue-command .vue-command__bar__button--invert:not(:last-child),.vue-command .vue-command__bar__button:not(:last-child){margin-right:8px}.vue-command--invert .vue-command__history,.vue-command--invert .vue-command__history--invert,.vue-command .vue-command__history,.vue-command .vue-command__history--invert{display:block;height:100%;line-height:1.33;margin:0;overflow:auto;padding:12px;white-space:pre-line;word-break:break-all}.vue-command--invert .vue-command__history--invert ul,.vue-command--invert .vue-command__history ul,.vue-command .vue-command__history--invert ul,.vue-command .vue-command__history ul{list-style-type:none;margin:0;padding:0}.vue-command--invert .vue-command__history--invert input,.vue-command--invert .vue-command__history--invert textarea,.vue-command--invert .vue-command__history input,.vue-command--invert .vue-command__history textarea,.vue-command .vue-command__history--invert input,.vue-command .vue-command__history--invert textarea,.vue-command .vue-command__history input,.vue-command .vue-command__history textarea{background:none;border:none;flex:1;font-size:1rem;outline:none;overflow:hidden;resize:none;width:100%}.vue-command--invert .vue-command__history__entry--fullscreen,.vue-command .vue-command__history__entry--fullscreen{height:100%}.vue-command .vue-command__bar{color:#f1f1f1;background-color:#111316}.vue-command .vue-command__bar__title{color:#f1f1f1}.vue-command .vue-command__bar__button--close{background-color:#ff5f58}.vue-command .vue-command__bar__button--minimize{background-color:#ffbd2e}.vue-command .vue-command__bar__button--fullscreen{background-color:#29ca41}.vue-command .vue-command__history{background-color:#111316;color:#f1f1f1}.vue-command .vue-command__history input,.vue-command .vue-command__history textarea{background:none;color:#fff}.vue-command .vue-command__history input::-moz-placeholder,.vue-command .vue-command__history textarea::-moz-placeholder{color:#ffffff80}.vue-command .vue-command__history input::placeholder,.vue-command .vue-command__history textarea::placeholder{color:#ffffff80}.vue-command--invert .vue-command__bar--invert{background-color:#eeece9}.vue-command--invert .vue-command__bar__title--invert{color:#0e0e0e}.vue-command--invert .vue-command__bar__button--close--invert{background-color:#00a0a7}.vue-command--invert .vue-command__bar__button--minimize--invert{background-color:#0042d1}.vue-command--invert .vue-command__bar__button--fullscreen--invert{background-color:#d635be}.vue-command--invert .vue-command__history--invert{background-color:#eeece9;color:#0e0e0e}.vue-command--invert .vue-command__history--invert input,.vue-command--invert .vue-command__history--invert textarea{background:none;color:#000}.vue-command--invert .vue-command__history--invert input::-moz-placeholder,.vue-command--invert .vue-command__history--invert textarea::-moz-placeholder{color:#00000080}.vue-command--invert .vue-command__history--invert input::placeholder,.vue-command--invert .vue-command__history--invert textarea::placeholder{color:#00000080}.vue-command--invert .vue-command__reverse-i-search .vue-command__reverse-i-search__input,.vue-command .vue-command__reverse-i-search .vue-command__reverse-i-search__input{caret-color:transparent;padding:0;width:0}.vue-command--invert .vue-command__multiline-query,.vue-command--invert .vue-command__multiline-query--invert,.vue-command--invert .vue-command__query,.vue-command--invert .vue-command__query--invert,.vue-command .vue-command__multiline-query,.vue-command .vue-command__multiline-query--invert,.vue-command .vue-command__query,.vue-command .vue-command__query--invert{display:flex}.vue-command--invert .vue-command__multiline-query--invert input,.vue-command--invert .vue-command__multiline-query input,.vue-command--invert .vue-command__query--invert input,.vue-command--invert .vue-command__query input,.vue-command .vue-command__multiline-query--invert input,.vue-command .vue-command__multiline-query input,.vue-command .vue-command__query--invert input,.vue-command .vue-command__query input{font:1rem Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.vue-command--invert .vue-command__multiline-query--invert .vue-command__multiline-query,.vue-command--invert .vue-command__multiline-query--invert .vue-command__multiline-query--invert,.vue-command--invert .vue-command__multiline-query--invert .vue-command__query__input,.vue-command--invert .vue-command__multiline-query--invert .vue-command__query__input--invert,.vue-command--invert .vue-command__multiline-query--invert .vue-command__reverse-i-search__input,.vue-command--invert .vue-command__multiline-query--invert .vue-command__reverse-i-search__input--invert,.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query,.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query--invert,.vue-command--invert .vue-command__multiline-query .vue-command__query__input,.vue-command--invert .vue-command__multiline-query .vue-command__query__input--invert,.vue-command--invert .vue-command__multiline-query .vue-command__reverse-i-search__input,.vue-command--invert .vue-command__multiline-query .vue-command__reverse-i-search__input--invert,.vue-command--invert .vue-command__query--invert .vue-command__multiline-query,.vue-command--invert .vue-command__query--invert .vue-command__multiline-query--invert,.vue-command--invert .vue-command__query--invert .vue-command__query__input,.vue-command--invert .vue-command__query--invert .vue-command__query__input--invert,.vue-command--invert .vue-command__query--invert .vue-command__reverse-i-search__input,.vue-command--invert .vue-command__query--invert .vue-command__reverse-i-search__input--invert,.vue-command--invert .vue-command__query .vue-command__multiline-query,.vue-command--invert .vue-command__query .vue-command__multiline-query--invert,.vue-command--invert .vue-command__query .vue-command__query__input,.vue-command--invert .vue-command__query .vue-command__query__input--invert,.vue-command--invert .vue-command__query .vue-command__reverse-i-search__input,.vue-command--invert .vue-command__query .vue-command__reverse-i-search__input--invert,.vue-command .vue-command__multiline-query--invert .vue-command__multiline-query,.vue-command .vue-command__multiline-query--invert .vue-command__multiline-query--invert,.vue-command .vue-command__multiline-query--invert .vue-command__query__input,.vue-command .vue-command__multiline-query--invert .vue-command__query__input--invert,.vue-command .vue-command__multiline-query--invert .vue-command__reverse-i-search__input,.vue-command .vue-command__multiline-query--invert .vue-command__reverse-i-search__input--invert,.vue-command .vue-command__multiline-query .vue-command__multiline-query,.vue-command .vue-command__multiline-query .vue-command__multiline-query--invert,.vue-command .vue-command__multiline-query .vue-command__query__input,.vue-command .vue-command__multiline-query .vue-command__query__input--invert,.vue-command .vue-command__multiline-query .vue-command__reverse-i-search__input,.vue-command .vue-command__multiline-query .vue-command__reverse-i-search__input--invert,.vue-command .vue-command__query--invert .vue-command__multiline-query,.vue-command .vue-command__query--invert .vue-command__multiline-query--invert,.vue-command .vue-command__query--invert .vue-command__query__input,.vue-command .vue-command__query--invert .vue-command__query__input--invert,.vue-command .vue-command__query--invert .vue-command__reverse-i-search__input,.vue-command .vue-command__query--invert .vue-command__reverse-i-search__input--invert,.vue-command .vue-command__query .vue-command__multiline-query,.vue-command .vue-command__query .vue-command__multiline-query--invert,.vue-command .vue-command__query .vue-command__query__input,.vue-command .vue-command__query .vue-command__query__input--invert,.vue-command .vue-command__query .vue-command__reverse-i-search__input,.vue-command .vue-command__query .vue-command__reverse-i-search__input--invert{border:none;outline:none}.vue-command--invert .vue-command__multiline-query--invert .vue-command__multiline-query,.vue-command--invert .vue-command__multiline-query--invert .vue-command__multiline-query--invert,.vue-command--invert .vue-command__multiline-query--invert .vue-command__query__input,.vue-command--invert .vue-command__multiline-query--invert .vue-command__query__input--invert,.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query,.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query--invert,.vue-command--invert .vue-command__multiline-query .vue-command__query__input,.vue-command--invert .vue-command__multiline-query .vue-command__query__input--invert,.vue-command--invert .vue-command__query--invert .vue-command__multiline-query,.vue-command--invert .vue-command__query--invert .vue-command__multiline-query--invert,.vue-command--invert .vue-command__query--invert .vue-command__query__input,.vue-command--invert .vue-command__query--invert .vue-command__query__input--invert,.vue-command--invert .vue-command__query .vue-command__multiline-query,.vue-command--invert .vue-command__query .vue-command__multiline-query--invert,.vue-command--invert .vue-command__query .vue-command__query__input,.vue-command--invert .vue-command__query .vue-command__query__input--invert,.vue-command .vue-command__multiline-query--invert .vue-command__multiline-query,.vue-command .vue-command__multiline-query--invert .vue-command__multiline-query--invert,.vue-command .vue-command__multiline-query--invert .vue-command__query__input,.vue-command .vue-command__multiline-query--invert .vue-command__query__input--invert,.vue-command .vue-command__multiline-query .vue-command__multiline-query,.vue-command .vue-command__multiline-query .vue-command__multiline-query--invert,.vue-command .vue-command__multiline-query .vue-command__query__input,.vue-command .vue-command__multiline-query .vue-command__query__input--invert,.vue-command .vue-command__query--invert .vue-command__multiline-query,.vue-command .vue-command__query--invert .vue-command__multiline-query--invert,.vue-command .vue-command__query--invert .vue-command__query__input,.vue-command .vue-command__query--invert .vue-command__query__input--invert,.vue-command .vue-command__query .vue-command__multiline-query,.vue-command .vue-command__query .vue-command__multiline-query--invert,.vue-command .vue-command__query .vue-command__query__input,.vue-command .vue-command__query .vue-command__query__input--invert{width:100%}.vue-command--invert .vue-command__multiline-query--invert .vue-command__multiline-query__prompt,.vue-command--invert .vue-command__multiline-query--invert .vue-command__query__prompt,.vue-command--invert .vue-command__multiline-query--invert .vue-command__query__prompt--invert,.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query__prompt,.vue-command--invert .vue-command__multiline-query .vue-command__query__prompt,.vue-command--invert .vue-command__multiline-query .vue-command__query__prompt--invert,.vue-command--invert .vue-command__query--invert .vue-command__multiline-query__prompt,.vue-command--invert .vue-command__query--invert .vue-command__query__prompt,.vue-command--invert .vue-command__query--invert .vue-command__query__prompt--invert,.vue-command--invert .vue-command__query .vue-command__multiline-query__prompt,.vue-command--invert .vue-command__query .vue-command__query__prompt,.vue-command--invert .vue-command__query .vue-command__query__prompt--invert,.vue-command .vue-command__multiline-query--invert .vue-command__multiline-query__prompt,.vue-command .vue-command__multiline-query--invert .vue-command__query__prompt,.vue-command .vue-command__multiline-query--invert .vue-command__query__prompt--invert,.vue-command .vue-command__multiline-query .vue-command__multiline-query__prompt,.vue-command .vue-command__multiline-query .vue-command__query__prompt,.vue-command .vue-command__multiline-query .vue-command__query__prompt--invert,.vue-command .vue-command__query--invert .vue-command__multiline-query__prompt,.vue-command .vue-command__query--invert .vue-command__query__prompt,.vue-command .vue-command__query--invert .vue-command__query__prompt--invert,.vue-command .vue-command__query .vue-command__multiline-query__prompt,.vue-command .vue-command__query .vue-command__query__prompt,.vue-command .vue-command__query .vue-command__query__prompt--invert{margin-right:.25rem}.vue-command--invert .vue-command__multiline-query,.vue-command--invert .vue-command__multiline-query--invert,.vue-command .vue-command__multiline-query,.vue-command .vue-command__multiline-query--invert{display:flex}.vue-command--invert .vue-command__multiline-query--invert input::-moz-placeholder,.vue-command--invert .vue-command__multiline-query input::-moz-placeholder,.vue-command .vue-command__multiline-query--invert input::-moz-placeholder,.vue-command .vue-command__multiline-query input::-moz-placeholder{font:1rem Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.vue-command--invert .vue-command__multiline-query--invert input,.vue-command--invert .vue-command__multiline-query--invert input::placeholder,.vue-command--invert .vue-command__multiline-query input,.vue-command--invert .vue-command__multiline-query input::placeholder,.vue-command .vue-command__multiline-query--invert input,.vue-command .vue-command__multiline-query--invert input::placeholder,.vue-command .vue-command__multiline-query input,.vue-command .vue-command__multiline-query input::placeholder{font:1rem Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.vue-command--invert .vue-command__multiline-query--invert .vue-command__multiline-query__input,.vue-command--invert .vue-command__multiline-query--invert .vue-command__multiline-query__input--invert,.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query__input,.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query__input--invert,.vue-command .vue-command__multiline-query--invert .vue-command__multiline-query__input,.vue-command .vue-command__multiline-query--invert .vue-command__multiline-query__input--invert,.vue-command .vue-command__multiline-query .vue-command__multiline-query__input,.vue-command .vue-command__multiline-query .vue-command__multiline-query__input--invert{border:none;outline:none;flex:1;width:100%}.vue-command .vue-command__multiline-query .vue-command__multiline-query__input::-moz-placeholder,.vue-command .vue-command__multiline-query .vue-command__query__input::-moz-placeholder,.vue-command .vue-command__query .vue-command__multiline-query__input::-moz-placeholder,.vue-command .vue-command__query .vue-command__query__input::-moz-placeholder{color:#ffffff80}.vue-command .vue-command__multiline-query .vue-command__multiline-query__input::placeholder,.vue-command .vue-command__multiline-query .vue-command__query__input::placeholder,.vue-command .vue-command__query .vue-command__multiline-query__input::placeholder,.vue-command .vue-command__query .vue-command__query__input::placeholder{color:#ffffff80}.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query__input::-moz-placeholder,.vue-command--invert .vue-command__multiline-query .vue-command__query__input--invert::-moz-placeholder,.vue-command--invert .vue-command__query--invert .vue-command__multiline-query__input::-moz-placeholder,.vue-command--invert .vue-command__query--invert .vue-command__query__input--invert::-moz-placeholder{color:#00000080}.vue-command--invert .vue-command__multiline-query .vue-command__multiline-query__input::placeholder,.vue-command--invert .vue-command__multiline-query .vue-command__query__input--invert::placeholder,.vue-command--invert .vue-command__query--invert .vue-command__multiline-query__input::placeholder,.vue-command--invert .vue-command__query--invert .vue-command__query__input--invert::placeholder{color:#00000080}.contact[data-v-c46a217d]{display:grid;grid-template-columns:3fr 24fr 2fr;grid-template-rows:60px auto;overflow-x:hidden}.contact[data-v-c46a217d]>*{width:100%;height:100%}.message[data-v-c46a217d]{grid-column:span 3}label[data-v-c46a217d]{display:flex;align-items:center}label[data-v-c46a217d],input[data-v-c46a217d],textarea[data-v-c46a217d]{font-family:var(--font-mono);outline:none}[data-v-c46a217d]{background-color:var(--window);color:var(--text-strong)}.loader[data-v-c46a217d]{margin-block:auto;border-radius:25%;border:5px solid var(--cyan);aspect-ratio:1;height:50%;min-height:24px;animation:spinner-c46a217d 1s cubic-bezier(.5,.7,.7,.5) infinite}@keyframes spinner-c46a217d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.desk-icon[data-v-b9630eaa]{width:88px;padding:6px 0;border:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text);font-family:var(--font-mono);transition:opacity .15s ease,color .15s ease}.desk-icon__glyph[data-v-b9630eaa]{display:block;transition:filter .15s ease}.desk-icon__label[data-v-b9630eaa]{font-size:12px;letter-spacing:.02em}.desk-icon[data-v-b9630eaa]:hover,.desk-icon[data-v-b9630eaa]:focus-visible,.desk-icon.is-active[data-v-b9630eaa]{color:var(--cyan)}.desk-icon:hover .desk-icon__glyph[data-v-b9630eaa],.desk-icon:focus-visible .desk-icon__glyph[data-v-b9630eaa]{filter:var(--glow-hover)}.desk-icon.is-active .desk-icon__glyph[data-v-b9630eaa]{filter:var(--glow)}.desk-icon.is-dimmed[data-v-b9630eaa]{opacity:.4}@media (max-width: 767px){.desk-icon[data-v-b9630eaa]{width:64px}}@media (prefers-reduced-motion: reduce){.desk-icon[data-v-b9630eaa],.desk-icon__glyph[data-v-b9630eaa]{transition:none}}.particle-layer[data-v-0b89e001]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;transition:filter .4s ease,opacity .4s ease}.particle-layer.is-defocused[data-v-0b89e001]{filter:blur(2.5px);opacity:.55}@media (prefers-reduced-motion: reduce){.particle-layer[data-v-0b89e001]{transition:none}}.card__body[data-v-ed5a898e]{box-sizing:border-box;padding:16px;display:flex;flex-direction:column;gap:10px}.is-featured .card__body[data-v-ed5a898e]{padding:18px;flex-direction:row;gap:20px}.card__media[data-v-ed5a898e]{height:120px;flex-shrink:0}.is-featured .card__media[data-v-ed5a898e]{width:250px;height:168px}.card__media-body[data-v-ed5a898e]{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(34,211,238,.35) 0 1px,transparent 1.5px) 0 0 / 10px 10px,#0a1220}.card__media-body img[data-v-ed5a898e]{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.card__placeholder[data-v-ed5a898e]{font-size:12px;color:var(--text-muted)}.card__text[data-v-ed5a898e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.is-featured .card__text[data-v-ed5a898e]{gap:12px}.card__head[data-v-ed5a898e]{display:flex;align-items:center;gap:8px}.is-featured .card__head[data-v-ed5a898e]{gap:12px}.card__title[data-v-ed5a898e]{margin:0;font-size:16px;font-weight:800;color:var(--text-strong)}.is-featured .card__title[data-v-ed5a898e]{font-size:20px}.card__spacer[data-v-ed5a898e]{flex:1}.card__meta[data-v-ed5a898e]{font-size:11px;color:var(--text-muted);white-space:nowrap}.card__desc[data-v-ed5a898e]{margin:0;font-size:13px;line-height:1.6;color:var(--text-body)}.card__stack[data-v-ed5a898e]{margin:0;font-size:12px;color:var(--text-tag)}.card__sep[data-v-ed5a898e]{color:var(--text-faint)}.card__link[data-v-ed5a898e]{align-self:flex-start;font-size:12px;color:var(--cyan);text-decoration:none;white-space:nowrap}.card__link[data-v-ed5a898e]:hover{color:var(--cyan-300)}@container projects (max-width: 560px){.is-featured .card__body[data-v-ed5a898e]{flex-direction:column;gap:14px}.is-featured .card__media[data-v-ed5a898e]{width:auto}}.projects-root[data-v-0de6ce5a]{container:projects / inline-size;min-height:100%;display:flex}.projects[data-v-0de6ce5a]{flex:1;display:flex}.projects__filters[data-v-0de6ce5a]{width:190px;flex-shrink:0;box-sizing:border-box;padding:16px 10px;border-right:1px solid var(--divider);display:flex;flex-direction:column;gap:2px}.projects__filters-title[data-v-0de6ce5a]{padding:0 10px 8px;font-size:11px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.projects__filter[data-v-0de6ce5a]{height:40px;flex-shrink:0;padding:0 10px;border:0;background:transparent;color:var(--text);font-size:13px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:10px;white-space:nowrap}.projects__filter[data-v-0de6ce5a]:hover{color:var(--text-strong)}.projects__filter.is-active[data-v-0de6ce5a]{color:var(--cyan);font-weight:700}.projects__marker-space[data-v-0de6ce5a]{width:8px}.projects__spacer[data-v-0de6ce5a]{flex:1}.projects__count[data-v-0de6ce5a]{color:var(--text-muted)}.projects__filter.is-active .projects__count[data-v-0de6ce5a]{color:inherit}.projects__list[data-v-0de6ce5a]{flex:1;min-width:0;box-sizing:border-box;padding:22px 24px;display:flex;flex-direction:column;gap:16px}.projects__grid[data-v-0de6ce5a]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@container projects (max-width: 620px){.projects[data-v-0de6ce5a]{flex-direction:column}.projects__filters[data-v-0de6ce5a]{width:auto;padding:8px 10px;border-right:0;border-bottom:1px solid var(--divider);flex-direction:row;overflow-x:auto}.projects__filters-title[data-v-0de6ce5a]{display:none}.projects__filter .projects__spacer[data-v-0de6ce5a]{flex:0}.projects__list[data-v-0de6ce5a]{padding:16px}.projects__grid[data-v-0de6ce5a]{grid-template-columns:minmax(0,1fr)}}.taskbar[data-v-194c3e00]{position:fixed;left:24px;right:24px;bottom:20px;height:64px;z-index:1000}.taskbar__body[data-v-194c3e00]{box-sizing:border-box;padding:0 18px;display:flex;align-items:center;gap:12px}.taskbar__start[data-v-194c3e00]{flex-shrink:0;width:44px;height:44px;border:0;border-radius:11px;background:var(--cyan);color:var(--on-cyan);font-size:15px;font-weight:800;cursor:pointer}.taskbar__workspaces[data-v-194c3e00]{display:flex;flex-shrink:0}.taskbar__ws[data-v-194c3e00]{width:40px;height:44px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.taskbar__ws.is-current img[data-v-194c3e00]{filter:drop-shadow(0 0 6px rgba(34,211,238,.6))}.taskbar__divider[data-v-194c3e00]{flex-shrink:0;width:1px;height:28px;background:rgba(34,211,238,.18)}.taskbar__windows[data-v-194c3e00]{flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:6px 4px;overflow-x:auto;scrollbar-width:none}.taskbar__win[data-v-194c3e00]{--bar: 3px;--bar-inset: 8px;--bar-bottom: 3px;position:relative;flex-shrink:0;height:44px;padding:0 8px;border:0;background:transparent;color:var(--text-strong);font-size:12px;font-weight:400;cursor:pointer;display:flex;align-items:center;gap:8px;white-space:nowrap}.taskbar__win.is-minimized[data-v-194c3e00]{color:var(--text-muted)}.taskbar__win.is-minimized img[data-v-194c3e00]{opacity:.55}.taskbar__empty[data-v-194c3e00]{font-size:12px;color:var(--text-muted);white-space:nowrap}.taskbar__lang[data-v-194c3e00]{flex-shrink:0;display:flex;align-items:center}.taskbar__lang-btn[data-v-194c3e00]{--bar-bottom: 8px;height:44px;min-width:32px;padding:0 8px;border:0;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer}.taskbar__lang-btn.active-bar[data-v-194c3e00]{color:var(--cyan)}.taskbar__lang-sep[data-v-194c3e00]{color:var(--text-faint);font-size:12px}.taskbar__clock[data-v-194c3e00]{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;padding:0 8px 0 4px}.taskbar__time[data-v-194c3e00]{font-size:15px;font-weight:700;color:var(--text-strong)}.taskbar__date[data-v-194c3e00]{font-size:11px;color:var(--text-muted)}@media (max-width: 767px){.taskbar[data-v-194c3e00]{left:12px;right:12px;bottom:12px}.taskbar__body[data-v-194c3e00]{padding:0 10px;gap:6px}.taskbar__ws[data-v-194c3e00]{width:30px}.taskbar__win-label[data-v-194c3e00]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.taskbar__date[data-v-194c3e00]{display:none}.taskbar__clock[data-v-194c3e00]{padding:0 2px}}.details[data-v-4c5b9a7f]{box-sizing:border-box;padding:26px 28px;display:flex;flex-direction:column;gap:18px}.details__path[data-v-4c5b9a7f]{font-size:11px;color:var(--text-muted)}.details__head[data-v-4c5b9a7f]{display:flex;flex-direction:column;gap:10px}.details__name[data-v-4c5b9a7f]{margin:0;font-size:26px;font-weight:800;line-height:1.15;color:var(--text-strong)}.details__context[data-v-4c5b9a7f]{margin:0;font-size:12px;color:var(--text-body)}.details__strong[data-v-4c5b9a7f]{color:var(--text-strong)}.details__sep[data-v-4c5b9a7f]{color:var(--text-faint)}.details__section[data-v-4c5b9a7f]{display:flex;flex-direction:column;gap:10px}.details__label[data-v-4c5b9a7f]{margin:0;font-size:10px;font-weight:400;letter-spacing:.14em;color:var(--text-muted)}.details__placeholder[data-v-4c5b9a7f]{margin:0;font-size:12px;color:var(--text-muted)}.ctx[data-v-4c5b9a7f]{--cut: 10px;--mark: 7px}.ctx__body[data-v-4c5b9a7f]{box-sizing:border-box;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.ctx__head[data-v-4c5b9a7f]{display:flex;align-items:center;gap:10px}.ctx__name[data-v-4c5b9a7f]{font-size:15px;font-weight:700;color:var(--text-strong)}.ctx__name--link[data-v-4c5b9a7f]{padding:0;border:0;background:transparent;color:var(--cyan);font-family:inherit;cursor:pointer}.ctx__name--link[data-v-4c5b9a7f]:hover{color:var(--cyan-300)}.ctx__spacer[data-v-4c5b9a7f]{flex:1}.ctx__link[data-v-4c5b9a7f]{font-size:12px;color:var(--cyan);text-decoration:none;white-space:nowrap}.ctx__link[data-v-4c5b9a7f]:hover{color:var(--cyan-300)}.ctx__period[data-v-4c5b9a7f]{font-size:11px;color:var(--text-muted);white-space:nowrap}.ctx__text[data-v-4c5b9a7f]{margin:0;font-size:12px;line-height:1.65;color:var(--text-body);white-space:pre-line}.details__paired[data-v-4c5b9a7f]{margin:0;font-size:13px;color:var(--text)}.details__tech-link[data-v-4c5b9a7f]{padding:0;border:0;background:transparent;color:var(--cyan);font:inherit;cursor:pointer}.details__tech-link[data-v-4c5b9a7f]:hover{color:var(--cyan-300)}.details__fill[data-v-4c5b9a7f]{flex:1}.details__hint[data-v-4c5b9a7f]{margin:0;font-size:11px;line-height:1.6;color:var(--text-muted)}.graph[data-v-d0cce84a]{position:relative;overflow:hidden;font-size:12px}.graph[data-v-d0cce84a] canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}.graph__crumbs[data-v-d0cce84a]{position:absolute;left:14px;top:8px;z-index:1;display:flex;align-items:center}.graph__crumb[data-v-d0cce84a]{height:40px;padding:0 4px;border:0;background:transparent;color:var(--text-muted);font-size:12px;display:flex;align-items:center}button.graph__crumb[data-v-d0cce84a]{cursor:pointer}button.graph__crumb[data-v-d0cce84a]:hover{color:var(--text-strong)}.graph__crumb.is-current[data-v-d0cce84a]{color:var(--cyan);font-weight:700}.graph__labels[data-v-d0cce84a]{position:absolute;top:0;right:0;bottom:0;left:0}.graph__label[data-v-d0cce84a]{position:absolute;min-height:32px;padding:0 6px;border:0;background:transparent;font-size:12px;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:6px}.graph__label--hub[data-v-d0cce84a]{color:var(--text-strong);font-weight:700}.graph__label--hub[data-v-d0cce84a]:hover{color:var(--cyan)}.graph__count[data-v-d0cce84a]{font-size:11px;font-weight:400;color:var(--text-muted)}.graph__label--tech[data-v-d0cce84a]{display:block;line-height:32px;max-width:124px;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.graph__label--tech[data-v-d0cce84a]:hover{color:var(--text-strong)}.graph__label.is-dim[data-v-d0cce84a]{color:var(--text-muted)}.graph__label--tech.is-selected[data-v-d0cce84a]{color:var(--cyan);font-weight:700;text-shadow:0 0 12px rgba(34,211,238,.6)}.graph__center[data-v-d0cce84a]{position:absolute;left:50%;top:calc(50% + 26px);transform:translate(-50%);color:var(--cyan);font-weight:700;pointer-events:none}.graph__hint[data-v-d0cce84a]{position:absolute;left:18px;bottom:12px;margin:0;font-size:11px;color:var(--text-muted);pointer-events:none}.tree[data-v-8a6fc752]{box-sizing:border-box;padding:14px 18px;display:flex;flex-direction:column;font-size:13px}.tree__list[data-v-8a6fc752]{flex:1;min-height:0;overflow-y:auto;padding:4px;margin:-4px}.tree__row[data-v-8a6fc752]{height:40px;box-sizing:border-box;padding:0 8px;display:flex;align-items:center;gap:8px;color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tree__row[data-v-8a6fc752]:focus-visible{outline-offset:-2px}.tree__row--folder[data-v-8a6fc752]{color:var(--text-strong);font-weight:700}.tree__lines[data-v-8a6fc752]{color:var(--text-faint);white-space:pre;font-weight:400}.tree__row--tech:hover .tree__name[data-v-8a6fc752]{color:var(--text-strong)}.tree__row.is-selected[data-v-8a6fc752]{color:var(--cyan);font-weight:700}.tree__row.is-selected .tree__lines[data-v-8a6fc752]{color:var(--cyan)}.tree__row.is-selected .tree__name[data-v-8a6fc752],.tree__row.is-selected:hover .tree__name[data-v-8a6fc752]{color:var(--cyan);text-shadow:0 0 12px rgba(34,211,238,.6)}.tree__preview[data-v-8a6fc752]{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:400;color:var(--text-muted)}.tree__spacer[data-v-8a6fc752]{flex:1}.tree__count[data-v-8a6fc752]{font-size:11px;font-weight:400;color:var(--text-muted)}.tree__tag[data-v-8a6fc752]{font-size:11px;font-weight:400}.tree__legend[data-v-8a6fc752]{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:8px;padding:14px 8px 4px;border-top:1px solid var(--divider);font-size:11px}.tree__legend-title[data-v-8a6fc752]{color:var(--text-muted)}.tree__legend-tag[data-v-8a6fc752]{position:relative;height:28px;padding:0 2px;border:0;background:transparent;font-size:11px;cursor:pointer}.tree__legend-tag.is-active[data-v-8a6fc752]{font-weight:700}.tree__legend-tag.is-active[data-v-8a6fc752]:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:currentColor;clip-path:polygon(2px 0,100% 0,calc(100% - 2px) 100%,0 100%)}.tree__legend-tag.is-dimmed[data-v-8a6fc752]{opacity:.45}.tree__empty[data-v-8a6fc752]{margin:0;padding:12px 8px;font-size:12px;color:var(--text-muted)}.tree__tools[data-v-8a6fc752]{flex-shrink:0;display:flex;align-items:center;gap:12px;margin-bottom:10px}.search[data-v-8a6fc752]{position:relative;flex:1;min-width:0;height:36px;padding:0 6px 0 12px;display:flex;align-items:center;gap:8px}.search__bg[data-v-8a6fc752]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--card);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.search[data-v-8a6fc752]:focus-within{outline:2px solid var(--cyan);outline-offset:3px}.search__prompt[data-v-8a6fc752],.search__input[data-v-8a6fc752],.search__clear[data-v-8a6fc752]{position:relative}.search__prompt[data-v-8a6fc752]{color:var(--cyan);font-weight:700}.search__input[data-v-8a6fc752]{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--text-strong);caret-color:var(--cyan);font:inherit;font-size:13px}.search__input[data-v-8a6fc752]:focus-visible{outline:none}.search__input[data-v-8a6fc752]::-moz-placeholder{color:var(--text-muted)}.search__input[data-v-8a6fc752]::placeholder{color:var(--text-muted)}.search__input[data-v-8a6fc752]::-webkit-search-cancel-button{display:none}.search__clear[data-v-8a6fc752]{width:28px;height:28px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.search__clear[data-v-8a6fc752]:hover{color:var(--text-strong)}.tree__ai[data-v-8a6fc752]{--bar-inset: 8px;--bar-bottom: 6px;flex-shrink:0;height:40px;padding:0 8px;border:0;background:transparent;color:var(--text-muted);font-size:12px;white-space:nowrap;cursor:pointer}.tree__ai.active-bar[data-v-8a6fc752]{color:var(--cyan)}.win[data-v-4d369084]{position:fixed;filter:none}.win[data-v-4d369084]:focus{outline:none}.win.is-max[data-v-4d369084]{left:24px;top:24px;right:24px;bottom:104px}.win__shadow[data-v-4d369084]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;box-shadow:0 30px 90px #000000b3;pointer-events:none}.win__body[data-v-4d369084]{display:flex;flex-direction:column;overflow:hidden}.win__header[data-v-4d369084]{height:46px;flex-shrink:0;box-sizing:border-box;padding:0 8px 0 24px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(34,211,238,.16);background:var(--window-header);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.win__title[data-v-4d369084]{margin:0;font-size:13px;font-weight:700;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.win__subtitle[data-v-4d369084]{font-size:12px;color:var(--text-muted);white-space:nowrap}.win__spacer[data-v-4d369084]{flex:1}.win__ctrl[data-v-4d369084]{flex-shrink:0;width:40px;height:40px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.win__ctrl[data-v-4d369084]:hover{color:var(--text-strong)}.win__ctrl--close[data-v-4d369084]{color:var(--cyan)}.win__ctrl--close[data-v-4d369084]:hover{color:var(--cyan-300)}.win__content[data-v-4d369084]{flex:1;min-height:0;overflow:auto;position:relative}.win__resize[data-v-4d369084]{position:absolute;right:0;bottom:0;z-index:2;width:20px;height:20px;cursor:nwse-resize;touch-action:none}@media (max-width: 767px){.win.is-max[data-v-4d369084]{left:12px;right:12px;top:12px;bottom:88px}.win__header[data-v-4d369084]{padding-left:18px}.win__subtitle[data-v-4d369084]{display:none}}.view-toggle[data-v-758c81f9]{display:flex;margin-right:10px}.view-toggle__btn[data-v-758c81f9]{--bar-inset: 10px;--bar-bottom: 6px;position:relative;height:40px;padding:0 12px;border:0;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer}.view-toggle__btn.active-bar[data-v-758c81f9]{color:var(--cyan)}.techs-root[data-v-758c81f9]{container:techs / inline-size;height:100%}.techs[data-v-758c81f9]{height:100%;display:flex}.techs__pane[data-v-758c81f9]{width:540px;flex-shrink:0;min-height:0}.techs__details[data-v-758c81f9]{flex:1;min-width:0;overflow-y:auto;border-left:1px solid var(--divider)}@container techs (max-width: 820px){.techs[data-v-758c81f9]{height:auto;flex-direction:column}.techs__pane[data-v-758c81f9]{width:auto}.techs__pane--graph[data-v-758c81f9]{height:460px}.techs__pane[data-v-758c81f9] .tree__list{overflow:visible}.techs__details[data-v-758c81f9]{overflow:visible;border-left:0;border-top:1px solid var(--divider)}}.notice[data-v-eab6a5b4]{position:absolute;right:28px;top:28px;width:320px;z-index:1}.notice__body[data-v-eab6a5b4]{box-sizing:border-box;padding:18px 18px 18px 20px;display:flex;flex-direction:column;gap:12px}.notice__head[data-v-eab6a5b4]{display:flex;align-items:center;justify-content:space-between}.notice__kicker[data-v-eab6a5b4]{font-size:11px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.notice__dismiss[data-v-eab6a5b4]{width:44px;height:44px;margin:-8px -8px -8px 0;border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.notice__dismiss[data-v-eab6a5b4]:hover{color:var(--text-strong)}.notice__title[data-v-eab6a5b4]{font-size:15px;font-weight:700;color:var(--text-strong)}.notice__text[data-v-eab6a5b4]{font-size:13px;line-height:1.55;color:var(--text-body)}.notice__actions[data-v-eab6a5b4]{display:flex;gap:8px}.notice__btn[data-v-eab6a5b4]{height:36px;padding:0 14px;border:0;border-radius:9px;background:var(--cyan);color:var(--on-cyan);font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center}.notice__btn[data-v-eab6a5b4]:hover{background:var(--cyan-300)}@media (max-width: 767px){.notice[data-v-eab6a5b4]{display:none}}.desktop-icons[data-v-99cd2761]{position:absolute;left:28px;top:28px;z-index:1;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:22px;max-height:calc(100vh - 132px)}.desktop-idle[data-v-99cd2761]{position:absolute;top:0;right:0;bottom:104px;left:0;padding:0 132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;pointer-events:none}.desktop-idle__prompt[data-v-99cd2761]{font-size:15px;color:var(--text-muted)}.desktop-idle__cursor[data-v-99cd2761]{display:inline-block;width:9px;height:17px;margin-left:6px;vertical-align:-3px;background:var(--cyan);animation:cursor-blink-99cd2761 1.1s steps(1) infinite}@keyframes cursor-blink-99cd2761{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.desktop-idle__cursor[data-v-99cd2761]{animation:none}}.desktop-idle__name-space[data-v-99cd2761]{width:min(1080px,100%);height:130px}.desktop-idle__tagline[data-v-99cd2761]{font-size:20px;line-height:1.5;color:var(--text)}.desktop-idle__hint[data-v-99cd2761]{margin-top:8px;font-size:12px;color:var(--text-muted);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}.chip[data-v-99cd2761]{padding:3px 8px;border-radius:6px}.chip--key[data-v-99cd2761]{border:1px solid rgba(122,139,163,.45);color:var(--text)}.chip--cmd[data-v-99cd2761]{background:rgba(34,211,238,.1);color:var(--cyan)}.desktop-hover[data-v-99cd2761]{--glyph-half: min(25vw, 25vh);position:absolute;top:0;right:0;bottom:0;left:0;padding:0 132px;text-align:center;pointer-events:none}.desktop-hover__name[data-v-99cd2761]{position:absolute;left:0;right:0;bottom:calc(50vh + var(--glyph-half) + 26px);font-size:13px;letter-spacing:.3em;color:var(--text-faint)}.desktop-hover__caption[data-v-99cd2761]{position:absolute;left:132px;right:132px;top:min(calc(50vh + var(--glyph-half) + 26px),calc(100vh - 228px));display:flex;flex-direction:column;align-items:center;gap:10px}.desktop-hover__title[data-v-99cd2761]{font-size:34px;font-weight:800;letter-spacing:-.01em;color:var(--cyan)}.desktop-hover__desc[data-v-99cd2761]{font-size:16px;color:var(--text)}.desktop-hover__hint[data-v-99cd2761]{margin-top:4px;font-size:12px;color:var(--text-muted)}@media (max-width: 767px){.desktop-icons[data-v-99cd2761]{left:12px;right:12px;top:12px;flex-direction:row;justify-content:center;gap:4px;max-height:none}.desktop-idle[data-v-99cd2761]{top:0;right:0;bottom:88px;left:0;padding:100px 16px 0;gap:16px}.desktop-idle__name-space[data-v-99cd2761]{height:80px}.desktop-idle__tagline[data-v-99cd2761]{font-size:16px}.desktop-hover[data-v-99cd2761]{padding:0 16px}.desktop-hover__caption[data-v-99cd2761]{left:16px;right:16px}.desktop-hover__title[data-v-99cd2761]{font-size:26px}}.fade-enter-active[data-v-99cd2761],.fade-leave-active[data-v-99cd2761]{transition:opacity .2s ease}.fade-enter-from[data-v-99cd2761],.fade-leave-to[data-v-99cd2761]{opacity:0}@media (prefers-reduced-motion: reduce){.fade-enter-active[data-v-99cd2761],.fade-leave-active[data-v-99cd2761]{transition:none}}ul[data-v-99cd2761],.time[data-v-99cd2761],.version[data-v-99cd2761]{font-family:var(--font-mono)}input[type=range][data-v-99cd2761]{accent-color:var(--cyan)}
