@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.L54rSq_className{font-family:Geist,Geist Fallback;font-style:normal}.L54rSq_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.-_Fr9q_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.-_Fr9q_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@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-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-outline-style:solid;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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 components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-4{margin-top:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.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,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}.os{color:var(--label);background:var(--desk);--acc:var(--blue);--acc-on:#fff;--link:var(--acc);--acc-soft:var(--acc)}@supports (color:color-mix(in lab, red, red)){.os{--acc-soft:color-mix(in srgb, var(--acc) 16%, transparent)}}.os{transition:background .3s}[data-theme=dark] .os{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--blue:#0a84ff;--purple:#bf5af2;--pink:#ff375f;--red:#ff453a;--orange:#ff9f0a;--yellow:#ffd60a;--green:#30d158;--mint:#63e6e2;--teal:#40c8e0;--cyan:#64d2ff;--indigo:#5e5ce6;--brown:#ac8e68;--gray:#98989d;--label:#ffffffd9;--label2:#fff9;--label3:#fff6;--sep:#ffffff1a;--sep2:#ffffff29;--win:#1e1e1ed6;--win-bd:#ffffff21;--title:#3a3a3c80;--side:#2c2c2e80;--sheet:#28282a;--card:#ffffff0b;--card-h:#ffffff14;--code:#1c1c1e;--fill:#7676803d;--fill2:#76768029;--input:#00000038;--btn:#ffffff1a;--btn-h:#ffffff29;--seg-on:#636366;--menubar:#1616186b;--dock:#2e2e3061;--dock-bd:#ffffff29;--pop:#28282adb;--shadow:0 30px 80px -20px #000000bf, 0 0 0 .5px #000000d9;--light-off:#4d4d4f;--ink-p:100%;--ink-b:#fff;--sc-shadow:0 1px 6px #0009;--steel:#8fa9c4;--tile-top:#ffffff29;--tile-bot:#ffffff0a;--tile-bd:#ffffff24;--tile-hi:#fff3;--glyph-p:100%;--desk:radial-gradient(70% 60% at 18% 12%, #0a84ff61, transparent 62%), radial-gradient(60% 60% at 88% 82%, #40c8e042, transparent 60%), radial-gradient(45% 45% at 72% 18%, #5e5ce64d, transparent 60%), radial-gradient(40% 40% at 25% 90%, #8fa9c429, transparent 60%), linear-gradient(165deg, #0c1424, #05070c)}[data-theme=light] .os{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--blue:#007aff;--purple:#af52de;--pink:#ff2d55;--red:#ff3b30;--orange:#ff9500;--yellow:#fc0;--green:#34c759;--mint:#00c7be;--teal:#30b0c7;--cyan:#32ade6;--indigo:#5856d6;--brown:#a2845e;--gray:#8e8e93;--label:#000000d9;--label2:#0009;--label3:#0006;--sep:#0000001a;--sep2:#00000026;--win:#ffffffd6;--win-bd:#00000024;--title:#ecececa6;--side:#eaeaec8c;--sheet:#fff;--card:#00000006;--card-h:#0000000d;--code:#f5f5f7;--fill:#78788029;--fill2:#7878801a;--input:#fff;--btn:#fff;--btn-h:#f5f5f7;--seg-on:#fff;--menubar:#f4f6f98c;--dock:#ecf0f56b;--dock-bd:#fff9;--pop:#f6f6f6e6;--shadow:0 30px 70px -22px #00000059, 0 0 0 .5px #0003;--light-off:#dcdcdc;--ink-p:62%;--ink-b:#000;--sc-shadow:none;--steel:#4f6d8c;--tile-top:#ffffffeb;--tile-bot:#fff9;--tile-bd:#00000017;--tile-hi:#fff;--glyph-p:82%;--desk:radial-gradient(70% 60% at 15% 10%, #007aff38, transparent 60%), radial-gradient(60% 55% at 90% 85%, #2a4a6e57, transparent 62%), radial-gradient(45% 45% at 75% 15%, #30b0c729, transparent 60%), radial-gradient(50% 45% at 20% 95%, #4f6d8c3d, transparent 62%), linear-gradient(165deg, #e4e9ef, #c9d2dc)}[data-accent=blue] .os{--acc:var(--blue)}[data-accent=purple] .os{--acc:var(--purple)}[data-accent=pink] .os{--acc:var(--pink)}[data-accent=red] .os{--acc:var(--red)}[data-accent=orange] .os{--acc:var(--orange)}[data-accent=yellow] .os{--acc:var(--yellow);--acc-on:#000}[data-accent=green] .os{--acc:var(--green)}[data-accent=graphite] .os{--acc:var(--gray)}[data-theme=light][data-accent=yellow] .os .btn.primary,[data-theme=light][data-accent=yellow] .os .fbtn.on{color:#000}body{font-family:var(--font-geist-sans), -apple-system, BlinkMacSystemFont, system-ui, sans-serif;-webkit-font-smoothing:antialiased;background:#000;margin:0;font-size:14px;line-height:1.5}*{box-sizing:border-box}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--link)}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--acc)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:3px solid color-mix(in srgb, var(--acc) 55%, transparent)}}:focus-visible{outline-offset:1px}@keyframes winIn{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:none}}@keyframes winOut{to{opacity:0;transform:scale(.96)translateY(8px)}}@keyframes winMin{to{opacity:0;transform:scale(.4)translateY(60vh)}}@keyframes popIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}h1,h2,h3,h4,h5,h6{font-weight:700}ul{list-style:outside}svg{vertical-align:baseline;display:inline}.seg{background:var(--fill2);border-radius:7px;gap:2px;padding:2px;display:flex}.seg button{color:var(--label);background:0 0;border:0;border-radius:5px;padding:3px 10px;font-size:12px;font-weight:500}.seg button.on{background:var(--seg-on);box-shadow:0 1px 2px #0000002e,0 0 0 .5px #0000000f}.icon-btn{width:32px;height:32px;color:var(--label);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.icon-btn:hover{background:var(--fill)}svg.i{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.sc-ico{border-radius:14px;width:54px;height:54px}.sc-ico svg.i{stroke-width:1.8px;width:26px;height:26px}.dock-tile{border-radius:13px;width:50px;height:50px}.dock-tile,.sc-ico{--cc:var(--blue);color:var(--cc);place-items:center;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.dock-tile,.sc-ico{color:color-mix(in srgb, var(--cc) var(--glyph-p), var(--ink-b))}}.dock-tile,.sc-ico{background:linear-gradient(180deg, var(--cc), var(--cc))}@supports (color:color-mix(in lab, red, red)){.dock-tile,.sc-ico{background:linear-gradient(180deg, color-mix(in srgb, var(--cc) 20%, var(--tile-top)), color-mix(in srgb, var(--cc) 9%, var(--tile-bot)))}}.dock-tile,.sc-ico{border:.5px solid var(--tile-bd);box-shadow:inset 0 1px 0 var(--tile-hi), inset 0 -1px 0 var(--cc), 0 8px 18px -10px #00000073}@supports (color:color-mix(in lab, red, red)){.dock-tile,.sc-ico{box-shadow:inset 0 1px 0 var(--tile-hi), inset 0 -1px 0 color-mix(in srgb, var(--cc) 25%, transparent), 0 8px 18px -10px #00000073}}.dock-tile,.sc-ico{-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%)}.dock-tile:before,.sc-ico:before{content:"";pointer-events:none;background:linear-gradient(#ffffff2e,#0000);height:50%;position:absolute;top:0;left:0;right:0}.dock-tile:after,.sc-ico:after{content:"";background:var(--cc);opacity:.22;filter:blur(10px);pointer-events:none;border-radius:50%;width:70%;height:40%;position:absolute;bottom:-20%;left:15%}.dock-tile svg.i{stroke-width:1.9px;width:24px;height:24px}.dock-tile svg.i,.sc-ico svg.i{z-index:1;position:relative}.t-home{--cc:var(--blue)}.t-about{--cc:var(--steel)}.t-stack{--cc:var(--indigo)}.t-projects{--cc:var(--cyan)}.t-experience{--cc:var(--teal)}.t-education{--cc:var(--steel)}.t-certs{--cc:var(--orange)}.t-contact{--cc:var(--blue)}.t-terminal{--cc:#30d158;color:#30d158;background:linear-gradient(#3a3a3ceb,#141416f0);border-color:#ffffff24;box-shadow:inset 0 1px #ffffff24,0 8px 18px -10px #0009}.t-terminal svg.i{color:#30d158}.tour-icon{border-radius:18px;width:64px;height:64px}.tour-icon svg.i{width:30px;height:30px}.pad{padding:24px}.h-eyebrow{font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--label2);font-size:11px}.chip{background:var(--fill2);color:var(--label);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;display:inline-flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.demo-tag{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;--cc:var(--orange);color:var(--cc);border-radius:5px;padding:2px 7px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.demo-tag{color:color-mix(in srgb, var(--cc) var(--ink-p), var(--ink-b))}}.demo-tag{background:var(--cc)}@supports (color:color-mix(in lab, red, red)){.demo-tag{background:color-mix(in srgb, var(--cc) 16%, transparent)}}.note{color:var(--label2);background:var(--fill2);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.btn{border:.5px solid var(--sep2);background:var(--btn);min-height:36px;color:var(--label);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,transform .15s,filter .15s;display:inline-flex;box-shadow:0 .5px 1.5px #0000001f}.btn:hover{background:var(--btn-h);text-decoration:none}.btn.primary{background:var(--acc);color:var(--acc-on);border-color:#0000}.btn.primary:hover{filter:brightness(1.08)}.btn[disabled]{opacity:.5;cursor:not-allowed}.muted{color:var(--label2)}.nc{color:var(--label2);font-style:italic}.card{border:.5px solid var(--sep);background:var(--card);border-radius:12px}.kbd{font-family:var(--font-geist-mono), monospace;border:.5px solid var(--sep2);background:var(--fill2);color:var(--label);border-radius:5px;padding:1px 6px;font-size:11.5px}.sect{padding:16px}.sect h4{color:var(--label2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:11px;font-weight:600}.link-row{border-bottom:.5px solid var(--sep);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:13px;display:flex}.link-row:last-child{border-bottom:0}.link-row .lbl{color:var(--label2);align-items:center;gap:8px;display:flex}.split{height:100%;min-height:0;display:flex;position:relative}.side{border-right:.5px solid var(--sep);background:var(--side);flex-direction:column;flex:none;gap:1px;width:196px;padding:10px 8px;display:flex;overflow:auto}.side-h{color:var(--label3);padding:8px 10px 4px;font-size:11px;font-weight:600}.side-btn{text-align:left;width:100%;color:var(--label);background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.side-btn:hover{background:var(--fill2)}.side-btn.on{background:var(--fill)}.side-btn .cnt{color:var(--label2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.side-btn svg.i{color:var(--acc)}.main{flex:1;min-width:0;padding:16px 18px 24px;overflow:auto}.detail{border-left:.5px solid var(--sep);background:var(--side);flex:none;width:290px;padding:20px;overflow:auto}.detail-x{display:none}@container (max-width:880px){.detail{display:none}.detail.has{border-left:0;border-top:.5px solid var(--sep2);background:var(--sheet);z-index:5;border-radius:14px 14px 0 0;width:auto;max-height:66%;animation:.22s cardIn;display:block;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -20px 50px #0000004d}.detail-x{display:grid}}@container (max-width:620px){.split{flex-direction:column}.side{border-right:0;border-bottom:.5px solid var(--sep);flex-direction:row;width:auto;padding:8px;overflow-x:auto}.side-h{display:none}.side-btn{white-space:nowrap;width:auto}.side-btn .cnt{margin-left:4px}}.search{background:var(--fill2);height:34px;color:var(--label2);border:.5px solid #0000;border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:0 10px;display:flex}.search:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.search input{color:var(--label);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:13.5px}.search input::placeholder{color:var(--label3)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.crumb{color:var(--label2);align-items:center;gap:6px;font-size:13px;display:flex}.crumb b{color:var(--label);font-weight:600}.mono{width:38px;height:38px;font-family:var(--font-geist-mono), monospace;color:var(--cc);border-radius:9px;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}@supports (color:color-mix(in lab, red, red)){.mono{color:color-mix(in srgb, var(--cc) var(--ink-p), var(--ink-b))}}.mono{background:var(--cc)}@supports (color:color-mix(in lab, red, red)){.mono{background:color-mix(in srgb, var(--cc) 16%, transparent)}}.mono.lg{border-radius:13px;width:56px;height:56px;font-size:18px}.c-all{--cc:var(--gray)}.c-frontend{--cc:var(--blue)}.c-backend{--cc:var(--purple)}.c-mobile{--cc:var(--teal)}.c-databases{--cc:var(--orange)}.c-devops{--cc:var(--pink)}.status{white-space:nowrap;--cc:var(--green);color:var(--cc);border-radius:999px;padding:2px 8px;font-size:11px}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in srgb, var(--cc) var(--ink-p), var(--ink-b))}}.status{background:var(--cc)}@supports (color:color-mix(in lab, red, red)){.status{background:color-mix(in srgb, var(--cc) 16%, transparent)}}.btn.sm{border-radius:7px;min-height:30px;padding:0 12px;font-size:12.5px}.filters{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.fbtn{background:var(--fill2);color:var(--label);border:0;border-radius:999px;min-height:30px;padding:5px 12px;font-size:12.5px}.fbtn:hover{background:var(--fill)}.fbtn.on{background:var(--acc);color:var(--acc-on)}.field{color:var(--label2);flex-direction:column;gap:6px;font-size:12.5px;display:flex}.field input,.field textarea{background:var(--input);border:.5px solid var(--sep2);color:var(--label);resize:vertical;border-radius:7px;outline:none;padding:8px 10px;font-size:13.5px;box-shadow:inset 0 .5px 1px #0000000f}.field input::placeholder,.field textarea::placeholder{color:var(--label3)}.field input:focus,.field textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.form{flex-direction:column;gap:12px;padding:18px;display:flex}.banner{--cc:var(--orange);color:var(--cc);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}@supports (color:color-mix(in lab, red, red)){.banner{color:color-mix(in srgb, var(--cc) var(--ink-p), var(--ink-b))}}.banner{background:var(--cc)}@supports (color:color-mix(in lab, red, red)){.banner{background:color-mix(in srgb, var(--cc) 14%, transparent)}}.banner.ok{--cc:var(--green)}.swatches{flex-wrap:wrap;gap:7px;display:flex}.sw{border:0;border-radius:50%;width:22px;height:22px;padding:0;position:relative;box-shadow:inset 0 0 0 .5px #0003}.sw.on:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:7px}.a-blue{background:var(--blue)}.a-purple{background:var(--purple)}.a-pink{background:var(--pink)}.a-red{background:var(--red)}.a-orange{background:var(--orange)}.a-yellow{background:var(--yellow)}.a-green{background:var(--green)}.a-graphite{background:var(--gray)}.os{width:100%;height:100dvh;position:relative;overflow:hidden}.wall{background:var(--desk);position:absolute;inset:0}.wall-mark{letter-spacing:-.04em;color:var(--label);opacity:.05;-webkit-user-select:none;user-select:none;pointer-events:none;white-space:nowrap;font-family:Geist Mono,monospace;font-size:clamp(28px,5.5vw,92px);font-weight:600;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.topbar{z-index:2000;background:var(--menubar);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border-bottom:.5px solid var(--sep);align-items:center;gap:12px;height:40px;padding:0 10px 0 14px;display:flex;position:absolute;top:0;left:0;right:0}.logo{letter-spacing:.02em;color:var(--label);white-space:nowrap;background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:6px 4px;font-family:Geist Mono,monospace;font-size:13px;font-weight:600;display:flex}.logo-short{display:none}.logo-dot{background:linear-gradient(135deg, var(--acc), var(--indigo));border-radius:5px;width:18px;height:18px}.tb-role{color:var(--label2);font-size:12.5px}.tb-sep{background:var(--sep2);width:1px;height:16px}.tb-nav{gap:2px;display:flex}.tb-link{color:var(--label);background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:13px}.tb-link:hover{background:var(--fill)}.tb-spacer{flex:1}.tb-clock{color:var(--label);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.scrim{z-index:2001;background:0 0;border:0;position:absolute;inset:0}.pop{z-index:2002;background:var(--pop);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border:.5px solid var(--win-bd);width:280px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:12px;padding:14px;animation:.16s popIn;display:flex;position:absolute;top:46px;right:10px}.pop h3{margin:0;font-size:13px;font-weight:600}.pop-row{color:var(--label2);justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;display:flex}.pop-col{color:var(--label2);flex-direction:column;gap:8px;font-size:12.5px;display:flex}.pop-btn{text-align:left;border:.5px solid var(--sep2);background:var(--btn);width:100%;color:var(--label);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.pop-btn:hover{background:var(--btn-h)}.shortcuts{z-index:1;flex-direction:column;gap:8px;display:flex;position:absolute;top:64px;right:22px}.sc{width:92px;color:var(--label);text-shadow:var(--sc-shadow);background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;font-size:12px;font-weight:500;display:flex}.sc:hover{background:var(--fill2)}.dock{z-index:1900;background:var(--dock);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border:.5px solid var(--dock-bd);border-radius:22px;align-items:flex-end;gap:6px;padding:7px 9px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 18px 40px -16px #00000080}.dock-sep{background:var(--sep2);align-self:stretch;width:1px;margin:6px 3px}.dock-item{background:0 0;border:0;flex-direction:column;align-items:center;padding:0;transition:transform .18s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.dock-item:hover,.dock-item:focus-visible{transform:translateY(-9px)scale(1.15)}.dock-item:hover+.dock-item{transform:translateY(-3px)scale(1.05)}.dock-item:has(+.dock-item:hover){transform:translateY(-3px)scale(1.05)}.dock-tip{white-space:nowrap;background:var(--pop);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:.5px solid var(--win-bd);color:var(--label);opacity:0;pointer-events:none;border-radius:6px;padding:3px 10px;font-size:12px;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 12px #0003}.dock-item:hover .dock-tip,.dock-item:focus-visible .dock-tip{opacity:1;transform:translate(-50%)translateY(0)}.dock-dot{background:0 0;border-radius:50%;width:4px;height:4px;margin-top:4px}.dock-item.running .dock-dot{background:var(--label)}.win{background:var(--win);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);border:.5px solid var(--win-bd);box-shadow:var(--shadow);color:var(--label);border-radius:12px;flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) winIn;display:flex;position:absolute;overflow:hidden}.win.closing{animation:.16s forwards winOut}.win.minimizing{animation:.2s forwards winMin}.win.max{width:calc(100% - 16px)!important;height:calc(100% - 144px)!important;top:48px!important;left:8px!important}.titlebar{border-bottom:.5px solid var(--sep);background:var(--title);cursor:default;-webkit-user-select:none;user-select:none;touch-action:none;flex:none;align-items:center;gap:10px;height:42px;padding:0 12px;display:flex}.lights{gap:2px;width:84px;display:flex}.light{background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;display:grid}.light span{border-radius:50%;width:12px;height:12px;display:block;position:relative;box-shadow:inset 0 0 0 .5px #0000001f}.l-close span{background:#ff5f57}.l-min span{background:#febc2e}.l-max span{background:#28c840}.win:not(.active) .light span{background:var(--light-off)}.lights:hover .l-close span:after{content:"×";color:#0000008c;place-items:center;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.lights:hover .l-min span:after{content:"–";color:#0000008c;place-items:center;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.lights:hover .l-max span:after{content:"+";color:#0000008c;place-items:center;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.wtitle{color:var(--label);flex:1;justify-content:center;align-items:center;gap:7px;min-width:0;font-size:13px;font-weight:600;display:flex}.win:not(.active) .wtitle{color:var(--label3)}.wtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wtitle svg.i{color:var(--label2)}.tb-pad{width:84px}.wbody{flex:1;min-height:0;position:relative;overflow:auto;container-type:inline-size}.wbody::-webkit-scrollbar{width:11px;height:11px}.main::-webkit-scrollbar{width:11px;height:11px}.side::-webkit-scrollbar{width:11px;height:11px}.detail::-webkit-scrollbar{width:11px;height:11px}.term-out::-webkit-scrollbar{width:11px;height:11px}.pf::-webkit-scrollbar{width:11px;height:11px}.wbody::-webkit-scrollbar-thumb{background:var(--fill);background-clip:content-box;border:3px solid #0000;border-radius:10px}.main::-webkit-scrollbar-thumb{background:var(--fill);background-clip:content-box;border:3px solid #0000;border-radius:10px}.side::-webkit-scrollbar-thumb{background:var(--fill);background-clip:content-box;border:3px solid #0000;border-radius:10px}.detail::-webkit-scrollbar-thumb{background:var(--fill);background-clip:content-box;border:3px solid #0000;border-radius:10px}.term-out::-webkit-scrollbar-thumb{background:var(--fill);background-clip:content-box;border:3px solid #0000;border-radius:10px}.pf::-webkit-scrollbar-thumb{background:var(--fill);background-clip:content-box;border:3px solid #0000;border-radius:10px}.desk{animation:.3s fadeIn;position:absolute;inset:0}@media (max-width:1100px){.shortcuts,.tb-nav{display:none}}@media (max-width:760px),(max-height:500px){.tb-role,.tb-sep,.tb-clock,.logo-full{display:none}.logo-short{display:inline}.topbar{gap:6px}.pv-btn span{display:none}.win{border-left:0;border-right:0;border-radius:0;width:100%!important;height:calc(100% - 122px)!important;top:40px!important;left:0!important}.light{width:34px;height:34px}.lights{width:auto}.tb-pad{width:0}.dock{padding:8px 6px calc(8px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:0;justify-content:flex-start;gap:2px;bottom:0;left:0;right:0;overflow-x:auto;transform:none}.dock-sep{display:none}.dock-item{min-width:62px}.dock-item:hover,.dock-item:focus-visible,.dock-item:hover+.dock-item{transform:none}.dock-item:has(+.dock-item:hover){transform:none}.dock-tile{border-radius:10px;width:40px;height:40px}.dock-tip{opacity:1;box-shadow:none;color:var(--label2);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:3px 0 0;font-size:10.5px;position:static;transform:none}.dock-item:hover .dock-tip{transform:none}.dock-dot{margin-top:1px}}.pv-btn{border:.5px solid var(--sep2);background:var(--btn);color:var(--label);border-radius:7px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:500;display:flex;box-shadow:0 .5px 1px #0000001a}.pv-btn:hover{background:var(--btn-h)}.body-txt{color:var(--label)}.welcome{background:radial-gradient(80% 60% at 100% 0%, var(--acc-soft), transparent 70%);flex-direction:column;gap:18px;min-height:100%;padding:34px 34px 28px;display:flex}.wm{font-family:var(--font-geist-mono), monospace;text-wrap:balance;letter-spacing:-.04em;background:linear-gradient(120deg, var(--label) 30%, var(--acc));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(26px,7cqi,40px);font-weight:600;line-height:1.05}.w-role{margin:0;font-size:18px;font-weight:500}.w-quote{color:var(--label);border:0;margin:0;padding:0;font-size:15px}.w-meta{color:var(--label2);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.w-intro{color:var(--label2);max-width:460px;margin:0}.w-btns{flex-wrap:wrap;gap:10px;display:flex}.about{flex-direction:column;gap:20px;padding:24px;display:flex}.prof{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.avatar{width:92px;height:92px;font-family:var(--font-geist-mono), monospace;color:#fff;background:linear-gradient(135deg, var(--acc), var(--indigo));box-shadow:0 12px 30px -14px var(--acc);border-radius:50%;place-items:center;font-size:28px;font-weight:600;display:grid;position:relative}.avatar:after{content:"";background:var(--green);border:3px solid var(--sheet);border-radius:50%;width:18px;height:18px;position:absolute;bottom:2px;right:2px}.prof h2{letter-spacing:-.02em;margin:0;font-size:24px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@container (max-width:560px){.grid2{grid-template-columns:minmax(0,1fr)}}.tgrid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px;display:grid}.tcard{text-align:left;border:.5px solid var(--sep);background:var(--card);color:var(--label);border-radius:12px;flex-direction:column;gap:10px;padding:14px;transition:background .15s,transform .15s,border-color .15s;animation:.28s cubic-bezier(.2,.8,.2,1) both cardIn;display:flex}.tcard:hover{background:var(--card-h);transform:translateY(-2px)}.tcard.on{border-color:var(--acc);background:var(--acc-soft);box-shadow:0 0 0 1px var(--acc)}.tc-top{align-items:center;gap:10px;display:flex}.tc-name{font-size:14px;font-weight:600}.tc-cat{color:var(--label2);font-size:11.5px}.tc-desc{color:var(--label2);margin:0;font-size:12.5px;line-height:1.45}.empty{text-align:center;color:var(--label2);padding:40px 10px;font-size:13px}.dt-h{align-items:center;gap:12px;margin-bottom:14px;display:flex}.dt-h h3{margin:0;font-size:18px}.dt-p{color:var(--label);margin:0 0 16px;font-size:13px}.rel{text-align:left;border:.5px solid var(--sep);background:var(--card);width:100%;color:var(--label);border-radius:8px;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;font-size:12.5px;display:flex}.rel:hover{background:var(--card-h)}.pgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.pcard{border:.5px solid var(--sep);background:var(--card);border-radius:12px;flex-direction:column;transition:transform .15s,box-shadow .15s;animation:.3s cubic-bezier(.2,.8,.2,1) both cardIn;display:flex;overflow:hidden}.pcard:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px #00000073}.cover{place-items:center;height:128px;display:grid;position:relative;overflow:hidden}.cover.big{border-radius:12px;height:210px}.cv-ui{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border:.5px solid #ffffff59;border-radius:8px;flex-direction:column;gap:6px;width:62%;max-width:300px;padding:8px;display:flex;position:relative;box-shadow:0 14px 30px -10px #00000059}.cv-dots{gap:4px;display:flex}.cv-dots i{background:#ffffffbf;border-radius:50%;width:6px;height:6px}.cv-dots i:first-child{background:#ff5f57}.cv-dots i:nth-child(2){background:#febc2e}.cv-dots i:nth-child(3){background:#28c840}.cv-row{gap:6px;display:flex}.cv-row i{background:#ffffff59;border-radius:4px;flex:1;height:7px}.cv-row i.a{background:#ffffffd9;flex:.5}.cv-bars{align-items:flex-end;gap:4px;height:28px;display:flex}.cv-bars i{background:#fff9;border-radius:3px 3px 0 0;flex:1}.cv-1{background:linear-gradient(135deg, #1e3a5f, var(--blue))}.cv-2{background:linear-gradient(135deg, #14485a, var(--teal))}.cv-3{background:linear-gradient(135deg, #232a55, var(--indigo))}.cv-4{background:linear-gradient(135deg, #3b3326, var(--orange))}.cv-5{background:linear-gradient(135deg, #25374a, var(--steel))}.pc-body{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex}.pc-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.pc-name{margin:0;font-size:15px;font-weight:600}.pc-cat{color:var(--label2);font-size:12px}.pc-desc{color:var(--label2);margin:0;font-size:12.5px}.pc-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.pd{flex-direction:column;gap:18px;max-width:860px;animation:.25s cardIn;display:flex}.pd h2{letter-spacing:-.02em;margin:0;font-size:24px}.pd h4{color:var(--label2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:11px;font-weight:600}.pd p{color:var(--label);margin:0}.pd ul{color:var(--label);flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.arch{font-family:var(--font-geist-mono), monospace;--cc:var(--indigo);color:var(--cc);font-size:12.5px}@supports (color:color-mix(in lab, red, red)){.arch{color:color-mix(in srgb, var(--cc) var(--ink-p), var(--ink-b))}}.arch{background:var(--code);border:.5px solid var(--sep);white-space:pre-wrap;border-radius:8px;padding:12px 14px;line-height:1.6}[data-theme=dark] .os .arch{color:#a5a3ff}.tl{flex-direction:column;gap:12px;margin-bottom:24px;padding-left:26px;display:flex;position:relative}.tl:before{content:"";background:linear-gradient(var(--acc), transparent);width:2px;position:absolute;top:6px;bottom:6px;left:7px}.tl-item{position:relative}.tl-dot{background:var(--sheet);border:2px solid var(--acc);width:14px;height:14px;box-shadow:0 0 0 4px var(--acc-soft);border-radius:50%;position:absolute;top:18px;left:-25px}.tl-head{text-align:left;width:100%;color:var(--label);background:0 0;border:0;align-items:center;gap:12px;padding:14px 16px;display:flex}.tl-head h3{margin:0;font-size:15px;font-weight:600}.tl-meta{color:var(--label2);font-size:12.5px}.chev{color:var(--label2);margin-left:auto;transition:transform .2s}.chev.open{transform:rotate(180deg)}.tl-body{flex-direction:column;gap:12px;padding:0 16px 16px;animation:.2s cardIn;display:flex}.tl-body p{color:var(--label);margin:0;font-size:13px}.tl-body ul{color:var(--label);margin:0;padding-left:18px;font-size:13px}.ach{background:var(--acc-soft);border-radius:10px;padding:12px 14px}.ach ul{flex-direction:column;gap:4px;display:flex}.tech-groups{flex-direction:column;gap:10px;display:flex}.tech-g{grid-template-columns:150px minmax(0,1fr);align-items:start;gap:10px;display:grid}.tech-gl{color:var(--label2);padding-top:3px;font-size:12px;font-weight:600}@container (max-width:560px){.tech-g{grid-template-columns:minmax(0,1fr);gap:6px}}.grp-h{align-items:center;gap:10px;margin:4px 0 12px;display:flex}.grp-h h3{margin:0;font-size:14px;font-weight:600}.egrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.ecard{flex-direction:column;gap:10px;padding:18px;animation:.3s both cardIn;display:flex}.ecard h3{margin:0;font-size:16px}.e-ico{background:var(--acc-soft);width:44px;height:44px;color:var(--acc);border-radius:11px;place-items:center;display:grid}.e-ico svg.i{width:22px;height:22px}.kv{border-top:.5px solid var(--sep);justify-content:space-between;gap:10px;padding:6px 0;font-size:12.5px;display:flex}.kv span:first-child{color:var(--label2)}.cert{position:relative;overflow:hidden}.cert:after{content:"";background:radial-gradient(var(--acc-soft), transparent 70%);border-radius:50%;width:120px;height:120px;position:absolute;top:-30px;right:-30px}.term{height:100%;font-family:var(--font-geist-mono), ui-monospace, Menlo, monospace;color:#f2f2f2;background:#121212f7;flex-direction:column;font-size:13px;display:flex}.term-out{cursor:text;flex:1;padding:14px 16px 6px;overflow:auto}.tline{white-space:pre-wrap;word-break:break-word;color:#f2f2f2;line-height:1.6}.tline.sys{color:#98989d}.tline.ok{color:#30d158}.tline.err{color:#ff453a}.tline.out{color:#e5e5ea}.tp{color:#30d158}.tp b{color:#64d2ff;font-weight:500}.caret{vertical-align:-2px;background:#f2f2f2;width:8px;height:15px;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.tprompt{align-items:center;gap:8px;padding:6px 16px 12px;display:flex}.tprompt input{color:#f2f2f2;caret-color:#f2f2f2;font:inherit;background:0 0;border:0;outline:none;flex:1;min-width:0}.tprompt input::placeholder{color:#636366}.tchips{background:#1c1c1e;border-top:.5px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;display:flex}.tchips .muted{color:#98989d}.tchip{font-family:var(--font-geist-mono), monospace;color:#30d158;background:#2c2c2e;border:.5px solid #ffffff24;border-radius:6px;min-height:30px;padding:5px 10px;font-size:12px}.tchip:hover{background:#3a3a3c}.contact{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;padding:24px;display:grid}@container (max-width:680px){.contact{grid-template-columns:minmax(0,1fr)}}.contact h2{letter-spacing:-.02em;margin:0 0 4px;font-size:22px}@media (max-width:760px),(max-height:500px){.welcome{padding:24px 20px}.wm{font-size:28px}.pad,.about,.contact{padding:18px}}.side-btn .mono{border-radius:6px;width:22px;height:22px;font-size:10px}.pf{background:var(--sheet);color:var(--label);scroll-behavior:smooth;animation:.3s fadeIn;position:absolute;inset:0;overflow:auto}[data-theme=dark] .os .pf{background:#1c1c1e}.pf-nav{z-index:10;background:var(--menubar);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border-bottom:.5px solid var(--sep);flex-wrap:wrap;align-items:center;gap:14px;padding:10px max(16px,50% - 560px);display:flex;position:sticky;top:0}.pf-links{flex-wrap:wrap;gap:2px;display:flex}.pf-links a{color:var(--label2);border-radius:6px;padding:5px 10px;font-size:13px;text-decoration:none}.pf-links a:hover{color:var(--label);background:var(--fill2);text-decoration:none}.pf-wrap{max-width:1120px;margin:0 auto;padding:0 16px}.hero{padding:96px 0 72px;position:relative}.hero:before{content:"";background:radial-gradient(40% 60% at 25% 30%, var(--acc-soft), transparent 70%), radial-gradient(30% 50% at 80% 20%, var(--steel), transparent 70%);height:420px;position:absolute;inset:-40px -200px auto}@supports (color:color-mix(in lab, red, red)){.hero:before{background:radial-gradient(40% 60% at 25% 30%, var(--acc-soft), transparent 70%), radial-gradient(30% 50% at 80% 20%, color-mix(in srgb, var(--steel) 16%, transparent), transparent 70%)}}.hero:before{pointer-events:none}.hero h1{letter-spacing:-.045em;margin:14px 0 10px;font-size:clamp(40px,7vw,76px);font-weight:600;line-height:1;position:relative}.hero p{color:var(--label2);max-width:640px;margin:0;font-size:clamp(16px,2vw,20px);position:relative}.hero .w-btns{margin-top:28px;position:relative}.pf-sec{border-top:.5px solid var(--sep);padding:56px 0;scroll-margin-top:60px}.pf-sec h2{letter-spacing:-.03em;margin:6px 0 24px;font-size:clamp(26px,3.4vw,36px);font-weight:600}.sk-group{margin-bottom:22px}.sk-group h3{color:var(--label2);margin:0 0 10px;font-size:13px;font-weight:500}.pf-foot{color:var(--label2);border-top:.5px solid var(--sep);padding:40px 0 60px;font-size:12.5px}.chip .chip-mono{border-radius:5px;width:20px;height:20px;font-size:9px}.tour{z-index:3000;pointer-events:none;position:absolute;inset:0}.tour-dim,.tour-card{pointer-events:auto}.tour-dim{background:#00000085;transition:clip-path .35s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}[data-theme=light] .tour-dim{background:#0f172a6b}.tour-dim.full{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);clip-path:none!important}.tour-ring{box-shadow:0 0 0 2px var(--acc), 0 0 0 6px var(--acc-soft);pointer-events:none;border-radius:14px;transition:left .35s cubic-bezier(.2,.8,.2,1),top .35s cubic-bezier(.2,.8,.2,1),width .35s,height .35s;animation:1.8s ease-in-out infinite ringPulse;position:absolute}@keyframes ringPulse{50%{box-shadow:0 0 0 2px var(--acc), 0 0 0 12px transparent}}.tour-card{z-index:2;background:var(--pop);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border:.5px solid var(--win-bd);box-shadow:var(--shadow);color:var(--label);border-radius:14px;flex-direction:column;gap:12px;padding:18px;transition:left .35s cubic-bezier(.2,.8,.2,1),top .35s cubic-bezier(.2,.8,.2,1);animation:.25s tourIn;display:flex;position:absolute}@keyframes tourIn{0%{opacity:0}to{opacity:1}}.tour-card.above{transform:translateY(-100%)}.tour-card.center{text-align:center;align-items:center;padding:30px 26px 24px;transform:translate(-50%,-50%);width:min(420px,100% - 32px)!important;top:50%!important;left:50%!important}.tour-top{justify-content:space-between;align-items:center;width:100%;display:flex}.tour-step{font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;color:var(--label2);font-size:11px}.tour-skip{color:var(--label2);background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:12px}.tour-skip:hover{background:var(--fill2);color:var(--label)}.tour-card h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.tour-card p{color:var(--label2);margin:0;font-size:13.5px;line-height:1.55}.tour-hint{background:var(--acc-soft);color:var(--label);text-align:left;border-radius:9px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:12.5px;display:flex}.tour-hint i{background:var(--acc);border-radius:50%;flex:none;width:8px;height:8px;animation:1.3s ease-out infinite hintPulse}@keyframes hintPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--acc) 60%, transparent)}to{box-shadow:0 0 0 9px #0000}}.tour-dots{gap:5px;display:flex}.tour-dots span{background:var(--fill);border-radius:3px;width:6px;height:6px;transition:width .2s,background .2s}.tour-dots span.on{background:var(--acc);width:18px}.tour-foot{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.tour-btns{gap:8px;display:flex}.center .tour-foot{flex-direction:column;gap:14px}.center .tour-btns{justify-content:center}.tour-keys{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.os.tour-root{z-index:3000;pointer-events:none;background:0 0;width:auto;height:auto;position:fixed;inset:0;overflow:visible}.logo,.tb-role,.pv-btn,.tb-clock{white-space:nowrap}.pv-btn{flex:none}@media (max-width:900px){.tb-role,.tb-sep{display:none}}@media (max-width:820px){.tb-clock{display:none}}.wtitle{align-self:stretch}@media (pointer:coarse){.light{width:34px;height:34px}}@media (pointer:coarse) and (min-width:761px) and (min-height:501px){.lights,.tb-pad{width:110px}}.link-row a,.kv a{align-items:center;min-height:24px;margin-block:-2px;display:inline-flex}@media (hover:none) and (min-width:761px) and (min-height:501px){.dock-item:hover,.dock-item:hover+.dock-item{transform:none}.dock-item:has(+.dock-item:hover){transform:none}.dock-item:hover .dock-tip{opacity:0;transform:translate(-50%)translateY(4px)}.tcard:hover,.pcard:hover{box-shadow:none;transform:none}}.topbar{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}@media (max-width:760px),(max-height:500px){.dock{padding-left:calc(6px + env(safe-area-inset-left));padding-right:calc(6px + env(safe-area-inset-right))}}@media (max-height:500px){.dock-tip{display:none}.dock{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.dock-item{min-width:52px}.win,.win.max{width:100%!important;height:calc(100% - 102px)!important;top:40px!important;left:0!important}}@media (max-width:760px){.pf-nav{gap:8px;padding:6px 12px}.pf-links{scrollbar-width:none;flex-wrap:nowrap;order:3;width:100%;margin-block:-4px;padding-block:4px;overflow-x:auto}.pf-links::-webkit-scrollbar{display:none}.pf-links a{white-space:nowrap;padding:8px 10px}.hero{padding:40px 0 48px}.pf-sec{padding:40px 0;scroll-margin-top:96px}}@media (max-height:500px){.pf-nav{position:static}}@media (max-width:360px){.topbar{gap:2px;padding-left:8px;padding-right:4px}.topbar .icon-btn{width:28px}.topbar .seg button{padding:3px 7px}.topbar .pv-btn{padding:4px 7px}}.pgrid{grid-auto-rows:1fr}.pc-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pc-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pc-actions{flex-wrap:nowrap;gap:6px;margin-left:auto;display:flex}.pc-foot{flex-wrap:nowrap;gap:6px}.pc-foot .btn.sm{white-space:nowrap;padding:4px 9px;font-size:12px}@media (max-width:480px){.pc-foot{flex-wrap:wrap}}.pd-video{background:#000;border-radius:10px;width:100%;max-height:60vh;display:block}.os{--acc-fill:var(--acc)}@supports (color:color-mix(in lab, red, red)){.os{--acc-fill:color-mix(in srgb, var(--acc) 85%, #000)}}.os{--link:var(--acc)}@supports (color:color-mix(in lab, red, red)){.os{--link:color-mix(in srgb, var(--acc) var(--ink-p), var(--ink-b))}}[data-accent=orange] .os,[data-accent=green] .os,[data-accent=graphite] .os{--acc-on:#000;--acc-fill:var(--acc)}[data-accent=yellow] .os{--acc-fill:var(--acc)}.btn.primary,.fbtn.on{background:var(--acc-fill)}.dock-item.minimized .dock-dot{box-shadow:inset 0 0 0 1px var(--label);background:0 0}@media (max-width:760px),(max-height:500px){.topbar,.dock,.win,.pop,.tour-card,.tour-dim.full,.dock-tile,.sc-ico,.dock-tip{-webkit-backdrop-filter:none;backdrop-filter:none}.topbar,.dock,.win,.pop,.tour-card{background:var(--sheet)}.win.max{width:100%!important;height:calc(100% - 122px)!important;top:40px!important;left:0!important}}@media (max-height:500px){.win.max{height:calc(100% - 102px)!important}}.sect>h2,.sect>h3{color:var(--label2);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:11px;font-weight:600}.pf{overflow-x:hidden;container-type:inline-size}.skip-link{z-index:5000;background:var(--sheet,#fff);color:var(--label,#000);border:.5px solid var(--sep2,#888);border-radius:8px;padding:8px 14px;font-size:13px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}.desk,.pf,.win.no-enter{animation:none}.pd .sect>h2,.pd .sect>h3{margin-bottom:8px}a.pv-btn:hover,a.sc:hover,a.pop-btn:hover,a.logo:hover,a.btn:hover{text-decoration:none}@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-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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
