@krigsvold/theme 2.0.0 → 2.2.0

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
@@ -2,6 +2,10 @@
2
2
 
3
3
  `@krigsvold/theme` is the framework-independent source of truth for Krigsvold. It contains Light/Dark semantic colors and the typography, spacing, shape, depth, and interaction definitions extracted from krigsvold.org.
4
4
 
5
+ ## Design direction
6
+
7
+ For the design direction and criteria for expanding the system, read the [Krigsvold design charter](docs/charter.md).
8
+
5
9
  ## Choose what to adopt
6
10
 
7
11
  | Import | Effect |
@@ -39,6 +43,24 @@ Edit `source.json` here; run `npm ci --ignore-scripts`, `npm run build`, `npm te
39
43
 
40
44
  The `capabilities` export records what each integration applies, requires separate configuration for, or cannot support. A browser color theme does not change fonts. Editors and terminals use the monospace role only where their host allows it.
41
45
 
42
- Registry publication is pending. Before publication install the versioned archive with `npm install ./krigsvold-theme-2.0.0.tgz`. The npm scope is `krigsvold`, independently of the `krigsvoldtheme` GitHub organization. The old `@krigsvoldtheme/theme` name existed in prepared archives but was not published; existing color APIs are preserved in this renamed package. Version 2 makes the broader design contract and originating-site typography explicit.
46
+ The npm scope is `krigsvold`. Install the published core with `npm install @krigsvold/theme`. Package versions are independent of application-port versions.
43
47
 
44
48
  Application port generators in `krigsvoldtheme/krigsvoldtheme` consume this package. They must not regenerate it. CI never publishes automatically.
49
+
50
+ ## Layouts
51
+
52
+ Version 2.1 adds optional [`layout.css`](docs/layout.md), the `layout` JavaScript export, and `layout.json`. Layout primitives cover containers, vertical stacks, wrapping clusters, bounded grids, sidebars, and paired regions. Import `@krigsvold/theme/full.css` for the complete styling layer or add `@krigsvold/theme/layout.css` after `foundation.css` for structural classes alone. See [source observations and responsive rules](docs/layout.md).
53
+
54
+ ## Releases
55
+
56
+ Stable GitHub releases can publish automatically through npm trusted publishing. See [release setup](docs/releasing.md) for the one-time package authorization and release order.
57
+
58
+ ## Foundations specification
59
+
60
+ Read the [working foundations specification](docs/foundations.md) for spacing relationships, responsive composition, typography, density, surfaces, motion, accessibility, and the distinction between shipped values and proposed application roles.
61
+
62
+ ## Consolidated language candidate
63
+
64
+ [Grammar](docs/grammar.md), [source decisions](docs/source-decisions.md), [framework and migration guide](docs/consolidation.md), and [machine-readable support](language.json) describe the unreleased core 2.2.0 / Astro 1.2.0 consolidation. Existing defaults remain compatible; the source profile is opt-in.
65
+
66
+ [Grammar coverage review](docs/coverage.md), [validated forms](docs/patterns/forms.md), and [query/results patterns](docs/patterns/query-results.md) extend the experimental grammar to 0.3.
@@ -6,7 +6,8 @@
6
6
  "spacing",
7
7
  "shape",
8
8
  "depth",
9
- "interaction variables"
9
+ "interaction variables",
10
+ "layout primitives"
10
11
  ],
11
12
  "optional": [
12
13
  "font loading",
@@ -21,7 +22,13 @@
21
22
  "container",
22
23
  "section heading",
23
24
  "card",
24
- "button"
25
+ "button",
26
+ "page header",
27
+ "site header",
28
+ "site footer",
29
+ "article layout",
30
+ "landing layout",
31
+ "documentation layout"
25
32
  ],
26
33
  "hostOwned": [
27
34
  "navigation",
package/dist/dark.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.0",
2
+ "version": "2.2.0",
3
3
  "id": "krigsvold-dark",
4
4
  "name": "Krigsvold Dark",
5
5
  "mode": "dark",
@@ -72,6 +72,14 @@
72
72
  --krigsvold-breakpoint-lg: 992px;
73
73
  --krigsvold-breakpoint-xl: 1200px;
74
74
  --krigsvold-breakpoint-xxl: 1400px;
75
+ --krigsvold-layout-gap: 2rem;
76
+ --krigsvold-layout-gap-small: 1rem;
77
+ --krigsvold-layout-gap-large: 3rem;
78
+ --krigsvold-layout-sidebar-width: 20rem;
79
+ --krigsvold-layout-main-min: 30rem;
80
+ --krigsvold-layout-grid-min: 20rem;
81
+ --krigsvold-layout-split-min: 22rem;
82
+ --krigsvold-layout-section-space: clamp(4.5rem, 8vw, 7.5rem);
75
83
  }
76
84
  @media (prefers-reduced-motion: reduce) {
77
85
  :root, [data-krigsvold] { --krigsvold-transition-ui: 0s; --krigsvold-motion-duration: 0s; }
@@ -80,7 +80,15 @@
80
80
  "breakpoint-md": "768px",
81
81
  "breakpoint-lg": "992px",
82
82
  "breakpoint-xl": "1200px",
83
- "breakpoint-xxl": "1400px"
83
+ "breakpoint-xxl": "1400px",
84
+ "layout-gap": "2rem",
85
+ "layout-gap-small": "1rem",
86
+ "layout-gap-large": "3rem",
87
+ "layout-sidebar-width": "20rem",
88
+ "layout-main-min": "30rem",
89
+ "layout-grid-min": "20rem",
90
+ "layout-split-min": "22rem",
91
+ "layout-section-space": "clamp(4.5rem, 8vw, 7.5rem)"
84
92
  },
85
93
  "typographyRoles": {
86
94
  "serif": {
package/dist/full.css CHANGED
@@ -2,3 +2,5 @@
2
2
  @import './foundation.css';
3
3
  @import './typography.css';
4
4
  @import './components.css';
5
+ @import './layout.css';
6
+ @import './patterns.css';
@@ -1,4 +1,4 @@
1
- /* Krigsvold Dark 2.0.0. MIT. */
1
+ /* Krigsvold Dark 2.2.0. MIT. */
2
2
  pre code.hljs { display: block; overflow-x: auto; padding: 1em; }
3
3
  code.hljs { padding: 3px 5px; }
4
4
  .hljs { background: #061325; color: #EEF8FA; }
@@ -1,4 +1,4 @@
1
- /* Krigsvold Light 2.0.0. MIT. */
1
+ /* Krigsvold Light 2.2.0. MIT. */
2
2
  pre code.hljs { display: block; overflow-x: auto; padding: 1em; }
3
3
  code.hljs { padding: 3px 5px; }
4
4
  .hljs { background: #FBFAF7; color: #17202A; }
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const data = {"name":"Krigsvold","version":"2.0.0","heritage":{"navy950":"#061325","navy900":"#0A1D35","navy800":"#123456","blue600":"#286A9D","ice400":"#9ED5E6","ice200":"#D9EEF4","ice100":"#EEF8FA","paper":"#FBFAF7","ink":"#17202A","muted":"#56616C","rule":"#D9DEE2","gold":"#B58A3B"},"design":{"radius":{"sm":".15rem","md":".3rem","lg":".4rem","control":".15rem","card":"0"},"spacing":{"1":".25rem","2":".5rem","3":".75rem","4":"1rem","6":"1.5rem","8":"2rem","12":"3rem","16":"4rem","24":"6rem"},"fonts":{"serif":"'Roboto Slab', Georgia, serif","sans":"'Roboto', Arial, sans-serif","display":"'Roboto Slab', Georgia, serif","mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","ui":"'Roboto', Arial, sans-serif","code":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},"widths":{"reading-width":"760px","content-width":"1320px","archive-width":"1320px"},"shadows":{"shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)"},"motion":{"transition":".15s ease-in","reduced":"0s"},"breakpoints":{"sm":"576px","md":"768px","lg":"992px","xl":"1200px","xxl":"1400px"}},"foundation":{"origin":"https://krigsvold.org/","sourceRepository":"basuhoward/krigsvold.org","sourceCommit":"e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7","sourceFiles":["assets/css/krigsvold.css","_includes/head.html","assets/css/material-kit.css","assets/scss/material-kit/bootstrap/_variables.scss"],"tokens":{"color-navy-950":"#061325","color-navy-900":"#0a1d35","color-navy-800":"#123456","color-blue-600":"#286a9d","color-ice-400":"#9ed5e6","color-ice-200":"#d9eef4","color-ice-100":"#eef8fa","color-paper":"#fbfaf7","color-ink":"#17202a","color-muted":"#56616c","color-rule":"#d9dee2","color-gold":"#b58a3b","font-serif":"'Roboto Slab', Georgia, serif","font-display":"'Roboto Slab', Georgia, serif","font-sans":"'Roboto', Arial, sans-serif","font-mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","space-1":".25rem","space-2":".5rem","space-3":".75rem","space-4":"1rem","space-6":"1.5rem","space-8":"2rem","space-12":"3rem","space-16":"4rem","space-24":"6rem","reading-width":"760px","content-width":"1320px","archive-width":"1320px","radius-sm":".15rem","radius-md":".3rem","radius-lg":".4rem","radius-control":".15rem","radius-card":"0","shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)","shadow-card":"none","transition-ui":".15s ease-in","motion-duration":".15s","text-body":"1.06rem","text-h1":"clamp(2.8rem, 6vw, 5.5rem)","text-h2":"2.1rem","text-h3":"1.42rem","text-display":"clamp(3.4rem, 7vw, 6.8rem)","text-section":"clamp(2rem, 4vw, 3.5rem)","leading-body":"1.65","leading-heading":"1.13","leading-display":".98","weight-heading":"700","tracking-heading":"-.025em","tracking-display":"-.045em","tracking-label":".16em","tracking-button":".035em","border-width":"1px","focus-width":"3px","focus-gap":"3px","gutter":".75rem","section-space":"clamp(4.5rem, 8vw, 7.5rem)","control-height":"2.75rem","control-padding":".9rem","button-padding":".625rem 1.5rem","text-button":".75rem","leading-button":"1.667","divider-width":"3rem","divider-thickness":"3px","link-underline-offset":".18em","hero-overlay":"linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)","breakpoint-sm":"576px","breakpoint-md":"768px","breakpoint-lg":"992px","breakpoint-xl":"1200px","breakpoint-xxl":"1400px"},"typographyRoles":{"serif":{"family":"Roboto Slab","usage":"Editorial headings, ledes, quotations","weights":[400,700]},"display":{"family":"Roboto Slab","usage":"Hero and page titles, section headings","weights":[400,700]},"sans":{"family":"Roboto","usage":"Body prose, navigation, controls, tables, metadata","weights":[400,500,700],"styles":["normal","italic"]},"mono":{"family":"Roboto Mono","usage":"Code, terminal text, keyboard notation","weights":[400,500,700],"styles":["normal","italic"],"provenance":"New redistributable companion selected for the Roboto family"}},"normalization":{"spacing":"Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.","focus":"Explicit 3px visible focus ring and offset added for reusable controls.","controlHeight":"44px minimum interaction target added to the generic primitives.","readingWidth":"760px text measure from source hero/subtitle limits, generalized to reading containers.","card":"Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.","motion":"Source Material Kit .15s ease-in transition, reduced to zero when requested."}},"capabilities":{"web-core":{"applied":["colors","typography variables","spacing","shape","depth","interaction variables"],"optional":["font loading","element typography","components"]},"astro":{"applied":["web-core","document shell","container","section heading","card","button"],"hostOwned":["navigation","content","consent","analytics","personal identity"]},"vim":{"applied":["colors","syntax"],"separateConfiguration":["monospace font"],"unsupported":["web layout","proportional typography"]},"emacs":{"applied":["colors","syntax"],"separateConfiguration":["font roles"],"unsupported":["web layout"]},"terminal":{"applied":["colors"],"separateConfiguration":["monospace font"],"unsupported":["web layout","serif","sans"]},"firefox":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]},"chrome":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]}},"themes":{"light":{"id":"krigsvold-light","name":"Krigsvold Light","mode":"light","tokens":{"bg":"#FBFAF7","panel":"#EEF8FA","panel2":"#D9EEF4","text":"#17202A","muted":"#56616C","accent":"#286A9D","accent2":"#79571F","on-accent":"#FFFFFF","accent-hover":"#1E557F","line":"#D9DEE2","control-line":"#75828D","focus":"#286A9D","selection":"#C6E2EC","selection-text":"#17202A","green":"#35644E","danger":"#9A3542","warning":"#79571F","error-bg":"#F5E6E6","error-text":"#9A3542","shadow":"0 10px 40px #0613251A","surface-canvas":"#FBFAF7","surface-subtle":"#FEFEFC","surface-sunken":"#E4EDF0","surface-overlay":"#FFFFFF","text-strong":"#061325","text-subtle":"#56616C","text-disabled":"#62717B","text-inverse":"#FFFFFF","link":"#286A9D","link-hover":"#123456","link-visited":"#655477","border-subtle":"#D9DEE2","border-strong":"#75828D","input-bg":"#FFFFFF","input-text":"#17202A","input-placeholder":"#62717B","input-border":"#75828D","button-secondary-bg":"#D9EEF4","button-secondary-text":"#17202A","button-secondary-hover":"#C6E2EC","disabled-bg":"#E4EDF0","disabled-text":"#62717B","focus-ring":"#286A9D","focus-offset":"#FBFAF7","hover-bg":"#EEF8FA","active-bg":"#D9EEF4","code-bg":"#EEF8FA","code-text":"#17202A","quote-border":"#286A9D","table-stripe":"#EEF8FA","scrollbar-track":"#EEF8FA","scrollbar-thumb":"#75828D","overlay-scrim":"#061325AA","info":"#286A9D","info-bg":"#E3F1F5","info-text":"#123456","success":"#35644E","success-bg":"#E7F1E9","success-text":"#285039","warning-bg":"#F5ECD9","warning-text":"#79571F","danger-bg":"#F5E6E6","danger-text":"#9A3542","chart-1":"#286A9D","chart-2":"#35644E","chart-3":"#79571F","chart-4":"#9A3542","chart-5":"#655477","chart-6":"#187178","chart-7":"#985238","chart-8":"#56616C","chart-grid":"#D9DEE2","chart-axis":"#56616C","syntax-keyword":"#286A9D","syntax-string":"#35644E","syntax-function":"#123456","syntax-type":"#79571F","syntax-variable":"#17202A","syntax-comment":"#56616C","syntax-number":"#9A3542","syntax-operator":"#56616C","syntax-constant":"#655477","syntax-tag":"#286A9D","syntax-attribute":"#79571F","syntax-regexp":"#35644E","syntax-invalid":"#9A3542","syntax-property":"#123456","syntax-decorator":"#655477"}},"dark":{"id":"krigsvold-dark","name":"Krigsvold Dark","mode":"dark","tokens":{"bg":"#061325","panel":"#0A1D35","panel2":"#123456","text":"#EEF8FA","muted":"#B3CCD5","accent":"#9ED5E6","accent2":"#D9B876","on-accent":"#061325","accent-hover":"#D9EEF4","line":"#345066","control-line":"#7A929F","focus":"#9ED5E6","selection":"#244C61","selection-text":"#EEF8FA","green":"#A6CFB5","danger":"#F0A4AF","warning":"#E0BF84","error-bg":"#302335","error-text":"#F0A4AF","shadow":"0 10px 40px #00000055","surface-canvas":"#061325","surface-subtle":"#07182B","surface-sunken":"#040E1C","surface-overlay":"#123456","text-strong":"#FBFAF7","text-subtle":"#B3CCD5","text-disabled":"#8BA4B2","text-inverse":"#061325","link":"#9ED5E6","link-hover":"#D9EEF4","link-visited":"#C6B6DB","border-subtle":"#345066","border-strong":"#7A929F","input-bg":"#0A1D35","input-text":"#EEF8FA","input-placeholder":"#B3CCD5","input-border":"#7A929F","button-secondary-bg":"#123456","button-secondary-text":"#EEF8FA","button-secondary-hover":"#1C4565","disabled-bg":"#183044","disabled-text":"#8BA4B2","focus-ring":"#9ED5E6","focus-offset":"#061325","hover-bg":"#123456","active-bg":"#1C4565","code-bg":"#0A1D35","code-text":"#EEF8FA","quote-border":"#9ED5E6","table-stripe":"#0A1D35","scrollbar-track":"#0A1D35","scrollbar-thumb":"#607B8D","overlay-scrim":"#061325CC","info":"#9ED5E6","info-bg":"#103549","info-text":"#D9EEF4","success":"#A6CFB5","success-bg":"#16362B","success-text":"#B7DDC3","warning-bg":"#3B301F","warning-text":"#E8CB97","danger-bg":"#3D2330","danger-text":"#F4B4BC","chart-1":"#9ED5E6","chart-2":"#D9B876","chart-3":"#A6CFB5","chart-4":"#F0A4AF","chart-5":"#C6B6DB","chart-6":"#8FCBC7","chart-7":"#E1AC90","chart-8":"#D4D8D9","chart-grid":"#345066","chart-axis":"#B3CCD5","syntax-keyword":"#9ED5E6","syntax-string":"#A6CFB5","syntax-function":"#C2E4EF","syntax-type":"#D9B876","syntax-variable":"#EEF8FA","syntax-comment":"#B3CCD5","syntax-number":"#F0A4AF","syntax-operator":"#B3CCD5","syntax-constant":"#C6B6DB","syntax-tag":"#9ED5E6","syntax-attribute":"#D9B876","syntax-regexp":"#A6CFB5","syntax-invalid":"#F0A4AF","syntax-property":"#C2E4EF","syntax-decorator":"#C6B6DB"}}}};
2
- const {themes,heritage,design,foundation,capabilities,version}=data;
1
+ const data = {"name":"Krigsvold","version":"2.2.0","heritage":{"navy950":"#061325","navy900":"#0A1D35","navy800":"#123456","blue600":"#286A9D","ice400":"#9ED5E6","ice200":"#D9EEF4","ice100":"#EEF8FA","paper":"#FBFAF7","ink":"#17202A","muted":"#56616C","rule":"#D9DEE2","gold":"#B58A3B"},"design":{"radius":{"sm":".15rem","md":".3rem","lg":".4rem","control":".15rem","card":"0"},"spacing":{"1":".25rem","2":".5rem","3":".75rem","4":"1rem","6":"1.5rem","8":"2rem","12":"3rem","16":"4rem","24":"6rem"},"fonts":{"serif":"'Roboto Slab', Georgia, serif","sans":"'Roboto', Arial, sans-serif","display":"'Roboto Slab', Georgia, serif","mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","ui":"'Roboto', Arial, sans-serif","code":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},"widths":{"reading-width":"760px","content-width":"1320px","archive-width":"1320px"},"shadows":{"shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)"},"motion":{"transition":".15s ease-in","reduced":"0s"},"breakpoints":{"sm":"576px","md":"768px","lg":"992px","xl":"1200px","xxl":"1400px"}},"foundation":{"origin":"https://krigsvold.org/","sourceRepository":"basuhoward/krigsvold.org","sourceCommit":"e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7","sourceFiles":["assets/css/krigsvold.css","_includes/head.html","assets/css/material-kit.css","assets/scss/material-kit/bootstrap/_variables.scss"],"tokens":{"color-navy-950":"#061325","color-navy-900":"#0a1d35","color-navy-800":"#123456","color-blue-600":"#286a9d","color-ice-400":"#9ed5e6","color-ice-200":"#d9eef4","color-ice-100":"#eef8fa","color-paper":"#fbfaf7","color-ink":"#17202a","color-muted":"#56616c","color-rule":"#d9dee2","color-gold":"#b58a3b","font-serif":"'Roboto Slab', Georgia, serif","font-display":"'Roboto Slab', Georgia, serif","font-sans":"'Roboto', Arial, sans-serif","font-mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","space-1":".25rem","space-2":".5rem","space-3":".75rem","space-4":"1rem","space-6":"1.5rem","space-8":"2rem","space-12":"3rem","space-16":"4rem","space-24":"6rem","reading-width":"760px","content-width":"1320px","archive-width":"1320px","radius-sm":".15rem","radius-md":".3rem","radius-lg":".4rem","radius-control":".15rem","radius-card":"0","shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)","shadow-card":"none","transition-ui":".15s ease-in","motion-duration":".15s","text-body":"1.06rem","text-h1":"clamp(2.8rem, 6vw, 5.5rem)","text-h2":"2.1rem","text-h3":"1.42rem","text-display":"clamp(3.4rem, 7vw, 6.8rem)","text-section":"clamp(2rem, 4vw, 3.5rem)","leading-body":"1.65","leading-heading":"1.13","leading-display":".98","weight-heading":"700","tracking-heading":"-.025em","tracking-display":"-.045em","tracking-label":".16em","tracking-button":".035em","border-width":"1px","focus-width":"3px","focus-gap":"3px","gutter":".75rem","section-space":"clamp(4.5rem, 8vw, 7.5rem)","control-height":"2.75rem","control-padding":".9rem","button-padding":".625rem 1.5rem","text-button":".75rem","leading-button":"1.667","divider-width":"3rem","divider-thickness":"3px","link-underline-offset":".18em","hero-overlay":"linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)","breakpoint-sm":"576px","breakpoint-md":"768px","breakpoint-lg":"992px","breakpoint-xl":"1200px","breakpoint-xxl":"1400px","layout-gap":"2rem","layout-gap-small":"1rem","layout-gap-large":"3rem","layout-sidebar-width":"20rem","layout-main-min":"30rem","layout-grid-min":"20rem","layout-split-min":"22rem","layout-section-space":"clamp(4.5rem, 8vw, 7.5rem)"},"typographyRoles":{"serif":{"family":"Roboto Slab","usage":"Editorial headings, ledes, quotations","weights":[400,700]},"display":{"family":"Roboto Slab","usage":"Hero and page titles, section headings","weights":[400,700]},"sans":{"family":"Roboto","usage":"Body prose, navigation, controls, tables, metadata","weights":[400,500,700],"styles":["normal","italic"]},"mono":{"family":"Roboto Mono","usage":"Code, terminal text, keyboard notation","weights":[400,500,700],"styles":["normal","italic"],"provenance":"New redistributable companion selected for the Roboto family"}},"normalization":{"spacing":"Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.","focus":"Explicit 3px visible focus ring and offset added for reusable controls.","controlHeight":"44px minimum interaction target added to the generic primitives.","readingWidth":"760px text measure from source hero/subtitle limits, generalized to reading containers.","card":"Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.","motion":"Source Material Kit .15s ease-in transition, reduced to zero when requested."}},"capabilities":{"web-core":{"applied":["colors","typography variables","spacing","shape","depth","interaction variables","layout primitives"],"optional":["font loading","element typography","components"]},"astro":{"applied":["web-core","document shell","container","section heading","card","button","page header","site header","site footer","article layout","landing layout","documentation layout"],"hostOwned":["navigation","content","consent","analytics","personal identity"]},"vim":{"applied":["colors","syntax"],"separateConfiguration":["monospace font"],"unsupported":["web layout","proportional typography"]},"emacs":{"applied":["colors","syntax"],"separateConfiguration":["font roles"],"unsupported":["web layout"]},"terminal":{"applied":["colors"],"separateConfiguration":["monospace font"],"unsupported":["web layout","serif","sans"]},"firefox":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]},"chrome":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]}},"layout":{"schemaVersion":1,"primitives":["container","stack","cluster","grid","sidebar","split"],"compositions":["article","landing","documentation"],"defaults":{"space":"regular","columns":3,"splitRatio":"equal","sidebarSide":"end"},"tokens":{"layout-gap":"2rem","layout-gap-small":"1rem","layout-gap-large":"3rem","layout-sidebar-width":"20rem","layout-main-min":"30rem","layout-grid-min":"20rem","layout-split-min":"22rem","layout-section-space":"clamp(4.5rem, 8vw, 7.5rem)"},"sources":[{"url":"https://krigsvold.org/","repository":"basuhoward/krigsvold.org","commit":"a3cf072c516c59ed35814e0fa153028cc91ceecd","files":["src/layouts/Page.astro","src/components/HomeContent.astro","src/components/HomeHero.astro","src/styles/site.css"]},{"url":"https://krigsvoldtheme.dev/","repository":"krigsvoldtheme/krigsvoldtheme","commit":"880bdd2bd8430bbdfd8d728faaae0c21199540b1","files":["site/src/pages/index.astro","site/src/styles/global.css","site/src/components/FoundationSpecimen.astro"]}],"normalization":{"intrinsicSizing":"Columns and sidebars respond to their available container width, including nested containers, rather than only to viewport breakpoints.","readingOrder":"Sidebar side selects matching DOM order; split content retains its source order at all widths.","scope":"Namespaced optional layout classes; no global reset, framework dependency, image, personal identity, or scripts."}},"themes":{"light":{"id":"krigsvold-light","name":"Krigsvold Light","mode":"light","tokens":{"bg":"#FBFAF7","panel":"#EEF8FA","panel2":"#D9EEF4","text":"#17202A","muted":"#56616C","accent":"#286A9D","accent2":"#79571F","on-accent":"#FFFFFF","accent-hover":"#1E557F","line":"#D9DEE2","control-line":"#75828D","focus":"#286A9D","selection":"#C6E2EC","selection-text":"#17202A","green":"#35644E","danger":"#9A3542","warning":"#79571F","error-bg":"#F5E6E6","error-text":"#9A3542","shadow":"0 10px 40px #0613251A","surface-canvas":"#FBFAF7","surface-subtle":"#FEFEFC","surface-sunken":"#E4EDF0","surface-overlay":"#FFFFFF","text-strong":"#061325","text-subtle":"#56616C","text-disabled":"#62717B","text-inverse":"#FFFFFF","link":"#286A9D","link-hover":"#123456","link-visited":"#655477","border-subtle":"#D9DEE2","border-strong":"#75828D","input-bg":"#FFFFFF","input-text":"#17202A","input-placeholder":"#62717B","input-border":"#75828D","button-secondary-bg":"#D9EEF4","button-secondary-text":"#17202A","button-secondary-hover":"#C6E2EC","disabled-bg":"#E4EDF0","disabled-text":"#62717B","focus-ring":"#286A9D","focus-offset":"#FBFAF7","hover-bg":"#EEF8FA","active-bg":"#D9EEF4","code-bg":"#EEF8FA","code-text":"#17202A","quote-border":"#286A9D","table-stripe":"#EEF8FA","scrollbar-track":"#EEF8FA","scrollbar-thumb":"#75828D","overlay-scrim":"#061325AA","info":"#286A9D","info-bg":"#E3F1F5","info-text":"#123456","success":"#35644E","success-bg":"#E7F1E9","success-text":"#285039","warning-bg":"#F5ECD9","warning-text":"#79571F","danger-bg":"#F5E6E6","danger-text":"#9A3542","chart-1":"#286A9D","chart-2":"#35644E","chart-3":"#79571F","chart-4":"#9A3542","chart-5":"#655477","chart-6":"#187178","chart-7":"#985238","chart-8":"#56616C","chart-grid":"#D9DEE2","chart-axis":"#56616C","syntax-keyword":"#286A9D","syntax-string":"#35644E","syntax-function":"#123456","syntax-type":"#79571F","syntax-variable":"#17202A","syntax-comment":"#56616C","syntax-number":"#9A3542","syntax-operator":"#56616C","syntax-constant":"#655477","syntax-tag":"#286A9D","syntax-attribute":"#79571F","syntax-regexp":"#35644E","syntax-invalid":"#9A3542","syntax-property":"#123456","syntax-decorator":"#655477"}},"dark":{"id":"krigsvold-dark","name":"Krigsvold Dark","mode":"dark","tokens":{"bg":"#061325","panel":"#0A1D35","panel2":"#123456","text":"#EEF8FA","muted":"#B3CCD5","accent":"#9ED5E6","accent2":"#D9B876","on-accent":"#061325","accent-hover":"#D9EEF4","line":"#345066","control-line":"#7A929F","focus":"#9ED5E6","selection":"#244C61","selection-text":"#EEF8FA","green":"#A6CFB5","danger":"#F0A4AF","warning":"#E0BF84","error-bg":"#302335","error-text":"#F0A4AF","shadow":"0 10px 40px #00000055","surface-canvas":"#061325","surface-subtle":"#07182B","surface-sunken":"#040E1C","surface-overlay":"#123456","text-strong":"#FBFAF7","text-subtle":"#B3CCD5","text-disabled":"#8BA4B2","text-inverse":"#061325","link":"#9ED5E6","link-hover":"#D9EEF4","link-visited":"#C6B6DB","border-subtle":"#345066","border-strong":"#7A929F","input-bg":"#0A1D35","input-text":"#EEF8FA","input-placeholder":"#B3CCD5","input-border":"#7A929F","button-secondary-bg":"#123456","button-secondary-text":"#EEF8FA","button-secondary-hover":"#1C4565","disabled-bg":"#183044","disabled-text":"#8BA4B2","focus-ring":"#9ED5E6","focus-offset":"#061325","hover-bg":"#123456","active-bg":"#1C4565","code-bg":"#0A1D35","code-text":"#EEF8FA","quote-border":"#9ED5E6","table-stripe":"#0A1D35","scrollbar-track":"#0A1D35","scrollbar-thumb":"#607B8D","overlay-scrim":"#061325CC","info":"#9ED5E6","info-bg":"#103549","info-text":"#D9EEF4","success":"#A6CFB5","success-bg":"#16362B","success-text":"#B7DDC3","warning-bg":"#3B301F","warning-text":"#E8CB97","danger-bg":"#3D2330","danger-text":"#F4B4BC","chart-1":"#9ED5E6","chart-2":"#D9B876","chart-3":"#A6CFB5","chart-4":"#F0A4AF","chart-5":"#C6B6DB","chart-6":"#8FCBC7","chart-7":"#E1AC90","chart-8":"#D4D8D9","chart-grid":"#345066","chart-axis":"#B3CCD5","syntax-keyword":"#9ED5E6","syntax-string":"#A6CFB5","syntax-function":"#C2E4EF","syntax-type":"#D9B876","syntax-variable":"#EEF8FA","syntax-comment":"#B3CCD5","syntax-number":"#F0A4AF","syntax-operator":"#B3CCD5","syntax-constant":"#C6B6DB","syntax-tag":"#9ED5E6","syntax-attribute":"#D9B876","syntax-regexp":"#A6CFB5","syntax-invalid":"#F0A4AF","syntax-property":"#C2E4EF","syntax-decorator":"#C6B6DB"}}}};
2
+ const {themes,heritage,design,foundation,capabilities,layout,version}=data;
3
3
  const {light,dark}=themes;
4
- module.exports={themes,light,dark,heritage,design,foundation,capabilities,version,default:themes};
4
+ module.exports={themes,light,dark,heritage,design,foundation,capabilities,layout,version,default:themes};
package/dist/index.d.ts CHANGED
@@ -6,5 +6,6 @@ export declare const version: string;
6
6
  export declare const heritage: Readonly<Record<string,string>>;
7
7
  export declare const design: { readonly radius: Readonly<Record<string,string>>; readonly spacing: Readonly<Record<string,string>>; readonly fonts: Readonly<Record<string,string>> };
8
8
  export declare const foundation: { readonly origin: string; readonly tokens: Readonly<Record<string,string>>; readonly typographyRoles: Readonly<Record<string,unknown>> };
9
+ export declare const layout: {readonly schemaVersion: number; readonly primitives: readonly string[]; readonly compositions: readonly string[]; readonly defaults: Readonly<Record<string,string | number>>; readonly tokens: Readonly<Record<string,string>>; readonly sources: readonly {readonly url: string; readonly repository: string; readonly commit: string; readonly files: readonly string[]}[]; readonly normalization: Readonly<Record<string,string>>};
9
10
  export declare const capabilities: Readonly<Record<string,unknown>>;
10
11
  export default themes;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- const data = {"name":"Krigsvold","version":"2.0.0","heritage":{"navy950":"#061325","navy900":"#0A1D35","navy800":"#123456","blue600":"#286A9D","ice400":"#9ED5E6","ice200":"#D9EEF4","ice100":"#EEF8FA","paper":"#FBFAF7","ink":"#17202A","muted":"#56616C","rule":"#D9DEE2","gold":"#B58A3B"},"design":{"radius":{"sm":".15rem","md":".3rem","lg":".4rem","control":".15rem","card":"0"},"spacing":{"1":".25rem","2":".5rem","3":".75rem","4":"1rem","6":"1.5rem","8":"2rem","12":"3rem","16":"4rem","24":"6rem"},"fonts":{"serif":"'Roboto Slab', Georgia, serif","sans":"'Roboto', Arial, sans-serif","display":"'Roboto Slab', Georgia, serif","mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","ui":"'Roboto', Arial, sans-serif","code":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},"widths":{"reading-width":"760px","content-width":"1320px","archive-width":"1320px"},"shadows":{"shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)"},"motion":{"transition":".15s ease-in","reduced":"0s"},"breakpoints":{"sm":"576px","md":"768px","lg":"992px","xl":"1200px","xxl":"1400px"}},"foundation":{"origin":"https://krigsvold.org/","sourceRepository":"basuhoward/krigsvold.org","sourceCommit":"e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7","sourceFiles":["assets/css/krigsvold.css","_includes/head.html","assets/css/material-kit.css","assets/scss/material-kit/bootstrap/_variables.scss"],"tokens":{"color-navy-950":"#061325","color-navy-900":"#0a1d35","color-navy-800":"#123456","color-blue-600":"#286a9d","color-ice-400":"#9ed5e6","color-ice-200":"#d9eef4","color-ice-100":"#eef8fa","color-paper":"#fbfaf7","color-ink":"#17202a","color-muted":"#56616c","color-rule":"#d9dee2","color-gold":"#b58a3b","font-serif":"'Roboto Slab', Georgia, serif","font-display":"'Roboto Slab', Georgia, serif","font-sans":"'Roboto', Arial, sans-serif","font-mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","space-1":".25rem","space-2":".5rem","space-3":".75rem","space-4":"1rem","space-6":"1.5rem","space-8":"2rem","space-12":"3rem","space-16":"4rem","space-24":"6rem","reading-width":"760px","content-width":"1320px","archive-width":"1320px","radius-sm":".15rem","radius-md":".3rem","radius-lg":".4rem","radius-control":".15rem","radius-card":"0","shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)","shadow-card":"none","transition-ui":".15s ease-in","motion-duration":".15s","text-body":"1.06rem","text-h1":"clamp(2.8rem, 6vw, 5.5rem)","text-h2":"2.1rem","text-h3":"1.42rem","text-display":"clamp(3.4rem, 7vw, 6.8rem)","text-section":"clamp(2rem, 4vw, 3.5rem)","leading-body":"1.65","leading-heading":"1.13","leading-display":".98","weight-heading":"700","tracking-heading":"-.025em","tracking-display":"-.045em","tracking-label":".16em","tracking-button":".035em","border-width":"1px","focus-width":"3px","focus-gap":"3px","gutter":".75rem","section-space":"clamp(4.5rem, 8vw, 7.5rem)","control-height":"2.75rem","control-padding":".9rem","button-padding":".625rem 1.5rem","text-button":".75rem","leading-button":"1.667","divider-width":"3rem","divider-thickness":"3px","link-underline-offset":".18em","hero-overlay":"linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)","breakpoint-sm":"576px","breakpoint-md":"768px","breakpoint-lg":"992px","breakpoint-xl":"1200px","breakpoint-xxl":"1400px"},"typographyRoles":{"serif":{"family":"Roboto Slab","usage":"Editorial headings, ledes, quotations","weights":[400,700]},"display":{"family":"Roboto Slab","usage":"Hero and page titles, section headings","weights":[400,700]},"sans":{"family":"Roboto","usage":"Body prose, navigation, controls, tables, metadata","weights":[400,500,700],"styles":["normal","italic"]},"mono":{"family":"Roboto Mono","usage":"Code, terminal text, keyboard notation","weights":[400,500,700],"styles":["normal","italic"],"provenance":"New redistributable companion selected for the Roboto family"}},"normalization":{"spacing":"Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.","focus":"Explicit 3px visible focus ring and offset added for reusable controls.","controlHeight":"44px minimum interaction target added to the generic primitives.","readingWidth":"760px text measure from source hero/subtitle limits, generalized to reading containers.","card":"Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.","motion":"Source Material Kit .15s ease-in transition, reduced to zero when requested."}},"capabilities":{"web-core":{"applied":["colors","typography variables","spacing","shape","depth","interaction variables"],"optional":["font loading","element typography","components"]},"astro":{"applied":["web-core","document shell","container","section heading","card","button"],"hostOwned":["navigation","content","consent","analytics","personal identity"]},"vim":{"applied":["colors","syntax"],"separateConfiguration":["monospace font"],"unsupported":["web layout","proportional typography"]},"emacs":{"applied":["colors","syntax"],"separateConfiguration":["font roles"],"unsupported":["web layout"]},"terminal":{"applied":["colors"],"separateConfiguration":["monospace font"],"unsupported":["web layout","serif","sans"]},"firefox":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]},"chrome":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]}},"themes":{"light":{"id":"krigsvold-light","name":"Krigsvold Light","mode":"light","tokens":{"bg":"#FBFAF7","panel":"#EEF8FA","panel2":"#D9EEF4","text":"#17202A","muted":"#56616C","accent":"#286A9D","accent2":"#79571F","on-accent":"#FFFFFF","accent-hover":"#1E557F","line":"#D9DEE2","control-line":"#75828D","focus":"#286A9D","selection":"#C6E2EC","selection-text":"#17202A","green":"#35644E","danger":"#9A3542","warning":"#79571F","error-bg":"#F5E6E6","error-text":"#9A3542","shadow":"0 10px 40px #0613251A","surface-canvas":"#FBFAF7","surface-subtle":"#FEFEFC","surface-sunken":"#E4EDF0","surface-overlay":"#FFFFFF","text-strong":"#061325","text-subtle":"#56616C","text-disabled":"#62717B","text-inverse":"#FFFFFF","link":"#286A9D","link-hover":"#123456","link-visited":"#655477","border-subtle":"#D9DEE2","border-strong":"#75828D","input-bg":"#FFFFFF","input-text":"#17202A","input-placeholder":"#62717B","input-border":"#75828D","button-secondary-bg":"#D9EEF4","button-secondary-text":"#17202A","button-secondary-hover":"#C6E2EC","disabled-bg":"#E4EDF0","disabled-text":"#62717B","focus-ring":"#286A9D","focus-offset":"#FBFAF7","hover-bg":"#EEF8FA","active-bg":"#D9EEF4","code-bg":"#EEF8FA","code-text":"#17202A","quote-border":"#286A9D","table-stripe":"#EEF8FA","scrollbar-track":"#EEF8FA","scrollbar-thumb":"#75828D","overlay-scrim":"#061325AA","info":"#286A9D","info-bg":"#E3F1F5","info-text":"#123456","success":"#35644E","success-bg":"#E7F1E9","success-text":"#285039","warning-bg":"#F5ECD9","warning-text":"#79571F","danger-bg":"#F5E6E6","danger-text":"#9A3542","chart-1":"#286A9D","chart-2":"#35644E","chart-3":"#79571F","chart-4":"#9A3542","chart-5":"#655477","chart-6":"#187178","chart-7":"#985238","chart-8":"#56616C","chart-grid":"#D9DEE2","chart-axis":"#56616C","syntax-keyword":"#286A9D","syntax-string":"#35644E","syntax-function":"#123456","syntax-type":"#79571F","syntax-variable":"#17202A","syntax-comment":"#56616C","syntax-number":"#9A3542","syntax-operator":"#56616C","syntax-constant":"#655477","syntax-tag":"#286A9D","syntax-attribute":"#79571F","syntax-regexp":"#35644E","syntax-invalid":"#9A3542","syntax-property":"#123456","syntax-decorator":"#655477"}},"dark":{"id":"krigsvold-dark","name":"Krigsvold Dark","mode":"dark","tokens":{"bg":"#061325","panel":"#0A1D35","panel2":"#123456","text":"#EEF8FA","muted":"#B3CCD5","accent":"#9ED5E6","accent2":"#D9B876","on-accent":"#061325","accent-hover":"#D9EEF4","line":"#345066","control-line":"#7A929F","focus":"#9ED5E6","selection":"#244C61","selection-text":"#EEF8FA","green":"#A6CFB5","danger":"#F0A4AF","warning":"#E0BF84","error-bg":"#302335","error-text":"#F0A4AF","shadow":"0 10px 40px #00000055","surface-canvas":"#061325","surface-subtle":"#07182B","surface-sunken":"#040E1C","surface-overlay":"#123456","text-strong":"#FBFAF7","text-subtle":"#B3CCD5","text-disabled":"#8BA4B2","text-inverse":"#061325","link":"#9ED5E6","link-hover":"#D9EEF4","link-visited":"#C6B6DB","border-subtle":"#345066","border-strong":"#7A929F","input-bg":"#0A1D35","input-text":"#EEF8FA","input-placeholder":"#B3CCD5","input-border":"#7A929F","button-secondary-bg":"#123456","button-secondary-text":"#EEF8FA","button-secondary-hover":"#1C4565","disabled-bg":"#183044","disabled-text":"#8BA4B2","focus-ring":"#9ED5E6","focus-offset":"#061325","hover-bg":"#123456","active-bg":"#1C4565","code-bg":"#0A1D35","code-text":"#EEF8FA","quote-border":"#9ED5E6","table-stripe":"#0A1D35","scrollbar-track":"#0A1D35","scrollbar-thumb":"#607B8D","overlay-scrim":"#061325CC","info":"#9ED5E6","info-bg":"#103549","info-text":"#D9EEF4","success":"#A6CFB5","success-bg":"#16362B","success-text":"#B7DDC3","warning-bg":"#3B301F","warning-text":"#E8CB97","danger-bg":"#3D2330","danger-text":"#F4B4BC","chart-1":"#9ED5E6","chart-2":"#D9B876","chart-3":"#A6CFB5","chart-4":"#F0A4AF","chart-5":"#C6B6DB","chart-6":"#8FCBC7","chart-7":"#E1AC90","chart-8":"#D4D8D9","chart-grid":"#345066","chart-axis":"#B3CCD5","syntax-keyword":"#9ED5E6","syntax-string":"#A6CFB5","syntax-function":"#C2E4EF","syntax-type":"#D9B876","syntax-variable":"#EEF8FA","syntax-comment":"#B3CCD5","syntax-number":"#F0A4AF","syntax-operator":"#B3CCD5","syntax-constant":"#C6B6DB","syntax-tag":"#9ED5E6","syntax-attribute":"#D9B876","syntax-regexp":"#A6CFB5","syntax-invalid":"#F0A4AF","syntax-property":"#C2E4EF","syntax-decorator":"#C6B6DB"}}}};
2
- const {themes,heritage,design,foundation,capabilities,version}=data;
1
+ const data = {"name":"Krigsvold","version":"2.2.0","heritage":{"navy950":"#061325","navy900":"#0A1D35","navy800":"#123456","blue600":"#286A9D","ice400":"#9ED5E6","ice200":"#D9EEF4","ice100":"#EEF8FA","paper":"#FBFAF7","ink":"#17202A","muted":"#56616C","rule":"#D9DEE2","gold":"#B58A3B"},"design":{"radius":{"sm":".15rem","md":".3rem","lg":".4rem","control":".15rem","card":"0"},"spacing":{"1":".25rem","2":".5rem","3":".75rem","4":"1rem","6":"1.5rem","8":"2rem","12":"3rem","16":"4rem","24":"6rem"},"fonts":{"serif":"'Roboto Slab', Georgia, serif","sans":"'Roboto', Arial, sans-serif","display":"'Roboto Slab', Georgia, serif","mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","ui":"'Roboto', Arial, sans-serif","code":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},"widths":{"reading-width":"760px","content-width":"1320px","archive-width":"1320px"},"shadows":{"shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)"},"motion":{"transition":".15s ease-in","reduced":"0s"},"breakpoints":{"sm":"576px","md":"768px","lg":"992px","xl":"1200px","xxl":"1400px"}},"foundation":{"origin":"https://krigsvold.org/","sourceRepository":"basuhoward/krigsvold.org","sourceCommit":"e92e989b6e850b3a9cd8fbb565edb7eba6d3a6f7","sourceFiles":["assets/css/krigsvold.css","_includes/head.html","assets/css/material-kit.css","assets/scss/material-kit/bootstrap/_variables.scss"],"tokens":{"color-navy-950":"#061325","color-navy-900":"#0a1d35","color-navy-800":"#123456","color-blue-600":"#286a9d","color-ice-400":"#9ed5e6","color-ice-200":"#d9eef4","color-ice-100":"#eef8fa","color-paper":"#fbfaf7","color-ink":"#17202a","color-muted":"#56616c","color-rule":"#d9dee2","color-gold":"#b58a3b","font-serif":"'Roboto Slab', Georgia, serif","font-display":"'Roboto Slab', Georgia, serif","font-sans":"'Roboto', Arial, sans-serif","font-mono":"'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","space-1":".25rem","space-2":".5rem","space-3":".75rem","space-4":"1rem","space-6":"1.5rem","space-8":"2rem","space-12":"3rem","space-16":"4rem","space-24":"6rem","reading-width":"760px","content-width":"1320px","archive-width":"1320px","radius-sm":".15rem","radius-md":".3rem","radius-lg":".4rem","radius-control":".15rem","radius-card":"0","shadow-sm":"0 10px 35px rgb(0 0 0 / 12%)","shadow-md":"0 18px 44px rgb(6 19 37 / 18%)","shadow-lg":"0 24px 65px rgb(10 29 53 / 12%)","shadow-card":"none","transition-ui":".15s ease-in","motion-duration":".15s","text-body":"1.06rem","text-h1":"clamp(2.8rem, 6vw, 5.5rem)","text-h2":"2.1rem","text-h3":"1.42rem","text-display":"clamp(3.4rem, 7vw, 6.8rem)","text-section":"clamp(2rem, 4vw, 3.5rem)","leading-body":"1.65","leading-heading":"1.13","leading-display":".98","weight-heading":"700","tracking-heading":"-.025em","tracking-display":"-.045em","tracking-label":".16em","tracking-button":".035em","border-width":"1px","focus-width":"3px","focus-gap":"3px","gutter":".75rem","section-space":"clamp(4.5rem, 8vw, 7.5rem)","control-height":"2.75rem","control-padding":".9rem","button-padding":".625rem 1.5rem","text-button":".75rem","leading-button":"1.667","divider-width":"3rem","divider-thickness":"3px","link-underline-offset":".18em","hero-overlay":"linear-gradient(90deg, rgba(3,15,30,.93) 0%, rgba(6,27,51,.76) 52%, rgba(7,28,48,.42) 100%)","breakpoint-sm":"576px","breakpoint-md":"768px","breakpoint-lg":"992px","breakpoint-xl":"1200px","breakpoint-xxl":"1400px","layout-gap":"2rem","layout-gap-small":"1rem","layout-gap-large":"3rem","layout-sidebar-width":"20rem","layout-main-min":"30rem","layout-grid-min":"20rem","layout-split-min":"22rem","layout-section-space":"clamp(4.5rem, 8vw, 7.5rem)"},"typographyRoles":{"serif":{"family":"Roboto Slab","usage":"Editorial headings, ledes, quotations","weights":[400,700]},"display":{"family":"Roboto Slab","usage":"Hero and page titles, section headings","weights":[400,700]},"sans":{"family":"Roboto","usage":"Body prose, navigation, controls, tables, metadata","weights":[400,500,700],"styles":["normal","italic"]},"mono":{"family":"Roboto Mono","usage":"Code, terminal text, keyboard notation","weights":[400,500,700],"styles":["normal","italic"],"provenance":"New redistributable companion selected for the Roboto family"}},"normalization":{"spacing":"Quarter-rem scale organizing the source site’s recurring spacing; values are not taken from the theme demo.","focus":"Explicit 3px visible focus ring and offset added for reusable controls.","controlHeight":"44px minimum interaction target added to the generic primitives.","readingWidth":"760px text measure from source hero/subtitle limits, generalized to reading containers.","card":"Flat editorial card from .work-card, with a 3px top rule; larger feature shadows remain separately available.","motion":"Source Material Kit .15s ease-in transition, reduced to zero when requested."}},"capabilities":{"web-core":{"applied":["colors","typography variables","spacing","shape","depth","interaction variables","layout primitives"],"optional":["font loading","element typography","components"]},"astro":{"applied":["web-core","document shell","container","section heading","card","button","page header","site header","site footer","article layout","landing layout","documentation layout"],"hostOwned":["navigation","content","consent","analytics","personal identity"]},"vim":{"applied":["colors","syntax"],"separateConfiguration":["monospace font"],"unsupported":["web layout","proportional typography"]},"emacs":{"applied":["colors","syntax"],"separateConfiguration":["font roles"],"unsupported":["web layout"]},"terminal":{"applied":["colors"],"separateConfiguration":["monospace font"],"unsupported":["web layout","serif","sans"]},"firefox":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]},"chrome":{"applied":["browser chrome colors"],"unsupported":["fonts","website content","spacing","components"]}},"layout":{"schemaVersion":1,"primitives":["container","stack","cluster","grid","sidebar","split"],"compositions":["article","landing","documentation"],"defaults":{"space":"regular","columns":3,"splitRatio":"equal","sidebarSide":"end"},"tokens":{"layout-gap":"2rem","layout-gap-small":"1rem","layout-gap-large":"3rem","layout-sidebar-width":"20rem","layout-main-min":"30rem","layout-grid-min":"20rem","layout-split-min":"22rem","layout-section-space":"clamp(4.5rem, 8vw, 7.5rem)"},"sources":[{"url":"https://krigsvold.org/","repository":"basuhoward/krigsvold.org","commit":"a3cf072c516c59ed35814e0fa153028cc91ceecd","files":["src/layouts/Page.astro","src/components/HomeContent.astro","src/components/HomeHero.astro","src/styles/site.css"]},{"url":"https://krigsvoldtheme.dev/","repository":"krigsvoldtheme/krigsvoldtheme","commit":"880bdd2bd8430bbdfd8d728faaae0c21199540b1","files":["site/src/pages/index.astro","site/src/styles/global.css","site/src/components/FoundationSpecimen.astro"]}],"normalization":{"intrinsicSizing":"Columns and sidebars respond to their available container width, including nested containers, rather than only to viewport breakpoints.","readingOrder":"Sidebar side selects matching DOM order; split content retains its source order at all widths.","scope":"Namespaced optional layout classes; no global reset, framework dependency, image, personal identity, or scripts."}},"themes":{"light":{"id":"krigsvold-light","name":"Krigsvold Light","mode":"light","tokens":{"bg":"#FBFAF7","panel":"#EEF8FA","panel2":"#D9EEF4","text":"#17202A","muted":"#56616C","accent":"#286A9D","accent2":"#79571F","on-accent":"#FFFFFF","accent-hover":"#1E557F","line":"#D9DEE2","control-line":"#75828D","focus":"#286A9D","selection":"#C6E2EC","selection-text":"#17202A","green":"#35644E","danger":"#9A3542","warning":"#79571F","error-bg":"#F5E6E6","error-text":"#9A3542","shadow":"0 10px 40px #0613251A","surface-canvas":"#FBFAF7","surface-subtle":"#FEFEFC","surface-sunken":"#E4EDF0","surface-overlay":"#FFFFFF","text-strong":"#061325","text-subtle":"#56616C","text-disabled":"#62717B","text-inverse":"#FFFFFF","link":"#286A9D","link-hover":"#123456","link-visited":"#655477","border-subtle":"#D9DEE2","border-strong":"#75828D","input-bg":"#FFFFFF","input-text":"#17202A","input-placeholder":"#62717B","input-border":"#75828D","button-secondary-bg":"#D9EEF4","button-secondary-text":"#17202A","button-secondary-hover":"#C6E2EC","disabled-bg":"#E4EDF0","disabled-text":"#62717B","focus-ring":"#286A9D","focus-offset":"#FBFAF7","hover-bg":"#EEF8FA","active-bg":"#D9EEF4","code-bg":"#EEF8FA","code-text":"#17202A","quote-border":"#286A9D","table-stripe":"#EEF8FA","scrollbar-track":"#EEF8FA","scrollbar-thumb":"#75828D","overlay-scrim":"#061325AA","info":"#286A9D","info-bg":"#E3F1F5","info-text":"#123456","success":"#35644E","success-bg":"#E7F1E9","success-text":"#285039","warning-bg":"#F5ECD9","warning-text":"#79571F","danger-bg":"#F5E6E6","danger-text":"#9A3542","chart-1":"#286A9D","chart-2":"#35644E","chart-3":"#79571F","chart-4":"#9A3542","chart-5":"#655477","chart-6":"#187178","chart-7":"#985238","chart-8":"#56616C","chart-grid":"#D9DEE2","chart-axis":"#56616C","syntax-keyword":"#286A9D","syntax-string":"#35644E","syntax-function":"#123456","syntax-type":"#79571F","syntax-variable":"#17202A","syntax-comment":"#56616C","syntax-number":"#9A3542","syntax-operator":"#56616C","syntax-constant":"#655477","syntax-tag":"#286A9D","syntax-attribute":"#79571F","syntax-regexp":"#35644E","syntax-invalid":"#9A3542","syntax-property":"#123456","syntax-decorator":"#655477"}},"dark":{"id":"krigsvold-dark","name":"Krigsvold Dark","mode":"dark","tokens":{"bg":"#061325","panel":"#0A1D35","panel2":"#123456","text":"#EEF8FA","muted":"#B3CCD5","accent":"#9ED5E6","accent2":"#D9B876","on-accent":"#061325","accent-hover":"#D9EEF4","line":"#345066","control-line":"#7A929F","focus":"#9ED5E6","selection":"#244C61","selection-text":"#EEF8FA","green":"#A6CFB5","danger":"#F0A4AF","warning":"#E0BF84","error-bg":"#302335","error-text":"#F0A4AF","shadow":"0 10px 40px #00000055","surface-canvas":"#061325","surface-subtle":"#07182B","surface-sunken":"#040E1C","surface-overlay":"#123456","text-strong":"#FBFAF7","text-subtle":"#B3CCD5","text-disabled":"#8BA4B2","text-inverse":"#061325","link":"#9ED5E6","link-hover":"#D9EEF4","link-visited":"#C6B6DB","border-subtle":"#345066","border-strong":"#7A929F","input-bg":"#0A1D35","input-text":"#EEF8FA","input-placeholder":"#B3CCD5","input-border":"#7A929F","button-secondary-bg":"#123456","button-secondary-text":"#EEF8FA","button-secondary-hover":"#1C4565","disabled-bg":"#183044","disabled-text":"#8BA4B2","focus-ring":"#9ED5E6","focus-offset":"#061325","hover-bg":"#123456","active-bg":"#1C4565","code-bg":"#0A1D35","code-text":"#EEF8FA","quote-border":"#9ED5E6","table-stripe":"#0A1D35","scrollbar-track":"#0A1D35","scrollbar-thumb":"#607B8D","overlay-scrim":"#061325CC","info":"#9ED5E6","info-bg":"#103549","info-text":"#D9EEF4","success":"#A6CFB5","success-bg":"#16362B","success-text":"#B7DDC3","warning-bg":"#3B301F","warning-text":"#E8CB97","danger-bg":"#3D2330","danger-text":"#F4B4BC","chart-1":"#9ED5E6","chart-2":"#D9B876","chart-3":"#A6CFB5","chart-4":"#F0A4AF","chart-5":"#C6B6DB","chart-6":"#8FCBC7","chart-7":"#E1AC90","chart-8":"#D4D8D9","chart-grid":"#345066","chart-axis":"#B3CCD5","syntax-keyword":"#9ED5E6","syntax-string":"#A6CFB5","syntax-function":"#C2E4EF","syntax-type":"#D9B876","syntax-variable":"#EEF8FA","syntax-comment":"#B3CCD5","syntax-number":"#F0A4AF","syntax-operator":"#B3CCD5","syntax-constant":"#C6B6DB","syntax-tag":"#9ED5E6","syntax-attribute":"#D9B876","syntax-regexp":"#A6CFB5","syntax-invalid":"#F0A4AF","syntax-property":"#C2E4EF","syntax-decorator":"#C6B6DB"}}}};
2
+ const {themes,heritage,design,foundation,capabilities,layout,version}=data;
3
3
  const {light,dark}=themes;
4
- export {themes,light,dark,heritage,design,foundation,capabilities,version};
4
+ export {themes,light,dark,heritage,design,foundation,capabilities,layout,version};
5
5
  export default themes;
@@ -0,0 +1,255 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "family": "krigsvold",
4
+ "grammarVersion": "0.3",
5
+ "maturity": "experimental",
6
+ "source": {
7
+ "repository": "basuhoward/krigsvold.org",
8
+ "commit": "a3cf072c516c59ed35814e0fa153028cc91ceecd"
9
+ },
10
+ "guidance": {
11
+ "grammar": "docs/grammar.md",
12
+ "decisions": "docs/source-decisions.md",
13
+ "foundations": "docs/foundations.md",
14
+ "coverage": "docs/coverage.md",
15
+ "validatedForm": "docs/patterns/forms.md",
16
+ "queryResults": "docs/patterns/query-results.md"
17
+ },
18
+ "implementation": {
19
+ "core": {
20
+ "version": "2.2.0",
21
+ "status": "unreleased-candidate",
22
+ "sourceProfile": "opt-in; existing defaults retained"
23
+ },
24
+ "Astro": {
25
+ "version": "1.2.0",
26
+ "status": "unreleased-candidate",
27
+ "core": "^2.2.0",
28
+ "additions": [
29
+ "TableOfContents",
30
+ "ArticleLayout contents slot",
31
+ "SiteFooter grouped variant"
32
+ ]
33
+ },
34
+ "React": {
35
+ "version": "0.1.0",
36
+ "status": "experimental-unpublished",
37
+ "core": "2.1.0",
38
+ "repository": "howardjp/design-workbench",
39
+ "branch": "work/registry-foundations"
40
+ },
41
+ "Vue": {
42
+ "status": "not-implemented"
43
+ },
44
+ "Svelte": {
45
+ "status": "not-implemented"
46
+ },
47
+ "native": {
48
+ "status": "not-implemented"
49
+ }
50
+ },
51
+ "patterns": [
52
+ {
53
+ "id": "reading-contents",
54
+ "basis": "application-extension",
55
+ "variants": [
56
+ "index",
57
+ "inline"
58
+ ],
59
+ "rules": [
60
+ "Contents precedes body",
61
+ "Depth 2 parents and depth 3 children",
62
+ "Supporting information remains separate",
63
+ "Reflow according to available container width"
64
+ ]
65
+ },
66
+ {
67
+ "id": "grouped-footer",
68
+ "basis": "source-translation",
69
+ "rules": [
70
+ "Host supplies identity and destinations",
71
+ "Preserve independent family anatomy",
72
+ "Ownership and contact belong in base slot"
73
+ ]
74
+ },
75
+ {
76
+ "id": "collection-editor",
77
+ "basis": "application-extension",
78
+ "availability": "React specimen only",
79
+ "states": [
80
+ "empty",
81
+ "no-match",
82
+ "reading",
83
+ "editing",
84
+ "saving",
85
+ "saved",
86
+ "failed-save",
87
+ "unsaved-navigation",
88
+ "undo"
89
+ ]
90
+ },
91
+ {
92
+ "id": "validated-form",
93
+ "basis": "application-extension",
94
+ "availability": "React interactive reference; Astro native-HTML guidance",
95
+ "states": [
96
+ "invalid",
97
+ "pending",
98
+ "failed-save",
99
+ "retry",
100
+ "saved",
101
+ "changed-reset",
102
+ "keep",
103
+ "discard"
104
+ ],
105
+ "rules": [
106
+ "Field/group/region relationships",
107
+ "Retain values on failure",
108
+ "Summary links focus controls",
109
+ "Guard specimen reset; host navigation remains host-owned"
110
+ ]
111
+ },
112
+ {
113
+ "id": "query-results",
114
+ "basis": "application-extension",
115
+ "availability": "React interactive reference; Astro native-HTML guidance",
116
+ "states": [
117
+ "draft-query",
118
+ "pending",
119
+ "failed-load",
120
+ "retry",
121
+ "no-match",
122
+ "empty-source",
123
+ "selected",
124
+ "preparing",
125
+ "failed-prepare",
126
+ "prepared",
127
+ "cancelled"
128
+ ],
129
+ "rules": [
130
+ "Separate draft and committed scope",
131
+ "Stable record identities",
132
+ "Current-page selection only",
133
+ "Cancel invalidates late completion",
134
+ "Keep all table columns in labelled scrolling region"
135
+ ]
136
+ }
137
+ ],
138
+ "openGates": [
139
+ "Manual assistive-technology review",
140
+ "Localization and RTL",
141
+ "Sustained consumer use",
142
+ "Broader form and data workflow evidence",
143
+ "Matched origin code specimen"
144
+ ],
145
+ "coverage": [
146
+ {
147
+ "id": "G01",
148
+ "domain": "Source authority",
149
+ "status": "Documented",
150
+ "rule": "Origin objects, translations and extensions remain distinct."
151
+ },
152
+ {
153
+ "id": "G02",
154
+ "domain": "Field / group / region spacing",
155
+ "status": "Rule clarified + reference",
156
+ "rule": "Use relational roles; do not inherit page-section spacing inside forms."
157
+ },
158
+ {
159
+ "id": "G03",
160
+ "domain": "Density and targets",
161
+ "status": "Claim corrected; compact open",
162
+ "rule": "Comfortable examples only; 44px is a design target, not blanket certification."
163
+ },
164
+ {
165
+ "id": "G04",
166
+ "domain": "Typography and hierarchy",
167
+ "status": "Observed roles retained",
168
+ "rule": "Keep prose, UI, selective display and code roles; no decorative monospace."
169
+ },
170
+ {
171
+ "id": "G05",
172
+ "domain": "Surfaces and layers",
173
+ "status": "Rule corrected + reference",
174
+ "rule": "Modal, popup and inline disclosure have different interaction contracts."
175
+ },
176
+ {
177
+ "id": "G06",
178
+ "domain": "Action placement and scope",
179
+ "status": "Rule clarified + reference",
180
+ "rule": "Commands name and follow their field, object or collection scope."
181
+ },
182
+ {
183
+ "id": "G07",
184
+ "domain": "Responsive composition",
185
+ "status": "Reference checks",
186
+ "rule": "Reflow fields/actions; scroll only genuine comparison surfaces; retain source order."
187
+ },
188
+ {
189
+ "id": "G08",
190
+ "domain": "Substantial forms",
191
+ "status": "New experimental contract",
192
+ "rule": "Validate, retain values, retry and guard specimen reset."
193
+ },
194
+ {
195
+ "id": "G09",
196
+ "domain": "Query / sort / page",
197
+ "status": "New experimental contract",
198
+ "rule": "Draft query differs from applied results; changed query starts page 1."
199
+ },
200
+ {
201
+ "id": "G10",
202
+ "domain": "Selection",
203
+ "status": "New bounded contract",
204
+ "rule": "Binary current-page selection; scope changes reset on commit, failure retains it."
205
+ },
206
+ {
207
+ "id": "G11",
208
+ "domain": "Pending / failed / empty states",
209
+ "status": "Reference coverage expanded",
210
+ "rule": "Keep useful previous content and distinguish no matches from empty source data."
211
+ },
212
+ {
213
+ "id": "G12",
214
+ "domain": "Focus and recovery",
215
+ "status": "Reference checks; manual open",
216
+ "rule": "Summary links, modal dismissal, return trigger and late-response cancellation."
217
+ },
218
+ {
219
+ "id": "G13",
220
+ "domain": "Top / side / focused frames",
221
+ "status": "Existing support retained",
222
+ "rule": "Frame follows task; source navigation direction is not a family restriction."
223
+ },
224
+ {
225
+ "id": "G14",
226
+ "domain": "Reading / contents / footer",
227
+ "status": "Existing source contracts retained",
228
+ "rule": "Contents, body, support and host identity remain separate."
229
+ },
230
+ {
231
+ "id": "G15",
232
+ "domain": "Cross-framework agreement",
233
+ "status": "Availability clarified",
234
+ "rule": "Rules cross frameworks; React state/focus props do not become Astro APIs."
235
+ },
236
+ {
237
+ "id": "G16",
238
+ "domain": "Figure / footnote / maths / archive vocabulary",
239
+ "status": "Open",
240
+ "rule": "Do not infer shipped components from origin CSS."
241
+ },
242
+ {
243
+ "id": "G17",
244
+ "domain": "Localization / RTL / assistive technology",
245
+ "status": "Open",
246
+ "rule": "Long-text checks are partial evidence; no manual or locale certification."
247
+ },
248
+ {
249
+ "id": "G18",
250
+ "domain": "Sustained use / dashboard breadth",
251
+ "status": "Open",
252
+ "rule": "Focused references do not establish production fitness or cover all application patterns."
253
+ }
254
+ ]
255
+ }
@@ -0,0 +1,51 @@
1
+ /* Optional layout primitives. No fonts, palette, global reset, or JavaScript. */
2
+ .krigsvold-stack,.krigsvold-cluster,.krigsvold-grid,.krigsvold-sidebar,.krigsvold-split { --krigsvold-layout-space:var(--krigsvold-layout-gap); gap:var(--krigsvold-layout-space); min-inline-size:0; overflow-wrap:anywhere; }
3
+ .krigsvold-space-small { --krigsvold-layout-space:var(--krigsvold-layout-gap-small); }
4
+ .krigsvold-space-large { --krigsvold-layout-space:var(--krigsvold-layout-gap-large); }
5
+ .krigsvold-stack { display:flex; flex-direction:column; }
6
+ .krigsvold-stack > * { min-inline-size:0; margin-block:0; }
7
+ .krigsvold-cluster { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; }
8
+ .krigsvold-cluster > * { min-inline-size:0; max-inline-size:100%; }
9
+ .krigsvold-cluster:is(ul,ol) { list-style:none; padding:0; margin:0; }
10
+ .krigsvold-cluster--end { justify-content:flex-end; }
11
+ .krigsvold-cluster--between { justify-content:space-between; }
12
+ .krigsvold-grid { --krigsvold-grid-columns:3; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,max(var(--krigsvold-layout-grid-min),calc((100% - (var(--krigsvold-grid-columns) - 1) * var(--krigsvold-layout-space)) / var(--krigsvold-grid-columns)))),1fr)); }
13
+ .krigsvold-grid--1 { --krigsvold-grid-columns:1; }
14
+ .krigsvold-grid--2 { --krigsvold-grid-columns:2; }
15
+ .krigsvold-grid--4 { --krigsvold-grid-columns:4; }
16
+ .krigsvold-grid > * { min-inline-size:0; }
17
+ .krigsvold-sidebar { display:flex; flex-wrap:wrap; align-items:flex-start; }
18
+ .krigsvold-sidebar > .krigsvold-sidebar__aside { flex:1 1 var(--krigsvold-layout-sidebar-width); min-inline-size:0; max-inline-size:100%; }
19
+ .krigsvold-sidebar > .krigsvold-sidebar__main { flex:999 1 0; min-inline-size:min(100%,var(--krigsvold-layout-main-min)); max-inline-size:100%; }
20
+ .krigsvold-split { --krigsvold-split-start:1; --krigsvold-split-end:1; display:flex; flex-wrap:wrap; align-items:center; }
21
+ .krigsvold-split > * { flex:var(--krigsvold-split-start) 1 var(--krigsvold-layout-split-min); min-inline-size:0; max-inline-size:100%; }
22
+ .krigsvold-split > :last-child { flex-grow:var(--krigsvold-split-end); }
23
+ .krigsvold-split--wide-start { --krigsvold-split-start:1.5; }
24
+ .krigsvold-split--wide-end { --krigsvold-split-end:1.5; }
25
+ .krigsvold-split--start { align-items:flex-start; }
26
+ .krigsvold-band { padding-block:var(--krigsvold-section-space); }
27
+ .krigsvold-page-body { padding-block:var(--krigsvold-layout-section-space); }
28
+ .krigsvold-prose { min-inline-size:0; max-inline-size:100%; overflow-wrap:anywhere; }
29
+ .krigsvold-prose > :first-child { margin-block-start:0; }
30
+ .krigsvold-prose > :last-child { margin-block-end:0; }
31
+ .krigsvold-prose :where(img,svg,video) { max-inline-size:100%; block-size:auto; }
32
+ .krigsvold-prose :where(pre) { max-inline-size:100%; overflow:auto; }
33
+ .krigsvold-scroll { max-inline-size:100%; overflow:auto; }
34
+ .krigsvold-page-header { padding-block:var(--krigsvold-layout-section-space); background:var(--krigsvold-panel2); color:var(--krigsvold-text); overflow-wrap:anywhere; }
35
+ .krigsvold-page-header h1 { margin-block:0; max-inline-size:var(--krigsvold-content-width); font-family:var(--krigsvold-font-serif); font-size:var(--krigsvold-text-h1); line-height:var(--krigsvold-leading-heading); }
36
+ .krigsvold-page-header__copy > :first-child { margin-block-start:0; }
37
+ .krigsvold-page-header__summary { max-inline-size:var(--krigsvold-reading-width); font-size:1.15em; line-height:var(--krigsvold-leading-body); }
38
+ .krigsvold-page-header__metadata { font-family:var(--krigsvold-font-sans); color:var(--krigsvold-muted); }
39
+ .krigsvold-page-header__media { min-inline-size:0; }
40
+ .krigsvold-page-header__media :where(img,svg,video) { display:block; max-inline-size:100%; block-size:auto; }
41
+ .krigsvold-site-header { border-block-end:var(--krigsvold-border-width) solid var(--krigsvold-line); padding-block:var(--krigsvold-layout-gap-small); color:var(--krigsvold-text); background:var(--krigsvold-bg); }
42
+ .krigsvold-site-header__inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--krigsvold-layout-gap-small) var(--krigsvold-layout-gap); min-inline-size:0; }
43
+ .krigsvold-site-header__brand { font-family:var(--krigsvold-font-display); font-size:1.2rem; font-weight:700; overflow-wrap:anywhere; min-inline-size:0; max-inline-size:100%; }
44
+ .krigsvold-site-header nav { min-inline-size:0; max-inline-size:100%; font-family:var(--krigsvold-font-sans); }
45
+ .krigsvold-site-header :where(a) { display:inline-block; padding-block:.5rem; }
46
+ .krigsvold-site-footer { padding-block:var(--krigsvold-layout-section-space); border-block-start:var(--krigsvold-border-width) solid var(--krigsvold-line); background:var(--krigsvold-panel2); color:var(--krigsvold-text); overflow-wrap:anywhere; }
47
+ .krigsvold-site-footer nav { font-family:var(--krigsvold-font-sans); }
48
+ .krigsvold-site-footer :where(a) { display:inline-block; padding-block:.5rem; }
49
+ @media print { .krigsvold-sidebar,.krigsvold-split { display:block; } .krigsvold-sidebar > *,.krigsvold-split > * { margin-block-end:var(--krigsvold-layout-gap); } }
50
+ .krigsvold-page-header { border-block-end:var(--krigsvold-divider-thickness) solid var(--krigsvold-accent); }
51
+ .krigsvold-page-header h1 { font-family:var(--krigsvold-font-display); font-size:var(--krigsvold-text-display); font-weight:var(--krigsvold-weight-heading); letter-spacing:var(--krigsvold-tracking-display); line-height:var(--krigsvold-leading-display); }