:root {
  --serif: Charter, 'Bitstream Charter', 'Iowan Old Style', 'Palatino Linotype', Georgia, serif;
  --sans: 'Avenir Next', Avenir, 'Segoe UI Variable', 'Segoe UI', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', ui-monospace, monospace;
  --wrap: min(1180px, calc(100vw - 40px));
  --scene-sky:#d9eef4;--scene-sky-edge:#77a8b8;--scene-celestial:#e4b95f;
  --motion-fast: 180ms;
  --motion-medium: 320ms;
  --motion-page: 560ms;
  --motion-hover-lift: -3px;
  --motion-reveal-distance: 14px;
  --ease-route: cubic-bezier(.16,1,.3,1);
  --ease-pop: cubic-bezier(.2,1.35,.35,1);
  --control-height: 2.75rem;
  --control-radius: 999px;
  --surface-radius: 5px;
  /* Dark, paper-tinted elevation stays a shadow when text becomes light. */
  --shadow-color: color-mix(in srgb,var(--paper) 20%,#000);
  --shadow-contact-alpha: 18%;
  --shadow-ambient-alpha: 14%;
  --shadow-contact: color-mix(in srgb,var(--shadow-color) var(--shadow-contact-alpha),transparent);
  --shadow-ambient: color-mix(in srgb,var(--shadow-color) var(--shadow-ambient-alpha),transparent);
  --control-shadow: 0 1px 3px -1px var(--shadow-contact),0 4px 12px -4px var(--shadow-ambient);
  --raised-shadow: 0 2px 4px -2px var(--shadow-contact),0 8px 20px -7px var(--shadow-ambient);
  --surface-shadow: 0 3px 8px -3px var(--shadow-contact),0 18px 48px -14px var(--shadow-ambient);
}
:root[data-theme="night"] { --shadow-contact-alpha:48%; --shadow-ambient-alpha:34%; }
@media (prefers-color-scheme:dark) {
  :root:not([data-theme]) { --shadow-contact-alpha:48%; --shadow-ambient-alpha:34%; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 clamp(1rem,.97rem + .12vw,1.06rem)/1.62 var(--sans); font-kerning: normal; font-optical-sizing: auto; font-variant-ligatures: common-ligatures contextual; text-rendering: optimizeLegibility; }
main { view-transition-name: page-body; }
main:focus { outline: 0; }
.ui-overlay-open { overflow-x:hidden; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; border:0!important; white-space:nowrap!important; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
svg { display: block; max-width: 100%; }
.is-loading :is(.signal-map,.project-visual,.hobby-route,.cryptid-camp) { position:relative; }
.is-loading :is(.signal-map,.project-visual,.hobby-route,.cryptid-camp)::after { content:''; position:absolute; z-index:12; inset:0; pointer-events:none; border:1px solid color-mix(in srgb,var(--line) 72%,transparent); border-radius:inherit; background:linear-gradient(105deg,transparent 28%,color-mix(in srgb,var(--snow) 55%,transparent) 43%,transparent 58%) -180% 0/55% 100% no-repeat,repeating-radial-gradient(ellipse at 18% 115%,transparent 0 16px,color-mix(in srgb,var(--copper) 10%,transparent) 17px 18px,transparent 19px 34px),color-mix(in srgb,var(--snow) 88%,var(--paper)); animation:skeleton-trace 1.25s var(--ease-route) infinite; }
@keyframes skeleton-trace { to { background-position:360% 0,0 0,0 0; } }
.trail-glyph,.trail-arrow svg,.principle-glyph,.fact-glyph,.field-note-glyph,.detail-glyph,.project-glyph,.control-glyph,.glyph-explorer-item svg,.command-search-glyph,.summary-glyph,.overlay-heading-glyph,.overlay-close svg { --glyph-primary:currentColor; --glyph-accent:var(--copper); --glyph-secondary:currentColor; --glyph-warm:var(--copper); --glyph-cool:var(--copper); fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; }
.button .trail-arrow svg,.nav-cta .trail-arrow svg { --glyph-accent:currentColor; --glyph-secondary:currentColor; --glyph-warm:currentColor; --glyph-cool:currentColor; }
/* Glyph regions retain two colors even beside accent-colored labels. */
:root:not(:has(.lost-page)) svg:has(>use[href*="#glyph-"]) {
  --glyph-primary:var(--ink); --glyph-accent:var(--copper);
  --glyph-secondary:var(--glyph-primary); --glyph-warm:var(--glyph-accent); --glyph-cool:var(--glyph-accent);
}
:root:not(:has(.lost-page)) :is(.button,.nav-cta,.overlay-close,.work-reset) svg:has(>use[href*="#glyph-"]),
:root:not(:has(.lost-page)) :is(.contact,.availability) .eyebrow>.trail-glyph { --glyph-primary:currentColor; color:inherit; }
:root:not(:has(.lost-page)) .button:is(:hover,:focus-visible) svg:has(>use[href*="#glyph-"]) { --glyph-accent:var(--ink); }
:root:not(:has(.lost-page))[data-theme="night"] :is(.contact,.availability) .button svg:has(>use[href*="#glyph-"]) { --glyph-accent:var(--copper); }
@media (prefers-color-scheme:dark) {
  :root:not(:has(.lost-page)):not([data-theme]) :is(.contact,.availability) .button svg:has(>use[href*="#glyph-"]) { --glyph-accent:var(--copper); }
}
svg:has(>use[href*="#glyph-"]) { overflow:visible; }
svg:has(>use[href*="#glyph-"])>use { transform-box:view-box; transform-origin:center; }
svg:has(>use[href$="#glyph-trailhead"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-compass"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-map"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-cairn"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-switchback"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-shelter"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-lantern"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-binoculars"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-fire"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-pine"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-summit"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-boot"]) { --glyph-motion:glyph-boot-step; }
svg:has(>use[href$="#glyph-stars"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-arrow-east"]) { --glyph-motion:glyph-arrow-glide; --glyph-arrow-x:3px; --glyph-arrow-y:0px; }
svg:has(>use[href$="#glyph-arrow-north-east"]) { --glyph-motion:glyph-arrow-glide; --glyph-arrow-x:2.15px; --glyph-arrow-y:-2.15px; }
svg:has(>use[href$="#glyph-arrow-north"]) { --glyph-motion:glyph-arrow-glide; --glyph-arrow-x:0px; --glyph-arrow-y:-3px; }
svg:has(>use[href$="#glyph-arrow-north-west"]) { --glyph-motion:glyph-arrow-glide; --glyph-arrow-x:-2.15px; --glyph-arrow-y:-2.15px; }
svg:has(>use[href$="#glyph-arrow-west"]) { --glyph-motion:glyph-arrow-glide; --glyph-arrow-x:-3px; --glyph-arrow-y:0px; }
svg:has(>use[href$="#glyph-arrow-south-west"]) { --glyph-motion:glyph-arrow-glide; --glyph-arrow-x:-2.15px; --glyph-arrow-y:2.15px; }
svg:has(>use[href$="#glyph-arrow-south"]) { --glyph-motion:glyph-arrow-glide; --glyph-arrow-x:0px; --glyph-arrow-y:3px; }
svg:has(>use[href$="#glyph-arrow-south-east"]) { --glyph-motion:glyph-arrow-glide; --glyph-arrow-x:2.15px; --glyph-arrow-y:2.15px; }
svg:has(>use[href$="#glyph-waypoint"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-search"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-close"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-command"]),svg:has(>use[href$="#glyph-keyboard"]),svg:has(>use[href$="#glyph-palette"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-role"]),svg:has(>use[href$="#glyph-layers"]),svg:has(>use[href$="#glyph-repository"]),svg:has(>use[href$="#glyph-backpack"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-shield"]),svg:has(>use[href$="#glyph-terminal"]),svg:has(>use[href$="#glyph-network"]),svg:has(>use[href$="#glyph-wrench"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-cloud"]),svg:has(>use[href$="#glyph-database"]),svg:has(>use[href$="#glyph-lock"]),svg:has(>use[href$="#glyph-refresh"]),svg:has(>use[href$="#glyph-package"]),svg:has(>use[href$="#glyph-bug"]),svg:has(>use[href$="#glyph-monitor"]),svg:has(>use[href$="#glyph-code"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-mug"]),svg:has(>use[href$="#glyph-river"]),svg:has(>use[href$="#glyph-flag"]),svg:has(>use[href$="#glyph-first-aid"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-journal"]),svg:has(>use[href$="#glyph-beacon"]),svg:has(>use[href$="#glyph-trail-camera"]),svg:has(>use[href$="#glyph-carabiner"]),svg:has(>use[href$="#glyph-headlamp"]),svg:has(>use[href$="#glyph-cabin"]),svg:has(>use[href$="#glyph-trail-blaze"]),svg:has(>use[href$="#glyph-radio"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-filter"]),svg:has(>use[href$="#glyph-sort"]),svg:has(>use[href$="#glyph-clock"]),svg:has(>use[href$="#glyph-globe"]),svg:has(>use[href$="#glyph-microphone"]),svg:has(>use[href$="#glyph-key"]),svg:has(>use[href$="#glyph-bell"]),svg:has(>use[href$="#glyph-hard-drive"]) { --glyph-motion:none; }
svg:has(>use[href$="#glyph-owl"]),svg:has(>use[href$="#glyph-trout"]),svg:has(>use[href$="#glyph-canoe"]),svg:has(>use[href$="#glyph-mushroom"]),svg:has(>use[href$="#glyph-marshmallow"]),svg:has(>use[href$="#glyph-paw-print"]),svg:has(>use[href$="#glyph-pinecone"]),svg:has(>use[href$="#glyph-snowshoe"]) { --glyph-motion:none; }
:is(.eyebrow:hover>.trail-glyph,.principles li:hover>.principle-glyph,.case-facts div:hover .fact-glyph,.about-field-notes dl div:hover .field-note-glyph,a:hover .trail-arrow svg,summary:hover>.summary-glyph,.overlay-heading:hover>.overlay-heading-glyph,.overlay-close:hover>svg,.command-search:hover>.command-search-glyph,.eyebrow:focus-within>.trail-glyph,.principles li:focus-within>.principle-glyph,.case-facts div:focus-within .fact-glyph,.about-field-notes dl div:focus-within .field-note-glyph,a:focus-visible .trail-arrow svg,summary:focus-visible>.summary-glyph,.overlay-heading:focus-within>.overlay-heading-glyph,.overlay-close:focus-visible>svg,.command-search:focus-within>.command-search-glyph)>use { --glyph-compass-motion:glyph-compass-spin 680ms var(--ease-pop); --glyph-fire-motion:glyph-fire-flicker 680ms var(--ease-pop); --glyph-binocular-motion:glyph-binoculars-zoom 680ms var(--ease-pop); --glyph-summit-motion:glyph-summit-snow 680ms var(--ease-route); --glyph-switchback-motion:glyph-switchback-trace 960ms var(--ease-route); --glyph-cairn-middle-motion:glyph-cairn-middle-stack 680ms var(--ease-route); --glyph-cairn-upper-motion:glyph-cairn-upper-stack 680ms var(--ease-route); --glyph-cairn-top-motion:glyph-cairn-top-stack 680ms var(--ease-route); --glyph-shelter-motion:glyph-shelter-pitch 680ms var(--ease-pop); --glyph-map-left-motion:glyph-map-left-unfold 680ms var(--ease-pop); --glyph-map-right-motion:glyph-map-right-unfold 680ms var(--ease-pop); --glyph-map-route-motion:glyph-map-route-reveal 680ms var(--ease-route); --glyph-role-motion:glyph-role-nod 680ms var(--ease-route); --glyph-layers-motion:glyph-layers-top-settle 680ms var(--ease-route); --glyph-layers-middle-motion:glyph-layers-middle-settle 680ms var(--ease-route); --glyph-layers-bottom-motion:glyph-layers-bottom-settle 680ms var(--ease-route); --glyph-repository-motion:glyph-repository-write 680ms var(--ease-route); --glyph-backpack-motion:glyph-backpack-pack 680ms var(--ease-pop); --glyph-stars-motion:glyph-star-a-twinkle 680ms var(--ease-pop); --glyph-stars-b-motion:glyph-star-b-twinkle 680ms var(--ease-pop); --glyph-stars-c-motion:glyph-star-c-twinkle 680ms var(--ease-pop); --glyph-command-motion:glyph-command-chevron-type 680ms var(--ease-route); --glyph-command-cursor-motion:glyph-command-cursor-blink 680ms steps(1,end); --glyph-keyboard-motion:glyph-keyboard-key-a-tap 680ms var(--ease-pop); --glyph-keyboard-key-b-motion:glyph-keyboard-key-b-tap 680ms var(--ease-pop); --glyph-keyboard-space-motion:glyph-keyboard-space-tap 680ms var(--ease-pop); --glyph-palette-motion:glyph-palette-dot-a-mix 680ms var(--ease-pop); --glyph-palette-dot-b-motion:glyph-palette-dot-b-mix 680ms var(--ease-pop); --glyph-palette-dot-c-motion:glyph-palette-dot-c-mix 680ms var(--ease-pop); --glyph-palette-dot-d-motion:glyph-palette-dot-d-mix 680ms var(--ease-pop); animation:var(--glyph-motion) 680ms var(--ease-pop); }
:is(.eyebrow:hover>.trail-glyph,.principles li:hover>.principle-glyph,.case-facts div:hover .fact-glyph,.about-field-notes dl div:hover .field-note-glyph,a:hover .trail-arrow svg,summary:hover>.summary-glyph,.overlay-heading:hover>.overlay-heading-glyph,.overlay-close:hover>svg,.command-search:hover>.command-search-glyph,.eyebrow:focus-within>.trail-glyph,.principles li:focus-within>.principle-glyph,.case-facts div:focus-within .fact-glyph,.about-field-notes dl div:focus-within .field-note-glyph,a:focus-visible .trail-arrow svg,summary:focus-visible>.summary-glyph,.overlay-heading:focus-within>.overlay-heading-glyph,.overlay-close:focus-visible>svg,.command-search:focus-within>.command-search-glyph)>use { --glyph-lantern-motion:glyph-lantern-glow 680ms var(--ease-pop); --glyph-shield-motion:glyph-shield-check-draw 680ms var(--ease-route); --glyph-terminal-motion:glyph-terminal-cursor-run 680ms steps(1,end); --glyph-network-motion:glyph-network-link-a-draw 680ms var(--ease-route); --glyph-network-link-b-motion:glyph-network-link-b-draw 680ms var(--ease-route); --glyph-network-link-c-motion:glyph-network-link-c-draw 680ms var(--ease-route); --glyph-network-node-a-motion:glyph-network-node-ping-a 680ms var(--ease-pop); --glyph-network-node-b-motion:glyph-network-node-ping-b 680ms var(--ease-pop); --glyph-network-node-c-motion:glyph-network-node-ping-c 680ms var(--ease-pop); --glyph-wrench-motion:glyph-wrench-tighten 680ms var(--ease-route); }
:is(.eyebrow:hover>.trail-glyph,.principles li:hover>.principle-glyph,.case-facts div:hover .fact-glyph,.about-field-notes dl div:hover .field-note-glyph,a:hover .trail-arrow svg,summary:hover>.summary-glyph,.overlay-heading:hover>.overlay-heading-glyph,.overlay-close:hover>svg,.command-search:hover>.command-search-glyph,.eyebrow:focus-within>.trail-glyph,.principles li:focus-within>.principle-glyph,.case-facts div:focus-within .fact-glyph,.about-field-notes dl div:focus-within .field-note-glyph,a:focus-visible .trail-arrow svg,summary:focus-visible>.summary-glyph,.overlay-heading:focus-within>.overlay-heading-glyph,.overlay-close:focus-visible>svg,.command-search:focus-within>.command-search-glyph)>use { --glyph-cloud-motion:glyph-cloud-drop-a-fall 680ms var(--ease-route); --glyph-cloud-drop-b-motion:glyph-cloud-drop-b-fall 680ms var(--ease-route); --glyph-cloud-drop-c-motion:glyph-cloud-drop-c-fall 680ms var(--ease-route); --glyph-database-motion:glyph-database-row-a-read 680ms var(--ease-route); --glyph-database-row-b-motion:glyph-database-row-b-read 680ms var(--ease-route); --glyph-lock-motion:glyph-lock-release 680ms var(--ease-pop); --glyph-refresh-motion:glyph-refresh-cycle 680ms var(--ease-pop); --glyph-package-motion:glyph-package-fold-close 680ms var(--ease-pop); --glyph-bug-motion:glyph-bug-inspect 680ms var(--ease-pop); --glyph-monitor-motion:glyph-monitor-cursor-blink 680ms steps(1,end); --glyph-code-left-motion:glyph-code-left-compile 680ms var(--ease-route); --glyph-code-right-motion:glyph-code-right-compile 680ms var(--ease-route); --glyph-code-motion:glyph-code-slash-compile 680ms var(--ease-route); }
:is(.eyebrow:hover>.trail-glyph,.principles li:hover>.principle-glyph,.case-facts div:hover .fact-glyph,.about-field-notes dl div:hover .field-note-glyph,a:hover .trail-arrow svg,summary:hover>.summary-glyph,.overlay-heading:hover>.overlay-heading-glyph,.overlay-close:hover>svg,.command-search:hover>.command-search-glyph,.eyebrow:focus-within>.trail-glyph,.principles li:focus-within>.principle-glyph,.case-facts div:focus-within .fact-glyph,.about-field-notes dl div:focus-within .field-note-glyph,a:focus-visible .trail-arrow svg,summary:focus-visible>.summary-glyph,.overlay-heading:focus-within>.overlay-heading-glyph,.overlay-close:focus-visible>svg,.command-search:focus-within>.command-search-glyph)>use { --glyph-pine-motion:glyph-pine-canopy-sway 680ms var(--ease-pop); --glyph-search-motion:glyph-search-scan-sweep 680ms var(--ease-route); --glyph-waypoint-motion:glyph-waypoint-center-pulse 680ms var(--ease-pop); --glyph-close-motion:glyph-close-center-snap 680ms var(--ease-pop); --glyph-stars-d-motion:glyph-star-d-twinkle 680ms var(--ease-pop); --glyph-stars-e-motion:glyph-star-e-twinkle 680ms var(--ease-pop); }
:is(.eyebrow:hover>.trail-glyph,.case-facts div:hover .fact-glyph,.eyebrow:focus-within>.trail-glyph,.case-facts div:focus-within .fact-glyph)>use { --glyph-journal-motion:glyph-journal-check-draw 680ms var(--ease-route); --glyph-radio-motion:glyph-radio-note-a-float 680ms var(--ease-route); --glyph-radio-note-b-motion:glyph-radio-note-b-float 680ms var(--ease-route); --glyph-sort-motion:glyph-sort-bar-a-settle 680ms var(--ease-route); --glyph-sort-bar-b-motion:glyph-sort-bar-b-settle 680ms var(--ease-route); --glyph-sort-bar-c-motion:glyph-sort-bar-c-settle 680ms var(--ease-route); --glyph-clock-motion:glyph-clock-minute-sweep 680ms var(--ease-route); --glyph-clock-hour-motion:glyph-clock-hour-nudge 680ms var(--ease-route); --glyph-globe-motion:glyph-globe-route-draw 680ms var(--ease-route); --glyph-globe-traveler-motion:glyph-globe-traveler-travel 680ms var(--ease-route); --glyph-globe-destination-motion:glyph-globe-destination-arrive 680ms var(--ease-pop); --glyph-microphone-motion:glyph-microphone-level-a-rise 680ms var(--ease-pop); --glyph-microphone-level-b-motion:glyph-microphone-level-b-rise 680ms var(--ease-pop); --glyph-microphone-level-c-motion:glyph-microphone-level-c-rise 680ms var(--ease-pop); --glyph-owl-motion:glyph-owl-eye-a-blink 680ms var(--ease-pop); --glyph-owl-eye-b-motion:glyph-owl-eye-b-blink 680ms var(--ease-pop); }
:is(.index-list a:hover,.index-list a:focus-visible)>.project-glyph>use { --glyph-cloud-motion:glyph-cloud-drop-a-fall 680ms var(--ease-route); --glyph-cloud-drop-b-motion:glyph-cloud-drop-b-fall 680ms var(--ease-route); --glyph-cloud-drop-c-motion:glyph-cloud-drop-c-fall 680ms var(--ease-route); --glyph-shield-motion:glyph-shield-check-draw 680ms var(--ease-route); --glyph-terminal-motion:glyph-terminal-cursor-run 680ms steps(1,end); --glyph-wrench-motion:glyph-wrench-tighten 680ms var(--ease-route); --glyph-lock-motion:glyph-lock-release 680ms var(--ease-pop); --glyph-network-motion:glyph-network-link-a-draw 680ms var(--ease-route); --glyph-network-link-b-motion:glyph-network-link-b-draw 680ms var(--ease-route); --glyph-network-link-c-motion:glyph-network-link-c-draw 680ms var(--ease-route); --glyph-network-node-a-motion:glyph-network-node-ping-a 680ms var(--ease-pop); --glyph-network-node-b-motion:glyph-network-node-ping-b 680ms var(--ease-pop); --glyph-network-node-c-motion:glyph-network-node-ping-c 680ms var(--ease-pop); --glyph-package-motion:glyph-package-fold-close 680ms var(--ease-pop); --glyph-monitor-motion:glyph-monitor-cursor-blink 680ms steps(1,end); animation:var(--glyph-motion) 680ms var(--ease-pop); }
.toolbox dl div:hover .detail-glyph>use { --glyph-hard-drive-motion:glyph-hard-drive-arm-seek 680ms var(--ease-pop); --glyph-hard-drive-light-motion:glyph-hard-drive-light-blink 680ms steps(1,end); --glyph-code-left-motion:glyph-code-left-compile 680ms var(--ease-route); --glyph-code-right-motion:glyph-code-right-compile 680ms var(--ease-route); --glyph-code-motion:glyph-code-slash-compile 680ms var(--ease-route); --glyph-wrench-motion:glyph-wrench-tighten 680ms var(--ease-route); animation:var(--glyph-motion) 680ms var(--ease-pop); }
:is(.work-controls label:hover,.work-controls label:focus-within,.work-reset:hover,.work-reset:focus-visible) .control-glyph>use { --glyph-search-motion:glyph-search-scan-sweep 680ms var(--ease-route); --glyph-code-left-motion:glyph-code-left-compile 680ms var(--ease-route); --glyph-code-right-motion:glyph-code-right-compile 680ms var(--ease-route); --glyph-code-motion:glyph-code-slash-compile 680ms var(--ease-route); --glyph-filter-motion:glyph-filter-particle-a-drop 680ms var(--ease-route); --glyph-filter-particle-b-motion:glyph-filter-particle-b-drop 680ms var(--ease-route); --glyph-sort-motion:glyph-sort-bar-a-settle 680ms var(--ease-route); --glyph-sort-bar-b-motion:glyph-sort-bar-b-settle 680ms var(--ease-route); --glyph-sort-bar-c-motion:glyph-sort-bar-c-settle 680ms var(--ease-route); --glyph-refresh-motion:glyph-refresh-cycle 680ms var(--ease-pop); animation:var(--glyph-motion) 680ms var(--ease-pop); }
:is(.eyebrow:hover>.trail-glyph,.eyebrow:focus-within>.trail-glyph,.overlay-close:hover>svg,.overlay-close:focus-visible>svg)>use { --glyph-trailhead-motion:glyph-trailhead-sign-flip 680ms var(--ease-pop); }
@keyframes glyph-compass-spin { 70% { transform:rotate(380deg); } 86% { transform:rotate(354deg); } }
@keyframes glyph-fire-flicker { 22% { transform:translateY(-1px) scale(.96,1.12) rotate(-2deg); } 48% { transform:scale(1.06,.94) rotate(2deg); } 70% { transform:translateY(-1px) scale(.98,1.08) rotate(-1deg); } }
@keyframes glyph-boot-step { 30% { transform:translate(2px,-2px) rotate(-8deg); } 62% { transform:translate(-1px,0) rotate(3deg); } }
@keyframes glyph-arrow-glide { 52% { transform:translate(var(--glyph-arrow-x),var(--glyph-arrow-y)); } }
.fact-glyph,.field-note-glyph { width:1rem; height:1rem; flex:0 0 auto; overflow:visible; stroke-width:1.7; }
.case-facts dt,.about-field-notes dt { display:flex; align-items:center; gap:.48rem; }
.palette-picker { position: fixed; z-index: 30; right: max(1rem,calc((100vw - 1180px)/2)); bottom: 1rem; color: var(--ink); font: 700 .72rem/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.palette-picker[hidden] { display: none; }
.palette-picker summary { display: flex; min-height:var(--control-height); align-items: center; gap: .55rem; padding: .7rem .85rem; border: 1px solid var(--line); border-radius: var(--control-radius); background: color-mix(in srgb,var(--snow) 92%,transparent); box-shadow:var(--control-shadow); cursor: pointer; list-style: none; backdrop-filter: blur(10px); transition:translate var(--motion-medium) var(--ease-route),background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast); }
.palette-picker summary::-webkit-details-marker { display: none; }.palette-picker summary:is(:hover,:focus-visible) { translate:0 -2px; border-color:var(--copper); background:var(--snow); }.palette-picker summary:active { translate:0; }
.summary-glyph { width:1.2rem; height:1.2rem; stroke-width:1.65; }
.palette-current { width: .75rem; aspect-ratio: 1; border: 2px solid var(--snow); border-radius: 50%; background: var(--copper); box-shadow: 0 0 0 1px var(--ink); }
.palette-panels { position:absolute; right:0; bottom:calc(100% + .6rem); width:max-content; max-width:calc(100vw - 2rem); overflow:visible; border:1px solid var(--line); border-radius:var(--surface-radius); background:var(--snow); box-shadow:var(--surface-shadow); animation:overlay-arrive var(--motion-medium) var(--ease-route) both; }
.palette-panel-body { display:grid; grid-template-columns:minmax(13rem,1fr) minmax(8rem,.7fr); gap:1px; overflow:hidden; border-radius:0 0 calc(var(--surface-radius) - 1px) calc(var(--surface-radius) - 1px); background:var(--line); }
.palette-picker fieldset { min-width: 0; margin: 0; padding: .55rem; border: 0; background: var(--snow); }
.palette-picker .theme-options { min-width: 8rem; }
.palette-picker.has-scene-controls .palette-panels { width:min(40rem,calc(100vw - 2rem));max-height:calc(100dvh - 6rem);overflow:auto; }
.palette-picker.has-scene-controls .palette-panel-body { grid-template-columns:minmax(13rem,1fr) minmax(10rem,.8fr); }
.palette-picker .scene-options { min-width:9rem; }
.palette-picker .scene-options label { grid-template-columns:auto 1fr; }
.palette-picker .scene-options label[hidden] { display:none; }
.palette-section-label { margin:.2rem .55rem .35rem;color:var(--muted);font-size:.64rem;letter-spacing:.12em; }
.palette-picker legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.palette-picker label { display: grid; min-height:var(--control-height); grid-template-columns: auto 2.6rem 1fr; align-items: center; gap: .65rem; padding: .65rem .55rem; border-radius:calc(var(--surface-radius) - 2px); cursor: pointer; transition:background var(--motion-fast),box-shadow var(--motion-fast); }.palette-picker label:is(:hover,:has(input:focus-visible)) { background: var(--paper); box-shadow:inset 3px 0 var(--copper); }.palette-picker input { margin: 0; accent-color: var(--copper); }
.palette-picker .theme-options label { grid-template-columns:auto 1fr; }
.palette-swatches { display:flex; overflow:hidden; height:1rem; border:1px solid color-mix(in srgb,var(--ink) 25%,transparent); border-radius:999px; }.palette-swatches i { flex:1; background:var(--option-paper); }.palette-swatches i:nth-child(2) { background:var(--option-ink); }.palette-swatches i:nth-child(3) { background:var(--option-accent); }.palette-swatches i:nth-child(4) { background:var(--option-terrain); }.palette-swatches i:nth-child(5) { background:var(--option-water); }
.command-palette { color-scheme:inherit; width: min(42rem,calc(100vw - 2rem)); max-height: min(45rem,calc(100dvh - 2rem)); margin: clamp(1rem,8vh,5rem) auto auto; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius:var(--surface-radius); background: var(--snow); color: var(--ink); box-shadow:var(--surface-shadow); }
.command-palette[open],.shortcut-overlay[open],.glyph-explorer[open] { animation:overlay-arrive var(--motion-medium) var(--ease-route) both; }
.command-palette::backdrop { background: color-mix(in srgb,var(--shadow-color) 42%,transparent); backdrop-filter: blur(7px); }
.overlay-header { display:flex; min-height:4.6rem; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; border-bottom:1px solid var(--line); background:linear-gradient(105deg,color-mix(in srgb,var(--paper) 76%,transparent),var(--snow)); }
.overlay-heading { display:flex; min-width:0; align-items:center; gap:.8rem; }
.overlay-heading p { margin:0 0 .16rem; color:var(--copper); font:700 .62rem/1.3 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.overlay-heading h2 { margin:0; font:400 clamp(1.25rem,3vw,1.7rem)/1.1 var(--serif); letter-spacing:-.025em; text-transform:none; }
.overlay-heading-glyph { width:1.8rem; height:1.8rem; flex:0 0 auto; stroke-width:1.5; }
.overlay-close { position:relative; display:inline-grid; width:var(--control-height); height:var(--control-height); flex:0 0 auto; place-items:center; padding:0; border:1px solid var(--line); border-radius:var(--control-radius); background:var(--paper); color:var(--ink); cursor:pointer; transition:translate var(--motion-medium) var(--ease-route),background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast); }
.overlay-close svg { width:1.25rem; height:1.25rem; stroke-width:1.7; }
.overlay-close:is(:hover,:focus-visible) { translate:0 -2px; border-color:var(--ink); background:var(--ink); color:var(--snow); }
.overlay-close:active { translate:0; }
[data-tooltip]::after { content:attr(data-tooltip); position:absolute; z-index:50; top:calc(100% + .5rem); right:0; width:max-content; max-width:min(16rem,calc(100vw - 2rem)); padding:.42rem .58rem; border:1px solid var(--line); border-radius:4px; background:var(--ink); color:var(--snow); box-shadow:var(--control-shadow); opacity:0; pointer-events:none; translate:0 -.2rem; font:700 .64rem/1.3 var(--mono); letter-spacing:.02em; text-align:left; text-transform:none; transition:opacity var(--motion-fast),translate var(--motion-fast); }
[data-tooltip]:hover:not(:focus)::after { opacity:1; translate:0; transition-delay:450ms; }
[data-tooltip]:focus::after { opacity:1; translate:0; transition-delay:0s; }
@keyframes overlay-arrive { from { opacity:0; translate:0 .65rem; scale:.985; } }
.command-search { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; padding: .9rem 1rem; border-bottom: 1px solid var(--line); color: var(--muted); }
.command-search-glyph { width:1.45rem; height:1.45rem; overflow:visible; color:var(--ink); fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.command-search input { min-width: 0; padding: .3rem 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: 400 clamp(1rem,2vw,1.18rem)/1.4 var(--sans); }
.command-search input::placeholder { color: var(--muted); }
.command-palette kbd { min-width: 1.55rem; padding: .16rem .34rem; border: 1px solid var(--line); border-bottom-width: 2px; border-radius: 3px; background: var(--paper); color: var(--muted); font: 700 .66rem/1.2 var(--mono); text-align: center; }
.command-results { max-height: min(29rem,calc(100dvh - 11rem)); overflow-y: auto; padding: .45rem; }
.command-group { margin:.35rem .8rem .2rem; color:var(--copper); font:700 .62rem/1.3 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.command-results button { width: 100%; min-height:var(--control-height); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; padding: .75rem .8rem; border: 0; border-radius:calc(var(--surface-radius) - 2px); background: transparent; color: var(--ink); text-align: left; cursor: pointer; transition:background var(--motion-fast),box-shadow var(--motion-fast); }
.command-results button:is(:hover,:focus-visible),.command-results button[aria-selected="true"] { background: var(--paper); box-shadow: inset 3px 0 var(--copper); }
.command-results button span { display: grid; gap: .14rem; }
.command-results b { font: 700 .9rem/1.35 var(--sans); }
.command-results mark { border-radius:2px; background:color-mix(in srgb,var(--copper) 22%,transparent); color:inherit; }
.command-results small { color: var(--muted); font-size: .76rem; line-height: 1.35; }
.command-results i { color: var(--copper); font: normal 700 .64rem/1.3 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.command-meta { display:flex!important; grid-auto-flow:column; align-items:center; justify-content:end; gap:.6rem!important; }
.command-meta kbd { white-space:nowrap; }
.command-empty { margin: 0; padding: 2.5rem 1rem; color: var(--muted); text-align: center; }
.command-palette footer { display: flex; flex-wrap:wrap; gap:.55rem 1rem; padding: .65rem 1rem; border-top: 1px solid var(--line); color: var(--muted); font: 700 .65rem/1.4 var(--mono); }
.command-palette footer span { display: flex; align-items: center; gap: .3rem; }
.shortcut-overlay { color-scheme:inherit; width:min(34rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); margin:clamp(1rem,12vh,7rem) auto auto; padding:0; overflow:auto; border:1px solid var(--line); border-radius:var(--surface-radius,5px); background:var(--snow); color:var(--ink); box-shadow:var(--surface-shadow); }
.shortcut-overlay::backdrop { background:color-mix(in srgb,var(--shadow-color) 42%,transparent); backdrop-filter:blur(7px); }
.shortcut-overlay table { width:100%; border-collapse:collapse; }
.shortcut-overlay th,.shortcut-overlay td { padding:.72rem 1.15rem; border-bottom:1px solid var(--line); text-align:left; }
.shortcut-overlay thead th { color:var(--muted); font:700 .64rem/1.3 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.shortcut-overlay tbody th { font:700 .86rem/1.35 var(--sans); }
.shortcut-overlay td { text-align:right; }
.shortcut-overlay kbd { display:inline-block; min-width:3.7rem; padding:.2rem .4rem; border:1px solid var(--line); border-bottom-width:2px; border-radius:3px; background:var(--paper); color:var(--muted); font:700 .68rem/1.2 var(--mono); text-align:center; white-space:nowrap; }
.glyph-explorer { color-scheme:inherit; width:min(58rem,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); grid-template-rows:auto auto minmax(0,1fr) auto; margin:1rem auto; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--surface-radius); background:var(--snow); color:var(--ink); box-shadow:var(--surface-shadow); }
.glyph-explorer:focus { outline:0; }
.glyph-explorer[open] { display:grid; }
.glyph-explorer::backdrop { background:color-mix(in srgb,var(--shadow-color) 42%,transparent); backdrop-filter:blur(7px); }
.glyph-explorer-help { margin:0; padding:.8rem 1rem; border-bottom:1px solid var(--line); color:var(--muted); font:.82rem/1.4 var(--sans); }
.glyph-explorer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr)); gap:1px; overflow:auto; padding:1px; background:var(--line); }
.glyph-explorer-item { display:grid; min-height:7.5rem; place-items:center; align-content:center; gap:.7rem; padding:1rem .6rem; border:0; background:var(--snow); color:var(--ink); cursor:pointer; }
.glyph-explorer-item svg { width:2.2rem; height:2.2rem; overflow:visible; stroke-width:1.6; }
.glyph-explorer-item span { color:var(--muted); font:700 .64rem/1.3 var(--mono); letter-spacing:.04em; text-align:center; text-transform:uppercase; }
.glyph-explorer-item:is(:hover,:focus-visible) { position:relative; z-index:1; outline:2px solid var(--copper); outline-offset:-2px; background:var(--paper); }
.glyph-explorer-item:is(:hover,:focus-visible) span { color:var(--copper); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-compass-motion:glyph-compass-spin 680ms var(--ease-pop); --glyph-fire-motion:glyph-fire-flicker 680ms var(--ease-pop); --glyph-binocular-motion:glyph-binoculars-zoom 680ms var(--ease-pop); --glyph-summit-motion:glyph-summit-snow 680ms var(--ease-route); --glyph-switchback-motion:glyph-switchback-trace 960ms var(--ease-route); --glyph-cairn-top-motion:glyph-cairn-top-stack 680ms var(--ease-route); --glyph-shelter-motion:glyph-shelter-pitch 680ms var(--ease-pop); --glyph-map-left-motion:glyph-map-left-unfold 680ms var(--ease-pop); --glyph-role-motion:glyph-role-nod 680ms var(--ease-route); --glyph-repository-motion:glyph-repository-write 680ms var(--ease-route); --glyph-backpack-motion:glyph-backpack-pack 680ms var(--ease-pop); --glyph-lantern-motion:glyph-lantern-glow 680ms var(--ease-pop); --glyph-shield-motion:glyph-shield-check-draw 680ms var(--ease-route); --glyph-terminal-motion:glyph-terminal-cursor-run 680ms var(--ease-route); --glyph-wrench-motion:glyph-wrench-tighten 680ms var(--ease-route); --glyph-lock-motion:glyph-lock-release 680ms var(--ease-pop); --glyph-refresh-motion:glyph-refresh-cycle 680ms var(--ease-pop); --glyph-bug-motion:glyph-bug-inspect 680ms var(--ease-pop); --glyph-trailhead-motion:glyph-trailhead-sign-flip 680ms var(--ease-pop); animation:var(--glyph-motion) 680ms var(--ease-pop); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-stars-motion:glyph-star-a-twinkle 680ms var(--ease-pop); --glyph-stars-b-motion:glyph-star-b-twinkle 680ms var(--ease-pop); --glyph-stars-c-motion:glyph-star-c-twinkle 680ms var(--ease-pop); --glyph-command-motion:glyph-command-chevron-type 680ms var(--ease-route); --glyph-command-cursor-motion:glyph-command-cursor-blink 680ms steps(1,end); --glyph-keyboard-motion:glyph-keyboard-key-a-tap 680ms var(--ease-pop); --glyph-keyboard-key-b-motion:glyph-keyboard-key-b-tap 680ms var(--ease-pop); --glyph-keyboard-space-motion:glyph-keyboard-space-tap 680ms var(--ease-pop); --glyph-palette-motion:glyph-palette-dot-a-mix 680ms var(--ease-pop); --glyph-palette-dot-b-motion:glyph-palette-dot-b-mix 680ms var(--ease-pop); --glyph-palette-dot-c-motion:glyph-palette-dot-c-mix 680ms var(--ease-pop); --glyph-palette-dot-d-motion:glyph-palette-dot-d-mix 680ms var(--ease-pop); --glyph-layers-motion:glyph-layers-top-settle 680ms var(--ease-route); --glyph-layers-middle-motion:glyph-layers-middle-settle 680ms var(--ease-route); --glyph-layers-bottom-motion:glyph-layers-bottom-settle 680ms var(--ease-route); --glyph-network-motion:glyph-network-link-a-draw 680ms var(--ease-route); --glyph-network-link-b-motion:glyph-network-link-b-draw 680ms var(--ease-route); --glyph-network-link-c-motion:glyph-network-link-c-draw 680ms var(--ease-route); --glyph-network-node-a-motion:glyph-network-node-ping-a 680ms var(--ease-pop); --glyph-network-node-b-motion:glyph-network-node-ping-b 680ms var(--ease-pop); --glyph-network-node-c-motion:glyph-network-node-ping-c 680ms var(--ease-pop); --glyph-cloud-motion:glyph-cloud-drop-a-fall 680ms var(--ease-route); --glyph-cloud-drop-b-motion:glyph-cloud-drop-b-fall 680ms var(--ease-route); --glyph-cloud-drop-c-motion:glyph-cloud-drop-c-fall 680ms var(--ease-route); --glyph-package-motion:glyph-package-fold-close 680ms var(--ease-pop); --glyph-monitor-motion:glyph-monitor-cursor-blink 680ms steps(1,end); --glyph-code-left-motion:glyph-code-left-compile 680ms var(--ease-route); --glyph-code-right-motion:glyph-code-right-compile 680ms var(--ease-route); --glyph-code-motion:glyph-code-slash-compile 680ms var(--ease-route); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-pine-motion:glyph-pine-canopy-sway 680ms var(--ease-pop); --glyph-search-motion:glyph-search-scan-sweep 680ms var(--ease-route); --glyph-database-motion:glyph-database-row-a-read 680ms var(--ease-route); --glyph-database-row-b-motion:glyph-database-row-b-read 680ms var(--ease-route); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-waypoint-motion:glyph-waypoint-center-pulse 680ms var(--ease-pop); --glyph-close-motion:glyph-close-center-snap 680ms var(--ease-pop); --glyph-stars-d-motion:glyph-star-d-twinkle 680ms var(--ease-pop); --glyph-stars-e-motion:glyph-star-e-twinkle 680ms var(--ease-pop); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-mug-motion:glyph-mug-steam-rise 680ms var(--ease-route); --glyph-river-motion:glyph-river-current-flow 680ms var(--ease-route); --glyph-flag-motion:glyph-flag-wave 680ms var(--ease-pop); --glyph-first-aid-motion:glyph-first-aid-pulse 680ms var(--ease-pop); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-journal-motion:glyph-journal-check-draw 680ms var(--ease-route); --glyph-beacon-motion:glyph-beacon-ring-a-pulse 680ms var(--ease-route); --glyph-beacon-ring-b-motion:glyph-beacon-ring-b-pulse 680ms var(--ease-route); --glyph-trail-camera-motion:glyph-trail-camera-shutter 680ms var(--ease-pop); --glyph-trail-camera-flash-motion:glyph-trail-camera-flash-pop 680ms var(--ease-pop); --glyph-carabiner-motion:glyph-carabiner-gate-open 680ms var(--ease-pop); --glyph-headlamp-motion:glyph-headlamp-beam-shine 680ms var(--ease-route); --glyph-cabin-motion:glyph-cabin-smoke-a-rise 680ms var(--ease-route); --glyph-cabin-smoke-b-motion:glyph-cabin-smoke-b-rise 680ms var(--ease-route); --glyph-trail-blaze-motion:glyph-trail-blaze-paint 680ms var(--ease-route); --glyph-trail-blaze-b-motion:glyph-trail-blaze-paint-b 680ms var(--ease-route); --glyph-trail-blaze-c-motion:glyph-trail-blaze-paint-c 680ms var(--ease-route); --glyph-radio-motion:glyph-radio-note-a-float 680ms var(--ease-route); --glyph-radio-note-b-motion:glyph-radio-note-b-float 680ms var(--ease-route); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-filter-motion:glyph-filter-particle-a-drop 680ms var(--ease-route); --glyph-filter-particle-b-motion:glyph-filter-particle-b-drop 680ms var(--ease-route); --glyph-sort-motion:glyph-sort-bar-a-settle 680ms var(--ease-route); --glyph-sort-bar-b-motion:glyph-sort-bar-b-settle 680ms var(--ease-route); --glyph-sort-bar-c-motion:glyph-sort-bar-c-settle 680ms var(--ease-route); --glyph-clock-motion:glyph-clock-minute-sweep 680ms var(--ease-route); --glyph-clock-hour-motion:glyph-clock-hour-nudge 680ms var(--ease-route); --glyph-globe-motion:glyph-globe-route-draw 680ms var(--ease-route); --glyph-globe-traveler-motion:glyph-globe-traveler-travel 680ms var(--ease-route); --glyph-globe-destination-motion:glyph-globe-destination-arrive 680ms var(--ease-pop); --glyph-microphone-motion:glyph-microphone-level-a-rise 680ms var(--ease-pop); --glyph-microphone-level-b-motion:glyph-microphone-level-b-rise 680ms var(--ease-pop); --glyph-microphone-level-c-motion:glyph-microphone-level-c-rise 680ms var(--ease-pop); --glyph-key-motion:glyph-key-turn-lock 680ms var(--ease-pop); --glyph-bell-motion:glyph-bell-clapper-swing 680ms var(--ease-pop); --glyph-hard-drive-motion:glyph-hard-drive-arm-seek 680ms var(--ease-pop); --glyph-hard-drive-light-motion:glyph-hard-drive-light-blink 680ms steps(1,end); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-key-spark-motion:glyph-key-spark-pop 680ms var(--ease-pop); --glyph-bell-sound-a-motion:glyph-bell-sound-a-ring 680ms var(--ease-route); --glyph-bell-sound-b-motion:glyph-bell-sound-b-ring 680ms var(--ease-route); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-owl-motion:glyph-owl-eye-a-blink 680ms var(--ease-pop); --glyph-owl-eye-b-motion:glyph-owl-eye-b-blink 680ms var(--ease-pop); --glyph-trout-motion:glyph-trout-tail-flick 680ms var(--ease-pop); --glyph-trout-bubble-motion:glyph-trout-bubble-rise 680ms var(--ease-route); --glyph-canoe-motion:glyph-canoe-paddle-dip 680ms var(--ease-pop); --glyph-canoe-ripple-motion:glyph-canoe-ripple-spread 680ms var(--ease-route); --glyph-mushroom-motion:glyph-mushroom-spore-a-float 680ms var(--ease-route); --glyph-mushroom-spore-b-motion:glyph-mushroom-spore-b-float 680ms var(--ease-route); --glyph-marshmallow-motion:glyph-marshmallow-toast-draw 680ms var(--ease-route); }
.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-paw-print-motion:glyph-paw-pad-land 680ms var(--ease-pop); --glyph-paw-toe-a-motion:glyph-paw-toe-a-land 680ms var(--ease-pop); --glyph-paw-toe-b-motion:glyph-paw-toe-b-land 680ms var(--ease-pop); --glyph-paw-toe-c-motion:glyph-paw-toe-c-land 680ms var(--ease-pop); --glyph-paw-toe-d-motion:glyph-paw-toe-d-land 680ms var(--ease-pop); --glyph-pinecone-motion:glyph-pinecone-scale-a-open 680ms var(--ease-route); --glyph-pinecone-scale-b-motion:glyph-pinecone-scale-b-open 680ms var(--ease-route); --glyph-pinecone-scale-c-motion:glyph-pinecone-scale-c-open 680ms var(--ease-route); --glyph-snowshoe-motion:glyph-snowshoe-left-step 680ms var(--ease-pop); --glyph-snowshoe-right-motion:glyph-snowshoe-right-step 680ms var(--ease-pop); }
.glyph-explorer footer { padding:.7rem 1rem; border-top:1px solid var(--line); color:var(--muted); font:700 .65rem/1.4 var(--mono); }
.shortcut-overlay footer { padding:.65rem 1.15rem; color:var(--muted); font:700 .65rem/1.4 var(--mono); }
.wrap { width: var(--wrap); margin-inline: auto; }
.skip-link { position:fixed; z-index:50; isolation:isolate; top:.75rem; left:.75rem; display:inline-flex; min-height:var(--control-height); align-items:center; overflow:clip; padding:.85rem 1.15rem; border:1px solid var(--ink); border-radius:var(--control-radius); background:var(--ink); color:var(--snow); box-shadow:var(--control-shadow); transform:translateY(calc(-100% - 1rem)); text-decoration:none; font-size:.86rem; font-weight:700; transition:translate var(--motion-medium) var(--ease-route),scale var(--motion-fast),background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-medium) var(--ease-route),transform 0s var(--motion-medium); }
.skip-link::after { content:''; position:absolute; z-index:-1; inset:-40% auto -40% -35%; width:24%; pointer-events:none; background:color-mix(in srgb,var(--snow) 24%,transparent); rotate:14deg; translate:-220% 0; transition:translate var(--motion-page) var(--ease-route); }
.skip-link:is(:focus,:focus-visible) { transform:none; translate:0 var(--motion-hover-lift); border-color:var(--copper); background:var(--copper); box-shadow:var(--raised-shadow); transition-delay:0s; }
.skip-link:is(:focus,:focus-visible)::after { translate:620% 0; }
.skip-link:active { translate:0; scale:.97; }
:focus-visible { outline: 3px solid var(--copper); outline-offset: 4px; }
.site-header { position:relative; z-index:10; min-height:92px; display:flex; justify-content:space-between; align-items:center; }
.wordmark { display:flex; width:auto; align-items:center; gap:.85rem; color:var(--ink); text-decoration:none; }
.wordmark-copy { display:grid; gap:.12rem; white-space:nowrap; }
.wordmark-copy b { font:700 .78rem/1.1 var(--sans); letter-spacing:.01em; }
.wordmark-copy small { color:var(--muted); font:700 .59rem/1.2 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.wordmark { view-transition-name: site-mark; }
.brand-mark { width:46px; overflow:visible; scale:1.12; }
.brand-mark-frame { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linejoin: bevel; }
.brand-mark-route { fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: square; stroke-linejoin: miter; }
.brand-mark-node { fill: var(--copper); stroke: var(--paper); stroke-width: 1.5; }
.wordmark .brand-mark-route, .wordmark .brand-mark-node { transition: stroke var(--motion-fast), fill var(--motion-fast), translate var(--motion-medium) var(--ease-route); }
.wordmark:is(:hover,:focus-visible) .brand-mark-route { stroke: var(--copper); translate: 2px 0; }
.wordmark:is(:hover,:focus-visible) .brand-mark-node { fill: var(--ink); animation: mark-waypoint var(--motion-page) var(--ease-pop); }
@keyframes mark-waypoint { 45% { translate: 2px -2px; scale: 1.35; } }
nav { display: flex; align-items: center; gap: clamp(1.2rem, 3vw, 2.4rem); }
.site-header nav { view-transition-name: site-nav; }
nav a { text-decoration: none; font-size: .88rem; font-weight: 700; letter-spacing: .01em; }
nav a:not(.nav-cta) { padding-block: .6rem; background: linear-gradient(var(--copper),var(--copper)) 0 100%/0 2px no-repeat; transition: background-size var(--motion-medium) var(--ease-route), color var(--motion-fast); }
nav a:not(.nav-cta):is(:hover,:focus-visible), nav a[aria-current="page"] { background-size: 100% 2px; }
.nav-cta { display:inline-flex; min-height:var(--control-height); align-items:center; border: 1px solid var(--ink); border-radius:var(--control-radius); padding: .58rem .9rem; transition: color var(--motion-fast), background var(--motion-fast), translate var(--motion-medium) var(--ease-route); }
.nav-cta:is(:hover,:focus-visible) { background: var(--ink); color: var(--snow); translate: 0 var(--motion-hover-lift); }
.hero { position:relative; min-height:calc(100svh - 92px); display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:clamp(1rem,5vw,5rem); padding-block:clamp(2rem,5vw,5rem) 5rem; }
.hero::after { content:''; position:absolute; right:0; bottom:-1px; left:52%; height:1px; background:linear-gradient(90deg,var(--copper),var(--line) 45%,transparent); transform-origin:left; animation:hero-trace 1.15s 1.65s cubic-bezier(.16,1,.3,1) both; }
.hero-copy { animation:hero-copy-in .8s .08s cubic-bezier(.16,1,.3,1) both; }
.signal-map { animation:hero-map-in 1s .2s cubic-bezier(.16,1,.3,1) both; }
.eyebrow { margin: 0 0 1.4rem; font: 700 clamp(.7rem,.67rem + .12vw,.77rem)/1.45 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.eyebrow:not(:has(.status-dot)):not([data-no-glyph]) { display:flex; align-items:center; gap:.58rem; }
.eyebrow:not(:has(.status-dot)):not([data-no-glyph])::before { content:''; width:1.35rem; height:1.35rem; flex:0 0 auto; }
.eyebrow:has(.trail-glyph)::before { display:none; }
.trail-glyph { width:1.35rem; height:1.35rem; flex:0 0 auto; align-self:center; overflow:visible; color:var(--ink); fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; translate:0 -.03em; }
.case-story .trail-glyph { color:var(--lichen); }
.contact .trail-glyph { color:var(--art-warm); }
.about-principles .trail-glyph { width:1.15rem; height:1.15rem; }
:is(a > span[aria-hidden="true"]:last-child,a > strong[aria-hidden="true"]:last-child,.project-link h3 > span[aria-hidden="true"]:last-child) { display:inline-grid; width:1.55em; height:1.3em; flex:0 0 auto; contain:size layout; margin-inline-start:.22em; vertical-align:-.28em; }
.trail-arrow { display:inline-flex; align-items:center; align-self:center; justify-content:center; line-height:1; vertical-align:-.2em; transition:translate .25s cubic-bezier(.2,.8,.2,1); }
.trail-arrow svg { width:100%; height:100%; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
a:is(:hover,:focus-visible) .trail-arrow { translate:.18em 0; }
a:is(:hover,:focus-visible) .trail-arrow:has(use[href$="arrow-north-east"]) { translate:.12em -.12em; }
a:is(:hover,:focus-visible) .trail-arrow:has(use[href$="arrow-north"]) { translate:0 -.16em; }
a:is(:hover,:focus-visible) .trail-arrow:has(use[href$="arrow-north-west"]) { translate:-.12em -.12em; }
a:is(:hover,:focus-visible) .trail-arrow:has(use[href$="arrow-west"]) { translate:-.18em 0; }
a:is(:hover,:focus-visible) .trail-arrow:has(use[href$="arrow-south-west"]) { translate:-.12em .12em; }
a:is(:hover,:focus-visible) .trail-arrow:has(use[href$="arrow-south"]) { translate:0 .16em; }
a:is(:hover,:focus-visible) .trail-arrow:has(use[href$="arrow-south-east"]) { translate:.12em .12em; }
.status-dot { display: inline-block; width: .56rem; aspect-ratio: 1; margin-right: .5rem; border-radius: 50%; background: var(--copper); box-shadow: 0 0 0 4px color-mix(in srgb, var(--copper) 18%, transparent); animation: status-breathe 3.8s ease-in-out infinite; }
@keyframes status-breathe { 50% { box-shadow: 0 0 0 7px color-mix(in srgb,var(--copper) 4%,transparent); } }
h1,h2,h3 { text-wrap: balance; }
p,dd,small { text-wrap: pretty; }
h1 { margin: 0; font: 400 clamp(3.5rem,7.1vw,6.9rem)/.94 var(--serif); letter-spacing: -.052em; }
h1 em, h2 em { color: var(--copper); font-weight: 400; }
.lede { max-width: 39rem; margin: 2rem 0 0; color: var(--muted); font-size: clamp(1.1rem,1.35vw + .72rem,1.38rem); line-height: 1.58; letter-spacing: -.008em; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; margin-top: 2.3rem; }
.button { position:relative; isolation:isolate; display: inline-flex; min-height:var(--control-height); align-items: center; gap: 1.5rem; overflow:clip; border: 1px solid var(--ink); border-radius:var(--control-radius); padding: .85rem 1.15rem; background: var(--ink); color: var(--snow); text-decoration: none; font-size: .86rem; font-weight: 700; transition: translate var(--motion-medium) var(--ease-route), scale var(--motion-fast), background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-medium) var(--ease-route); }
.button::after { content:''; position:absolute; z-index:0; inset:-40% auto -40% -35%; width:24%; pointer-events:none; background:color-mix(in srgb,var(--snow) 24%,transparent); rotate:14deg; translate:-220% 0; transition:translate var(--motion-page) var(--ease-route); }
.button:is(:hover,:focus-visible) { translate: 0 var(--motion-hover-lift); background: var(--copper); border-color: var(--copper); box-shadow:var(--raised-shadow); }
.button:is(:hover,:focus-visible)::after { translate:620% 0; }
.button:active { translate: 0; scale: .97; }
.text-link { padding: .6rem 0; font-size: .9rem; font-weight: 700; text-decoration-color:color-mix(in srgb,var(--copper) 45%,transparent); text-underline-offset: .3rem; transition:color var(--motion-fast),text-decoration-color var(--motion-fast),text-underline-offset var(--motion-medium) var(--ease-route); }
.text-link:is(:hover,:focus-visible) { color:var(--copper); text-decoration-color:currentColor; text-underline-offset:.46rem; }
.signal-map { margin: 0; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.signal-map svg { width: min(100%, 610px); margin-inline: auto; overflow: visible; }
.signal-map figcaption { margin: -1rem 1rem 0 auto; color: var(--muted); font: .75rem/1.4 var(--mono); text-transform: uppercase; letter-spacing: .08em; }
.contours path { fill: none; stroke: var(--line); stroke-width: 1; }
.signal-path { fill: none; stroke: var(--copper); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; animation: route 1.6s .15s var(--ease-route) backwards; }
.signal-glow { stroke: color-mix(in srgb, var(--copper) 18%, transparent); stroke-width: 16; }
.map-node circle:first-child { fill: var(--paper); stroke: var(--ink); stroke-width: 2; filter: url(#soft-shadow); }
.map-node .pulse { opacity:0; fill: none; stroke: var(--copper); stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: pulse 3s ease-out infinite; }
.map-node text, .map-key text { fill: var(--ink); font: 700 11px var(--mono); letter-spacing: 1px; }
.map-key path { stroke: var(--ink); stroke-width: 1; }
.node-infra .pulse { animation-delay: .45s; }.node-desktop .pulse { animation-delay: .9s;}.node-play .pulse { animation-delay: 1.35s;}
@keyframes route { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; }}
@keyframes pulse { 0%,35% { opacity: .8; transform: scale(.65); } 75%,100% { opacity: 0; transform: scale(1.65); }}
@keyframes hero-copy-in { from { opacity:0; translate:0 22px; } }
@keyframes hero-map-in { from { opacity:0; translate:0 10px; scale:.99; } }
@keyframes hero-trace { from { scale:0 1; } }
.principles { display: grid; grid-template-columns: .8fr 3fr; align-items: center; padding: 1.35rem 0; border-block: 1px solid var(--line); }
.principles p { margin: 0; color: var(--muted); font: 700 .75rem var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.principles ul { display: flex; justify-content: space-between; gap: 1.5rem; margin: 0; padding: 0; list-style: none; font: 400 clamp(1.05rem, 2vw, 1.4rem) var(--serif); }
.principles li { display:flex; align-items:center; transition:color var(--motion-fast),translate var(--motion-medium) var(--ease-route); }
.principles li::before { content:''; width:1.85rem; height:1.1rem; flex:0 0 auto; }
.principles li:has(.principle-glyph)::before { display:none; }
.principles li:hover { color:var(--copper); translate:3px 0; }
.principle-glyph { width:1.1rem; height:1.1rem; flex:0 0 auto; margin-right:.75rem; color:var(--ink); fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; transition:color var(--motion-fast),rotate var(--motion-medium) var(--ease-pop),scale var(--motion-medium) var(--ease-pop); }
.principles li:hover .principle-glyph { color:var(--copper); rotate:-7deg; scale:1.08; }
.work-section { padding-block: clamp(6rem, 12vw, 11rem); }
.section-heading { display: grid; grid-template-columns: .7fr 2fr 1.1fr; gap: 2rem; align-items: end; margin-bottom: 4rem; }
.section-heading .eyebrow { align-self: start; }
.section-heading h2, .toolbox h2, .about-grid h2, .availability h2 { margin: 0; font: 400 clamp(2.3rem,5vw,4.7rem)/1.01 var(--serif); letter-spacing: -.04em; }
.section-heading > p:last-child { margin: 0; color: var(--muted); }
.site-footer { display: flex; justify-content: space-between; align-items:center; gap: 2rem; padding-block: 2rem; border-top: 1px solid var(--ink); font-size: .76rem; font-weight: 700; view-transition-name: site-footer; }.site-footer p { margin: 0; }.site-footer a { text-decoration-color:color-mix(in srgb,var(--copper) 45%,transparent); text-underline-offset: .25rem; transition:color var(--motion-fast),text-decoration-color var(--motion-fast),text-underline-offset var(--motion-medium) var(--ease-route); }.site-footer a:is(:hover,:focus-visible) { color:var(--copper); text-decoration-color:currentColor; text-underline-offset:.4rem; }
.shortcut-hint { margin-inline:auto; color:var(--muted); font:700 .66rem/1.4 var(--mono); letter-spacing:.04em; }
.shortcut-hint kbd { margin-inline:.12rem; }
.work-section, .toolbox, .current, .contact, .about-grid, .availability, .index-list { content-visibility: auto; contain-intrinsic-block-size: auto 800px; }
@supports (animation-timeline: view()) {
  [data-reveal]:not(.hero-copy):not(.signal-map):not(.page-intro) { animation: reveal linear both; animation-timeline: view(); animation-range: entry 0% entry 18%; }
  @keyframes reveal { from { opacity: .12; translate: 0 var(--motion-reveal-distance); } to { opacity: 1; translate: 0; } }
  .project { view-timeline-name:--project-card; view-timeline-axis:block; }
  .project-visual { animation:project-visual-scroll linear both; animation-timeline:--project-card; animation-range:entry 0% cover 34%; transform-origin:50% 65%; }
  .project-copy { animation:project-copy-scroll linear both; animation-timeline:--project-card; animation-range:entry 8% cover 38%; }
  .principles { view-timeline-name:--principles; view-timeline-axis:block; }
  .principles li { animation:principle-scroll linear both; animation-timeline:--principles; }
  .principles li:nth-child(1) { animation-range:entry 4% cover 22%; }
  .principles li:nth-child(2) { animation-range:entry 8% cover 26%; }
  .principles li:nth-child(3) { animation-range:entry 12% cover 30%; }
  .toolbox dl div,.about-principles article,.about-field-notes dl div,.index-list a { animation:detail-row-scroll linear both; animation-timeline:view(block); animation-range:entry 5% cover 24%; }
  @keyframes project-visual-scroll { from { opacity:.68; translate:0 var(--motion-reveal-distance); scale:.985; } to { opacity:1; translate:0; scale:1; } }
  @keyframes project-copy-scroll { from { opacity:.62; translate:0 9px; } to { opacity:1; translate:0; } }
  @keyframes principle-scroll { from { opacity:.35; translate:-10px 0; } to { opacity:1; translate:0; } }
  @keyframes detail-row-scroll { from { opacity:.58; translate:9px 0; } to { opacity:1; translate:0; } }
  .case-story > section { view-timeline-name:--case-chapter; view-timeline-axis:block; }
  .case-story > section > .eyebrow,.case-story > section > h2,.case-story > section > .prose { animation:case-chapter-reveal linear both; animation-timeline:--case-chapter; }
  .case-story > section > .eyebrow { animation-range:entry 2% cover 22%; }
  .case-story > section > h2 { animation-range:entry 5% cover 27%; }
  .case-story > section > .prose { animation-range:entry 8% cover 32%; }
  @keyframes case-chapter-reveal { from { opacity:.52; translate:0 var(--motion-reveal-distance); } to { opacity:1; translate:0; } }
}
@media (min-width:781px) and (min-height:700px) {
  html:has(.case-story) { scroll-snap-type:y proximity; scroll-padding-top:clamp(8.5rem,16vw,12rem); }
}
/* Short reading-order entrances; the underlying content stays fully visible. */
@media (prefers-reduced-motion: no-preference) {
  :root:not([data-motion="reduced"]) :is(.page-intro,.case-intro) > :where(.eyebrow,h1,.lede) { animation:intro-settle 420ms var(--ease-route) backwards; }
  :root:not([data-motion="reduced"]) :is(.page-intro,.case-intro) > h1 { animation-delay:50ms; }
  :root:not([data-motion="reduced"]) :is(.page-intro,.case-intro) > .lede { animation-delay:100ms; }
}
@keyframes intro-settle { from { opacity:.55; translate:0 8px; } }

/* A steady shell and a short handoff between reading surfaces. */
@view-transition { navigation: auto; }
:root { --page-travel: 12px; --page-exit: -6px; }
:root[data-page-direction="back"] { --page-travel: -12px; --page-exit: 6px; }
:root[data-page-arrived] :is(.hero-copy,.signal-map),:root[data-page-arrived] .hero::after,
:root[data-page-arrived] :is(.page-intro,.case-intro) > :is(.eyebrow,h1,.lede) { animation:none; }
/* Capture the reading surface once at viewport size. Separate headings and
   full-document groups otherwise interpolate large widths/heights on navigation. */
:root:not(:has(.lost-page)) :is(main,.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.lede,.page-intro>.eyebrow,.page-intro>h1,.page-intro>.lede,.case-intro>.eyebrow,.case-intro>h1,.case-intro>.lede,.breadcrumb,.case-facts,.case-route,.site-footer,.case-next) { view-transition-name:none; }
::view-transition { pointer-events:none; }
::view-transition-image-pair(*) { isolation:auto; }
::view-transition-old(*),::view-transition-new(*) { mix-blend-mode:normal; }
/* Static snapshot geometry leaves only opacity and a small translation to animate. */
::view-transition-group(root),::view-transition-group(site-mark),::view-transition-group(site-nav) { animation:none; }
::view-transition-old(root) { animation:120ms ease-out both page-out; }
::view-transition-new(root) { animation:260ms var(--ease-route) both page-in; }
::view-transition-old(site-mark) { animation:none; opacity:0; }
::view-transition-new(site-mark) { animation:none; }
::view-transition-old(site-nav) { animation:120ms ease-out both page-fade-out; }
::view-transition-new(site-nav) { animation:180ms ease-out both page-fade-in; }
@keyframes page-fade-out { to { opacity:0; } }
@keyframes page-fade-in { from { opacity:0; } }
@keyframes page-out { to { opacity:0; translate:var(--page-exit) 0; } }
@keyframes page-in { from { opacity:0; translate:var(--page-travel) 0; } }
:root[data-motion="reduced"]::view-transition-group(*),
:root[data-motion="reduced"]::view-transition-old(*),
:root[data-motion="reduced"]::view-transition-new(*) { animation:none!important; }
@media (prefers-reduced-motion:reduce) { @view-transition { navigation:none; } }
@media (max-width: 780px) {
  :root { --wrap: min(100% - 28px, 680px); }
  .site-header { min-height:76px; }.brand-mark { width:42px; }.wordmark-copy small { display:none; } nav { gap:1rem; } nav a { font-size:.78rem; }.nav-cta { padding:.48rem .68rem; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-block: 4.5rem 4rem; }.signal-map { margin-top: 2rem; }.signal-map figcaption { margin-top: -.5rem; }
  .principles { grid-template-columns: 1fr; gap: 1rem; }.principles ul { flex-direction: column; gap: .65rem; }
  .section-heading { grid-template-columns: 1fr; }.section-heading .eyebrow { margin-bottom: 0; }.project-list { grid-template-columns: 1fr; }.project-featured { grid-column: auto; }.project-featured .project-visual { aspect-ratio: 1.55 / 1; }
  .toolbox, .current, .contact, .hobbies, .about-grid, .about-field-notes { grid-template-columns: 1fr; }.toolbox,.current,.contact { gap: 2rem; }.hobbies { gap: 2rem; }.about-heading { position: static; }.about-heading h2,.about-field-notes h2 { max-width: 14ch; }.about-field-notes { gap: 2rem; }
  .hobbies-heading { display: grid; grid-template-columns: 1fr 2fr; gap: 1rem; align-items: start; }.hobbies-heading .eyebrow { margin: .3rem 0 0; }
  .hobby-route { --hobby-stagger:0rem; }.hobby-route ul { grid-template-columns: repeat(5,1fr); }.hobby-route li:nth-child(even) { translate: none; }
  .index-list a { grid-template-columns:1.6rem minmax(0,1fr) 2rem; gap:1rem; }.index-list .project-glyph { grid-column:1; grid-row:1 / span 2; }.index-list a>span { grid-column:2; grid-row:1; }.index-list a>i { grid-column:2; grid-row:2; }.index-list a>strong { grid-column:3; grid-row:1 / span 2; }
  .case-thesis { grid-template-columns: 1fr; gap: .45rem; }.case-facts { grid-template-columns: 1fr; }.case-facts div + div { border-top: 1px solid var(--line); }
  .case-story > section { grid-template-columns: 1fr; gap: 1.5rem; }.case-story > section .eyebrow { margin-bottom: 0; }.case-next { grid-template-columns: 1fr; gap: .8rem; }
}
@media (max-width: 430px) { .wordmark-copy { display:none; }.site-header nav a:first-child { display:none; } h1 { font-size:clamp(3.1rem,16vw,4.6rem); }.hero-actions { align-items:flex-start; flex-direction:column; }.signal-map { margin-inline:-8px; }.hero::after { left:20%; }.palette-panels { width:min(19rem,calc(100vw - 2rem));max-height:calc(100dvh - 6rem);overflow-y:auto; }.palette-panel-body,.palette-picker.has-scene-controls .palette-panel-body { grid-template-columns:1fr; }.palette-picker .theme-options { border-top:1px solid var(--line); } }
@media (prefers-reduced-motion: reduce) {
  .hero-copy,.signal-map,.hero::after { animation:none!important; }
  html { scroll-behavior:auto; scroll-snap-type:none!important; }.case-story section { scroll-snap-align:none; }.project-visual,.project-copy,.principles li,.toolbox dl div,.about-principles article,.about-field-notes dl div,.index-list a,.case-story>section>.eyebrow,.case-story>section>h2,.case-story>section>.prose { animation:none!important; opacity:1!important; translate:none!important; scale:1!important; }.hobby-traveler,.route-bigfoot,.route-bike,.ddns-packets { display: none; }.visual-shield .check { stroke-dashoffset: 0; }.hobby-landed-disc { display: block; }.hobby-route li,.hobby-route li > svg,.hobby-thrower,.throwing-arm { animation: none; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) { animation-duration: .01ms !important; animation-delay: 0s !important; }
}
:root[data-motion="reduced"].is-loading :is(.signal-map,.project-visual,.hobby-route,.cryptid-camp)::after { animation:none; }
:root[data-motion="reduced"] { scroll-behavior:auto; }
:root[data-motion="reduced"] *,:root[data-motion="reduced"] *::before,:root[data-motion="reduced"] *::after { animation:none!important; transition:none!important; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) { color-scheme:dark; }
  .map-node circle:first-child { filter: none; }
  :root:not([data-theme]) .availability { background:var(--snow); color:var(--ink); }
  :root:not([data-theme]) .availability .button { border-color:var(--ink); background:var(--ink); color:var(--paper); }
  :root:not([data-theme]) .contact { background:var(--snow); color:var(--ink); }
  :root:not([data-theme]) .contact .eyebrow,:root:not([data-theme]) .contact div > p { color:var(--muted); }
  :root:not([data-theme]) .contact .button { border-color:var(--ink); background:var(--ink); color:var(--paper); }
  :root:not([data-theme]) .scene-night-only,:root:not([data-theme]) .hike-aurora,:root:not([data-theme]) .hike-moon,:root:not([data-theme]) .moon-crater,:root:not([data-theme]) .hike-stars,:root:not([data-theme]) .camp-moon,:root:not([data-theme]) .camp-sky-stars,:root:not([data-theme]) .camp-star { visibility:visible; }:root:not([data-theme]) .scene-day-only { visibility:hidden; }
}
:root[data-theme="day"] { color-scheme:light;--scene-sky:#d9eef4;--scene-sky-edge:#77a8b8;--scene-celestial:#e4b95f; }
:root[data-theme="day"] .scene-night-only,:root[data-theme="day"] .hike-aurora,:root[data-theme="day"] .hike-moon,:root[data-theme="day"] .moon-crater,:root[data-theme="day"] .hike-stars,:root[data-theme="day"] .camp-moon,:root[data-theme="day"] .camp-sky-stars,:root[data-theme="day"] .camp-star { visibility:hidden; }
:root[data-theme="day"] .scene-day-only { visibility:visible; }
:root[data-theme="night"] { color-scheme:dark; }
:root[data-theme="night"] .availability { background:var(--snow); color:var(--ink); }
:root[data-theme="night"] .availability .button { border-color:var(--ink); background:var(--ink); color:var(--paper); }
:root[data-theme="night"] .contact { background:var(--snow); color:var(--ink); }
:root[data-theme="night"] .contact .eyebrow,:root[data-theme="night"] .contact div > p { color:var(--muted); }
:root[data-theme="night"] .contact .button { border-color:var(--ink); background:var(--ink); color:var(--paper); }
:root[data-theme="night"] .scene-night-only,:root[data-theme="night"] .hike-aurora,:root[data-theme="night"] .hike-moon,:root[data-theme="night"] .moon-crater,:root[data-theme="night"] .hike-stars,:root[data-theme="night"] .camp-moon,:root[data-theme="night"] .camp-sky-stars,:root[data-theme="night"] .camp-star { visibility:visible; }
:root[data-theme="night"] .scene-day-only { visibility:hidden; }
@media (prefers-contrast: more) {
  :root,:root[data-palette],:root[data-theme="day"],:root[data-palette][data-theme="day"] { --muted:#2e4442;--line:#718784; }
  :root[data-theme="night"],:root[data-palette][data-theme="night"] { --muted:#d4dedb;--line:#78908c; }
}
@media (prefers-color-scheme: dark) and (prefers-contrast: more) {
  :root:not([data-theme]),:root[data-palette]:not([data-theme]) { --muted:#d4dedb;--line:#78908c; }
}
@media (forced-colors: active) {
  :root,:root[data-palette] { --paper: Canvas; --snow: Canvas; --ink: CanvasText; --muted: CanvasText; --copper: LinkText; --lichen: Highlight; --line: GrayText; }
  .skip-link { border-color:CanvasText; background:Canvas; color:CanvasText; box-shadow:none; }
  .trail-glyph { color:LinkText; }
  .trail-arrow { color:LinkText; }
  .button, .nav-cta { forced-color-adjust: none; background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  .signal-path, .case-route-line { stroke: LinkText; }.hobby-trail > path { stroke: GrayText; }.hobby-traveler,.hobby-landed-disc { fill: Highlight; }.traveler-ufo .ufo-beam { fill: Canvas; stroke: Highlight; }.map-node .pulse { display: none; }.project-visual { border: 1px solid CanvasText; background: Canvas; }
}
@media print {
  nav,.hero-actions,.all-work,.site-footer a { display: none; }
  .hero { min-height: auto; }.project-link, .case-story > section { break-inside: avoid; }
  .work-section, .toolbox, .current, .contact, .hobbies, .about-grid, .availability, .index-list { content-visibility: visible; contain-intrinsic-size: none; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
}

.glyph-explorer-item:is(:hover,:focus-visible)>svg>use { --glyph-trail-blaze-brush-motion:glyph-trail-blaze-brush 680ms var(--ease-route); --glyph-marshmallow-roast-motion:glyph-marshmallow-roast-turn 680ms var(--ease-pop); }

/* 404 · cryptid night watch */

/* Field-guide details stay in the margins and carry no motion or interaction. */
:root:not(:has(.lost-page)) :is(.section-heading,.page-intro) { position:relative; }
:root:not(:has(.lost-page)) :is(.section-heading,.page-intro)::before { content:''; display:block; position:absolute; inset-block-start:-1.6rem; inset-inline-start:0; width:1.35rem; height:.3rem; border-block:2px solid var(--copper); pointer-events:none; }
.field-ridge { width:clamp(7rem,16vw,13rem); height:auto; flex:none; fill:none; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.field-ridge-land { stroke:var(--ink); stroke-width:1; opacity:.42; }
.field-ridge-trail { stroke:var(--copper); stroke-width:1.3; stroke-dasharray:2 3; }
.field-ridge-end { fill:var(--copper); stroke:none; }
.field-contours { display:block; width:min(15rem,100%); height:auto; margin-block-start:2rem; fill:none; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.field-contours-land { stroke:var(--ink); stroke-width:1; opacity:.18; }
.field-contours-route { stroke:var(--copper); stroke-width:1.3; stroke-dasharray:3 4; }
.field-contours-point { stroke:var(--copper); stroke-width:1.3; fill:var(--paper); }
@media (max-width:600px) {
  :root:not(:has(.lost-page)) .site-footer { flex-wrap:wrap; column-gap:1rem; row-gap:1rem; }
  .site-footer:has(.field-ridge) .shortcut-hint { order:3; width:100%; text-align:center; }
  .site-footer:has(.field-ridge)>a { margin-inline-start:auto; }
  .field-ridge { order:-1; width:100%; height:2.5rem; }
  .field-contours { width:10rem; margin-block-start:1.25rem; }
}
@media print, (forced-colors:active) {
  .field-ridge,.field-contours { display:none; }
  :root:not(:has(.lost-page)) :is(.section-heading,.page-intro)::before { display:none; }
}
