@import "https://fonts.googleapis.com/css2?family=Syne:wght@400..800&family=Manrope:wght@200..800&family=Space+Mono:wght@400;700&display=swap";.markdown-body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;color:#f0f6fc;word-wrap:break-word;background-color:#0d1117;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;font-weight:400;line-height:1.5}.markdown-body a{text-underline-offset:.2rem;text-decoration:underline}.markdown-body .octicon{fill:currentColor;vertical-align:text-bottom;display:inline-block}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{content:" ";background-color:currentColor;width:16px;height:16px;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{color:#4493f8;background-color:#0000;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{border-bottom:1px solid #3d444db3;margin:.67em 0;padding-bottom:.3em;font-size:2em;font-weight:600}.markdown-body mark{color:#f0f6fc;background-color:#bb800926}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{box-sizing:content-box;border-style:none;max-width:100%}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 2.5rem}.markdown-body hr{box-sizing:content-box;background:#3d444d;border:0;height:.25em;margin:1.5rem 0;padding:0;overflow:hidden}.markdown-body input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button{height:auto}.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button{appearance:none}.markdown-body [type=search]::-webkit-search-decoration{appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#9198a1;opacity:1}.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both;content:"";display:table}.markdown-body table{border-spacing:0;border-collapse:collapse;font-variant:tabular-nums;width:max-content;max-width:100%;display:block;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:1px solid #0000}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{color:#f0f6fc;vertical-align:middle;border:solid 1px var(--borderColor-muted);border-bottom-color:var(--borderColor-muted);box-shadow:inset 0 -1px 0 var(--borderColor-muted);background-color:#151b23;border-radius:6px;padding:.25rem;font:11px/10px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;display:inline-block}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.markdown-body h2{border-bottom:1px solid #3d444db3;padding-bottom:.3em;font-size:1.5em;font-weight:600}.markdown-body h3{font-size:1.25em;font-weight:600}.markdown-body h4{font-size:1em;font-weight:600}.markdown-body h5{font-size:.875em;font-weight:600}.markdown-body h6{color:#9198a1;font-size:.85em;font-weight:600}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{color:#9198a1;border-left:.25em solid #3d444d;margin:0;padding:0 1em}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{word-wrap:normal;margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body .octicon{vertical-align:text-bottom;fill:currentColor;display:inline-block;overflow:visible!important}.markdown-body input::-webkit-outer-spin-button{appearance:none;margin:0}.markdown-body input::-webkit-inner-spin-button{appearance:none;margin:0}.markdown-body .mr-2{margin-right:.5rem!important}.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both;content:"";display:table}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#f85149}.markdown-body .anchor{float:left;margin-left:-20px;padding-right:.25rem;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:1rem}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#f0f6fc;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit;padding:0 .2em}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{border-bottom:0;padding-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type=a\ s]{list-style-type:lower-alpha}.markdown-body ol[type=A\ s]{list-style-type:upper-alpha}.markdown-body ol[type=i\ s]{list-style-type:lower-roman}.markdown-body ol[type=I\ s]{list-style-type:upper-roman}.markdown-body ol[type="1"],.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:1rem}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{margin-top:1rem;padding:0;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{margin-bottom:1rem;padding:0 1rem}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{border:1px solid #3d444d;padding:6px 13px}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#0d1117;border-top:1px solid #3d444db3}.markdown-body table tr:nth-child(2n){background-color:#151b23}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{vertical-align:text-top;background-color:#0000;max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{float:left;border:1px solid #3d444d;width:auto;margin:13px 0 0;padding:7px;display:block;overflow:hidden}.markdown-body span.frame span img{float:left;display:block}.markdown-body span.frame span span{clear:both;color:#f0f6fc;padding:5px 0 0;display:block}.markdown-body span.align-center{clear:both;display:block;overflow:hidden}.markdown-body span.align-center>span{text-align:center;margin:13px auto 0;display:block;overflow:hidden}.markdown-body span.align-center span img{text-align:center;margin:0 auto}.markdown-body span.align-right{clear:both;display:block;overflow:hidden}.markdown-body span.align-right>span{text-align:right;margin:13px 0 0;display:block;overflow:hidden}.markdown-body span.align-right span img{text-align:right;margin:0}.markdown-body span.float-left{float:left;margin-right:13px;display:block;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{float:right;margin-left:13px;display:block;overflow:hidden}.markdown-body span.float-right>span{text-align:right;margin:13px auto 0;display:block;overflow:hidden}.markdown-body code,.markdown-body tt{white-space:break-spaces;background-color:#656c7633;border-radius:6px;margin:0;padding:.2em .4em;font-size:85%}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{-webkit-text-decoration:inherit;text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{word-break:normal;white-space:pre;background:0 0;border:0;margin:0;padding:0}.markdown-body .highlight{margin-bottom:1rem}.markdown-body .highlight pre{word-break:normal;margin-bottom:0}.markdown-body .highlight pre,.markdown-body pre{color:#f0f6fc;background-color:#151b23;border-radius:6px;padding:1rem;font-size:85%;line-height:1.45;overflow:auto}.markdown-body pre code,.markdown-body pre tt{line-height:inherit;word-wrap:normal;background-color:#0000;border:0;margin:0;padding:0;display:inline;overflow:visible}.markdown-body .csv-data td,.markdown-body .csv-data th{text-align:left;white-space:nowrap;padding:5px;font-size:12px;line-height:1;overflow:hidden}.markdown-body .csv-data .blob-num{text-align:right;background:#0d1117;border:0;padding:10px .5rem 9px}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{background:#151b23;border-top:0;font-weight:600}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{color:#9198a1;border-top:1px solid #3d444d;font-size:12px}.markdown-body .footnotes ol{padding-left:1rem}.markdown-body .footnotes ol ul{margin-top:1rem;padding-left:1rem;display:inline-block}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{pointer-events:none;content:"";border:2px solid #1f6feb;border-radius:6px;position:absolute;inset:-.5rem -.5rem -.5rem -1.5rem}.markdown-body .footnotes li:target{color:#f0f6fc}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:#9198a1}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#79c0ff}.markdown-body .pl-e,.markdown-body .pl-en{color:#d2a8ff}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:#f0f6fc}.markdown-body .pl-ent{color:#7ee787}.markdown-body .pl-k{color:#ff7b72}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#a5d6ff}.markdown-body .pl-v,.markdown-body .pl-smw{color:#ffa657}.markdown-body .pl-bu{color:#f85149}.markdown-body .pl-ii{color:var(--fgColor-danger);background-color:var(--bgColor-danger-muted)}.markdown-body .pl-c2{color:#f0f6fc;background-color:#b62324}.markdown-body .pl-sr .pl-cce{color:#7ee787;font-weight:700}.markdown-body .pl-ml{color:#f2cc60}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#1f6feb;font-weight:700}.markdown-body .pl-mi{color:#f0f6fc;font-style:italic}.markdown-body .pl-mb{color:#f0f6fc;font-weight:700}.markdown-body .pl-md{color:#ffdcd7;background-color:#67060c}.markdown-body .pl-mi1{color:#aff5b4;background-color:#033a16}.markdown-body .pl-mc{color:#ffdfb6;background-color:#5a1e02}.markdown-body .pl-mi2{color:#f0f6fc;background-color:#1158c7}.markdown-body .pl-mdr{color:#d2a8ff;font-weight:700}.markdown-body .pl-ba{color:#9198a1}.markdown-body .pl-sg{color:#3d444d}.markdown-body .pl-corl{color:#a5d6ff;text-decoration:underline}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){box-shadow:none;outline:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{vertical-align:-.075em;min-width:1ch;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-weight:400;line-height:1;display:inline-block;font-style:normal!important}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{vertical-align:middle;margin:0 .2em .25em -1.4em}.markdown-body ul:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox,.markdown-body ol:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{clip-path:none;width:auto;height:24px;display:block;overflow:visible}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{color:inherit;border-left:.25em solid #3d444d;margin-bottom:1rem;padding:.5rem 1rem}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{align-items:center;font-weight:500;line-height:1;display:flex}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#1f6feb}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#4493f8}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8957e5}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#ab7df8}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9e6a03}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#d29922}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#238636}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#3fb950}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#da3633}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#f85149}.markdown-body>:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-auto{margin-top:auto}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-full{height:100%}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[650px\]{max-width:650px}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-x-auto{overflow-x:auto}.rounded-\[12px\]{border-radius:12px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--border\)\],.border-\[var\(--border\)\]\/10{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--border\)\]\/10{border-color:color-mix(in oklab, var(--border) 10%, transparent)}}.border-\[var\(--border\)\]\/20{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--border\)\]\/20{border-color:color-mix(in oklab, var(--border) 20%, transparent)}}.border-\[var\(--cyan\)\]\/40{border-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--cyan\)\]\/40{border-color:color-mix(in oklab, var(--cyan) 40%, transparent)}}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[clamp\(2\.5rem\,5vw\,4rem\)\]{font-size:clamp(2.5rem,5vw,4rem)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.5px\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\[1\.5px\]{--tw-tracking:1.5px;letter-spacing:1.5px}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-\[var\(--cyan\)\]{color:var(--cyan)}.text-\[var\(--text\)\]{color:var(--text)}.text-\[var\(--text-dim\)\],.text-\[var\(--text-dim\)\]\/40{color:var(--text-dim)}@supports (color:color-mix(in lab, red, red)){.text-\[var\(--text-dim\)\]\/40{color:color-mix(in oklab, var(--text-dim) 40%, transparent)}}.uppercase{text-transform:uppercase}.opacity-0{opacity:0}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:inline:is(:where(.group):hover *){display:inline}.group-hover\:text-\[var\(--cyan\)\]:is(:where(.group):hover *){color:var(--cyan)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:bg-\[rgba\(255\,255\,255\,0\.04\)\]:hover{background-color:#ffffff0a}.hover\:text-\[var\(--cyan\)\]:hover{color:var(--cyan)}}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a1a;--bg2:#0f0e2e;--bg3:#1a1940;--card:#ffffff05;--border:#50508166;--cyan:#8686ac;--cyan-rgb:134, 134, 172;--cyan-dim:#505081;--cyan-dim-rgb:80, 80, 129;--amber:#c8c8e6;--amber-rgb:200, 200, 230;--text:#e8e8f6;--text-dim:#c8c8e6b3;--font-mono:"Space Mono", monospace;--font-sans:"Syne", sans-serif;--font-body:"Manrope", sans-serif;--red:#f87171;--red-rgb:248, 113, 113;--green:#4ade80;--green-rgb:74, 222, 128;--win-bg:#0a0a1a99;--win-border:#e8e8f626;--noise-opacity:.03}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}body:after{content:"";z-index:9998;pointer-events:none;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--cyan);border-radius:10px}::-webkit-scrollbar-track{background:0 0}.bg-layers{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.layer{opacity:0;will-change:transform, opacity;border-radius:50%;position:absolute}.l1{background:radial-gradient(ellipse, rgba(var(--cyan-rgb), .25), transparent 70%);width:900px;height:500px;animation:1.5s .2s forwards layerIn;top:-150px;left:-200px}.l2{background:radial-gradient(ellipse, rgba(var(--cyan-dim-rgb), .2), transparent 70%);width:700px;height:700px;animation:1.5s .4s forwards layerIn;bottom:-100px;right:-100px}.l3{background:radial-gradient(ellipse, rgba(var(--amber-rgb), .1), transparent 70%);width:500px;height:500px;animation:1.5s .6s forwards layerIn;top:30%;left:40%}@keyframes layerIn{to{opacity:1}}.bg-layers:after{content:"";background-image:linear-gradient(rgba(var(--cyan-rgb), .05) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--cyan-rgb), .05) 1px, transparent 1px);opacity:.1;background-size:80px 80px;position:absolute;inset:0}.wm{z-index:1;pointer-events:none;opacity:.045;background-image:url(/favicon.svg);background-position:50%;background-repeat:no-repeat;background-size:min(50vw,400px);position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.low-perf nav{background:#0a0a1ad9;-webkit-backdrop-filter:none!important}.low-perf .layer{opacity:.3;animation:none}.low-perf .wm{display:none}.low-perf .net-card{-webkit-backdrop-filter:none!important}.low-perf .connector{stroke-dasharray:none;animation:none}.low-perf .proj-card{transition:border-color .3s,background .3s;scale:1}.low-perf .proj-card:hover{box-shadow:none;translate:0 -4px;scale:1}.low-perf .fcard,.low-perf .side-card,.low-perf .main-window{-webkit-backdrop-filter:none!important}.low-perf .dock{background:#ffffff2e;-webkit-backdrop-filter:none!important}.low-perf .dock-item:hover{border-color:var(--cyan)!important;background:#ec489933!important;transform:translateY(-10px)!important}.low-perf .main-window{transition:opacity .3s!important}.low-perf .dock-item .tooltip{display:none!important}.low-perf .guide-card{transition:transform .3s}.low-perf .guide-card:hover{border-color:inherit}.low-perf .faq-item{transition:none}.low-perf .faq-item:hover{border-color:inherit;background:0 0}.low-perf .faq-item h4{color:var(--cyan)}.low-perf .ip-row{transition:none}.low-perf .ip-row:hover{border-color:#ffffff14}.low-perf .back-link{transition:none}.low-perf .status-dot.checking{opacity:.5;animation:none}.low-perf [data-reveal]{opacity:1!important;transition:none!important;transform:none!important}.low-perf [data-reveal].is-visible{transform:none!important}nav{z-index:1000;background:#0a0a1ad9;border:1px solid #ffffff0f;border-radius:100px;justify-content:space-between;align-items:center;width:calc(100% - 4rem);max-width:1200px;padding:.85rem 2rem;transition:background .3s,box-shadow .3s,border-color .3s;display:flex;position:fixed;top:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000080,inset 0 1px #ffffff0a}.nav-logo{letter-spacing:-1px;color:var(--cyan);font-size:1.5rem;font-weight:800;font-family:var(--font-sans);align-items:center;gap:.75rem;text-decoration:none;display:flex}.logo-img{border-radius:6px;width:32px;height:32px}.nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.nav-links a,.nav-links button:not(.cta-btn){color:var(--text);opacity:.7;font-weight:500;font-family:var(--font-body);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:none;transition:all .2s}.nav-links a:hover,.nav-links button:not(.cta-btn):hover{opacity:1;color:var(--cyan)}.cta-btn{background:linear-gradient(135deg, var(--cyan), var(--amber));color:#000;cursor:pointer;border-radius:2rem;align-items:center;padding:.6rem 1.5rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;opacity:1!important}.cta-btn:before{content:"";background:linear-gradient(135deg, var(--amber), #fff);opacity:0;border-radius:inherit;transition:opacity .3s;position:absolute;inset:0}.cta-btn:hover:before{opacity:1}.cta-btn>*{z-index:1;position:relative}.cta-btn:hover{box-shadow:0 0 25px rgba(var(--cyan-rgb), .4)}.mobile-menu-btn{z-index:1002;flex-direction:column;gap:6px;display:none}.mobile-menu-btn span{background:var(--text);border-radius:2px;width:28px;height:2px;transition:transform .3s,opacity .3s;display:block}.mobile-menu-btn.active span:first-child{transform:translateY(8px)rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}#content-zone{z-index:10;min-height:100vh;position:relative}.page-wrap{z-index:10;position:relative}.page-overlay-left,.page-overlay-right{z-index:9999;background:var(--bg);pointer-events:none;width:50vw;height:100vh;transition:transform .35s cubic-bezier(.4,0,.2,1);position:fixed;top:0}.page-overlay-left{left:0;transform:translate(-100%)}.page-overlay-left.in{transform:translate(0)}.page-overlay-left.out{transform:translate(-100%)}.page-overlay-right{right:0;transform:translate(100%)}.page-overlay-right.in{transform:translate(0)}.page-overlay-right.out{transform:translate(100%)}#about,#skills,#contact{scroll-margin-top:100px}.hero{text-align:center;z-index:10;perspective:1000px;padding:10rem 2rem 6rem;position:relative}.pill{border:1px solid rgba(var(--cyan-rgb), .4);color:var(--cyan);letter-spacing:1px;text-transform:uppercase;border-radius:2rem;margin-bottom:2rem;padding:.4rem 1.2rem;font-size:.85rem;font-weight:700;animation:.8s both fadeUp;display:inline-block}.hero h1{letter-spacing:-.06em;max-width:900px;margin:0 auto 1.5rem;font-size:clamp(3.5rem,8vw,6.5rem);font-weight:800;line-height:1}.h1-layer{display:block}.h1-layer:first-child{animation:.7s 80ms both fadeUp}.h1-layer:nth-child(2){color:var(--cyan);animation:.7s .16s both fadeUp}.h1-layer:nth-child(3){-webkit-text-stroke:1.5px rgba(var(--cyan-rgb), .4);color:#0000;animation:.7s .24s both fadeUp}.hero p.lead{color:var(--text-dim);max-width:600px;margin:0 auto 3rem;font-size:1.25rem;line-height:1.6;animation:.8s .32s both fadeUp}.btn-group{justify-content:center;gap:1rem;animation:.8s .4s both fadeUp;display:flex}.btn-primary{background:linear-gradient(135deg, var(--cyan), var(--cyan-dim));color:#000;border:none;border-radius:3rem;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(135deg, var(--amber), #fff);opacity:0;border-radius:inherit;transition:opacity .3s;position:absolute;inset:0}.btn-primary:hover:before{opacity:1}.btn-primary>*{z-index:1;position:relative}.btn-primary:hover{box-shadow:0 15px 40px rgba(var(--cyan-rgb), .3)}.btn-secondary{color:var(--text);background:#ffffff08;border:1px solid #ffffff1a;border-radius:3rem;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn-secondary:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(var(--cyan-rgb), .1);box-shadow:0 0 20px rgba(var(--cyan-rgb), .1)}.stats-section{z-index:10;flex-wrap:wrap;max-width:1200px;margin:0 auto 6rem;display:flex;position:relative}.stat{text-align:center;border-right:1px solid #ffffff1a;flex:200px;padding:3rem 2rem;transition:transform .3s,background .3s,box-shadow .3s;position:relative;overflow:visible}.stat:last-child{border-right:none}.stat:before,.stat:after{content:"";background:linear-gradient(90deg, transparent, rgba(var(--cyan-rgb), .25), rgba(var(--cyan-rgb), .5), rgba(var(--cyan-rgb), .25), transparent);opacity:0;background-size:200% 100%;height:1px;transition:opacity .4s;position:absolute;left:0;right:0}.stat:before{top:0}.stat:after{bottom:0}.stat:hover:before,.stat:hover:after{opacity:1;animation:.8s ease-in-out infinite borderSweep}.stat:hover{background:rgba(var(--cyan-rgb), .05);box-shadow:0 0 40px rgba(var(--cyan-rgb), .15), inset 0 0 30px rgba(var(--cyan-rgb), .05);transform:translateY(-10px)}.stat h3{color:var(--cyan);margin:0;font-size:3rem;font-weight:800}.stat p{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:.9rem;font-family:var(--font-mono);margin:.5rem 0 0}.section-title{text-align:center;z-index:10;letter-spacing:-.03em;margin-bottom:3rem;font-size:2.5rem;font-weight:800;position:relative}.section-title:after{content:"";background:linear-gradient(90deg, var(--cyan), transparent);border-radius:2px;width:60px;height:3px;margin:.75rem auto 0;display:block}.cards{z-index:10;grid-template-columns:1fr;gap:2rem;max-width:1200px;margin:0 auto 8rem;padding:0 2rem;display:grid;position:relative}@media (width>=768px){.cards{grid-template-columns:1fr 2fr}}.skills-grid{z-index:10;grid-template-columns:1fr;gap:2rem;max-width:1200px;margin:0 auto 8rem;padding:0 2rem;display:grid;position:relative}@media (width>=768px){.skills-grid{grid-template-columns:repeat(3,1fr)}}.card{background:var(--card);border:1px solid #ffffff0f;border-radius:20px;padding:3rem 2rem;transition:transform .3s;position:relative;overflow:hidden}.card:before{content:"";border-radius:inherit;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%), rgba(var(--cyan-rgb), .03), transparent 50%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.card:after{content:"";background:linear-gradient(180deg, transparent, var(--cyan), transparent);opacity:.3;border-radius:2px;width:3px;transition:opacity .4s;position:absolute;top:10%;bottom:10%;left:0}.card:hover:after{opacity:.8}.card:hover:before{opacity:1}.card:hover{border-color:rgba(var(--cyan-rgb), .3);box-shadow:0 30px 60px #00000080, 0 0 60px rgba(var(--cyan-rgb), .08);background:#ffffff0a}.card .icon{margin-bottom:1.5rem;font-size:2.5rem;display:inline-block}.card h3{color:#fff;margin:0 0 1rem;font-size:1.5rem;display:inline-block}.card p{color:var(--text-dim);margin:0 0 2rem;font-size:.95rem;line-height:1.7}.tag{background:rgba(var(--cyan-rgb), .15);color:var(--cyan);font-size:.7rem;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;border-radius:1rem;margin-bottom:.5rem;margin-right:.5rem;padding:.3rem .8rem;display:inline-block}.skill-card:before,#projects .card:before{background:0 0}.split-card{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.5rem;display:grid}.split-card .card-left,.split-card .card-right{flex-direction:column;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes borderSweep{0%{background-position:200% 0}to{background-position:-200% 0}}.contact-wrap{text-align:center;z-index:10;max-width:600px;margin:0 auto 5rem;position:relative}.direct-contact-info{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2.5rem;display:flex}.contact-pill{color:var(--text);font-size:.9rem;font-family:var(--font-mono);background:#ffffff08;border:1px solid #ffffff1a;border-radius:2rem;align-items:center;gap:.5rem;padding:.75rem 1.25rem;text-decoration:none;transition:background .3s,border-color .3s,color .3s,transform .3s,box-shadow .3s;display:inline-flex}.contact-pill:hover{background:rgba(var(--cyan-rgb), .1);border-color:rgba(var(--cyan-rgb), .4);color:var(--cyan);box-shadow:0 5px 15px rgba(var(--cyan-rgb), .2);transform:translateY(-2px)}.contact-form input,.contact-form textarea{width:100%;color:var(--text);font-family:var(--font-body);background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;outline:none;margin-bottom:1rem;padding:1rem;font-size:1rem;transition:border-color .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--cyan);background:rgba(var(--cyan-rgb), .05)}.social-links{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;list-style:none;display:flex}.social-links a{color:var(--text);background:#ffffff0d;border-radius:2rem;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;text-decoration:none;transition:all .2s;display:flex}.social-links a:hover{background:var(--cyan);color:#000}.social-icon{width:16px;height:16px}.global-footer{text-align:center;z-index:10;border-top:1px solid #ffffff1a;margin-top:6rem;padding:4rem 2rem 2rem;position:relative}.global-footer p{color:var(--text-dim);font-size:.9rem;font-family:var(--font-mono);margin-bottom:.5rem}.global-footer .footer-legal{opacity:.6;max-width:800px;font-size:.75rem;line-height:1.6;font-family:var(--font-body);margin:1rem auto 0}.projects-hero{text-align:center;z-index:10;padding:7rem 2rem .5rem;position:relative}.projects-hero h1{letter-spacing:-.04em;margin-bottom:.75rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800}.projects-hero h1 span{color:var(--cyan)}.projects-hero p{color:var(--text-dim);max-width:520px;margin:0 auto;font-size:1.05rem}.canvas-wrap{z-index:10;max-width:1400px;margin:0 auto;padding:.5rem 2rem 8rem;position:relative}.canvas-svg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.connector{stroke:url(#lineGrad);stroke-width:1.5px;fill:none;stroke-dasharray:6 4}.canvas-grid{z-index:2;grid-template-columns:1.2fr 1fr;gap:4rem;display:grid;position:relative}.proj-card{color:inherit;will-change:transform;background:#ffffff08;border:1px solid #ffffff14;border-radius:32px;flex-direction:column;padding:4.5rem 4rem;text-decoration:none;transition:translate .3s,border-color .2s,background .2s;display:flex;position:relative;overflow:hidden}.proj-tfr{grid-area:1/1/3;align-self:start;position:relative;top:15rem}.proj-network{grid-area:1/2}.proj-astroid{grid-area:2/2}.proj-card:before{content:"";background:linear-gradient(90deg, transparent, var(--cyan), transparent);opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.proj-card:hover:before{opacity:1}.proj-card:hover{border-color:rgba(var(--cyan-rgb), .35);background:rgba(var(--cyan-rgb), .05);translate:0 -4px}.proj-icon{margin-bottom:1.25rem;font-size:2.5rem;display:inline-block}.proj-badge{background:rgba(var(--cyan-rgb), .12);border:1px solid rgba(var(--cyan-rgb), .25);color:var(--cyan);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:2rem;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.3rem .9rem;font-size:.72rem;display:inline-flex}.proj-badge.purple{color:#a78bfa;background:#8b5cf61f;border-color:#8b5cf640}.proj-badge.amber{color:#fbbf24;background:#fbbf241a;border-color:#fbbf2433}.proj-title{color:#fff;letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(1.4rem,3vw,2rem);font-weight:800}.proj-title span{color:var(--cyan)}.proj-desc{color:var(--text-dim);flex:1;margin-bottom:1.5rem;font-size:.92rem;line-height:1.75}.proj-tags{flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;display:flex}.proj-stats{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.75rem;display:grid}.proj-stat{background:#0000004d;border:1px solid #ffffff0f;border-radius:10px;padding:.75rem 1rem}.proj-stat-val{font-family:var(--font-mono);color:var(--cyan);font-size:1.1rem;font-weight:700;display:block}.proj-stat-lbl{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;font-size:.65rem}.proj-cta{color:var(--cyan);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;margin-top:auto;font-size:.82rem;font-weight:700;text-decoration:none;transition:gap .2s;display:inline-flex}.proj-cta:hover{gap:.8rem}.proj-cta svg{transition:transform .2s}.proj-cta:hover svg{transform:translate(3px)}.net-status-row{background:#0000004d;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.75rem 1rem;transition:background .2s,border-color .2s;display:flex}.net-status-row:hover{background:#ffffff0a}.net-status-row.group:hover .copy-icon{opacity:1!important}.net-status-row.group:hover .gh-ip{display:none}.net-status-row.group:hover .gh-copy{display:inline!important}.gh-copy{font-family:var(--font-mono);font-size:.78rem;display:none}.net-status-row.group:hover .gh-copy{color:var(--cyan)!important}.sdot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sdot.checking{background:var(--cyan);animation:1s infinite pulse}.sdot.online{background:#4ade80;box-shadow:0 0 6px #4ade80}.sdot.offline{background:#f87171}.net-status-row span{font-family:var(--font-mono);color:var(--text-dim);font-size:.82rem}.net-status-row strong{font-family:var(--font-mono);color:#fff;margin-left:auto;font-size:.82rem}.node-dot{background:var(--cyan);width:8px;height:8px;box-shadow:0 0 8px var(--cyan);z-index:3;border-radius:50%;position:absolute}.conn-label{border:1px solid rgba(var(--cyan-rgb), .2);font-family:var(--font-mono);color:var(--text-dim);z-index:4;pointer-events:none;white-space:nowrap;background:#000000b3;border-radius:2rem;padding:.2rem .6rem;font-size:.65rem;position:absolute}.trademark-table th{text-align:left;background:rgba(var(--cyan-rgb), .1);color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-family:var(--font-mono);border-bottom:1px solid #ffffff1a;padding:1rem}.trademark-table td{color:var(--text-dim);vertical-align:top;border-bottom:1px solid #ffffff0d;padding:1rem;line-height:1.6}.trademark-table tr:hover td{background:#ffffff0d}.trademark-table td:first-child{color:var(--text);font-weight:700}.trademark-table tr:last-child td{border-bottom:none}.tag.no-tm{color:#999;background:#ffffff0d;border-color:#555}.rule-card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:1.5rem;padding:2rem;transition:border-color .2s,background .2s}.rule-card:hover{border-color:rgba(var(--cyan-rgb), .3);background:rgba(var(--cyan-rgb), .05)}.rule-card h3{font-family:var(--font-mono);color:#fff;margin-bottom:.5rem;font-size:.9rem}.rule-card p{color:var(--text-dim);font-size:.9rem;line-height:1.7}.rule-card.allowed{border-left:4px solid #34d399}.rule-card.not-allowed{border-left:4px solid #f87171}.rule-card.informal{border-left:4px solid #fbbf24}.error-page{z-index:10;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.error-card{text-align:center;background:#ffffff05;border:1px solid #ffffff0f;border-radius:32px;width:100%;max-width:520px;padding:4rem 3rem}.error-emoji{margin-bottom:1rem;font-size:3rem;display:block}.error-code{font-family:var(--font-mono);background:linear-gradient(135deg, var(--cyan), var(--cyan-dim));-webkit-text-fill-color:transparent;letter-spacing:-.04em;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:5rem;font-weight:800;line-height:1;display:inline-block}.error-title{color:#fff;margin-bottom:.75rem;font-size:2rem;font-weight:800}.error-subtitle{color:var(--cyan);font-size:1rem;font-family:var(--font-mono);margin-bottom:1rem}.error-desc{color:var(--text-dim);margin-bottom:2rem;font-size:.9rem;line-height:1.7}.error-btn{background:linear-gradient(135deg, var(--cyan), var(--cyan-dim));color:#000;font-size:.95rem;font-weight:700;font-family:var(--font-body);border:none;border-radius:3rem;align-items:center;gap:.5rem;padding:.85rem 2rem;text-decoration:none;transition:box-shadow .3s,transform .3s;display:inline-flex}.error-btn:hover{box-shadow:0 0 25px rgba(var(--cyan-rgb), .4);transform:translateY(-2px)}[data-reveal]{will-change:transform, opacity;transition:opacity .8s,transform .8s;transform:translateY(30px)}[data-reveal].is-visible{transform:translateY(0)}.toast-container{z-index:10001;pointer-events:none;flex-direction:column;gap:1rem;display:flex;position:fixed;bottom:2rem;right:2rem}.toast{color:#fff;font-family:var(--font-body);opacity:0;background:#000000e6;border:1px solid #ffffff1a;border-radius:12px;padding:1rem 1.5rem;font-size:.9rem;font-weight:500;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .4s;transform:translateY(50px);box-shadow:0 10px 30px #00000080}.toast.show{opacity:1;transform:translateY(0)}.toast-success{border-left:4px solid var(--cyan)}.toast-error{border-left:4px solid var(--red)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.25s ease-out fade-in}.md-alert .alert-content>:first-child{margin-top:0}.md-alert .alert-content>:last-child{margin-bottom:0}.mc-ip-box{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.mc-ip-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.mc-ip-label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;font-size:.75rem}.mc-ip{font-family:var(--font-mono);color:var(--cyan);text-align:center;background:0 0;border:none;border-radius:4px;min-width:140px;padding:2px 6px;font-size:.9rem;transition:all .2s;display:inline-block;position:relative}.mc-ip:hover{background:rgba(var(--cyan-rgb), .1);box-shadow:0 0 8px rgba(var(--cyan-rgb), .2)}.platform-list{flex-direction:column;gap:.25rem;margin-bottom:1rem;display:flex}.platform-entry{border-radius:8px;flex-direction:column;justify-content:center;gap:.35rem;height:100%;padding:.55rem .75rem;text-decoration:none;transition:background .15s;display:flex}.platform-entry:hover{background:#ffffff0a}.platform-entry .ple{font-family:var(--font-mono);color:#fff;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;transition:color .2s;display:flex}.platform-entry .ple:hover{color:var(--cyan)}.platform-entry .ple-icon{width:14px;height:14px;color:var(--cyan);flex-shrink:0}.platform-entry .ple-metrics{flex-wrap:wrap;gap:.65rem;display:flex}.platform-entry .metric{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:.25rem;font-size:.7rem;display:flex}.platform-entry .metric-icon{color:var(--cyan)}.total-downloads{background:rgba(var(--cyan-rgb), .06);border:1px solid rgba(var(--cyan-rgb), .15);border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.total-label{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.total-value{font-family:var(--font-mono);color:var(--cyan);font-size:1rem;font-weight:700}.download-icon-btn{background:rgba(var(--cyan-rgb), .15);border:1px solid var(--cyan);width:32px;height:32px;color:var(--cyan);border-radius:6px;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:inline-flex}.download-icon-btn:hover{background:var(--cyan);color:#000;box-shadow:0 0 15px var(--cyan);transform:translateY(-2px)}.card-btn{background:rgba(var(--cyan-rgb), .1);border:1px solid rgba(var(--cyan-rgb), .25);color:var(--cyan);font-family:var(--font-mono);border-radius:2rem;align-items:center;gap:.5rem;padding:.55rem 1.25rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.card-btn:hover{background:rgba(var(--cyan-rgb), .2);border-color:var(--cyan);box-shadow:0 0 15px rgba(var(--cyan-rgb), .2)}@media (width<=1100px){.projects-hero{padding:5rem 1.5rem .5rem}.canvas-wrap{padding:.5rem 1.5rem 6rem}.canvas-grid{grid-template-rows:auto;grid-template-columns:1fr;gap:3.5rem}.proj-tfr,.proj-network,.proj-astroid{grid-area:auto;--card-transform:none!important;top:0!important}.canvas-svg{display:none}.proj-card{border-radius:24px;padding:3rem 1.5rem;transform:none!important}.proj-stats{grid-template-columns:1fr 1fr}.proj-title{font-size:1.6rem}}@media (width<=768px){.mobile-menu-btn{display:flex}.nav-links{border:1px solid var(--border);z-index:1001;opacity:0;pointer-events:none;background:#0a0a1afa;border-radius:24px;flex-direction:column;padding:6rem 2rem 3rem;transition:transform .4s,opacity .4s;display:flex;position:fixed;top:1rem;left:1rem;right:1rem;transform:translateY(-120%);box-shadow:0 20px 60px #00000080}.nav-links.active{opacity:1;pointer-events:all;transform:translateY(0)}.hero h1{font-size:clamp(2.5rem,10vw,4rem)}.stats-section{flex-direction:column}.stat{border-bottom:1px solid #ffffff1a;border-right:none}.cards{grid-template-columns:1fr}.split-card{grid-template-columns:1fr;gap:2rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
