From 68872f0dac83b38b2b8f133994ef51f615f6adba Mon Sep 17 00:00:00 2001
From: 6d486f49 <76097bcc@gmail.com>
Date: Thu, 25 Jun 2026 09:45:21 -0400
Subject: [PATCH] More notes and added store precons
---
Chrono/Build/Program.cs | 4 +-
Chrono/Chrono.sln | 14 +
Chrono/Cloud/Cloud.csproj | 15 +
Chrono/Cloud/Components/App.razor | 23 +
.../Cloud/Components/Layout/MainLayout.razor | 23 +
.../Components/Layout/MainLayout.razor.css | 98 +
Chrono/Cloud/Components/Layout/NavMenu.razor | 29 +
.../Cloud/Components/Layout/NavMenu.razor.css | 105 +
.../Components/Layout/ReconnectModal.razor | 31 +
.../Layout/ReconnectModal.razor.css | 157 +
.../Components/Layout/ReconnectModal.razor.js | 63 +
Chrono/Cloud/Components/Pages/Counter.razor | 20 +
Chrono/Cloud/Components/Pages/Error.razor | 36 +
Chrono/Cloud/Components/Pages/Home.razor | 7 +
Chrono/Cloud/Components/Pages/NotFound.razor | 5 +
Chrono/Cloud/Components/Pages/Weather.razor | 5 +
Chrono/Cloud/Components/Routes.razor | 7 +
Chrono/Cloud/Components/_Imports.razor | 11 +
Chrono/Cloud/Program.cs | 28 +
Chrono/Cloud/Properties/launchSettings.json | 23 +
Chrono/Cloud/appsettings.json | 9 +
Chrono/Cloud/wwwroot/app.css | 60 +
Chrono/Cloud/wwwroot/favicon.png | Bin 0 -> 1148 bytes
.../lib/bootstrap/dist/css/bootstrap-grid.css | 4085 ++++++
.../bootstrap/dist/css/bootstrap-grid.css.map | 1 +
.../bootstrap/dist/css/bootstrap-grid.min.css | 6 +
.../dist/css/bootstrap-grid.min.css.map | 1 +
.../bootstrap/dist/css/bootstrap-grid.rtl.css | 4084 ++++++
.../dist/css/bootstrap-grid.rtl.css.map | 1 +
.../dist/css/bootstrap-grid.rtl.min.css | 6 +
.../dist/css/bootstrap-grid.rtl.min.css.map | 1 +
.../bootstrap/dist/css/bootstrap-reboot.css | 597 +
.../dist/css/bootstrap-reboot.css.map | 1 +
.../dist/css/bootstrap-reboot.min.css | 6 +
.../dist/css/bootstrap-reboot.min.css.map | 1 +
.../dist/css/bootstrap-reboot.rtl.css | 594 +
.../dist/css/bootstrap-reboot.rtl.css.map | 1 +
.../dist/css/bootstrap-reboot.rtl.min.css | 6 +
.../dist/css/bootstrap-reboot.rtl.min.css.map | 1 +
.../dist/css/bootstrap-utilities.css | 5402 +++++++
.../dist/css/bootstrap-utilities.css.map | 1 +
.../dist/css/bootstrap-utilities.min.css | 6 +
.../dist/css/bootstrap-utilities.min.css.map | 1 +
.../dist/css/bootstrap-utilities.rtl.css | 5393 +++++++
.../dist/css/bootstrap-utilities.rtl.css.map | 1 +
.../dist/css/bootstrap-utilities.rtl.min.css | 6 +
.../css/bootstrap-utilities.rtl.min.css.map | 1 +
.../lib/bootstrap/dist/css/bootstrap.css | 12057 ++++++++++++++++
.../lib/bootstrap/dist/css/bootstrap.css.map | 1 +
.../lib/bootstrap/dist/css/bootstrap.min.css | 6 +
.../bootstrap/dist/css/bootstrap.min.css.map | 1 +
.../lib/bootstrap/dist/css/bootstrap.rtl.css | 12030 +++++++++++++++
.../bootstrap/dist/css/bootstrap.rtl.css.map | 1 +
.../bootstrap/dist/css/bootstrap.rtl.min.css | 6 +
.../dist/css/bootstrap.rtl.min.css.map | 1 +
.../lib/bootstrap/dist/js/bootstrap.bundle.js | 6314 ++++++++
.../bootstrap/dist/js/bootstrap.bundle.js.map | 1 +
.../bootstrap/dist/js/bootstrap.bundle.min.js | 7 +
.../dist/js/bootstrap.bundle.min.js.map | 1 +
.../lib/bootstrap/dist/js/bootstrap.esm.js | 4447 ++++++
.../bootstrap/dist/js/bootstrap.esm.js.map | 1 +
.../bootstrap/dist/js/bootstrap.esm.min.js | 7 +
.../dist/js/bootstrap.esm.min.js.map | 1 +
.../lib/bootstrap/dist/js/bootstrap.js | 4494 ++++++
.../lib/bootstrap/dist/js/bootstrap.js.map | 1 +
.../lib/bootstrap/dist/js/bootstrap.min.js | 7 +
.../bootstrap/dist/js/bootstrap.min.js.map | 1 +
Chrono/Model/DeckData.cs | 1 +
Chrono/Server/Components/App.razor | 2 +-
Chrono/Server/Components/Pages/Index.razor | 3 +
Chrono/Server/Components/Routes.razor | 8 +-
Chrono/Server/Program.cs | 5 +-
Chrono/Shared/Generated/Cards.g.cs | 30 +
Chrono/Shared/Generated/Decks.g.cs | 377 +
Chrono/Shared/Generated/Docs.g.cs | 50 +-
Chrono/Shared/Pages/Decks.razor | 28 +-
Chrono/Shared/Pages/Decks.razor.css | 10 +
Chrono/Shared/Pages/Docs.razor | 166 +-
Chrono/Shared/Pages/Docs.razor.css | 130 +-
Chrono/Tests/PlaywrightTests.cs | 33 +
chrono.docs/.obsidian/types.json | 4 +-
chrono.docs/.obsidian/workspace.json | 92 +-
chrono.docs/Deck/Aggro.md | 55 +
chrono.docs/Deck/Big Energy.md | 10 +-
chrono.docs/Deck/Example.md | 17 +
chrono.docs/Deck/Kyln Control.md | 55 +
chrono.docs/Deck/Rewind.md | 55 +
chrono.docs/Deck/Somnus Spam.md | 55 +
chrono.docs/Deck/Sunbleed.md | 55 +
chrono.docs/Deck/Tempo Deplete.md | 55 +
chrono.docs/Faction/Splintergleam.md | 12 +-
chrono.docs/Faction/Sungrace.md | 4 +
chrono.docs/Keyword/Overflow.md | 4 +
chrono.docs/Pass/Beta Season 1 Track.md | 5 +
chrono.docs/Pass/Onboarding Track.md | 22 +
chrono.docs/Rule/Energy Reserves.md | 4 +
96 files changed, 61430 insertions(+), 278 deletions(-)
create mode 100644 Chrono/Cloud/Cloud.csproj
create mode 100644 Chrono/Cloud/Components/App.razor
create mode 100644 Chrono/Cloud/Components/Layout/MainLayout.razor
create mode 100644 Chrono/Cloud/Components/Layout/MainLayout.razor.css
create mode 100644 Chrono/Cloud/Components/Layout/NavMenu.razor
create mode 100644 Chrono/Cloud/Components/Layout/NavMenu.razor.css
create mode 100644 Chrono/Cloud/Components/Layout/ReconnectModal.razor
create mode 100644 Chrono/Cloud/Components/Layout/ReconnectModal.razor.css
create mode 100644 Chrono/Cloud/Components/Layout/ReconnectModal.razor.js
create mode 100644 Chrono/Cloud/Components/Pages/Counter.razor
create mode 100644 Chrono/Cloud/Components/Pages/Error.razor
create mode 100644 Chrono/Cloud/Components/Pages/Home.razor
create mode 100644 Chrono/Cloud/Components/Pages/NotFound.razor
create mode 100644 Chrono/Cloud/Components/Pages/Weather.razor
create mode 100644 Chrono/Cloud/Components/Routes.razor
create mode 100644 Chrono/Cloud/Components/_Imports.razor
create mode 100644 Chrono/Cloud/Program.cs
create mode 100644 Chrono/Cloud/Properties/launchSettings.json
create mode 100644 Chrono/Cloud/appsettings.json
create mode 100644 Chrono/Cloud/wwwroot/app.css
create mode 100644 Chrono/Cloud/wwwroot/favicon.png
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.js
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js
create mode 100644 Chrono/Cloud/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map
create mode 100644 Chrono/Server/Components/Pages/Index.razor
create mode 100644 chrono.docs/Deck/Aggro.md
create mode 100644 chrono.docs/Deck/Example.md
create mode 100644 chrono.docs/Deck/Kyln Control.md
create mode 100644 chrono.docs/Deck/Rewind.md
create mode 100644 chrono.docs/Deck/Somnus Spam.md
create mode 100644 chrono.docs/Deck/Sunbleed.md
create mode 100644 chrono.docs/Deck/Tempo Deplete.md
create mode 100644 chrono.docs/Keyword/Overflow.md
create mode 100644 chrono.docs/Pass/Beta Season 1 Track.md
create mode 100644 chrono.docs/Pass/Onboarding Track.md
create mode 100644 chrono.docs/Rule/Energy Reserves.md
diff --git a/Chrono/Build/Program.cs b/Chrono/Build/Program.cs
index d64e33c..2447e5a 100644
--- a/Chrono/Build/Program.cs
+++ b/Chrono/Build/Program.cs
@@ -154,7 +154,8 @@ foreach (var file in deckFiles)
.Replace("\r", "\n").Replace("\n\n", "\n").Replace("\n\n", "\n"),
Factions = ParseList(yaml, "factions").Select(s => StripWikiLink(s) ?? "").Where(s => s != "").ToList(),
IsVisible = isVisible,
- DeckCode = deckCode
+ DeckCode = deckCode,
+ DeckType = yaml.GetValueOrDefault("deckType")
};
decks.Add(deck);
@@ -189,6 +190,7 @@ for (var i = 0; i < decks.Count; i++)
WriteListProp(deckWriter, "Factions", d.Factions, 3);
deckWriter.WriteLine($" IsVisible = {(d.IsVisible ? "true" : "false")},");
WriteStrProp(deckWriter, "DeckCode", d.DeckCode, 3);
+ WriteStrProp(deckWriter, "DeckType", d.DeckType, 3);
var comma = i < decks.Count - 1 ? "," : "";
deckWriter.WriteLine($" }}{comma}");
}
diff --git a/Chrono/Chrono.sln b/Chrono/Chrono.sln
index 63fd9e4..418f2f1 100644
--- a/Chrono/Chrono.sln
+++ b/Chrono/Chrono.sln
@@ -14,6 +14,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Server", "Server\Server.csp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared", "Shared\Shared.csproj", "{30D8468D-01E1-4D8A-99AF-EE4A75A5E956}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cloud", "Cloud\Cloud.csproj", "{378D4271-55B8-4E77-92F0-65C7DA26ABD3}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -108,6 +110,18 @@ Global
{30D8468D-01E1-4D8A-99AF-EE4A75A5E956}.Release|x64.Build.0 = Release|Any CPU
{30D8468D-01E1-4D8A-99AF-EE4A75A5E956}.Release|x86.ActiveCfg = Release|Any CPU
{30D8468D-01E1-4D8A-99AF-EE4A75A5E956}.Release|x86.Build.0 = Release|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Debug|x64.Build.0 = Debug|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Debug|x86.Build.0 = Debug|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Release|x64.ActiveCfg = Release|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Release|x64.Build.0 = Release|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Release|x86.ActiveCfg = Release|Any CPU
+ {378D4271-55B8-4E77-92F0-65C7DA26ABD3}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Chrono/Cloud/Cloud.csproj b/Chrono/Cloud/Cloud.csproj
new file mode 100644
index 0000000..f8f5963
--- /dev/null
+++ b/Chrono/Cloud/Cloud.csproj
@@ -0,0 +1,15 @@
+
Current count: @currentCount
+ + + +@code { + private int currentCount = 0; + + private void IncrementCount() + { + currentCount++; + } + +} \ No newline at end of file diff --git a/Chrono/Cloud/Components/Pages/Error.razor b/Chrono/Cloud/Components/Pages/Error.razor new file mode 100644 index 0000000..9d7c6be --- /dev/null +++ b/Chrono/Cloud/Components/Pages/Error.razor @@ -0,0 +1,36 @@ +@page "/Error" +@using System.Diagnostics + +
+ Request ID: @RequestId
+
+ Swapping to Development environment will display more detailed information about the error that occurred. +
++ The Development environment shouldn't be enabled for deployed applications. + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development + and restarting the app. +
+ +@code{ + [CascadingParameter] private HttpContext? HttpContext { get; set; } + + private string? RequestId { get; set; } + private bool ShowRequestId => !string.IsNullOrEmpty(RequestId); + + protected override void OnInitialized() => + RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier; + +} \ No newline at end of file diff --git a/Chrono/Cloud/Components/Pages/Home.razor b/Chrono/Cloud/Components/Pages/Home.razor new file mode 100644 index 0000000..dfcdf75 --- /dev/null +++ b/Chrono/Cloud/Components/Pages/Home.razor @@ -0,0 +1,7 @@ +@page "/" + +Sorry, the content you are looking for does not exist.
\ No newline at end of file diff --git a/Chrono/Cloud/Components/Pages/Weather.razor b/Chrono/Cloud/Components/Pages/Weather.razor new file mode 100644 index 0000000..74fca9f --- /dev/null +++ b/Chrono/Cloud/Components/Pages/Weather.razor @@ -0,0 +1,5 @@ +@page "/weather" +@using Shared.Pages +@attribute [StreamRendering] + +G|8G0-9s3VLm`bsa6e
ze*TlRxAjXtm^F8V`M1%s5d@tYS>&+_ga#xKGb|!oUBx3uc@mj1%=MaH4GR0tPBG_&
z9OZE;->dO@`Q)nr<% `s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n color: var(--#{$prefix}highlight-color);\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default ``-`
` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `
` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`