/* PRIME /prime-viewport-contract.css */
/* Prime Creation // CLEAN ROOM VIEWPORT + USER SCROLL CONTRACT v2
   Physical geometry is CSS-only. Browser-trusted gestures are the only page-scroll mover.
   No JS viewport measurement, scroll restoration, synthetic scroll, momentum shim, or route patch owns page movement.
   Spatial chains must never be collapsed by shell paint containment, isolation, or hidden overflow. */

:root{
  --prime-shell-bg:#020509;
  --prime-shell-height:100vh;
  --prime-page-viewport-height:100vh;
  --prime-layout-gutter:clamp(.65rem,1.25vw,1.15rem);
  --prime-layout-gap:clamp(.55rem,1vw,1rem);
  --prime-control-target:40px;
  --prime-copy-measure:72ch;
  --prime-page-bottom-clearance:calc(var(--prime-pill-system-reserve,68px) + clamp(.7rem,1.5vh,1.15rem));
  --prime-page-module-clearance:var(--prime-pill-system-reserve,68px);
  --prime-native-safe-left:env(safe-area-inset-left,0px);
  --prime-native-safe-right:env(safe-area-inset-right,0px);
  --prime-native-safe-top:env(safe-area-inset-top,0px);
  --prime-native-safe-bottom:env(safe-area-inset-bottom,0px);
  --prime-safe-content-left:var(--prime-native-safe-left);
  --prime-safe-content-right:var(--prime-native-safe-right);
  --prime-safe-content-top:var(--prime-native-safe-top);
  --prime-safe-content-bottom:var(--prime-native-safe-bottom);
  --prime-viewport-frame-inset:1px;
}
/* First paint must track the browser's currently visible viewport, not the
   permanently-small viewport. 100vh remains the universal fallback. */
@supports(height:100dvh){:root{--prime-shell-height:100dvh;--prime-page-viewport-height:100dvh}}
/* Freeze the touch shell against mobile browser-bar expansion/collapse.
   Native internal scroll is still free to move, without geometry reflow. */
@supports(height:100svh){
  @media (hover:none) and (pointer:coarse){
    :root{--prime-shell-height:100svh;--prime-page-viewport-height:100svh}
  }
}


html{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  height:var(--prime-shell-height)!important;
  background:var(--prime-shell-bg)!important;
  overflow:clip!important;
  overscroll-behavior:none!important;
  transform-style:preserve-3d!important;
}
body.prime-v2{
  position:fixed!important;
  inset:0 auto auto 0!important;
  width:100%!important;
  height:var(--prime-shell-height)!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:var(--prime-shell-bg)!important;
  overflow:clip!important;
  overscroll-behavior:none!important;
  transform-style:preserve-3d!important;
}

/* iOS WebKit browser-chrome guard.
   Chrome on iPhone/iPad can paint fixed viewport-root layers against a stale toolbar
   anchor on first paint, leaving a false empty strip below the shell. Keep the same
   CSS-only viewport rectangle, but anchor the root through normal absolute layout so
   the Receptor reaches the browser's actual page edge without any JS geometry writer. */
@supports (-webkit-touch-callout:none){
  @media (hover:none) and (pointer:coarse){
    html{
      height:var(--prime-shell-height)!important;
      min-height:0!important;
    }
    body.prime-v2{
      position:absolute!important;
      inset:0!important;
      height:var(--prime-shell-height)!important;
      min-height:0!important;
    }
  }
}

body.prime-v2>#main[data-app-shell]{
  /* Fix the machine to the visual viewport, not WebKit's occasionally moving
     absolute document root. Both machine and bottom command rail must use
     the same fixed coordinate system during upward native page gestures. */
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:var(--prime-shell-height)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:clip!important;
  background:var(--prime-shell-bg)!important;
  isolation:auto!important;
  contain:layout style!important;
  transform-style:preserve-3d!important;
}

/* Only the active route exists visually. */
body.prime-v2 #main[data-app-shell]>.app-window{display:none!important}
body.prime-v2 #main[data-app-shell]>.app-window[hidden],
body.prime-v2 #main[data-app-shell]>.app-window[aria-hidden="true"],
body.prime-v2 #main[data-app-shell]>.app-window:not(.is-prime-viewport-active){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  content-visibility:hidden!important;
}
body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active:not([hidden])[aria-hidden="false"]{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  content-visibility:visible!important;
  transform-style:preserve-3d!important;
}

/* Page 01 is fixed Receptor paint. */
body.prime-v2 #main[data-app-shell]>#top.app-window.is-prime-viewport-active:not([hidden]){
  display:grid!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:clip!important;
  overscroll-behavior:none!important;
  touch-action:manipulation!important;
  z-index:1!important;
  transform-style:preserve-3d!important;
}
body.prime-v2 #main[data-app-shell]>#top.app-window.is-prime-viewport-active:not([hidden]) .receptor-brand-group{
  top:0!important;
  bottom:auto!important;
  block-size:calc(100% - var(--prime-pill-system-reserve,68px))!important;
  max-block-size:calc(100% - var(--prime-pill-system-reserve,68px))!important;
}

/* ONE PHYSICAL PAGE RECTANGLE.
   No --pf-* variable, visualViewport value, JavaScript height, or route stylesheet participates.
   Shell height comes only from the CSS 100vh fallback / 100dvh live-chrome contract above. */
body.prime-v2 #main[data-app-shell]>.app-window[data-prime-viewport-module].is-prime-viewport-active:not([hidden]):not(#top){
  position:absolute!important;
  top:var(--prime-native-safe-top)!important;
  right:var(--prime-native-safe-right)!important;
  bottom:var(--prime-pill-system-reserve,68px)!important;
  left:var(--prime-native-safe-left)!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(137,230,255,.28)!important;
  border-radius:clamp(1.05rem,2.4vw,1.7rem)!important;
  background-clip:padding-box!important;
  container-type:inline-size;
  container-name:prime-page;
  z-index:1!important;
  transform-style:preserve-3d!important;
}

/* ONE NATIVE PAGE SCROLL CONTRACT.
   These are the only page routes with vertical page scrolling. No script participates.
   Native scrolling remains the only unavoidable grouping boundary; no additional shell
   paint/isolation boundary is allowed above it. */
body.prime-v2 #main[data-app-shell]>:is(#intro,#sprite,#process,#studio,#contact).app-window.is-prime-viewport-active:not([hidden]){
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:none!important;
  overscroll-behavior-y:none!important;
  touch-action:pan-y pinch-zoom!important;
  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
  scroll-snap-align:none!important;
  scroll-snap-stop:normal!important;
  /* Avoid promotion of the physical scrollport into an isolated visual group.
     Spatial machines and route media may composite only on child layers. */
  isolation:auto!important;
  /* Only user input changes native scroll. Disable automatic anchor jumps. */
  overflow-anchor:none!important;
  scrollbar-gutter:auto!important;
  scroll-padding:var(--prime-layout-gutter) var(--prime-layout-gutter) var(--prime-page-bottom-clearance)!important;
}
body.prime-v2 #main[data-app-shell]>#sprite[data-prime-sprit-mode="embedded-app"].app-window.is-prime-viewport-active:not([hidden]),
body.prime-v2 #main[data-app-shell]>:is(#music,#portfolio,#video,#book).app-window.is-prime-viewport-active:not([hidden]){
  overflow:clip!important;
  overscroll-behavior:none!important;
}

/* Route display semantics only. */
#main[data-app-shell]>:is(#intro,#music,#book,#studio).is-prime-viewport-active:not([hidden]){display:block!important}
#main[data-app-shell]>:is(#portfolio,#video,#sprite,#process,#contact).is-prime-viewport-active:not([hidden]){display:grid!important}

/* All visible route scrollports reject implicit anchor/snap movement. */
body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active:not([hidden])[aria-hidden="false"]{
  scroll-snap-type:none!important;
  overflow-anchor:none!important;
}

/* Explicit local scrollers remain native, user-driven, and isolated from page movement. */
[data-prime-local-scroll="x"]{overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain!important;overscroll-behavior-block:none!important;touch-action:pan-x pinch-zoom!important}
[data-prime-local-scroll="y"]{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-inline:none!important;overscroll-behavior-block:contain!important;touch-action:pan-y pinch-zoom!important}
[data-prime-local-scroll="both"]{overflow:auto!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y pinch-zoom!important}

/* Shared motion is paint under the page, never geometry. */
html[data-prime-viewport-motion] body.prime-v2 #main[data-app-shell]>.prime-viewport-motion-layer[data-prime-background-layer="true"]{
  clip-path:inset(0 round var(--prime-motion-radius,0px))!important;
}

/* The shell has no decorative border. Only each machine provides a bezel. */

/* Shell children. */
#main[data-app-shell]>.ambient,#main[data-app-shell]>.pc-spatial-viewport-field{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;pointer-events:none!important}
#main[data-app-shell]>.topbar[data-header]{position:absolute!important;z-index:900!important;top:var(--prime-native-safe-top)!important;right:var(--prime-native-safe-right)!important;left:var(--prime-native-safe-left)!important;width:auto!important;margin:0!important}
#main[data-app-shell]>:is(.prime-site-transition,#primeBrandIntro){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
#main[data-app-shell]>.help[data-help]{position:absolute!important;z-index:985!important;contain:none!important}
#main[data-app-shell]>footer{display:none!important}
html[data-prime-viewport-active="top"] #main[data-app-shell]>.topbar[data-header]{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* Content safety only. */
body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active :where(*){min-width:0}
body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active :where(img,video,canvas,svg,iframe){max-width:100%}
body.prime-v2 [data-prime-clip="true"]{overflow:clip!important}
body.prime-v2 :where(button,.button,a[href],input,select,textarea,[tabindex]):focus-visible{outline:2px solid rgba(137,230,255,.82)!important;outline-offset:2px!important}

/* Any explicit spatial parent chain must preserve Z. */
html[data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 :is([data-prime-spatial-field-page],[data-prime-spatial-field-parent],[data-prime-spatial-field-child="true"],.pc-spatial-host){
  transform-style:preserve-3d!important;
}

html[data-prime-form-factor="desktop"]{--pad:clamp(1.2rem,4.2vw,6rem);--prime-layout-gutter:clamp(.8rem,1.2vw,1.25rem);--prime-layout-gap:clamp(.7rem,1vw,1.15rem);--prime-control-target:40px}
html[data-prime-form-factor="tablet"]{--pad:clamp(1rem,3.2vw,2.8rem);--prime-layout-gutter:clamp(.72rem,1.8vw,1.15rem);--prime-layout-gap:clamp(.62rem,1.5vw,1rem);--prime-control-target:44px}
html[data-prime-form-factor="phone"]{--pad:clamp(.68rem,3.3vw,1rem);--prime-layout-gutter:clamp(.48rem,2.6vw,.82rem);--prime-layout-gap:clamp(.42rem,2vw,.72rem);--prime-control-target:44px;--prime-copy-measure:62ch}
body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active :where(p,li,dd){max-inline-size:var(--prime-copy-measure)}

html[data-prime-viewport-morphing="true"] body.prime-v2>#main[data-app-shell],
html[data-prime-viewport-morphing="true"] #main[data-app-shell]>.app-window.is-prime-viewport-active{transition:none!important}
@media(prefers-reduced-motion:reduce){body.prime-v2 #main[data-app-shell] *{scroll-behavior:auto!important}}

/* Prime native scroll reachability // 20261008-r1 */
/* CSS-only native vertical scrolling. No geometry measurements or JS scroll
   writers. Receptor remains fixed; gallery and embedded Sprite retain their
   own local scroll; ACTUATOR's internal reader remains independently scrollable. */
body.prime-v2 #main[data-app-shell] > #book.app-window.is-prime-viewport-active:not([hidden])[aria-hidden="false"]{
  overflow-x:hidden!important;overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;
  touch-action:pan-y pinch-zoom!important;
  scroll-behavior:auto!important;
  scroll-padding-block-end:var(--prime-page-bottom-clearance)!important;
}
body.prime-v2 #main[data-app-shell] > #book.app-window.is-prime-viewport-active > .pc-book-layout{
  height:auto!important;max-height:none!important;overflow:visible!important;
  padding-bottom:max(var(--prime-layout-gutter),var(--prime-page-bottom-clearance))!important;
}
/* The video instrument may use native page scrolling in exceptionally short
   windows. Page 03 desktop is deliberately scroll-free at every height. */
@media (max-height:640px){
  html[data-prime-viewport-authority] body.prime-v2 #main[data-app-shell] > #video.app-window.is-prime-viewport-active:not([hidden])[aria-hidden="false"]{
    overflow-x:hidden!important;overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;
    touch-action:pan-y pinch-zoom!important;scroll-behavior:auto!important;
    scroll-padding-block-end:var(--prime-layout-gutter)!important;
  }
  html[data-prime-viewport-authority] body.prime-v2 #main[data-app-shell] > #video.video-zone.app-window.is-prime-viewport-active > .video-grid{
    height:auto!important;min-height:100%!important;max-height:none!important;
    overflow:visible!important;contain:layout!important;align-content:start!important;
  }
  html[data-prime-viewport-authority] body.prime-v2 #main[data-app-shell] > #video.video-zone.app-window.is-prime-viewport-active .pc-video-shell{
    height:auto!important;min-height:18rem!important;max-height:none!important;
    grid-template-rows:minmax(7rem,1fr) auto auto auto auto auto!important;
  }
}
/* Allow the same fallback for Page 03 only on small touch layouts.
   Never let a short desktop browser window turn the music page into a scroller. */
