@layer reset,tokens,layout,components,motion;@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;hanging-punctuation:first last}body{min-height:100svh;line-height:1.55;-webkit-font-smoothing:antialiased;background:var(--surface);color:var(--text)}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}textarea{field-sizing:content}p,h1,h2,h3,h4{text-wrap:pretty;overflow-wrap:break-word}h1,h2,h3{text-wrap:balance}a{color:inherit}ul[class],ol[class]{list-style:none;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer tokens{@property --brand-hue{syntax: "<number>"; inherits: true; initial-value: 250;}@property --card-lift{syntax: "<length>"; inherits: false; initial-value: 0px;}:root{--brand-hue: 250;color-scheme:light dark;--surface: light-dark(oklch(98% .01 var(--brand-hue)), oklch(18% .02 var(--brand-hue)));--surface-raised: light-dark(oklch(100% 0 0), oklch(23% .02 var(--brand-hue)));--surface-sunken: light-dark(oklch(94% .015 var(--brand-hue)), oklch(14% .02 var(--brand-hue)));--text: light-dark(oklch(20% .03 var(--brand-hue)), oklch(94% .02 var(--brand-hue)));--text-muted: light-dark(oklch(45% .02 var(--brand-hue)), oklch(70% .02 var(--brand-hue)));--border: light-dark(oklch(88% .02 var(--brand-hue)), oklch(32% .02 var(--brand-hue)));--accent: light-dark(oklch(58% .16 var(--brand-hue)), oklch(75% .14 var(--brand-hue)));--accent-strong: light-dark(oklch(48% .18 var(--brand-hue)), oklch(82% .14 var(--brand-hue)));--border-hover: color-mix(in oklch, var(--border), var(--accent) 45%);--surface-hover: color-mix(in oklch, var(--surface-raised), var(--accent) 6%);--shadow-color: light-dark(oklch(30% .03 var(--brand-hue) / 18%), oklch(0% 0 0 / 45%));--status-live: light-dark(oklch(52% .15 152), oklch(78% .14 152));--status-progress: light-dark(oklch(55% .16 68), oklch(80% .15 68));--status-planned: var(--text-muted);--step--1: clamp(.78rem, .75rem + .15vi, .86rem);--step-0: clamp(.95rem, .9rem + .25vi, 1.05rem);--step-1: clamp(1.1rem, 1.02rem + .4vi, 1.3rem);--step-2: clamp(1.3rem, 1.15rem + .75vi, 1.7rem);--step-3: clamp(1.6rem, 1.35rem + 1.25vi, 2.3rem);--step-4: clamp(2rem, 1.6rem + 2vi, 3.2rem);--space-3xs: clamp(.25rem, .23rem + .1vi, .3rem);--space-2xs: clamp(.45rem, .4rem + .2vi, .55rem);--space-xs: clamp(.7rem, .65rem + .25vi, .85rem);--space-s: clamp(1rem, .93rem + .35vi, 1.2rem);--space-m: clamp(1.5rem, 1.4rem + .5vi, 1.8rem);--space-l: clamp(2rem, 1.8rem + 1vi, 2.6rem);--space-xl: clamp(3rem, 2.6rem + 2vi, 4rem);--space-2xl: clamp(4rem, 3.4rem + 3vi, 5.5rem);--radius-s: .5rem;--radius-m: .9rem;--radius-l: 1.4rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .16s;--duration-medium: .32s;--duration-slow: .5s;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}}@layer layout{.page-grid{display:grid;grid-template-columns:[full-start] minmax(var(--space-m),1fr) [wide-start] minmax(0,4rem) [content-start] min(100% - 2 * var(--space-m),72rem) [content-end] minmax(0,4rem) [wide-end] minmax(var(--space-m),1fr) [full-end]}.page-grid>*{grid-column:content}.page-grid>.bleed-wide{grid-column:wide}.page-grid>.bleed-full{grid-column:full}.stack{display:flex;flex-direction:column}.stack>*+*{margin-block-start:var(--space-m)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}}@layer components{.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);padding-block:var(--space-s);padding-inline:var(--space-m);background:color-mix(in oklch,var(--surface),transparent 15%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.site-mark{font-weight:800;font-size:var(--step-1);letter-spacing:-.02em;text-decoration:none}.icon-button{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-raised);font-size:var(--step-0);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.icon-button:hover{border-color:var(--border-hover);background:var(--surface-hover)}.subsite-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;row-gap:var(--space-2xs);gap:var(--space-m);padding-block:var(--space-s);padding-inline:var(--space-m);border-bottom:1px solid var(--border)}.subsite-nav__label{font-weight:700;font-size:var(--step-0)}.subsite-nav__links{display:flex;gap:var(--space-m)}.subsite-nav__links a{padding-block:var(--space-2xs);color:var(--text-muted);text-decoration:none;font-size:var(--step-0);font-weight:600;border-bottom:2px solid transparent;transition:color var(--duration-fast) var(--ease-out)}.subsite-nav__links a:hover,.subsite-nav__links a:focus-visible{color:var(--text)}.subsite-nav__links a.is-active{color:var(--text);border-block-end-color:var(--accent)}[popover]{margin:0;padding:var(--space-s);border:1px solid var(--border);border-radius:var(--radius-m);background:var(--surface-raised);color:var(--text);box-shadow:0 20px 45px -20px var(--shadow-color);opacity:0;scale:.94;translate:0 -.4rem;transition:opacity var(--duration-fast) var(--ease-out),scale var(--duration-fast) var(--ease-out),translate var(--duration-fast) var(--ease-out),overlay var(--duration-fast) allow-discrete,display var(--duration-fast) allow-discrete}[popover]:popover-open{opacity:1;scale:1;translate:0}@starting-style{[popover]:popover-open{opacity:0;scale:.94;translate:0 -.4rem}}[popover]::backdrop{background:color-mix(in oklch,var(--surface-sunken),transparent 40%);opacity:0;transition:opacity var(--duration-fast) var(--ease-out),overlay var(--duration-fast) allow-discrete,display var(--duration-fast) allow-discrete}[popover]:popover-open::backdrop{opacity:1}.menu-trigger{anchor-name:--menu-trigger}.menu-popover{position:fixed;inset:auto;min-width:14rem;top:calc(var(--space-2xl) + var(--space-2xs));right:var(--space-m)}@supports (anchor-name: --a){.menu-popover{position:fixed;position-anchor:--menu-trigger;top:anchor(bottom);right:anchor(right);margin-top:var(--space-2xs)}}.menu-popover__item{display:block;width:100%;padding:var(--space-xs) var(--space-s);border:none;border-radius:var(--radius-s);background:transparent;text-align:left;font-size:var(--step-0);transition:background var(--duration-fast) var(--ease-out)}.menu-popover__item:hover,.menu-popover__item:focus-visible{background:var(--surface-hover)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:var(--space-m)}.app-tile{container-type:inline-size;position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-xs);padding:var(--space-m);border-radius:var(--radius-l);border:1px solid var(--border);background:var(--surface-raised);--card-lift: 0px;translate:0 var(--card-lift);box-shadow:0 calc(var(--card-lift) * -2) 24px -12px var(--shadow-color);transition:translate var(--duration-medium) var(--ease-out),box-shadow var(--duration-medium) var(--ease-out),border-color var(--duration-medium) var(--ease-out)}.app-tile:has(.app-tile__link:hover),.app-tile:has(.app-tile__link:focus-visible){--card-lift: -.4rem;border-color:var(--border-hover)}.app-tile[data-status=planned]{opacity:.72}.app-tile__link{position:absolute;inset:0;border-radius:inherit}.app-tile__link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-tile__glyph{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-s);font-weight:700;font-size:var(--step-0);background:color-mix(in oklch,var(--tile-color, var(--accent)),transparent 82%);color:var(--tile-color, var(--accent))}.app-tile__name{font-size:var(--step-1);font-weight:700}.app-tile__tagline{color:var(--text-muted);font-size:var(--step-0)}@container (min-width: 15rem){.app-tile{padding:var(--space-l)}}.status-badge{justify-self:start;padding-inline:var(--space-xs);padding-block:.2em;border-radius:999px;font-size:var(--step--1);font-weight:600;background:color-mix(in oklch,var(--status-color, var(--text-muted)),transparent 85%);color:var(--status-color, var(--text-muted))}.status-badge[data-status=live]{--status-color: var(--status-live)}.status-badge[data-status=in-progress]{--status-color: var(--status-progress)}.status-badge[data-status=planned]{--status-color: var(--status-planned)}}@layer motion{@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-slow)}@supports (animation-timeline: view()){.reveal{animation:reveal-in linear both;animation-timeline:view();animation-range:entry 0% cover 30%}}@keyframes reveal-in{0%{opacity:0;translate:0 1.25rem}to{opacity:1;translate:0}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.reveal{animation:none!important;opacity:1;translate:none}}}main{display:block;padding-block-end:var(--space-2xl)}
