/* GENERATED by scripts/build-library.mjs from library.css and curriculum.css: the rules the home page uses. Do not edit. */
:root{ --w-liberal-arts: #74520e; --w-mathematics: #6a3fa0; --w-health: #2f6b2c; --w-engineering: #2f5876; --w-music: var(--ember); --w-academy: var(--lapis); --w-science: var(--teal); --w-canon: #8a3b5c; }
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){ --w-liberal-arts: #e6bd60; --w-mathematics: #c5a6f5; --w-health: #8fd48a; --w-engineering: #9cc6e8; --w-canon: #f0a2c2; }
}
:root[data-theme="dark"]{ --w-liberal-arts: #e6bd60; --w-mathematics: #c5a6f5; --w-health: #8fd48a; --w-engineering: #9cc6e8; --w-canon: #f0a2c2; }
.w-liberal-arts{ --accent: var(--w-liberal-arts); }
.w-mathematics{ --accent: var(--w-mathematics); }
.w-health{ --accent: var(--w-health); }
.w-engineering{ --accent: var(--w-engineering); }
.w-music{ --accent: var(--w-music); }
.w-academy{ --accent: var(--w-academy); }
.w-science{ --accent: var(--w-science); }
.w-canon{ --accent: var(--w-canon); }
.w-astronomy{ --accent: var(--a-astronomy); }
.w-geometry{ --accent: var(--a-geometry); }
body[class*="w-"]{ --accent-soft: color-mix(in srgb, var(--accent) 12%, var(--bg)); }
#lib-count{ margin: .75rem 0; }
.wing-grid{ list-style: none; padding: 0; margin: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr)); }
.wing-card{
  display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line);
  border-top: 5px solid var(--accent); border-radius: var(--r); padding: 1.4rem; box-shadow: var(--shadow);
}
.wing-head{ text-decoration: none; color: var(--ink); }
.wing-head h2{ font-size: 1.45rem; margin: .1rem 0 .5rem; }
.wing-head:hover h2{ color: var(--accent); }
.wing-card > p{ color: var(--ink-2); font-size: .95rem; }
.wing-go{ margin-top: auto; font-weight: 650; }
.wing-dot{ display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; background: var(--accent); vertical-align: .05em; }
.wing-card h3{ font-size: 1.35rem; margin: .1rem 0 .5rem; }
.wings-more{ margin-top: 2rem; }
.is-reading{ background: color-mix(in srgb, var(--accent) 16%, transparent); border-radius: 4px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 16%, transparent); }
@keyframes vz-step{ from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.table-wrap{ overflow-x: auto; }
.emblem{ width: 2rem; height: 2rem; flex: none; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; color: var(--accent); }
.emblem .fill{ fill: currentColor; stroke: none; }
.arts-wrap{ margin-top: 1.5rem; }
.arts-table{ width: 100%; border-collapse: collapse; font-size: 1.02rem; }
.arts-table thead th{ font: 650 .75rem/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); text-align: left; padding: 0 .75rem .6rem; border-bottom: 2px solid var(--line-strong); }
.arts-gh th{ text-align: left; padding: 1.4rem .75rem .5rem; border-bottom: 1px solid var(--line); font-weight: 500; }
.arts-g{ font: 600 1.15rem/1.2 var(--serif); letter-spacing: .04em; }
.arts-group tr:not(.arts-gh){ border-bottom: 1px solid var(--line); }
.arts-group tr:not(.arts-gh) > *{ padding: .85rem .75rem; vertical-align: middle; }
.arts-group th[scope="row"]{ text-align: left; width: 34%; border-left: 4px solid var(--accent); }
.arts-group th[scope="row"] a{ display: grid; grid-template-columns: auto 1fr; gap: 0 .75rem; align-items: center; color: var(--ink); text-decoration: none; }
.arts-group th[scope="row"] .emblem{ grid-row: span 2; }
.arts-name{ font: 600 1.3rem/1.2 var(--serif); }
.arts-group a:hover .arts-name{ color: var(--accent); text-decoration: underline; }
.arts-latin{ font: 500 .8rem/1.3 var(--sans); font-variant: small-caps; letter-spacing: .08em; color: var(--ink-3); text-transform: lowercase; }
.arts-concern{ font: italic 400 1.12rem/1.45 var(--serif); color: var(--ink-2); }
@media (max-width: 640px){
.arts-table, .arts-table tbody, .arts-table tr, .arts-table th, .arts-table td{ display: block; width: auto; }
.arts-table thead{ display: none; }
.arts-group tr:not(.arts-gh){ border-left: 4px solid var(--accent); border-bottom: 0; margin-bottom: .9rem; background: var(--surface); border-radius: 0 var(--r-sm) var(--r-sm) 0; }
.arts-group tr:not(.arts-gh) > *{ padding: .35rem .9rem; }
.arts-group th[scope="row"]{ border-left: 0; padding-top: .8rem; }
.arts-concern{ padding-bottom: .8rem !important; }
.arts-gh th{ padding-inline: 0; }
}