@media (max-height:640px) and (pointer:coarse){
  html:not([data-prime-form-factor="desktop"])[data-prime-viewport-authority] body.prime-v2 #main[data-app-shell] > #music.app-window.is-prime-viewport-active:not([hidden])[aria-hidden="false"]{
    overflow-x:hidden!important;overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:none!important;overscroll-behavior-y:none!important;
    touch-action:pan-y pinch-zoom!important;scroll-behavior:auto!important;
    scroll-padding-block-end:var(--prime-layout-gutter)!important;
  }
  html:not([data-prime-form-factor="desktop"])[data-prime-viewport-authority] body.prime-v2 #main[data-app-shell] > #music.app-window.is-prime-viewport-active > .children03-surface{
    height:auto!important;min-height:100%!important;max-height:none!important;
    overflow:visible!important;grid-template-rows:auto auto!important;
    align-content:start!important;
  }
  html:not([data-prime-form-factor="desktop"])[data-prime-viewport-authority] body.prime-v2 #main[data-app-shell] > #music.app-window.is-prime-viewport-active [data-resonance-player]{
    height:auto!important;min-height:20rem!important;max-height:none!important;align-self:start!important;
  }
}
/* Short-screen native scroll must not chain or snap at the machine edge. */
body.prime-v2 #main[data-app-shell]>:is(#book,#music,#video).app-window.is-prime-viewport-active:not([hidden])[aria-hidden="false"]{
  scroll-snap-type:none!important;
  overflow-anchor:none!important;
  overscroll-behavior-y:none!important;
}

/* Keep keyboard-focused form fields visible after native page scrolling. */
body.prime-v2 #main[data-app-shell] > :is(#intro,#sprite,#process,#studio,#contact,#book).is-prime-viewport-active :is(input,textarea,select,[contenteditable="true"]):focus{
  scroll-margin-block-start:clamp(.65rem,2vh,1.2rem);
  scroll-margin-block-end:clamp(1.2rem,3vh,2.1rem);
}

/* One immutable physical scrollport per route, even when internal content has
   full-height decorative grids. A 100%-tall min-height plus nonzero top and
   bottom insets can silently push the whole machine out of its viewport. */
html[data-prime-viewport-authority] body.prime-v2 #main[data-app-shell]
>.app-window[data-prime-viewport-module].is-prime-viewport-active:not([hidden]):not(#top){
  min-height:0!important;
  scroll-behavior:auto!important;
  overflow-anchor:none!important;
}

/* PRIME /prime-layout-authority.css */
/* Prime Creation // PrimeLayout page-composition contract
   prime-viewport-contract.css owns the physical browser shell and page scrolling.
   PrimeLayout publishes form-factor/orientation diagnostics for content composition.
   PrimePillSystem is body-root viewport chrome outside this authority. */

html[data-prime-layout] body.prime-v2 #main[data-app-shell]>:is(#book,#studio).app-window.section[data-prime-viewport-module]{padding:0!important}
html[data-prime-layout] body.prime-v2 #main[data-app-shell]>#portfolio.app-window.is-prime-viewport-active:not([hidden]),
html[data-prime-layout] body.prime-v2 #main[data-app-shell]>#video.app-window.is-prime-viewport-active:not([hidden]){box-sizing:border-box!important;padding-bottom:var(--prime-page-bottom-clearance,5rem)!important}

html[data-prime-layout] body.prime-v2 #sprite>.radar,
html[data-prime-layout] body.prime-v2 #contact>.contact-orbit{contain:paint!important}
/* Spatial owns active-page 3D geometry. Layout containment may not flatten its Page 07/10 subtrees. */
html[data-prime-layout][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 #sprite>.radar,
html[data-prime-layout][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 #contact>.contact-orbit{contain:none!important}

/* Desktop composition tokens. Route styles consume these; viewport geometry remains untouched. */
@media(min-width:901px){
  html[data-prime-layout][data-prime-form-factor="desktop"]{
    --prime-desktop-canvas:min(92vw,90rem);
    --prime-desktop-wide:min(96vw,104rem);
    --prime-desktop-copy:min(42rem,100%);
    --prime-desktop-gap:clamp(1.5rem,3.2vw,3.75rem);
    --prime-desktop-block:clamp(1rem,2.4vh,2rem);
    --prime-desktop-inline:clamp(1.25rem,3vw,3rem);
  }
}

@media(max-width:900px){
  html[data-prime-layout] body.prime-v2 #main[data-app-shell]>:is(#process,#contact).app-window.is-prime-viewport-active:not([hidden]){grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;grid-auto-flow:row!important;column-gap:0!important;box-sizing:border-box!important}
  html[data-prime-layout] body.prime-v2 #process>:is(div[data-reveal],ol),html[data-prime-layout] body.prime-v2 #contact>:is([data-page10-contact-copy="true"],#projectForm){grid-column:1/-1!important;grid-row:auto!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;justify-self:stretch!important;box-sizing:border-box!important}
  html[data-prime-layout] body.prime-v2 #process>ol{grid-template-columns:minmax(0,1fr)!important}
  html[data-prime-layout] body.prime-v2 #sprite:not([data-prime-sprit-mode="embedded-app"]) .sprite-launch-gate{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;width:100%!important;max-width:100%!important;min-width:0!important}
  html[data-prime-layout] body.prime-v2 #sprite:not([data-prime-sprit-mode="embedded-app"]) .sprite-launch-gate>:is([data-sprit-launch],[data-sprit-disconnect],[data-sprit-launch-state]){grid-column:1!important;width:100%!important;max-width:100%!important;min-width:0!important;position:static!important;inset:auto!important;box-sizing:border-box!important}
  html[data-prime-layout] body.prime-v2 #sprite [data-sprit-disconnect][hidden],html[data-prime-layout] body.prime-v2 #sprite[data-prime-sprit-connection="disconnected"] [data-sprit-disconnect],html[data-prime-layout] body.prime-v2 #sprite:not([data-prime-sprit-connection="connected"]):not([data-prime-sprit-connection="connecting"]) [data-sprit-disconnect]{display:none!important}
  html[data-prime-layout] body.prime-v2 #sprite[data-prime-sprit-connection="connected"] [data-sprit-launch]{display:none!important}
}

html[data-prime-layout][data-prime-viewport-morphing="true"] body.prime-v2>#main[data-app-shell],html[data-prime-layout][data-prime-viewport-morphing="true"] #main[data-app-shell]>.app-window.is-prime-viewport-active{transition:none!important}
/* PRIME /prime-environment.css */
/* Prime Creation // Platform Adapter v19 environment primitives
   PrimePlatformAdapter measures the session and publishes variables/states.
   PrimeViewportAuthority owns outer geometry. PrimeAdaptiveAuthority and page
   modules own composition. No page-specific or outer viewport layout lives here. */

:root{
  --prime-platform-vw:100vw;
  --prime-platform-vh:100dvh;
  --prime-platform-usable-vw:100vw;
  --prime-platform-usable-vh:100dvh;
  --prime-platform-layout-vw:100vw;
  --prime-platform-layout-vh:100dvh;
  --prime-platform-visual-vw:100vw;
  --prime-platform-visual-vh:100dvh;
  --prime-platform-dvh:100dvh;
  --prime-platform-svh:100svh;
  --prime-platform-lvh:100lvh;
  --prime-platform-page-width:100vw;
  --prime-platform-page-height:100dvh;
  --prime-platform-vv-offset-x:0px;
  --prime-platform-vv-offset-y:0px;
  --prime-platform-vv-scale:1;
  --prime-platform-dpr:1;
  --prime-platform-text-scale:1;
  --prime-platform-keyboard-height:0px;
  --prime-platform-keyboard-visible:0;
  --prime-platform-browser-ui-top:0px;
  --prime-platform-browser-ui-bottom:0px;
  --prime-platform-control-min:40px;
  --prime-platform-touch-target-min:44px;
  --prime-platform-scrollbar:10px;
  --prime-platform-safe-top:env(safe-area-inset-top,0px);
  --prime-platform-safe-right:env(safe-area-inset-right,0px);
  --prime-platform-safe-bottom:env(safe-area-inset-bottom,0px);
  --prime-platform-safe-left:env(safe-area-inset-left,0px);
  --prime-platform-safe-max-top:env(safe-area-max-inset-top,0px);
  --prime-platform-safe-max-right:env(safe-area-max-inset-right,0px);
  --prime-platform-safe-max-bottom:env(safe-area-max-inset-bottom,0px);
  --prime-platform-safe-max-left:env(safe-area-max-inset-left,0px);
  --prime-platform-titlebar-x:env(titlebar-area-x,0px);
  --prime-platform-titlebar-y:env(titlebar-area-y,0px);
  --prime-platform-titlebar-width:env(titlebar-area-width,0px);
  --prime-platform-titlebar-height:env(titlebar-area-height,0px);
  --prime-platform-segment-count:1;
  --prime-platform-hinge-x:0px;
  --prime-platform-hinge-y:0px;
  --prime-platform-hinge-width:0px;
  --prime-platform-hinge-height:0px;
  --prime-platform-motion-factor:1;
  --prime-platform-effects-scale:1;
  --prime-platform-refresh-hz:60;
  --prime-platform-frame-budget:16.67ms;
  --prime-platform-spatial-hz:30;
  --prime-platform-image-max-width:1280px;
  --prime-platform-image-quality:78;
  --prime-platform-contrast-factor:1;
  --prime-platform-transparency-factor:1;
  --prime-platform-content-top:max(var(--prime-platform-safe-top),var(--prime-platform-titlebar-height));
  --prime-platform-content-right:var(--prime-platform-safe-right);
  --prime-platform-content-bottom:max(var(--prime-platform-safe-bottom),var(--prime-platform-keyboard-height));
  --prime-platform-content-left:var(--prime-platform-safe-left)
}

html[data-prime-active-input="touch"]{--prime-platform-scrollbar:0px}
html[data-prime-active-input="mouse"],html[data-prime-active-input="keyboard"],html[data-prime-active-input="pen"]{--prime-platform-scrollbar:10px}
html.prime-platform-desktop{scrollbar-gutter:stable}
html.prime-platform-windows,html.prime-platform-linux{text-rendering:optimizeLegibility;-webkit-font-smoothing:auto}
html.prime-platform-android,html.prime-platform-ios{-webkit-text-size-adjust:100%;text-size-adjust:100%}
[data-prime-environment-probe] [data-prime-probe="text-scale"]{width:100px}

/* Active-input ergonomics. Hybrid devices can switch profiles without a reload. */
html[data-prime-platform-adapter] :where(button,[role="button"],input,select,textarea){min-block-size:var(--prime-platform-control-min)}
html[data-prime-active-input="touch"] :where(button,[role="button"],a,input,select,textarea){touch-action:manipulation}
html[data-prime-last-input="keyboard"] :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid currentColor;outline-offset:3px}

html :where([data-prime-local-scroll="true"],[data-prime-child-scroll],[data-prime-adapter-local-scroll]){overscroll-behavior:contain}
html.prime-platform-desktop :where([data-prime-local-scroll="true"],[data-prime-child-scroll],[data-prime-adapter-local-scroll]){scrollbar-gutter:stable}
html.prime-platform-touch :where([data-prime-local-scroll="true"],[data-prime-child-scroll],[data-prime-adapter-local-scroll]){-webkit-overflow-scrolling:touch}

html[data-prime-virtual-keyboard="open"]{--prime-platform-keyboard-visible:1}
html[data-prime-virtual-keyboard="closed"]{--prime-platform-keyboard-visible:0}

/* Opt-in environment primitives. Modules choose whether to consume them. */
[data-prime-adapter-safe-area]{padding-block-start:max(var(--prime-platform-safe-top),var(--prime-platform-titlebar-height));padding-inline-end:var(--prime-platform-safe-right);padding-block-end:max(var(--prime-platform-safe-bottom),var(--prime-platform-keyboard-height));padding-inline-start:var(--prime-platform-safe-left)}
[data-prime-adapter-fill]{inline-size:min(100%,var(--prime-platform-usable-vw));min-block-size:min(100%,var(--prime-platform-usable-vh))}
[data-prime-adapter-local-scroll]{max-block-size:var(--prime-platform-usable-vh);overflow:auto}
[data-prime-adapter-hinge-safe]{--prime-hinge-safe-x:var(--prime-platform-hinge-width);--prime-hinge-safe-y:var(--prime-platform-hinge-height)}
html[data-prime-platform-adapter] body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active :is(img,video,canvas,svg,iframe){max-inline-size:100%;max-block-size:100%}

/* Descriptive capability states only. Outer viewport geometry belongs exclusively
   to prime-viewport-contract.css and the measurements published by PrimeLayout. */
html[data-prime-device-posture="folded"]{--prime-platform-fold-aware:1}
html:not([data-prime-device-posture="folded"]){--prime-platform-fold-aware:0}
html[data-prime-viewport-segments]:not([data-prime-viewport-segments="1"]){--prime-platform-segmented:1}
html[data-prime-viewport-segments="1"]{--prime-platform-segmented:0}
html[data-prime-data-mode="save"] body.prime-v2 #main>.ambient,html[data-prime-data-mode="offline"] body.prime-v2 #main>.ambient{filter:none!important}

/* Low-effect sessions retain function while eliminating expensive glass work. */
html[data-prime-effects-tier="low"]{--prime-platform-transparency-factor:.25}
html[data-prime-effects-tier="medium"]{--prime-platform-transparency-factor:.72}
html[data-prime-effects-tier="high"]{--prime-platform-transparency-factor:1}

/* !important safety release.
   First paint stays fail-open. Once PrimeGlobalUI owns reveals, route content regains
   the authored reveal state instead of inheriting the startup transform:none lock.
   Page 02 deliberately keeps opacity-only reveals, and its service grid remains
   fail-open because the cards own their own reveal/open interaction. */
html[data-prime-global-ui] body.prime-v2 #main[data-app-shell]>.app-window:not(#intro):not([hidden]) [data-reveal]:not(.revealed){
  opacity:0!important;
  transform:translateY(1.6rem)!important;
}
html[data-prime-global-ui] body.prime-v2 #main[data-app-shell]>.app-window:not(#intro):not([hidden]) [data-reveal="left"]:not(.revealed){
  transform:translateX(2rem)!important;
}
html[data-prime-global-ui] body.prime-v2 #main[data-app-shell]>.app-window:not(#intro):not([hidden]) [data-reveal].revealed{
  transform:translate(0)!important;
}
html[data-prime-global-ui] body.prime-v2 #main[data-app-shell]>#intro.app-window:not([hidden]) [data-reveal]:not(.revealed){
  opacity:0!important;
  transform:none!important;
}
html[data-prime-global-ui] body.prime-v2 #main[data-app-shell]>#intro.app-window:not([hidden]) [data-reveal].revealed{
  transform:none!important;
}
html[data-prime-global-ui] body.prime-v2 #main[data-app-shell]>#intro.app-window:not([hidden]) .service-grid[data-reveal]{
  opacity:1!important;
  transform:none!important;
}

