:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-family-ui:"Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-family-mono:"Cascadia Mono", "Cascadia Code", Consolas, "Liberation Mono", monospace;--font-size-caption:.75rem;--font-size-label:.8125rem;--font-size-body:.9375rem;--font-size-subtitle:1rem;--font-size-title:1.3rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--line-height-tight:1.25;--line-height-body:1.55;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--radius-control:.375rem;--radius-card:.5rem;--radius-panel:.75rem;--radius-round:999px;--control-height-compact:2.25rem;--control-height-standard:2.75rem;--icon-size-compact:1.25rem;--icon-size-standard:2rem;--icon-size-desktop:3rem;--color-text-primary:#1f2933;--color-text-secondary:#53636d;--color-text-on-accent:#fff;--color-accent:#176b94;--color-accent-hover:#0e5c83;--color-focus:#075c88;--color-border-subtle:#d3dde2;--color-border:#aebdc6;--color-border-strong:#7690a0;--color-surface-base:#fff;--color-surface-card:#f8fafb;--color-surface-subtle:#edf3f6;--color-surface-chrome:#edf2f4;--color-surface-chrome-active:#f7fafb;--color-surface-panel:#fbfdfe;--color-surface-taskbar:#eef2f4;--color-surface-panel-translucent:#fbfdfee6;--color-surface-taskbar-translucent:#eef2f4e0;--color-state-hover:#e0e8ec;--color-state-pressed:#cbd9e0;--color-state-selected:#dce8ee;--color-state-disabled:#697780;--color-danger:#c42b1c;--shadow-panel:0 .75rem 2rem #0d1f2b33;--shadow-taskbar:0 -.25rem .9rem #0d1f2b1f;--shadow-window:0 1rem 2.75rem #0d1f2b3d;--shadow-window-active:0 1.25rem 3.25rem #0d1f2b4d;--terminal-text:#edf3f6;--terminal-text-muted:#c9d5db;--terminal-surface:#172027;--terminal-surface-deep:#0f161b;--terminal-surface-hover:#26343d;--terminal-border:#657984;--terminal-accent:#9ed69e;--terminal-error:#ffb4ab;--terminal-focus:#9dcce3}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-text-primary:#f3f7f9;--color-text-secondary:#bac8cf;--color-text-on-accent:#fff;--color-accent:#65b6df;--color-accent-hover:#8bc9e8;--color-focus:#8bd1f4;--color-border-subtle:#384b56;--color-border:#536975;--color-border-strong:#718792;--color-surface-base:#202b32;--color-surface-card:#26343c;--color-surface-subtle:#2d3b43;--color-surface-chrome:#26343c;--color-surface-chrome-active:#2d3b43;--color-surface-panel:#26343c;--color-surface-taskbar:#202b32;--color-surface-panel-translucent:#26343ceb;--color-surface-taskbar-translucent:#202b32e6;--color-state-hover:#374851;--color-state-pressed:#465a65;--color-state-selected:#314f5f;--color-state-disabled:#98a7ae;--color-danger:#d94a3a}}:root{--motion-duration-fast:.14s;--motion-easing-standard:ease;--motion-distance-small:.5rem}@media (prefers-reduced-motion:reduce){:root{--motion-duration-fast:0s;--motion-distance-small:0rem}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}:root{--material-border:var(--color-border);--material-border-strong:var(--color-border-strong);--material-control:var(--color-surface-base);--material-surface-chrome:var(--color-surface-chrome);--material-surface-chrome-active:var(--color-surface-chrome-active);--material-surface-panel:var(--color-surface-panel);--material-surface-subtle:var(--color-surface-subtle);--material-surface-taskbar:var(--color-surface-taskbar);--material-surface-window:var(--color-surface-base);--material-filter-elevated:none;--material-shadow-panel:var(--shadow-panel);--material-shadow-taskbar:var(--shadow-taskbar);--material-shadow-window:var(--shadow-window)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--material-surface-panel:var(--color-surface-panel-translucent);--material-surface-taskbar:var(--color-surface-taskbar-translucent);--material-filter-elevated:blur(.75rem) saturate(115%)}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active){:root{--material-surface-panel:var(--color-surface-panel);--material-surface-taskbar:var(--color-surface-taskbar);--material-filter-elevated:none;--material-shadow-panel:none;--material-shadow-taskbar:none;--material-shadow-window:none}}:root{font-family:var(--font-family-ui);font-size:100%;font-weight:var(--font-weight-regular);line-height:var(--line-height-body);color:var(--color-text-primary);background:var(--color-surface-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;height:100%;margin:0;overflow:hidden}.portfolio-about{width:100%;max-width:none;color:var(--color-text-primary);gap:clamp(1.5rem,5vw,3rem);display:grid}.portfolio-about__profile{align-items:center;gap:1rem;min-width:0;padding:.5rem 0;display:flex}.portfolio-about__avatar{aspect-ratio:1;border:1px solid var(--color-border-subtle);background:var(--color-surface-panel);border-radius:50%;flex:0 0 clamp(5rem,16vw,7rem);place-items:center;width:clamp(5rem,16vw,7rem);display:grid;position:relative;overflow:hidden}.portfolio-about__avatar-head,.portfolio-about__avatar-body{background:var(--color-state-disabled);display:block;position:absolute}.portfolio-about__avatar-head{aspect-ratio:1;border-radius:50%;width:31%;top:21%}.portfolio-about__avatar-body{border-radius:50% 50% 42% 42%;width:52%;height:27%;bottom:20%}.portfolio-about__identity{min-width:0}.portfolio-about__identity h3{font-size:clamp(1.15rem,3vw,1.5rem);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);overflow-wrap:anywhere;margin:0 0 .2rem}.portfolio-about__identity a{color:inherit;overflow-wrap:anywhere;text-underline-offset:.2em;text-decoration-color:#0000}.portfolio-about__identity a:hover{text-decoration-color:currentColor}.portfolio-about__identity a:focus-visible,.portfolio-about__disclosure summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.portfolio-about__sections{gap:.45rem;min-width:0;display:grid}.portfolio-about__disclosure{border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-surface-card);overflow:clip}.portfolio-about__disclosure summary{cursor:pointer;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.9rem;min-height:4.75rem;padding:.8rem 1rem;list-style:none;display:grid}.portfolio-about__disclosure summary::-webkit-details-marker{display:none}.portfolio-about__disclosure summary:hover{background:var(--color-state-hover)}.portfolio-about__disclosure-icon{aspect-ratio:1;width:2.25rem;color:var(--color-text-on-accent);background:linear-gradient(145deg, var(--color-accent), #7659c8);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.03em;border-radius:.45rem;place-items:center;display:grid}.portfolio-about__disclosure-copy{gap:.1rem;min-width:0;display:grid}.portfolio-about__disclosure-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-medium)}.portfolio-about__disclosure-description{color:var(--color-text-secondary);font-size:var(--font-size-label);line-height:1.35}.portfolio-about__disclosure-chevron{width:.6rem;height:.6rem;transition:transform var(--motion-duration-fast) var(--motion-easing-standard);border-bottom:1.5px solid;border-right:1.5px solid;margin:0 .25rem .25rem .75rem;transform:rotate(45deg)}.portfolio-about__disclosure[open] .portfolio-about__disclosure-chevron{transform:rotate(225deg)}.portfolio-about__disclosure-panel{border-top:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);padding:1rem 1rem 1.15rem 4.4rem}.portfolio-about__disclosure-panel ul,.portfolio-about__disclosure-panel p{margin:0}.portfolio-about__disclosure-panel ul{gap:.5rem;padding-left:1.15rem;display:grid}.portfolio-about__visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=36rem){.portfolio-about{gap:1.25rem}.portfolio-about__profile{align-items:flex-start}.portfolio-about__disclosure summary{grid-template-columns:2.25rem minmax(0,1fr) auto;gap:.7rem;padding-inline:.75rem}.portfolio-about__disclosure-panel{padding:.9rem .9rem 1rem}}@media (prefers-reduced-motion:reduce){.portfolio-about__disclosure-chevron{transition:none}}@media (forced-colors:active){.portfolio-about__disclosure-icon{border:1px solid buttontext}}.app-content{max-width:62ch;color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);overflow-wrap:anywhere}.app-content :is(h3,h4,h5,h6){font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:-.01em}.app-content h3{font-size:var(--font-size-title);margin:0 0 .5rem}.app-content h4{font-size:var(--font-size-subtitle);margin:0 0 .375rem}.app-content p,.app-content ul,.app-content dl{margin-top:0}.app-content ul{padding-left:1.25rem}.app-content__notice{border-left:3px solid var(--color-accent);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--color-surface-subtle);font-weight:var(--font-weight-medium);padding:.625rem .75rem}.app-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}.app-icon__accent{fill:var(--app-icon-accent,currentColor);stroke:none;opacity:.2}.app-navigation{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-card);min-width:0;padding:.625rem .75rem}.app-navigation__list{flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;list-style:none;display:flex}.app-navigation__link,.app-navigation__back-link{color:var(--color-accent);text-underline-offset:.15em}.app-navigation__link:focus-visible,.app-navigation__back-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.app-navigation__back{text-align:right;margin-bottom:0}@media (forced-colors:active){.app-navigation__link:focus-visible,.app-navigation__back-link:focus-visible{outline-color:highlight}}.games{gap:1rem;width:100%;max-width:none;display:grid}.games>h3{margin:0;font-size:clamp(1.25rem,3vw,1.65rem)}.games__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));grid-auto-rows:1fr;gap:1rem;min-width:0;margin:0;padding:0;list-style:none;display:grid}.games__card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-card);grid-template-rows:50% 50%;min-width:0;height:22rem;display:grid;overflow:hidden;box-shadow:0 .45rem 1.1rem #0d1f2b1f}.games__thumbnail{background:var(--color-surface-subtle);min-width:0;min-height:0;overflow:hidden}.games__thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.games__card-body{flex-direction:column;align-items:flex-start;gap:.55rem;min-width:0;min-height:0;padding:1rem;display:flex;overflow:auto}.games__card-body h4,.games__card-body p{margin:0}.games__card-body h4{font-size:var(--font-size-subtitle);line-height:var(--line-height-tight);overflow-wrap:anywhere}.games__card-body p{color:var(--color-text-secondary);overflow-wrap:anywhere;line-height:1.4}.games__card-body button{min-width:5rem;min-height:var(--control-height-compact);border:1px solid var(--color-accent);border-radius:var(--radius-control);color:var(--color-text-on-accent);background:var(--color-accent);font:inherit;font-weight:var(--font-weight-medium);cursor:pointer;margin-top:auto;padding:.4rem 1rem}.games__card-body button:hover:not(:disabled){background:var(--color-accent-hover)}.games__card-body button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.games__card-body button:disabled{border-color:var(--color-border);color:var(--color-state-disabled);background:var(--color-surface-subtle);cursor:not-allowed}.games__empty{color:var(--color-text-secondary);margin:0}@media (width<=36rem){.games__card{height:20rem}}@media (forced-colors:active){.games__card-body button,.games__card-body button:disabled{color:buttontext;background:buttonface;border-color:buttontext}}.window-frame{top:var(--window-top);left:var(--window-left);width:min(var(--window-width), calc(100% - 4rem));height:min(var(--window-height), calc(100% - 4rem));border:1px solid var(--color-border);border-radius:var(--radius-panel);min-width:0;min-height:0;color:var(--color-text-primary);background:var(--material-surface-window);box-shadow:var(--material-shadow-window,var(--shadow-window));opacity:1;visibility:visible;transition:opacity var(--motion-duration-fast) var(--motion-easing-standard), transform var(--motion-duration-fast) var(--motion-easing-standard), top var(--motion-duration-fast) var(--motion-easing-standard), left var(--motion-duration-fast) var(--motion-easing-standard), width var(--motion-duration-fast) var(--motion-easing-standard), height var(--motion-duration-fast) var(--motion-easing-standard), visibility 0s linear 0s;grid-template-rows:auto minmax(0,1fr);display:grid;position:absolute;overflow:hidden;transform:translateY(0)scale(1)}@starting-style{.window-frame{opacity:0;transform:translateY(var(--motion-distance-small)) scale(.98)}}.window-frame[data-minimized=true]{pointer-events:none;opacity:0;transform:translateY(var(--motion-distance-small)) scale(.98);visibility:hidden;transition-delay:0s, 0s, 0s, 0s, 0s, 0s, var(--motion-duration-fast)}.window-frame[data-dragging=true]{transition:none}.window-frame--active{border-color:var(--color-border-strong);box-shadow:var(--shadow-window-active), 0 0 0 1px #ffffff8c inset}.window-frame:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.window-frame--maximized{border-width:0;border-radius:0;width:100%;height:100%;top:0;left:0}.window-frame__titlebar{border-bottom:1px solid var(--color-border-subtle);background:var(--material-surface-chrome);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;min-width:0;min-height:2.875rem;padding:0 0 0 .875rem;display:flex}.window-frame--active .window-frame__titlebar{background:var(--material-surface-chrome-active)}.window-frame__titlebar--dragging{cursor:grabbing}.window-frame--maximized .window-frame__titlebar{cursor:default;touch-action:auto}.window-frame__controls{flex:none;align-self:stretch;gap:0;display:flex}.window-frame__identity{align-items:center;gap:.55rem;min-width:0;display:flex}.window-frame__app-icon{width:1.25rem;height:1.25rem;color:var(--color-accent);--app-icon-accent:var(--color-accent);flex:0 0 1.25rem;place-items:center;line-height:1;display:grid}.window-frame__titlebar h2{color:var(--color-text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.25;overflow:hidden}.window-frame--active .window-frame__titlebar h2{color:var(--color-text-primary)}.window-frame__titlebar button{width:2.875rem;height:100%;color:var(--color-text-primary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;flex:none;place-items:center;padding:0;font-size:1rem;line-height:1;display:inline-grid}.window-frame__titlebar button:hover{background:var(--color-state-hover)}.window-frame__titlebar button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-3px}.window-frame__titlebar button:active{background:var(--color-state-pressed)}.window-frame__titlebar button[data-window-control=close]:hover,.window-frame__titlebar button[data-window-control=close]:active{color:var(--color-text-on-accent);background:var(--color-danger)}@media (forced-colors:active){.window-frame:focus-visible,.window-frame__titlebar button:hover,.window-frame__titlebar button:active{color:highlighttext;background:highlight;border-color:highlight}.window-frame__titlebar button:focus-visible{outline-color:highlight}}.window-frame__content{min-width:0;min-height:0;padding:1.25rem;overflow:auto}.window-frame__content>:first-child{margin-top:0}.window-frame__content>:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){.window-frame,.window-frame[data-dragging=true]{transition:none;transform:none}}@media (width<=40rem){.window-frame{width:100%;height:100%;top:0;left:0}.window-frame__titlebar,.window-frame__titlebar--dragging{cursor:default;touch-action:auto}}.window-frame__content--pong{background:#101b24;padding:.875rem;overflow:hidden}.pong-app{color:#e8f1f6;grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem;width:100%;min-width:0;height:100%;min-height:0;display:grid}.pong-app__scoreboard{text-align:center;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem;display:grid}.pong-app__scoreboard>div{gap:.1rem;display:grid}.pong-app__scoreboard>div:first-child{justify-self:end}.pong-app__scoreboard>div:last-child{justify-self:start}.pong-app__scoreboard span,.pong-app__scoreboard p,.pong-app__shortcut-help{color:#9fb3bf;font-size:var(--font-size-caption);letter-spacing:.08em;text-transform:uppercase}.pong-app__scoreboard strong{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1}.pong-app__scoreboard p,.pong-app__controls p{margin:0}.pong-app__stage{border-radius:var(--radius-panel);background:#09131c;border:1px solid #8eb1c573;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 .75rem 2rem #00000047,inset 0 0 2rem #4191bb14}.pong-app__canvas{object-fit:contain;width:100%;height:100%;display:block}.pong-app__overlay{text-align:center;background:#060e15c7;place-content:center;justify-items:center;padding:1rem;display:grid;position:absolute;inset:0}.pong-app__overlay h3{letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:clamp(1.75rem,5vw,3rem)}.pong-app__overlay p{color:#c2d0d8;margin:.15rem 0}.pong-app button{min-height:var(--control-height-standard);border-radius:var(--radius-control);color:#f4fbff;font:inherit;font-weight:var(--font-weight-medium);cursor:pointer;background:#17668d;border:1px solid #78c9ef;padding:.45rem 1rem}.pong-app button:hover{background:#1e7aa5}.pong-app button:focus-visible{outline-offset:2px;outline:2px solid #b9e7ff}.pong-app__overlay button{margin-top:1rem}.pong-app__controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem 1rem;display:grid}.pong-app__controls>div{flex-wrap:wrap;gap:.5rem;display:flex}.pong-app__status{color:#d4e3eb;min-width:0}.pong-app__shortcut-help{text-transform:none;grid-column:1/-1}@media (width<=40rem){.window-frame__content--pong{padding:.625rem}.pong-app{gap:.5rem}.pong-app__controls{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.pong-app *,.pong-app :before,.pong-app :after{scroll-behavior:auto;transition:none}}@media (forced-colors:active){.pong-app__stage,.pong-app button{border-color:canvastext}.pong-app button{color:buttontext;background:buttonface}}.window-frame__content--tic-tac-toe{background:#101b24;padding:.875rem;overflow:auto}.tic-tac-toe-app{color:#e8f1f6;grid-template-rows:auto auto minmax(0,1fr) auto;gap:.75rem;width:100%;min-width:0;max-width:42rem;min-height:100%;margin-inline:auto;display:grid}.tic-tac-toe-app__scoreboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:100%;max-width:26rem;margin-inline:auto;display:grid}.tic-tac-toe-app__scoreboard>div{border-radius:var(--radius-control);background:#152631;border:1px solid #8eb1c559;grid-template-columns:1fr auto;align-items:center;padding:.55rem .7rem;display:grid}.tic-tac-toe-app__scoreboard span{color:#9fb3bf;font-size:var(--font-size-caption);letter-spacing:.08em;grid-column:1/-1}.tic-tac-toe-app__scoreboard strong{font-size:clamp(1.25rem,3vw,1.7rem);line-height:1}.tic-tac-toe-app__scoreboard small{font-size:1rem;font-weight:var(--font-weight-semibold)}.tic-tac-toe-app__player-score small{color:#6dc9f4}.tic-tac-toe-app__computer-score small{color:#7ed6a5}.tic-tac-toe-app__status{color:#dceaf1;min-height:1.5rem;font-size:var(--font-size-subtitle);font-weight:var(--font-weight-medium);text-align:center;margin:0}.tic-tac-toe-app__board-wrap{place-items:center;min-width:0;min-height:0;display:grid}.tic-tac-toe-app__board{aspect-ratio:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:min(100%,26rem,100dvh - 17rem);display:grid}.tic-tac-toe-app__gridcell{aspect-ratio:1;min-width:0}.tic-tac-toe-app__board button{border-radius:var(--radius-control);color:#e8f1f6;width:100%;min-width:0;height:100%;font:inherit;cursor:pointer;touch-action:manipulation;background:#152631;border:1px solid #8eb1c573;place-items:center;padding:0;display:grid}.tic-tac-toe-app__board button:hover:not(:disabled){background:#1c3341;border-color:#6dc9f4}.tic-tac-toe-app__board button:focus-visible,.tic-tac-toe-app__controls button:focus-visible{outline-offset:2px;outline:2px solid #b9e7ff}.tic-tac-toe-app__board button:disabled{opacity:1;cursor:default}.tic-tac-toe-app__board button span{font-size:clamp(2.25rem,9vw,4.75rem);font-weight:var(--font-weight-semibold);line-height:1}.tic-tac-toe-app__board button[data-mark=X]{color:#6dc9f4}.tic-tac-toe-app__board button[data-mark=O]{color:#7ed6a5}.tic-tac-toe-app__board .tic-tac-toe-app__cell--winning{background:#214334;border-color:#d8f6e5;box-shadow:0 0 .85rem #7ed6a538}.tic-tac-toe-app__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tic-tac-toe-app__controls p{color:#9fb3bf;font-size:var(--font-size-label);margin:0}.tic-tac-toe-app__controls button{min-height:var(--control-height-standard);border-radius:var(--radius-control);color:#f4fbff;font:inherit;font-weight:var(--font-weight-medium);cursor:pointer;background:#17668d;border:1px solid #78c9ef;padding:.45rem 1rem}.tic-tac-toe-app__controls button:hover{background:#1e7aa5}@media (width<=36rem){.window-frame__content--tic-tac-toe{padding:.625rem}.tic-tac-toe-app,.tic-tac-toe-app__board{gap:.4rem}.tic-tac-toe-app__controls{flex-direction:column;align-items:stretch}}@media (forced-colors:active){.tic-tac-toe-app__scoreboard>div,.tic-tac-toe-app__board button,.tic-tac-toe-app__controls button{border-color:canvastext}.tic-tac-toe-app__board .tic-tac-toe-app__cell--winning{box-shadow:none;border-color:highlight}}.portfolio-projects-app{max-width:none;container:project-presentation/inline-size}.project-explorer{grid-template-columns:minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.project-explorer__route-status{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-surface-card);grid-column:1/-1;margin:0;padding:.5rem}.project-explorer__navigation,.portfolio-project{min-width:0}.project-explorer__navigation h4{margin-top:0;margin-bottom:.75rem}.project-explorer__list{gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.project-explorer__button{width:100%;min-width:0;min-height:var(--control-height-standard);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-surface-base);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation;gap:.25rem;padding:.5rem;display:grid}.project-explorer__button:hover{background:var(--color-state-hover)}.project-explorer__button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-state-selected)}.project-explorer__button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.project-explorer__status{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.portfolio-project{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-card);max-width:100%;padding:clamp(.625rem,3cqi,1rem)}.portfolio-project--featured{border-width:2px;border-color:var(--color-accent);background:var(--color-surface-subtle)}.portfolio-project__media{border:1px dashed var(--color-border);border-radius:var(--radius-control);min-height:5rem;color:var(--color-text-secondary);background:var(--color-surface-subtle);text-align:center;place-items:center;margin-bottom:.75rem;display:grid}.portfolio-project__media img{object-fit:cover;width:100%;max-height:min(12rem,35dvh);display:block}.portfolio-project h4{overflow-wrap:anywhere}.portfolio-project p,.portfolio-project ul{margin-bottom:0}.portfolio-project__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.portfolio-project__details-button,.portfolio-project__site-link,.project-detail__back{width:100%;min-height:var(--control-height-standard);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-surface-base);font:inherit;cursor:pointer;touch-action:manipulation;padding:.45rem .65rem}.portfolio-project__details-button:hover,.portfolio-project__site-link:hover,.project-detail__back:hover{background:var(--color-state-selected)}.portfolio-project__details-button:focus-visible,.portfolio-project__site-link:focus-visible,.project-detail__back:focus-visible,.project-detail h4:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.portfolio-project__site-link{color:var(--color-accent);text-align:center;justify-content:center;align-items:center;margin-inline-start:auto;text-decoration:none;display:inline-flex}.project-detail__back{margin-top:1rem}.project-detail{overflow-wrap:anywhere;min-width:0}.project-detail>h4{margin-top:1rem;margin-bottom:.75rem}.project-detail>.project-detail__disclosure{margin-top:1rem}.project-detail>.project-detail__disclosure+.project-detail__disclosure,.project-case-study-layout{margin-top:.45rem}.project-detail__disclosure{border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);background:var(--color-surface-card);min-width:0;overflow:clip}.project-detail__disclosure summary{cursor:pointer;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.9rem;min-height:4.75rem;padding:.8rem 1rem;list-style:none;display:grid}.project-detail__disclosure summary::-webkit-details-marker{display:none}.project-detail__disclosure summary:hover{background:var(--color-state-hover)}.project-detail__disclosure summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:-3px}.project-detail__disclosure-icon{aspect-ratio:1;width:2.25rem;color:var(--color-text-on-accent);background:linear-gradient(145deg, var(--color-accent), #7659c8);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.03em;border-radius:.45rem;place-items:center;display:grid}.project-detail__disclosure-copy{gap:.1rem;min-width:0;display:grid}.project-detail__disclosure-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-medium)}.project-detail__disclosure-description{color:var(--color-text-secondary);font-size:var(--font-size-label);line-height:1.35}.project-detail__disclosure-chevron{width:.6rem;height:.6rem;transition:transform var(--motion-duration-fast) var(--motion-easing-standard);border-bottom:1.5px solid;border-right:1.5px solid;margin:0 .25rem .25rem .75rem;transform:rotate(45deg)}.project-detail__disclosure[open] .project-detail__disclosure-chevron{transform:rotate(225deg)}.project-detail__disclosure-panel{border-top:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);padding:1rem 1rem 1.15rem 4.4rem}.project-detail__disclosure-panel>.project-detail__section{margin-top:0}.project-detail__disclosure-panel>.project-detail__section>h5{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-detail__section{margin-top:1rem}.project-detail__section h5{margin:0}.project-detail__section p,.project-detail__section ul{margin-top:.5rem}.project-case-study-layout,.project-case-study__support,.project-case-study__sections{gap:clamp(.75rem,3cqi,1rem);min-width:0;display:grid}.project-case-study__support>.project-detail__section{min-width:0;margin-top:0}.project-case-study__support>.project-detail__disclosure{min-width:0}.project-technology-list{gap:.4rem;margin:.5rem 0 0;padding-left:1.5rem;list-style:outside;display:grid}.project-technology-list li{padding-left:.2rem}.project-technology-list li::marker{color:var(--color-accent)}.portfolio-project__status,.portfolio-projects-app__empty{color:var(--color-text-secondary);font-style:italic}.portfolio-project__links{margin-top:1rem}.portfolio-project__links ul{grid-template-columns:minmax(0,1fr);gap:.5rem .75rem;margin:0;padding:0;list-style:none;display:grid}.portfolio-project__links a{width:100%;min-height:var(--control-height-standard);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-accent);background:var(--color-surface-base);overflow-wrap:anywhere;touch-action:manipulation;padding:.35rem .5rem;text-decoration:none;display:inline-block}.portfolio-project__links a:hover{background:var(--color-state-selected)}.portfolio-project__links a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.portfolio-project__invalid-link{max-width:100%;color:var(--color-text-secondary);overflow-wrap:anywhere;font-style:italic;display:block}@container project-presentation (width>=34rem){.project-explorer{grid-template-columns:minmax(10rem,.45fr) minmax(0,1fr)}.portfolio-project__details-button,.portfolio-project__site-link,.project-detail__back,.portfolio-project__links a{width:auto}.portfolio-project__links ul{flex-wrap:wrap;display:flex}}@media (width<=36rem){.project-detail__disclosure summary{grid-template-columns:2.25rem minmax(0,1fr) auto;gap:.7rem;padding-inline:.75rem}.project-detail__disclosure-panel{padding:.9rem .9rem 1rem}}@media (prefers-reduced-motion:reduce){.project-detail__disclosure-chevron{transition:none}}@media (forced-colors:active){.project-explorer__button:hover,.project-explorer__button[aria-pressed=true]{color:highlighttext;background:highlight;border-color:highlight}.project-explorer__button:focus-visible{outline-color:highlight}.portfolio-project__details-button,.portfolio-project__site-link,.project-detail__back{color:buttontext;background:buttonface;border-color:buttontext}.project-detail__disclosure-icon{border:1px solid buttontext}.portfolio-project__links a{color:linktext;background:canvas;border-color:linktext}}.portfolio-resume{gap:1.25rem;width:100%;max-width:none;display:grid}.portfolio-resume>h3{font-size:clamp(1.65rem,4vw,2.25rem);line-height:var(--line-height-tight);margin:0}.portfolio-resume>h3+p{color:var(--color-text-secondary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-medium);margin:-.85rem 0 0}.portfolio-resume__contact{font-style:normal}.portfolio-resume__contact ul{flex-wrap:wrap;gap:.4rem 1rem;margin:0;padding:0;list-style:none;display:flex}.portfolio-resume__contact li{color:var(--color-text-secondary);overflow-wrap:anywhere}.portfolio-resume__contact a{color:var(--color-accent);text-underline-offset:.18em}.portfolio-resume__contact a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.portfolio-resume__section{min-width:0;padding-top:.25rem}.portfolio-resume__section>h4{border-bottom:1px solid var(--color-border-subtle);font-size:var(--font-size-title);margin:0 0 .8rem;padding-bottom:.45rem}.portfolio-resume__section>p,.portfolio-resume__entry p,.portfolio-resume__entry ul,.portfolio-resume__project p{margin-bottom:0}.portfolio-resume__skill-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.75rem;display:grid}.portfolio-resume__skill-group,.portfolio-resume__entry{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-card);min-width:0;padding:.9rem}.portfolio-resume__skill-group h5,.portfolio-resume__entry h5{font-size:var(--font-size-subtitle);line-height:var(--line-height-tight);margin:0 0 .5rem}.portfolio-resume__skills{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.portfolio-resume__skills li{border:1px solid var(--color-border-subtle);border-radius:var(--radius-round);background:var(--color-surface-subtle);font-size:var(--font-size-label);padding:.22rem .55rem}.portfolio-resume__entries{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.portfolio-resume__timeline>li{border-left:2px solid var(--color-border);padding-left:1rem;position:relative}.portfolio-resume__timeline>li:before{border:2px solid var(--color-surface-base);background:var(--color-accent);content:"";border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:1rem;left:-.38rem}.portfolio-resume__organization{font-weight:var(--font-weight-semibold)}.portfolio-resume__meta{color:var(--color-text-secondary);font-size:var(--font-size-label);flex-wrap:wrap;gap:.25rem 1rem;display:flex}.portfolio-resume__highlights{gap:.45rem;padding-left:1.15rem;display:grid}.portfolio-resume__empty{color:var(--color-text-secondary);font-style:italic}.portfolio-resume__back{margin-bottom:0}@media (width<=36rem){.portfolio-resume{gap:1rem}.portfolio-resume__contact ul{gap:.3rem;display:grid}.portfolio-resume__timeline>li{padding-left:.7rem}}@media print{@page{margin:16mm}body:has(.window-frame:not([hidden]) .portfolio-resume){color:#000;background:#fff;height:auto;overflow:visible}body:has(.window-frame:not([hidden]) .portfolio-resume) .desktop-shell{color:#000;background:#fff;height:auto;overflow:visible}body:has(.window-frame:not([hidden]) .portfolio-resume) .desktop-shell{display:block}body:has(.window-frame:not([hidden]) .portfolio-resume) .desktop-shell__desktop{padding:0;position:static;overflow:visible}.portfolio-resume .app-navigation,.portfolio-resume__back{display:none}body:has(.window-frame:not([hidden]) .portfolio-resume) .desktop-shell__taskbar{display:none}body:has(.window-frame:not([hidden]) .portfolio-resume) .window-frame:not(:has(.portfolio-resume)){display:none}body:has(.window-frame:not([hidden]) .portfolio-resume) .window-frame:has(.portfolio-resume) .window-frame__titlebar{display:none}body:has(.window-frame:not([hidden]) .portfolio-resume) .window-frame:has(.portfolio-resume){border:0;width:auto;height:auto;display:block;position:static;overflow:visible}body:has(.window-frame:not([hidden]) .portfolio-resume) .window-frame:has(.portfolio-resume) .window-frame__content{padding:0;overflow:visible}.portfolio-resume{color:#000;max-width:none}.portfolio-resume__skill-group,.portfolio-resume__entry{break-inside:avoid;color:#000;background:#fff}}.window-frame__content--terminal{background:#000;padding:0;overflow:hidden}.terminal-app{box-sizing:border-box;color:#f2f2f2;width:100%;min-width:0;max-width:none;min-height:100%;font-family:var(--font-family-mono);font-size:var(--font-size-body);background:#000;flex-direction:column;padding:.75rem;line-height:1.35;display:flex}.terminal-app__startup{flex:none}.terminal-app__startup p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.terminal-app__startup p:nth-child(3){margin-top:1rem}.terminal-app__history{overscroll-behavior:contain;scrollbar-gutter:stable;background:#000;border:0;flex:0 auto;min-width:0;min-height:0;max-height:min(27rem,58dvh);margin-top:1rem;padding:0;overflow:hidden auto}.terminal-app__entries{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.terminal-app__entry{white-space:pre-wrap;overflow-wrap:anywhere;gap:.5rem;min-width:0;display:flex}.terminal-app__entry--output{color:#d8d8d8}.terminal-app__entry--error{color:#ff8f87}.terminal-app__prompt{color:#f2f2f2;font-weight:var(--font-weight-regular);flex:none}.terminal-app__form{align-items:center;gap:.45rem;min-width:0;margin-top:.3rem;display:flex}.terminal-app__form input{color:#f2f2f2;caret-color:#f2f2f2;width:100%;min-width:0;min-height:1.65rem;font:inherit;background:#000;border:0;border-radius:0;padding:0}.terminal-app__form input:focus-visible,.terminal-app__history:focus-visible{outline-offset:2px;outline:1px solid #a8a8a8}.terminal-app__visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=30rem){.terminal-app{padding:.625rem}.terminal-app__history{scrollbar-gutter:auto;max-height:52dvh}}@media (forced-colors:active){.window-frame__content--terminal,.terminal-app,.terminal-app__history,.terminal-app__form input{color:canvastext;background:canvas}.terminal-app__prompt{color:canvastext}.terminal-app__form input:focus-visible,.terminal-app__history:focus-visible{outline-color:highlight}}.portfolio-settings{gap:1rem;max-width:none;display:grid}.portfolio-settings>h3,.portfolio-settings>p,.portfolio-settings__page-heading>p,.portfolio-settings__page-heading>h4{margin-bottom:0}.portfolio-settings__layout{grid-template-columns:minmax(11rem,.34fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.portfolio-settings__navigation,.portfolio-settings__personalization{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-card);min-width:0;padding:1rem}.portfolio-settings__navigation ul{gap:.375rem;margin:0;padding:0;list-style:none;display:grid}.portfolio-settings__navigation-item{width:100%;min-height:var(--control-height-standard);color:var(--color-text-primary);font:inherit;text-align:left;border-radius:var(--radius-control);background:0 0;border:1px solid #0000;padding:.625rem .75rem;text-decoration:none;display:grid}.portfolio-settings__navigation-item small{color:var(--color-text-secondary)}.portfolio-settings__navigation-item[aria-current=page]{border-color:var(--color-border);background:var(--color-state-selected)}.portfolio-settings__navigation-item[aria-current=page]:hover{background:var(--color-state-hover)}.portfolio-settings__navigation-item:disabled{color:var(--color-state-disabled);cursor:not-allowed}.portfolio-settings__page-heading{gap:.25rem;margin-bottom:1rem;display:grid}.portfolio-settings__page-heading>p:first-child{color:var(--color-accent);font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em}.portfolio-settings__wallpaper-fieldset{border:0;min-width:0;margin:0;padding:0}.portfolio-settings__wallpaper-fieldset legend{font-weight:var(--font-weight-semibold);margin-bottom:.625rem}.portfolio-settings__wallpaper-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.portfolio-settings__wallpaper{border-radius:var(--radius-card);background:var(--color-surface-base);cursor:pointer;border:2px solid #0000;align-content:start;min-width:0;display:grid;position:relative;overflow:hidden}.portfolio-settings__wallpaper:hover{background:var(--color-state-hover)}.portfolio-settings__wallpaper--selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-surface-base)}.portfolio-settings__wallpaper input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.portfolio-settings__wallpaper:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.portfolio-settings__wallpaper img{aspect-ratio:16/9;object-fit:cover;background:var(--color-surface-subtle);width:100%;display:block}.portfolio-settings__wallpaper-copy{gap:.125rem;padding:.625rem;display:grid}.portfolio-settings__wallpaper-copy small{color:var(--color-text-secondary);line-height:1.35}.portfolio-settings__selected-indicator{width:1.5rem;height:1.5rem;color:var(--color-text-on-accent);border:2px solid var(--color-surface-base);border-radius:var(--radius-round);background:var(--color-accent);opacity:0;place-items:center;display:grid;position:absolute;top:.5rem;right:.5rem}.portfolio-settings__wallpaper--selected .portfolio-settings__selected-indicator{opacity:1}@media (width<=48rem){.portfolio-settings__layout{grid-template-columns:1fr}.portfolio-settings__navigation ul,.portfolio-settings__wallpaper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=30rem){.portfolio-settings__navigation ul,.portfolio-settings__wallpaper-grid{grid-template-columns:1fr}}@media (forced-colors:active){.portfolio-settings__wallpaper--selected{border-color:highlight}}.desktop-icon{min-width:0;min-height:5.75rem;padding:var(--space-2) var(--space-1);gap:var(--space-1);border-radius:var(--radius-card);color:#f7fbfd;font:inherit;text-align:center;cursor:pointer;transition:border-color var(--motion-duration-fast) var(--motion-easing-standard), background-color var(--motion-duration-fast) var(--motion-easing-standard), transform var(--motion-duration-fast) var(--motion-easing-standard);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.desktop-icon:not(:disabled):hover{border-color:var(--desktop-icon-border,#ffffff6b);background:var(--desktop-icon-hover,#ffffff24)}.desktop-icon:focus{border-color:var(--desktop-icon-border,#ffffff6b);background:var(--desktop-icon-active,#fff3)}.desktop-icon:focus-visible{outline:3px solid var(--desktop-focus,var(--color-focus));outline-offset:2px}.desktop-icon:not(:disabled):active{background:var(--desktop-icon-active,#fff3);transform:scale(.98)}.desktop-icon:disabled{opacity:.55;cursor:not-allowed}.desktop-icon__image{width:var(--icon-size-desktop);height:var(--icon-size-desktop);--app-icon-accent:#52b6df;filter:drop-shadow(0 .125rem .18rem #06161f73);background:0 0;border:0;place-items:center;line-height:1;display:grid}.desktop-icon__label{border-radius:var(--radius-control);color:#fff;max-width:100%;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);text-shadow:0 1px 2px #000000b8;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;background:#091b2547;padding:.1rem .35rem}@media (prefers-reduced-motion:reduce){.desktop-icon{transition:none}.desktop-icon:not(:disabled):active{transform:none}}@media (forced-colors:active){.desktop-icon:not(:disabled):hover,.desktop-icon:focus,.desktop-icon:not(:disabled):active{color:highlighttext;background:highlight;border-color:highlight}.desktop-icon:focus-visible{outline-color:highlight}.desktop-icon__label{color:buttontext;background:buttonface;border-color:buttontext}.desktop-icon__image{color:buttontext;filter:none}.desktop-icon:disabled{color:graytext;opacity:1;border-color:graytext}}.desktop-icons{grid-template-columns:minmax(6.5rem,7.5rem);place-content:start;align-items:start;gap:.75rem;width:100%;display:grid}@media (width<=40rem){.desktop-icons{grid-template-columns:repeat(auto-fit,minmax(min(6rem,100%),1fr));gap:.5rem}}.desktop-shell{--taskbar-height:3.25rem;grid-template-rows:minmax(0, 1fr) var(--taskbar-height);width:100%;min-width:0;height:100dvh;min-height:0;color:var(--color-text-primary);background:var(--color-surface-base);display:grid;overflow:hidden}.desktop-shell__desktop{scrollbar-width:none;min-width:0;min-height:0;padding:1.25rem;position:relative;overflow:auto}.desktop-shell__desktop::-webkit-scrollbar{display:none}.desktop-shell__taskbar{z-index:1;min-width:0;position:relative;overflow:visible}@media (width<=40rem){.desktop-shell__desktop{padding:1rem}}.desktop-shell{--desktop-background:#dbe8ef;--desktop-foreground:#17242d;--desktop-focus:#075c88;--desktop-icon-border:#506f808c;--desktop-icon-hover:#ffffff9e;--desktop-icon-active:#c6dce7d9}.desktop-shell__desktop{color:var(--desktop-foreground);background-color:var(--desktop-background);background-position:50%;background-repeat:no-repeat;background-size:cover}@media (prefers-color-scheme:dark){.desktop-shell{--desktop-background:#172832;--desktop-foreground:#f1f6f8;--desktop-focus:#79c7f2;--desktop-icon-border:#d3e8f273;--desktop-icon-hover:#ffffff1a;--desktop-icon-active:#ffffff29}}@media (prefers-contrast:more),(forced-colors:active){.desktop-shell__desktop{background-image:none!important}}.start-menu__backdrop{z-index:0;opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--motion-duration-fast) var(--motion-easing-standard), visibility 0s linear var(--motion-duration-fast);background:#1f29331f;position:fixed;inset:0}.start-menu__backdrop[data-state=open]{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.start-menu{z-index:1;border:1px solid var(--material-border-strong);border-radius:var(--radius-panel);width:min(22rem,100vw - 1rem);max-height:calc(100dvh - 4rem);color:var(--color-text-primary);background:var(--material-surface-panel);box-shadow:var(--material-shadow-panel,0 .75rem 2rem #1f29332e);-webkit-backdrop-filter:var(--material-filter-elevated,none);backdrop-filter:var(--material-filter-elevated,none);overscroll-behavior:contain;opacity:0;pointer-events:none;transform:translate(-50%, var(--motion-distance-small)) scale(.985);transform-origin:bottom;visibility:hidden;transition:opacity var(--motion-duration-fast) var(--motion-easing-standard), transform var(--motion-duration-fast) var(--motion-easing-standard), visibility 0s linear var(--motion-duration-fast);padding:1rem;position:absolute;bottom:calc(100% + .5rem);left:50%;overflow:auto}.start-menu[data-state=open]{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translate(-50%)}.start-menu h2{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-semibold);margin:0 0 .75rem;line-height:1.25}.start-menu__apps{grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.start-menu__button{border:1px solid var(--material-border);border-radius:var(--radius-control);width:100%;min-width:0;min-height:3.25rem;color:var(--color-text-primary);background:var(--material-surface-subtle);font:inherit;font-size:var(--font-size-label);text-align:left;cursor:pointer;transition:border-color var(--motion-duration-fast) var(--motion-easing-standard), background-color var(--motion-duration-fast) var(--motion-easing-standard);align-items:center;gap:.625rem;padding:.625rem;display:flex}.start-menu__button:hover{border-color:var(--color-border-strong);background:var(--color-state-hover)}.start-menu__button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.start-menu__button:active{background:var(--color-state-pressed)}.start-menu__app-icon{flex:0 0 var(--icon-size-standard);width:var(--icon-size-standard);height:var(--icon-size-standard);border-radius:var(--radius-control);color:var(--color-accent);background:var(--color-state-selected);--app-icon-accent:var(--color-accent);place-items:center;line-height:1;display:grid}.start-menu__app-label{overflow-wrap:anywhere;min-width:0;line-height:1.25}.start-menu__profile{border-top:1px solid var(--color-border-subtle);border-radius:0 0 var(--radius-panel) var(--radius-panel);background:var(--material-surface-subtle);align-items:center;gap:.75rem;min-width:0;margin:1rem -1rem -1rem;padding:.75rem 1rem;display:flex}.start-menu__profile-avatar{border:1px solid var(--material-border);width:2.25rem;height:2.25rem;color:var(--color-text-primary);background:var(--color-state-hover);object-fit:cover;border-radius:50%;flex:0 0 2.25rem;place-items:center;display:grid}.start-menu__profile-details{min-width:0}.start-menu__profile h2{font-size:var(--font-size-label);overflow-wrap:anywhere;margin:0}.start-menu__profile-links{flex-wrap:wrap;gap:.25rem .75rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.start-menu__profile-link{color:var(--color-accent);font-size:var(--font-size-label)}.start-menu__profile-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.start-menu__profile-link--unavailable{color:var(--color-state-disabled);font-size:var(--font-size-label)}@media (prefers-reduced-motion:reduce){.start-menu,.start-menu__backdrop,.start-menu__button{transition:none;transform:none}}@media (width<=30rem){.start-menu{width:calc(100vw - .5rem);max-height:calc(100dvh - 3.5rem);transform:translateY(var(--motion-distance-small)) scale(.985);transform-origin:0 100%;padding:.75rem;bottom:calc(100% + .25rem);left:.25rem}.start-menu[data-state=open]{transform:none}.start-menu__profile{margin:.75rem -.75rem -.75rem;padding-inline:.75rem}}@media (forced-colors:active){.start-menu__button:hover,.start-menu__button:active{color:highlighttext;background:highlight;border-color:highlight}.start-menu__button:focus-visible,.start-menu__profile-link:focus-visible{outline-color:highlight}}.system-tray{justify-content:flex-end;align-items:center;gap:.625rem;min-width:0;max-width:min(14rem,40vw);display:flex}.system-tray__indicators{font-size:var(--font-size-caption);flex:none;align-items:center;gap:.45rem;line-height:1;display:inline-flex}.system-tray__signal{align-items:flex-end;gap:.1rem;height:.75rem;display:flex}.system-tray__signal span{background:currentColor;border-radius:999px;width:.12rem}.system-tray__signal span:first-child{height:35%}.system-tray__signal span:nth-child(2){height:65%}.system-tray__signal span:nth-child(3){height:100%}.system-tray__presence{background:var(--color-accent);border-radius:50%;width:.38rem;height:.38rem;box-shadow:0 0 0 .16rem #1f5f8529}.system-tray__clock{min-width:0;font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;line-height:1.1;display:grid;overflow:hidden}.system-tray__time,.system-tray__date{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (width<=30rem){.system-tray{display:none}}.taskbar__button{width:2.5rem;height:var(--control-height-standard);border:1px solid var(--material-border);border-radius:var(--radius-control);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-label);white-space:nowrap;cursor:pointer;transition:border-color var(--motion-duration-fast) var(--motion-easing-standard), background-color var(--motion-duration-fast) var(--motion-easing-standard), color var(--motion-duration-fast) var(--motion-easing-standard), transform var(--motion-duration-fast) var(--motion-easing-standard);background:0 0;border-color:#0000;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.taskbar__button:not(:disabled):hover{background:#ffffff94;border-color:#7f97a566}.taskbar__button:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.taskbar__button:not(:disabled):active{background:#b9ccd6b3;transform:scale(.94)}.taskbar__button[aria-expanded=true]{background:#cbd9e0c2;border-color:#58717f6b}.taskbar-pinned-app[aria-pressed=true],.taskbar-pinned-app[aria-pressed=true]:hover{border-color:var(--color-border-strong);background:#cbd9e0c2}.taskbar-pinned-app{scroll-snap-align:center;position:relative}.taskbar-pinned-app:after{background:var(--color-accent);content:"";transform-origin:50%;width:1.25rem;height:.125rem;transition:transform var(--motion-duration-fast) var(--motion-easing-standard);border-radius:999px;position:absolute;bottom:.1rem;left:50%;transform:translate(-50%)scaleX(0)}.taskbar-pinned-app[data-window-state=open]:after{transform:translate(-50%)scaleX(.6)}.taskbar-pinned-app[data-window-state=active]:after{transform:translate(-50%)scaleX(1)}.taskbar-pinned-app[data-window-state=minimized]{color:var(--color-state-disabled);background:#ffffff3d;border-color:#0000}.taskbar-pinned-app[data-window-state=minimized]:after{transform:translate(-50%)scaleX(.3)}.taskbar-pinned-app:disabled{opacity:.55;cursor:not-allowed}.taskbar__app-icon{flex:0 0 var(--icon-size-compact);width:var(--icon-size-compact);height:var(--icon-size-compact);--app-icon-accent:var(--color-accent);place-items:center;line-height:1;display:inline-grid}.taskbar__app-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.taskbar__start-mark{grid-template-rows:repeat(2,.42rem);grid-template-columns:repeat(2,.42rem);gap:.12rem;display:grid;transform:rotate(-4deg)}.taskbar__start-mark span{background:currentColor;border-radius:.08rem}@media (prefers-reduced-motion:reduce){.taskbar__button,.taskbar-pinned-app:after{transition:none}.taskbar__button:not(:disabled):active{transform:none}}@media (forced-colors:active){.taskbar__button:not(:disabled):hover,.taskbar__button:not(:disabled):active,.taskbar__button[aria-expanded=true],.taskbar-pinned-app[aria-pressed=true],.taskbar-pinned-app[aria-pressed=true]:hover{color:highlighttext;background:highlight;border-color:highlight}.taskbar__button:focus-visible{outline-color:highlight}.taskbar-pinned-app[data-window-state]:not([data-window-state=closed]):after{background:highlight}.taskbar-pinned-app:disabled{color:graytext;opacity:1;border-color:graytext}}.taskbar-container{inset-inline:0;z-index:2;width:100%;min-width:0;height:var(--taskbar-height,3rem);background:var(--material-surface-taskbar,#eef2f4);box-shadow:var(--material-shadow-taskbar,0 -.25rem .75rem #1f29331a);-webkit-backdrop-filter:var(--material-filter-elevated,none);backdrop-filter:var(--material-filter-elevated,none);border-top:1px solid #ffffff8f;position:fixed;bottom:0}.taskbar{z-index:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;width:100%;height:100%;padding:.375rem .75rem;display:grid;position:relative;overflow:hidden}.taskbar__launcher{grid-column:2;justify-content:center;align-items:center;gap:.25rem;min-width:0;max-width:calc(100vw - 16rem);display:flex}.taskbar__apps{overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:none;gap:.25rem;min-width:0;scroll-padding-inline:.25rem;display:flex;overflow:auto hidden}.taskbar__apps [data-app-id=settings]{margin-inline-end:.375rem}.taskbar__apps::-webkit-scrollbar{display:none}.system-tray{grid-column:3;justify-self:end}@media (width<=40rem){.taskbar{grid-template-columns:minmax(0,1fr) auto;gap:.25rem;padding-inline:.25rem}.taskbar__launcher{grid-column:1;justify-content:flex-start;max-width:none}.taskbar__apps{justify-content:flex-start;overflow-x:auto}.system-tray{grid-column:2}}@media (width<=30rem){.taskbar{grid-template-columns:minmax(0,1fr)}.taskbar__launcher{justify-content:center}}.desktop-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading-screen{color:#e1efe6;background:#0c0e0c;justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex;overflow:hidden}.loading-screen__content{text-align:center;flex-direction:column;align-items:center;display:flex}.loading-screen__wordmark{letter-spacing:-.08em;margin-bottom:3.5rem;padding-right:.08em;font-size:clamp(4.5rem,15vw,8rem);font-weight:800;line-height:.8}.loading-screen__title{margin:0;font-size:clamp(1.5rem,4vw,2rem)}.loading-screen__tagline{letter-spacing:clamp(.2rem,.7vw,.5rem);margin:1.5rem 0 0;font-size:clamp(.7rem,2vw,.85rem);line-height:1.6}.loading-screen__indicator{width:clamp(4rem,12vw,6.75rem);height:auto;margin-top:5rem}.loading-screen__eye-one,.loading-screen__eye-two,.loading-screen__mouth-one,.loading-screen__mouth-two{animation:3s ease-in-out infinite loading-screen-eye-one}.loading-screen__eye-one,.loading-screen__eye-two{transform-origin:64px 64px}.loading-screen__eye-two{animation-name:loading-screen-eye-two}.loading-screen__mouth-one{animation-name:loading-screen-mouth-one}.loading-screen__mouth-two{visibility:hidden;animation-name:loading-screen-mouth-two}@keyframes loading-screen-eye-one{0%{transform:rotate(-260deg)translateY(-56px)}50%,60%{animation-timing-function:cubic-bezier(.17,0,.58,1);transform:rotate(-40deg)translateY(-56px)scale(1)}to{transform:rotate(225deg)translateY(-56px)scale(.35)}}@keyframes loading-screen-eye-two{0%{transform:rotate(-260deg)translateY(-56px)}50%{transform:rotate(40deg)translateY(-56px)rotate(-40deg)scale(1)}52.5%{transform:rotate(40deg)translateY(-56px)rotate(-40deg)scaleY(0)}55%,70%{animation-timing-function:cubic-bezier(0,0,.28,1);transform:rotate(40deg)translateY(-56px)rotate(-40deg)scale(1)}to{transform:rotate(150deg)translateY(-56px)scale(.4)}}@keyframes loading-screen-mouth-one{0%{stroke-dasharray:0 351.86;stroke-dashoffset:0;animation-timing-function:ease-in}25%{stroke-dasharray:175.93 351.86;stroke-dashoffset:0;animation-timing-function:ease-out}50%{stroke-dasharray:175.93 351.86;stroke-dashoffset:-175.93px;visibility:visible;animation-timing-function:step-start}75%,to{visibility:hidden}}@keyframes loading-screen-mouth-two{0%{visibility:hidden;animation-timing-function:step-end}50%{stroke-dashoffset:0;visibility:visible;animation-timing-function:ease-in-out}to{stroke-dashoffset:-351.86px}}@media (prefers-reduced-motion:reduce){.loading-screen__eye-one,.loading-screen__eye-two,.loading-screen__mouth-one,.loading-screen__mouth-two{animation:none}}
