@ox-content/theme-blueprint 3.0.0-beta.3 → 3.0.0-beta.5

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 @@ Blueprint — Technical drawing grid with dashed callouts and strokes that draw
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.1 kB of CSS, zero JavaScript, zero
7
+ `@ox-content/theme-color-*` scheme. About 9.7 kB of CSS, zero JavaScript, zero
8
8
  runtime dependencies.
9
9
 
10
10
  ```bash
package/dist/index.cjs CHANGED
@@ -34,17 +34,17 @@ const blueprint = {
34
34
  "motion-spring": "cubic-bezier(0.25, 0.8, 0.25, 1)",
35
35
  "motion-rise": "0.42rem"
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-bp-line:color-mix(in srgb,var(--octc-color-primary) 20%,transparent);--octc-bp-line-strong:color-mix(in srgb,var(--octc-color-primary) 38%,transparent);--octc-bp-cell:40px}.header,.sidebar,.toc,.search-modal,.nav-link,.content pre,.content blockquote,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle{border-radius:0 !important}body{background-image:linear-gradient(var(--octc-bp-line) 1px,transparent 1px),linear-gradient(90deg,var(--octc-bp-line) 1px,transparent 1px),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-bp-line:color-mix(in srgb,var(--octc-color-primary) 20%,transparent);--octc-bp-line-strong:color-mix(in srgb,var(--octc-color-primary) 38%,transparent);--octc-bp-cell:40px}.header,.sidebar,.toc,.search-modal,.nav-link,.content pre,.content blockquote,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle{border-radius:0 !important}body{background-image:linear-gradient(var(--octc-bp-line) 1px,transparent 1px),linear-gradient(90deg,var(--octc-bp-line) 1px,transparent 1px),linear-gradient(
38
38
  color-mix(in srgb,var(--octc-color-primary) 8%,transparent) 1px,transparent 1px
39
39
  ),linear-gradient(
40
40
  90deg,color-mix(in srgb,var(--octc-color-primary) 8%,transparent) 1px,transparent 1px
41
- );background-size:var(--octc-bp-cell) var(--octc-bp-cell),var(--octc-bp-cell) var(--octc-bp-cell),8px 8px,8px 8px}.header{border-bottom:1px solid var(--octc-bp-line-strong);background:color-mix(in srgb,var(--octc-color-bg) 88%,transparent);backdrop-filter:blur(3px)}.header-title{letter-spacing:0.08em;text-transform:uppercase;font-weight:600}.sidebar{border-right:1px solid var(--octc-bp-line-strong);--octc-skin-sidebar-bg:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);background:color-mix(in srgb,var(--octc-color-bg) 82%,transparent)}.toc{border-left:1px solid var(--octc-bp-line-strong)}.nav-title,.toc-title{text-transform:uppercase;letter-spacing:0.18em;font-size:0.66rem;color:var(--octc-color-primary)}.nav-link{border-left:1px dashed transparent;font-variant-numeric:tabular-nums}.nav-link:hover{border-left-color:var(--octc-color-primary);--octc-skin-nav-hover-bg:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);padding-left:0.9rem}.nav-link.active{border-left:1px solid var(--octc-color-primary);background:color-mix(in srgb,var(--octc-color-primary) 14%,transparent);padding-left:0.9rem}.search-button,.theme-toggle,.social-link{border:1px dashed var(--octc-bp-line-strong);background:transparent}.search-button:hover,.theme-toggle:hover,.social-link:hover{border-style:solid;border-color:var(--octc-color-primary)}.search-modal{border:1px solid var(--octc-color-primary);box-shadow:0 0 0 1px var(--octc-bp-line),0 30px 70px rgba(0,0,0,0.22)}.content h1,.content h2,.content h3{letter-spacing:0.01em;font-weight:600}.content h2{border-bottom:1px dashed var(--octc-bp-line-strong);position:relative}.content h2::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--octc-color-primary);transform-origin:left;animation:octc-bp-draw var(--octc-motion-slow) var(--octc-motion-ease) both}@keyframes octc-bp-draw{from{transform:scaleX(0)}}.content a{text-decoration:underline dashed;text-underline-offset:4px}.content a:hover{text-decoration-style:solid}.content pre{border:1px solid var(--octc-bp-line-strong);box-shadow:3px 3px 0 0 var(--octc-bp-line)}.content :not(pre)>code{border:1px dashed var(--octc-bp-line-strong);padding:0.08em 0.32em}.content blockquote{border:1px dashed var(--octc-color-primary);border-left-width:3px;border-left-style:solid;background:color-mix(in srgb,var(--octc-color-primary) 6%,transparent)}.content table{border:1px solid var(--octc-bp-line-strong)}.content th,.content td{border:1px solid var(--octc-bp-line)}.content th{text-transform:uppercase;letter-spacing:0.1em;font-size:0.7rem;background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent)}.content hr{border:0;height:1px;background:repeating-linear-gradient(
41
+ );background-size:var(--octc-bp-cell) var(--octc-bp-cell),var(--octc-bp-cell) var(--octc-bp-cell),8px 8px,8px 8px}.header{border-bottom:1px solid var(--octc-bp-line-strong);background:color-mix(in srgb,var(--octc-color-bg) 88%,transparent)}.header-title{letter-spacing:0.08em;text-transform:uppercase;font-weight:600}.sidebar{border-right:1px solid var(--octc-bp-line-strong);--octc-skin-sidebar-bg:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);background:color-mix(in srgb,var(--octc-color-bg) 82%,transparent)}.toc{border-left:1px solid var(--octc-bp-line-strong)}.nav-title,.toc-title{text-transform:uppercase;letter-spacing:0.18em;font-size:0.66rem;color:var(--octc-color-primary)}.nav-link{border-left:1px dashed transparent;font-variant-numeric:tabular-nums}.nav-link:hover{border-left-color:var(--octc-color-primary);--octc-skin-nav-hover-bg:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);padding-left:0.9rem}.nav-link.active{border-left:1px solid var(--octc-color-primary);background:color-mix(in srgb,var(--octc-color-primary) 14%,transparent);padding-left:0.9rem}.search-button,.theme-toggle,.social-link{border:1px dashed var(--octc-bp-line-strong);background:transparent}.search-button:hover,.theme-toggle:hover,.social-link:hover{border-style:solid;border-color:var(--octc-color-primary)}.search-modal{border:1px solid var(--octc-color-primary);box-shadow:0 0 0 1px var(--octc-bp-line),0 30px 70px rgba(0,0,0,0.22)}.content h1,.content h2,.content h3{letter-spacing:0.01em;font-weight:600}.content h2{border-bottom:1px dashed var(--octc-bp-line-strong);position:relative}.content h2::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--octc-color-primary);transform-origin:left;animation:octc-bp-draw var(--octc-motion-slow) var(--octc-motion-ease) both}@keyframes octc-bp-draw{from{transform:scaleX(0)}}.content a{text-decoration:underline dashed;text-underline-offset:4px}.content a:hover{text-decoration-style:solid}.content pre{border:1px solid var(--octc-bp-line-strong);box-shadow:3px 3px 0 0 var(--octc-bp-line)}.content :not(pre)>code{border:1px dashed var(--octc-bp-line-strong);padding:0.08em 0.32em}.content blockquote{border:1px dashed var(--octc-color-primary);border-left-width:3px;border-left-style:solid;background:color-mix(in srgb,var(--octc-color-primary) 6%,transparent)}.content table{border:1px solid var(--octc-bp-line-strong)}.content th,.content td{border:1px solid var(--octc-bp-line)}.content th{text-transform:uppercase;letter-spacing:0.1em;font-size:0.7rem;background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent)}.content hr{border:0;height:1px;background:repeating-linear-gradient(
42
42
  90deg,var(--octc-bp-line-strong) 0 10px,transparent 10px 16px
43
43
  )}.content img{border:1px solid var(--octc-bp-line-strong);padding:4px}.hero{border-bottom:1px solid var(--octc-bp-line-strong)}.hero-name{font-weight:600;letter-spacing:-0.02em}.hero-text,.hero-tagline{letter-spacing:0.04em}.hero-action{border:1px solid var(--octc-color-primary);letter-spacing:0.06em}.hero-action:hover{box-shadow:4px 4px 0 0 var(--octc-bp-line);transform:translate(-1px,-1px)}.hero-notice{border:1px dashed var(--octc-color-primary)}.features .feature-card{border:1px dashed var(--octc-bp-line-strong);padding:1.2rem;background:color-mix(in srgb,var(--octc-color-bg) 70%,transparent)}.features .feature-card:hover{border-style:solid;border-color:var(--octc-color-primary);box-shadow:4px 4px 0 0 var(--octc-bp-line);transform:translate(-2px,-2px)}:focus-visible{outline:1px solid 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(
44
44
  --octc-skin-sidebar-bg,color-mix(in srgb,var(--octc-color-bg-alt) 16%,var(--octc-color-bg))
45
45
  )}:root:root .nav-link:not(.active):hover{background:var(
46
46
  --octc-skin-nav-hover-bg,color-mix(in srgb,var(--octc-color-bg-alt) 58%,transparent)
47
- )}.header{border-bottom:0}.header{background-color:transparent;background-image:none;box-shadow:none}.content pre{box-shadow:none}`
47
+ )}: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}`
48
48
  };
49
49
  //#endregion
50
50
  exports.blueprint = blueprint;
package/dist/index.mjs CHANGED
@@ -30,17 +30,17 @@ const blueprint = {
30
30
  "motion-spring": "cubic-bezier(0.25, 0.8, 0.25, 1)",
31
31
  "motion-rise": "0.42rem"
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-bp-line:color-mix(in srgb,var(--octc-color-primary) 20%,transparent);--octc-bp-line-strong:color-mix(in srgb,var(--octc-color-primary) 38%,transparent);--octc-bp-cell:40px}.header,.sidebar,.toc,.search-modal,.nav-link,.content pre,.content blockquote,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle{border-radius:0 !important}body{background-image:linear-gradient(var(--octc-bp-line) 1px,transparent 1px),linear-gradient(90deg,var(--octc-bp-line) 1px,transparent 1px),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-bp-line:color-mix(in srgb,var(--octc-color-primary) 20%,transparent);--octc-bp-line-strong:color-mix(in srgb,var(--octc-color-primary) 38%,transparent);--octc-bp-cell:40px}.header,.sidebar,.toc,.search-modal,.nav-link,.content pre,.content blockquote,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle{border-radius:0 !important}body{background-image:linear-gradient(var(--octc-bp-line) 1px,transparent 1px),linear-gradient(90deg,var(--octc-bp-line) 1px,transparent 1px),linear-gradient(
34
34
  color-mix(in srgb,var(--octc-color-primary) 8%,transparent) 1px,transparent 1px
35
35
  ),linear-gradient(
36
36
  90deg,color-mix(in srgb,var(--octc-color-primary) 8%,transparent) 1px,transparent 1px
37
- );background-size:var(--octc-bp-cell) var(--octc-bp-cell),var(--octc-bp-cell) var(--octc-bp-cell),8px 8px,8px 8px}.header{border-bottom:1px solid var(--octc-bp-line-strong);background:color-mix(in srgb,var(--octc-color-bg) 88%,transparent);backdrop-filter:blur(3px)}.header-title{letter-spacing:0.08em;text-transform:uppercase;font-weight:600}.sidebar{border-right:1px solid var(--octc-bp-line-strong);--octc-skin-sidebar-bg:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);background:color-mix(in srgb,var(--octc-color-bg) 82%,transparent)}.toc{border-left:1px solid var(--octc-bp-line-strong)}.nav-title,.toc-title{text-transform:uppercase;letter-spacing:0.18em;font-size:0.66rem;color:var(--octc-color-primary)}.nav-link{border-left:1px dashed transparent;font-variant-numeric:tabular-nums}.nav-link:hover{border-left-color:var(--octc-color-primary);--octc-skin-nav-hover-bg:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);padding-left:0.9rem}.nav-link.active{border-left:1px solid var(--octc-color-primary);background:color-mix(in srgb,var(--octc-color-primary) 14%,transparent);padding-left:0.9rem}.search-button,.theme-toggle,.social-link{border:1px dashed var(--octc-bp-line-strong);background:transparent}.search-button:hover,.theme-toggle:hover,.social-link:hover{border-style:solid;border-color:var(--octc-color-primary)}.search-modal{border:1px solid var(--octc-color-primary);box-shadow:0 0 0 1px var(--octc-bp-line),0 30px 70px rgba(0,0,0,0.22)}.content h1,.content h2,.content h3{letter-spacing:0.01em;font-weight:600}.content h2{border-bottom:1px dashed var(--octc-bp-line-strong);position:relative}.content h2::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--octc-color-primary);transform-origin:left;animation:octc-bp-draw var(--octc-motion-slow) var(--octc-motion-ease) both}@keyframes octc-bp-draw{from{transform:scaleX(0)}}.content a{text-decoration:underline dashed;text-underline-offset:4px}.content a:hover{text-decoration-style:solid}.content pre{border:1px solid var(--octc-bp-line-strong);box-shadow:3px 3px 0 0 var(--octc-bp-line)}.content :not(pre)>code{border:1px dashed var(--octc-bp-line-strong);padding:0.08em 0.32em}.content blockquote{border:1px dashed var(--octc-color-primary);border-left-width:3px;border-left-style:solid;background:color-mix(in srgb,var(--octc-color-primary) 6%,transparent)}.content table{border:1px solid var(--octc-bp-line-strong)}.content th,.content td{border:1px solid var(--octc-bp-line)}.content th{text-transform:uppercase;letter-spacing:0.1em;font-size:0.7rem;background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent)}.content hr{border:0;height:1px;background:repeating-linear-gradient(
37
+ );background-size:var(--octc-bp-cell) var(--octc-bp-cell),var(--octc-bp-cell) var(--octc-bp-cell),8px 8px,8px 8px}.header{border-bottom:1px solid var(--octc-bp-line-strong);background:color-mix(in srgb,var(--octc-color-bg) 88%,transparent)}.header-title{letter-spacing:0.08em;text-transform:uppercase;font-weight:600}.sidebar{border-right:1px solid var(--octc-bp-line-strong);--octc-skin-sidebar-bg:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);background:color-mix(in srgb,var(--octc-color-bg) 82%,transparent)}.toc{border-left:1px solid var(--octc-bp-line-strong)}.nav-title,.toc-title{text-transform:uppercase;letter-spacing:0.18em;font-size:0.66rem;color:var(--octc-color-primary)}.nav-link{border-left:1px dashed transparent;font-variant-numeric:tabular-nums}.nav-link:hover{border-left-color:var(--octc-color-primary);--octc-skin-nav-hover-bg:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);padding-left:0.9rem}.nav-link.active{border-left:1px solid var(--octc-color-primary);background:color-mix(in srgb,var(--octc-color-primary) 14%,transparent);padding-left:0.9rem}.search-button,.theme-toggle,.social-link{border:1px dashed var(--octc-bp-line-strong);background:transparent}.search-button:hover,.theme-toggle:hover,.social-link:hover{border-style:solid;border-color:var(--octc-color-primary)}.search-modal{border:1px solid var(--octc-color-primary);box-shadow:0 0 0 1px var(--octc-bp-line),0 30px 70px rgba(0,0,0,0.22)}.content h1,.content h2,.content h3{letter-spacing:0.01em;font-weight:600}.content h2{border-bottom:1px dashed var(--octc-bp-line-strong);position:relative}.content h2::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--octc-color-primary);transform-origin:left;animation:octc-bp-draw var(--octc-motion-slow) var(--octc-motion-ease) both}@keyframes octc-bp-draw{from{transform:scaleX(0)}}.content a{text-decoration:underline dashed;text-underline-offset:4px}.content a:hover{text-decoration-style:solid}.content pre{border:1px solid var(--octc-bp-line-strong);box-shadow:3px 3px 0 0 var(--octc-bp-line)}.content :not(pre)>code{border:1px dashed var(--octc-bp-line-strong);padding:0.08em 0.32em}.content blockquote{border:1px dashed var(--octc-color-primary);border-left-width:3px;border-left-style:solid;background:color-mix(in srgb,var(--octc-color-primary) 6%,transparent)}.content table{border:1px solid var(--octc-bp-line-strong)}.content th,.content td{border:1px solid var(--octc-bp-line)}.content th{text-transform:uppercase;letter-spacing:0.1em;font-size:0.7rem;background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent)}.content hr{border:0;height:1px;background:repeating-linear-gradient(
38
38
  90deg,var(--octc-bp-line-strong) 0 10px,transparent 10px 16px
39
39
  )}.content img{border:1px solid var(--octc-bp-line-strong);padding:4px}.hero{border-bottom:1px solid var(--octc-bp-line-strong)}.hero-name{font-weight:600;letter-spacing:-0.02em}.hero-text,.hero-tagline{letter-spacing:0.04em}.hero-action{border:1px solid var(--octc-color-primary);letter-spacing:0.06em}.hero-action:hover{box-shadow:4px 4px 0 0 var(--octc-bp-line);transform:translate(-1px,-1px)}.hero-notice{border:1px dashed var(--octc-color-primary)}.features .feature-card{border:1px dashed var(--octc-bp-line-strong);padding:1.2rem;background:color-mix(in srgb,var(--octc-color-bg) 70%,transparent)}.features .feature-card:hover{border-style:solid;border-color:var(--octc-color-primary);box-shadow:4px 4px 0 0 var(--octc-bp-line);transform:translate(-2px,-2px)}:focus-visible{outline:1px solid 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(
40
40
  --octc-skin-sidebar-bg,color-mix(in srgb,var(--octc-color-bg-alt) 16%,var(--octc-color-bg))
41
41
  )}:root:root .nav-link:not(.active):hover{background:var(
42
42
  --octc-skin-nav-hover-bg,color-mix(in srgb,var(--octc-color-bg-alt) 58%,transparent)
43
- )}.header{border-bottom:0}.header{background-color:transparent;background-image:none;box-shadow:none}.content pre{box-shadow:none}`
43
+ )}: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}`
44
44
  };
45
45
  //#endregion
46
46
  export { blueprint, blueprint as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/skin.ts","../src/index.ts"],"sourcesContent":["/**\n * Blueprint skin stylesheet.\n *\n * Technical drawing grid with dashed callouts and strokes that draw themselves.\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/blueprint.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-bp-line:color-mix(in srgb,var(--octc-color-primary) 20%,transparent);--octc-bp-line-strong:color-mix(in srgb,var(--octc-color-primary) 38%,transparent);--octc-bp-cell:40px}.header,.sidebar,.toc,.search-modal,.nav-link,.content pre,.content blockquote,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle{border-radius:0 !important}body{background-image:linear-gradient(var(--octc-bp-line) 1px,transparent 1px),linear-gradient(90deg,var(--octc-bp-line) 1px,transparent 1px),linear-gradient(\ncolor-mix(in srgb,var(--octc-color-primary) 8%,transparent) 1px,transparent 1px\n),linear-gradient(\n90deg,color-mix(in srgb,var(--octc-color-primary) 8%,transparent) 1px,transparent 1px\n);background-size:var(--octc-bp-cell) var(--octc-bp-cell),var(--octc-bp-cell) var(--octc-bp-cell),8px 8px,8px 8px}.header{border-bottom:1px solid var(--octc-bp-line-strong);background:color-mix(in srgb,var(--octc-color-bg) 88%,transparent);backdrop-filter:blur(3px)}.header-title{letter-spacing:0.08em;text-transform:uppercase;font-weight:600}.sidebar{border-right:1px solid var(--octc-bp-line-strong);--octc-skin-sidebar-bg:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);background:color-mix(in srgb,var(--octc-color-bg) 82%,transparent)}.toc{border-left:1px solid var(--octc-bp-line-strong)}.nav-title,.toc-title{text-transform:uppercase;letter-spacing:0.18em;font-size:0.66rem;color:var(--octc-color-primary)}.nav-link{border-left:1px dashed transparent;font-variant-numeric:tabular-nums}.nav-link:hover{border-left-color:var(--octc-color-primary);--octc-skin-nav-hover-bg:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);padding-left:0.9rem}.nav-link.active{border-left:1px solid var(--octc-color-primary);background:color-mix(in srgb,var(--octc-color-primary) 14%,transparent);padding-left:0.9rem}.search-button,.theme-toggle,.social-link{border:1px dashed var(--octc-bp-line-strong);background:transparent}.search-button:hover,.theme-toggle:hover,.social-link:hover{border-style:solid;border-color:var(--octc-color-primary)}.search-modal{border:1px solid var(--octc-color-primary);box-shadow:0 0 0 1px var(--octc-bp-line),0 30px 70px rgba(0,0,0,0.22)}.content h1,.content h2,.content h3{letter-spacing:0.01em;font-weight:600}.content h2{border-bottom:1px dashed var(--octc-bp-line-strong);position:relative}.content h2::after{content:\"\";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--octc-color-primary);transform-origin:left;animation:octc-bp-draw var(--octc-motion-slow) var(--octc-motion-ease) both}@keyframes octc-bp-draw{from{transform:scaleX(0)}}.content a{text-decoration:underline dashed;text-underline-offset:4px}.content a:hover{text-decoration-style:solid}.content pre{border:1px solid var(--octc-bp-line-strong);box-shadow:3px 3px 0 0 var(--octc-bp-line)}.content :not(pre)>code{border:1px dashed var(--octc-bp-line-strong);padding:0.08em 0.32em}.content blockquote{border:1px dashed var(--octc-color-primary);border-left-width:3px;border-left-style:solid;background:color-mix(in srgb,var(--octc-color-primary) 6%,transparent)}.content table{border:1px solid var(--octc-bp-line-strong)}.content th,.content td{border:1px solid var(--octc-bp-line)}.content th{text-transform:uppercase;letter-spacing:0.1em;font-size:0.7rem;background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent)}.content hr{border:0;height:1px;background:repeating-linear-gradient(\n90deg,var(--octc-bp-line-strong) 0 10px,transparent 10px 16px\n)}.content img{border:1px solid var(--octc-bp-line-strong);padding:4px}.hero{border-bottom:1px solid var(--octc-bp-line-strong)}.hero-name{font-weight:600;letter-spacing:-0.02em}.hero-text,.hero-tagline{letter-spacing:0.04em}.hero-action{border:1px solid var(--octc-color-primary);letter-spacing:0.06em}.hero-action:hover{box-shadow:4px 4px 0 0 var(--octc-bp-line);transform:translate(-1px,-1px)}.hero-notice{border:1px dashed var(--octc-color-primary)}.features .feature-card{border:1px dashed var(--octc-bp-line-strong);padding:1.2rem;background:color-mix(in srgb,var(--octc-color-bg) 70%,transparent)}.features .feature-card:hover{border-style:solid;border-color:var(--octc-color-primary);box-shadow:4px 4px 0 0 var(--octc-bp-line);transform:translate(-2px,-2px)}:focus-visible{outline:1px solid 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 * Blueprint — Technical drawing grid with dashed callouts and strokes that draw themselves.\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: [blueprint, tokyoNight]\n * ```\n */\nexport const blueprint: ThemeConfig = {\n name: \"blueprint\",\n fonts: {\n sans: '\"Arial Narrow\", \"Helvetica Neue Condensed\", \"Roboto Condensed\", \"Segoe UI\", sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, \"Cascadia Mono\", Consolas, monospace',\n },\n layout: {\n sidebarWidth: \"260px\",\n headerHeight: \"60px\",\n maxContentWidth: \"920px\",\n },\n entryPage: { mode: \"default\" },\n tokens: {\n \"motion-fast\": \"192ms\",\n \"motion-base\": \"408ms\",\n \"motion-slow\": \"837ms\",\n \"motion-ease\": \"cubic-bezier(0.25, 0.8, 0.25, 1)\",\n \"motion-spring\": \"cubic-bezier(0.25, 0.8, 0.25, 1)\",\n \"motion-rise\": \"0.42rem\",\n },\n css,\n};\n\nexport default blueprint;\n"],"mappings":";;;;;;;;;;;;ACcA,MAAa,YAAyB;CACpC,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 * Blueprint skin stylesheet.\n *\n * Technical drawing grid with dashed callouts and strokes that draw themselves.\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/blueprint.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-bp-line:color-mix(in srgb,var(--octc-color-primary) 20%,transparent);--octc-bp-line-strong:color-mix(in srgb,var(--octc-color-primary) 38%,transparent);--octc-bp-cell:40px}.header,.sidebar,.toc,.search-modal,.nav-link,.content pre,.content blockquote,.feature-card,.hero-action,.social-link,.search-button,.theme-toggle{border-radius:0 !important}body{background-image:linear-gradient(var(--octc-bp-line) 1px,transparent 1px),linear-gradient(90deg,var(--octc-bp-line) 1px,transparent 1px),linear-gradient(\ncolor-mix(in srgb,var(--octc-color-primary) 8%,transparent) 1px,transparent 1px\n),linear-gradient(\n90deg,color-mix(in srgb,var(--octc-color-primary) 8%,transparent) 1px,transparent 1px\n);background-size:var(--octc-bp-cell) var(--octc-bp-cell),var(--octc-bp-cell) var(--octc-bp-cell),8px 8px,8px 8px}.header{border-bottom:1px solid var(--octc-bp-line-strong);background:color-mix(in srgb,var(--octc-color-bg) 88%,transparent)}.header-title{letter-spacing:0.08em;text-transform:uppercase;font-weight:600}.sidebar{border-right:1px solid var(--octc-bp-line-strong);--octc-skin-sidebar-bg:color-mix(in srgb,var(--octc-color-bg) 82%,transparent);background:color-mix(in srgb,var(--octc-color-bg) 82%,transparent)}.toc{border-left:1px solid var(--octc-bp-line-strong)}.nav-title,.toc-title{text-transform:uppercase;letter-spacing:0.18em;font-size:0.66rem;color:var(--octc-color-primary)}.nav-link{border-left:1px dashed transparent;font-variant-numeric:tabular-nums}.nav-link:hover{border-left-color:var(--octc-color-primary);--octc-skin-nav-hover-bg:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent);padding-left:0.9rem}.nav-link.active{border-left:1px solid var(--octc-color-primary);background:color-mix(in srgb,var(--octc-color-primary) 14%,transparent);padding-left:0.9rem}.search-button,.theme-toggle,.social-link{border:1px dashed var(--octc-bp-line-strong);background:transparent}.search-button:hover,.theme-toggle:hover,.social-link:hover{border-style:solid;border-color:var(--octc-color-primary)}.search-modal{border:1px solid var(--octc-color-primary);box-shadow:0 0 0 1px var(--octc-bp-line),0 30px 70px rgba(0,0,0,0.22)}.content h1,.content h2,.content h3{letter-spacing:0.01em;font-weight:600}.content h2{border-bottom:1px dashed var(--octc-bp-line-strong);position:relative}.content h2::after{content:\"\";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--octc-color-primary);transform-origin:left;animation:octc-bp-draw var(--octc-motion-slow) var(--octc-motion-ease) both}@keyframes octc-bp-draw{from{transform:scaleX(0)}}.content a{text-decoration:underline dashed;text-underline-offset:4px}.content a:hover{text-decoration-style:solid}.content pre{border:1px solid var(--octc-bp-line-strong);box-shadow:3px 3px 0 0 var(--octc-bp-line)}.content :not(pre)>code{border:1px dashed var(--octc-bp-line-strong);padding:0.08em 0.32em}.content blockquote{border:1px dashed var(--octc-color-primary);border-left-width:3px;border-left-style:solid;background:color-mix(in srgb,var(--octc-color-primary) 6%,transparent)}.content table{border:1px solid var(--octc-bp-line-strong)}.content th,.content td{border:1px solid var(--octc-bp-line)}.content th{text-transform:uppercase;letter-spacing:0.1em;font-size:0.7rem;background:color-mix(in srgb,var(--octc-color-primary) 8%,transparent)}.content hr{border:0;height:1px;background:repeating-linear-gradient(\n90deg,var(--octc-bp-line-strong) 0 10px,transparent 10px 16px\n)}.content img{border:1px solid var(--octc-bp-line-strong);padding:4px}.hero{border-bottom:1px solid var(--octc-bp-line-strong)}.hero-name{font-weight:600;letter-spacing:-0.02em}.hero-text,.hero-tagline{letter-spacing:0.04em}.hero-action{border:1px solid var(--octc-color-primary);letter-spacing:0.06em}.hero-action:hover{box-shadow:4px 4px 0 0 var(--octc-bp-line);transform:translate(-1px,-1px)}.hero-notice{border:1px dashed var(--octc-color-primary)}.features .feature-card{border:1px dashed var(--octc-bp-line-strong);padding:1.2rem;background:color-mix(in srgb,var(--octc-color-bg) 70%,transparent)}.features .feature-card:hover{border-style:solid;border-color:var(--octc-color-primary);box-shadow:4px 4px 0 0 var(--octc-bp-line);transform:translate(-2px,-2px)}:focus-visible{outline:1px solid 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 * Blueprint — Technical drawing grid with dashed callouts and strokes that draw themselves.\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: [blueprint, tokyoNight]\n * ```\n */\nexport const blueprint: ThemeConfig = {\n name: \"blueprint\",\n fonts: {\n sans: '\"Arial Narrow\", \"Helvetica Neue Condensed\", \"Roboto Condensed\", \"Segoe UI\", sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, \"Cascadia Mono\", Consolas, monospace',\n },\n layout: {\n sidebarWidth: \"260px\",\n headerHeight: \"60px\",\n maxContentWidth: \"920px\",\n },\n entryPage: { mode: \"default\" },\n tokens: {\n \"motion-fast\": \"192ms\",\n \"motion-base\": \"408ms\",\n \"motion-slow\": \"837ms\",\n \"motion-ease\": \"cubic-bezier(0.25, 0.8, 0.25, 1)\",\n \"motion-spring\": \"cubic-bezier(0.25, 0.8, 0.25, 1)\",\n \"motion-rise\": \"0.42rem\",\n },\n css,\n};\n\nexport default blueprint;\n"],"mappings":";;;;;;;;;;;;ACcA,MAAa,YAAyB;CACpC,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-blueprint",
3
- "version": "3.0.0-beta.3",
3
+ "version": "3.0.0-beta.5",
4
4
  "description": "Technical drawing grid with dashed callouts and strokes that draw themselves — an Ox Content skin that composes with any @ox-content/theme-color-* scheme",
5
5
  "keywords": [
6
6
  "blueprint",
@@ -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.5",
45
45
  "@types/node": "^26.2.0",
46
46
  "@typescript/native-preview": "^7.0.0-dev.20260707.2",
47
47
  "typescript": "^7.0.2",