@media(hover:none) and (pointer:coarse){:where(button,[role="button"],a,input,select,textarea){touch-action:manipulation}}
@media(prefers-reduced-motion:reduce){:root{--prime-platform-motion-factor:0}html[data-prime-global-ui] body.prime-v2 #main[data-app-shell]>.app-window:not([hidden]) [data-reveal]{opacity:1!important;transform:none!important}}
@media(prefers-reduced-transparency:reduce){:root{--prime-platform-transparency-factor:0}html[data-prime-platform-adapter] body.prime-v2 dialog{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(prefers-contrast:more){:root{--prime-platform-contrast-factor:1.2}:where(button,a,input,select,textarea,[role="button"]){outline-offset:2px}}
@media(forced-colors:active){:root{--prime-platform-contrast-factor:1.35}:where(button,a,input,select,textarea,[role="button"]){forced-color-adjust:auto;border-color:ButtonText!important}}

/* PRIME /prime-shared-polish.css */
/* Prime Creation // shared responsive polish
   PrimeLayout is the only page geometry authority. Route modules own composition.
   PrimePillSystem is body-root viewport chrome and is outside this stylesheet. */

:root{--prime-shared-copy-opacity:.84}

html[data-prime-layout] body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active :where(p,.heading-copy){
  color:color-mix(in srgb,currentColor calc(var(--prime-shared-copy-opacity) * 100%),transparent)
}
html[data-prime-layout] :is(#intro .tab01-actions,#book .pc-book-actions,#sprite .sprite-launch-gate,#studio .studio-actions,#contact form) .primary{
  position:relative!important;
  z-index:3!important;
  box-shadow:0 0 0 1px rgba(117,233,255,.12) inset,0 .7rem 2rem rgba(0,0,0,.18),0 0 1.7rem rgba(84,222,255,.08)!important
}
html[data-prime-layout] :is(#intro .tab01-actions,#book .pc-book-actions) :is(.button,a):not(.primary){opacity:.78}

html[data-prime-layout] body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active,
html[data-prime-layout] body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active [data-prime-local-scroll],
html[data-prime-layout] body.prime-v2 #main[data-app-shell]>.app-window.is-prime-viewport-active [data-prime-scroll-snap]{overflow-anchor:none!important}

html[data-prime-layout][data-prime-form-factor="desktop"][data-prime-active-input="mouse"] body.prime-v2 #portfolio .page04-room-nav,
html[data-prime-layout][data-prime-form-factor="desktop"][data-prime-active-input="keyboard"] body.prime-v2 #portfolio .page04-room-nav,
html[data-prime-layout][data-prime-form-factor="desktop"][data-prime-active-input="mouse"] body.prime-v2 #video .pc-video-playlist,
html[data-prime-layout][data-prime-form-factor="desktop"][data-prime-active-input="keyboard"] body.prime-v2 #video .pc-video-playlist{
  scrollbar-width:thin!important;
  scrollbar-color:rgba(111,231,255,.42) rgba(4,13,20,.45)!important;
  padding-bottom:.34rem!important
}
html[data-prime-layout][data-prime-form-factor="desktop"] body.prime-v2 #portfolio .page04-room-nav::-webkit-scrollbar,
html[data-prime-layout][data-prime-form-factor="desktop"] body.prime-v2 #video .pc-video-playlist::-webkit-scrollbar{display:block!important;height:6px!important}
html[data-prime-layout][data-prime-form-factor="desktop"] body.prime-v2 #portfolio .page04-room-nav::-webkit-scrollbar-thumb,
html[data-prime-layout][data-prime-form-factor="desktop"] body.prime-v2 #video .pc-video-playlist::-webkit-scrollbar-thumb{background:rgba(111,231,255,.36)!important;border-radius:99px!important}
html[data-prime-layout][data-prime-form-factor="desktop"] body.prime-v2 #portfolio .page04-room-nav::-webkit-scrollbar-track,
html[data-prime-layout][data-prime-form-factor="desktop"] body.prime-v2 #video .pc-video-playlist::-webkit-scrollbar-track{background:rgba(4,13,20,.38)!important;border-radius:99px!important}

/* Page 01 logo + lettering silhouette masks. */
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-logo-box{
  filter:none!important;
  isolation:isolate!important
}
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-logo-cutout,
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-logo-box>.pc-spatial-pair[data-prime-spatial-pair="true"],
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-logo-box>.pc-spatial-texture[data-prime-spatial-texture="true"],
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-logo-box::after{
  -webkit-mask-image:url('/api/brand-material?role=logo&v=20260901-simplified-core-r14')!important;
  mask-image:url('/api/brand-material?role=logo&v=20260901-simplified-core-r14')!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  -webkit-mask-mode:luminance!important;
  mask-mode:luminance!important
}
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-lettering-art,
body.prime-v2 #top.hero.hero[data-prime-receptor="true"] .receptor-lettering-box>.pc-spatial-pair[data-prime-spatial-pair="true"],
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-lettering-box>.pc-spatial-texture[data-prime-spatial-texture="true"]{
  -webkit-mask-image:url('/api/brand-material?role=lettering&v=20260901-simplified-core-r14')!important;
  mask-image:url('/api/brand-material?role=lettering&v=20260901-simplified-core-r14')!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  -webkit-mask-mode:luminance!important;
  mask-mode:luminance!important
}
body.prime-v2 #top.hero[data-prime-receptor="true"] :is(.receptor-logo-cutout,.receptor-lettering-art){
  background:transparent!important;
  mix-blend-mode:screen!important;
  transform:translateZ(0)!important
}
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-logo-cutout{
  filter:contrast(3.8) brightness(.70) saturate(1.08)!important
}
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-lettering-art{
  filter:contrast(4.6) brightness(.64) saturate(1.12)!important
}
body.prime-v2 #top.hero[data-prime-receptor="true"] :is(.receptor-logo-box,.receptor-lettering-box)>.pc-spatial-pair,
body.prime-v2 #top.hero[data-prime-receptor="true"] :is(.receptor-logo-box,.receptor-lettering-box)>.pc-spatial-texture{
  overflow:hidden!important;
  background-clip:border-box!important;
  box-shadow:none!important;
  border:0!important
}
@media(max-width:680px){
  html[data-prime-form-factor="phone"][data-prime-viewport-authority] body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-brand-group{
    --receptor-wordmark-inline:min(80rem,var(--receptor-native-inline),var(--receptor-native-block))!important
  }
}
html[data-prime-viewport-authority].prime-brand-intro-landed[data-prime-viewport-active="top"] body.prime-v2 #main[data-app-shell] #top.hero[data-prime-receptor="true"] .receptor-logo-box::after,
html[data-prime-viewport-authority][data-prime-boot-motion="loading-degraded"][data-prime-viewport-active="top"] body.prime-v2 #main[data-app-shell] #top.hero[data-prime-receptor="true"] .receptor-logo-box::after{
  -webkit-mask-mode:luminance!important;
  mask-mode:luminance!important
}

/* Page 04 protected artwork lanes. */

@media(orientation:portrait){
  
  
  
  html[data-prime-layout][data-prime-viewport-authority] body.prime-v2 .page04-fullscreen-viewer[open] .page04-fullscreen-stage{
    inset:4.05rem clamp(.22rem,.7vw,.4rem) clamp(.22rem,.7vw,.4rem)!important
  }
}
@media(orientation:landscape){
  
  
  
  html[data-prime-layout][data-prime-viewport-authority] body.prime-v2 .page04-fullscreen-viewer[open] .page04-fullscreen-stage{
    inset:clamp(.22rem,.7vw,.4rem) clamp(.22rem,.7vw,.4rem) clamp(.22rem,.7vw,.4rem) 4.05rem!important
  }
}

/* PRIME /prime-compositor-budget.css */
/* Prime Creation // compositor allocation contract v9 // route-demand residency
   Resource residency and paint fail-open only. Prime Spatial retains optical ownership.
   PrimeRuntime owns page-specific CSS. PrimePillSystem is body-root viewport chrome and is outside this authority.
   Hidden is the only state allowed to fully suppress a canonical page. */

/* STATIC RECEPTOR MATERIAL FAILOVER
   These API-backed paints keep Page 01 visible before JavaScript repairs an unavailable authored source. */
body.prime-v2 #top.hero[data-prime-receptor="true"]>.receptor-background-box{
  background-color:#02050a!important;
  background-image:url('/api/brand-material?role=background')!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-logo-box{
  background-image:url('/api/brand-material?role=logo')!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-lettering-box{
  background-image:url('/api/brand-material?role=lettering')!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}

/* TIER 0 // inactive application descendants */
html[data-prime-device-motion-enabled="true"] body.prime-v2 #main[data-app-shell]>.app-window:not(.is-prime-viewport-active):not([data-prime-viewport-active="true"]) *{
  will-change:auto!important;
}

/* TIER 1 // fine-grained readable content */
html[data-prime-device-motion-enabled="true"] body.prime-v2 #main[data-app-shell]>.app-window:is(.is-prime-viewport-active,[data-prime-viewport-active="true"]) :is(h1,h2,h3,h4,h5,h6,p,blockquote,figcaption,dt,dd,label,output,strong,small,em,code):not(.pc-spatial-media):not(.pc-spatial-eye):not(.pc-spatial-eye *),
html[data-prime-device-motion-enabled="true"] body.prime-v2 :is(#lightbox,dialog[open]) :is(h1,h2,h3,h4,h5,h6,p,blockquote,figcaption,dt,dd,label,output,strong,small,em,code):not(.pc-spatial-media):not(.pc-spatial-eye):not(.pc-spatial-eye *){
  will-change:auto!important;
}

