:root {
  --night:#070706;
  --night-soft:#0d0d0c;
  --charcoal:#151411;
  --charcoal-2:#1c1a16;
  --ivory:#eee7d8;
  --ivory-bright:#fffaf0;
  --ash:#b9b09f;
  --dim:#81796c;
  --bronze:#b98a4b;
  --gold:#d8b16c;
  --ember:#b95839;
  --green:#8ca778;
  --purple:#9c88b6;
  --line:rgba(216,177,108,.2);
  --line-strong:rgba(216,177,108,.42);
  --paper:rgba(27,25,21,.92);
  --shadow:0 30px 90px rgba(0,0,0,.56);
  --radius:4px;
  --serif:Georgia, Cambria, "Times New Roman", Times, serif;
  --sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ivory);
  background:
    radial-gradient(circle at 78% 5%, rgba(185,88,57,.1), transparent 28rem),
    radial-gradient(circle at 18% 20%, rgba(57,72,80,.16), transparent 34rem),
    linear-gradient(180deg, #050504 0%, var(--night-soft) 44%, #060605 100%);
  font-family:var(--sans);
  line-height:1.62;
  min-height:100vh;
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.18;
  background-image:
    repeating-linear-gradient(0deg, transparent 0 3px, rgba(255,255,255,.012) 3px 4px),
    radial-gradient(circle at center, transparent 0 45%, #000 100%);
}
::selection { color:#111; background:var(--gold); }
a { color:var(--gold); text-decoration:none; }
a:hover { color:var(--ivory-bright); }
button, input, textarea, select { font:inherit; }
button { color:inherit; }
img { max-width:100%; }

.skipLink {
  position:fixed; top:10px; left:10px; z-index:100; transform:translateY(-160%);
  background:var(--ivory); color:#111; padding:10px 14px; font-weight:800;
}
.skipLink:focus { transform:translateY(0); }
.srOnly { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.topbar {
  position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:20px;
  min-height:62px; padding:9px clamp(18px,4vw,54px);
  background:rgba(5,5,4,.9); backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.topbar::after { content:""; position:absolute; left:0; right:0; bottom:-4px; height:1px; background:rgba(216,177,108,.06); }
.brand {
  color:var(--ivory-bright); font-family:var(--serif); font-weight:600;
  letter-spacing:.23em; white-space:nowrap;
}
.brand::before { content:"◆"; color:var(--bronze); font-size:.55rem; margin-right:10px; vertical-align:middle; }
.navlinks { margin-left:auto; display:flex; gap:2px; overflow:auto; scrollbar-width:none; }
.navlinks a {
  color:var(--ash); padding:8px 10px; font-size:.78rem; letter-spacing:.07em;
  text-transform:uppercase; white-space:nowrap; transition:color .2s ease, background .2s ease;
}
.navlinks a:hover { color:var(--ivory-bright); background:rgba(216,177,108,.07); }
.menuBtn { display:none; margin-left:auto; }

.hero {
  position:relative; isolation:isolate; max-width:1440px; min-height:calc(100vh - 62px);
  margin:auto; padding:clamp(58px,9vw,126px) clamp(20px,6vw,86px) 74px;
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.62fr); gap:clamp(38px,7vw,100px); align-items:center;
}
.hero::before {
  content:""; position:absolute; z-index:-1; width:720px; height:720px; right:-220px; top:-240px;
  border:1px solid rgba(216,177,108,.09); border-radius:50%; box-shadow:0 0 0 70px rgba(216,177,108,.018), 0 0 0 140px rgba(216,177,108,.012);
}
.hero::after {
  content:""; position:absolute; left:clamp(20px,6vw,86px); right:clamp(20px,6vw,86px); bottom:26px; height:1px;
  background:linear-gradient(90deg, transparent, var(--line-strong) 15%, var(--line-strong) 85%, transparent);
}
.eyebrow {
  color:var(--gold); font-size:.69rem; font-weight:800; letter-spacing:.26em;
  text-transform:uppercase;
}
.hero h1 {
  max-width:850px; margin:20px 0 22px; color:var(--ivory-bright); font-family:var(--serif);
  font-size:clamp(2.15rem,5.5vw,5.35rem); font-weight:400; letter-spacing:-.035em; line-height:.94;
}
.hero h1 span {
  display:block; margin-bottom:18px; color:transparent; font-size:clamp(4.4rem,10.5vw,10.8rem);
  line-height:.72; letter-spacing:-.075em; text-transform:uppercase;
  -webkit-text-stroke:1px rgba(238,231,216,.86); text-shadow:0 10px 50px rgba(185,138,75,.11);
}
.heroLead { max-width:760px; margin:0; color:var(--ash); font-family:var(--serif); font-size:clamp(1.1rem,1.8vw,1.42rem); line-height:1.55; }
.heroNote { display:flex; gap:12px; align-items:flex-start; max-width:670px; margin-top:23px; color:var(--dim); font-size:.86rem; }
.heroNote span { color:var(--bronze); font-size:.55rem; margin-top:.42rem; }
.heroNote p { margin:0; }
.heroActions, .toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:28px; }
.heroUtilities { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:20px; }
.heroUtilities a, .heroUtilities button {
  appearance:none; padding:2px 0; border:0; border-bottom:1px solid rgba(216,177,108,.28);
  background:transparent; color:var(--ash); font-size:.78rem; letter-spacing:.05em; cursor:pointer;
}
.heroUtilities a:hover, .heroUtilities button:hover { color:var(--gold); border-color:var(--gold); }
.heroCard { position:relative; margin:0; width:min(100%,440px); justify-self:end; }
.heroImageFrame { position:relative; padding:9px; border:1px solid var(--line-strong); background:#090908; box-shadow:var(--shadow); }
.heroImageFrame::before, .heroImageFrame::after { content:""; position:absolute; width:32px; height:32px; border-color:var(--gold); opacity:.7; }
.heroImageFrame::before { left:-5px; top:-5px; border-left:1px solid; border-top:1px solid; }
.heroImageFrame::after { right:-5px; bottom:-5px; border-right:1px solid; border-bottom:1px solid; }
.heroCard img { display:block; width:100%; max-height:68vh; object-fit:cover; object-position:top; filter:saturate(.72) sepia(.08) contrast(1.06); }
.heroCard figcaption { display:flex; justify-content:space-between; gap:20px; padding:14px 2px 0; color:var(--dim); font-size:.69rem; letter-spacing:.08em; text-transform:uppercase; }
.heroCard figcaption span:first-child { color:var(--gold); }

.btn, .pill, .menuBtn {
  appearance:none; border:1px solid var(--line-strong); background:rgba(216,177,108,.035); color:var(--ivory);
  border-radius:0; padding:11px 16px; font-weight:760; letter-spacing:.035em; cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.btn:hover, .pill:hover, .menuBtn:hover { background:rgba(216,177,108,.11); border-color:var(--gold); color:var(--ivory-bright); transform:translateY(-2px); }
.btn:focus-visible, .pill:focus-visible, .menuBtn:focus-visible, .textBtn:focus-visible, .heroUtilities button:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible, a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.btn:disabled { opacity:.5; cursor:wait; transform:none; }
.primaryBtn { color:#17130d; background:linear-gradient(110deg, #b88748, #e0bd79 55%, #c49654); border-color:#dfbd7d; }
.primaryBtn:hover { color:#090806; background:linear-gradient(110deg, #d0a45f, #f1d394 55%, #d5ab67); }
.pill { padding:8px 13px; font-size:.8rem; }
.pill.active { color:#181109; background:var(--gold); border-color:var(--gold); }
.smallBtn { display:inline-block; margin-top:14px; font-size:.86rem; }

main { max-width:1280px; margin:auto; padding:0 clamp(18px,4vw,46px) 110px; }
.panel { position:relative; padding:clamp(64px,8vw,104px) 0; scroll-margin-top:70px; }
.panel + .panel::before {
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
}
.sectionHead { display:flex; gap:17px; align-items:center; margin-bottom:25px; }
.sectionHead::after { content:""; flex:1; height:1px; margin-left:6px; background:linear-gradient(90deg,var(--line-strong),transparent); }
.num { color:var(--bronze); font-family:var(--serif); font-size:.75rem; letter-spacing:.16em; }
h2 { margin:0; color:var(--ivory-bright); font-family:var(--serif); font-size:clamp(1.95rem,4vw,3.55rem); font-weight:400; letter-spacing:-.025em; line-height:1.08; }
h3, h4 { color:var(--ivory-bright); }
h3 { margin:0 0 9px; font-family:var(--serif); font-weight:500; }
p { overflow-wrap:anywhere; }
.sectionIntro { max-width:720px; margin:-10px 0 24px; color:var(--ash); }

.grid { display:grid; grid-template-columns:repeat(12,1fr); gap:20px; }
.two > * { grid-column:span 6; }
.wide { grid-column:span 8; }
.card {
  position:relative; padding:clamp(20px,3vw,31px); border:1px solid var(--line);
  border-radius:var(--radius); background:linear-gradient(145deg,rgba(31,29,24,.92),rgba(13,13,12,.96));
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.card::after { content:""; position:absolute; left:12px; right:12px; top:7px; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent); pointer-events:none; }
.card p:first-child { margin-top:0; }
.stats { grid-column:span 4; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; padding:1px; background:var(--line); }
.stats div { min-height:128px; padding:22px; background:#11100e; display:flex; flex-direction:column; justify-content:flex-end; }
.stats b { display:block; color:var(--gold); font-family:var(--serif); font-size:2.65rem; font-weight:400; line-height:1; }
.stats span, .muted { color:var(--ash); }
blockquote { margin:26px 0 0; padding:14px 0 14px 22px; border-left:1px solid var(--gold); color:var(--ash); font-family:var(--serif); font-size:1.08rem; }
.song, textarea {
  width:100%; padding:18px; border:1px solid var(--line); border-radius:0; color:var(--ivory);
  background:rgba(0,0,0,.28); white-space:pre-wrap; font:.92rem/1.65 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.cleanList { margin:14px 0 0; padding-left:20px; color:var(--ash); }
.cleanList li { margin:8px 0; }

.videoEmbed { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line-strong); background:#000; }
.videoEmbed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.videoActions { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.videoActions p { margin:17px 0 0; color:var(--ash); }
.videoActions .smallBtn { flex:0 0 auto; }
.omenGallery { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; margin-top:20px; align-items:start; }
.omenGallery figure { margin:0; overflow:hidden; border:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow); }
.omenGallery figure:nth-child(2) { margin-top:70px; }
.omenGallery img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; filter:saturate(.82) contrast(1.04); transition:filter .3s ease, transform .5s ease; }
.omenGallery figure:hover img { filter:saturate(1) contrast(1.02); transform:scale(1.012); }
.omenGallery figcaption { padding:13px 16px; border-top:1px solid var(--line); color:var(--ash); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; }

.toolbar { margin:0 0 20px; }
input[type="search"] {
  flex:1 1 300px; min-width:min(100%,360px); padding:12px 14px; border:0; border-bottom:1px solid var(--line-strong);
  border-radius:0; background:rgba(255,255,255,.025); color:var(--ivory); outline:none;
}
input::placeholder, textarea::placeholder { color:#756e63; }
input:not([type="checkbox"]):not([type="search"]), select {
  width:100%; min-height:46px; padding:10px 12px; border:1px solid var(--line); border-radius:0;
  background:#0e0e0d; color:var(--ivory); outline:none;
}
.curatedCard { border-top-color:rgba(140,167,120,.6) !important; }
.curatedChip { color:#c6d4b8 !important; border-color:rgba(140,167,120,.35) !important; background:rgba(140,167,120,.09) !important; }
.notice { display:flex; gap:17px; align-items:flex-start; margin:0 0 22px; padding:16px 18px; border:1px solid var(--line-strong); background:rgba(185,138,75,.07); }
.notice::before { content:"◆"; color:var(--gold); font-size:.55rem; margin-top:.35rem; }
.notice strong { flex:0 0 auto; color:var(--gold); font-family:var(--serif); }
.notice span { color:var(--ash); }

.communityLayout { display:grid; grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr); gap:22px; align-items:start; }
.formCard { position:sticky; top:82px; }
.formHeading { display:flex; justify-content:space-between; gap:16px; align-items:start; margin-bottom:20px; }
.formHeading h3 { margin-top:5px; font-size:1.8rem; }
.formGrid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.formGrid label { display:grid; align-content:start; gap:7px; color:var(--ash); font-size:.82rem; font-weight:700; letter-spacing:.025em; }
.fullField { grid-column:1 / -1; }
.formGrid textarea { min-height:120px; resize:vertical; background:#0e0e0d; font-family:inherit; line-height:1.5; }
.consent { display:flex; gap:10px; align-items:flex-start; margin:18px 0; color:var(--ash); font-size:.86rem; }
.consent input { width:18px; height:18px; margin-top:3px; flex:0 0 auto; accent-color:var(--gold); }
.formActions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.formStatus { color:#e8c98d; font-size:.86rem; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.textBtn { appearance:none; border:0; padding:5px; background:transparent; color:var(--gold); font:inherit; font-weight:760; cursor:pointer; }
.textBtn:hover { color:var(--ivory-bright); text-decoration:underline; }
.dangerText { color:#d98369; margin-left:7px; }
.compactToolbar { margin:0 0 14px; }
.compactToolbar input { min-width:180px; }
.connectionNotice { margin:0 0 14px; padding:12px 14px; border:1px solid rgba(140,167,120,.34); color:#cbd8c1; background:rgba(140,167,120,.07); }
.connectionNotice.warning { border-color:var(--line-strong); color:#e8c98d; background:rgba(185,138,75,.07); }
.communityGroups { display:grid; gap:15px; }
.proposalGroup { overflow:hidden; border:1px solid var(--line); background:rgba(255,255,255,.02); }
.proposalGroupHead { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:18px 20px; border-bottom:1px solid var(--line); background:#11100e; }
.proposalGroupHead h3 { margin:4px 0 0; font-size:1.6rem; }
.countPill { flex:0 0 auto; padding:5px 9px; border:1px solid var(--line); color:var(--ash); font-size:.73rem; }
.proposalList { display:grid; gap:1px; background:var(--line); }
.proposalCard { padding:19px 20px; background:#151411; }
.proposalCard h4 { margin:7px 0; font-family:var(--serif); font-size:1.35rem; font-weight:500; }
.communityChip { color:#e4b5a8 !important; border-color:rgba(185,88,57,.38) !important; background:rgba(185,88,57,.1) !important; }
.proposalMeta { display:flex; gap:3px; flex-wrap:wrap; align-items:center; }
.proposalNotes { white-space:pre-wrap; }
.proposalSource { font-size:.88rem; }
.proposalFoot { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:14px; padding-top:11px; border-top:1px solid rgba(255,255,255,.07); color:var(--dim); font-size:.75rem; }
.emptyState { display:grid; gap:4px; padding:32px; text-align:center; color:var(--ash); border:1px dashed var(--line-strong); background:rgba(255,255,255,.018); }

.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:15px; }
.cards.two { grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); }
.cards.three { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.wordCard, .sourceCard, .chantCard, .lineCard {
  position:relative; padding:19px; border:1px solid var(--line); background:linear-gradient(145deg,rgba(28,26,22,.9),rgba(14,14,13,.96));
  transition:border-color .2s ease, transform .2s ease, background .2s ease;
}
.wordCard:hover, .sourceCard:hover, .chantCard:hover { transform:translateY(-3px); border-color:var(--line-strong); background:linear-gradient(145deg,rgba(35,31,25,.95),rgba(14,14,13,.98)); }
.wordCard h3, .sourceCard h3 { color:var(--ivory-bright); }
.lang { color:var(--ivory-bright); font-family:var(--serif); font-size:1.38rem; }
.badge { display:inline-flex; align-items:center; margin:0 6px 8px 0; padding:4px 8px; border:1px solid currentColor; font-size:.68rem; font-weight:900; letter-spacing:.08em; }
.HAVE { color:#b9cea9; background:rgba(140,167,120,.1); }
.THINK { color:#e1bd78; background:rgba(185,138,75,.1); }
.ASK { color:#c2b2d2; background:rgba(156,136,182,.1); }
.sourceChip { display:inline-block; margin:3px 5px 3px 0; padding:3px 7px; border:1px solid var(--line); color:var(--gold); font-size:.72rem; }
.cloud { display:flex; flex-wrap:wrap; gap:9px; }
.miss { padding:9px 12px; border:1px solid rgba(185,88,57,.3); background:rgba(185,88,57,.07); color:#e1aa99; cursor:help; }
.lyricLegend { display:flex; flex-wrap:wrap; gap:18px; margin:18px 0; color:var(--ash); font-size:.8rem; }
.lyricLegend span { display:flex; align-items:center; gap:8px; }
.lyricLegend i { width:20px; height:2px; display:inline-block; }
.legendMapped { background:var(--gold); }
.legendMissing { background:var(--ember); }
.lyricSheet { display:grid; gap:10px; counter-reset:lyric-line; }
.lyricSection { margin:27px 0 3px; padding:9px 2px; color:var(--gold); font-family:var(--sans); font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; border-bottom:1px solid var(--line); }
.lyricSection:first-child { margin-top:0; }
.lyricRow { counter-increment:lyric-line; position:relative; display:grid; grid-template-columns:1fr 1.1fr 1.2fr; gap:19px; padding:20px 20px 20px 52px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.lyricRow::before { content:counter(lyric-line,decimal-leading-zero); position:absolute; top:21px; left:17px; color:var(--dim); font:700 .68rem ui-monospace,monospace; }
.lyricRow small { color:var(--gold); letter-spacing:.1em; text-transform:uppercase; font-weight:900; font-size:.67rem; }
.lyricRow p { margin:7px 0 0; }
.lyricOriginal p { color:var(--ivory-bright); font-family:var(--serif); font-size:1.1rem; }
.lyricMapping { padding-left:15px; border-left:1px solid var(--line-strong); }
.skeleton { color:var(--ivory-bright); font-weight:800; }
.lyricMapping .skeleton { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.literalGloss, .lyricResearch { color:var(--ash); font-size:.84rem; }
.lyricResearch p:last-child { color:#dea796; }
.chantLine { color:var(--ivory-bright); font-family:var(--serif); font-size:1.2rem; line-height:1.85; }

footer { max-width:1280px; margin:auto; padding:48px clamp(18px,4vw,46px) 78px; border-top:1px solid var(--line); color:var(--dim); display:flex; gap:20px; align-items:center; }
footer > div:last-child { display:grid; gap:5px; }
footer strong { color:var(--ash); font-family:var(--serif); font-weight:500; }
.footerMark { display:grid; place-items:center; width:52px; height:52px; flex:0 0 auto; border:1px solid var(--line-strong); color:var(--gold); font-family:var(--serif); }

.adminMain { min-height:82vh; padding-top:clamp(56px,8vw,96px); }
.adminHeader { position:relative; max-width:900px; margin-bottom:34px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.adminHeader::after { content:"◆"; position:absolute; right:0; bottom:-7px; padding:0 8px; color:var(--bronze); background:var(--night-soft); font-size:.6rem; }
.adminHeader h1 { margin:13px 0 18px; color:var(--ivory-bright); font-family:var(--serif); font-size:clamp(3rem,8vw,6.6rem); font-weight:400; letter-spacing:-.055em; line-height:.88; }
.adminHeader p { color:var(--ash); font-family:var(--serif); font-size:1.18rem; }
.loginCard { max-width:640px; }
.loginCard form, .loginCard label { display:grid; gap:10px; }
.loginCard label { margin-top:18px; color:var(--ash); font-weight:700; }
.adminToolbar { margin-bottom:18px; }
.adminToolbar select { width:auto; min-width:160px; }
.adminList { display:grid; gap:15px; }
.adminCardHead { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.adminCardHead h3 { margin-top:8px; font-size:1.45rem; }
.adminActions { display:flex; gap:8px; flex:0 0 auto; }
.dangerBtn { color:#df927c; border-color:rgba(185,88,57,.5); }
.adminDates { display:block; margin-top:15px; color:var(--dim); }

@media (max-width:1000px) {
  .hero { grid-template-columns:1fr minmax(280px,.62fr); gap:38px; }
  .hero h1 span { font-size:clamp(4rem,10vw,7rem); }
  .communityLayout { grid-template-columns:1fr; }
  .formCard { position:static; }
}
@media (max-width:850px) {
  .hero { min-height:auto; grid-template-columns:1fr; padding-top:75px; }
  .heroCard { width:min(100%,560px); justify-self:start; }
  .heroCard img { max-height:none; aspect-ratio:4/3; object-position:center 22%; }
  .navlinks { display:none; position:absolute; top:62px; left:12px; right:12px; padding:12px; flex-direction:column; border:1px solid var(--line-strong); background:rgba(7,7,6,.98); box-shadow:var(--shadow); }
  .navlinks.open { display:flex; }
  .navlinks a { padding:11px 12px; }
  .menuBtn { display:block; padding:8px 12px; }
  .two > *, .wide, .stats { grid-column:span 12; }
  .lyricRow { grid-template-columns:1fr; }
  .omenGallery figure:nth-child(2) { margin-top:35px; }
}
@media (max-width:620px) {
  .topbar { padding-left:16px; padding-right:16px; }
  .brand { font-size:.88rem; }
  .hero { padding-left:18px; padding-right:18px; }
  .hero h1 span { font-size:clamp(3.7rem,21vw,6.2rem); line-height:.78; }
  .heroActions .btn { width:100%; text-align:center; }
  main { padding-left:16px; padding-right:16px; }
  .panel { padding:58px 0; }
  .sectionHead { gap:11px; }
  .sectionHead::after { display:none; }
  .formGrid { grid-template-columns:1fr; }
  .fullField { grid-column:auto; }
  .notice { display:grid; gap:5px; }
  .notice::before { display:none; }
  .proposalFoot { align-items:flex-start; flex-direction:column; }
  .omenGallery { grid-template-columns:1fr; }
  .omenGallery figure:nth-child(2) { margin-top:0; }
  .videoActions { align-items:flex-start; flex-direction:column; }
  .cards.two { grid-template-columns:1fr; }
  .lyricRow { padding-left:45px; }
  .adminCardHead { display:grid; }
  .adminActions { flex-wrap:wrap; }
  footer { align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
@media print {
  @page { size:A4; margin:16mm 14mm; }
  body { background:white; color:#111; font-size:11pt; }
  body::before, .topbar, .heroActions, .heroUtilities, .toolbar, .smallBtn, .videoEmbed, .formCard, .textBtn, .footerMark { display:none !important; }
  .hero { display:block; min-height:auto; padding:0 0 12px; }
  .hero::before, .hero::after, .heroCard { display:none; }
  .hero h1, .hero h1 span { color:#111; -webkit-text-stroke:0; text-shadow:none; }
  .hero h1 span { font-size:30pt; line-height:1; }
  .heroLead, .heroNote, .muted { color:#444; }
  main { padding:0; }
  .panel { padding:14px 0; }
  .panel::before { background:#ccc !important; }
  h2 { color:#111; font-size:17pt; }
  .card, .wordCard, .sourceCard, .chantCard, .lineCard, .lyricRow, .proposalGroup, .proposalCard { box-shadow:none; border:1px solid #bbb; background:white; color:#111; break-inside:avoid; page-break-inside:avoid; }
  h3, h4, .lang, .skeleton, .lyricOriginal p, .chantLine { color:#111; }
  .stats div { background:white; }
  .lyricRow { grid-template-columns:1fr; }
  a { color:#111; }
  a[href^="http"]::after { content:" (" attr(href) ")"; font-size:8pt; color:#666; word-break:break-all; }
}
