@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap";:root{font-family:Roboto,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#0d0d0d;padding:0;margin:0;--color-main: #0d0d0d;--color-dark: #1f1f1f;--color-light: #ffffff;--color-red: #FF3B30;--color-green: #8AE234;--color-blue: #34B9E2;--color-purple: #6B5FC6;--color-dark-rgb: 31, 31, 31;--color-main-rgb: 13, 13, 13;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{width:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.logo{border-radius:100%}.lock-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:40vw;margin-bottom:20vh}.lock-screen h1{font-size:2.5rem;margin-bottom:1rem;margin-top:0}.lock-screen-input{display:flex;justify-content:space-between;padding:.5rem;border:.25rem;background-color:var(--color-light);border-radius:1rem}.lock-screen-input input{color:var(--color-dark);border:0;background-color:var(--color-light);width:100%}.lock-screen-input input:focus{outline:none}.lock-screen-input button{padding:0;border:0}.command-input{position:absolute;bottom:0;left:0;width:100%;opacity:0;height:95%}.url{color:var(--os-accent, var(--color-green))}.command{display:flex;align-items:start;justify-content:start;flex-direction:column}.command div,li{display:flex;align-items:center;justify-content:start;flex-direction:row}.command-line{display:flex;align-items:center;padding:0 .5rem}.command-text{color:var(--os-ink, var(--color-light));margin:0;font-size:1rem;font-family:Courier New,Courier,monospace}.cursor{background-color:var(--os-ink, var(--color-light));color:var(--os-surface, var(--color-main));animation:blink 1.25s step-end infinite;display:inline-block;min-width:1ch}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.command-input-li{padding-bottom:2rem}.output{display:flex;align-items:center;justify-content:start;flex-direction:row;list-style:none;z-index:1}.output li{margin-right:1rem}.terminal,.window{position:absolute;top:9%;left:6%;width:88vw;max-width:1100px;height:78vh;max-height:760px;background-color:var(--os-surface, #1f1f1f);color:var(--os-ink, #fff);border:1px solid var(--os-line, rgba(255, 255, 255, .18));box-shadow:12px 14px 0 var(--os-shadow, rgba(0, 0, 0, .45));border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.window{top:11%;left:9%}.terminal-header,.window-header{flex-shrink:0;height:40px;padding:0 .75rem;background-color:var(--os-panel, #0d0d0d);color:var(--os-ink, #fff);border-bottom:1px solid var(--os-line, rgba(255, 255, 255, .14));display:flex;align-items:center;justify-content:flex-end;cursor:move;-webkit-user-select:none;user-select:none}.window-header{justify-content:space-between}.terminal-header button,.window-header button{padding:0;border:0;margin:0;background-color:transparent;color:var(--os-accent, #34B9E2);display:flex;align-items:center;justify-content:center;cursor:pointer}.window-header button{color:#ff5a5a}.terminal-body,.window-body{list-style:none;margin:0;padding:.75rem .6rem 1rem;overflow-y:auto;flex:1;display:flex;flex-direction:column}.terminal-body{padding-bottom:2.4rem}@media (max-width: 768px){.terminal,.window{top:0;left:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0;box-shadow:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 48px)}.terminal-header,.window-header{height:44px;padding:0 .6rem}.terminal-body,.window-body{padding:.6rem .5rem 2.4rem;max-height:none}}.project-view-resource{width:100%;margin-bottom:1rem}embed{width:100%;height:80vh}.project-view-link{margin-bottom:1.5rem}.project-view-link:after{display:none}a:after{display:none}.markdown-body{color-scheme:light;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f0f6fc;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8b949e;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdf5d;--color-prettylights-syntax-markup-changed-bg: #4e4108;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #24241f;--color-fg-muted: #6e6c62;--color-fg-subtle: #8a887f;--color-canvas-default: #f7f5ed;--color-canvas-overlay: #eeece3;--color-canvas-inset: #eae8df;--color-canvas-subtle: #eeece3;--color-border-default: #cfcdbd;--color-border-muted: #dedccf;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-attention-fg: #d29922;--color-danger-fg: #f85149;--color-done-fg: #a371f7;background-color:var(--color-canvas-default);color:var(--color-fg-default)}.markdown-body a{color:var(--color-accent-fg);text-decoration:none}.markdown-body img{background-color:transparent}.markdown-body{--base-size-4: .25rem;--base-size-8: .5rem;--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-40: 2.5rem;--base-text-weight-normal: 400;--base-text-weight-medium: 500;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent: Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--focus-outlineColor: #1f6feb;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;--fgColor-success: #3fb950;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-done: #ab7df8;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--bgColor-attention-muted: #bb800926;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--borderColor-accent-emphasis: #1f6feb;--borderColor-success-emphasis: #238636;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-done-emphasis: #8957e5;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=light]{color-scheme:light;--focus-outlineColor: #0969da;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;--fgColor-success: #1a7f37;--fgColor-attention: #9a6700;--fgColor-danger: #d1242f;--fgColor-done: #8250df;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--bgColor-attention-muted: #fff8c5;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--borderColor-accent-emphasis: #0969da;--borderColor-success-emphasis: #1a7f37;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-done-emphasis: #8250df;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #1f2328;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.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{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-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{background-color:transparent;color:var(--fgColor-accent);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:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;-moz-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;-moz-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.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(--focus-outlineColor);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:solid 1px transparent}.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(--focus-outlineColor);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{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.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:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.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:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;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:var(--base-size-16)}.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:var(--fgColor-default);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{padding:0 .2em;font-size:inherit}.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{padding-bottom:0;border-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"]{list-style-type:decimal}.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:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body body:has(:modal){padding-right:var(--dialog-scrollgutter)!important}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.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:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.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){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .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{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.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{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.file-explorer{z-index:8;width:min(760px,88vw);height:min(620px,74vh);top:9%;left:11%;background:var(--os-surface);color:var(--os-ink);border:1px solid var(--os-line);box-shadow:12px 14px 0 var(--os-shadow)}.explorer-header{height:38px;padding:0 .75rem;justify-content:space-between}.explorer-header>span{display:flex;align-items:center;gap:.5rem;font:700 .78rem/1 var(--os-mono);letter-spacing:.12em;text-transform:uppercase}.explorer-header button{margin:0}.explorer-toolbar{display:flex;align-items:center;gap:.35rem;padding:.65rem;border-bottom:1px solid var(--os-line);background:var(--os-panel)}.explorer-toolbar>button{display:grid;place-items:center;width:30px;height:30px;padding:0;color:var(--os-ink);background:transparent;border:1px solid var(--os-line);border-radius:0}.explorer-toolbar>button:disabled{opacity:.3;cursor:default}.explorer-breadcrumbs{display:flex;min-width:0;overflow-x:auto;align-items:center;gap:.25rem;margin-left:.25rem}.explorer-breadcrumbs button{border:0;border-radius:0;padding:.4rem .5rem;color:var(--os-muted);background:transparent;font:.7rem var(--os-mono);white-space:nowrap}.explorer-breadcrumbs button:last-child{color:var(--os-accent)}.explorer-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:.4rem;overflow:auto;padding:1rem;flex:1}.explorer-entry{min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:.7rem;color:var(--os-ink);background:transparent;border:1px solid transparent;border-radius:0}.explorer-entry:hover,.explorer-entry:focus-visible{border-color:var(--os-accent);background:var(--os-hover);outline:0}.explorer-entry-icon{color:var(--os-accent);font-size:1.8rem}.explorer-entry-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:.72rem var(--os-mono)}.explorer-entry-type{color:var(--os-muted);font:.58rem var(--os-mono);text-transform:uppercase}.explorer-empty,.explorer-status{color:var(--os-muted);font:.7rem var(--os-mono)}.explorer-empty{grid-column:1 / -1;padding:2rem;text-align:center}.explorer-status{padding:.55rem .8rem;border-top:1px solid var(--os-line)}@media (max-width: 640px){.file-explorer{left:3%;width:94vw;height:72vh}.explorer-body{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}}.onboard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#080808b8;display:grid;place-items:center;padding:1rem;animation:ob-fade .28s ease both}.onboard-overlay.closing{animation:ob-fade .22s ease reverse both}.onboard-modal{width:min(520px,94vw);max-height:86vh;overflow:auto;background:var(--os-surface, #1f1f1f);color:var(--os-ink, #fff);border:1px solid var(--os-line, rgba(255,255,255,.18));border-left:3px solid var(--os-accent, #34B9E2);box-shadow:12px 14px 0 var(--os-shadow, rgba(0,0,0,.45));padding:1.4rem 1.5rem 1.2rem;font-family:var(--os-mono, "Roboto Mono", ui-monospace, monospace);animation:ob-rise .34s cubic-bezier(.2,.8,.2,1) both}.onboard-modal.closing{animation:ob-rise .22s ease reverse both}.onboard-kicker{font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--os-accent, #34B9E2)}.onboard-head h2{margin:.45rem 0 0;font-size:1.4rem;font-weight:700;letter-spacing:-.01em;color:var(--os-ink, #fff)}.onboard-intro{margin:.9rem 0 1rem;color:var(--os-muted, rgba(255,255,255,.65));font-size:.86rem;line-height:1.5}.onboard-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.onboard-steps li{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:.7rem;align-items:start;padding:.6rem .7rem;border:1px solid var(--os-line, rgba(255,255,255,.18));animation:ob-in .4s ease both;animation-delay:calc(var(--i, 0) * 70ms + 80ms)}.onboard-ic{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;color:var(--os-accent, #34B9E2);font-size:1.05rem}.onboard-t{font-size:.78rem;font-weight:700;color:var(--os-ink, #fff);letter-spacing:.04em}.onboard-b{grid-column:2;color:var(--os-muted, rgba(255,255,255,.65));font-size:.72rem;line-height:1.45}.onboard-foot{margin-top:1.2rem;display:flex;justify-content:flex-end}.onboard-go{border:1px solid var(--os-accent, #34B9E2);background:var(--os-accent, #34B9E2);color:#0c0c0c;font:700 .72rem var(--os-mono, "Roboto Mono", monospace);letter-spacing:.14em;text-transform:uppercase;padding:.6rem 1rem;cursor:pointer}.onboard-go:hover{filter:brightness(1.08)}@keyframes ob-fade{0%{opacity:0}to{opacity:1}}@keyframes ob-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes ob-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@media (max-width: 600px){.onboard-modal{padding:1.1rem}.onboard-steps li{grid-template-columns:26px 1fr}}.bottom-bar{position:fixed;bottom:0;left:0;right:0;height:48px;width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--os-panel, #0d0d0d);border-top:1px solid var(--os-line, rgba(255, 255, 255, .16));padding:0 .95rem;z-index:50;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box}.bottom-icons{display:flex;align-items:center;justify-content:flex-start;gap:.55rem}.bottom-bar-icon{display:grid;place-items:center;width:32px;height:32px;color:var(--os-ink, #fff);background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;font-size:1rem;text-decoration:none}.bottom-bar-icon svg{width:18px;height:18px}.bottom-bar-icon:hover,.bottom-bar-icon:focus-visible{background:var(--os-hover, rgba(52, 185, 226, .16));color:var(--os-accent, #34B9E2);border-color:var(--os-line, rgba(255, 255, 255, .18));outline:0;text-decoration:none}.bottom-bar-icon.active{color:var(--os-accent, #ac0000);border-color:var(--os-accent, #ac0000)}.bottom-icons .bottom-bar-icon[href]:nth-of-type(1){margin-left:.65rem;padding-left:.65rem;border-left:1px solid var(--os-line, rgba(255, 255, 255, .14))}.bottom-details{display:flex;align-items:center;gap:.55rem;color:var(--os-muted, rgba(255, 255, 255, .65));font:.7rem var(--os-mono, "Roboto Mono", monospace)}.bottom-details-icon{font-size:.85rem}.power-menu{position:absolute;bottom:calc(48px + .45rem);left:.6rem;background:var(--os-surface, #1f1f1f);border:1px solid var(--os-line, rgba(255, 255, 255, .18));border-left:3px solid var(--os-accent, #34B9E2);border-radius:8px;padding:.4rem;display:flex;flex-direction:column;gap:.25rem;z-index:1000;box-shadow:6px 8px 0 var(--os-shadow, rgba(0, 0, 0, .45))}.power-menu button{background:transparent;border:0;border-radius:5px;color:var(--os-ink, #fff);padding:.55rem .95rem;cursor:pointer;text-align:left;font:.78rem var(--os-mono, "Roboto Mono", monospace);letter-spacing:.08em;transition:background .15s ease,color .15s ease}.power-menu button:hover,.power-menu button:focus-visible{background:var(--os-accent, #34B9E2);color:var(--os-panel, #0d0d0d);outline:0}@media (max-width: 768px){.bottom-bar{height:48px;padding:0 .45rem;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-icons{gap:.3rem}.bottom-bar-icon{width:36px;height:36px;border-radius:6px;font-size:.95rem}.bottom-bar-icon svg{width:17px;height:17px}.bottom-details{font-size:.66rem;gap:.4rem}.bottom-details .bottom-details-icon{display:none}.bottom-icons .bottom-bar-icon[href]:nth-of-type(1){margin-left:.4rem;padding-left:.4rem}}@media (max-width: 380px){.bottom-bar-icon[href^="https://www.behance"]{display:none}}.home-screen{height:100vh;width:100%;position:relative;overflow:hidden;--os-bg: transparent;--os-surface: #1f1f1f;--os-panel: #0d0d0d;--os-ink: #ffffff;--os-muted: rgba(255, 255, 255, .65);--os-line: rgba(255, 255, 255, .18);--os-shadow: rgba(0, 0, 0, .45);--os-hover: rgba(52, 185, 226, .16);--os-accent: #34B9E2;--os-mono: "Roboto Mono", ui-monospace, monospace;background:var(--os-bg);color:var(--os-ink);font-family:var(--os-mono)}.home-screen[data-os-theme=light]{--os-bg: transparent;--os-surface: #f7f5ed;--os-panel: #eeece3;--os-ink: #1b1b18;--os-muted: #747168;--os-line: #c9c6b9;--os-shadow: rgba(40, 38, 30, .22);--os-hover: rgba(155, 17, 30, .08);--os-accent: #9b111e}.desktop-icons{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,92px);gap:.7rem;position:absolute;top:1.25rem;left:1.25rem;z-index:2}.desktop-icon{width:86px;min-height:82px;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.45rem .25rem;border:1px solid transparent;border-radius:0;background:transparent;color:var(--os-ink);font:.62rem/1.2 var(--os-mono);text-align:center}.desktop-icon:hover,.desktop-icon:focus-visible,.desktop-icon.selected{background:var(--os-hover);border-color:var(--os-accent);outline:0}.desktop-icon-art{color:var(--os-accent);font-size:1.9rem}.home-screen>.terminal{z-index:10}@media (max-width: 600px){.desktop-icons{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:repeat(3,78px);gap:.2rem}.desktop-icon{width:76px}}.chat-bot{--cb-bg: #15161a;--cb-surface: #1d1f25;--cb-panel: #0c0d10;--cb-ink: #e8e9ee;--cb-muted: rgba(232, 233, 238, .58);--cb-line: rgba(255, 255, 255, .1);--cb-acc: #5fd8ff;--cb-user: rgba(95, 216, 255, .16);--cb-bot: rgba(255, 255, 255, .05);--cb-mono: "Roboto Mono", ui-monospace, "SF Mono", Menlo, monospace;position:fixed;bottom:6vh;right:1vw;z-index:120;font-family:var(--cb-mono);color:var(--cb-ink)}.start-chat{display:flex;align-items:center;gap:.55rem;height:44px;padding:0 .95rem;border:1px solid var(--cb-line);border-radius:999px;background:var(--cb-bg);color:var(--cb-ink);cursor:pointer;box-shadow:0 8px 24px #00000059;transition:border-color .2s ease,transform .2s ease}.start-chat:hover{border-color:var(--cb-acc);transform:translateY(-1px)}.start-chat:active{transform:translateY(0)}.start-chat .icon{display:inline-flex;font-size:1.2rem;color:var(--cb-acc)}.start-chat .text{font-size:.78rem;letter-spacing:.08em;text-transform:lowercase}.start-chat .label-dot{width:7px;height:7px;border-radius:50%;background:var(--cb-acc);animation:cb-pulse 1.6s ease-in-out infinite}@keyframes cb-pulse{0%,to{opacity:.35}50%{opacity:1}}.chat{width:min(380px,92vw);height:min(72vh,620px);background:var(--cb-bg);border:1px solid var(--cb-line);border-radius:14px;box-shadow:0 22px 60px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:cb-rise .26s cubic-bezier(.2,.8,.2,1) both}@keyframes cb-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.chat-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--cb-panel);border-bottom:1px solid var(--cb-line)}.chat-header h4{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cb-ink);display:flex;align-items:center;gap:.5rem}.chat-header h4:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cb-acc);box-shadow:0 0 8px var(--cb-acc)}.close-chat{padding:0;border:0;background:transparent;color:#ff5a5ad9;cursor:pointer;display:grid;place-items:center;transition:color .15s ease}.close-chat:hover{color:#ff5a5a}.chat-body{list-style:none;margin:0;padding:.85rem 1rem 1rem;flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.55rem;scroll-behavior:smooth}.chat-body::-webkit-scrollbar{width:6px}.chat-body::-webkit-scrollbar-thumb{background:var(--cb-line);border-radius:3px}.user-chat,.bot-chat{max-width:86%;padding:.55rem .85rem;border-radius:12px;font-size:.82rem;line-height:1.5;word-wrap:break-word;overflow-wrap:anywhere;animation:cb-bubble .22s ease both}@keyframes cb-bubble{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.user-chat{align-self:flex-end;background:var(--cb-user);border:1px solid rgba(95,216,255,.35);color:var(--cb-ink);border-bottom-right-radius:4px}.bot-chat{align-self:flex-start;background:var(--cb-bot);border:1px solid var(--cb-line);color:var(--cb-ink);border-bottom-left-radius:4px}.bot-chat p{margin:0 0 .5rem}.bot-chat p:last-child{margin-bottom:0}.bot-chat pre{background:var(--cb-panel);padding:.6rem .7rem;border-radius:6px;overflow-x:auto;font-size:.78rem;margin:.4rem 0;border:1px solid var(--cb-line)}.bot-chat code{background:var(--cb-panel);padding:.1rem .35rem;border-radius:3px;font-size:.78rem}.bot-chat pre code{background:transparent;padding:0}.bot-chat a{color:var(--cb-acc);text-decoration:underline}.bot-chat ul,.bot-chat ol{margin:.4rem 0;padding-left:1.2rem}.bot-chat li{margin:.2rem 0}.bot-chat h1,.bot-chat h2,.bot-chat h3{font-size:.88rem;margin:.5rem 0 .3rem}.chat-typing{color:var(--cb-muted);font-style:italic;font-size:.78rem;padding:.55rem .85rem}.chat-typing span{opacity:.25;animation:cb-blink 1.1s infinite;display:inline-block}.chat-typing .dot-2{animation-delay:.18s}.chat-typing .dot-3{animation-delay:.36s}@keyframes cb-blink{0%,to{opacity:.25}50%{opacity:1}}.chat-footer{flex-shrink:0;padding:.7rem .85rem;background:var(--cb-panel);border-top:1px solid var(--cb-line)}.chat-input{display:flex;align-items:center;gap:.5rem;background:var(--cb-surface);border:1px solid var(--cb-line);border-radius:8px;padding:.5rem .7rem}.chat-input input{flex:1;border:0;background:transparent;color:var(--cb-ink);font:.82rem var(--cb-mono);outline:none}.chat-input input::placeholder{color:var(--cb-muted);opacity:.7}.chat-input button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;background:var(--cb-acc);color:var(--cb-panel);cursor:pointer;transition:filter .15s ease}.chat-input button:hover:not(:disabled){filter:brightness(1.08)}.chat-input button:disabled{opacity:.4;cursor:default}.chat-input input:disabled{opacity:.5}@media (max-width: 640px){.chat-bot{bottom:0;right:0;left:0;width:100%}.start-chat{height:48px;padding:0 .85rem;margin:0 .85rem .85rem 0;box-shadow:0 4px 18px #0006}.start-chat .text{font-size:.72rem}.chat{width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0;border:0;border-left:1px solid var(--cb-line);box-shadow:none}.chat-body{padding-bottom:1.4rem}.user-chat,.bot-chat{max-width:90%}.chat-input input{font-size:16px}}#root{max-width:100vw;padding:0;margin:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.screen{background-image:url(/portfolio/assets/wallpaper-D_ravmuV.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;height:100vh;width:100vw;max-height:100vh;overflow:hidden;background-color:var(--color-dark);display:flex;align-items:center;justify-content:center}.std-portfolio{--bg: #0d0d0b;--ink: #e9e7de;--mut: #8a887f;--fnt: #57554d;--line: #232320;--line2: #383832;--acc: #ac0000;--acc-ink: #f5e8e8;--gutter: clamp(1.25rem, 4.5vw, 4.5rem);background:var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5;text-align:left;min-height:100vh;width:100%;position:relative;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .5s ease,color .5s ease}.std-portfolio[data-theme=light]{--bg: #eae8df;--ink: #161613;--mut: #6e6c62;--fnt: #a9a79b;--line: #cfcdbd;--line2: #b9b7a5;--acc: #7a0e0e;--acc-ink: #f2e3e3}html{scroll-behavior:smooth}.std-portfolio ::selection{background:var(--acc);color:var(--acc-ink)}.std-portfolio :focus-visible{outline:1px dashed var(--acc);outline-offset:3px}.construction-banner{position:fixed;top:0;left:0;right:0;z-index:250;display:flex;align-items:center;justify-content:center;gap:9px;padding:7px var(--gutter);background:var(--acc);color:var(--acc-ink);font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;text-align:center}.std-portfolio:not(.is-booted) .construction-banner{display:none}.std-portfolio.is-booted .hdr{top:28px}.cb-dot{width:7px;height:7px;border-radius:50%;background:var(--acc-ink);animation:cbBlink 1.1s steps(2) infinite;flex:0 0 auto}@keyframes cbBlink{50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.cb-dot{animation:none}}.std-portfolio{scrollbar-width:thin;scrollbar-color:var(--line2) var(--bg)}.std-portfolio ::-webkit-scrollbar{width:10px}.std-portfolio ::-webkit-scrollbar-track{background:var(--bg)}.std-portfolio ::-webkit-scrollbar-thumb{background:var(--line2);border:3px solid var(--bg)}.std-portfolio:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:screen}.std-portfolio[data-theme=light]:before{mix-blend-mode:multiply;opacity:.05}.guides{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;max-width:1560px;margin:0 auto;pointer-events:none}.guides i{position:absolute;top:0;bottom:0;width:1px;background:var(--line);opacity:.55}.guides i:nth-child(1){left:25%}.guides i:nth-child(2){left:50%}.guides i:nth-child(3){left:75%}.wrap{position:relative;z-index:2;max-width:1560px;margin:0 auto;padding:0 var(--gutter)}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:90;background:var(--acc);transform:scaleX(0);transform-origin:left}.boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--bg);display:flex;align-items:flex-end;justify-content:space-between;padding:var(--gutter);transition:transform .9s cubic-bezier(.77,0,.18,1) .05s}.boot.lift{transform:translateY(-101%)}.boot-log{display:flex;flex-direction:column;gap:.35rem;font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.08em;color:var(--mut);align-self:flex-start;margin-top:var(--gutter)}.boot-log span{opacity:0;animation:boot-line .4s cubic-bezier(.22,1,.36,1) forwards}.boot-log span:nth-child(2){animation-delay:.15s}.boot-log span:nth-child(3){animation-delay:.3s}@keyframes boot-line{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.boot-count{font-family:Anton,sans-serif;font-size:clamp(4rem,14vw,10rem);line-height:.8;color:var(--ink)}.boot-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line)}.boot-bar i{display:block;height:100%;background:var(--acc);transform-origin:left}.wipe{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:var(--acc);display:grid;place-items:center;transform:translateY(101%);pointer-events:none}.wipe.on{transform:translateY(0);transition:transform .6s cubic-bezier(.77,0,.18,1)}.wipe span{font-family:Space Mono,monospace;font-weight:700;font-size:clamp(.9rem,2vw,1.2rem);letter-spacing:.14em;color:var(--acc-ink);opacity:0}.wipe.on span{animation:boot-line .35s cubic-bezier(.22,1,.36,1) .28s forwards}@media (pointer: fine){.std-portfolio,.std-portfolio a,.std-portfolio button{cursor:none}.cur-dot,.cur-ring{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:50%;will-change:transform}.cur-dot{width:6px;height:6px;background:var(--acc);transition:opacity .25s,width .25s,height .25s}.cur-ring{width:38px;height:38px;border:1px solid var(--mut);display:grid;place-items:center;mix-blend-mode:difference;transition:width .35s cubic-bezier(.22,1,.36,1),height .35s cubic-bezier(.22,1,.36,1),border-color .3s,background-color .3s}.cur-label{font-family:Space Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-ink);opacity:0;transition:opacity .2s;white-space:nowrap}.cur-ring.is-active{width:58px;height:58px;border-color:var(--acc)}.cur-ring.is-label{width:84px;height:84px;background:var(--acc);border-color:var(--acc);mix-blend-mode:normal}.cur-ring.is-label .cur-label{opacity:1}.cur-dot.is-label{opacity:0}}@media (pointer: coarse){.cur-dot,.cur-ring{display:none}}.stage{opacity:0;transform:translateY(18px);transition:opacity .85s cubic-bezier(.22,1,.36,1) var(--d, 0ms),transform .85s cubic-bezier(.22,1,.36,1) var(--d, 0ms)}.is-booted .stage{opacity:1;transform:translateY(0)}.mask{display:block;overflow:hidden}.mask>span{display:block;transform:translateY(115%);transition:transform 1.1s cubic-bezier(.19,1,.22,1) var(--d, 0ms)}.is-booted .mask>span{transform:translateY(0)}.rv{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.rv.on{opacity:1;transform:translateY(0)}@keyframes caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes marquee-run{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes row-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hdr{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%)}.wordmark{font-family:Anton,sans-serif;font-size:1.05rem;letter-spacing:.1em;color:var(--ink);text-decoration:none;display:flex;align-items:baseline;gap:.7rem;white-space:nowrap}.wordmark sup{color:var(--acc);font-size:.6em}.wm-sub{font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fnt)}.nav{display:flex;gap:1.9rem}.nav-link{position:relative;font-family:Space Mono,monospace;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);text-decoration:none;transition:color .3s;padding:.2rem 0}.nav-link:before{content:attr(data-idx);margin-right:.55em;color:var(--fnt);transition:color .3s}.nl-bar{position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--acc);transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.77,0,.18,1)}.nav-link:hover{color:var(--ink)}.nav-link:hover:before{color:var(--acc)}.nav-link:hover .nl-bar{transform:scaleX(1);transform-origin:left}.hdr-right{display:flex;align-items:center;gap:1.5rem}.hdr-clock{font-family:Space Mono,monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fnt);white-space:nowrap;font-variant-numeric:tabular-nums}.theme-toggle{display:inline-flex;align-items:center;gap:.55rem;background:none;border:none;padding:0;font-family:Space Mono,monospace;font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--fnt)}.theme-toggle span.on{color:var(--ink)}.theme-toggle i{width:30px;height:14px;border:1px solid var(--line2);position:relative;flex:none}.theme-toggle i:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:8px;background:var(--acc);transition:transform .35s cubic-bezier(.77,0,.18,1)}.std-portfolio[data-theme=light] .theme-toggle i:after{transform:translate(13px)}.run-btn{display:inline-flex;align-items:center;gap:.55rem;font-family:Space Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:lowercase;color:var(--ink);background:none;border:1px solid var(--line2);border-radius:0;padding:.6rem 1rem;transition:border-color .3s,color .3s,background-color .3s;white-space:nowrap}.run-btn b{color:var(--acc);font-weight:700}.run-btn:hover{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,transparent)}.hero{position:relative;padding:clamp(2.5rem,6vh,5rem) 0 2.5rem;border-bottom:1px solid var(--line)}.hero-rail{display:grid;gap:0;font-family:Space Mono,monospace;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:clamp(2rem,6vh,4.5rem)}.hr-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--line)}.hr-row b{color:var(--ink);font-weight:700}.hr-status{color:var(--acc);display:inline-flex;align-items:center;gap:.55rem}.hr-status i{width:7px;height:7px;background:var(--acc);border-radius:50%;animation:caret-blink 1.6s step-end infinite}.hero-name{margin:0 0 clamp(1.5rem,4vh,3rem);font-family:Anton,sans-serif;font-weight:400;text-transform:uppercase;line-height:.85;letter-spacing:-.005em;font-size:clamp(3.4rem,15vw,12rem);position:relative;z-index:1}.hn-line{will-change:transform}.hn-line.outline{color:transparent;-webkit-text-stroke:2px var(--ink);padding-left:.65em}.glyph{display:inline-block;transition:transform .35s cubic-bezier(.22,1,.36,1),color .3s}.glyph:hover{transform:translateY(-.05em) skew(-7deg);color:var(--acc)}.hn-line.outline .glyph:hover{color:transparent;-webkit-text-stroke-color:var(--acc)}.hn-dot{color:var(--acc);-webkit-text-stroke:0}.hero-band{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end}.hero-left{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}.hero-serif{margin:0;font-family:Playfair Display,serif;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.3;color:var(--ink)}.hero-serif em{font-style:italic;color:var(--acc)}.hero-role{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5em;min-height:1.6em;margin:0;font-family:Space Mono,monospace;font-size:clamp(.9rem,1.6vw,1.1rem);color:var(--ink)}.hr-label{color:var(--fnt)}.caret{width:.55em;height:1.05em;background:var(--acc);transform:translateY(.16em);animation:caret-blink 1.05s step-end infinite;flex:none}.hero-sub{margin:0;max-width:36rem;color:var(--mut);font-size:clamp(.92rem,1.1vw,1rem);line-height:1.75}.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:.4rem}.btn{display:inline-flex;align-items:center;gap:.7rem;font-family:Space Mono,monospace;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:.95rem 1.6rem;border-radius:0;position:relative;transition:color .3s,background-color .3s,border-color .3s}.btn-solid{background:var(--acc);color:var(--acc-ink);border:1px solid var(--acc)}.btn-solid:hover{background:transparent;color:var(--acc)}.btn-solid svg{transition:transform .3s}.btn-solid:hover svg{transform:translate(4px)}.btn-line{background:transparent;color:var(--ink);border:1px solid var(--line2)}.btn-line:hover{border-color:var(--ink)}.hero-portrait{position:relative;z-index:2;justify-self:end;width:clamp(190px,24vw,330px);aspect-ratio:3 / 4;margin:-6rem 0 0}.hero-portrait img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.hero-portrait-gs{filter:grayscale(1) contrast(1.08) brightness(.9)}.hero-portrait-color{filter:grayscale(0) contrast(1.04) brightness(.98);-webkit-mask-image:radial-gradient(circle at var(--mx, -200%) var(--my, -200%),#000 0 16%,transparent 40%);mask-image:radial-gradient(circle at var(--mx, -200%) var(--my, -200%),#000 0 16%,transparent 40%);transition:-webkit-mask-image .05s linear,mask-image .05s linear}.hero-portrait:hover .hero-portrait-gs{filter:grayscale(1) contrast(1.06) brightness(.92)}.crop{position:absolute;width:18px;height:18px;z-index:2}.crop.tl{top:-10px;left:-10px;border-top:1px solid var(--acc);border-left:1px solid var(--acc)}.crop.tr{top:-10px;right:-10px;border-top:1px solid var(--acc);border-right:1px solid var(--acc)}.crop.bl{bottom:-10px;left:-10px;border-bottom:1px solid var(--acc);border-left:1px solid var(--acc)}.crop.br{bottom:-10px;right:-10px;border-bottom:1px solid var(--acc);border-right:1px solid var(--acc)}.hero-portrait figcaption{position:absolute;bottom:-1.7rem;left:0;font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fnt);white-space:nowrap}.hero-portrait figcaption b{color:var(--acc);font-weight:700}.hero-vert{position:absolute;right:-.5rem;top:42%;writing-mode:vertical-rl;font-family:Space Mono,monospace;font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--fnt);pointer-events:none}.hero-scroll{display:flex;align-items:center;gap:.9rem;margin-top:clamp(2.5rem,6vh,4rem);font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--fnt)}.hs-line{width:70px;height:1px;background:var(--line2);position:relative;overflow:hidden}.hs-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--acc);transform:translate(-100%);animation:hs-sweep 2.1s cubic-bezier(.77,0,.18,1) infinite}@keyframes hs-sweep{0%{transform:translate(-100%)}55%{transform:translate(0)}to{transform:translate(102%)}}.marquee{overflow:hidden;border-bottom:1px solid var(--line);padding:1.2rem 0;position:relative;z-index:2;background:var(--bg)}.marquee-track{display:flex;gap:3rem;width:max-content;animation:marquee-run 30s linear infinite;white-space:nowrap}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{font-family:Anton,sans-serif;font-size:clamp(1.3rem,2.8vw,2rem);text-transform:uppercase;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px var(--fnt);display:inline-flex;align-items:center;gap:3rem;transition:-webkit-text-stroke-color .3s}.marquee-item:hover{-webkit-text-stroke-color:var(--ink)}.marquee-item:after{content:"✳";color:var(--acc);-webkit-text-stroke:0;font-size:.75em}.sect{padding:clamp(4rem,10vh,7rem) 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}.s-head{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:1.4rem;margin-bottom:clamp(2.5rem,5vw,4rem)}.s-no{font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.2em;color:var(--acc);align-self:center}.s-title{margin:0;font-family:Anton,sans-serif;font-weight:400;text-transform:uppercase;line-height:.9;font-size:clamp(2.2rem,6vw,4.2rem);color:var(--ink)}.s-note{font-family:Space Mono,monospace;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fnt);text-align:right}.s-rule{grid-column:1 / -1;height:1px;background:var(--line)}.about{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}.about-main p{margin:0;font-size:clamp(1.3rem,2.5vw,1.85rem);line-height:1.42;letter-spacing:-.005em;color:var(--ink);max-width:26ch}.about-main em{font-family:Playfair Display,serif;font-style:italic;color:var(--acc)}.about-meta{border-top:1px solid var(--line)}.am-row{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.am-k{color:var(--fnt)}.am-v{color:var(--ink);text-align:right}.stack{border-top:1px solid var(--line)}.stack-row{position:relative;display:grid;grid-template-columns:18ch minmax(0,1fr);gap:clamp(1rem,3vw,3rem);align-items:baseline;padding:1.4rem 0;border-bottom:1px solid var(--line)}.stack-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,color-mix(in srgb,var(--acc) 7%,transparent),transparent 75%);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.77,0,.18,1);z-index:-1}.stack-row:hover:before{transform:scaleX(1)}.st-lbl{font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}.st-items{display:flex;flex-wrap:wrap;gap:.45rem 2rem;font-size:clamp(.95rem,1.5vw,1.12rem);color:var(--mut)}.st-item{transition:transform .35s cubic-bezier(.22,1,.36,1),color .3s}.stack-row:hover .st-item{transform:translate(7px);color:var(--ink);transition-delay:calc(var(--i) * 28ms)}.works-filter{display:flex;align-items:baseline;gap:2.2rem;margin-bottom:2.5rem}.wf-btn{background:none;border:none;border-radius:0;padding:.4rem 0;font-family:Space Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--fnt);position:relative;transition:color .3s}.wf-btn sup{color:var(--acc);margin-left:.5em;font-size:.75em}.wf-btn:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.77,0,.18,1)}.wf-btn:hover,.wf-btn.on{color:var(--ink)}.wf-btn.on:after{transform:scaleX(1)}.wf-hint{margin-left:auto;font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fnt)}.works{border-top:1px solid var(--line)}.work-row{position:relative;z-index:0;display:grid;grid-template-columns:5ch minmax(0,1fr) auto auto 3ch;grid-template-areas:"idx title tags link arrow";align-items:center;gap:clamp(1rem,2.5vw,2.2rem);padding:1.7rem .2rem;border-bottom:1px solid var(--line);animation:row-in .7s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * 60ms)}.work-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to right,color-mix(in srgb,var(--acc) 7%,transparent),transparent 70%);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.77,0,.18,1)}.work-row:hover:before{transform:scaleX(1)}.w-idx{grid-area:idx;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.16em;color:var(--fnt);transition:color .3s}.work-row:hover .w-idx{color:var(--acc)}.w-thumb{display:none}.w-title{grid-area:title;margin:0;font-family:Anton,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(1.5rem,3.6vw,2.7rem);line-height:1;color:var(--ink);overflow-wrap:break-word;transition:transform .45s cubic-bezier(.22,1,.36,1),color .3s}.work-row:hover .w-title{transform:translate(14px);color:var(--acc)}.w-tags{grid-area:tags;font-family:Space Mono,monospace;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--fnt);white-space:nowrap}.w-link{grid-area:link;font-family:Space Mono,monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);text-decoration:none;border-bottom:1px solid var(--line2);padding-bottom:2px;white-space:nowrap;opacity:0;transform:translate(-8px);transition:opacity .35s,transform .35s,color .3s,border-color .3s}.work-row:hover .w-link{opacity:1;transform:translate(0)}.w-link:hover{color:var(--acc);border-color:var(--acc)}.w-arrow{grid-area:arrow;font-size:1.1rem;color:var(--mut);justify-self:end;transition:transform .4s cubic-bezier(.22,1,.36,1),color .3s}.work-row:hover .w-arrow{transform:translate(4px,-4px);color:var(--acc)}.float-preview{position:fixed;top:0;left:0;z-index:50;width:min(360px,27vw);aspect-ratio:4 / 3;pointer-events:none;opacity:0;transition:opacity .3s ease;outline:1px solid var(--acc);outline-offset:-1px;will-change:transform}.float-preview.on{opacity:1}.float-preview img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.7) contrast(1.08) brightness(.9)}.fp-cap{position:absolute;top:0;left:0;background:var(--acc);color:var(--acc-ink);font-family:Space Mono,monospace;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .6rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (pointer: coarse){.float-preview{display:none}}.ledger{border-top:1px solid var(--line)}.ld-row{position:relative;display:grid;grid-template-columns:19ch minmax(0,1fr) auto;gap:clamp(1.2rem,3vw,3rem);align-items:start;padding:1.9rem 0;border-bottom:1px solid var(--line);transition:padding-left .4s cubic-bezier(.22,1,.36,1)}.ld-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--acc);transform:scaleY(0);transform-origin:top;transition:transform .45s cubic-bezier(.77,0,.18,1)}.ld-row:hover{padding-left:1.1rem}.ld-row:hover:before{transform:scaleY(1)}.ld-date{font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);padding-top:.35rem}.ld-main h3{margin:0 0 .4rem;font-family:Anton,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1;color:var(--ink)}.ld-place{display:block;font-family:Space Mono,monospace;font-size:.82rem;letter-spacing:.04em;color:var(--mut);margin-bottom:.8rem}.ld-desc{margin:0;max-width:56ch;color:var(--mut);font-size:.93rem;line-height:1.65}.ld-list{margin:.2rem 0 0;padding:0;list-style:none;display:grid;gap:.45rem}.ld-list li{position:relative;padding-left:1.4rem;color:var(--mut);font-size:.92rem;line-height:1.55}.ld-list li:before{content:"+";position:absolute;left:0;color:var(--acc);font-family:Space Mono,monospace}.ld-tag{font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fnt);border:1px solid var(--line);padding:.4rem .7rem;white-space:nowrap}.ld-tag-award{color:var(--acc);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}.ld-row-award h3 a:hover{text-decoration:underline}.ld-main h3 a{color:inherit}.ld-main h3 a:hover{color:var(--acc)}.contact{border-bottom:none}.contact-serif{margin:0 0 1.5rem;font-family:Playfair Display,serif;font-size:clamp(1.4rem,3vw,2.2rem);color:var(--ink)}.contact-serif em{font-style:italic;color:var(--acc)}.contact-email{position:relative;display:inline-block;font-family:Anton,sans-serif;text-transform:lowercase;font-size:clamp(1.7rem,6.8vw,4.6rem);line-height:1.05;letter-spacing:0;color:var(--ink);text-decoration:none;padding-bottom:.15em;margin-bottom:clamp(2.5rem,5vw,4rem);transition:color .3s;word-break:break-all}.contact-email:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.77,0,.18,1)}.contact-email:hover{color:var(--acc)}.contact-email:hover:after{transform:scaleX(1)}.scr-dim{color:var(--acc);opacity:.65}.socials{border-top:1px solid var(--line);margin-bottom:clamp(2.5rem,5vw,4rem)}.soc-row{display:grid;grid-template-columns:3ch auto minmax(0,1fr) auto;align-items:center;gap:1.2rem;padding:1.05rem .2rem;border-bottom:1px solid var(--line);text-decoration:none;font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}.soc-ic{font-size:1.05rem;color:var(--mut);transition:color .3s,transform .3s}.soc-label{color:var(--ink);transition:transform .4s cubic-bezier(.22,1,.36,1)}.soc-handle{color:var(--fnt);text-align:right}.soc-arrow{transition:transform .35s cubic-bezier(.22,1,.36,1),color .3s}.soc-row:hover .soc-ic{color:var(--acc);transform:translateY(-2px)}.soc-row:hover .soc-label{transform:translate(8px)}.soc-row:hover .soc-arrow{transform:translate(3px,-3px);color:var(--acc)}.contact-os{display:inline-flex;align-items:center;gap:.8rem;background:none;border:1px solid var(--line2);border-radius:0;padding:1rem 1.5rem;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);transition:border-color .3s,color .3s,background-color .3s}.contact-os b{color:var(--acc);font-weight:700}.contact-os svg{transition:transform .3s}.contact-os:hover{border-color:var(--acc);color:var(--ink);background:color-mix(in srgb,var(--acc) 8%,transparent)}.contact-os:hover svg{transform:translate(5px)}.ftr{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1.5rem;padding:2.2rem 0;border-top:1px solid var(--line);font-family:Space Mono,monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fnt)}.ftr-mid{text-align:center}.ftr-top{color:var(--mut);text-decoration:none;transition:color .3s}.ftr-top:hover{color:var(--acc)}.ftr-end{justify-self:end}@media (max-width: 1100px){.nav,.hdr-clock{display:none}}@media (max-width: 860px){.hero-band{grid-template-columns:minmax(0,1fr);gap:3.5rem}.hero-portrait{justify-self:start;margin:0;width:min(72vw,320px)}.hero-vert{display:none}.about{grid-template-columns:minmax(0,1fr)}.stack-row{grid-template-columns:minmax(0,1fr);gap:.6rem}.ld-row{grid-template-columns:minmax(0,1fr);gap:.5rem}.ld-row:hover{padding-left:.8rem}.ld-tag{justify-self:start}.s-head{grid-template-columns:auto 1fr}.s-note{display:none}}@media (max-width: 760px){.work-row{grid-template-columns:4ch minmax(0,1fr) 3ch;grid-template-areas:"idx title arrow" "thumb thumb thumb" ". tags link";row-gap:.9rem}.w-thumb{display:block;grid-area:thumb;margin-top:.3rem}.w-thumb img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;filter:grayscale(.8) contrast(1.08) brightness(.88);outline:1px solid var(--line)}.w-link{opacity:1;transform:none;justify-self:end}.work-row:hover .w-title{transform:none}.wf-hint,.wm-sub{display:none}.run-btn{font-size:.62rem;padding:.5rem .7rem}.ftr{grid-template-columns:1fr auto}.ftr-mid{display:none}}@media (max-width: 480px){.hn-line.outline{padding-left:0}.theme-toggle span{display:none}.hero-cta .btn{width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.boot{display:none}.stage,.mask>span,.rv{opacity:1!important;transform:none!important;transition:none!important}.caret,.hr-status i,.hs-line:after,.marquee-track,.work-row,.boot-log span{animation:none!important}.work-row{opacity:1}}.distort{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100vw;height:100vh;pointer-events:none;--dg-base: rgba(233, 231, 222, .1);--dg-hot: #ac0000}.std-portfolio[data-theme=light] .distort{--dg-base: rgba(22, 22, 19, .1);--dg-hot: #7a0e0e}.pv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:clamp(.6rem,3vw,2.4rem);background:#080806a8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:pvFade .28s ease both}@keyframes pvFade{0%{opacity:0}to{opacity:1}}.pv-panel{display:flex;flex-direction:column;width:min(1060px,100%);height:min(88vh,100%);background:var(--bg);border:1px solid var(--line);box-shadow:0 40px 90px #00000080;animation:pvUp .34s cubic-bezier(.2,.9,.25,1) both;text-align:left}@keyframes pvUp{0%{transform:translateY(26px);opacity:0}to{transform:none;opacity:1}}.pv-head{display:grid;grid-template-columns:1fr auto;gap:.35rem 1.2rem;align-items:center;padding:1rem 1.3rem .9rem;border-bottom:1px solid var(--line)}.pv-file{grid-column:1 / -1;font-family:Space Mono,monospace;font-size:.66rem;letter-spacing:.14em;color:var(--acc);text-transform:uppercase}.pv-title{font-family:Anton,sans-serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:400;letter-spacing:.02em;text-transform:uppercase}.pv-meta{display:flex;align-items:center;gap:.6rem}.pv-tag{font-family:Space Mono,monospace;font-size:.62rem;padding:.3em .62em;border:1px solid var(--line);color:var(--line2);letter-spacing:.08em;text-transform:uppercase}.pv-src{display:inline-flex;align-items:center;gap:.45em;font-family:Space Mono,monospace;font-size:.72rem;color:var(--ink);text-decoration:none;padding:.45em .9em;border:1px solid var(--line);transition:color .25s ease,border-color .25s ease}.pv-src:hover{color:var(--acc);border-color:var(--acc)}.pv-src svg{transform:rotate(-45deg);font-size:.62rem}.pv-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1rem;cursor:pointer;transition:background .25s ease,color .25s ease,transform .3s ease}.pv-close:hover{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);transform:rotate(90deg)}.pv-body{flex:1;overflow:auto;min-height:0}.pv-frame{display:block;width:100%;height:100%;border:0;background:#0d1f1a}.pv-img{display:block;max-width:100%;margin:0 auto}.pv-desc{padding:2rem;font-size:1.05rem;line-height:1.7}.pv-md{max-width:760px;margin:0 auto;padding:clamp(1.6rem,4vw,3rem) clamp(1.2rem,4vw,2.4rem) 4rem;font-size:.98rem;line-height:1.75}.pv-md h1,.pv-md h2,.pv-md h3{font-family:Anton,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;margin:1.8em 0 .6em;line-height:1.15}.pv-md h1{font-size:2rem}.pv-md h2{font-size:1.5rem;border-bottom:1px solid var(--line);padding-bottom:.3em}.pv-md h3{font-size:1.15rem}.pv-md h1:first-child,.pv-md h2:first-child{margin-top:0}.pv-md p{margin:.8em 0}.pv-md a{color:var(--acc)}.pv-md ul,.pv-md ol{padding-left:1.4rem;margin:.8em 0}.pv-md li{margin:.35em 0}.pv-md li::marker{color:var(--acc)}.pv-md code{font-family:Space Mono,monospace;font-size:.82em;padding:.15em .45em;background:#8080801f;border:1px solid var(--line)}.pv-md pre{padding:1rem 1.2rem;overflow-x:auto;background:#80808014;border:1px solid var(--line);margin:1em 0}.pv-md pre code{padding:0;background:none;border:none}.pv-md blockquote{margin:1em 0;padding:.4em 0 .4em 1.1em;border-left:2px solid var(--acc);font-style:italic;opacity:.85}.pv-md img{max-width:100%;border:1px solid var(--line)}.pv-md hr{border:none;border-top:1px solid var(--line);margin:2em 0}.pv-md table{border-collapse:collapse;width:100%;margin:1em 0}.pv-md th,.pv-md td{border:1px solid var(--line);padding:.45em .8em;font-size:.9em}.pv-md th{font-family:Space Mono,monospace;text-transform:uppercase;font-size:.72em;letter-spacing:.1em}.pv-foot{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1.3rem;border-top:1px solid var(--line);font-family:Space Mono,monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--line2)}@media (max-width: 720px){.pv-head{grid-template-columns:1fr auto}.pv-tag{display:none}}