/* TIER 2 // Spatial optical stack */
html.prime-mobile-spatial[data-prime-compositor-state="idle"][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 .pc-spatial-source[data-prime-spatial-main="true"],
html.prime-mobile-spatial[data-prime-compositor-state="idle"][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 .pc-spatial-pair[data-prime-spatial-pair="true"],
html.prime-mobile-spatial[data-prime-compositor-state="idle"][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 .pc-spatial-pair[data-prime-spatial-pair="true"]>.pc-spatial-eye[data-prime-spatial-stereo="true"],
html.prime-mobile-spatial[data-prime-compositor-state="idle"][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 .pc-spatial-texture[data-prime-spatial-texture="true"],
html.prime-mobile-spatial[data-prime-compositor-state="idle"][data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"] body.prime-v2 .pc-spatial-depth-plane[data-prime-spatial-depth-plane]{
  will-change:auto!important;
}

/* TIER 3 // constrained resource policy */
html.prime-mobile-spatial[data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"][data-prime-performance-mode="light"] body.prime-v2 .pc-spatial-pair[data-prime-spatial-pair="true"],
html.prime-mobile-spatial[data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"][data-prime-performance-mode="light"] body.prime-v2 .pc-spatial-pair[data-prime-spatial-pair="true"]>.pc-spatial-eye[data-prime-spatial-stereo="true"],
html.prime-mobile-spatial[data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"][data-prime-performance-mode="light"] body.prime-v2 .pc-spatial-texture[data-prime-spatial-texture="true"],
html.prime-mobile-spatial[data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"]:is([data-prime-runtime-pressure-reason="heap-pressure"],[data-prime-runtime-pressure-reason="spatial-frame-cost"]) body.prime-v2 .pc-spatial-pair[data-prime-spatial-pair="true"],
html.prime-mobile-spatial[data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"]:is([data-prime-runtime-pressure-reason="heap-pressure"],[data-prime-runtime-pressure-reason="spatial-frame-cost"]) body.prime-v2 .pc-spatial-pair[data-prime-spatial-pair="true"]>.pc-spatial-eye[data-prime-spatial-stereo="true"],
html.prime-mobile-spatial[data-prime-spatial-system-enabled="true"][data-prime-spatial-enabled="true"]:is([data-prime-runtime-pressure-reason="heap-pressure"],[data-prime-runtime-pressure-reason="spatial-frame-cost"]) body.prime-v2 .pc-spatial-texture[data-prime-spatial-texture="true"],
html[data-prime-device-motion-enabled="true"][data-prime-performance-mode="light"] body.prime-v2 #main[data-app-shell]>.app-window:is(.is-prime-viewport-active,[data-prime-viewport-active="true"]) :is(img:not(.pc-spatial-source):not(.receptor-background-art):not(.receptor-logo-cutout):not(.receptor-lettering-art):not([data-prime-video-background]),video:not([data-prime-video-background]),canvas,svg):not(.pc-spatial-eye):not(.pc-spatial-eye *),
html[data-prime-device-motion-enabled="true"]:is([data-prime-runtime-pressure-reason="heap-pressure"],[data-prime-runtime-pressure-reason="spatial-frame-cost"]) body.prime-v2 #main[data-app-shell]>.app-window:is(.is-prime-viewport-active,[data-prime-viewport-active="true"]) :is(img:not(.pc-spatial-source):not(.receptor-background-art):not(.receptor-logo-cutout):not(.receptor-lettering-art):not([data-prime-video-background]),video:not([data-prime-video-background]),canvas,svg):not(.pc-spatial-eye):not(.pc-spatial-eye *){
  will-change:auto!important;
}

/* PAGE PAINT FAIL-OPEN // route metadata may drift, hidden may not. */
html[data-prime-canon="prime-creation"] body.prime-v2 #main[data-app-shell]>#top.app-window:not([hidden]){
  display:grid!important;visibility:visible!important;opacity:1!important;content-visibility:visible!important;pointer-events:auto!important
}
html[data-prime-canon="prime-creation"] body.prime-v2 #main[data-app-shell]>:is(#intro,#music,#book,#studio).app-window:not([hidden]){
  display:block!important;visibility:visible!important;opacity:1!important;content-visibility:visible!important;pointer-events:auto!important
}
html[data-prime-canon="prime-creation"] body.prime-v2 #main[data-app-shell]>:is(#portfolio,#video,#sprite,#process,#contact,#vault).app-window:not([hidden]){
  display:grid!important;visibility:visible!important;opacity:1!important;content-visibility:visible!important;pointer-events:auto!important
}
html[data-prime-canon="prime-creation"] body.prime-v2 #main[data-app-shell]>.app-window[hidden]{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;content-visibility:hidden!important
}

/* REVEAL FAIL-OPEN // readability only. Resource budgeting does not own longform geometry. */
html:not([data-prime-global-ui]) body.prime-v2 #main[data-app-shell]>.app-window:not([hidden]) [data-reveal]{
  opacity:1!important
}
/* Preserve the pre-existing geometry behavior of the two frozen pages exactly. */
html:not([data-prime-global-ui]) body.prime-v2 #main[data-app-shell]>:is(#top,#portfolio).app-window:not([hidden]) [data-reveal]{
  transform:none!important
}

/* RECEPTOR FIRST-PAINT FAIL-OPEN
   Canonical authored brand pixels must never depend on a remote CSS mask.
   Spatial clones and the shine keep their silhouette masks; the authored images do not. */
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-logo-cutout,
body.prime-v2 #top.hero[data-prime-receptor="true"] .receptor-lettering-art{
  -webkit-mask:none!important;
  mask:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
html[data-prime-viewport-active="top"] body.prime-v2 #main[data-app-shell]>#top.hero[data-prime-receptor="true"]:not([hidden]) .receptor-brand-group,
html[data-prime-viewport-active="top"] body.prime-v2 #main[data-app-shell]>#top.hero[data-prime-receptor="true"]:not([hidden]) :is(.receptor-logo-box,.receptor-lettering-box){
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
html[data-prime-viewport-active="top"] body.prime-v2 #main[data-app-shell]>#top.hero[data-prime-receptor="true"]:not([hidden]) :is(.receptor-logo-box,.receptor-lettering-box){
  align-items:center!important;
  justify-content:center!important;
}

/* Hardware-acceleration preference: selective layer hints only.
   No whole-page transform, no raster resolution overrides, no forced 3D clones.
   The compositor governor parks hints on idle/pressure and browser owns the backend. */
html[data-prime-hardware-acceleration="on"][data-prime-compositor-state="active"][data-prime-spatial-enabled="true"]:not([data-prime-runtime-pressure-reason="heap-pressure"]):not([data-prime-runtime-pressure-reason="spatial-frame-cost"]):not([data-prime-performance-mode="light"])
body.prime-v2 #main[data-app-shell] > .app-window.is-prime-viewport-active .pc-spatial-pair[data-prime-spatial-pair="true"][data-prime-gpu-resident="true"]{
  will-change:transform,opacity!important;
}
/* Selectively accelerate one visible rigid machine at a time, only after
   the shared residency manager has admitted its full raster cost. The actual
   page scrollport never receives a layer hint, translation, containment or
   forced GPU promotion. Page07's release-card scroll remains untouched. */
html[data-prime-hardware-acceleration="on"][data-prime-compositor-state="active"][data-prime-spatial-enabled="true"]:not([data-prime-gpu-context-lost="true"]):not([data-prime-runtime-pressure-reason="heap-pressure"]):not([data-prime-runtime-pressure-reason="spatial-frame-cost"])
body.prime-v2 #main[data-app-shell] > :not(#sprite).app-window.is-prime-viewport-active
[data-prime-spatial-cluster-root="true"][data-prime-spatial-field-child="true"][data-prime-gpu-resident="true"]{
  will-change:transform!important;
}
/* CSS hints are an admission request, not evidence of hardware GPU usage. */
/* OFF and AUTO fallback leave CSS compositing to the browser and existing governor. */

/* PRIME /prime-skins.css */
/* Prime shared skin system: authored materials plus CSP-safe custom-token rules. */
:root{
  color-scheme:dark;
  --prime-skin-bg:#05090d;
  --prime-skin-bg-2:#111a20;
  --prime-skin-panel:#111a20;
  --prime-skin-panel-strong:#18242d;
  --prime-skin-text:#f1f7fa;
  --prime-skin-muted:#98aab3;
  --prime-skin-accent:#b9d3dd;
  --prime-skin-accent-2:#6f8996;
  --prime-skin-edge:#8ca6b2;
  --prime-skin-opacity:.94;
  --prime-skin-blur:4px;
  --prime-skin-radius:10px;
  --prime-skin-hover-lift:1;
  --prime-skin-press-depth:2;
  --prime-skin-duration:120ms;
  --prime-skin-particles:.2;
  --prime-skin-perspective:760px;
  --prime-skin-depth:8;
  --prime-skin-disparity:.55;
  --prime-skin-font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --prime-skin-pattern:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px);
  --prime-skin-surface:linear-gradient(155deg,color-mix(in srgb,var(--prime-skin-panel-strong) 72%,white 4%),color-mix(in srgb,var(--prime-skin-panel) 96%,black 4%));
  --prime-frost-panel:color-mix(in srgb,var(--prime-skin-panel) calc(var(--prime-skin-opacity) * 100%),transparent);
  --prime-frost-control:color-mix(in srgb,var(--prime-skin-panel-strong) calc(var(--prime-skin-opacity) * 92%),transparent);
  --prime-frost-blur:var(--prime-skin-blur);
  --pc-bg:var(--prime-skin-bg);
  --pc-bg2:var(--prime-skin-bg-2);
  --pc-panel:var(--prime-skin-panel);
  --pc-panel2:var(--prime-skin-panel-strong);
  --pc-paper:var(--prime-skin-text);
  --pc-muted:var(--prime-skin-muted);
  --pc-cyan:var(--prime-skin-accent);
  --pc-violet:var(--prime-skin-accent-2);
  --pc-line:color-mix(in srgb,var(--prime-skin-edge) 26%,transparent);
  --pc-line-hi:color-mix(in srgb,var(--prime-skin-edge) 55%,transparent);
  --reader-text:var(--prime-skin-text);
  --reader-heading:color-mix(in srgb,var(--prime-skin-text) 92%,white 8%);
  --frame-accent:var(--prime-skin-accent);
  --frame-accent-soft:color-mix(in srgb,var(--prime-skin-accent) 30%,transparent);
  --frame-accent-faint:color-mix(in srgb,var(--prime-skin-accent) 9%,transparent);
}

