/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}}.block{display:block}.flex{display:flex}.flow-root{display:flow-root}.hidden{display:none}.inline-block{display:inline-block}.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}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.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,)}}.profile-overview{grid-template-columns:minmax(170px,.72fr) minmax(250px,1.28fr);align-items:start;gap:clamp(24px,2.5vw,34px);display:grid}.portrait{background:0 0;border:0;justify-content:center;align-items:flex-end;height:clamp(220px,18vw,260px);display:flex;position:relative;overflow:visible}.portrait__image{object-fit:contain;object-position:center bottom;transform-origin:bottom;transform:translateY(42px)scale(1.2)}.availability{border:1px solid var(--border);background:var(--background);width:fit-content;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:5px 11px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.portrait__availability{z-index:2;position:absolute;top:-4px;left:0}.availability__dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:999px}.profile-actions{flex-wrap:wrap;gap:8px 22px;margin-top:16px;display:flex}.profile-actions a{min-height:30px;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;border:0;align-items:center;gap:6px;padding:0;font-size:10px;transition:color .18s ease-out,transform .18s ease-out;display:inline-flex}.profile-actions a:hover{color:var(--accent)}.profile-actions .profile-actions__primary{color:var(--foreground);font-weight:500}.profile-actions .profile-actions__primary:hover{color:var(--accent)}.profile-actions a span[aria-hidden=true]{transition:transform .18s ease-out}.profile-actions a:hover span[aria-hidden=true]{transform:translate(2px,-2px)}.profile-actions .profile-actions__primary:hover span[aria-hidden=true]{transform:translateY(2px)}@media (max-width:767px){.profile-panel .profile-overview{gap:32px}.portrait{width:100%;height:min(72vw,280px)}.profile-overview .portrait__image{transform:translateY(20px)scale(1)}.portrait__availability{top:0}.profile-actions a{min-height:44px}}@media (min-width:768px) and (max-width:959px){body .portfolio-shell{display:block}.profile-panel__content{max-width:760px;min-height:auto;margin-inline:auto;position:relative}.profile-overview{grid-template-columns:minmax(180px,.75fr) minmax(300px,1.25fr)}.about-panel{align-items:center}.about-panel>*{width:100%}}@media (max-width:560px){.profile-panel .profile-lower{grid-template-columns:1fr;gap:20px}.profile-panel .portfolio-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1181px) and (max-height:720px){.profile-panel__content{padding-top:24px;padding-bottom:24px}.profile-overview{gap:20px}.portrait{height:190px}.portrait__image{transform:translateY(38px)scale(1.15)}.identity{margin-bottom:12px}.identity__title{margin-top:6px}.profile-availability{margin-top:10px}.profile-availability,.profile-intro{display:none}.profile-actions,.profile-links{margin-top:12px}.stats-grid{margin-top:16px}.stat{padding-top:11px;padding-bottom:10px}.profile-lower{margin-top:20px;padding-top:16px}}@media (min-width:1181px) and (max-height:580px){.profile-panel__content{padding-top:14px;padding-bottom:14px}.portrait{height:154px}.profile-actions a,.profile-footer a,.profile-links a{min-height:36px}.profile-lower{margin-top:12px;padding-top:10px}}.profile-panel .profile-panel__content{grid-template-columns:clamp(122px,9.25vw,136px) minmax(0,1fr);width:100%;max-width:none;padding:0;display:grid}.profile-editorial__rail{border-right:1px solid var(--border);flex-direction:column;min-width:0;min-height:100%;padding:clamp(28px,3vw,44px) 18px 26px;display:flex}.profile-editorial__brand{font-family:var(--font-geist-sans),sans-serif;letter-spacing:-.08em;align-self:flex-start;align-items:baseline;font-size:32px;font-weight:600;line-height:1;display:inline-flex}.profile-editorial__brand i{color:var(--accent);margin-left:3px;font-style:normal;font-weight:400}.profile-panel .portfolio-navigation{flex-direction:column;gap:clamp(5px,1vh,11px);margin:auto 0;display:flex}.profile-panel .portfolio-navigation a{min-width:0;min-height:54px;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;grid-template-rows:auto auto;grid-template-columns:20px minmax(0,1fr);align-content:center;column-gap:10px;display:grid;transform:none}.profile-panel .portfolio-navigation a:before{display:none}.portfolio-navigation__icon{grid-area:1/1/3;align-self:center;width:17px;height:17px;transition:color .18s ease-out,transform .18s ease-out}.portfolio-navigation__index{color:var(--subtle-foreground);letter-spacing:.04em;font-size:8px;line-height:1.1}.portfolio-navigation__label{text-overflow:ellipsis;margin-top:3px;font-size:10.5px;line-height:1.25;overflow:hidden}.profile-panel .portfolio-navigation a:focus-visible,.profile-panel .portfolio-navigation a:hover,.profile-panel .portfolio-navigation a[aria-current=location]{color:var(--accent)}.profile-panel .portfolio-navigation a:focus-visible .portfolio-navigation__icon,.profile-panel .portfolio-navigation a:hover .portfolio-navigation__icon{transform:translate(2px)}.profile-panel .portfolio-navigation a[aria-current=location] .portfolio-navigation__index{color:var(--accent)}.profile-editorial__rail-footer{gap:16px;display:grid}.profile-editorial__rail-footer .profile-utilities{grid-template-columns:repeat(2,36px);gap:7px;width:fit-content;margin:0;display:grid}.profile-editorial__rail-footer .theme-toggle{display:contents}.profile-editorial__rail-footer .language-trigger,.profile-editorial__rail-footer .portfolio-search-trigger,.profile-editorial__rail-footer .stack-builder-trigger,.profile-editorial__rail-footer .theme-toggle__button{border:1px solid var(--border);width:36px;height:36px;color:var(--muted-foreground);background:0 0;border-radius:4px;padding:0;transition:border-color .18s ease-out,background-color .18s ease-out,color .18s ease-out,transform .18s ease-out}.profile-editorial__rail-footer .theme-toggle__button:before{display:none}.profile-editorial__rail-footer .language-trigger svg,.profile-editorial__rail-footer .portfolio-search-trigger svg,.profile-editorial__rail-footer .stack-builder-trigger svg,.profile-editorial__rail-footer .theme-toggle__button svg{width:15px;height:15px}.profile-editorial__rail-footer .language-trigger:focus-visible,.profile-editorial__rail-footer .language-trigger:hover,.profile-editorial__rail-footer .portfolio-search-trigger:focus-visible,.profile-editorial__rail-footer .portfolio-search-trigger:hover,.profile-editorial__rail-footer .stack-builder-trigger:focus-visible,.profile-editorial__rail-footer .stack-builder-trigger:hover,.profile-editorial__rail-footer .theme-toggle__button:focus-visible,.profile-editorial__rail-footer .theme-toggle__button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.profile-editorial__rail-footer .theme-toggle__button[aria-pressed=true]{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.profile-editorial__rail-footer .theme-toggle__button[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 38%,var(--border))}}.profile-editorial__rail-footer .theme-toggle__button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.profile-editorial__rail-footer p{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;margin:0;font-size:8px;line-height:1.65}.profile-editorial__main{flex-direction:column;min-width:0;min-height:100%;padding:clamp(30px,3.5vw,48px) clamp(24px,2.2vw,34px) 24px;display:flex}.profile-editorial__topline{color:var(--foreground);font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;font-size:10px;display:flex}.profile-editorial__version-switch{margin-left:auto}.profile-editorial__topline i{background:var(--accent);width:12px;height:1px;margin-top:18px;margin-left:-100%}.profile-editorial__hero{grid-template-columns:minmax(215px,1fr) minmax(232px,268px);align-items:stretch;gap:clamp(24px,2vw,32px);min-height:clamp(360px,47vh,420px);margin-top:clamp(18px,2.5vh,28px);display:grid;position:relative}.profile-editorial__copy{z-index:3;flex-direction:column;min-width:0;display:flex;position:relative}.profile-editorial__identity h1{font-family:var(--font-geist-sans),sans-serif;letter-spacing:-.075em;margin:0;font-size:clamp(48px,4.1vw,62px);font-weight:500;line-height:.88;display:grid}.profile-editorial__identity h1 span:last-child{margin-left:-.04em}.profile-editorial__identity>p{color:var(--foreground);margin:16px 0 0;font-size:clamp(11px,.9vw,12.5px);line-height:1.4}.profile-editorial__statement{gap:14px;max-width:32ch;margin-top:clamp(22px,2.7vh,28px);display:grid}.profile-editorial__statement>p{color:var(--muted-foreground);font-family:var(--font-geist-sans),sans-serif;margin:0;font-size:clamp(10px,.78vw,11.5px);line-height:1.6}.profile-panel .profile-editorial__availability{width:fit-content;color:var(--accent);letter-spacing:0;background:0 0;border:0;padding:0;font-size:9.5px}.profile-panel .profile-editorial__availability .availability__dot{width:6px;height:6px;box-shadow:none}.profile-editorial__actions{gap:8px;width:min(100%,252px);display:grid}.profile-editorial__actions a{border:1px solid var(--border);min-height:42px;color:var(--foreground);font-family:var(--font-geist-mono),monospace;border-radius:4px;justify-content:space-between;align-items:center;padding:9px 13px;font-size:9.5px;transition:border-color .18s ease-out,background-color .18s ease-out,color .18s ease-out,transform .18s ease-out;display:flex}.profile-editorial__actions .profile-editorial__action--primary{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.profile-editorial__actions a:focus-visible,.profile-editorial__actions a:hover{border-color:var(--accent);color:var(--accent);transform:translate(2px)}.profile-editorial__actions .profile-editorial__action--primary:focus-visible,.profile-editorial__actions .profile-editorial__action--primary:hover{background:var(--accent);color:var(--background)}.profile-editorial__socials{gap:8px;margin-top:18px;display:flex}.profile-editorial__socials a{border:1px solid var(--border);width:36px;height:36px;color:var(--foreground);border-radius:4px;place-items:center;transition:border-color .18s ease-out,color .18s ease-out,transform .18s ease-out;display:grid}.profile-editorial__socials a:focus-visible,.profile-editorial__socials a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.profile-editorial__portrait-stage{z-index:1;isolation:isolate;place-self:end;width:clamp(232px,18vw,268px);height:calc(clamp(332px,43vh,386px) + 28px);position:relative;transform:translate(8px)}.profile-editorial__portrait-stage:before{z-index:-2;border:1px solid var(--accent);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.profile-editorial__portrait-stage:before{border:1px solid color-mix(in srgb,var(--accent) 16%,var(--border-soft))}}.profile-editorial__portrait-stage:before{background:var(--accent);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.profile-editorial__portrait-stage:before{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}}.profile-editorial__portrait-stage:before{content:""}.profile-editorial__portrait-stage:after{z-index:-1;aspect-ratio:1;background:var(--accent);border-radius:50% 50% 8px;width:82%;position:absolute;bottom:14px;right:-12%}@supports (color:color-mix(in lab,red,red)){.profile-editorial__portrait-stage:after{background:color-mix(in srgb,var(--accent) 62%,var(--surface))}}.profile-editorial__portrait-stage:after{content:"";pointer-events:none}.profile-editorial__portrait{z-index:1;border-radius:8px;position:absolute;inset:14px 0;overflow:hidden}.profile-editorial__portrait-image{z-index:1;object-fit:cover;object-position:center top;filter:grayscale()brightness(.97)contrast(1.04);opacity:.98;transition:filter .42s ease-out,opacity .42s ease-out}:root[data-theme=dark] .profile-editorial__portrait-stage:before{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark] .profile-editorial__portrait-stage:before{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}}:root[data-theme=dark] .profile-editorial__portrait-stage:after{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=dark] .profile-editorial__portrait-stage:after{background:color-mix(in srgb,var(--accent) 40%,var(--surface))}}:root[data-theme=dark] .profile-editorial__portrait-image{filter:grayscale()brightness(.72)contrast(1.12);opacity:.92}.profile-panel .stats-grid{border-color:var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0}.profile-panel .stat{grid-template-columns:18px minmax(0,1fr);min-width:0;padding:11px 12px 10px 0;display:grid}.profile-panel .stat+.stat{padding-left:14px}.profile-panel .stat>svg{color:var(--accent);grid-row:1/3}.profile-panel .stat__value{font-family:var(--font-geist-pixel-square),var(--font-geist-mono),monospace;letter-spacing:-.03em;font-size:14px}.profile-panel .stat__label{letter-spacing:.05em;margin-top:1px;font-size:7px}@media (min-width:1181px) and (max-height:760px){.profile-editorial__rail{padding-top:24px;padding-bottom:18px}.profile-panel .portfolio-navigation{gap:3px}.profile-editorial__main{padding-top:24px;padding-bottom:16px}.profile-editorial__hero{min-height:335px;margin-top:18px}.profile-editorial__identity h1{font-size:clamp(48px,4.1vw,60px)}.profile-editorial__statement{gap:11px;margin-top:22px}.profile-editorial__portrait-stage{width:clamp(210px,17vw,242px);height:346px}.profile-panel .stats-grid{margin-top:10px}}@media (max-width:1180px){.profile-panel .profile-panel__content{flex-direction:column;padding:30px 28px 24px;display:flex}.profile-editorial__main{min-height:auto;padding:0}.profile-editorial__rail{border-top:1px solid var(--border);border-right:0;order:2;min-height:0;padding:18px 0 0}.profile-editorial__brand{display:none}.profile-panel .portfolio-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 14px;margin:0;display:grid}.profile-panel .portfolio-navigation a{min-height:44px}.profile-editorial__rail-footer{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.profile-editorial__rail-footer .profile-utilities{grid-template-columns:repeat(5,36px)}.profile-editorial__rail-footer p{display:none}.profile-editorial__hero{grid-template-columns:minmax(210px,1fr) minmax(160px,.78fr);min-height:330px}.profile-editorial__identity h1{font-size:clamp(44px,5.2vw,58px)}.profile-editorial__portrait-stage{width:clamp(180px,20vw,220px);height:358px}}@media (max-width:767px){.profile-panel{overflow-x:hidden}.profile-panel .profile-panel__content{min-height:100dvh;padding:32px 20px 28px}.profile-editorial__topline{font-size:8px}.profile-editorial__hero{min-height:0;margin-top:28px;display:block}.profile-editorial__copy{display:block}.profile-editorial__identity{z-index:2;width:62%;position:relative}.profile-editorial__identity h1{font-size:clamp(42px,13vw,58px)}.profile-editorial__identity>p{margin-top:14px;font-size:10px}.profile-editorial__portrait-stage{z-index:1;width:52%;height:288px;margin:0;position:absolute;top:0;right:-10px;transform:none}.profile-editorial__statement{max-width:none;margin-top:188px}.profile-editorial__statement>p{max-width:48ch;font-size:11px}.profile-editorial__actions{width:100%;max-width:360px}.profile-editorial__actions a{min-height:44px}.profile-editorial__socials{margin-top:14px}.profile-editorial__socials a{width:40px;height:40px}.profile-panel .stats-grid{margin-top:24px}.profile-panel .stat,.profile-panel .stat+.stat{grid-template-columns:14px minmax(0,1fr);padding:11px 7px}.profile-panel .stat:first-child{padding-left:0}.profile-panel .stat__value{font-size:11px}.profile-panel .stat__label{font-size:6px}.profile-panel .portfolio-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-panel .portfolio-navigation a{min-height:50px;font-size:10px}.portfolio-navigation__label{font-size:10px}}@media (prefers-reduced-motion:reduce){.portfolio-navigation__icon,.profile-editorial__actions a,.profile-editorial__socials a{transition:none;animation:none}}.profile-companion{--rigging-height:52px;max-width:480px;padding-top:var(--rigging-height);isolation:isolate;margin-top:0}.profile-companion,.profile-companion__stage{width:100%;position:relative;overflow:visible}.profile-companion__stage{aspect-ratio:1200/349}.profile-companion__world{pointer-events:none;position:absolute;inset:0;overflow:hidden}.profile-companion__rigging{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:visible}.profile-companion__chain{--chain-depth:0%;top:calc(var(--rigging-height) * -1);width:7px;height:calc(var(--rigging-height) + var(--chain-depth));background-image:radial-gradient(ellipse at center,transparent 31%,var(--foreground) 35% 49%,transparent 53%);position:absolute}@supports (color:color-mix(in lab,red,red)){.profile-companion__chain{background-image:radial-gradient(ellipse at center,transparent 31%,color-mix(in srgb,var(--foreground) 48%,var(--border)) 35% 49%,transparent 53%)}}.profile-companion__chain{filter:drop-shadow(1px 0 0 var(--background));opacity:.68;transform-origin:50% 0;background-position:top;background-repeat:repeat-y;background-size:7px 10px}.profile-companion__chain:after{border:1px solid var(--foreground);width:6px;height:6px;margin:auto;position:absolute;bottom:-3px;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.profile-companion__chain:after{border:1px solid color-mix(in srgb,var(--foreground) 54%,var(--border))}}.profile-companion__chain:after{background:var(--background);content:"";transform:rotate(45deg)}.profile-companion__chain--small{--chain-depth:44.3%;animation:companion-chain-sway 5.6s ease-in-out infinite;left:30.2%}.profile-companion__chain--middle{--chain-depth:24.8%;animation:companion-chain-sway 6.4s ease-in-out -2.1s infinite reverse;left:55%}.profile-companion__chain--tall{animation:companion-chain-sway 5.9s ease-in-out -3.4s infinite;left:80.7%}.profile-companion__world:before{z-index:0;background:radial-gradient(ellipse at center,var(--accent),transparent 70%);border-radius:50%;height:38%;position:absolute;bottom:2%;left:3%;right:3%}@supports (color:color-mix(in lab,red,red)){.profile-companion__world:before{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%)}}.profile-companion__world:before{content:"";filter:blur(10px);opacity:.48}.profile-companion__garden-scene{image-rendering:pixelated;z-index:1;filter:saturate(.74)contrast(.95)brightness(1.04);opacity:.94;background-image:url(/profile/garden/garden-scene-v3.webp);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:block;position:absolute;inset:0}.profile-companion__actor{z-index:5;aspect-ratio:1;width:12.5%;transition-property:left,top;transition-duration:1.4s;transition-timing-function:cubic-bezier(.45,0,.2,1);position:absolute;top:39.5%;left:8%}.profile-companion__actor[data-location=ground-right]{top:39.5%;left:42%}.profile-companion__actor[data-location=perch-small]{top:5.9%;left:27.4%}.profile-companion__actor[data-location=perch-middle]{top:-13.4%;left:49%}.profile-companion__actor[data-location=perch-tall]{top:-38.3%;left:74%}.profile-companion__actor[data-motion=fly]{transition-duration:1.7s;transition-timing-function:cubic-bezier(.35,0,.25,1)}.profile-companion__raven{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.profile-companion__raven:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:50%}.profile-companion__crow-lift,.profile-companion__crow-sprite{width:100%;height:100%;display:block}.profile-companion__crow-lift{transform-origin:50% 88%}.profile-companion__crow-sprite{image-rendering:pixelated;filter:contrast(1.04);transform-origin:50% 88%;background-image:url(/profile/garden/crow-atlas.png);background-position:0 0;background-repeat:no-repeat;background-size:400% 400%;animation:companion-crow-idle 5.8s step-end infinite;transform:scaleX(1)}.profile-companion__actor[data-facing=left] .profile-companion__crow-sprite{transform:scaleX(-1)}:root[data-theme=dark] .profile-companion__garden-scene{filter:brightness(1.18)saturate(.68)contrast(.92);opacity:.96}:root[data-theme=dark] .profile-companion__crow-sprite{filter:brightness(1.28)contrast(.96)}.profile-companion__actor[data-motion=walk] .profile-companion__crow-sprite{animation:companion-crow-walk .72s step-end infinite}.profile-companion__actor[data-motion=peck] .profile-companion__crow-sprite{animation:companion-crow-peck 1.1s step-end both}.profile-companion__actor[data-motion=hop] .profile-companion__crow-sprite{animation:companion-crow-hop-frames .9s step-end both}.profile-companion__actor[data-motion=hop] .profile-companion__crow-lift{animation:companion-crow-hop-lift .9s ease-in-out both}.profile-companion__actor[data-motion=fly] .profile-companion__crow-sprite{animation:companion-crow-fly-frames .5s step-end infinite}.profile-companion__actor[data-motion=fly] .profile-companion__crow-lift{animation:companion-crow-flight-lift 1.7s ease-in-out both}.profile-companion__bubble{z-index:7;border:1px solid var(--border);background:var(--surface);border-radius:2px;width:max-content;max-width:min(224px,65vw);padding:8px 11px;position:absolute;top:9%;left:82%}@supports (color:color-mix(in lab,red,red)){.profile-companion__bubble{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.profile-companion__bubble{color:var(--foreground);font-family:var(--font-geist-mono),monospace;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-size:9.5px;line-height:1.4;transition:border-color .18s ease-out,color .18s ease-out,opacity .22s ease-out,transform .22s ease-out;transform:translateY(4px)}.profile-companion[data-bubble-open=true] .profile-companion__bubble{opacity:1;pointer-events:auto;transform:translateY(0)}.profile-companion__bubble:before{border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:var(--surface);content:"";width:10px;height:10px;position:absolute;top:50%;left:-6px;transform:translateY(-50%)rotate(45deg)}.profile-companion__bubble:focus-visible,.profile-companion__bubble:hover{border-color:var(--accent);color:var(--accent)}@keyframes companion-chain-sway{0%,to{transform:rotate(-.35deg)}50%{transform:rotate(.35deg)}}@keyframes companion-crow-idle{0%,56%,to{background-position:0 0}58%,64%{background-position:33.333% 0}76%,83%{background-position:66.667% 0}94%,97%{background-position:100% 0}}@keyframes companion-crow-walk{0%,to{background-position:0 33.333%}25%{background-position:33.333% 33.333%}50%{background-position:66.667% 33.333%}75%{background-position:100% 33.333%}}@keyframes companion-crow-peck{0%,18%,to{background-position:33.333% 66.667%}40%,72%{background-position:0 66.667%}}@keyframes companion-crow-hop-frames{0%,to{background-position:100% 66.667%}34%,66%{background-position:66.667% 66.667%}}@keyframes companion-crow-hop-lift{0%,to{transform:translateY(0)}48%{transform:translateY(-9px)}}@keyframes companion-crow-fly-frames{0%,to{background-position:0 100%}25%{background-position:33.333% 100%}50%{background-position:66.667% 100%}75%{background-position:100% 100%}}@keyframes companion-crow-flight-lift{0%,to{transform:translateY(0)}38%{transform:translateY(-13px)}72%{transform:translateY(-8px)}}@media (min-width:1181px) and (max-height:760px){.profile-companion{--rigging-height:46px;max-width:430px}}@media (max-width:767px){.profile-companion{--rigging-height:46px;width:min(100%,430px);margin-top:0}.profile-companion__bubble{max-width:190px;font-size:9px}}@media (prefers-reduced-motion:reduce){.profile-companion__actor,.profile-companion__bubble,.profile-companion__chain,.profile-companion__crow-lift,.profile-companion__crow-sprite{transition:none;animation:none}}.profile-companion__water-system{z-index:2;pointer-events:none;width:5.1%;image-rendering:pixelated;position:absolute}.profile-companion__water-system--left{height:34.1%;top:44.3%;left:33.55%}.profile-companion__water-system--right{height:53.8%;top:24.6%;left:60.5%}.profile-companion__water-foreground,.profile-companion__waterfall{image-rendering:pixelated;background-image:url(/profile/garden/waterfall-atlas-v2.png);background-position:0 0;background-repeat:no-repeat;background-size:800% 100%;animation:companion-waterfall-v2 1.12s step-end infinite;display:block;position:absolute;inset:0}.profile-companion__waterfall{z-index:1;filter:saturate(.82)brightness(.96);opacity:.98}.profile-companion__water-foreground{z-index:3;clip-path:inset(78% -30% -8%);filter:saturate(.9)brightness(1.08);opacity:.72;transform-origin:50% 100%;animation-name:companion-waterfall-v2,companion-waterfall-impact;animation-duration:1.12s,.56s;animation-timing-function:step-end,steps(2);animation-iteration-count:infinite;transform:scaleX(1.16)}.profile-companion__water-system--right .profile-companion__water-foreground,.profile-companion__water-system--right .profile-companion__waterfall{animation-delay:-.43s,-.16s}:root[data-theme=dark] .profile-companion__waterfall{filter:saturate(.76)brightness(1.08);opacity:.9}:root[data-theme=dark] .profile-companion__water-foreground{filter:saturate(.84)brightness(1.14)}@keyframes companion-waterfall-v2{0%{background-position:0 0}12.5%{background-position:14.286% 0}25%{background-position:28.571% 0}37.5%{background-position:42.857% 0}50%{background-position:57.143% 0}62.5%{background-position:71.429% 0}75%{background-position:85.714% 0}87.5%,to{background-position:100% 0}}@keyframes companion-waterfall-impact{0%,to{opacity:.58;transform:scaleX(.92)}50%{opacity:.82;transform:scaleX(1.2)}}@media (prefers-reduced-motion:reduce){.profile-companion__water-foreground,.profile-companion__waterfall{animation:none}}.projects-panel{width:100%;max-width:780px}.projects-panel>.section-label{border-top:1px solid var(--border-soft)}.projects-panel .section-label__note:before{content:none}.projects-label__count{color:var(--subtle-foreground);white-space:nowrap;margin-left:2px}.projects-view-all{min-height:44px;color:var(--subtle-foreground);align-items:center;gap:6px;transition:color .18s ease-out;display:inline-flex}.projects-view-all:hover,.projects-view-all:hover .project-link__arrow{color:var(--accent)}.projects-view-all:hover .project-link__arrow{transform:translate(2px,-2px)}.projects-list{margin:0;padding:0;list-style:none}.project-row{border-bottom:1px solid var(--border-soft);grid-template-columns:176px minmax(0,1fr);gap:24px;padding:28px 24px;display:grid}.project-thumbnail{aspect-ratio:16/10;border:1px solid var(--border);background:radial-gradient(circle,var(--border) .7px,transparent .8px) 0 0 /8px 8px;width:176px;color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;align-self:center;place-items:center;font-size:12px;transition:border-color .18s ease-out,transform .22s ease-out;display:grid;position:relative;overflow:hidden}.project-thumbnail__image{object-fit:contain;object-position:center;width:100%;height:100%;transition:transform .32s cubic-bezier(.22,1,.36,1);display:block}.project-thumbnail:hover{border-color:var(--subtle-foreground);transform:translateY(-2px)}.project-thumbnail:hover .project-thumbnail__image{transform:scale(1.02)}.project-content{min-width:0}.project-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.project-header h3{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:600;line-height:1.35}.project-link{align-items:center;gap:6px;transition:color .18s ease-out;display:inline-flex}.project-link__arrow{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;font-size:10px;font-weight:400;transition:color .18s ease-out,transform .18s ease-out}.project-link:hover{color:var(--accent)}.project-link:hover .project-link__arrow{color:var(--accent);transform:translate(2px,-2px)}.project-header p,.project-header time{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;font-size:11px}.project-header p{margin:3px 0 0}.project-header time{flex:none;font-style:italic}.project-description{max-width:62ch;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;word-spacing:.05em;margin:14px 0 0;font-size:12px;line-height:1.65}.project-case-study-link{min-height:40px;color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;align-items:center;gap:8px;margin-top:14px;font-size:10px;transition:color .18s ease-out;display:inline-flex}.project-case-study-link span{transition:transform .18s ease-out}.project-case-study-link:hover{color:var(--accent)}.project-case-study-link:hover span{transform:translate(3px)}@media (max-width:560px){.projects-panel .section-label__note{display:inline-flex}.project-row{grid-template-columns:1fr;gap:20px;padding:24px}.project-thumbnail{aspect-ratio:16/9;width:100%}}.projects-page{background:var(--background);scroll-behavior:smooth;width:100%;height:100dvh;overflow-y:auto}.expanded-projects,.projects-page__footer,.projects-page__header,.projects-page__intro{width:min(1120px,100% - 48px);margin-inline:auto}.projects-page__header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;min-height:88px;display:flex}.projects-page__back{min-height:44px;font-family:var(--font-geist-mono),monospace;color:var(--muted-foreground);align-items:center;gap:9px;font-size:11px;transition:color .18s ease-out,transform .18s ease-out;display:inline-flex}.projects-page__back:hover{color:var(--foreground);transform:translate(-3px)}.projects-page__utilities{align-items:center;gap:8px;display:flex}.projects-page__intro{padding-block:clamp(64px,7vw,96px) clamp(48px,5vw,64px)}.projects-page__eyebrow{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;align-items:center;gap:10px;font-size:11px;display:flex}.projects-page__eyebrow>span:first-child{background:var(--subtle-foreground);width:6px;height:6px}.projects-page__eyebrow>span:last-child{margin-left:auto}.projects-page__intro h1{font-family:var(--font-geist-mono),monospace;letter-spacing:-.055em;margin:20px 0 0;font-size:clamp(40px,5.5vw,64px);font-weight:600;line-height:1}.projects-page__intro>p{max-width:62ch;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;margin:22px 0 0;font-size:13px;line-height:1.75}.expanded-projects{border-top:1px solid var(--border)}.expanded-project{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:start;scroll-margin-top:24px;display:grid}.expanded-project__visual{aspect-ratio:16/9;border-right:1px solid var(--border);background:var(--surface);align-self:center;width:100%;position:relative;overflow:hidden}.expanded-project__image{object-fit:contain;object-position:center;transition:transform .35s ease-out}.expanded-project:hover .expanded-project__image{transform:scale(1.015)}.expanded-project__content{flex-direction:column;min-width:0;padding:clamp(28px,4vw,48px);display:flex}.expanded-project__header{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;justify-content:space-between;align-items:flex-start;gap:24px;font-size:10px;line-height:1.5;display:flex}.expanded-project__number{color:var(--foreground)}.expanded-project__category{margin:5px 0 0}.expanded-project__header time{font-style:italic}.expanded-project__content h2{letter-spacing:-.035em;margin:30px 0 0;font-size:clamp(23px,2.5vw,32px);font-weight:600;line-height:1.15}.expanded-project__content h2 a{align-items:center;gap:10px;transition:color .18s ease-out;display:inline-flex}.expanded-project__content h2 a span{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;font-size:12px;font-weight:400}.expanded-project__content h2 a:hover{color:var(--accent)}.expanded-project__overview{color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;margin:18px 0 0;font-size:12px;line-height:1.7}.expanded-project__details{border-top:1px solid var(--border-soft);grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:24px;margin-top:28px;padding-top:24px;display:grid}.expanded-project__details h3{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.expanded-project__details li,.expanded-project__details p{color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;font-size:10px;line-height:1.6}.expanded-project__details p{margin:10px 0 0}.expanded-project__details ul{margin:8px 0 0;padding:0;list-style:none}.expanded-project__details li:before{color:var(--subtle-foreground);content:"·";margin-right:7px}.expanded-project__action{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;margin-top:auto;padding-top:28px;font-size:10px}.expanded-project__action a{min-height:44px;color:var(--foreground);align-items:center;gap:7px;transition:color .18s ease-out;display:inline-flex}.expanded-project__action a:hover{color:var(--accent)}.projects-page__footer{color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;gap:10px;padding-block:72px;font-size:11px;display:grid}.projects-page__footer p{margin:0}.projects-page__footer a{width:fit-content;min-height:36px;color:var(--foreground);transition:color .18s ease-out}.projects-page__footer a:hover{color:var(--accent)}@media (max-width:900px){.expanded-project{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr)}}@media (max-width:767px){.projects-page{height:auto;overflow:visible}.expanded-projects,.projects-page__footer,.projects-page__header,.projects-page__intro{width:calc(100% - 40px)}.projects-page__intro{padding-block:56px 48px}.expanded-project{grid-template-columns:1fr;min-height:0}.expanded-project__visual{border-right:0;border-bottom:1px solid var(--border)}.expanded-project__content{padding:28px 4px 36px}.expanded-project__details{grid-template-columns:1fr}}.experience-panel,.stack-panel{width:100%;max-width:780px;scroll-margin-top:24px}.experience-panel>.section-label,.stack-panel>.section-label{border-top:1px solid var(--border-soft)}.experience-list{margin:0;padding:0;list-style:none}.experience-row{border-bottom:1px solid var(--border-soft);grid-template-columns:138px minmax(0,1fr);gap:28px;padding:28px 24px 28px 48px;display:grid;position:relative}.experience-row:before{z-index:1;border:1px solid var(--subtle-foreground);background:var(--background);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:33px;left:21px}.experience-row:after{background:var(--border);content:"";width:1px;position:absolute;top:41px;bottom:-34px;left:24.5px}.experience-row:first-child:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.experience-row:last-child:after{display:none}.experience-meta{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;flex-direction:column;align-items:flex-start;gap:5px;font-size:10px;line-height:1.5;display:flex}.experience-meta time{color:var(--foreground);font-weight:500}.experience-content h3{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:600;line-height:1.35}.experience-content>p{max-width:64ch;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;word-spacing:.05em;margin:12px 0 0;font-size:12px;line-height:1.7}.technology-tags{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.technology-tags li{border:1px solid var(--border);color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;border-radius:5px;padding:3px 7px;font-size:10px;line-height:1.4}.stack-label__count{color:var(--subtle-foreground);white-space:nowrap;margin-left:2px}.stack-selected{border-bottom:1px solid var(--border-soft);padding:28px 24px}.stack-group h3,.stack-selected>h3{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500;line-height:1.5}.technology-tags--selected{gap:8px;margin-top:18px}.technology-tags--selected li{border-color:var(--accent);padding:5px 9px}@supports (color:color-mix(in lab,red,red)){.technology-tags--selected li{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}}.technology-tags--selected li{background:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.technology-tags--selected li{background:color-mix(in srgb,var(--accent-soft) 52%,transparent)}}.technology-tags--selected li{color:var(--foreground);font-size:10px}.stack-groups{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stack-group{border-bottom:1px solid var(--border-soft);min-width:0;padding:24px}.stack-group:nth-child(2n){border-left:1px solid var(--border-soft)}.stack-group ul{flex-wrap:wrap;gap:8px 14px;margin:16px 0 0;padding:0;list-style:none;display:flex}.stack-group li{color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;font-size:11px;line-height:1.5}.stack-group li:before{color:var(--subtle-foreground);content:"·";margin-right:6px}@media (max-width:560px){.experience-row{grid-template-columns:1fr;gap:14px;padding:24px 20px 24px 52px}.experience-meta{flex-direction:row;justify-content:space-between;gap:16px}.experience-content>p{font-size:13px}.stack-groups{grid-template-columns:1fr}.stack-group:nth-child(2n){border-left:0}}:root[data-theme=dark]{--background:#111110;--surface:#161615;--surface-strong:#232321;--foreground:#eeeeea;--muted-foreground:#aaa9a2;--subtle-foreground:#85857f;--border:#383834;--border-soft:#2a2a27;--accent:#54c99c;--accent-soft:#17392d;--focus:#73a9ff}[data-theme-transitioning=true] body{transition:none}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2;animation:theme-reveal .65s cubic-bezier(.76,0,.24,1) both}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--theme-transition-x) var(--theme-transition-y))}to{clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y))}}.theme-toggle{border:1px solid var(--border);border-radius:999px;gap:0;padding:2px;display:inline-flex}.theme-toggle__button{width:26px;height:26px;color:var(--subtle-foreground);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .18s ease-out;display:inline-flex;position:relative}.theme-toggle__button:before{content:"";background:0 0;border-radius:999px;width:20px;height:20px;transition:background-color .18s ease-out;position:absolute}.theme-toggle__button svg{z-index:1;position:relative}.theme-toggle__button:hover,.theme-toggle__button[aria-pressed=true]{color:var(--foreground)}.theme-toggle__button[aria-pressed=true]:before{background:var(--surface-strong)}.theme-toggle__button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.profile-utilities{align-items:center;gap:7px;margin-bottom:18px;display:flex}.translated-text{opacity:1;filter:blur();transition:opacity .28s cubic-bezier(.22,1,.36,1),filter .28s cubic-bezier(.22,1,.36,1)}.translated-text--delay-1{transition-delay:18ms}.translated-text--delay-2{transition-delay:36ms}.translated-text--delay-3{transition-delay:54ms}html[data-language-transition] .translated-text{opacity:.28;filter:blur(1.6px)}html[data-language-transition=out] .translated-text{transition-duration:.12s;transition-delay:0s;transition-timing-function:ease-in}.language-trigger{border:1px solid var(--border);width:32px;height:32px;color:var(--subtle-foreground);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .18s ease-out,color .18s ease-out;display:inline-flex}.language-trigger:hover{border-color:var(--subtle-foreground);color:var(--foreground)}.language-option:focus-visible,.language-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.language-dialog{--language-dialog-top:clamp(20px,14vh,112px);width:min(560px,100vw - 32px);max-height:min(640px,calc(100dvh - var(--language-dialog-top) - 20px));margin:var(--language-dialog-top) auto auto;border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:12px;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 24px 70px #0000002e}.language-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1111107a}.language-dialog__content{flex-direction:column;min-height:0;display:flex}.language-search{border-bottom:1px solid var(--border-soft);min-height:50px;color:var(--subtle-foreground);flex:none;align-items:center;gap:11px;padding:0 14px 0 17px;display:flex}.language-search:focus-within{box-shadow:inset 0 -1px var(--foreground)}.language-search input{min-width:0;color:var(--foreground);font-family:var(--font-geist-mono),monospace;background:0 0;border:0;outline:0;flex:1;font-size:13px}.language-search input::placeholder{color:var(--subtle-foreground)}.language-search input::-webkit-search-cancel-button{display:none}.language-search kbd{border:1px solid var(--border);color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:400;line-height:1.5}.language-list{overscroll-behavior:contain;scrollbar-color:var(--subtle-foreground) transparent;scrollbar-width:thin;min-height:0;max-height:min(470px,100dvh - 150px);padding:10px 8px;overflow-y:auto}.language-group+.language-group{margin-top:10px}.language-group__label{color:var(--subtle-foreground);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:6px 10px 5px;font-size:9px;font-weight:500;line-height:1.4}.language-group__label,.language-option{font-family:var(--font-geist-mono),monospace}.language-option{width:100%;min-height:40px;color:var(--muted-foreground);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:14px minmax(0,1fr) auto 14px;align-items:center;gap:10px;padding:7px 10px;font-size:12px;line-height:1.5;display:grid}.language-option:hover,.language-option[data-highlighted=true]{background:var(--surface-strong);color:var(--foreground)}.language-option:disabled{opacity:.58;cursor:default}.language-option__indicator{border:1px solid var(--subtle-foreground);border-radius:999px;width:9px;height:9px}.language-option[aria-selected=true] .language-option__indicator{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.language-option__code{color:var(--subtle-foreground);text-transform:uppercase;font-size:9px}.language-empty{text-align:center;place-content:center;min-height:56px;display:grid}.language-empty p{font-family:var(--font-geist-mono),monospace;margin:0;font-size:12px}.language-empty span{color:var(--subtle-foreground);margin-top:4px;font-size:11px}.language-dialog__status{border-top:1px solid var(--border-soft);min-height:36px;color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;flex:none;padding:10px 16px;font-size:9px;line-height:1.5}.language-dialog__status span{align-items:center;gap:7px;display:inline-flex}.language-dialog__error{color:#c2413a}.language-switch-status{animation:language-status-pulse .9s ease-in-out infinite alternate}@keyframes language-status-pulse{to{opacity:.55}}@media (max-width:480px){.language-dialog{--language-dialog-top:clamp(16px,10vh,70px);width:calc(100vw - 20px)}.language-search input{font-size:16px}}@media (prefers-reduced-motion:reduce){.translated-text{transition:none}.language-switch-status{animation:none}}.portfolio-search-trigger{border:1px solid var(--border);width:32px;height:32px;color:var(--subtle-foreground);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .18s ease-out,color .18s ease-out;display:inline-flex}.portfolio-search-trigger:hover{border-color:var(--subtle-foreground);color:var(--foreground)}.portfolio-search-option:focus-visible,.portfolio-search-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.portfolio-search-dialog{--portfolio-search-top:clamp(20px,14vh,112px);width:min(600px,100vw - 32px);max-height:min(660px,calc(100dvh - var(--portfolio-search-top) - 20px));margin:var(--portfolio-search-top) auto auto;border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:12px;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 24px 70px #0000002e}.portfolio-search-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1111107a}.portfolio-search-dialog__content{flex-direction:column;min-height:0;display:flex}.portfolio-search-input{border-bottom:1px solid var(--border-soft);min-height:50px;color:var(--subtle-foreground);flex:none;align-items:center;gap:11px;padding:0 14px 0 17px;display:flex}.portfolio-search-input:focus-within{box-shadow:inset 0 -1px var(--foreground)}.portfolio-search-input input{min-width:0;color:var(--foreground);font-family:var(--font-geist-mono),monospace;background:0 0;border:0;outline:0;flex:1;font-size:13px}.portfolio-search-input input::placeholder{color:var(--subtle-foreground)}.portfolio-search-input input::-webkit-search-cancel-button{display:none}.portfolio-search-input kbd{border:1px solid var(--border);color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:400;line-height:1.5}.portfolio-search-list{overscroll-behavior:contain;scrollbar-color:var(--subtle-foreground) transparent;scrollbar-width:thin;min-height:0;max-height:min(500px,100dvh - 150px);padding:10px 8px;overflow-y:auto}.portfolio-search-group+.portfolio-search-group{margin-top:10px}.portfolio-search-group__label{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;margin:0;padding:6px 10px 5px;font-size:9px;font-weight:500;line-height:1.4}.portfolio-search-option{width:100%;min-height:48px;color:var(--muted-foreground);cursor:pointer;font-family:var(--font-geist-mono),monospace;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:11px;padding:7px 10px;display:grid}.portfolio-search-option:hover,.portfolio-search-option[data-highlighted=true]{background:var(--surface-strong);color:var(--foreground)}.portfolio-search-option__copy{gap:2px;min-width:0;font-size:12px;line-height:1.4;display:grid}.portfolio-search-option__copy small{text-overflow:ellipsis;font-weight:400;overflow:hidden}.portfolio-search-option__copy small,.portfolio-search-option__meta{color:var(--subtle-foreground);white-space:nowrap;font-size:9px}.portfolio-search-empty{text-align:center;place-content:center;min-height:88px;display:grid}.portfolio-search-empty p{font-family:var(--font-geist-mono),monospace;margin:0;font-size:12px}.portfolio-search-empty span{color:var(--subtle-foreground);margin-top:4px;font-size:11px}.portfolio-search-dialog__status{border-top:1px solid var(--border-soft);min-height:36px;color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;font-size:9px;line-height:1.5;display:flex}@media (max-width:480px){.portfolio-search-dialog{--portfolio-search-top:clamp(16px,10vh,70px);width:calc(100vw - 20px)}.portfolio-search-input input{font-size:16px}.portfolio-search-dialog__status>span:last-child{display:none}}.portfolio-entrance{z-index:1000;color:#171717;cursor:default;opacity:1;background:#fff;transition:opacity .42s cubic-bezier(.4,0,1,1);display:none;position:fixed;inset:0;overflow:hidden}html[data-portfolio-entrance=pending],html[data-portfolio-entrance=pending] body{overflow:hidden!important}html[data-portfolio-entrance=pending] .portfolio-entrance{display:block}html[data-portfolio-entrance=pending] .portfolio-shell{opacity:.72;transition:opacity .42s ease-out,transform .42s cubic-bezier(.22,1,.36,1);transform:translateY(5px)scale(.997)}html[data-portfolio-entrance=pending] .portfolio-entrance--exiting~.portfolio-shell{opacity:1;transform:translateY(0)scale(1)}.portfolio-entrance--exiting{pointer-events:none;opacity:0}.portfolio-entrance--skipped,html[data-portfolio-entrance=pending] .portfolio-entrance--skipped~.portfolio-shell{transition-duration:.22s}.portfolio-entrance__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.portfolio-entrance__skip{color:#737373;cursor:pointer;min-width:72px;min-height:44px;font-family:var(--font-geist-mono),monospace;letter-spacing:.02em;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:10px;transition:color .18s ease-out,opacity .18s ease-out;display:inline-flex;position:absolute;bottom:clamp(16px,3vw,40px);right:clamp(20px,3vw,48px)}.portfolio-entrance__skip:after{content:" ↗";margin-left:5px}.portfolio-entrance__skip:focus-visible,.portfolio-entrance__skip:hover{color:#171717}.portfolio-entrance__skip:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #171717}.portfolio-entrance--exiting .portfolio-entrance__skip{opacity:0}@media (prefers-reduced-motion:reduce){.portfolio-entrance{transition:none;display:none!important}html[data-portfolio-entrance=pending] .portfolio-shell{opacity:1;transition:none;transform:none}}.stack-builder-trigger{border:1px solid var(--border);width:32px;height:32px;color:var(--subtle-foreground);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .18s ease-out,color .18s ease-out;display:inline-flex}.stack-builder-trigger:hover{border-color:var(--subtle-foreground);color:var(--foreground)}.stack-builder button:focus-visible,.stack-builder-trigger:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.stack-builder-dialog{--game-active:#178f67;--game-active-soft:#d8f3e7;--game-board:#fbfbfab8;--game-grid:#18181614;--game-settled:#383834;--game-fe:#178f67;--game-api:#3974b8;--game-db:#a06a24;--game-ai:#7657a6;--game-float-shadow:0 28px 80px #1818161f;--game-soft-shadow:0 12px 34px #18181617;--game-overlay-base:#f7f7f585;--game-overlay-glow:#ffffff42;--game-overlay-accent:#d8f3e729;overscroll-behavior:contain;background:radial-gradient(circle at 15% 18%,var(--game-overlay-glow),transparent 27%),radial-gradient(circle at 82% 72%,var(--game-overlay-accent),transparent 24%),var(--game-overlay-base);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--foreground);font-family:var(--font-geist-mono),monospace;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:auto}:root[data-theme=dark] .stack-builder-dialog{--game-active:#54c99c;--game-active-soft:#17392d;--game-board:#161615bd;--game-grid:#eeeeea14;--game-settled:#85857f;--game-fe:#54c99c;--game-api:#72a8e5;--game-db:#d8a55c;--game-ai:#ad8bdc;--game-float-shadow:0 30px 90px #0000006b;--game-soft-shadow:0 14px 40px #0000004d;--game-overlay-base:#1111108a;--game-overlay-glow:#eeeeea12;--game-overlay-accent:#17392d33}.stack-builder-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1111100a}.stack-builder{min-height:100dvh;padding:max(32px,env(safe-area-inset-top)) 40px max(24px,env(safe-area-inset-bottom));isolation:isolate;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.stack-builder:after,.stack-builder:before{z-index:-1;background:var(--foreground);border-radius:999px;width:240px;height:240px;position:fixed}@supports (color:color-mix(in lab,red,red)){.stack-builder:after,.stack-builder:before{background:color-mix(in srgb,var(--foreground) 6%,transparent)}}.stack-builder:after,.stack-builder:before{filter:blur(70px);content:"";pointer-events:none}.stack-builder:before{top:8%;left:7%}.stack-builder:after{bottom:4%;right:5%}.stack-builder__mobile-close{z-index:4;top:max(20px,env(safe-area-inset-top));background:var(--surface);border:0;border-radius:999px;justify-content:center;align-items:center;min-width:64px;height:48px;padding:0 14px;display:none;position:fixed;right:24px}@supports (color:color-mix(in lab,red,red)){.stack-builder__mobile-close{background:color-mix(in srgb,var(--surface) 48%,transparent)}}.stack-builder__mobile-close{color:var(--subtle-foreground);font:inherit;cursor:pointer;font-size:10px;transition:background-color .18s ease-out,color .18s ease-out;box-shadow:0 5px 24px #1818160d}.stack-builder__mobile-close:hover{background:var(--surface);color:var(--foreground)}.stack-builder-stats{text-align:center;grid-template-columns:repeat(4,1fr);width:min(440px,100%);margin:0 0 28px;display:grid}.stack-builder-stats div{padding:10px 8px;position:relative}.stack-builder-stats div:before{z-index:-1;background:var(--surface-strong);border-radius:999px;position:absolute;inset:-18px -8px}@supports (color:color-mix(in lab,red,red)){.stack-builder-stats div:before{background:color-mix(in srgb,var(--surface-strong) 48%,transparent)}}.stack-builder-stats div:before{filter:blur(18px);content:""}.stack-builder-sidebar h3,.stack-builder-stats dt{color:var(--subtle-foreground);letter-spacing:.11em;text-transform:uppercase;font-size:9px;font-weight:500}.stack-builder-stats dd{font-variant-numeric:tabular-nums;letter-spacing:-.05em;margin:0 0 3px;font-size:clamp(20px,2.4vw,28px);font-weight:500;line-height:1.15}.stack-builder-layout{grid-template-columns:150px minmax(250px,300px) 170px;justify-content:center;align-items:center;gap:clamp(36px,7vw,96px);width:min(900px,100%);display:grid}.stack-builder-board{aspect-ratio:10/16;border:1px solid var(--foreground);grid-area:1/2;grid-template-rows:repeat(16,1fr);grid-template-columns:repeat(10,1fr);justify-self:center;width:min(320px,38.75dvh);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.stack-builder-board{border:1px solid color-mix(in srgb,var(--foreground) 12%,transparent)}}.stack-builder-board{background:var(--game-board);box-shadow:var(--game-float-shadow),inset 0 -18px 34px var(--foreground);border-radius:2px}@supports (color:color-mix(in lab,red,red)){.stack-builder-board{box-shadow:var(--game-float-shadow),inset 0 -18px 34px color-mix(in srgb,var(--foreground) 3%,transparent)}}.stack-builder-board{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:stack-builder-float-in .28s ease-out both;transform:translateZ(0)}.stack-builder-board:before{z-index:0;background-image:linear-gradient(to right,var(--game-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--game-grid) 1px,transparent 1px);content:"";pointer-events:none;background-size:10% 6.25%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 13% 88%,#0000);mask-image:linear-gradient(#0000,#000 13% 88%,#0000)}.stack-builder-board:after{z-index:2;background:var(--foreground);height:2px;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.stack-builder-board:after{background:color-mix(in srgb,var(--foreground) 28%,transparent)}}.stack-builder-board:after{box-shadow:0 -8px 24px var(--foreground)}@supports (color:color-mix(in lab,red,red)){.stack-builder-board:after{box-shadow:0 -8px 24px color-mix(in srgb,var(--foreground) 6%,transparent)}}.stack-builder-board:after{content:"";pointer-events:none}.stack-builder-cell{z-index:1;color:#0000;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-width:0;font-size:7.5px;line-height:1;display:flex;position:relative}.stack-builder-cell[data-tech=FE],.stack-builder-next__cell[data-tech=FE]{--cell-color:var(--game-fe)}.stack-builder-cell[data-tech=API],.stack-builder-next__cell[data-tech=API]{--cell-color:var(--game-api)}.stack-builder-cell[data-tech=DB],.stack-builder-next__cell[data-tech=DB]{--cell-color:var(--game-db)}.stack-builder-cell[data-tech=AI],.stack-builder-next__cell[data-tech=AI]{--cell-color:var(--game-ai)}.stack-builder-cell--active{background:var(--cell-color,var(--game-active));color:var(--game-board);box-shadow:inset 0 0 0 1px #ffffff3d,0 0 16px var(--cell-color,var(--game-active))}@supports (color:color-mix(in lab,red,red)){.stack-builder-cell--active{box-shadow:inset 0 0 0 1px #ffffff3d,0 0 16px color-mix(in srgb,var(--cell-color,var(--game-active)) 24%,transparent)}}.stack-builder-cell--active{animation:stack-builder-cell-arrive .16s ease-out both}.stack-builder-cell--ghost{z-index:0;border:1px dashed var(--cell-color,var(--game-active));margin:2px}@supports (color:color-mix(in lab,red,red)){.stack-builder-cell--ghost{border:1px dashed color-mix(in srgb,var(--cell-color,var(--game-active)) 58%,transparent)}}.stack-builder-cell--ghost{background:var(--cell-color,var(--game-active))}@supports (color:color-mix(in lab,red,red)){.stack-builder-cell--ghost{background:color-mix(in srgb,var(--cell-color,var(--game-active)) 7%,transparent)}}.stack-builder-cell--settled{background:var(--cell-color,var(--game-settled))}@supports (color:color-mix(in lab,red,red)){.stack-builder-cell--settled{background:color-mix(in srgb,var(--cell-color,var(--game-settled)) 72%,var(--game-settled))}}.stack-builder-cell--settled{color:var(--game-board);transition:background-color .18s ease-out,box-shadow .18s ease-out;box-shadow:inset 0 0 0 1px #ffffff1a}.stack-builder-status{z-index:3;background:radial-gradient(circle,var(--game-board) 0 22%,transparent 67%);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.stack-builder-status strong{text-shadow:0 4px 18px var(--background);font-size:18px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.stack-builder-status strong{text-shadow:0 4px 18px color-mix(in srgb,var(--background) 80%,transparent)}}.stack-builder-status>span{max-width:220px;color:var(--muted-foreground);margin-top:7px;font-size:10px;line-height:1.6}.stack-builder-status button{border:1px solid var(--foreground);align-items:center;gap:8px;min-height:48px;margin-top:18px;padding:0 17px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.stack-builder-status button{border:1px solid color-mix(in srgb,var(--foreground) 9%,transparent)}}.stack-builder-status button{background:var(--surface-strong);color:var(--foreground);font:inherit;cursor:pointer;box-shadow:var(--game-soft-shadow);border-radius:8px;font-size:11px;transition:transform .16s ease-out,box-shadow .16s ease-out}.stack-builder-status button:hover{transform:translateY(-2px);box-shadow:0 16px 42px #18181626}.stack-builder-sidebar{display:contents}.stack-builder-sidebar section{text-align:center}.stack-builder-sidebar section:first-child{grid-area:1/1}.stack-builder-controls{grid-area:1/3}.stack-builder-sidebar h3{margin:0 0 16px}.stack-builder-next{filter:drop-shadow(0 14px 20px #1818161f);place-content:center;width:136px;min-height:110px;margin:0 auto;display:grid}.stack-builder-next__cell{color:#0000;justify-content:center;align-items:center;width:30px;height:30px;font-size:7px;display:flex}.stack-builder-next__cell.is-filled{border:1px solid var(--cell-color,var(--game-active))}@supports (color:color-mix(in lab,red,red)){.stack-builder-next__cell.is-filled{border:1px solid color-mix(in srgb,var(--cell-color,var(--game-active)) 42%,transparent)}}.stack-builder-next__cell.is-filled{background:var(--game-active-soft);color:var(--cell-color,var(--game-active));box-shadow:0 7px 17px var(--cell-color,var(--game-active));border-radius:5px}@supports (color:color-mix(in lab,red,red)){.stack-builder-next__cell.is-filled{box-shadow:0 7px 17px color-mix(in srgb,var(--cell-color,var(--game-active)) 13%,transparent)}}.stack-builder-controls dl{gap:8px;margin:0;display:grid}.stack-builder-controls dl div{justify-content:space-between;align-items:center;gap:16px;min-height:33px;display:flex}.stack-builder-controls dt{color:var(--muted-foreground);font-size:10px}.stack-builder-controls dd{gap:5px;margin:0;display:flex}.stack-builder-controls kbd,.stack-builder-shortcuts kbd{border:1px solid var(--foreground);justify-content:center;align-items:center;min-width:31px;min-height:28px;padding:2px 8px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.stack-builder-controls kbd,.stack-builder-shortcuts kbd{border:1px solid color-mix(in srgb,var(--foreground) 9%,transparent)}}.stack-builder-controls kbd,.stack-builder-shortcuts kbd{background:var(--surface-strong);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.stack-builder-controls kbd,.stack-builder-shortcuts kbd{background:color-mix(in srgb,var(--surface-strong) 76%,transparent)}}.stack-builder-controls kbd,.stack-builder-shortcuts kbd{color:var(--muted-foreground);font:inherit;font-size:9px;box-shadow:0 6px 18px #18181612}.stack-builder-touch{grid-area:2/2;grid-template-columns:repeat(6,1fr);gap:8px;display:none}.stack-builder-touch button{border:1px solid var(--foreground);justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:0;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.stack-builder-touch button{border:1px solid color-mix(in srgb,var(--foreground) 9%,transparent)}}.stack-builder-touch button{background:var(--surface-strong);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.stack-builder-touch button{background:color-mix(in srgb,var(--surface-strong) 80%,transparent)}}.stack-builder-touch button{color:var(--foreground);cursor:pointer;box-shadow:var(--game-soft-shadow);touch-action:manipulation}.stack-builder-touch button:active{background:var(--game-active-soft);color:var(--game-active)}.stack-builder-touch svg{width:17px;height:17px}.stack-builder-shortcuts{color:var(--subtle-foreground);gap:16px;margin-top:24px;font-size:9px;display:flex}.stack-builder-shortcuts span{align-items:center;gap:6px;display:inline-flex}.stack-builder-shortcuts kbd{min-width:29px;min-height:22px;box-shadow:none;padding:1px 5px}@keyframes stack-builder-float-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes stack-builder-cell-arrive{0%{opacity:.55;transform:translateY(-3px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:820px){.stack-builder__mobile-close{display:inline-flex}.stack-builder{justify-content:flex-start;padding:72px 24px 32px}.stack-builder-stats{margin-bottom:22px}.stack-builder-layout{grid-template-columns:minmax(0,280px);gap:22px}.stack-builder-board{grid-area:1/1;width:min(292px,35dvh)}.stack-builder-touch{grid-area:2/1;width:100%;display:grid}.stack-builder-sidebar{grid-area:3/1;grid-template-columns:1fr 1fr;align-items:start;gap:32px;width:100%;display:grid}.stack-builder-controls,.stack-builder-sidebar section:first-child{grid-area:auto}}@media (max-width:420px){.stack-builder{padding:68px 16px 28px}.stack-builder__mobile-close{top:10px;right:10px}.stack-builder-stats{margin-bottom:16px}.stack-builder-stats div{padding-inline:3px}.stack-builder-stats dd{font-size:19px}.stack-builder-layout{grid-template-columns:minmax(0,244px);gap:16px}.stack-builder-board{width:min(264px,32.5dvh)}.stack-builder-touch{grid-template-columns:repeat(3,1fr)}.stack-builder-sidebar{grid-template-columns:1fr;gap:24px}.stack-builder-shortcuts{margin-top:20px}}@media (max-width:820px) and (max-height:500px) and (orientation:landscape){.stack-builder{justify-content:center;min-height:100dvh;padding:70px 24px 14px}.stack-builder-stats{z-index:2;width:360px;margin:0;position:fixed;top:54px;left:50%;transform:translate(-50%)}.stack-builder-layout{grid-template-columns:120px minmax(150px,165px) 160px;gap:30px;margin-top:44px}.stack-builder-board{grid-area:1/2;width:min(165px,62.5dvh - 67.5px)}.stack-builder-touch{grid-area:1/3;grid-template-columns:repeat(3,1fr);align-self:center;width:160px;display:grid}.stack-builder-sidebar{display:contents}.stack-builder-sidebar section:first-child{grid-area:1/1}.stack-builder-controls,.stack-builder-shortcuts{display:none}}@media (prefers-reduced-motion:reduce){.stack-builder-board{animation:none}.stack-builder-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.stack-builder-status button{transition:none}.stack-builder-cell--active{animation:none}}.game-dialog{container-type:inline-size}.game-library{background:var(--background);min-height:100dvh;color:var(--foreground);font-family:var(--font-geist-mono),monospace;place-content:center;padding:clamp(28px,6vw,88px);display:grid}.game-library>*{width:min(940px,100%);margin-inline:auto}.game-library>header{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:end;padding-bottom:28px;display:grid}.game-library>header>span{color:var(--accent);letter-spacing:.08em;grid-column:1/-1;font-size:10px}.game-library h2{font-family:var(--font-geist-sans),sans-serif;letter-spacing:-.055em;margin:12px 0 0;font-size:clamp(34px,5vw,64px);font-weight:500;line-height:.95}.game-library-grid>button,.game-library>header button{font:inherit}.game-library>header button{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:10px}.game-library kbd{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:3px;padding:2px 5px}.game-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-library-grid>button{border:0;border-bottom:1px solid var(--border);min-width:0;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;padding:28px;transition:background-color .18s}.game-library-grid>button+button{border-left:1px solid var(--border)}.game-library-grid>button:hover{background:var(--surface)}.game-library-grid>button:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.game-library-grid>button>span{color:var(--accent);font-size:9px}.game-library-grid>button>div{border-block:1px solid var(--border-soft);background-image:linear-gradient(var(--border-soft) 1px,transparent 1px),linear-gradient(90deg,var(--border-soft) 1px,transparent 1px);background-size:24px 24px;height:172px;margin:20px 0 24px;position:relative;overflow:hidden}.game-library-grid [data-game=stack-builder] i{border:1px solid var(--border);background:var(--surface-strong);width:24px;height:24px;position:absolute}.game-library-grid [data-game=stack-builder] i:first-child{background:var(--accent);top:28%;left:36%}.game-library-grid [data-game=stack-builder] i:nth-child(2){top:28%;left:calc(36% + 24px)}.game-library-grid [data-game=stack-builder] i:nth-child(3){background:var(--accent);top:calc(28% + 24px);left:calc(36% + 24px)}.game-library-grid [data-game=stack-builder] i:nth-child(4){top:calc(28% + 24px);left:calc(36% + 48px)}.game-library-grid [data-game=stack-builder] i:nth-child(5){top:calc(28% + 48px);left:calc(36% + 48px)}.game-library-grid [data-game=system-type] b{border:1px solid var(--foreground);clip-path:polygon(0 0,100% 50%,0 100%,25% 50%);width:52px;height:32px;position:absolute;top:50%;left:16%;transform:translateY(-50%)}.game-library-grid [data-game=system-type]:after{border-top:1px solid var(--accent);content:"";width:42%;position:absolute;top:50%;left:29%}.game-library-grid [data-game=system-type] i{z-index:1;border:1px solid var(--foreground);background:var(--background);width:17px;height:17px;position:absolute}.game-library-grid [data-game=system-type] i:first-of-type{top:27%;right:16%}.game-library-grid [data-game=system-type] i:nth-of-type(2){border-color:var(--accent);top:48%;right:28%}.game-library-grid [data-game=system-type] i:nth-of-type(3){bottom:20%;right:12%}.game-library-grid small{color:var(--muted-foreground);letter-spacing:.08em;font-size:8px}.game-library-grid strong{font-family:var(--font-geist-sans),sans-serif;justify-content:space-between;margin-top:6px;font-size:21px;font-weight:600;display:flex}.game-library-grid strong i{color:var(--muted-foreground);font:400 12px var(--font-geist-mono),monospace}.game-library-grid p{max-width:34ch;color:var(--muted-foreground);margin:10px 0 0;font-size:11px;line-height:1.65}.game-library>footer{color:var(--muted-foreground);padding-top:16px;font-size:9px}.game-stage{width:100%;min-height:100dvh;position:relative}.game-back-control{z-index:100;color:var(--muted-foreground);font:10px var(--font-geist-mono),monospace;cursor:pointer;background:0 0;border:0;position:fixed;top:18px;left:20px}@media (max-width:680px){.game-library{place-content:start;padding:28px 18px}.game-library>header{align-items:start}.game-library-grid{grid-template-columns:1fr}.game-library-grid>button{padding-inline:8px}.game-library-grid>button+button{border-left:0}}.system-type{--system-bg:var(--background);--system-fg:var(--foreground);--system-muted:var(--muted-foreground);--system-border:var(--border);--system-error:#b8473c;--system-accent:var(--accent);background:var(--system-bg);width:100vw;height:100dvh;color:var(--system-fg);font-family:var(--font-geist-pixel-square),var(--font-geist-mono),monospace;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}:root[data-theme=dark] .system-type{--system-error:#e06b62}.system-type button{font:inherit}.system-type button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.system-type-header{z-index:10;border-bottom:1px solid var(--system-border);background:var(--system-bg);grid-template-columns:minmax(290px,.9fr) minmax(570px,1.35fr);align-items:center;min-height:132px;padding:22px 38px 20px;display:grid;position:relative}.system-type-heading>span{color:var(--system-accent);letter-spacing:.08em;font-size:11px}.system-type-header h2{letter-spacing:-.055em;text-transform:uppercase;margin:9px 0 0;font-size:clamp(26px,2.7vw,40px);font-weight:550;line-height:.95}.system-type-heading p{color:var(--system-muted);letter-spacing:.05em;margin:10px 0 0;font-size:10px}.system-type-header dl{border-left:1px solid var(--system-border);grid-template-columns:1.25fr repeat(4,1fr);margin:0;display:grid}.system-type-metric{border-right:1px solid var(--system-border);align-content:center;min-height:78px;padding:4px 20px;display:grid;position:relative}.system-type-metric dt{color:var(--system-muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.system-type-metric dd{margin:6px 0 0;font-size:clamp(18px,1.7vw,25px);font-weight:520;line-height:1;animation:system-metric-pop .24s ease-out}.system-type-metric.is-integrity{border-left:2px solid var(--system-accent);box-shadow:-8px 0 18px var(--system-accent)}@supports (color:color-mix(in lab,red,red)){.system-type-metric.is-integrity{box-shadow:-8px 0 18px color-mix(in srgb,var(--system-accent) 9%,transparent)}}.system-type-metric.is-integrity dd,.system-type-metric.is-integrity dt{color:var(--system-accent)}.system-type-header[data-integrity=critical] .is-integrity,.system-type-header[data-integrity=warning] .is-integrity{border-left-color:var(--system-error)}.system-type-header[data-integrity=critical] .is-integrity dd,.system-type-header[data-integrity=critical] .is-integrity dt,.system-type-header[data-integrity=warning] .is-integrity dd,.system-type-header[data-integrity=warning] .is-integrity dt{color:var(--system-error)}.system-type-header[data-integrity=critical] .is-integrity{animation:system-integrity-pulse .9s ease-in-out infinite}.system-type-metric>i{opacity:.5;align-items:end;gap:3px;height:10px;margin-top:7px;display:flex}.system-type-metric>i b{background:currentColor;width:3px;height:3px}.system-type-metric>i b:nth-child(2),.system-type-metric>i b:nth-child(6){height:7px}.system-type-metric>i b:nth-child(4){height:10px}.system-type-metric.is-score{min-width:105px}.system-type-metric.is-score dd{color:var(--system-accent)}.system-type-field{isolation:isolate;min-height:0;transition:box-shadow .7s;position:relative;overflow:hidden}.system-type-field:after{z-index:20;content:"";pointer-events:none;background:0 0;position:absolute;inset:0}.system-type[data-intensity=high] .system-type-field{box-shadow:inset 0 0 90px var(--system-error)}@supports (color:color-mix(in lab,red,red)){.system-type[data-intensity=high] .system-type-field{box-shadow:inset 0 0 90px color-mix(in srgb,var(--system-error) 4%,transparent)}}.system-type[data-intensity=critical] .system-type-field{box-shadow:inset 0 0 120px var(--system-error)}@supports (color:color-mix(in lab,red,red)){.system-type[data-intensity=critical] .system-type-field{box-shadow:inset 0 0 120px color-mix(in srgb,var(--system-error) 8%,transparent)}}.system-type-canvas{width:100%;height:100%;display:block}.system-type-sector{color:var(--system-muted);letter-spacing:.08em;pointer-events:none;opacity:.72;gap:4px;font-size:8px;display:grid;position:absolute;top:34px;left:6%}.system-type-input{z-index:5;border:1px solid var(--system-border);border-left:2px solid var(--system-accent);background:var(--system-bg);width:clamp(280px,25vw,380px);padding:11px 13px 10px;position:absolute;top:55%;left:5%}@supports (color:color-mix(in lab,red,red)){.system-type-input{background:color-mix(in srgb,var(--system-bg) 94%,transparent)}}.system-type-input{box-shadow:0 16px 40px var(--system-fg)}@supports (color:color-mix(in lab,red,red)){.system-type-input{box-shadow:0 16px 40px color-mix(in srgb,var(--system-fg) 7%,transparent)}}.system-type-input{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .18s,box-shadow .18s,transform .18s}.system-type-input[data-active=true]{box-shadow:0 18px 44px var(--system-accent)}@supports (color:color-mix(in lab,red,red)){.system-type-input[data-active=true]{box-shadow:0 18px 44px color-mix(in srgb,var(--system-accent) 13%,transparent)}}.system-type-input[data-active=true]{transform:translateY(-2px)}.system-type[data-phase=idle] .system-type-input,.system-type[data-phase=idle] .system-type-objective,.system-type[data-phase=idle] .system-type-sector{opacity:.34}.system-type[data-phase=idle] .system-type-input{box-shadow:none;transform:translateY(4px)}.system-type[data-phase=scanning] .system-type-input,.system-type[data-phase=scanning] .system-type-objective{opacity:.58}.system-type-input,.system-type-objective,.system-type-sector{transition:opacity .38s,transform .38s,box-shadow .38s}.system-type-input>small{color:var(--system-muted);letter-spacing:.07em;font-size:8px;display:block}.system-type-input>small:first-child{margin-bottom:8px}.system-type-input>small>i{background:var(--system-accent);width:4px;height:4px;margin-right:5px;display:inline-block}.system-type-input>small strong{color:var(--system-accent);font-weight:500}.system-type-input p{letter-spacing:-.035em;margin:0 0 10px;font-size:clamp(17px,1.45vw,22px)}.system-type-input p>span{color:var(--system-fg)}.system-type-input p strong{color:var(--system-accent);font-weight:500}.system-type-input p b{color:var(--system-fg);opacity:.68;font-weight:500}.system-type-input p>i{color:var(--system-accent);font-style:normal;animation:system-caret .8s steps(2) infinite}.system-type-input-meta{border-top:1px solid var(--system-border);justify-content:space-between;align-items:center;padding-top:7px;display:flex}.system-type-input-meta>i{align-items:center;gap:3px;height:10px;display:flex}.system-type-input-meta>i b{background:var(--system-muted);width:2px;height:3px}.system-type-input-meta>i b:nth-child(2),.system-type-input-meta>i b:nth-child(5){height:7px}.system-type-input-meta>i b:nth-child(4){background:var(--system-accent);height:10px}.system-type-objective{z-index:4;border:1px solid var(--system-border);background:var(--system-bg);gap:5px;width:clamp(280px,25vw,380px);padding:11px 14px 10px;display:grid;position:absolute;top:calc(55% + 126px);left:5%}@supports (color:color-mix(in lab,red,red)){.system-type-objective{background:color-mix(in srgb,var(--system-bg) 92%,transparent)}}.system-type-objective{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.system-type-objective>span{color:var(--system-accent);letter-spacing:.09em;font-size:7px}.system-type-objective>strong{font-size:9px;font-weight:550}.system-type-objective>p{color:var(--system-muted);margin:0;font-size:8px;line-height:1.45}.system-type-objective>i{background:var(--system-border);width:100%;height:2px;margin-top:3px;display:block}.system-type-objective>i b{background:var(--system-accent);height:100%;transition:width .42s cubic-bezier(.2,.8,.2,1);display:block}.system-type-objective>small{color:var(--system-muted);text-transform:uppercase;justify-self:end;font-size:7px}.system-type-feedback{z-index:15;color:var(--system-accent);pointer-events:none;justify-items:center;gap:5px;animation:system-feedback 1.5s cubic-bezier(.2,.8,.2,1) both;display:grid;position:absolute;top:10%;left:50%;transform:translate(-50%)}.system-type-feedback>span{letter-spacing:.08em;font-size:clamp(12px,1.25vw,17px);font-weight:600}.system-type-feedback>small{color:var(--system-muted);font-size:7px}.system-type-feedback[data-tone=danger],.system-type-feedback[data-tone=warning]{color:var(--system-error)}.system-type:has(.system-type-feedback[data-tone=critical]) .system-type-field:after,.system-type:has(.system-type-feedback[data-tone=perfect]) .system-type-field:after,.system-type:has(.system-type-feedback[data-tone=success]) .system-type-field:after{animation:system-success-flash .46s ease-out}.system-type:has(.system-type-feedback[data-tone=danger]) .system-type-field:after{animation:system-danger-flash .44s ease-out}.system-type-scan{z-index:12;width:min(390px,100% - 40px);color:var(--system-muted);gap:10px;padding:18px 0;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.system-type-scan>span{color:var(--system-accent);letter-spacing:.09em;font-size:8px}.system-type-scan>strong{color:var(--system-fg);font-size:13px;font-weight:500}.system-type-scan>i{background:var(--system-border);width:100%;height:2px;display:block;overflow:hidden}.system-type-scan>i b{background:var(--system-accent);height:100%;transition:width 80ms linear;display:block}.system-type-state{z-index:12;border:1px solid var(--system-border);background:var(--system-bg);width:min(420px,100% - 40px);padding:25px 28px 27px;position:absolute;top:48%;left:50%}@supports (color:color-mix(in lab,red,red)){.system-type-state{background:color-mix(in srgb,var(--system-bg) 96%,transparent)}}.system-type-state{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);transform:translate(-50%,-50%)}.system-type-state>span{color:var(--system-accent);letter-spacing:.08em;font-size:8px}.system-type-state h3{font-family:var(--font-geist-sans),sans-serif;letter-spacing:-.03em;margin:10px 0 8px;font-size:22px;font-weight:550}.system-type-state p{color:var(--system-muted);margin:0;font-size:10px;line-height:1.65}.system-type-state>button{border:1px solid var(--system-fg);background:var(--system-fg);color:var(--system-bg);cursor:pointer;margin-top:20px;padding:9px 12px;font-size:9px}.system-type-state dl{border-block:1px solid var(--system-border);grid-template-columns:repeat(3,1fr);margin:18px 0 0;display:grid}.system-type-state dl div{padding:9px 5px}.system-type-state dt{color:var(--system-muted);font-size:7px}.system-type-state dd{margin:3px 0 0;font-size:12px}.system-type-report{width:min(570px,100% - 40px)}.system-type-report dl div{border-right:1px solid var(--system-border);min-width:0}.system-type-report dl div:nth-child(3n){border-right:0}.system-type-report>div{margin-top:18px;display:grid}.system-type-report>div strong{color:var(--system-accent);letter-spacing:-.05em;font-size:30px;font-weight:500}.system-type-report>div small{color:var(--system-muted);letter-spacing:.08em;font-size:7px}.system-type-report[data-result=lost]>div strong{color:var(--system-error)}.system-type-deploy{z-index:12;border-top:2px solid var(--system-accent);border-bottom:1px solid var(--system-border);background:linear-gradient(90deg,var(--system-bg),var(--system-bg));width:min(520px,100% - 40px);padding:0 16px;position:absolute;top:49%;left:54%}@supports (color:color-mix(in lab,red,red)){.system-type-deploy{background:linear-gradient(90deg,color-mix(in srgb,var(--system-bg) 94%,transparent),color-mix(in srgb,var(--system-bg) 74%,transparent))}}.system-type-deploy{box-shadow:0 20px 64px var(--system-fg)}@supports (color:color-mix(in lab,red,red)){.system-type-deploy{box-shadow:0 20px 64px color-mix(in srgb,var(--system-fg) 7%,transparent)}}.system-type-deploy{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:system-deploy-in .52s cubic-bezier(.2,.8,.2,1) both;transform:translate(-50%,-50%)}.system-type-deploy-status{justify-content:space-between;align-items:center;padding:9px 0 8px;display:flex}.system-type-deploy-status>span{color:var(--system-accent);letter-spacing:.08em;align-items:center;gap:7px;font-size:8px;display:flex}.system-type-deploy-status>span i{background:var(--system-accent);width:5px;height:5px;box-shadow:0 0 9px var(--system-accent)}@supports (color:color-mix(in lab,red,red)){.system-type-deploy-status>span i{box-shadow:0 0 9px color-mix(in srgb,var(--system-accent) 70%,transparent)}}.system-type-deploy-status>small{color:var(--system-muted);letter-spacing:.06em;font-size:7px}.system-type-deploy-message{border-top:1px solid var(--system-border);padding:18px 0 16px}.system-type-deploy-message h3{color:var(--system-fg);letter-spacing:-.025em;margin:0;font-size:clamp(21px,1.8vw,26px);font-weight:500}.system-type-deploy-message p{max-width:54ch;color:var(--system-muted);font-family:var(--font-geist-mono),monospace;margin:8px 0 0;font-size:9px;line-height:1.6}.system-type-deploy>button{border:1px solid var(--system-border);background:var(--system-accent);justify-content:space-between;align-items:center;width:100%;margin:0;padding:14px 12px 13px;display:flex}@supports (color:color-mix(in lab,red,red)){.system-type-deploy>button{background:color-mix(in srgb,var(--system-accent) 4%,transparent)}}.system-type-deploy>button{color:var(--system-fg);cursor:pointer;transition:padding .18s,background-color .18s}.system-type-deploy>button>span{align-items:center;gap:12px;display:flex}.system-type-deploy>button kbd{border:1px solid var(--system-border);background:var(--system-bg);color:var(--system-accent);border-radius:2px;padding:3px 6px;font-size:8px}.system-type-deploy>button strong{letter-spacing:.01em;font-size:16px;font-weight:500}.system-type-deploy>button b{color:var(--system-accent);font-size:15px;font-weight:400}.system-type-deploy>button:hover{border-color:var(--system-accent);background:var(--system-accent);padding-inline:17px}@supports (color:color-mix(in lab,red,red)){.system-type-deploy>button:hover{background:color-mix(in srgb,var(--system-accent) 8%,transparent)}}.system-type-deploy>button:active{background:var(--system-accent)}@supports (color:color-mix(in lab,red,red)){.system-type-deploy>button:active{background:color-mix(in srgb,var(--system-accent) 9%,transparent)}}.system-type-deploy>p{color:var(--system-muted);font-family:var(--font-geist-mono),monospace;flex-wrap:wrap;gap:8px;margin:0;padding:11px 0 12px;font-size:8px;display:flex}.system-type-deploy>p i{color:var(--system-accent);font-style:normal}.system-type-footer{z-index:10;border-top:1px solid var(--system-border);background:var(--system-bg);justify-content:space-between;align-items:center;min-height:76px;padding:14px 38px;display:flex;position:relative}.system-type-footer>div{gap:24px;display:flex}.system-type-footer button{color:var(--system-muted);cursor:pointer;background:0 0;border:0;font-size:9px}.system-type-footer button:hover{color:var(--system-fg)}.system-type-footer kbd{border:1px solid var(--system-border);background:var(--surface);color:var(--system-fg);border-radius:3px;padding:3px 6px}.system-type-refactor{text-align:left;grid-template-columns:auto;gap:6px;width:240px;display:grid}.system-type-refactor>i{background:var(--system-border);width:100%;height:2px;display:block}.system-type-refactor>i b{background:var(--system-accent);height:100%;display:block}.system-type-refactor:disabled{cursor:default;opacity:.6}.system-type-mobile-note{display:none}@keyframes system-caret{50%{opacity:0}}@keyframes system-metric-pop{0%{opacity:.55;transform:translateY(2px)scale(.95)}to{opacity:1;transform:none}}@keyframes system-integrity-pulse{50%{background:color-mix(in srgb,var(--system-error) 8%,transparent)}}@keyframes system-feedback{0%{opacity:0;transform:translate(-50%,8px)scale(.96)}14%,72%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-9px)scale(.98)}}@keyframes system-success-flash{0%{background:color-mix(in srgb,var(--system-accent) 9%,transparent)}to{background:0 0}}@keyframes system-danger-flash{0%{background:color-mix(in srgb,var(--system-error) 11%,transparent)}to{background:0 0}}@keyframes system-deploy-in{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:920px){.system-type-header{grid-template-columns:200px minmax(0,1fr);padding-inline:20px}.system-type-metric{min-height:68px;padding-inline:11px}.system-type-metric.is-score{min-width:0}.system-type-header dt{font-size:7px}.system-type-header dd{font-size:16px}.system-type-input{left:5%}.system-type-objective>p{display:none}.system-type-deploy{width:min(400px,100% - 32px);top:48%;left:50%}.system-type[data-phase=idle] .system-type-input,.system-type[data-phase=idle] .system-type-objective{opacity:0}.system-type-footer{padding-inline:20px}}@media (max-width:680px){.system-type>:not(.system-type-mobile-note){display:none}.system-type-mobile-note{width:min(360px,100% - 40px);color:var(--system-muted);text-align:center;place-self:center;gap:18px;margin:auto;font-size:11px;line-height:1.7;display:grid}.system-type-mobile-note p{margin:0}.system-type-mobile-note>div{justify-content:center;gap:20px;display:flex}.system-type-mobile-note button{color:var(--system-fg);cursor:pointer;background:0 0;border:0;padding:5px 0}}@media (prefers-reduced-motion:reduce){.system-type *,.system-type :after,.system-type :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.about-panel{flex-direction:column;gap:24px;min-width:0;padding:clamp(48px,5vw,80px) clamp(32px,7vw,112px);display:flex}@media (min-width:1181px){.about-panel{scroll-padding-top:80px;scroll-padding-bottom:64px}.about-panel:after,.about-panel:before{z-index:15;content:"";pointer-events:none;transition:left .6s cubic-bezier(.4,0,.2,1);position:fixed;left:45vw;right:0}.about-panel:before{background:linear-gradient(to bottom,var(--background) 0,var(--background) 32px,var(--background) 48px,transparent 100%);height:72px;top:0}@supports (color:color-mix(in lab,red,red)){.about-panel:before{background:linear-gradient(to bottom,var(--background) 0,var(--background) 32px,color-mix(in srgb,var(--background) 85%,transparent) 48px,transparent 100%)}}.about-panel:after{background:linear-gradient(to bottom,transparent 0,var(--background) 18px,var(--background) 34px,var(--background) 100%);height:48px;bottom:0}@supports (color:color-mix(in lab,red,red)){.about-panel:after{background:linear-gradient(to bottom,transparent 0,color-mix(in srgb,var(--background) 78%,transparent) 18px,var(--background) 34px,var(--background) 100%)}}.portfolio-shell--focused .about-panel:after,.portfolio-shell--focused .about-panel:before{left:0}}.about-card{width:100%;max-width:780px;margin:0}.section-label{border-bottom:1px solid var(--border-soft);min-height:56px;color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;justify-content:space-between;align-items:center;gap:24px;padding:0 24px;font-size:11px;display:flex}.section-label__title{align-items:center;gap:10px;display:inline-flex}.section-label__marker{background:var(--subtle-foreground);width:6px;height:6px}.section-label__note:before{content:"~ "}.about-card__body{max-width:700px;margin:0 24px;padding:clamp(28px,3vw,42px) 24px}.about-card__body p{font-family:var(--font-geist-mono),monospace;word-spacing:.08em;margin:0;font-size:13px;line-height:1.75}.about-card__body p+p{margin-top:20px}.contact-panel,.services-panel,.testimonials-panel,.writing-panel{width:100%;max-width:780px;scroll-margin-top:24px}.about-card__body p:first-of-type{color:var(--foreground);font-size:14px;font-weight:500}.contact-panel>.section-label,.services-panel>.section-label,.testimonials-panel>.section-label,.writing-panel>.section-label{border-top:1px solid var(--border-soft)}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.service-item{border-bottom:1px solid var(--border-soft);min-width:0;padding:26px 24px}.service-item:nth-child(2n){border-left:1px solid var(--border-soft)}.contact-panel__email,.contact-panel__eyebrow,.contact-panel__links,.service-item li,.service-item__number,.testimonial-item,.testimonials-list__status,.writing-list{font-family:var(--font-geist-mono),monospace}.contact-panel__eyebrow,.service-item__number,.testimonials-list__status{color:var(--subtle-foreground);letter-spacing:.07em;text-transform:uppercase;font-size:10px}.service-item h3{letter-spacing:-.02em;margin:13px 0 0;font-size:15px;font-weight:600}.service-item>p{color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;margin:10px 0 0;font-size:11px;line-height:1.7}.service-item ul{flex-wrap:wrap;gap:6px 12px;margin:16px 0 0;padding:0;list-style:none;display:flex}.service-item li{color:var(--subtle-foreground);font-size:10px}.service-item li:before{content:"·";margin-right:6px}.testimonials-list{border-bottom:1px solid var(--border-soft)}.testimonials-list__intro{padding:30px 24px 26px}.contact-panel__body h2,.testimonials-list__intro h2{letter-spacing:-.04em;margin:12px 0 0;font-size:clamp(24px,3vw,34px);font-weight:600;line-height:1.15}.contact-panel__body>p:not(.contact-panel__eyebrow){max-width:58ch;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;margin:16px 0 0;font-size:12px;line-height:1.7}.testimonial-item{border-top:1px solid var(--border-soft);grid-template-columns:26px minmax(0,1fr) minmax(160px,.42fr);gap:22px;margin:0;padding:27px 24px 29px;display:grid}.testimonial-item figcaption small,.testimonial-item figcaption span,.testimonial-item__number{color:var(--subtle-foreground);font-size:10px}.testimonial-item blockquote{margin:0}.testimonial-item blockquote p{max-width:52ch;color:var(--foreground);font-family:var(--font-geist-sans),sans-serif;letter-spacing:-.012em;margin:0;font-size:14px;line-height:1.7}.testimonial-item figcaption{flex-direction:column;align-items:flex-start;display:flex}.testimonial-item figcaption strong{font-family:var(--font-geist-sans),sans-serif;font-size:12px;font-weight:600}.testimonial-item figcaption span{margin-top:6px;line-height:1.55}.testimonial-item figcaption small{border-top:1px solid var(--border-soft);letter-spacing:.04em;text-transform:uppercase;margin-top:12px;padding-top:10px}.section-action{align-items:center;gap:6px;min-height:44px;transition:color .18s ease-out;display:inline-flex}.section-action:hover{color:var(--accent)}.writing-list{margin:0;padding:0;list-style:none}.writing-list li{border-bottom:1px solid var(--border-soft)}.writing-list a{grid-template-columns:26px minmax(0,1fr) auto;align-items:start;gap:20px;min-height:104px;padding:23px 24px;transition:background-color .18s ease-out;display:grid}.writing-list a:hover{background:var(--surface)}@supports (color:color-mix(in lab,red,red)){.writing-list a:hover{background:color-mix(in srgb,var(--surface) 65%,transparent)}}.writing-list__meta,.writing-list__number{color:var(--subtle-foreground);font-size:10px}.writing-list__content{gap:8px;display:grid}.writing-list__content strong{font-family:var(--font-geist-sans),sans-serif;letter-spacing:-.015em;font-size:14px;font-weight:600}.writing-list__content>span{color:var(--muted-foreground);font-size:10px;line-height:1.65}.writing-list__meta{white-space:nowrap;align-items:center;gap:10px;display:flex}.contact-panel__body{border-bottom:1px solid var(--border-soft);padding:clamp(38px,7vw,72px) 24px}.contact-panel__email{border:1px solid var(--foreground);background:var(--foreground);min-height:46px;color:var(--background);border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:11px;transition:border-color .18s ease-out,background-color .18s ease-out,color .18s ease-out,transform .18s ease-out;display:inline-flex}.contact-panel__actions{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.contact-panel__secondary{border:1px solid var(--border);min-height:46px;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:11px;transition:border-color .18s ease-out,color .18s ease-out,transform .18s ease-out;display:inline-flex}.contact-panel__email:hover{border-color:var(--accent);background:var(--accent);color:var(--background);transform:translateY(-1px)}.contact-panel__links a:hover,.contact-panel__secondary:hover{color:var(--accent)}.contact-panel__secondary:hover{border-color:var(--accent);transform:translateY(-1px)}.contact-panel__address{color:var(--subtle-foreground)!important;margin-top:16px!important;font-size:10px!important}.contact-panel__links{color:var(--muted-foreground);flex-wrap:wrap;gap:20px;margin-top:22px;font-size:10px;display:flex}@media (max-width:560px){.services-grid{grid-template-columns:1fr}.service-item:nth-child(2n){border-left:0}.writing-list a{grid-template-columns:22px minmax(0,1fr);gap:12px}.writing-list__meta{grid-column:2}.testimonial-item{grid-template-columns:22px minmax(0,1fr);gap:12px}.testimonial-item figcaption{grid-column:2;margin-top:6px}}.focus-mode-toggle{--focus-mode-x:clamp(24px,3vw,48px);--focus-mode-y:clamp(64px,7vw,104px);z-index:30;top:var(--focus-mode-y);right:var(--focus-mode-x);border:1px solid var(--border-soft);background:var(--surface);width:38px;height:38px;box-shadow:0 5px 14px var(--foreground);border-radius:50%;padding:0;display:inline-grid;position:fixed}@supports (color:color-mix(in lab,red,red)){.focus-mode-toggle{box-shadow:0 5px 14px color-mix(in srgb,var(--foreground) 4%,transparent)}}.focus-mode-toggle{color:var(--subtle-foreground);cursor:pointer;place-items:center;transition:background-color .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out,color .18s ease-out}.focus-mode-toggle:hover,.focus-mode-toggle[aria-pressed=true]{border-color:var(--border);background:var(--surface-strong);box-shadow:0 8px 22px var(--foreground)}@supports (color:color-mix(in lab,red,red)){.focus-mode-toggle:hover,.focus-mode-toggle[aria-pressed=true]{box-shadow:0 8px 22px color-mix(in srgb,var(--foreground) 8%,transparent)}}.focus-mode-toggle:hover,.focus-mode-toggle[aria-pressed=true]{color:var(--foreground)}.focus-mode-toggle:focus-visible{outline:1px solid var(--foreground);outline-offset:3px}.focus-mode-toggle:disabled{cursor:default}@media (min-width:960px){.portfolio-shell.portfolio-shell{--focus-mode-x:clamp(24px,3vw,48px);--focus-mode-y:clamp(64px,7vw,104px);isolation:isolate;display:flex}.portfolio-shell:before{z-index:0;background:var(--surface);clip-path:circle(0 at calc(100% - var(--focus-mode-x) - 19px) calc(var(--focus-mode-y) + 19px));content:"";filter:drop-shadow(0 0 24px var(--foreground));position:fixed;inset:-24px}@supports (color:color-mix(in lab,red,red)){.portfolio-shell:before{filter:drop-shadow(0 0 24px color-mix(in srgb,var(--foreground) 8%,transparent))}}.portfolio-shell:before{pointer-events:none;will-change:clip-path;transition:clip-path .42s cubic-bezier(.55,0,1,.45)}.about-panel,.profile-panel{z-index:1;position:relative}.profile-panel__content{width:45vw;min-width:min(45vw,680px)}.profile-panel{flex:0 0 45vw;min-width:0;transition:flex-basis .6s cubic-bezier(.4,0,.2,1),opacity .52s ease-out,transform .6s cubic-bezier(.16,1,.3,1),visibility linear}.about-panel{flex:0 0 55vw;min-width:0;transition:flex-basis .6s cubic-bezier(.4,0,.2,1),padding .46s cubic-bezier(.16,1,.3,1)}.portfolio-shell--focused:before{clip-path:circle(160vmax at calc(100% - var(--focus-mode-x) - 19px) calc(var(--focus-mode-y) + 19px));transition-duration:.68s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.portfolio-shell--focused .profile-panel{visibility:hidden;opacity:0;pointer-events:none;flex-basis:0;transition-duration:.56s,.56s,.68s,0s;transition-delay:.16s,0s,0s,.68s;transition-timing-function:cubic-bezier(.4,0,.2,1),ease-in,cubic-bezier(.32,0,.67,0),linear;transform:translate(-110%)}.portfolio-shell--focused .about-panel{flex-basis:100vw;align-items:center;padding-left:clamp(72px,9vw,144px);padding-right:clamp(72px,9vw,144px);transition-duration:.56s,.56s;transition-delay:.16s,.16s;transition-timing-function:cubic-bezier(.4,0,.2,1),cubic-bezier(.16,1,.3,1)}.portfolio-shell--exiting .profile-panel{visibility:visible;opacity:1;transform:translate(0)}.portfolio-shell--exiting .about-panel{align-items:center}.portfolio-shell--exiting .about-panel>*,.portfolio-shell--focused .about-panel>*{width:100%;max-width:880px}.portfolio-shell--focused .about-card__body{max-width:800px}.portfolio-shell--focused .about-card__body p{font-size:15px}.portfolio-shell--focused .experience-content h3,.portfolio-shell--focused .project-header h3,.portfolio-shell--focused .service-item h3{font-size:17px}.portfolio-shell--focused .contact-panel__body>p:not(.contact-panel__eyebrow),.portfolio-shell--focused .experience-content>p,.portfolio-shell--focused .project-description{font-size:14px}.portfolio-shell--focused .service-item>p{font-size:13px}.portfolio-shell--focused .contact-panel__body h2,.portfolio-shell--focused .testimonials-list__intro h2{font-size:clamp(26px,3vw,36px)}.portfolio-shell--focused .testimonial-item blockquote p,.portfolio-shell--focused .writing-list__content strong{font-size:16px}.portfolio-shell--focused .writing-list__content>span{font-size:12px}.portfolio-shell--focused .testimonial-item figcaption strong{font-size:14px}.portfolio-shell--focused .contact-panel__email{font-size:13px}}@media (max-width:959px){.focus-mode-toggle{display:none}}@media (prefers-reduced-motion:reduce){.about-panel,.focus-mode-toggle,.portfolio-shell,.portfolio-shell:before,.profile-panel{transition:none}}.resume{width:min(920px,100% - 48px);margin-inline:auto;padding-block:clamp(56px,8vw,96px) 88px}.resume__header{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:48px;padding-bottom:40px;display:grid}.resume__actions,.resume__contact,.resume__entry-meta,.resume__entry-stack,.resume__eyebrow,.resume__section--skills p,.resume__section>h2,.resume__title,.resume__work-grid span{font-family:var(--font-geist-mono),monospace}.resume__entry-meta,.resume__eyebrow,.resume__section>h2,.resume__work-grid span{color:var(--subtle-foreground);font-size:10px}.resume__eyebrow{margin:0 0 14px}.resume__header h1{letter-spacing:-.06em;margin:0;font-size:clamp(40px,7vw,72px);font-weight:650;line-height:.98}.resume__title{color:var(--muted-foreground);margin:16px 0 0;font-size:13px}.resume__summary{max-width:62ch;color:var(--muted-foreground);margin:24px 0 0;font-size:15px;line-height:1.7}.resume__contact{color:var(--muted-foreground);text-align:right;align-content:start;justify-items:end;gap:8px;font-size:10px;display:grid}.resume__contact a{transition:color .18s ease-out}.resume__contact a:hover{color:var(--accent)}.resume__actions{border-bottom:1px solid var(--border);gap:8px;padding-block:24px;font-size:10px;display:flex}.resume-print,.resume__actions a{border:1px solid var(--border);min-height:42px;color:var(--foreground);cursor:pointer;font:inherit;background:0 0;border-radius:2px;align-items:center;gap:8px;padding:8px 12px;transition:border-color .18s ease-out,color .18s ease-out;display:inline-flex}.resume-print:hover,.resume__actions a:hover{border-color:var(--accent);color:var(--accent)}.resume__section{border-bottom:1px solid var(--border);grid-template-columns:120px minmax(0,1fr);gap:40px;padding-block:42px;display:grid}.resume__section>h2{margin:4px 0 0;font-weight:500}.resume__entries{gap:34px;display:grid}.resume__entry{grid-template-columns:132px minmax(0,1fr);gap:28px;display:grid}.resume__entry-meta{align-content:start;gap:5px;display:grid}.resume__entry h3,.resume__work-grid h3{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:600}.resume__entry p,.resume__work-grid p{color:var(--muted-foreground);margin:10px 0 0;font-size:13px;line-height:1.7}.resume__entry .resume__entry-stack{color:var(--subtle-foreground);font-size:10px}.resume__work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.resume__work-grid article{padding-right:24px}.resume__work-grid h3 a{transition:color .18s ease-out}.resume__work-grid h3 a:hover{color:var(--accent)}.resume__work-grid span{margin-top:5px;display:block}.resume__section--skills p{color:var(--muted-foreground);margin:0;font-size:11px;line-height:1.9}@media (max-width:767px){.resume{width:calc(100% - 40px);padding-block:48px 64px}.resume__header,.resume__section{grid-template-columns:1fr}.resume__contact{text-align:left;justify-items:start}.resume__section{gap:24px}.resume__entry,.resume__work-grid{grid-template-columns:1fr}}@media print{@page{margin:12mm;size:A4}:root{--background:#fff;--foreground:#111;--muted-foreground:#444;--subtle-foreground:#666;--border:#d7d7d7}.resume-page{background:#fff;height:auto;overflow:visible}.resume-page .projects-page__header,.resume__actions{display:none}.resume{width:100%;padding:0}.resume__header{padding-bottom:18px}.resume__header h1{font-size:38px}.resume__summary{margin-top:12px;font-size:11px}.resume__section{break-inside:avoid;grid-template-columns:90px minmax(0,1fr);gap:18px;padding-block:18px}.resume__entries{gap:18px}.resume__entry{break-inside:avoid;grid-template-columns:110px minmax(0,1fr);gap:18px}.resume__entry p,.resume__work-grid p{font-size:10px;line-height:1.5}.resume__work-grid{gap:16px}a{text-decoration:none}}.content-page{--content-width:1120px}.article-page>article,.case-study,.content-page .projects-page__header,.content-page .projects-page__intro,.writing-index{width:min(var(--content-width),calc(100% - 48px));margin-inline:auto}.writing-index{border-top:1px solid var(--border)}.writing-index__item{border-bottom:1px solid var(--border);grid-template-columns:42px minmax(0,1fr) auto;gap:30px;padding:32px 0;display:grid}.writing-index__category,.writing-index__meta,.writing-index__number{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;font-size:10px}.writing-index__content h2{letter-spacing:-.035em;margin:7px 0 0;font-size:clamp(21px,2.5vw,30px);font-weight:600;line-height:1.2}.writing-index__content h2 a{transition:color .18s ease-out}.writing-index__content h2 a:hover{color:var(--accent)}.writing-index__content>p{max-width:68ch;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;margin:13px 0 0;font-size:11px;line-height:1.7}.writing-index__meta{text-align:right;white-space:nowrap;align-content:start;gap:6px;display:grid}.case-study{padding-bottom:80px}.case-study__hero{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(32px,5vw,64px);padding-block:clamp(48px,7vw,88px);display:grid}.case-study__visual{aspect-ratio:16/9;background:var(--surface);width:100%;position:relative;overflow:hidden}.case-study__visual img{object-fit:contain;object-position:center}.case-study__eyebrow,.case-study__meta,.case-study__next>span,.case-study__section h2{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;font-size:10px}.case-study__summary h1{font-family:var(--font-geist-mono),monospace;letter-spacing:-.055em;margin:14px 0 0;font-size:clamp(34px,5vw,58px);font-weight:600;line-height:1.02}.case-study__summary>p{color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;margin:22px 0 0;font-size:12px;line-height:1.75}.case-study__meta{border-top:1px solid var(--border-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;padding-top:22px;display:grid}.case-study__meta strong{color:var(--foreground);margin-bottom:5px;font-weight:500;display:block}.case-study__hero-link{border:1px solid var(--foreground);background:var(--foreground);min-height:42px;color:var(--background);font-family:var(--font-geist-mono),monospace;border-radius:2px;align-items:center;gap:8px;margin-top:24px;padding:8px 12px;font-size:10px;transition:border-color .18s ease-out,background-color .18s ease-out,color .18s ease-out,transform .18s ease-out;display:inline-flex}.case-study__hero-link:hover{border-color:var(--accent);background:var(--accent);color:var(--background);transform:translateY(-1px)}.case-study__narrative{border-bottom:1px solid var(--border)}.case-study__chapter{grid-template-columns:40px 128px minmax(0,1fr);gap:24px;padding:clamp(36px,5vw,56px) 0;display:grid}.case-study__chapter+.case-study__chapter{border-top:1px solid var(--border-soft)}.case-study__chapter h2,.case-study__chapter>span,.case-study__gallery figcaption,.case-study__gallery-header,.case-study__gallery-placeholder{font-family:var(--font-geist-mono),monospace}.case-study__chapter>span{color:var(--subtle-foreground);font-size:10px}.case-study__chapter h2{margin:0;font-size:11px;font-weight:500}.case-study__chapter p{max-width:72ch;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;margin:0;font-size:13px;line-height:1.8}.case-study__gallery{border-bottom:1px solid var(--border);padding-block:clamp(48px,7vw,80px)}.case-study__gallery-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.case-study__gallery-header>div{align-items:baseline;gap:18px;display:flex}.case-study__gallery-header p,.case-study__gallery-header span{color:var(--subtle-foreground);margin:0;font-size:10px}.case-study__gallery-header h2{margin:0;font-size:15px;font-weight:600}.case-study__gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.case-study__gallery-grid figure{margin:0}.case-study__gallery-image{aspect-ratio:16/9;background:var(--surface);width:100%;position:relative;overflow:hidden}.case-study__gallery-image img{object-fit:contain}.case-study__gallery figcaption{color:var(--subtle-foreground);margin-top:10px;font-size:10px}.case-study__gallery-placeholder{border:1px solid var(--border-soft);background:radial-gradient(circle,var(--border) .7px,transparent .8px) 0 0 /10px 10px;min-height:240px;color:var(--subtle-foreground);text-align:center;place-content:center;place-items:center;display:grid}.case-study__gallery-placeholder>span{border:1px solid var(--border);background:var(--background);place-items:center;width:56px;height:56px;font-size:12px;display:grid}.case-study__gallery-placeholder p{background:var(--background);max-width:42ch;margin:16px 24px 0;padding:4px 8px;font-size:10px}.case-study__sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;display:grid}.case-study__section{border-bottom:1px solid var(--border);padding:38px 0}.case-study__section li,.case-study__section p{color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;font-size:11px;line-height:1.75}.case-study__section ul{margin:16px 0 0;padding:0;list-style:none}.case-study__section li:before{content:"·";margin-right:8px}.case-study__section--wide{grid-column:1/-1}.case-study__actions,.case-study__next{font-family:var(--font-geist-mono),monospace;justify-content:space-between;align-items:center;gap:24px;padding-top:36px;font-size:11px;display:flex}.case-study__actions a,.case-study__next a{align-items:center;gap:7px;min-height:44px;transition:color .18s ease-out;display:inline-flex}.case-study__actions a:hover,.case-study__next a:hover{color:var(--accent)}.article-page>article{max-width:760px;padding-bottom:80px}.article-header{border-bottom:1px solid var(--border);padding-block:clamp(60px,9vw,112px) 48px}.article-header__category,.article-header__meta{color:var(--subtle-foreground);font-family:var(--font-geist-mono),monospace;font-size:10px}.article-header h1{letter-spacing:-.055em;margin:18px 0 0;font-size:clamp(38px,6vw,64px);font-weight:600;line-height:1.04}.article-header>p:not(.article-header__category){color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;margin:24px 0 0;font-size:13px;line-height:1.75}.article-header__meta{gap:18px;margin-top:24px;display:flex}.article-prose{padding-block:42px;font-size:17px;line-height:1.8}.article-prose h2{letter-spacing:-.03em;margin:48px 0 16px;font-size:26px;line-height:1.25}.article-prose p,.article-prose ul{margin:0 0 24px}.article-prose ul{padding-left:22px}.article-next{border-top:1px solid var(--border);gap:12px;padding-top:32px;display:grid}.article-next a{width:fit-content;font-size:18px;font-weight:600;transition:color .18s ease-out}.article-next a:hover{color:var(--accent)}@media (max-width:767px){.article-page>article,.case-study,.content-page .projects-page__header,.content-page .projects-page__intro,.writing-index{width:calc(100% - 40px)}.writing-index__item{grid-template-columns:28px minmax(0,1fr);gap:14px}.writing-index__meta{text-align:left;grid-column:2;grid-auto-flow:column;justify-content:start}.case-study__hero,.case-study__sections{grid-template-columns:1fr}.case-study__chapter{grid-template-columns:24px minmax(0,1fr);gap:10px 16px;padding-block:32px}.case-study__chapter p{grid-column:2;font-size:14px}.case-study__gallery-grid{grid-template-columns:1fr}.case-study__gallery-placeholder{min-height:190px}.case-study__section--wide{grid-column:auto}.article-prose{font-size:16px}}:root{--background:#f7f7f5;--surface:#fbfbfa;--surface-strong:#fff;--foreground:#181816;--muted-foreground:#666661;--subtle-foreground:#6f6f69;--border:#deded9;--border-soft:#e9e9e5;--accent:#157958;--accent-soft:#d8f3e7;--focus:#135fca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-width:320px;color:var(--foreground);font-family:var(--font-geist-sans),Arial,sans-serif;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.7;transition:background-color .18s ease-out,color .18s ease-out}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:2px}::selection{background:var(--accent-soft);color:var(--foreground)}.skip-link{z-index:100;border:1px solid var(--foreground);background:var(--surface-strong);font-family:var(--font-geist-mono),monospace;padding:8px 12px;font-size:12px;transition:transform .18s ease-out;position:fixed;top:16px;left:16px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.portfolio-shell{grid-template-columns:minmax(460px,.9fr) minmax(520px,1.1fr);min-height:100dvh;display:grid}@media (min-width:1181px){body,html{height:100%;overflow:hidden}.portfolio-shell{height:100dvh;min-height:0;position:fixed;inset:0;overflow:clip}.profile-panel,.profile-panel__content{height:100dvh;min-height:0;overflow:hidden}.profile-panel__content{position:relative}.about-panel{overscroll-behavior-y:contain;scroll-behavior:smooth;height:100dvh;overflow-y:auto}}.profile-panel{position:relative}.profile-panel__content{flex-direction:column;justify-content:center;max-width:680px;min-height:100dvh;margin-left:auto;padding:clamp(48px,5vw,80px) clamp(32px,5vw,72px);display:flex;position:sticky;top:0}.identity{margin-bottom:22px}.identity h1{font-family:var(--font-geist-mono),monospace;letter-spacing:-.04em;white-space:nowrap;margin:0;font-size:clamp(24px,1.9vw,28px);font-weight:600;line-height:1.08}.identity__title{color:var(--muted-foreground);margin:10px 0 0;font-size:13px;line-height:1.4}.profile-availability,.profile-intro{color:var(--muted-foreground);margin:0;font-size:13px;line-height:1.68}.profile-availability{margin-top:16px}.profile-links{width:100%;font-family:var(--font-geist-mono),monospace;letter-spacing:-.02em;white-space:nowrap;flex-wrap:nowrap;justify-content:space-between;gap:10px;margin-top:20px;font-size:10px;display:flex}.profile-links a{min-height:44px;color:var(--muted-foreground);align-items:center;gap:5px;transition:color .18s ease-out;display:inline-flex}.profile-links a span:last-child{transition:transform .18s ease-out}.profile-links a:hover{color:var(--foreground)}.profile-links a:hover span:last-child{transform:translate(2px,-2px)}.stats-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr .8fr 1.2fr .9fr;margin:22px 0 0;display:grid}.stat{min-width:0;padding:18px 12px 17px 0}.stat+.stat{border-left:1px solid var(--border-soft);padding-left:16px}.stat__value{white-space:nowrap;font-size:13px;font-weight:500;line-height:1.4}.stat__label,.stat__value{font-family:var(--font-geist-mono),monospace}.stat__label{text-transform:uppercase;margin:5px 0 0;font-size:10px;line-height:1.45}.profile-footer,.stat__label{color:var(--subtle-foreground)}.profile-footer{font-size:13px}.profile-footer p{max-width:180px;margin:0}.profile-footer a{min-height:44px;color:var(--foreground);font-family:var(--font-geist-mono),monospace;align-items:center;font-size:11px;font-weight:500;transition:color .18s ease-out;display:inline-flex}.profile-footer a:hover{color:var(--accent)}.profile-lower{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(150px,.8fr);gap:clamp(28px,4vw,56px);margin-top:32px;padding-top:24px;display:grid}.portfolio-navigation{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;display:grid}.portfolio-navigation a{min-height:29px;color:var(--muted-foreground);font-family:var(--font-geist-mono),monospace;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:8px;font-size:12px;transition:color .18s ease-out,transform .18s ease-out;display:grid}.portfolio-navigation a[aria-current=location]{color:var(--foreground)}.portfolio-navigation__indicator{color:var(--foreground);text-align:center;line-height:1}.portfolio-navigation a:hover{color:var(--accent);transform:translate(3px)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1180px){.portfolio-shell{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr)}.about-panel,.profile-panel__content{padding-left:36px;padding-right:36px}.profile-overview{grid-template-columns:1fr;gap:64px}.portrait{height:220px}.portrait__image{transform:translateY(28px)scale(1.2)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0;padding-left:0}.stat:nth-child(3),.stat:nth-child(4){border-top:1px solid var(--border-soft)}}@media (max-width:767px){.portfolio-shell{display:block}.profile-panel__content{min-height:100dvh;padding:40px 24px;position:relative}.profile-overview{gap:64px}.identity h1{font-size:clamp(24px,7.5vw,28px)}.profile-availability,.profile-intro{font-size:16px}.stats-grid{margin-top:36px}.profile-lower{grid-template-columns:1fr 1fr;margin-top:32px}.about-panel{justify-content:center;min-height:100dvh;padding:64px 20px}.about-card__body{padding:28px 24px 32px}.about-card__body p{font-size:14px;line-height:1.72}.section-label__note{display:none}}@media (max-width:480px){.about-card__body{margin:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}html:has(.v2-portfolio-page){background:#efede6;height:auto;overflow:hidden auto}body:has(.v2-portfolio-page){background:#efede6;min-height:100%;overflow:visible}html[data-v2-entrance=pending],html[data-v2-entrance=pending] body{overflow:hidden!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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}