@ox-content/theme-holo 3.0.0-beta.3 → 3.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@ Holo — Iridescent foil that shifts hue as panels tilt and slide — for [Ox Co
4
4
 
5
5
  **Form only.** Geometry, texture, typography and motion, written entirely
6
6
  against `--octc-*` custom properties. It names no colors, so it pairs with any
7
- `@ox-content/theme-color-*` scheme. About 10.0 kB of CSS, zero JavaScript, zero
7
+ `@ox-content/theme-color-*` scheme. About 9.6 kB of CSS, zero JavaScript, zero
8
8
  runtime dependencies.
9
9
 
10
10
  ```bash
package/dist/index.cjs CHANGED
@@ -34,7 +34,7 @@ const holo = {
34
34
  "motion-spring": "cubic-bezier(0.34, 1.56, 0.64, 1)",
35
35
  "motion-rise": "0.7rem"
36
36
  },
37
- css: `@property --octc-sweep{syntax:"<percentage>";inherits:false;initial-value:0%}@property --octc-spin{syntax:"<angle>";inherits:false;initial-value:0deg}@view-transition{navigation:auto}.header{view-transition-name:octc-header}.sidebar{view-transition-name:octc-sidebar}.main{view-transition-name:octc-main}@media (prefers-reduced-motion:no-preference){::view-transition-old(octc-main){animation:octc-swap-out var(--octc-motion-base) var(--octc-motion-ease) both}::view-transition-new(octc-main){animation:octc-swap-in var(--octc-motion-base) var(--octc-motion-ease) both}}@keyframes octc-swap-out{to{opacity:0;transform:translateY(-0.5rem)}}@keyframes octc-swap-in{from{opacity:0;transform:translateY(0.75rem)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.content>h2,.feature-card{animation:octc-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}.features-grid>:nth-child(2n){animation-range:entry 3% entry 58%}.features-grid>:nth-child(3n){animation-range:entry 6% entry 62%}.hero-name,.hero-text,.hero-tagline,.hero-actions{animation:octc-hero-in var(--octc-motion-slow) var(--octc-motion-spring) both}.hero-text{animation-delay:90ms}.hero-tagline{animation-delay:160ms}.hero-actions{animation-delay:240ms}}}@keyframes octc-rise{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem))}}@keyframes octc-hero-in{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem)) scale(0.994)}}.nav-link,.toc-link,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle,.content a{transition:color var(--octc-motion-fast) var(--octc-motion-ease),background-color var(--octc-motion-fast) var(--octc-motion-ease),border-color var(--octc-motion-fast) var(--octc-motion-ease),box-shadow var(--octc-motion-base) var(--octc-motion-ease),transform var(--octc-motion-base) var(--octc-motion-spring)}.search-modal-overlay{transition:opacity var(--octc-motion-base) var(--octc-motion-ease),display var(--octc-motion-base) allow-discrete}@media (prefers-reduced-motion:no-preference){.search-modal{transition:transform var(--octc-motion-base) var(--octc-motion-spring)}@starting-style{.search-modal{transform:translateY(-0.75rem) scale(0.97)}}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}}.entry-page .main{padding-inline:0}.entry-page .layout{padding-top:0}.entry-content{max-width:none;padding-inline:0}.entry-content>.content,.features{max-width:var(--octc-max-content-width);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}.hero{padding-inline:clamp(1.5rem,6vw,4rem);background-color:transparent;border-bottom:0;min-height:min(100vh,56rem);padding-block:calc(var(--octc-header-height) + clamp(3rem,11vh,7rem)) clamp(3.5rem,11vh,7rem)}.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:clamp(6rem,22vh,14rem);z-index:0;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--octc-color-bg))}.hero-content,.hero-notice,.hero-image{position:relative;z-index:1}.features{border-top:0}.header{background:transparent;border-bottom:0;box-shadow:none}body:not(.entry-page) .header{backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}@supports (animation-timeline:scroll()){.header{animation:var(--octc-header-scroll,octc-header-settle) linear both;animation-timeline:scroll(root block);animation-range:0 7rem}}@keyframes octc-header-settle{from{backdrop-filter:blur(0px) saturate(100%);-webkit-backdrop-filter:blur(0px) saturate(100%)}to{backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}}.sidebar,.toc{top:0;padding-top:calc(var(--octc-header-height) + 1rem)}.header-actions .social-link,.header-actions .theme-toggle{opacity:0.62;transition:opacity var(--octc-motion-fast) var(--octc-motion-ease)}.header:hover .social-link,.header:hover .theme-toggle,.header-actions :focus-visible{opacity:1}.content h1,.content h2,.content h3,.hero-name,.hero-text,.feature-title{text-wrap:balance}.content p,.content li,.hero-tagline,.feature-details{text-wrap:pretty}.content{hanging-punctuation:first last}.content table{font-variant-numeric:tabular-nums}.content a{text-underline-offset:0.18em;text-decoration-skip-ink:auto}.content h1 a,.content h2 a,.content h3 a{text-decoration:none}::selection{background:color-mix(in srgb,var(--octc-color-primary) 28%,transparent);color:var(--octc-color-text)}.sidebar,.toc,.content pre,.search-results{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--octc-color-text) 22%,transparent) transparent}.content pre{scroll-padding-inline:1rem}.content img,.content video,.content iframe{max-width:100%;height:auto}[data-theme="dark"] body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--octc-ho-radius:14px;--octc-ho-foil:linear-gradient(
37
+ css: `@property --octc-sweep{syntax:"<percentage>";inherits:false;initial-value:0%}@property --octc-spin{syntax:"<angle>";inherits:false;initial-value:0deg}@view-transition{navigation:auto}.header{view-transition-name:octc-header}.sidebar{view-transition-name:octc-sidebar}.main{view-transition-name:octc-main}@media (prefers-reduced-motion:no-preference){::view-transition-old(octc-main){animation:octc-swap-out var(--octc-motion-base) var(--octc-motion-ease) both}::view-transition-new(octc-main){animation:octc-swap-in var(--octc-motion-base) var(--octc-motion-ease) both}}@keyframes octc-swap-out{to{opacity:0;transform:translateY(-0.5rem)}}@keyframes octc-swap-in{from{opacity:0;transform:translateY(0.75rem)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.content>h2,.feature-card{animation:octc-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}.features-grid>:nth-child(2n){animation-range:entry 3% entry 58%}.features-grid>:nth-child(3n){animation-range:entry 6% entry 62%}.hero-name,.hero-text,.hero-tagline,.hero-actions{animation:octc-hero-in var(--octc-motion-slow) var(--octc-motion-spring) both}.hero-text{animation-delay:90ms}.hero-tagline{animation-delay:160ms}.hero-actions{animation-delay:240ms}}}@keyframes octc-rise{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem))}}@keyframes octc-hero-in{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem)) scale(0.994)}}.nav-link,.toc-link,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle,.content a{transition:color var(--octc-motion-fast) var(--octc-motion-ease),background-color var(--octc-motion-fast) var(--octc-motion-ease),border-color var(--octc-motion-fast) var(--octc-motion-ease),box-shadow var(--octc-motion-base) var(--octc-motion-ease),transform var(--octc-motion-base) var(--octc-motion-spring)}.search-modal-overlay{transition:opacity var(--octc-motion-base) var(--octc-motion-ease),display var(--octc-motion-base) allow-discrete}@media (prefers-reduced-motion:no-preference){.search-modal{transition:transform var(--octc-motion-base) var(--octc-motion-spring)}@starting-style{.search-modal{transform:translateY(-0.75rem) scale(0.97)}}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}}.entry-page .main{padding-inline:0}.entry-page .layout{padding-top:0}.entry-content{max-width:none;padding-inline:0}.entry-content>.content,.features{max-width:var(--octc-max-content-width);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}.hero{padding-inline:clamp(1.5rem,6vw,4rem);background-color:transparent;border-bottom:0;min-height:min(100vh,56rem);padding-block:calc(var(--octc-header-height) + clamp(3rem,11vh,7rem)) clamp(3.5rem,11vh,7rem)}.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:clamp(6rem,22vh,14rem);z-index:0;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--octc-color-bg))}.hero-content,.hero-notice,.hero-image{position:relative;z-index:1}.features{border-top:0}.header{background:transparent;border-bottom:0;box-shadow:none}.sidebar,.toc{top:0;padding-top:calc(var(--octc-header-height) + 1rem)}.header-actions .social-link,.header-actions .theme-toggle{opacity:0.62;transition:opacity var(--octc-motion-fast) var(--octc-motion-ease)}.header:hover .social-link,.header:hover .theme-toggle,.header-actions :focus-visible{opacity:1}.content h1,.content h2,.content h3,.hero-name,.hero-text,.feature-title{text-wrap:balance}.content p,.content li,.hero-tagline,.feature-details{text-wrap:pretty}.content{hanging-punctuation:first last}.content table{font-variant-numeric:tabular-nums}.content a{text-underline-offset:0.18em;text-decoration-skip-ink:auto}.content h1 a,.content h2 a,.content h3 a{text-decoration:none}::selection{background:color-mix(in srgb,var(--octc-color-primary) 28%,transparent);color:var(--octc-color-text)}.sidebar,.toc,.content pre,.search-results{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--octc-color-text) 22%,transparent) transparent}.content pre{scroll-padding-inline:1rem}.content img,.content video,.content iframe{max-width:100%;height:auto}[data-theme="dark"] body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--octc-ho-radius:14px;--octc-ho-foil:linear-gradient(
38
38
  115deg,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 55%,transparent) 0%,color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 55%,transparent) 26%,color-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 55%,transparent) 52%,color-mix(in srgb,var(--octc-accent-warm,var(--octc-color-primary)) 55%,transparent) 74%,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 55%,transparent) 100%
39
39
  );--octc-ho-tint:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);--octc-ho-foil-ink:linear-gradient(
40
40
  115deg,var(--octc-accent-a-ink,var(--octc-color-primary)) 0%,var(--octc-accent-c-ink,var(--octc-color-primary)) 26%,var(--octc-accent-b-ink,var(--octc-color-primary)) 52%,var(--octc-accent-warm-ink,var(--octc-color-primary)) 74%,var(--octc-accent-a-ink,var(--octc-color-primary)) 100%
@@ -51,7 +51,7 @@ color-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 60%,transparent
51
51
  --octc-skin-sidebar-bg,color-mix(in srgb,var(--octc-color-bg-alt) 16%,var(--octc-color-bg))
52
52
  )}:root:root .nav-link:not(.active):hover{background:var(
53
53
  --octc-skin-nav-hover-bg,color-mix(in srgb,var(--octc-color-bg-alt) 58%,transparent)
54
- )}.header{border-bottom:0}.header{background-color:transparent;background-image:none;box-shadow:none}.content pre{box-shadow:none}`
54
+ )}:root:root .nav-link:hover,:root:root .toc-link:hover,:root:root .content a:hover{font-style:inherit}.header{border-bottom:0}.header{background-color:transparent;background-image:none;box-shadow:none}.content pre{box-shadow:none !important}`
55
55
  };
56
56
  //#endregion
57
57
  exports.default = holo;
package/dist/index.mjs CHANGED
@@ -30,7 +30,7 @@ const holo = {
30
30
  "motion-spring": "cubic-bezier(0.34, 1.56, 0.64, 1)",
31
31
  "motion-rise": "0.7rem"
32
32
  },
33
- css: `@property --octc-sweep{syntax:"<percentage>";inherits:false;initial-value:0%}@property --octc-spin{syntax:"<angle>";inherits:false;initial-value:0deg}@view-transition{navigation:auto}.header{view-transition-name:octc-header}.sidebar{view-transition-name:octc-sidebar}.main{view-transition-name:octc-main}@media (prefers-reduced-motion:no-preference){::view-transition-old(octc-main){animation:octc-swap-out var(--octc-motion-base) var(--octc-motion-ease) both}::view-transition-new(octc-main){animation:octc-swap-in var(--octc-motion-base) var(--octc-motion-ease) both}}@keyframes octc-swap-out{to{opacity:0;transform:translateY(-0.5rem)}}@keyframes octc-swap-in{from{opacity:0;transform:translateY(0.75rem)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.content>h2,.feature-card{animation:octc-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}.features-grid>:nth-child(2n){animation-range:entry 3% entry 58%}.features-grid>:nth-child(3n){animation-range:entry 6% entry 62%}.hero-name,.hero-text,.hero-tagline,.hero-actions{animation:octc-hero-in var(--octc-motion-slow) var(--octc-motion-spring) both}.hero-text{animation-delay:90ms}.hero-tagline{animation-delay:160ms}.hero-actions{animation-delay:240ms}}}@keyframes octc-rise{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem))}}@keyframes octc-hero-in{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem)) scale(0.994)}}.nav-link,.toc-link,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle,.content a{transition:color var(--octc-motion-fast) var(--octc-motion-ease),background-color var(--octc-motion-fast) var(--octc-motion-ease),border-color var(--octc-motion-fast) var(--octc-motion-ease),box-shadow var(--octc-motion-base) var(--octc-motion-ease),transform var(--octc-motion-base) var(--octc-motion-spring)}.search-modal-overlay{transition:opacity var(--octc-motion-base) var(--octc-motion-ease),display var(--octc-motion-base) allow-discrete}@media (prefers-reduced-motion:no-preference){.search-modal{transition:transform var(--octc-motion-base) var(--octc-motion-spring)}@starting-style{.search-modal{transform:translateY(-0.75rem) scale(0.97)}}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}}.entry-page .main{padding-inline:0}.entry-page .layout{padding-top:0}.entry-content{max-width:none;padding-inline:0}.entry-content>.content,.features{max-width:var(--octc-max-content-width);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}.hero{padding-inline:clamp(1.5rem,6vw,4rem);background-color:transparent;border-bottom:0;min-height:min(100vh,56rem);padding-block:calc(var(--octc-header-height) + clamp(3rem,11vh,7rem)) clamp(3.5rem,11vh,7rem)}.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:clamp(6rem,22vh,14rem);z-index:0;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--octc-color-bg))}.hero-content,.hero-notice,.hero-image{position:relative;z-index:1}.features{border-top:0}.header{background:transparent;border-bottom:0;box-shadow:none}body:not(.entry-page) .header{backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}@supports (animation-timeline:scroll()){.header{animation:var(--octc-header-scroll,octc-header-settle) linear both;animation-timeline:scroll(root block);animation-range:0 7rem}}@keyframes octc-header-settle{from{backdrop-filter:blur(0px) saturate(100%);-webkit-backdrop-filter:blur(0px) saturate(100%)}to{backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}}.sidebar,.toc{top:0;padding-top:calc(var(--octc-header-height) + 1rem)}.header-actions .social-link,.header-actions .theme-toggle{opacity:0.62;transition:opacity var(--octc-motion-fast) var(--octc-motion-ease)}.header:hover .social-link,.header:hover .theme-toggle,.header-actions :focus-visible{opacity:1}.content h1,.content h2,.content h3,.hero-name,.hero-text,.feature-title{text-wrap:balance}.content p,.content li,.hero-tagline,.feature-details{text-wrap:pretty}.content{hanging-punctuation:first last}.content table{font-variant-numeric:tabular-nums}.content a{text-underline-offset:0.18em;text-decoration-skip-ink:auto}.content h1 a,.content h2 a,.content h3 a{text-decoration:none}::selection{background:color-mix(in srgb,var(--octc-color-primary) 28%,transparent);color:var(--octc-color-text)}.sidebar,.toc,.content pre,.search-results{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--octc-color-text) 22%,transparent) transparent}.content pre{scroll-padding-inline:1rem}.content img,.content video,.content iframe{max-width:100%;height:auto}[data-theme="dark"] body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--octc-ho-radius:14px;--octc-ho-foil:linear-gradient(
33
+ css: `@property --octc-sweep{syntax:"<percentage>";inherits:false;initial-value:0%}@property --octc-spin{syntax:"<angle>";inherits:false;initial-value:0deg}@view-transition{navigation:auto}.header{view-transition-name:octc-header}.sidebar{view-transition-name:octc-sidebar}.main{view-transition-name:octc-main}@media (prefers-reduced-motion:no-preference){::view-transition-old(octc-main){animation:octc-swap-out var(--octc-motion-base) var(--octc-motion-ease) both}::view-transition-new(octc-main){animation:octc-swap-in var(--octc-motion-base) var(--octc-motion-ease) both}}@keyframes octc-swap-out{to{opacity:0;transform:translateY(-0.5rem)}}@keyframes octc-swap-in{from{opacity:0;transform:translateY(0.75rem)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.content>h2,.feature-card{animation:octc-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}.features-grid>:nth-child(2n){animation-range:entry 3% entry 58%}.features-grid>:nth-child(3n){animation-range:entry 6% entry 62%}.hero-name,.hero-text,.hero-tagline,.hero-actions{animation:octc-hero-in var(--octc-motion-slow) var(--octc-motion-spring) both}.hero-text{animation-delay:90ms}.hero-tagline{animation-delay:160ms}.hero-actions{animation-delay:240ms}}}@keyframes octc-rise{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem))}}@keyframes octc-hero-in{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem)) scale(0.994)}}.nav-link,.toc-link,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle,.content a{transition:color var(--octc-motion-fast) var(--octc-motion-ease),background-color var(--octc-motion-fast) var(--octc-motion-ease),border-color var(--octc-motion-fast) var(--octc-motion-ease),box-shadow var(--octc-motion-base) var(--octc-motion-ease),transform var(--octc-motion-base) var(--octc-motion-spring)}.search-modal-overlay{transition:opacity var(--octc-motion-base) var(--octc-motion-ease),display var(--octc-motion-base) allow-discrete}@media (prefers-reduced-motion:no-preference){.search-modal{transition:transform var(--octc-motion-base) var(--octc-motion-spring)}@starting-style{.search-modal{transform:translateY(-0.75rem) scale(0.97)}}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}}.entry-page .main{padding-inline:0}.entry-page .layout{padding-top:0}.entry-content{max-width:none;padding-inline:0}.entry-content>.content,.features{max-width:var(--octc-max-content-width);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}.hero{padding-inline:clamp(1.5rem,6vw,4rem);background-color:transparent;border-bottom:0;min-height:min(100vh,56rem);padding-block:calc(var(--octc-header-height) + clamp(3rem,11vh,7rem)) clamp(3.5rem,11vh,7rem)}.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:clamp(6rem,22vh,14rem);z-index:0;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--octc-color-bg))}.hero-content,.hero-notice,.hero-image{position:relative;z-index:1}.features{border-top:0}.header{background:transparent;border-bottom:0;box-shadow:none}.sidebar,.toc{top:0;padding-top:calc(var(--octc-header-height) + 1rem)}.header-actions .social-link,.header-actions .theme-toggle{opacity:0.62;transition:opacity var(--octc-motion-fast) var(--octc-motion-ease)}.header:hover .social-link,.header:hover .theme-toggle,.header-actions :focus-visible{opacity:1}.content h1,.content h2,.content h3,.hero-name,.hero-text,.feature-title{text-wrap:balance}.content p,.content li,.hero-tagline,.feature-details{text-wrap:pretty}.content{hanging-punctuation:first last}.content table{font-variant-numeric:tabular-nums}.content a{text-underline-offset:0.18em;text-decoration-skip-ink:auto}.content h1 a,.content h2 a,.content h3 a{text-decoration:none}::selection{background:color-mix(in srgb,var(--octc-color-primary) 28%,transparent);color:var(--octc-color-text)}.sidebar,.toc,.content pre,.search-results{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--octc-color-text) 22%,transparent) transparent}.content pre{scroll-padding-inline:1rem}.content img,.content video,.content iframe{max-width:100%;height:auto}[data-theme="dark"] body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--octc-ho-radius:14px;--octc-ho-foil:linear-gradient(
34
34
  115deg,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 55%,transparent) 0%,color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 55%,transparent) 26%,color-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 55%,transparent) 52%,color-mix(in srgb,var(--octc-accent-warm,var(--octc-color-primary)) 55%,transparent) 74%,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 55%,transparent) 100%
35
35
  );--octc-ho-tint:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);--octc-ho-foil-ink:linear-gradient(
36
36
  115deg,var(--octc-accent-a-ink,var(--octc-color-primary)) 0%,var(--octc-accent-c-ink,var(--octc-color-primary)) 26%,var(--octc-accent-b-ink,var(--octc-color-primary)) 52%,var(--octc-accent-warm-ink,var(--octc-color-primary)) 74%,var(--octc-accent-a-ink,var(--octc-color-primary)) 100%
@@ -47,7 +47,7 @@ color-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 60%,transparent
47
47
  --octc-skin-sidebar-bg,color-mix(in srgb,var(--octc-color-bg-alt) 16%,var(--octc-color-bg))
48
48
  )}:root:root .nav-link:not(.active):hover{background:var(
49
49
  --octc-skin-nav-hover-bg,color-mix(in srgb,var(--octc-color-bg-alt) 58%,transparent)
50
- )}.header{border-bottom:0}.header{background-color:transparent;background-image:none;box-shadow:none}.content pre{box-shadow:none}`
50
+ )}:root:root .nav-link:hover,:root:root .toc-link:hover,:root:root .content a:hover{font-style:inherit}.header{border-bottom:0}.header{background-color:transparent;background-image:none;box-shadow:none}.content pre{box-shadow:none !important}`
51
51
  };
52
52
  //#endregion
53
53
  export { holo as default, holo };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/skin.ts","../src/index.ts"],"sourcesContent":["/**\n * Holo skin stylesheet.\n *\n * Iridescent foil that shifts hue as panels tilt and slide.\n *\n * Written entirely against `--octc-*` custom properties and `color-mix()`, plus\n * neutral black/white alpha for depth — no hue is ever named, which is what lets\n * any `@ox-content/theme-color-*` package drive it.\n *\n * Generated from `tools/scripts/theme-skins/skins/holo.css`; edit that file and\n * run `node tools/scripts/theme-skins/generate.mjs` rather than editing this by hand.\n */\nexport const css = `@property --octc-sweep{syntax:\"<percentage>\";inherits:false;initial-value:0%}@property --octc-spin{syntax:\"<angle>\";inherits:false;initial-value:0deg}@view-transition{navigation:auto}.header{view-transition-name:octc-header}.sidebar{view-transition-name:octc-sidebar}.main{view-transition-name:octc-main}@media (prefers-reduced-motion:no-preference){::view-transition-old(octc-main){animation:octc-swap-out var(--octc-motion-base) var(--octc-motion-ease) both}::view-transition-new(octc-main){animation:octc-swap-in var(--octc-motion-base) var(--octc-motion-ease) both}}@keyframes octc-swap-out{to{opacity:0;transform:translateY(-0.5rem)}}@keyframes octc-swap-in{from{opacity:0;transform:translateY(0.75rem)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.content>h2,.feature-card{animation:octc-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}.features-grid>:nth-child(2n){animation-range:entry 3% entry 58%}.features-grid>:nth-child(3n){animation-range:entry 6% entry 62%}.hero-name,.hero-text,.hero-tagline,.hero-actions{animation:octc-hero-in var(--octc-motion-slow) var(--octc-motion-spring) both}.hero-text{animation-delay:90ms}.hero-tagline{animation-delay:160ms}.hero-actions{animation-delay:240ms}}}@keyframes octc-rise{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem))}}@keyframes octc-hero-in{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem)) scale(0.994)}}.nav-link,.toc-link,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle,.content a{transition:color var(--octc-motion-fast) var(--octc-motion-ease),background-color var(--octc-motion-fast) var(--octc-motion-ease),border-color var(--octc-motion-fast) var(--octc-motion-ease),box-shadow var(--octc-motion-base) var(--octc-motion-ease),transform var(--octc-motion-base) var(--octc-motion-spring)}.search-modal-overlay{transition:opacity var(--octc-motion-base) var(--octc-motion-ease),display var(--octc-motion-base) allow-discrete}@media (prefers-reduced-motion:no-preference){.search-modal{transition:transform var(--octc-motion-base) var(--octc-motion-spring)}@starting-style{.search-modal{transform:translateY(-0.75rem) scale(0.97)}}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}}.entry-page .main{padding-inline:0}.entry-page .layout{padding-top:0}.entry-content{max-width:none;padding-inline:0}.entry-content>.content,.features{max-width:var(--octc-max-content-width);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}.hero{padding-inline:clamp(1.5rem,6vw,4rem);background-color:transparent;border-bottom:0;min-height:min(100vh,56rem);padding-block:calc(var(--octc-header-height) + clamp(3rem,11vh,7rem)) clamp(3.5rem,11vh,7rem)}.hero::after{content:\"\";position:absolute;inset:auto 0 0 0;height:clamp(6rem,22vh,14rem);z-index:0;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--octc-color-bg))}.hero-content,.hero-notice,.hero-image{position:relative;z-index:1}.features{border-top:0}.header{background:transparent;border-bottom:0;box-shadow:none}body:not(.entry-page) .header{backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}@supports (animation-timeline:scroll()){.header{animation:var(--octc-header-scroll,octc-header-settle) linear both;animation-timeline:scroll(root block);animation-range:0 7rem}}@keyframes octc-header-settle{from{backdrop-filter:blur(0px) saturate(100%);-webkit-backdrop-filter:blur(0px) saturate(100%)}to{backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}}.sidebar,.toc{top:0;padding-top:calc(var(--octc-header-height) + 1rem)}.header-actions .social-link,.header-actions .theme-toggle{opacity:0.62;transition:opacity var(--octc-motion-fast) var(--octc-motion-ease)}.header:hover .social-link,.header:hover .theme-toggle,.header-actions :focus-visible{opacity:1}.content h1,.content h2,.content h3,.hero-name,.hero-text,.feature-title{text-wrap:balance}.content p,.content li,.hero-tagline,.feature-details{text-wrap:pretty}.content{hanging-punctuation:first last}.content table{font-variant-numeric:tabular-nums}.content a{text-underline-offset:0.18em;text-decoration-skip-ink:auto}.content h1 a,.content h2 a,.content h3 a{text-decoration:none}::selection{background:color-mix(in srgb,var(--octc-color-primary) 28%,transparent);color:var(--octc-color-text)}.sidebar,.toc,.content pre,.search-results{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--octc-color-text) 22%,transparent) transparent}.content pre{scroll-padding-inline:1rem}.content img,.content video,.content iframe{max-width:100%;height:auto}[data-theme=\"dark\"] body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root:not([data-theme=\"light\"]) body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--octc-ho-radius:14px;--octc-ho-foil:linear-gradient(\n115deg,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 55%,transparent) 0%,color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 55%,transparent) 26%,color-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 55%,transparent) 52%,color-mix(in srgb,var(--octc-accent-warm,var(--octc-color-primary)) 55%,transparent) 74%,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 55%,transparent) 100%\n);--octc-ho-tint:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);--octc-ho-foil-ink:linear-gradient(\n115deg,var(--octc-accent-a-ink,var(--octc-color-primary)) 0%,var(--octc-accent-c-ink,var(--octc-color-primary)) 26%,var(--octc-accent-b-ink,var(--octc-color-primary)) 52%,var(--octc-accent-warm-ink,var(--octc-color-primary)) 74%,var(--octc-accent-a-ink,var(--octc-color-primary)) 100%\n)}.header,.sidebar,.toc,.search-modal,.content pre,.content blockquote,.feature-card,.hero-action,.hero-notice,.social-link,.search-button,.theme-toggle,.content img{border-radius:var(--octc-ho-radius)}.header{border-radius:0}.header-title{font-weight:700}.sidebar{border-radius:0;--octc-skin-sidebar-bg:var(--octc-ho-tint);background:var(--octc-ho-tint);backdrop-filter:blur(14px);border-right:1px solid color-mix(in srgb,var(--octc-color-border) 40%,transparent)}.toc{border-left:1px solid color-mix(in srgb,var(--octc-color-border) 40%,transparent)}.nav-link,.toc-link{border-radius:9px}.nav-link:hover,.toc-link:hover{--octc-skin-nav-hover-bg:color-mix(\nin srgb,var(--octc-accent-c,var(--octc-color-primary)) 14%,transparent\n);background:color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 14%,transparent);transform:translateX(3px)}.nav-link.active{background:var(--octc-ho-foil-ink);background-size:200% 100%;color:var(--octc-color-bg);font-weight:650}.search-button,.theme-toggle,.social-link,.hero-action,.feature-card{position:relative;border:1px solid color-mix(in srgb,var(--octc-color-border) 45%,transparent);background:linear-gradient(var(--octc-ho-tint),var(--octc-ho-tint)) padding-box,var(--octc-ho-foil) border-box;background-size:100% 100%,300% 100%;background-position:0 0,0% 0;transition:background-position var(--octc-motion-slow) var(--octc-motion-ease),transform var(--octc-motion-base) var(--octc-motion-spring),box-shadow var(--octc-motion-base) var(--octc-motion-ease)}.search-button:hover,.theme-toggle:hover,.social-link:hover,.hero-action:hover,.feature-card:hover{background-position:0 0,100% 0;transform:translateY(-3px);box-shadow:0 18px 40px -20px\ncolor-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 60%,transparent)}.search-modal{background:color-mix(in srgb,var(--octc-color-bg) 88%,transparent);backdrop-filter:blur(30px) saturate(170%);border:1px solid transparent;border-image:var(--octc-ho-foil) 1}.content h2{border-bottom:2px solid transparent;border-image:var(--octc-ho-foil) 1}.content a{text-decoration-color:var(--octc-accent-b,var(--octc-color-primary))}.content pre{border:1px solid transparent;background:linear-gradient(180deg,var(--octc-color-code-bg-top),var(--octc-color-code-bg)) padding-box,var(--octc-ho-foil) border-box !important}.content :not(pre)>code{border-radius:6px;background:color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 14%,transparent);padding:0.1em 0.4em}.content blockquote{border:0;border-left:3px solid transparent;border-image:var(--octc-ho-foil) 1;background:color-mix(in srgb,var(--octc-color-bg-alt) 70%,transparent)}.content table{border-radius:12px;overflow:hidden}.content hr{border:0;height:2px;background:var(--octc-ho-foil)}.hero{background-image:radial-gradient(\n60% 48% at 20% 6%,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 26%,transparent),transparent 70%\n),radial-gradient(\n52% 46% at 82% 26%,color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 24%,transparent),transparent 72%\n),radial-gradient(\n58% 44% at 52% 96%,color-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 20%,transparent),transparent 74%\n)}.hero-name{letter-spacing:-0.035em}.hero-action{font-weight:660}.features .feature-card{padding:1.35rem}.feature-title{font-weight:650}:focus-visible{outline:2px solid var(--octc-accent-b,var(--octc-color-primary));outline-offset:3px}.hero-action-brand,.hero-action-brand:hover,.hero-action-brand:focus-visible{background:var(--octc-brand-fill,var(--octc-color-primary));border-color:var(--octc-brand-edge,var(--octc-color-primary));color:var(--octc-brand-ink,var(--octc-color-bg))}.hero-action-brand:hover{background:var(--octc-brand-fill-hover,var(--octc-color-primary-hover));border-color:var(--octc-brand-edge-hover,var(--octc-color-primary-hover))}.hero-action-alt,.hero-action-alt:hover{color:var(--octc-color-text)}:root:root .sidebar{background:var(\n--octc-skin-sidebar-bg,color-mix(in srgb,var(--octc-color-bg-alt) 16%,var(--octc-color-bg))\n)}:root:root .nav-link:not(.active):hover{background:var(\n--octc-skin-nav-hover-bg,color-mix(in srgb,var(--octc-color-bg-alt) 58%,transparent)\n)}.header{border-bottom:0}.header{background-color:transparent;background-image:none;box-shadow:none}.content pre{box-shadow:none}`;\n","import type { ThemeConfig } from \"@ox-content/vite-plugin\";\n\nimport { css } from \"./skin\";\n\n/**\n * Holo — Iridescent foil that shifts hue as panels tilt and slide.\n *\n * Form only: geometry, texture, typography and motion. It names no colors, so\n * it composes with any `@ox-content/theme-color-*` package:\n *\n * ```ts\n * theme: [holo, tokyoNight]\n * ```\n */\nexport const holo: ThemeConfig = {\n name: \"holo\",\n fonts: {\n sans: 'ui-sans-serif, system-ui, -apple-system, \"Segoe UI Variable\", \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, \"Cascadia Mono\", Consolas, monospace',\n },\n layout: {\n sidebarWidth: \"266px\",\n headerHeight: \"66px\",\n maxContentWidth: \"920px\",\n },\n entryPage: { mode: \"default\" },\n tokens: {\n \"motion-fast\": \"220ms\",\n \"motion-base\": \"420ms\",\n \"motion-slow\": \"1000ms\",\n \"motion-ease\": \"cubic-bezier(0.22, 1, 0.36, 1)\",\n \"motion-spring\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"motion-rise\": \"0.7rem\",\n },\n css,\n};\n\nexport default holo;\n"],"mappings":";;;;;;;;;;;;ACcA,MAAa,OAAoB;CAC/B,MAAM;CACN,OAAO;EACL,MAAM;EACN,MAAM;CACR;CACA,QAAQ;EACN,cAAc;EACd,cAAc;EACd,iBAAiB;CACnB;CACA,WAAW,EAAE,MAAM,UAAU;CAC7B,QAAQ;EACN,eAAe;EACf,eAAe;EACf,eAAe;EACf,eAAe;EACf,iBAAiB;EACjB,eAAe;CACjB;CACA;;;;;;;;;;;;;;;;;;AACF"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/skin.ts","../src/index.ts"],"sourcesContent":["/**\n * Holo skin stylesheet.\n *\n * Iridescent foil that shifts hue as panels tilt and slide.\n *\n * Written entirely against `--octc-*` custom properties and `color-mix()`, plus\n * neutral black/white alpha for depth — no hue is ever named, which is what lets\n * any `@ox-content/theme-color-*` package drive it.\n *\n * Generated from `tools/scripts/theme-skins/skins/holo.css`; edit that file and\n * run `node tools/scripts/theme-skins/generate.mjs` rather than editing this by hand.\n */\nexport const css = `@property --octc-sweep{syntax:\"<percentage>\";inherits:false;initial-value:0%}@property --octc-spin{syntax:\"<angle>\";inherits:false;initial-value:0deg}@view-transition{navigation:auto}.header{view-transition-name:octc-header}.sidebar{view-transition-name:octc-sidebar}.main{view-transition-name:octc-main}@media (prefers-reduced-motion:no-preference){::view-transition-old(octc-main){animation:octc-swap-out var(--octc-motion-base) var(--octc-motion-ease) both}::view-transition-new(octc-main){animation:octc-swap-in var(--octc-motion-base) var(--octc-motion-ease) both}}@keyframes octc-swap-out{to{opacity:0;transform:translateY(-0.5rem)}}@keyframes octc-swap-in{from{opacity:0;transform:translateY(0.75rem)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.content>h2,.feature-card{animation:octc-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}.features-grid>:nth-child(2n){animation-range:entry 3% entry 58%}.features-grid>:nth-child(3n){animation-range:entry 6% entry 62%}.hero-name,.hero-text,.hero-tagline,.hero-actions{animation:octc-hero-in var(--octc-motion-slow) var(--octc-motion-spring) both}.hero-text{animation-delay:90ms}.hero-tagline{animation-delay:160ms}.hero-actions{animation-delay:240ms}}}@keyframes octc-rise{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem))}}@keyframes octc-hero-in{from{opacity:0;transform:translateY(var(--octc-motion-rise,0.6rem)) scale(0.994)}}.nav-link,.toc-link,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle,.content a{transition:color var(--octc-motion-fast) var(--octc-motion-ease),background-color var(--octc-motion-fast) var(--octc-motion-ease),border-color var(--octc-motion-fast) var(--octc-motion-ease),box-shadow var(--octc-motion-base) var(--octc-motion-ease),transform var(--octc-motion-base) var(--octc-motion-spring)}.search-modal-overlay{transition:opacity var(--octc-motion-base) var(--octc-motion-ease),display var(--octc-motion-base) allow-discrete}@media (prefers-reduced-motion:no-preference){.search-modal{transition:transform var(--octc-motion-base) var(--octc-motion-spring)}@starting-style{.search-modal{transform:translateY(-0.75rem) scale(0.97)}}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:1ms !important;scroll-behavior:auto !important}}.entry-page .main{padding-inline:0}.entry-page .layout{padding-top:0}.entry-content{max-width:none;padding-inline:0}.entry-content>.content,.features{max-width:var(--octc-max-content-width);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2rem)}.hero{padding-inline:clamp(1.5rem,6vw,4rem);background-color:transparent;border-bottom:0;min-height:min(100vh,56rem);padding-block:calc(var(--octc-header-height) + clamp(3rem,11vh,7rem)) clamp(3.5rem,11vh,7rem)}.hero::after{content:\"\";position:absolute;inset:auto 0 0 0;height:clamp(6rem,22vh,14rem);z-index:0;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--octc-color-bg))}.hero-content,.hero-notice,.hero-image{position:relative;z-index:1}.features{border-top:0}.header{background:transparent;border-bottom:0;box-shadow:none}.sidebar,.toc{top:0;padding-top:calc(var(--octc-header-height) + 1rem)}.header-actions .social-link,.header-actions .theme-toggle{opacity:0.62;transition:opacity var(--octc-motion-fast) var(--octc-motion-ease)}.header:hover .social-link,.header:hover .theme-toggle,.header-actions :focus-visible{opacity:1}.content h1,.content h2,.content h3,.hero-name,.hero-text,.feature-title{text-wrap:balance}.content p,.content li,.hero-tagline,.feature-details{text-wrap:pretty}.content{hanging-punctuation:first last}.content table{font-variant-numeric:tabular-nums}.content a{text-underline-offset:0.18em;text-decoration-skip-ink:auto}.content h1 a,.content h2 a,.content h3 a{text-decoration:none}::selection{background:color-mix(in srgb,var(--octc-color-primary) 28%,transparent);color:var(--octc-color-text)}.sidebar,.toc,.content pre,.search-results{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--octc-color-text) 22%,transparent) transparent}.content pre{scroll-padding-inline:1rem}.content img,.content video,.content iframe{max-width:100%;height:auto}[data-theme=\"dark\"] body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root:not([data-theme=\"light\"]) body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--octc-ho-radius:14px;--octc-ho-foil:linear-gradient(\n115deg,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 55%,transparent) 0%,color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 55%,transparent) 26%,color-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 55%,transparent) 52%,color-mix(in srgb,var(--octc-accent-warm,var(--octc-color-primary)) 55%,transparent) 74%,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 55%,transparent) 100%\n);--octc-ho-tint:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);--octc-ho-foil-ink:linear-gradient(\n115deg,var(--octc-accent-a-ink,var(--octc-color-primary)) 0%,var(--octc-accent-c-ink,var(--octc-color-primary)) 26%,var(--octc-accent-b-ink,var(--octc-color-primary)) 52%,var(--octc-accent-warm-ink,var(--octc-color-primary)) 74%,var(--octc-accent-a-ink,var(--octc-color-primary)) 100%\n)}.header,.sidebar,.toc,.search-modal,.content pre,.content blockquote,.feature-card,.hero-action,.hero-notice,.social-link,.search-button,.theme-toggle,.content img{border-radius:var(--octc-ho-radius)}.header{border-radius:0}.header-title{font-weight:700}.sidebar{border-radius:0;--octc-skin-sidebar-bg:var(--octc-ho-tint);background:var(--octc-ho-tint);backdrop-filter:blur(14px);border-right:1px solid color-mix(in srgb,var(--octc-color-border) 40%,transparent)}.toc{border-left:1px solid color-mix(in srgb,var(--octc-color-border) 40%,transparent)}.nav-link,.toc-link{border-radius:9px}.nav-link:hover,.toc-link:hover{--octc-skin-nav-hover-bg:color-mix(\nin srgb,var(--octc-accent-c,var(--octc-color-primary)) 14%,transparent\n);background:color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 14%,transparent);transform:translateX(3px)}.nav-link.active{background:var(--octc-ho-foil-ink);background-size:200% 100%;color:var(--octc-color-bg);font-weight:650}.search-button,.theme-toggle,.social-link,.hero-action,.feature-card{position:relative;border:1px solid color-mix(in srgb,var(--octc-color-border) 45%,transparent);background:linear-gradient(var(--octc-ho-tint),var(--octc-ho-tint)) padding-box,var(--octc-ho-foil) border-box;background-size:100% 100%,300% 100%;background-position:0 0,0% 0;transition:background-position var(--octc-motion-slow) var(--octc-motion-ease),transform var(--octc-motion-base) var(--octc-motion-spring),box-shadow var(--octc-motion-base) var(--octc-motion-ease)}.search-button:hover,.theme-toggle:hover,.social-link:hover,.hero-action:hover,.feature-card:hover{background-position:0 0,100% 0;transform:translateY(-3px);box-shadow:0 18px 40px -20px\ncolor-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 60%,transparent)}.search-modal{background:color-mix(in srgb,var(--octc-color-bg) 88%,transparent);backdrop-filter:blur(30px) saturate(170%);border:1px solid transparent;border-image:var(--octc-ho-foil) 1}.content h2{border-bottom:2px solid transparent;border-image:var(--octc-ho-foil) 1}.content a{text-decoration-color:var(--octc-accent-b,var(--octc-color-primary))}.content pre{border:1px solid transparent;background:linear-gradient(180deg,var(--octc-color-code-bg-top),var(--octc-color-code-bg)) padding-box,var(--octc-ho-foil) border-box !important}.content :not(pre)>code{border-radius:6px;background:color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 14%,transparent);padding:0.1em 0.4em}.content blockquote{border:0;border-left:3px solid transparent;border-image:var(--octc-ho-foil) 1;background:color-mix(in srgb,var(--octc-color-bg-alt) 70%,transparent)}.content table{border-radius:12px;overflow:hidden}.content hr{border:0;height:2px;background:var(--octc-ho-foil)}.hero{background-image:radial-gradient(\n60% 48% at 20% 6%,color-mix(in srgb,var(--octc-accent-a,var(--octc-color-primary)) 26%,transparent),transparent 70%\n),radial-gradient(\n52% 46% at 82% 26%,color-mix(in srgb,var(--octc-accent-c,var(--octc-color-primary)) 24%,transparent),transparent 72%\n),radial-gradient(\n58% 44% at 52% 96%,color-mix(in srgb,var(--octc-accent-b,var(--octc-color-primary)) 20%,transparent),transparent 74%\n)}.hero-name{letter-spacing:-0.035em}.hero-action{font-weight:660}.features .feature-card{padding:1.35rem}.feature-title{font-weight:650}:focus-visible{outline:2px solid var(--octc-accent-b,var(--octc-color-primary));outline-offset:3px}.hero-action-brand,.hero-action-brand:hover,.hero-action-brand:focus-visible{background:var(--octc-brand-fill,var(--octc-color-primary));border-color:var(--octc-brand-edge,var(--octc-color-primary));color:var(--octc-brand-ink,var(--octc-color-bg))}.hero-action-brand:hover{background:var(--octc-brand-fill-hover,var(--octc-color-primary-hover));border-color:var(--octc-brand-edge-hover,var(--octc-color-primary-hover))}.hero-action-alt,.hero-action-alt:hover{color:var(--octc-color-text)}:root:root .sidebar{background:var(\n--octc-skin-sidebar-bg,color-mix(in srgb,var(--octc-color-bg-alt) 16%,var(--octc-color-bg))\n)}:root:root .nav-link:not(.active):hover{background:var(\n--octc-skin-nav-hover-bg,color-mix(in srgb,var(--octc-color-bg-alt) 58%,transparent)\n)}:root:root .nav-link:hover,:root:root .toc-link:hover,:root:root .content a:hover{font-style:inherit}.header{border-bottom:0}.header{background-color:transparent;background-image:none;box-shadow:none}.content pre{box-shadow:none !important}`;\n","import type { ThemeConfig } from \"@ox-content/vite-plugin\";\n\nimport { css } from \"./skin\";\n\n/**\n * Holo — Iridescent foil that shifts hue as panels tilt and slide.\n *\n * Form only: geometry, texture, typography and motion. It names no colors, so\n * it composes with any `@ox-content/theme-color-*` package:\n *\n * ```ts\n * theme: [holo, tokyoNight]\n * ```\n */\nexport const holo: ThemeConfig = {\n name: \"holo\",\n fonts: {\n sans: 'ui-sans-serif, system-ui, -apple-system, \"Segoe UI Variable\", \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, \"Cascadia Mono\", Consolas, monospace',\n },\n layout: {\n sidebarWidth: \"266px\",\n headerHeight: \"66px\",\n maxContentWidth: \"920px\",\n },\n entryPage: { mode: \"default\" },\n tokens: {\n \"motion-fast\": \"220ms\",\n \"motion-base\": \"420ms\",\n \"motion-slow\": \"1000ms\",\n \"motion-ease\": \"cubic-bezier(0.22, 1, 0.36, 1)\",\n \"motion-spring\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"motion-rise\": \"0.7rem\",\n },\n css,\n};\n\nexport default holo;\n"],"mappings":";;;;;;;;;;;;ACcA,MAAa,OAAoB;CAC/B,MAAM;CACN,OAAO;EACL,MAAM;EACN,MAAM;CACR;CACA,QAAQ;EACN,cAAc;EACd,cAAc;EACd,iBAAiB;CACnB;CACA,WAAW,EAAE,MAAM,UAAU;CAC7B,QAAQ;EACN,eAAe;EACf,eAAe;EACf,eAAe;EACf,eAAe;EACf,iBAAiB;EACjB,eAAe;CACjB;CACA;;;;;;;;;;;;;;;;;;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ox-content/theme-holo",
3
- "version": "3.0.0-beta.3",
3
+ "version": "3.0.0-beta.4",
4
4
  "description": "Iridescent foil that shifts hue as panels tilt and slide — an Ox Content skin that composes with any @ox-content/theme-color-* scheme",
5
5
  "keywords": [
6
6
  "chrome",
@@ -41,7 +41,7 @@
41
41
  "provenance": true
42
42
  },
43
43
  "devDependencies": {
44
- "@ox-content/vite-plugin": "3.0.0-beta.3",
44
+ "@ox-content/vite-plugin": "3.0.0-beta.4",
45
45
  "@types/node": "^26.2.0",
46
46
  "@typescript/native-preview": "^7.0.0-dev.20260707.2",
47
47
  "typescript": "^7.0.2",