html[data-prime-skin="metal"]{
  --prime-skin-bg:#070a0c;--prime-skin-bg-2:#151b1f;--prime-skin-panel:#161c20;--prime-skin-panel-strong:#283239;
  --prime-skin-text:#f3f7f8;--prime-skin-muted:#9dadb4;--prime-skin-accent:#d2e5ec;--prime-skin-accent-2:#738d99;--prime-skin-edge:#b0c4cd;
  --prime-skin-opacity:.96;--prime-skin-blur:2px;--prime-skin-radius:7px;--prime-skin-hover-lift:1;--prime-skin-press-depth:3;--prime-skin-duration:105ms;--prime-skin-particles:.16;--prime-skin-depth:10;--prime-skin-disparity:.65;
  --prime-skin-pattern:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,rgba(0,0,0,.025) 1px 3px,transparent 3px 6px);
  --prime-skin-surface:linear-gradient(145deg,#303a40 0%,#171d21 28%,#0e1316 72%,#273138 100%);
}
html[data-prime-skin="glass"]{
  --prime-skin-bg:#03101a;--prime-skin-bg-2:#0c2634;--prime-skin-panel:#0b2331;--prime-skin-panel-strong:#173b4b;
  --prime-skin-text:#edfcff;--prime-skin-muted:#a2c5d0;--prime-skin-accent:#72e7ff;--prime-skin-accent-2:#9b91ff;--prime-skin-edge:#b7efff;
  --prime-skin-opacity:.76;--prime-skin-blur:18px;--prime-skin-radius:21px;--prime-skin-hover-lift:3;--prime-skin-press-depth:1;--prime-skin-duration:220ms;--prime-skin-particles:.46;--prime-skin-depth:12;--prime-skin-disparity:.8;
  --prime-skin-pattern:radial-gradient(circle at 22% 18%,rgba(255,255,255,.12),transparent 22%),linear-gradient(120deg,rgba(114,231,255,.08),transparent 42%,rgba(155,145,255,.07));
  --prime-skin-surface:linear-gradient(145deg,rgba(255,255,255,.12),rgba(23,72,91,.4) 34%,rgba(5,22,34,.72));
}
html[data-prime-skin="nexus"]{
  --prime-skin-bg:#02040a;--prime-skin-bg-2:#090b1b;--prime-skin-panel:#070d18;--prime-skin-panel-strong:#111b2b;
  --prime-skin-text:#eafeff;--prime-skin-muted:#84a7b5;--prime-skin-accent:#55f0ff;--prime-skin-accent-2:#a077ff;--prime-skin-edge:#55dceb;
  --prime-skin-opacity:.91;--prime-skin-blur:9px;--prime-skin-radius:12px;--prime-skin-hover-lift:2;--prime-skin-press-depth:2;--prime-skin-duration:180ms;--prime-skin-particles:.82;--prime-skin-depth:16;--prime-skin-disparity:1.25;
  --prime-skin-pattern:linear-gradient(rgba(85,240,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(160,119,255,.04) 1px,transparent 1px);
  --prime-skin-surface:linear-gradient(155deg,rgba(21,39,60,.94),rgba(5,10,20,.97) 65%,rgba(18,9,39,.92));
}
html[data-prime-skin="steampunk"]{
  color-scheme:dark;
  --prime-skin-bg:#100a06;--prime-skin-bg-2:#29170c;--prime-skin-panel:#24160d;--prime-skin-panel-strong:#49301b;
  --prime-skin-text:#fff0cc;--prime-skin-muted:#c6a879;--prime-skin-accent:#e3ab51;--prime-skin-accent-2:#a64f2a;--prime-skin-edge:#c98a3c;
  --prime-skin-opacity:.97;--prime-skin-blur:1px;--prime-skin-radius:6px;--prime-skin-hover-lift:1;--prime-skin-press-depth:4;--prime-skin-duration:145ms;--prime-skin-particles:.34;--prime-skin-depth:14;--prime-skin-disparity:.75;
  --prime-skin-font:Georgia,"Times New Roman",serif;
  --prime-skin-pattern:radial-gradient(circle,rgba(255,207,112,.18) 0 1px,transparent 1.5px),repeating-linear-gradient(135deg,rgba(118,55,23,.1) 0 3px,transparent 3px 9px);
  --prime-skin-surface:linear-gradient(145deg,#5a3a1e,#2c190d 32%,#160c08 76%,#66411f);
}
html[data-prime-skin="liquid-gold"]{
  color-scheme:dark;
  --prime-skin-bg:#130b00;--prime-skin-bg-2:#2b1900;--prime-skin-panel:#352001;--prime-skin-panel-strong:#704707;
  --prime-skin-text:#fff8d9;--prime-skin-muted:#d2bd82;--prime-skin-accent:#ffdb72;--prime-skin-accent-2:#d88608;--prime-skin-edge:#ffe8a8;
  --prime-skin-opacity:.94;--prime-skin-blur:6px;--prime-skin-radius:18px;--prime-skin-hover-lift:2;--prime-skin-press-depth:2;--prime-skin-duration:190ms;--prime-skin-particles:.48;--prime-skin-depth:18;--prime-skin-disparity:.9;
  --prime-skin-font:"Arial Narrow",Impact,ui-sans-serif,sans-serif;
  --prime-skin-pattern:radial-gradient(ellipse at 18% 24%,rgba(255,245,188,.3),transparent 16%),radial-gradient(ellipse at 78% 68%,rgba(255,180,25,.25),transparent 22%),linear-gradient(118deg,rgba(255,248,202,.18),transparent 28%,rgba(176,92,0,.18) 62%,transparent 78%);
  --prime-skin-surface:linear-gradient(118deg,#4d2a00 0%,#d28a0a 18%,#fff0a0 31%,#8e5000 47%,#f9bd2f 64%,#5b3100 82%,#ffd763 100%);
}

/* These two rules are intentionally mutable through CSSOM after strict JSON validation. */
.prime-skin-preview[data-prime-custom-preview]{--prime-skin-bg:#070d13;--prime-skin-bg-2:#10202b;--prime-skin-panel:#10202b;--prime-skin-panel-strong:#193747;--prime-skin-text:#effcff;--prime-skin-muted:#98b6c1;--prime-skin-accent:#63e8ff;--prime-skin-accent-2:#a78cff;--prime-skin-edge:#82dff1;--prime-skin-opacity:.9;--prime-skin-blur:12px;--prime-skin-radius:16px;--prime-skin-hover-lift:2px;--prime-skin-press-depth:2px;--prime-skin-duration:180ms;--prime-skin-particles:.6;--prime-skin-perspective:800px;--prime-skin-depth:12px;--prime-skin-disparity:1}
html[data-prime-skin="custom"]{--prime-skin-bg:#070d13;--prime-skin-bg-2:#10202b;--prime-skin-panel:#10202b;--prime-skin-panel-strong:#193747;--prime-skin-text:#effcff;--prime-skin-muted:#98b6c1;--prime-skin-accent:#63e8ff;--prime-skin-accent-2:#a78cff;--prime-skin-edge:#82dff1;--prime-skin-opacity:.9;--prime-skin-blur:12px;--prime-skin-radius:16px;--prime-skin-hover-lift:2px;--prime-skin-press-depth:2px;--prime-skin-duration:180ms;--prime-skin-particles:.6;--prime-skin-perspective:800px;--prime-skin-depth:12px;--prime-skin-disparity:1}

[data-prime-skin-font="mono"]{--prime-skin-font:ui-monospace,SFMono-Regular,Consolas,monospace}
[data-prime-skin-font="serif"]{--prime-skin-font:Georgia,"Times New Roman",serif}
[data-prime-skin-font="display"]{--prime-skin-font:"Arial Narrow",Impact,ui-sans-serif,sans-serif}
[data-prime-skin-pattern="brushed"]{--prime-skin-pattern:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,rgba(0,0,0,.025) 1px 3px,transparent 3px 6px)}
[data-prime-skin-pattern="refraction"]{--prime-skin-pattern:radial-gradient(circle at 22% 18%,rgba(255,255,255,.12),transparent 22%),linear-gradient(120deg,color-mix(in srgb,var(--prime-skin-accent) 9%,transparent),transparent 42%,color-mix(in srgb,var(--prime-skin-accent-2) 8%,transparent))}
[data-prime-skin-pattern="grid"]{--prime-skin-pattern:linear-gradient(color-mix(in srgb,var(--prime-skin-accent) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--prime-skin-accent-2) 5%,transparent) 1px,transparent 1px);background-size:24px 24px}
[data-prime-skin-pattern="rivets"]{--prime-skin-pattern:radial-gradient(circle,rgba(255,207,112,.18) 0 1px,transparent 1.5px),repeating-linear-gradient(135deg,rgba(118,55,23,.1) 0 3px,transparent 3px 9px);background-size:20px 20px,auto}
[data-prime-skin-pattern="molten"]{--prime-skin-pattern:radial-gradient(ellipse at 18% 24%,color-mix(in srgb,var(--prime-skin-text) 30%,transparent),transparent 16%),radial-gradient(ellipse at 78% 68%,color-mix(in srgb,var(--prime-skin-accent-2) 28%,transparent),transparent 22%),linear-gradient(118deg,color-mix(in srgb,var(--prime-skin-accent) 18%,transparent),transparent 28%,color-mix(in srgb,var(--prime-skin-accent-2) 18%,transparent) 62%,transparent 78%)}
[data-prime-skin-pattern="none"]{--prime-skin-pattern:linear-gradient(transparent,transparent)}
[data-prime-skin-material="metal"]{--prime-skin-surface:linear-gradient(145deg,color-mix(in srgb,var(--prime-skin-panel-strong) 82%,white 8%),var(--prime-skin-panel) 35%,color-mix(in srgb,var(--prime-skin-bg) 88%,black),var(--prime-skin-panel-strong))}
[data-prime-skin-material="glass"]{--prime-skin-surface:linear-gradient(145deg,rgba(255,255,255,.12),color-mix(in srgb,var(--prime-skin-panel-strong) 46%,transparent) 34%,color-mix(in srgb,var(--prime-skin-bg) 72%,transparent))}
[data-prime-skin-material="nexus"]{--prime-skin-surface:linear-gradient(155deg,color-mix(in srgb,var(--prime-skin-panel-strong) 94%,var(--prime-skin-accent) 6%),color-mix(in srgb,var(--prime-skin-bg) 97%,black) 65%,color-mix(in srgb,var(--prime-skin-panel) 90%,var(--prime-skin-accent-2) 10%))}
[data-prime-skin-material="steampunk"]{--prime-skin-surface:linear-gradient(145deg,color-mix(in srgb,var(--prime-skin-panel-strong) 88%,#a86f2b),var(--prime-skin-panel) 32%,color-mix(in srgb,var(--prime-skin-bg) 88%,black) 76%,color-mix(in srgb,var(--prime-skin-panel-strong) 82%,#c78635))}
[data-prime-skin-material="liquid-gold"]{--prime-skin-surface:linear-gradient(118deg,color-mix(in srgb,var(--prime-skin-panel-strong) 70%,#6d3600),color-mix(in srgb,var(--prime-skin-accent-2) 74%,#6c3500) 18%,color-mix(in srgb,var(--prime-skin-accent) 72%,white) 31%,color-mix(in srgb,var(--prime-skin-panel) 62%,#6f3600) 47%,color-mix(in srgb,var(--prime-skin-accent) 82%,#d17a00) 64%,color-mix(in srgb,var(--prime-skin-bg) 82%,#5b3000) 82%,var(--prime-skin-accent))}

html[data-prime-skin] body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background-color:var(--prime-skin-bg)!important;background-image:radial-gradient(circle at 82% 10%,color-mix(in srgb,var(--prime-skin-accent) 12%,transparent),transparent 32rem),radial-gradient(circle at 10% 76%,color-mix(in srgb,var(--prime-skin-accent-2) 10%,transparent),transparent 36rem),var(--prime-skin-pattern)!important;color:var(--prime-skin-text)}
/* Shared surfaces, controls and Z2 machine finishes are painted EXCLUSIVELY by
   prime-machine-skin-unifier.css. This file defines palette tokens and studio
   picker appearance only; it does not own page geometry or button transforms. */
@keyframes prime-liquid-gold-flow{from{background-position:0% 22%}to{background-position:100% 78%}}
html[data-prime-skin] :is(.pc-book-reader-panel,#pcBookReader,.pc-reader-frame-v2){--reader-text:var(--prime-skin-text);--reader-heading:color-mix(in srgb,var(--prime-skin-text) 88%,white);--frame-accent:var(--prime-skin-accent);--frame-accent-soft:color-mix(in srgb,var(--prime-skin-accent) 30%,transparent);--frame-accent-faint:color-mix(in srgb,var(--prime-skin-accent) 8%,transparent)}

.prime-skin-launcher{white-space:nowrap}
.prime-tools-heading .prime-skin-launcher{margin-inline-start:auto;min-width:7rem;padding:.45rem .6rem;font-size:.58rem;letter-spacing:.08em;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}
.prime-skin-dialog{position:fixed;z-index:2147483000;inset:50% auto auto 50%;width:min(48rem,calc(100vw - 1rem));max-width:none;max-height:min(48rem,calc(100dvh - 1rem));margin:0;padding:0;translate:-50% -50%;overflow:hidden;border:1px solid color-mix(in srgb,var(--prime-skin-edge) 45%,transparent);border-radius:max(12px,var(--prime-skin-radius));background:var(--prime-skin-surface);color:var(--prime-skin-text);box-shadow:0 2rem 6rem rgba(0,0,0,.68);font-family:var(--prime-skin-font)}
.prime-skin-dialog::backdrop{background:rgba(0,3,8,.74);backdrop-filter:blur(5px)}
.prime-skin-shell{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(48rem,calc(100dvh - 1rem))}
.prime-skin-head{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--prime-skin-edge) 24%,transparent);background:color-mix(in srgb,var(--prime-skin-panel-strong) 92%,transparent)}
.prime-skin-head div{display:grid;gap:.12rem}.prime-skin-head b{font-size:.82rem;letter-spacing:.18em}.prime-skin-head small{color:var(--prime-skin-muted)}.prime-skin-close{margin-inline-start:auto;min-width:2.7rem;min-height:2.7rem}
.prime-skin-body{overflow:auto;overscroll-behavior:contain;padding:1rem;scrollbar-color:var(--prime-skin-accent) transparent}
.prime-skin-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}
.prime-skin-card{position:relative;display:grid;align-content:end;min-height:7.5rem;padding:.72rem;overflow:hidden;text-align:start;color:var(--prime-skin-text)}
.prime-skin-card::before{position:absolute;inset:0;content:"";background:var(--prime-skin-card-bg);opacity:.95}.prime-skin-card::after{position:absolute;inset:7px;border:1px solid var(--prime-skin-card-edge);border-radius:inherit;content:"";opacity:.6}.prime-skin-card>*{position:relative;z-index:1}.prime-skin-card b{font-size:.8rem;letter-spacing:.13em}.prime-skin-card small{margin-top:.2rem;color:inherit;opacity:.74}
.prime-skin-card[data-skin="metal"]{--prime-skin-card-bg:repeating-linear-gradient(0deg,#303940 0 1px,#141a1e 1px 4px);--prime-skin-card-edge:#d6e3e7}
.prime-skin-card[data-skin="glass"]{--prime-skin-card-bg:linear-gradient(145deg,#477d93,#102b3b 52%,#554d91);--prime-skin-card-edge:#baf2ff}
.prime-skin-card[data-skin="nexus"]{--prime-skin-card-bg:linear-gradient(rgba(85,240,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(160,119,255,.12) 1px,transparent 1px),#050916;--prime-skin-card-edge:#55f0ff;background-size:17px 17px}
.prime-skin-card[data-skin="steampunk"]{--prime-skin-card-bg:radial-gradient(circle at 10px 10px,#f1bf68 0 2px,#6c3d18 2.5px 4px,transparent 4.5px),linear-gradient(145deg,#75471f,#251208 62%,#8f5523);--prime-skin-card-edge:#e3ab51}
.prime-skin-card[data-skin="liquid-gold"]{--prime-skin-card-bg:radial-gradient(ellipse at 20% 18%,#fff5bd 0 5%,transparent 26%),linear-gradient(118deg,#5f3100,#f4b424 25%,#fff1a0 39%,#8f4b00 58%,#ffd45e 74%,#6d3800);--prime-skin-card-edge:#ffe6a1}
.prime-skin-card[data-skin="liquid-gold"]::before{background-size:180% 180%;animation:prime-liquid-gold-flow 3.8s ease-in-out infinite alternate}
.prime-skin-card[aria-pressed="true"]{outline:2px solid var(--prime-skin-accent);outline-offset:2px}
.prime-skin-custom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(15rem,.85fr);gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--prime-skin-edge) 22%,transparent)}
.prime-skin-maker{display:grid;gap:.65rem}.prime-skin-maker h3,.prime-skin-maker p{margin:0}.prime-skin-maker p{color:var(--prime-skin-muted);font-size:.82rem;line-height:1.5}.prime-skin-upload{display:inline-flex;align-items:center;justify-content:center;min-height:2.7rem;padding:.6rem .85rem;border:1px dashed color-mix(in srgb,var(--prime-skin-accent) 62%,transparent);border-radius:calc(var(--prime-skin-radius) * .72);cursor:pointer}.prime-skin-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.prime-skin-json{box-sizing:border-box;width:100%;min-height:11rem;resize:vertical;padding:.72rem;border:1px solid color-mix(in srgb,var(--prime-skin-edge) 30%,transparent);border-radius:calc(var(--prime-skin-radius) * .65);background:color-mix(in srgb,var(--prime-skin-bg) 88%,black);color:var(--prime-skin-text);font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}
.prime-skin-actions{display:flex;flex-wrap:wrap;gap:.45rem}.prime-skin-actions button{min-height:2.45rem;padding:.48rem .7rem}.prime-skin-status{min-height:1.4rem;margin:0;color:var(--prime-skin-muted);font-size:.78rem}.prime-skin-status[data-state="error"]{color:#ff9e91}.prime-skin-status[data-state="ok"]{color:#7dffca}
.prime-skin-preview{position:relative;display:grid;align-content:center;gap:.8rem;min-height:16rem;padding:1rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--prime-skin-edge) 38%,transparent);border-radius:var(--prime-skin-radius);background-image:var(--prime-skin-pattern),var(--prime-skin-surface);color:var(--prime-skin-text);perspective:var(--prime-skin-perspective)}
.prime-skin-preview::before{position:absolute;inset:0;content:"";background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--prime-skin-accent) 20%,transparent),transparent 36%);pointer-events:none}.prime-skin-preview>*{position:relative}.prime-skin-preview strong{letter-spacing:.13em}.prime-skin-preview span{color:var(--prime-skin-muted);font-size:.8rem}.prime-skin-preview button{min-height:3rem;border-color:var(--prime-skin-edge)!important;background:color-mix(in srgb,var(--prime-skin-panel-strong) 86%,transparent)!important;color:var(--prime-skin-text)}
.prime-skin-guide{margin-top:.85rem;border:1px solid color-mix(in srgb,var(--prime-skin-edge) 22%,transparent);border-radius:calc(var(--prime-skin-radius) * .72);padding:.68rem}.prime-skin-guide summary{cursor:pointer;font-weight:700;letter-spacing:.08em}.prime-skin-guide ol{margin:.7rem 0 .25rem;padding-inline-start:1.35rem;color:var(--prime-skin-muted);font-size:.82rem;line-height:1.55}

html[data-prime-resource-tier="low"],html[data-pc-hw-tier="low"],html.super-low-cost{--prime-skin-blur:0px;--prime-skin-particles:0;--prime-skin-hover-lift:0;--prime-skin-depth:4}
html[data-prime-resource-tier="low"] :is(.prime-skin-dialog,.prime-skin-preview),html[data-pc-hw-tier="low"] :is(.prime-skin-dialog,.prime-skin-preview),html.super-low-cost :is(.prime-skin-dialog,.prime-skin-preview){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* Degrade only decorative skin motion. Never cancel Receptor morph,
   native page transitions, scanline timing or Spatial pose animations. */
html[data-prime-resource-tier="low"][data-prime-skin="liquid-gold"] .prime-skin-card[data-skin="liquid-gold"]::before,
html[data-pc-hw-tier="low"][data-prime-skin="liquid-gold"] .prime-skin-card[data-skin="liquid-gold"]::before,
html.super-low-cost[data-prime-skin="liquid-gold"] .prime-skin-card[data-skin="liquid-gold"]::before{animation:none!important}
@media(max-width:680px){.prime-skin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prime-skin-card{min-height:5.6rem}.prime-skin-custom{grid-template-columns:1fr}.prime-skin-preview{min-height:10rem}.prime-skin-dialog{width:calc(100vw - .5rem);max-height:calc(100dvh - .5rem)}}
@media(prefers-reduced-motion:reduce){html[data-prime-skin]{--prime-skin-duration:0ms;--prime-skin-hover-lift:0;--prime-skin-press-depth:0;--prime-skin-particles:0}html[data-prime-skin] *,html[data-prime-skin] *::before,html[data-prime-skin] *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(forced-colors:active){.prime-skin-dialog,.prime-skin-card,.prime-skin-preview,.prime-skin-upload{forced-color-adjust:auto;border:1px solid CanvasText!important;background:Canvas!important;color:CanvasText!important}.prime-skin-card[aria-pressed="true"]{outline:3px solid Highlight}}

/* Skin Forge chrome stays within its own fixed paint plane.
   On iOS, no native :modal top-layer, backdrop-filter or scroll-focus coupling. */
body.prime-v2>.prime-skin-scrim:not([hidden]){
 position:fixed!important;inset:0!important;z-index:2147482500!important;
 display:block!important;background:rgba(0,4,10,.75)!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 pointer-events:auto!important;touch-action:none!important;
 overscroll-behavior:contain!important;contain:strict!important;
}
body.prime-v2>.prime-skin-scrim[hidden]{display:none!important}
body.prime-v2>.prime-skin-dialog[open]{
 position:fixed!important;z-index:2147483000!important;
 overscroll-behavior:contain!important;isolation:isolate!important;
 backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.prime-v2 .prime-skin-launcher>.prime-skin-glyph{
 display:block!important;flex:none;width:1.25rem;height:1.25rem;
 color:var(--prime-skin-accent);filter:drop-shadow(0 0 3px rgba(117,222,250,.2));
}

/* PRIME /prime-skin-spatial.css */
/* Prime Skins // spatial character + skin-studio viewport safety.
   PrimeMobileSpatialMedia renders motion as an internal PrimeSpatialUnified component.
   Prime Skin Spatial selects material character only and does not own active Spatial geometry.
   Skin material translation is permitted only while Spatial is off; active Spatial geometry belongs to PrimeSpatialField. */
:root{
  --prime-skin-spatial-response:1;
  --prime-skin-spatial-depth-character:1;
  --prime-skin-spatial-settle:180ms;
  --prime-skin-far-x:var(--pc-background-x,var(--s3-material-far-x,0px));
  --prime-skin-far-y:var(--pc-background-y,var(--s3-material-far-y,0px));
  --prime-skin-mid-x:var(--pc-midground-x,var(--s3-material-x,0px));
  --prime-skin-mid-y:var(--pc-midground-y,var(--s3-material-y,0px));
  --prime-skin-near-x:var(--pc-foreground-x,var(--s3-material-near-x,0px));
  --prime-skin-near-y:var(--pc-foreground-y,var(--s3-material-near-y,0px));
}

html[data-prime-skin-motion="weighty"]{--prime-skin-spatial-settle:210ms;--prime-skin-mid-x:var(--pc-background-x,var(--s3-material-far-x,0px));--prime-skin-mid-y:var(--pc-background-y,var(--s3-material-far-y,0px));--prime-skin-near-x:var(--pc-midground-x,var(--s3-material-x,0px));--prime-skin-near-y:var(--pc-midground-y,var(--s3-material-y,0px))}
html[data-prime-skin-motion="buoyant"]{--prime-skin-spatial-settle:320ms}
html[data-prime-skin-motion="orbit"]{--prime-skin-spatial-settle:180ms}
html[data-prime-skin-motion="mechanical"]{--prime-skin-spatial-settle:95ms;--prime-skin-near-x:var(--pc-midground-x,var(--s3-material-x,0px));--prime-skin-near-y:var(--pc-midground-y,var(--s3-material-y,0px))}
html[data-prime-skin-motion="flow"]{--prime-skin-spatial-settle:260ms}

/* Skins are strictly material profiles. No skin may translate page-flow
   content, cards or machine screens, even when Spatial is disabled.
   Previously these transforms changed projected scrollable extents. */
/* Skin Studio controls remain independent viewport chrome. */
/* Skin selection does not modify transforms, including on unrelated Forge panels. */
html[data-prime-skin] .prime-skin-dialog{translate:-50% -50%!important;rotate:none!important;transform:none!important;will-change:auto!important}

/* Skin Studio is intentionally smaller than the page and clamped to the live viewport. */
.prime-skin-dialog{
  --prime-skin-safe-top:max(.35rem,var(--pf-safe-top,env(safe-area-inset-top)));
  --prime-skin-safe-right:max(.35rem,var(--pf-safe-right,env(safe-area-inset-right)));
  --prime-skin-safe-bottom:max(.35rem,var(--pf-safe-bottom,env(safe-area-inset-bottom)));
  --prime-skin-safe-left:max(.35rem,var(--pf-safe-left,env(safe-area-inset-left)));
  box-sizing:border-box!important;
  left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  width:min(36rem,calc(var(--pf-vw,100vw) - var(--prime-skin-safe-left) - var(--prime-skin-safe-right) - .5rem))!important;
  max-width:calc(var(--pf-vw,100vw) - var(--prime-skin-safe-left) - var(--prime-skin-safe-right) - .5rem)!important;
  max-height:calc(var(--pf-vh,100dvh) - var(--prime-skin-safe-top) - var(--prime-skin-safe-bottom) - .5rem)!important;
  margin:0!important;overflow:hidden!important;overscroll-behavior:none!important;
}
.prime-skin-dialog>.prime-skin-shell{max-height:inherit!important;min-height:0!important}
.prime-skin-dialog .prime-skin-head{gap:.55rem!important;padding:.6rem .68rem!important}
.prime-skin-dialog .prime-skin-head b{font-size:.72rem!important;letter-spacing:.14em!important}
.prime-skin-dialog .prime-skin-head small{font-size:.68rem!important}
.prime-skin-dialog .prime-skin-close{min-width:2.15rem!important;min-height:2.15rem!important;padding:.25rem!important}
.prime-skin-dialog .prime-skin-body{min-height:0!important;padding:.68rem!important;overflow:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
.prime-skin-dialog .prime-skin-grid{gap:.42rem!important}
.prime-skin-dialog .prime-skin-card{min-height:4.65rem!important;padding:.5rem!important}
.prime-skin-dialog .prime-skin-card::after{inset:5px!important}
.prime-skin-dialog .prime-skin-card b{font-size:.7rem!important;letter-spacing:.1em!important}
.prime-skin-dialog .prime-skin-card small{font-size:.64rem!important;line-height:1.2!important}
.prime-skin-dialog .prime-skin-custom{grid-template-columns:minmax(0,1.15fr) minmax(11rem,.85fr)!important;gap:.68rem!important;margin-top:.68rem!important;padding-top:.68rem!important}
.prime-skin-dialog .prime-skin-maker{gap:.45rem!important}
.prime-skin-dialog .prime-skin-maker h3{font-size:.9rem!important}
.prime-skin-dialog .prime-skin-maker p{font-size:.72rem!important;line-height:1.35!important}
.prime-skin-dialog .prime-skin-upload{min-height:2.2rem!important;padding:.42rem .62rem!important;font-size:.68rem!important}
.prime-skin-dialog .prime-skin-json{min-height:7rem!important;max-height:8.4rem!important;padding:.55rem!important;resize:none!important;font-size:10px!important;line-height:1.35!important}
.prime-skin-dialog .prime-skin-actions{gap:.34rem!important}
.prime-skin-dialog .prime-skin-actions button{min-height:2.05rem!important;padding:.34rem .52rem!important;font-size:.63rem!important}
.prime-skin-dialog .prime-skin-status{min-height:1.1rem!important;font-size:.68rem!important}
.prime-skin-dialog .prime-skin-preview{min-height:9rem!important;padding:.68rem!important;gap:.5rem!important}
.prime-skin-dialog .prime-skin-preview span{font-size:.7rem!important}
.prime-skin-dialog .prime-skin-preview button{min-height:2.3rem!important;font-size:.7rem!important}
.prime-skin-dialog .prime-skin-guide{margin-top:.5rem!important;padding:.48rem!important}
.prime-skin-dialog .prime-skin-guide summary{font-size:.72rem!important}
.prime-skin-dialog .prime-skin-guide ol{margin:.45rem 0 .15rem!important;font-size:.7rem!important;line-height:1.4!important}

@media(max-width:680px){
  .prime-skin-dialog{width:calc(var(--pf-vw,100vw) - var(--prime-skin-safe-left) - var(--prime-skin-safe-right) - .35rem)!important;max-width:calc(var(--pf-vw,100vw) - var(--prime-skin-safe-left) - var(--prime-skin-safe-right) - .35rem)!important}
  .prime-skin-dialog .prime-skin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .prime-skin-dialog .prime-skin-card{min-height:4.15rem!important}
  .prime-skin-dialog .prime-skin-custom{grid-template-columns:1fr!important}
  .prime-skin-dialog .prime-skin-json{min-height:6.1rem!important;max-height:7rem!important}
  .prime-skin-dialog .prime-skin-preview{min-height:6.8rem!important}
}

@media(orientation:landscape) and (max-height:600px){
  .prime-skin-dialog{width:min(40rem,calc(var(--pf-vw,100vw) - var(--prime-skin-safe-left) - var(--prime-skin-safe-right) - .35rem))!important;max-height:calc(var(--pf-vh,100dvh) - var(--prime-skin-safe-top) - var(--prime-skin-safe-bottom) - .35rem)!important}
  .prime-skin-dialog .prime-skin-head{padding:.4rem .55rem!important}
  .prime-skin-dialog .prime-skin-head small{display:none!important}
  .prime-skin-dialog .prime-skin-body{padding:.45rem!important}
  .prime-skin-dialog .prime-skin-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:.32rem!important}
  .prime-skin-dialog .prime-skin-card{min-height:3.45rem!important;padding:.38rem!important}
  .prime-skin-dialog .prime-skin-card small{display:none!important}
  .prime-skin-dialog .prime-skin-custom{grid-template-columns:minmax(0,1.2fr) minmax(9rem,.8fr)!important;gap:.45rem!important;margin-top:.42rem!important;padding-top:.42rem!important}
  .prime-skin-dialog .prime-skin-maker{gap:.32rem!important}
  .prime-skin-dialog .prime-skin-maker>p,.prime-skin-dialog .prime-skin-guide{display:none!important}
  .prime-skin-dialog .prime-skin-json{min-height:4.25rem!important;max-height:4.8rem!important}
  .prime-skin-dialog .prime-skin-preview{min-height:5.4rem!important;padding:.5rem!important}
  .prime-skin-dialog .prime-skin-actions button{min-height:1.9rem!important;padding:.28rem .42rem!important;font-size:.58rem!important}
}

html[data-prime-resource-tier="low"],html[data-pc-hw-tier="low"],html.super-low-cost{--prime-skin-far-x:0px;--prime-skin-far-y:0px;--prime-skin-mid-x:0px;--prime-skin-mid-y:0px;--prime-skin-near-x:0px;--prime-skin-near-y:0px}
@media(prefers-reduced-motion:reduce){html[data-prime-skin]{--prime-skin-far-x:0px;--prime-skin-far-y:0px;--prime-skin-mid-x:0px;--prime-skin-mid-y:0px;--prime-skin-near-x:0px;--prime-skin-near-y:0px}}

/* PRIME /prime-skin-bezels.css */
/* Prime Creation // unified skin inheritance for pill bar, tabs, viewport controls, toolbox and bezels */
:root{
  --prime-skin-bezel-edge:color-mix(in srgb,var(--prime-skin-edge) 78%,white 10%);
  --prime-skin-bezel-dark:color-mix(in srgb,var(--prime-skin-edge) 34%,black 66%);
  --prime-skin-bezel-glow:color-mix(in srgb,var(--prime-skin-accent) 28%,transparent);
  --prime-skin-bezel-hi:color-mix(in srgb,var(--prime-skin-text) 19%,transparent);
  --prime-skin-bezel-depth:max(2px,calc(var(--prime-skin-depth) * .22px));
}
/* Palette and bevel tokens live here. Machine surfaces and controls are
   painted only by the shared material contract. No skin-origin transforms,
   font metric changes, background blur, or button geometry. */
body.prime-v2 [data-prime-skin-pill]{position:relative!important;isolation:isolate!important;border:1px solid transparent!important;border-radius:999px!important;overflow:visible!important}
body.prime-v2 [data-prime-skin-pill]::before{content:""!important;position:absolute!important;inset:2px!important;pointer-events:none!important;border-radius:inherit!important;border:1px solid color-mix(in srgb,var(--prime-skin-text) 11%,transparent)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--prime-skin-text) 7%,transparent),transparent 38%,color-mix(in srgb,var(--prime-skin-bg) 16%,transparent))!important;opacity:.82!important}
body.prime-v2 #top :where(img,[data-prime-receptor-asset],.receptor-logo,.receptor-lettering){box-shadow:none!important;outline:0!important;border-color:transparent!important;background:transparent!important}

/* Phone skin selector: built-ins only. Custom forge remains a desktop/tablet workshop. */
@media(max-width:680px){
  body.prime-v2 .prime-skin-dialog{position:fixed!important;inset:max(.45rem,env(safe-area-inset-top)) .45rem max(.45rem,env(safe-area-inset-bottom)) .45rem!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;translate:none!important;border-radius:16px!important;overflow:hidden!important}
  body.prime-v2 .prime-skin-shell{height:100%!important;max-height:calc(100dvh - max(.9rem,env(safe-area-inset-top)) - max(.9rem,env(safe-area-inset-bottom)))!important;grid-template-rows:auto minmax(0,1fr)!important}
  body.prime-v2 .prime-skin-head{padding:.72rem .78rem!important;min-height:3.35rem!important}
  body.prime-v2 .prime-skin-head b{font-size:.76rem!important}.prime-skin-head small{font-size:.66rem!important}
  body.prime-v2 .prime-skin-close{min-width:2.6rem!important;min-height:2.6rem!important}
  body.prime-v2 .prime-skin-body{padding:.72rem!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important}
  body.prime-v2 .prime-skin-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem!important;width:100%!important}
  body.prime-v2 .prime-skin-card{width:100%!important;min-width:0!important;min-height:5rem!important;padding:.65rem!important}
  body.prime-v2 .prime-skin-card b{font-size:.82rem!important}.prime-skin-card small{font-size:.67rem!important;overflow-wrap:anywhere!important}
  body.prime-v2 .prime-skin-custom{display:none!important}
  body.prime-v2 .prime-skin-body::after{content:"CUSTOM SKIN FORGE IS AVAILABLE ON TABLET / DESKTOP";display:block;margin:.75rem .1rem .1rem;padding:.65rem;border:1px solid color-mix(in srgb,var(--prime-skin-edge) 24%,transparent);border-radius:.7rem;color:var(--prime-skin-muted);font:700 .58rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;text-align:center}
}
@media (prefers-reduced-motion:reduce){body.prime-v2 [data-prime-skin-control]{transition:none!important}html[data-prime-skin="liquid-gold"] body.prime-v2 [data-prime-skin-control]{animation:none!important}}

/* PRIME /prime-shell-skins.css */
/* Prime Creation // existing skin system extension for the Prime Command Deck pill bar */
html[data-prime-skin]{
  --prime-shell-skin-panel:color-mix(in srgb,var(--prime-skin-panel) calc(var(--prime-skin-opacity) * 100%),transparent);
  --prime-shell-skin-panel-strong:color-mix(in srgb,var(--prime-skin-panel-strong) 92%,transparent);
  --prime-shell-skin-control:color-mix(in srgb,var(--prime-skin-panel-strong) 72%,var(--prime-skin-bg) 28%);
  --prime-shell-skin-line:color-mix(in srgb,var(--prime-skin-edge) 34%,transparent);
  --prime-shell-skin-glow:color-mix(in srgb,var(--prime-skin-accent) 24%,transparent);

  --prime-pill-shell:linear-gradient(180deg,color-mix(in srgb,var(--prime-skin-panel-strong) 84%,white 4%),color-mix(in srgb,var(--prime-skin-bg) 92%,black)),var(--prime-skin-surface);
  --prime-pill-control:linear-gradient(180deg,color-mix(in srgb,var(--prime-skin-panel-strong) 70%,var(--prime-skin-text) 3%),color-mix(in srgb,var(--prime-skin-bg) 86%,black));
  --prime-pill-control-hover:linear-gradient(180deg,color-mix(in srgb,var(--prime-skin-panel-strong) 76%,var(--prime-skin-accent) 8%),color-mix(in srgb,var(--prime-skin-bg) 84%,var(--prime-skin-accent-2) 4%));
  --prime-pill-control-active:linear-gradient(180deg,color-mix(in srgb,var(--prime-skin-accent) 20%,var(--prime-skin-panel-strong)),color-mix(in srgb,var(--prime-skin-accent-2) 9%,var(--prime-skin-bg)));
  --prime-pill-edge:color-mix(in srgb,var(--prime-skin-edge) 46%,transparent);
  --prime-pill-edge-soft:color-mix(in srgb,var(--prime-skin-edge) 22%,transparent);
  --prime-pill-highlight:color-mix(in srgb,var(--prime-skin-text) 24%,transparent);
  --prime-pill-glow:color-mix(in srgb,var(--prime-skin-accent) 26%,transparent);
  --prime-pill-glow-2:color-mix(in srgb,var(--prime-skin-accent-2) 20%,transparent);
  --prime-pill-prism-opacity:.58;
  --prime-pill-prism-saturation:1.18;
  --prime-pill-bubble-opacity:.72;
  --prime-pill-control-radius:999px;
}

/* Material-specific extensions. The skin runtime remains the sole state owner. */
html[data-prime-skin="metal"]{
  --prime-pill-shell:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,rgba(0,0,0,.035) 1px 3px,transparent 3px 6px),linear-gradient(180deg,#313b41 0%,#171e22 42%,#080d10 100%);
  --prime-pill-control:linear-gradient(180deg,#344047 0%,#182126 48%,#0a1014 100%);
  --prime-pill-control-hover:linear-gradient(180deg,#435159 0%,#202c32 48%,#0d1519 100%);
  --prime-pill-control-active:linear-gradient(180deg,#56666e 0%,#26343b 46%,#10171b 100%);
  --prime-pill-prism-opacity:.24;
  --prime-pill-prism-saturation:.58;
  --prime-pill-bubble-opacity:.24;
}
html[data-prime-skin="glass"]{
  --prime-pill-shell:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.035) 24%,rgba(8,35,49,.58) 62%,rgba(2,13,21,.78)),linear-gradient(120deg,color-mix(in srgb,var(--prime-skin-accent) 11%,transparent),transparent 48%,color-mix(in srgb,var(--prime-skin-accent-2) 10%,transparent));
  --prime-pill-control:linear-gradient(180deg,rgba(255,255,255,.13),color-mix(in srgb,var(--prime-skin-panel-strong) 42%,transparent) 44%,color-mix(in srgb,var(--prime-skin-bg) 64%,transparent));
  --prime-pill-control-hover:linear-gradient(180deg,rgba(255,255,255,.2),color-mix(in srgb,var(--prime-skin-accent) 14%,var(--prime-skin-panel-strong)) 42%,color-mix(in srgb,var(--prime-skin-bg) 58%,transparent));
  --prime-pill-control-active:linear-gradient(180deg,color-mix(in srgb,var(--prime-skin-text) 15%,transparent),color-mix(in srgb,var(--prime-skin-accent) 20%,var(--prime-skin-panel)) 45%,color-mix(in srgb,var(--prime-skin-accent-2) 12%,var(--prime-skin-bg)));
  --prime-pill-prism-opacity:.72;
  --prime-pill-prism-saturation:1.32;
  --prime-pill-bubble-opacity:.9;
}
html[data-prime-skin="nexus"]{
  --prime-pill-shell:linear-gradient(rgba(85,240,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(160,119,255,.03) 1px,transparent 1px),linear-gradient(180deg,#142438 0%,#07111f 48%,#02050d 100%);
  --prime-pill-control:linear-gradient(180deg,rgba(35,72,96,.78),rgba(5,18,31,.9));
  --prime-pill-control-hover:linear-gradient(180deg,rgba(45,105,132,.82),rgba(7,28,44,.92));
  --prime-pill-control-active:linear-gradient(180deg,color-mix(in srgb,var(--prime-skin-accent) 25%,#173047),color-mix(in srgb,var(--prime-skin-accent-2) 12%,#07101d));
  --prime-pill-prism-opacity:.76;
  --prime-pill-prism-saturation:1.42;
  --prime-pill-bubble-opacity:.94;
}
html[data-prime-skin="steampunk"]{
  --prime-pill-shell:radial-gradient(circle at 14px 50%,rgba(255,218,142,.19) 0 1px,transparent 1.6px),radial-gradient(circle at calc(100% - 14px) 50%,rgba(255,218,142,.19) 0 1px,transparent 1.6px),linear-gradient(180deg,#5b3d20 0%,#2c1a0f 43%,#120a06 100%);
  --prime-pill-control:linear-gradient(180deg,#654523 0%,#342114 46%,#170d08 100%);
  --prime-pill-control-hover:linear-gradient(180deg,#7a572c 0%,#432919 46%,#1b100a 100%);
  --prime-pill-control-active:linear-gradient(180deg,#9b6d32 0%,#53311b 46%,#211209 100%);
  --prime-pill-prism-opacity:.34;
  --prime-pill-prism-saturation:.78;
  --prime-pill-bubble-opacity:.32;
}
html[data-prime-skin="liquid-gold"]{
  --prime-pill-shell:radial-gradient(ellipse at 18% 20%,rgba(255,248,202,.28),transparent 18%),radial-gradient(ellipse at 78% 72%,rgba(255,169,0,.24),transparent 24%),linear-gradient(112deg,#482700 0%,#a96503 19%,#ffe291 33%,#7a4200 49%,#e7a51a 66%,#4b2600 82%,#ffc94d 100%);
  --prime-pill-control:linear-gradient(180deg,#8a5709 0%,#4f2c00 48%,#211100 100%);
  --prime-pill-control-hover:linear-gradient(180deg,#af7615 0%,#653b02 48%,#2c1700 100%);
  --prime-pill-control-active:linear-gradient(180deg,#e0a934 0%,#82510a 46%,#372000 100%);
  --prime-pill-prism-opacity:.68;
  --prime-pill-prism-saturation:1.18;
  --prime-pill-bubble-opacity:.7;
}

/* New pill shell */
html[data-prime-skin] body.prime-v2 #primeCommandDeck.prime-command-deck{
  --prime-command-deck-edge:var(--prime-pill-edge);
  --prime-command-deck-bg:var(--prime-skin-bg);
  --prime-command-deck-text:var(--prime-skin-text);
  --prime-command-deck-accent:var(--prime-skin-accent);
  --prime-control-cyan:var(--prime-skin-accent);
  --prime-control-mint:var(--prime-skin-accent-2);
  border-color:var(--prime-pill-edge)!important;
  background:var(--prime-pill-shell)!important;
  color:var(--prime-skin-text)!important;
  font-family:var(--prime-skin-font)!important;
  box-shadow:0 10px 32px color-mix(in srgb,var(--prime-skin-bg) 72%,transparent),inset 0 1px 0 var(--prime-pill-highlight),inset 0 -1px 0 color-mix(in srgb,var(--prime-skin-bg) 72%,transparent),0 0 24px var(--prime-pill-glow)!important;
  backdrop-filter:blur(var(--prime-skin-blur)) saturate(1.16)!important;
  -webkit-backdrop-filter:blur(var(--prime-skin-blur)) saturate(1.16)!important;
}

/* The moving optical layer keeps the same animation and spatial pose feed, but inherits each skin. */
html[data-prime-skin] body.prime-v2 #primeCommandDeck.prime-command-deck::before{
  background:linear-gradient(102deg,transparent 0%,color-mix(in srgb,var(--prime-skin-accent) 12%,transparent) 14%,color-mix(in srgb,var(--prime-skin-accent) 30%,transparent) 28%,color-mix(in srgb,var(--prime-skin-accent-2) 28%,transparent) 44%,color-mix(in srgb,var(--prime-skin-text) 13%,transparent) 58%,color-mix(in srgb,var(--prime-skin-edge) 22%,transparent) 73%,color-mix(in srgb,var(--prime-skin-accent-2) 16%,transparent) 87%,transparent 100%),radial-gradient(ellipse at 14% 28%,color-mix(in srgb,var(--prime-skin-accent) 64%,transparent) 0%,color-mix(in srgb,var(--prime-skin-accent) 23%,transparent) 26%,transparent 59%),radial-gradient(ellipse at 84% 66%,color-mix(in srgb,var(--prime-skin-accent-2) 58%,transparent) 0%,color-mix(in srgb,var(--prime-skin-accent-2) 20%,transparent) 28%,transparent 61%),radial-gradient(ellipse at 48% 24%,color-mix(in srgb,var(--prime-skin-text) 30%,transparent) 0%,color-mix(in srgb,var(--prime-skin-accent) 12%,transparent) 29%,transparent 63%),radial-gradient(ellipse at 62% 88%,color-mix(in srgb,var(--prime-skin-edge) 34%,transparent) 0%,color-mix(in srgb,var(--prime-skin-accent-2) 12%,transparent) 31%,transparent 65%),radial-gradient(ellipse at 50% 8%,color-mix(in srgb,var(--prime-skin-text) 27%,transparent) 0%,color-mix(in srgb,var(--prime-skin-text) 8%,transparent) 27%,transparent 55%)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--prime-skin-text) 20%,transparent),inset 0 -1px 0 color-mix(in srgb,var(--prime-skin-bg) 42%,transparent),inset 0 0 18px var(--prime-pill-glow)!important;
  opacity:var(--prime-pill-prism-opacity)!important;
  filter:saturate(var(--prime-pill-prism-saturation)) contrast(1.055)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck.prime-command-deck::after{
  background:radial-gradient(ellipse 44% 160% at var(--pc-spatial-light-x,50%) var(--pc-spatial-light-y,43%),color-mix(in srgb,var(--prime-skin-text) 46%,transparent) 0%,color-mix(in srgb,var(--prime-skin-accent) 20%,transparent) 19%,color-mix(in srgb,var(--prime-skin-accent) 8%,transparent) 39%,transparent 68%),radial-gradient(ellipse 28% 118% at var(--pc-spatial-attitude-focal-x,50%) var(--pc-spatial-attitude-focal-y,50%),color-mix(in srgb,var(--prime-skin-text) 19%,transparent) 0%,color-mix(in srgb,var(--prime-skin-accent-2) 8%,transparent) 35%,transparent 71%),linear-gradient(180deg,color-mix(in srgb,var(--prime-skin-text) 20%,transparent) 0%,color-mix(in srgb,var(--prime-skin-text) 7%,transparent) 17%,transparent 54%,color-mix(in srgb,var(--prime-skin-bg) 11%,transparent) 100%)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--prime-skin-text) 46%,transparent),inset 0 2px 10px color-mix(in srgb,var(--prime-skin-accent) 10%,transparent),inset 0 -1px 0 color-mix(in srgb,var(--prime-skin-bg) 52%,transparent)!important;
}

/* Bubble flow extension */
html[data-prime-skin] body.prime-v2 #primeCommandDeck>.prime-deck-bubble-loop{opacity:var(--prime-pill-bubble-opacity)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-bubble{
  border-color:color-mix(in srgb,var(--prime-skin-edge) 68%,transparent)!important;
  background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--prime-skin-text) 94%,transparent) 0 14%,color-mix(in srgb,var(--prime-skin-accent) 62%,transparent) 18% 36%,color-mix(in srgb,var(--prime-skin-accent) 20%,transparent) 48%,color-mix(in srgb,var(--prime-skin-accent-2) 10%,transparent) 64%,transparent 72%)!important;
  box-shadow:inset 0 0 2px color-mix(in srgb,var(--prime-skin-text) 72%,transparent),0 0 4px color-mix(in srgb,var(--prime-skin-accent) 48%,transparent)!important;
}

/* Shared pill controls */
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-tool-placeholder,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-utilities>button,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-pages>button{
  border-color:var(--prime-pill-edge-soft)!important;
  background:var(--prime-pill-control)!important;
  color:var(--prime-skin-text)!important;
  font-family:var(--prime-skin-font)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--prime-skin-text) 6%,transparent)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-tool-placeholder:is(:hover,:focus-visible),
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-utilities>button:is(:hover,:focus-visible),
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-pages>button:is(:hover,:focus-visible){
  border-color:color-mix(in srgb,var(--prime-skin-accent) 52%,transparent)!important;
  background:var(--prime-pill-control-hover)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--prime-skin-text) 12%,transparent),inset 0 0 16px color-mix(in srgb,var(--prime-skin-accent) 7%,transparent),0 0 12px var(--prime-pill-glow)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-pages>button[data-active],
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-pages>button[aria-current="page"]{
  border-color:color-mix(in srgb,var(--prime-skin-accent) 58%,transparent)!important;
  background:var(--prime-pill-control-active)!important;
  color:var(--prime-skin-text)!important;
  box-shadow:0 5px 18px color-mix(in srgb,var(--prime-skin-bg) 42%,transparent),inset 0 1px 0 color-mix(in srgb,var(--prime-skin-text) 16%,transparent),inset 0 0 16px color-mix(in srgb,var(--prime-skin-accent) 10%,transparent),0 0 13px var(--prime-pill-glow)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-pages>button::before{background:linear-gradient(90deg,transparent,var(--prime-skin-accent),transparent)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-pages>button[data-active] b,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-pages>button[aria-current="page"] b{color:var(--prime-skin-text)!important;text-shadow:0 0 8px var(--prime-pill-glow)!important}

/* Initializer pill and START HERE marker */
html[data-prime-skin] body.prime-v2 #primeCommandDeck>.prime-deck-initialize{
  border-color:color-mix(in srgb,var(--prime-skin-edge) 60%,transparent)!important;
  background:var(--prime-pill-control-active)!important;
  color:var(--prime-skin-text)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--prime-skin-text) 30%,transparent),inset 0 -2px 4px color-mix(in srgb,var(--prime-skin-bg) 54%,transparent),0 3px 0 color-mix(in srgb,var(--prime-skin-bg) 84%,black),0 7px 14px color-mix(in srgb,var(--prime-skin-bg) 46%,transparent),0 0 16px var(--prime-pill-glow)!important;
  text-shadow:0 1px 0 color-mix(in srgb,var(--prime-skin-bg) 88%,black),0 0 7px var(--prime-pill-glow)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck>.prime-deck-initialize>b{color:var(--prime-skin-accent)!important;filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--prime-skin-bg) 88%,black)) drop-shadow(0 0 5px var(--prime-pill-glow))!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck>.prime-deck-initialize::before{
  border-color:color-mix(in srgb,var(--prime-skin-edge) 72%,transparent)!important;
  background:var(--prime-pill-control-active)!important;
  color:var(--prime-skin-text)!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--prime-skin-text) 34%,transparent),inset 0 -2px 3px color-mix(in srgb,var(--prime-skin-bg) 55%,transparent),0 3px 0 color-mix(in srgb,var(--prime-skin-bg) 86%,black),0 8px 18px color-mix(in srgb,var(--prime-skin-bg) 48%,transparent),0 0 16px var(--prime-pill-glow)!important;
  text-shadow:0 1px 0 color-mix(in srgb,var(--prime-skin-bg) 92%,black),0 0 6px var(--prime-pill-glow)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck>.prime-deck-initialize::after{border-color:color-mix(in srgb,var(--prime-skin-edge) 52%,transparent)!important;background:color-mix(in srgb,var(--prime-skin-panel-strong) 76%,var(--prime-skin-bg))!important}

/* Toolbox participation */
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-tools-panel{
  border-color:var(--prime-pill-edge)!important;
  background:var(--prime-skin-pattern),linear-gradient(160deg,color-mix(in srgb,var(--prime-skin-panel-strong) 90%,var(--prime-skin-accent) 4%),color-mix(in srgb,var(--prime-skin-bg) 96%,black))!important;
  color:var(--prime-skin-text)!important;
  box-shadow:0 28px 76px color-mix(in srgb,var(--prime-skin-bg) 74%,transparent),0 0 24px var(--prime-pill-glow)!important;
  backdrop-filter:blur(var(--prime-skin-blur)) saturate(1.16)!important;
  -webkit-backdrop-filter:blur(var(--prime-skin-blur)) saturate(1.16)!important;
  font-family:var(--prime-skin-font)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-tools-panel>header{border-bottom-color:color-mix(in srgb,var(--prime-skin-edge) 22%,transparent)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-tools-panel>header small,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-power small,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-range{color:var(--prime-skin-muted)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-tools-group{
  border-color:color-mix(in srgb,var(--prime-skin-edge) 24%,transparent)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--prime-skin-panel-strong) 78%,transparent),color-mix(in srgb,var(--prime-skin-bg) 90%,transparent))!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-tools-group>header{color:var(--prime-skin-accent)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-tools-close,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-mode-grid button,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-spatial-grid button,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-power,
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-nexus{
  border-color:var(--prime-pill-edge-soft)!important;
  background:var(--prime-pill-control)!important;
  color:var(--prime-skin-text)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-mode-grid button[data-active],
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-spatial-grid button[data-active],
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-power[aria-checked="true"]{
  border-color:color-mix(in srgb,var(--prime-skin-accent) 52%,transparent)!important;
  background:var(--prime-pill-control-active)!important;
  color:var(--prime-skin-text)!important;
  box-shadow:inset 0 0 16px color-mix(in srgb,var(--prime-skin-accent) 8%,transparent),0 0 10px var(--prime-pill-glow)!important;
}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-power>i{border-color:color-mix(in srgb,var(--prime-skin-edge) 34%,transparent)!important;background:color-mix(in srgb,var(--prime-skin-panel-strong) 72%,transparent)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-power>i::after{background:var(--prime-skin-muted)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-power[aria-checked="true"]>i::after{background:var(--prime-skin-accent)!important;box-shadow:0 0 .5rem var(--prime-pill-glow)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck input[type="range"]{accent-color:var(--prime-skin-accent)!important}
html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-command-range output{color:var(--prime-skin-accent-2)!important}

/* Reduced motion keeps skin identity without forcing optical movement. */
@media(prefers-reduced-motion:reduce){
  html[data-prime-skin] body.prime-v2 #primeCommandDeck.prime-command-deck::before,
  html[data-prime-skin] body.prime-v2 #primeCommandDeck .prime-deck-bubble{animation:none!important}
}
