/* RESET */
*, *::before, *::after { box-sizing: border-box; }
a, button { cursor: revert; }
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote,
body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt,
em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6,
header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu,
nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span,
strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time,
tr, tt, u, ul, var, video { border: 0; font: inherit; font-size: 100%; margin: 0; padding: 0; vertical-align: baseline; }
img { max-width: 100%; height: auto; }
table { border-collapse: collapse; border-spacing: 0; }
textarea { white-space: revert; }
:focus { outline: none; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
blockquote, q { quotes: none; }
blockquote::before, blockquote::after, q::before, q::after { content: none; }
body { font-smooth: antialiased; }

/* COLOURS */
:root {
  --purple-d: 42, 10, 58;
  --purple-m: 74, 26, 106;
  --purple-b: 139, 53, 187;
  --pink-d: 196, 56, 122;
  --pink-b: 232, 72, 154;
  --parchment-b: 242, 232, 201;
  --parchment-m: 224, 207, 170;
  --parchment-d: 200, 169, 110;
  --ink: 61, 31, 5;
  --gold-d: 200, 134, 10;
  --gold-b: 240, 176, 48;
  --green-d: 74, 138, 58;
  --green-b: 114, 169, 85;
  --brown: 138, 90, 26;
}

/* FONTS */
@font-face { font-family: 'Amortem'; src: url('../fonts/AmortemRegular.woff2') format('woff2'), url('../fonts/AmortemRegular.woff') format('woff'); font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: 'Enchant'; src: url('../fonts/Enchant-Regular.woff2') format('woff2'), url('../fonts/Enchant-Regular.woff') format('woff'); font-weight: normal; font-style: normal; font-display: swap; }

/* GENERAL */
body { background: rgba(var(--purple-d)); color: rgba(var(--ink)); font-family: 'Crimson Pro', 'Noto Emoji', Times New Roman, serif; font-size: calc(16px + 0.390625vw); font-weight: 400; line-height: 1.4; margin: 5vh 2.5vw 3vh; text-align: center; }
strong, b { font-weight: 700; }
em, i { font-style: italic; }
p { padding-bottom: 1.25rem; }
.centre { text-align: center; }
hr { border: 0; border-bottom: 1px solid rgba(var(--parchment-d), 0.4); }
.pink { color: rgba(var(--pink-d))!important; }
.green { color: rgba(var(--green-d))!important; }
.gold { color: rgba(var(--gold-d))!important; }
.purple { color: rgba(var(--purple-m))!important; }
.brown { color: rgba(var(--brown))!important; }

/* BALLOON.CSS OVERRIDE */
[aria-label][data-balloon-pos]::before, [aria-label][data-balloon-pos]::after { font-family: 'Crimson Pro' !important; --balloon-color: rgba(var(--purple-d)); color: rgba(var(--gold-d)); letter-spacing: 0.1em; text-transform: uppercase; }

/* LINKS */
a { color: rgba(var(--pink-d)); font-weight: 500; text-decoration: underline 1px solid rgba(var(--gold-d)); transition: color 0.3s linear; }
a:hover { color: rgba(var(--green-d)); }

/* IMAGES */
.img-lt { float: left; margin: 0.325rem 1.25rem 0.325rem 0; }
.img-rt { float: right; margin: 0.325rem 0 0.325rem 1.25rem; }
@media (max-width: 1600px) { .img-lt, .img-rt { max-width: 300px !important; } }
@media (max-width: 1200px) { .img-lt, .img-rt { max-width: 200px !important; } }
@media (max-width: 1024px) { .img-lt, .img-rt { max-width: 300px !important; } }
@media (max-width: 650px)  { .img-lt, .img-rt { max-width: 200px !important; } }
@media (max-width: 500px)  { .img-lt, .img-rt { float: none; display: block; max-width: 100% !important; margin: 0 auto; } }
.vid { position: relative; padding-bottom: 56.25%; padding-top: 1.875rem; height: 0; overflow: hidden; }
.vid iframe, .vid object, .vid embed { position: absolute; inset: 0; height: 100%; width: 100%; }

/* LISTS */
ul, ol { list-style-position: inside; margin-bottom: 1.25em; padding: 0; }
ul li ul { margin-bottom: 0; }
ol { list-style-type: upper-roman; }
ol li::marker { color: rgba(var(--gold-d)); font-weight: 600; }
ul li::marker { content: '✦ '; color: rgba(var(--gold-d)); font-size: 0.8em; padding-right: 2px; }

/* HEADINGS */
h1, h2, h3, h4, h5, h6 { font-family: 'Enchant', cursive; }
h1 { color: rgba(var(--purple-d)); font-size: 1.5em; }
h2 { color: rgba(var(--brown)); font-size: 1.3em; }
h3 { color: rgba(var(--pink-d)); font-size: 1.1em; }
h4 { color: rgba(var(--green-d)); font-size: 0.9em; }
h5 { color: rgba(var(--gold-d)); font-size: 0.7em; }
h6 { color: rgba(var(--ink)); font-size: 0.5em; }

/* ANIMATIONS */
@keyframes float { 0%, 100% { transform: translateY(0); } 50%  { transform: translateY(-8px); }}
@keyframes floatdrift { 0%, 100% { transform: translateY(0) rotate(0deg); } 33% { transform: translateY(-12px) rotate(5deg); } 66% { transform: translateY(6px) rotate(-3deg); }}
@keyframes flicker { 0%, 100% { opacity: 1; } 49%  { opacity: 0.85; } 65%  { opacity: 0.9; }}
@keyframes titleglow { 0%, 100% { text-shadow: 0 0 30px rgba(196,56,122,0.6), 0 0 60px rgba(139,53,187,0.4), 3px 3px 0 rgba(var(--purple-d)); } 50% { text-shadow: 0 0 50px rgba(196,56,122,0.9), 0 0 90px rgba(139,53,187,0.6), 3px 3px 0 rgba(var(--purple-d)), 0 0 120px rgba(232,72,154,0.3); }}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* DECORATIONS */
.floaty { color: rgba(var(--gold-b)); font-size: 18px; opacity: 0.18; position: fixed; pointer-events: none; animation: floatdrift 8s ease-in-out infinite; z-index: 2; }
.floaty:nth-child(1) { top: 12%; left: 3%; }
.floaty:nth-child(2) { top: 35%; right: 2%; animation-delay: 2s; font-size: 14px; }
.floaty:nth-child(3) { top: 65%; left: 1.5%; animation-delay: 4s; }
.floaty:nth-child(4) { top: 80%; right: 3%; animation-delay: 1s; font-size: 12px; }
.star { color: rgba(var(--gold-b)); font-size: 11px; opacity: 0.4; position: fixed; pointer-events: none; animation: float 4s ease-in-out infinite, flicker 6s ease-in-out infinite; z-index: 0; }
.sone { top: 30%; left: 6%; }
.stwo { top: 55%; left: 94%; animation-delay: 1.5s; font-size: 9px; }
.sthree { top: 75%; left: 7%; animation-delay: 3s; }

/* HEADER */
header { padding: 2vh 0; }
header::before, header::after, .sidebar-footer::before { content: '✦ ◆ ✦ ◆ ✦ ◆ ✦ ◆ ✦ ◆ ✦ ◆ ✦'; display: block; color: rgba(var(--gold-d), 0.7); font-size: 10px; letter-spacing: 4px; margin: 8px 0; }
header h1 { font-family: 'Amortem', cursive; font-size: clamp(52px, 10vw, 110px); color: rgba(var(--parchment-b)); line-height: 0.9; text-shadow: 0 0 30px rgba(196,56,122,0.6), 0 0 60px rgba(139,53,187,0.4), 3px 3px 0 rgba(var(--purple-d)), 4px 4px 0 rgba(139,53,187,0.5); animation: titleglow 4s ease-in-out infinite; margin-top: 2vh; }
header .rule { display: flex; align-items: center; gap: 12px; margin: 20px auto; max-width: 500px; }
header .rule::before, header .rule::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(var(--gold-b)), transparent); }
header .rule span { color: rgba(var(--gold-b)); font-size: 18px; animation: spin 8s linear infinite; }
header .sup { color: rgba(var(--green-b)); font-size: 0.7em; letter-spacing: 0.4em; text-shadow: 1px 1px 0 rgba(0,0,0,0.3); text-transform: uppercase; }
header .sub { color: rgba(var(--pink-d)); font-style: italic; text-shadow: 1px 1px 0 rgba(0,0,0,0.3); }

/* MENU */
.nav { border-top: 3px double rgba(var(--gold-b), 0.7); border-bottom: 3px double rgba(var(--gold-b), 0.7); backdrop-filter: blur(8px); margin: 2vh -2.5vw; }
.nav [aria-label][data-balloon-pos]::before, .nav [aria-label][data-balloon-pos]::after { font-family: 'Crimson Pro' !important; --balloon-color: rgba(var(--gold-d)); color: rgba(var(--purple-d)); letter-spacing: 0.1em; }
.nav-toggle-input { border: 0; clip: rect(0,0,0,0); height: 1px; margin: -1px;
  overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
.nav-toggle-label { display: none; color: rgba(var(--gold-d)); cursor: pointer; font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.8em; letter-spacing: 3px; padding: 12px 20px; text-transform: uppercase; width: 100%; }
.nav-toggle-label:focus-visible { outline: 2px solid rgba(var(--green-d), 0.7); outline-offset: -2px; }
.nav-toggle-label .toggle-open { display: inline; }
.nav-toggle-label .toggle-close { display: none; }
.nav-toggle-input:checked ~ .nav-toggle-label .toggle-open { display: none; }
.nav-toggle-input:checked ~ .nav-toggle-label .toggle-close { display: inline; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; }
.nav-links li::marker { content: ''; }
.nav-links a { border-right: 1px solid rgba(var(--gold-b), 0.7); color: rgba(var(--parchment-m)); display: block; font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.6em; letter-spacing: 0.3em; padding: 12px 20px; text-decoration: none; text-shadow: 1px 1px 0 rgba(0,0,0,0.3); text-transform: uppercase; transition: color 0.2s, background 0.2s; }
.nav-links li:first-child a { border-left: 1px solid rgba(var(--gold-b), 0.7); }
.nav-links a:hover { color: rgba(var(--pink-d)); background: rgba(var(--pink-d), 0.05); }
.nav-links a:focus-visible { outline: 2px solid rgba(var(--green-d)); outline-offset: -2px; }
@media (max-width: 960px) { .nav-toggle-label { display: block; }
.nav-links { flex-direction: column; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, visibility 0.3s; visibility: hidden;z-index: 9999; }
.nav-toggle-input:checked ~ .nav-links { max-height: 100vh; visibility: visible; overflow: visible; }
.nav-links a { border-left: none; border-right: none; border-bottom: 1px solid rgba(var(--pink-d), 0.2); font-size: 0.7em; }
.nav-links li:first-child a { border-top: 1px solid rgba(var(--pink-d), 0.2); border-left: none; }}

/* LAYOUT */
.content { display: flex; justify-content: center; gap: 2vw; margin: 4vh 0; text-align: left; }
@media (max-width: 960px) { .content { flex-direction: column; } .sidebar { min-width: 100%; font-size: 1.4em; }}

/* BLOG / PAGE */
.blog, .page { display: flex; flex-direction: column; flex: 1; background: rgba(var(--parchment-b)); background-image: linear-gradient(180deg, rgba(var(--parchment-b)) 0%, #ede0bc 40%, rgba(var(--parchment-b)) 70%, #e8dab8 100%); border-left: 8px solid rgba(var(--brown)); border-radius: 3px 10px 10px 3px; box-shadow: -8px 0 20px rgba(0,0,0,0.6), 8px 0 30px rgba(0,0,0,0.3), 0 0 60px rgba(59,10,92,0.25), inset 0 0 80px rgba(200,160,100,0.15); position: relative; max-width: 960px; }
.blog::before, .page::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 38px; background: linear-gradient(90deg, rgba(100,50,0,0.28), transparent); border-radius: 3px 0 0 3px; pointer-events: none; }
.blog-content, .page-content { padding: 36px 52px 48px; }
@media (max-width: 960px) { .blog::before, .page-before { width: 18px; }
.blog-content, .page-content { padding: 26px 22px 38px; }}
.blog-footer { display: flex; justify-content: space-between; align-items: center; border-top: 3px double rgba(var(--parchment-d)); margin-top: auto; padding: 18px 52px; }
.rant-cat { display: inline-block; background: rgba(var(--parchment-d), 0.5); border-radius: 1px; color: rgba(var(--ink)); font-size: 0.5em; letter-spacing: 0.3em; margin-bottom: 10px; padding: 3px 7px 3px 10px; text-transform: uppercase; }
.featured-rant { background: rgba(var(--parchment-b)); border: 1px solid rgba(var(--parchment-d)); border-radius: 2px; margin-bottom: 28px; padding: 28px 30px; }
.rant-title { color: rgba(var(--purple-m)); font-family: 'Enchant', cursive; font-size: 1.5em; line-height: 1.2; margin-bottom: 6px; text-shadow: 1px 1px 0 rgba(var(--parchment-d), 0.3); }
.rant-meta, .rant-tags { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; color: rgba(var(--brown)); font-size: 0.5em; letter-spacing: 0.2em; text-transform: uppercase; }
.rant-meta { border-bottom: 1px solid rgba(var(--parchment-d), 0.3); margin-bottom: 18px; padding-bottom: 14px; }
.rant-tags { border-top: 1px solid rgba(var(--parchment-d), 0.3); letter-spacing: 0.1em; margin-top: 18px; padding-top: 14px; }
.rant-meta .rage-level span, .card-footer .card-rage span { color: rgba(var(--green-d)); }
.rant-body p { font-size: 0.8em; line-height: 1.55; }
.rant-body > p:first-of-type::first-letter { font-family: 'Amortem', cursive; font-size: 4em; color: rgba(var(--pink-d)); float: left; line-height: 0.7; margin: 10px 20px 0 0; text-shadow: 2px 2px 0 rgba(var(--pink-d), 0.3); }
.single-rant .rant-body p, .single-rant .rant-body ol, .single-rant .rant-body ul, .page-body p, .page-body ol, .page-body ul { font-size: 0.9em; }
.read-more, .comment-form #submit { display: inline-block; font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.55em; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(var(--parchment-m)); background: rgba(var(--purple-d)); border: 3px double rgba(var(--gold-d)); padding: 10px 20px; cursor: pointer; margin-top: 16px; text-shadow: 1px 1px 0 rgba(0,0,0,0.3); transition: all 0.3s linear; }
.read-more::after, .comment-form #submit::after { content: ' ✦'; color: rgba(var(--gold-b)); }
.read-more:hover, .comment-form #submit:hover { background-image: linear-gradient(rgba(var(--pink-d), 0.05), rgba(var(--pink-d), 0.05)); color: rgba(var(--pink-d)); transform: translateY(-2px); box-shadow: 3px 3px 0 rgba(var(--parchment-d), 0.5); }
a.read-more, .rant-tags a { text-decoration: none; }
.chapter-sep { text-align: center; margin: 28px 0 16px; display: flex; align-items: center; gap: 12px; }
.chapter-sep::before, .chapter-sep::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(var(--parchment-d)), transparent); }
.chapter-sep span { font-size: 0.6em; letter-spacing: 0.3em; color: rgba(var(--brown)); text-transform: uppercase; white-space: nowrap; }

/* CARDS */
.rant-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px 34px; margin-bottom: 34px; padding-top: 24px; }
@media (max-width: 690px) { .rant-grid { grid-template-columns: 1fr; } }
.rant-card { background: rgba(var(--parchment-b)); border: 1px solid rgba(var(--parchment-d)); border-radius: 1px; padding: 20px 20px 16px; position: relative; transition: transform 0.3s, box-shadow 0.3s; }
.rant-card:hover { transform: translateY(-2px); box-shadow: 3px 3px 0 rgba(var(--parchment-d), 0.55); }
.rant-card a { display: block; text-decoration: none; }
.rant-card .rant-cat { position: absolute; top: -23px; left: 12px; margin-bottom: 0; }
.rant-card .rant-title { font-size: 1.5rem; margin-bottom: 8px; }
.rant-card .rant-meta { gap: 8px; margin-bottom: 10px; padding-bottom: 8px; }
.card-body { color: rgba(var(--ink)); font-size: 0.7em; line-height: 1.5; }
.card-footer { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(var(--parchment-d), 0.3); margin-top: 12px; padding-top: 10px; }
.card-date, .card-rage { color: rgba(var(--brown)); font-size: 0.5em; letter-spacing: 0.1em; text-transform: uppercase; }

/* PAGES */
.page-title { color: rgba(var(--purple-m)); font-family: 'Amortem', cursive; font-size: 2em; text-shadow: 1px 1px 0 rgba(var(--parchment-d), 0.3); white-space: nowrap; }
@media (max-width: 960px) { .page-title { font-size: 1.7em; } }
.page-subtitle { border-bottom: 1px solid rgba(var(--parchment-d), 0.3); color: rgba(var(--brown)); font-size: 0.5em!important; letter-spacing: 0.2em; margin-bottom: 18px; padding-bottom: 14px; text-transform: uppercase; }

/* PAGINATION */
.pagination { display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: rgba(var(--brown)); font-size: 0.5em; letter-spacing: 0.2em; text-transform: uppercase; width: 100%; }
.prev, .next { min-width: 0; font-size: 1.7em; }
.prev span { display: inline-block; transform: scaleX(-1); }
.page-of { white-space: nowrap; }
.pagination a { text-decoration: none; }

/* SIDEBAR */
.sidebar { display: flex; flex-direction: column; gap: 2vh; font-size: 0.7em; font-style: italic; max-width: 350px; }
.sidebar ul { margin: 0; padding: 0; }
.sidebar li::marker { content: ''; }
.sidebar .box { background: rgba(var(--purple-m), 0.6); border: 1px solid rgba(var(--brown), 0.7); border-top: 2px solid rgba(var(--pink-d)); color: rgba(var(--parchment-b)); box-shadow: 0 4px 20px rgba(0,0,0,0.5), 0 0 20px rgba(59,10,92,0.2); padding: 20px 22px; }
.sidebar .box-title { border-bottom: 1px solid rgba(var(--parchment-d), 0.25); color: rgba(var(--gold-b)); font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.9em; font-style: normal; letter-spacing: 0.3em; margin-bottom: 14px; padding-bottom: 8px; text-transform: uppercase; }
.about-portrait { text-align: center; margin-bottom: 10px; }
.about-portrait img { max-width: 50%; border-radius: 50%; }
.about-text { color: rgba(var(--parchment-m)); }
.about-text .name { color: rgba(var(--pink-b)); font-weight: 700; font-style: normal; }
.spellbook-list { list-style: none; }
.spellbook-list [aria-label][data-balloon-pos]::before, .spellbook-list [aria-label][data-balloon-pos]::after { font-family: 'Crimson Pro' !important; --balloon-color: rgba(var(--pink-d)); color: rgba(var(--parchment-b)); letter-spacing: 0.1em; text-transform: uppercase; }
.spellbook-list a { color: rgba(var(--parchment-m)); text-decoration: none; transition: color 0.3s linear; }
.spellbook-list a:hover { color: rgba(var(--green-b)); }
.spellbook-list li { display: flex; align-items: baseline; gap: 8px; border-bottom: 1px dotted rgba(var(--parchment-d), 0.15); padding: 7px 0; }
.spellbook-list li::before { content: '◆'; color: rgba(var(--pink-b)); font-size: 6px; flex-shrink: 0; }
.spellbook-list li span { color: rgba(var(--green-b)); font-size: 0.8em; font-style: normal; letter-spacing: 0.1em; margin-left: auto; text-transform: uppercase; }
.rage-list { list-style: none; }
.rage-list li { border-bottom: 1px dotted rgba(var(--parchment-d), 0.15); color: rgba(var(--parchment-m)); padding: 5px 0; }
.rage-list li .rage-level { color: rgba(var(--green-b)); font-size: 0.9em; font-style: normal; letter-spacing: 0.1em; text-transform: uppercase; }
.sidebar-footer { color: rgba(var(--gold-d), 0.7); text-align: center; }

/* COMMENTS */
.comments-area { margin-top: 36px; }
.comments-area ol { margin: 0; padding: 0; }
.comment-list { list-style: none; padding: 0; }
.comment-list > li > .comment-body { background: rgba(var(--parchment-b)); border: 1px solid rgba(var(--parchment-d)); border-radius: 1px; padding: 20px 20px 16px; position: relative; margin-bottom: 30px; }
.comment-list .comment-card { margin-bottom: 30px; position: relative; }
.comment-list .comment-card:last-child { margin-bottom: 10px; }
.comment-card .comment-body { padding: 0; position: relative; }
.comment-list > li > .comment-body { padding: 20px 20px 16px; }
.comment-replies { list-style: none; border-left: 2px solid rgba(var(--parchment-d), 0.4); margin-left: 32px; margin-top: 16px; padding-left: 20px; }
.comment-replies .comment-card { margin-bottom: 20px; }
.comment-replies .comment-card:last-child { margin-bottom: 0; }
.comment-author-meta { display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid rgba(var(--parchment-d), 0.3); gap: 12px; margin-bottom: 12px; padding-bottom: 10px; }
.comment-author-meta img { border: 2px solid rgba(var(--parchment-d)); border-radius: 50%; flex-shrink: 0; width: 40px; height: 40px; }
.comment-author-name a { color: rgba(var(--purple-m)); font-family: 'Enchant', cursive; text-decoration: none; transition: color 0.3s linear; }
.comment-author-name a:hover { color: rgba(var(--green-d)); }
.bypostauthor .comment-author-name a { color: rgba(var(--gold-d)); }
.comment-author-meta .date { color: rgba(var(--brown)); font-size: 0.5em; letter-spacing: 0.2em; margin-left: auto; text-transform: uppercase; }
.comment-awaiting-moderation { background: rgba(var(--gold-b), 0.12); border: 1px solid rgba(var(--gold-d), 0.4); border-radius: 1px; color: rgba(var(--brown)); font-size: 0.7em; font-style: italic; margin-bottom: 10px; padding: 6px 10px; }
.comment-messages, .no-comments { background: rgba(var(--parchment-b)); border: 1px solid rgba(var(--parchment-d)); border-radius: 1px; font-size: 0.8em; font-style: italic; margin-bottom: 30px; padding: 10px; text-align: center; }
.comment-messages p, .no-comments p { margin: 0; padding: 0; }
.comment-content.card-body { color: rgba(var(--ink)); font-size: 0.8em; line-height: 1.55; }
.comment-content.card-body p:last-child { margin-bottom: 0; }
.comment-footer.card-footer { display: flex; align-items: center; gap: 16px; border-top: 1px solid rgba(var(--parchment-d), 0.3); margin-top: 12px; padding-top: 10px; }
.reply-link::before { content: '✦ '; color: rgba(var(--brown)); font-size: 0.5em; padding-right: 2px; }
.reply-link a { font-size: 0.5em; letter-spacing: 0.2em; text-decoration: none; text-transform: uppercase; transition: color 0.3s linear; }


/* COMMENT FORM */
.comment-form-wrap { margin-top: 8px; }
.comment-notes { font-size: 0.8em; font-style: italic; margin-bottom: 20px; }
.comment-notes .required, .comment-form label .required { color: rgba(var(--green-b)); }
.comment-form-author, .comment-form-email, .comment-form-comment, .comment-form-rage { margin-bottom: 18px; }
.comment-form label { display: block; color: rgba(var(--brown)); font-size: 0.55em; letter-spacing: 0.25em; margin-bottom: 6px; text-transform: uppercase; }
.comment-form label .label-notes { font-style: italic; letter-spacing: 0; text-transform: initial; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { background: rgba(var(--parchment-b)); border: 1px solid rgba(var(--parchment-d)); border-radius: 1px; color: rgba(var(--ink)); font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.8em; line-height: 1.5; padding: 7px 14px; transition: border-color 0.3s linear, box-shadow 0.3s linear; width: 100%; }
.comment-form input[type="text"]:focus, .comment-form input[type="email"]:focus, .comment-form input[type="url"]:focus, .comment-form textarea:focus { border-color: rgba(var(--green-b)); box-shadow: 0 0 0 2px rgba(var(--green-b), 0.15); outline: none; }
.comment-form textarea { min-height: 140px; resize: vertical; }
.comment-form-rage select { appearance: none; background: rgba(var(--parchment-b)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a3a0a'/%3E%3C/svg%3E") no-repeat right 12px center; border: 1px solid rgba(var(--parchment-d)); border-radius: 1px; color: rgba(var(--ink)); cursor: pointer; font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.8em; padding: 10px 36px 10px 14px; transition: border-color 0.3s linear, box-shadow 0.3s linear; width: 100%; }
.comment-form-rage select:focus { border-color: rgba(var(--green-b)); box-shadow: 0 0 0 2px rgba(var(--green-b), 0.15); outline: none; }
.comment-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.comment-form-grid p { margin-bottom: 0; }
.comment-form button.submit { display: inline-block; font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.55em; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(var(--parchment-m)); background: rgba(var(--purple-d)); border: 3px double rgba(var(--gold-d)); padding: 10px 20px 13px; cursor: pointer; margin-top: 16px; text-shadow: 1px 1px 0 rgba(0,0,0,0.3); transition: all 0.3s linear; }
.comment-form button.submit:hover { background-image: linear-gradient(rgba(var(--pink-d), 0.05), rgba(var(--pink-d), 0.05)); color: rgba(var(--pink-d)); transform: translateY(-2px); box-shadow: 3px 3px 0 rgba(var(--parchment-d), 0.5); }
.comment-form-cookies { display: flex; align-items: center; gap: 0.5rem; margin-top: 16px; }
.comment-form-cookies input[type="checkbox"] { flex-shrink: 0; margin: 0; }
.comment-form-cookies label { font-size: 0.7em; font-style: italic; text-transform: initial; letter-spacing: 0; line-height: 1.3; margin: 0; }
#cancel-reply a { color: rgba(var(--pink-d)); font-size: 0.9em; letter-spacing: 0.2em; text-decoration: none; text-transform: uppercase; transition: color 0.3s linear; }
#cancel-reply a:hover { color: rgba(var(--green-d)); }
.cancel-reply-hidden { display: none; }

@media (max-width: 960px) { .comment-list .children { margin-left: 14px; padding-left: 12px; }
.comment-form-grid { grid-template-columns: 1fr; }}

/* ARCHIVES */
.date-archive-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px 36px; margin-bottom: 0.5em; }
.date-year-block { min-width: 21%; }
.date-year-label { color: rgba(var(--purple-m)); font-family: 'Enchant', cursive; font-size: 1.1em; margin-bottom: 8px; padding-bottom: 5px; border-bottom: 1px solid rgba(var(--parchment-d), 0.4); }
.date-month-list { list-style: none; }
.date-month-list li { display: flex; align-items: baseline; gap: 8px; border-bottom: 1px dotted rgba(var(--parchment-d), 0.25); padding: 5px 0;}
.date-month-list li::before { content: '◆'; color: rgba(var(--gold-d)); font-size: 0.4em; font-style: italic; flex-shrink: 0; }
.date-month-list a { color: rgba(var(--pink-d)); font-size: 0.8em; font-style: italic; text-decoration: none; transition: color 0.3s linear; }
.date-month-list a:hover { color: rgba(var(--green-d)); }
.category-archive-list { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 4px 24px; }
.category-archive-list li { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; border-bottom: 1px dotted rgba(var(--parchment-d), 0.25); padding: 7px 0; }
.category-archive-list li::before { content: '◆'; color: rgba(var(--gold-d)); font-size: 0.4em; font-style: italic; flex-shrink: 0; align-self: center; }
.category-archive-list a { color: rgba(var(--pink-d)); font-size: 0.8em; font-style: italic; text-decoration: none; transition: color 0.2s linear; }
.category-archive-list a:hover { color: rgba(var(--green-d)); }
.category-archive-list .cat-empty a { color: rgba(var(--brown), 0.55); }
.archive-count { color: rgba(var(--green-d)); font-size: 0.5em; font-style: normal; letter-spacing: 0.1em; margin-left: auto; text-transform: uppercase; white-space: nowrap; }
.tag-cloud { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 14px; line-height: 1; padding: 0.5em 0 1em; }
.cloud-tag { display: inline-block; border: 1px solid rgba(var(--parchment-d), 0.45); border-radius: 1px; padding: 3px 7px 2px 7px; text-decoration: none; text-transform: uppercase; transition: all 0.25s linear; }
.cloud-tag:hover { border-color: rgba(var(--parchment-d)); transform: translateY(-2px); box-shadow: 2px 2px 0 rgba(var(--parchment-d), 0.4); }
.tag-tier-hot  { color: rgba(var(--pink-d));   background: rgba(var(--pink-d), 0.06); }
.tag-tier-mid  { color: rgba(var(--purple-m)); background: rgba(var(--purple-m), 0.06); }
.tag-tier-warm { color: rgba(var(--gold-d));   background: rgba(var(--gold-d), 0.06); }
.tag-tier-cool { color: rgba(var(--green-d));  background: rgba(var(--green-d), 0.06); }
.tag-tier-hot:hover  { color: rgba(var(--pink-b));   background: rgba(var(--pink-d), 0.12); }
.tag-tier-mid:hover  { color: rgba(var(--purple-b)); background: rgba(var(--purple-m), 0.12); }
.tag-tier-warm:hover { color: rgba(var(--gold-d));   background: rgba(var(--gold-d), 0.12); }
.tag-tier-cool:hover { color: rgba(var(--green-d));  background: rgba(var(--green-d), 0.08); }
.no-archive-entries { color: rgba(var(--ink)); font-size: 0.8em; font-style: italic; margin: 1em 0 0.5em; }
.archive-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.archive-header h1 { margin: 0 !important; padding: 0 !important; }
@media (max-width: 960px) { .date-archive-grid { gap: 20px; }
.category-archive-list { grid-template-columns: 1fr; } }

/* SEARCH */
.search-form { width: 100%; }
.search-row { display: flex; }
.search-input { background: rgba(var(--parchment-b)); border: 1px solid rgba(var(--parchment-d)); border-right: none; border-radius: 1px 0 0 1px; color: rgba(var(--ink)); flex: 1; font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.8em; line-height: 1.5; min-width: 0; padding: 7px 14px; transition: border-color 0.3s linear, box-shadow 0.3s linear; }
.search-input:focus { border-color: rgba(var(--green-b)); box-shadow: 0 0 0 2px rgba(var(--green-b), 0.15); outline: none; }
.search-input::placeholder { color: rgba(var(--brown), 0.6); font-style: italic; }
.search-submit { background: rgba(var(--purple-d)); border: 1px solid rgba(var(--gold-d)); border-left: none; border-radius: 0 1px 1px 0; color: rgba(var(--parchment-m)); cursor: pointer; font-family: 'Crimson Pro', Times New Roman, serif; font-size: 0.55em; letter-spacing: 0.3em; padding: 10px 18px; text-shadow: 1px 1px 0 rgba(0,0,0,0.3); text-transform: uppercase; transition: all 0.3s linear; white-space: nowrap; }
.search-submit::after { content: ' ✦'; color: rgba(var(--gold-b)); }
.search-submit:hover { background-image: linear-gradient(rgba(var(--pink-d), 0.05), rgba(var(--pink-d), 0.05)); box-shadow: 3px 3px 0 rgba(var(--parchment-d), 0.5); color: rgba(var(--pink-d)); transform: translateY(-2px); }
.archive-search-form { margin: 1.5em 0 0.5em; }
.archive-description { color: rgba(var(--brown)); font-size: 0.5em; letter-spacing: 0.2em; text-transform: uppercase; }

/* 404 PAGE */
.fourohfour-options { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; margin: 1.5em 0; }
.fourohfour-heading { color: rgba(var(--purple-m)); font-family: 'Enchant', cursive; font-size: 1.2em; margin-bottom: 0.5em; text-shadow: 1px 1px 0 rgba(var(--parchment-d), 0.3); }
.fourohfour-text { color: rgba(var(--ink)); font-size: 0.75em; line-height: 1.5; margin-bottom: 1em; }
.fourohfour-recent-list { list-style: none; }
.fourohfour-recent-list li { align-items: baseline; border-bottom: 1px dotted rgba(var(--parchment-d), 0.25); display: flex; gap: 8px; padding: 6px 0; }
.fourohfour-recent-list li::before { content: '◆'; color: rgba(var(--gold-d)); font-size: 0.4em; font-style: italic; flex-shrink: 0; align-self: center; }
.fourohfour-recent-list a { color: rgba(var(--pink-d)); font-size: 0.8em; font-style: italic; text-decoration: none; transition: color 0.2s linear; }
.fourohfour-recent-list a:hover { color: rgba(var(--green-d)); }
.fourohfour-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 2em; }
@media (max-width: 960px) { .fourohfour-options { grid-template-columns: 1fr; gap: 24px; }}

/* ABOUT PAGE - Definition */
.dictdef { padding: 2rem 2.5rem; position: relative; overflow: hidden; text-align: center; }
.orn { color: rgba(var(--brown)); font-size: 11px; letter-spacing: 5px; opacity: 0.55; margin-bottom: 0.6rem; }
.headword { color: rgba(var(--pink-d)); font-size: 4rem; font-weight: 700; line-height: 0.95; letter-spacing: 0.08em; text-transform: uppercase; text-shadow: 2px 2px 0 rgba(var(--parchment-d), 0.3); }
.pron { color: rgba(var(--brown)); font-style: italic; font-size: 0.95rem; margin: 0.4rem 0 0.75rem; }
.adj { color: rgba(var(--green-d)); font-weight: 600; }
.dictdef .rule { display: flex; align-items: center; gap: 10px; margin: 0.5rem auto 1rem; max-width: 360px; }
.dictdef .rule::before, .rule::after { content: ''; flex: 1; background: linear-gradient(90deg, transparent, rgba(var(--gold-d)), transparent); height: 1px; }
.dictdef .rule span { color: rgba(var(--gold-d)); font-size: 14px; }
.defs { display: flex; flex-direction: column; gap: 0.55rem; list-style: none; margin: 0 auto; max-width: 520px; text-align: left; }
.def { display: flex; gap: 0.6rem; font-size: 1rem; line-height: 1.45; }
.def-wrap { flex: 1; }
.pos-tag { color: rgba(var(--purple-m)); font-weight: 600; font-size: 0.7rem; letter-spacing: 0.18em; margin-right: 0.4rem; text-transform: uppercase; }
.example { display: block; color: rgba(var(--brown)); font-size: 0.88rem; font-style: italic; margin-top: 0.15rem; }

/* FOOTNOTES */
.footnote { font-size: 0.85em; }
.footnote p::first-letter { font-family: inherit; font-size: inherit; color: inherit; float: none; line-height: inherit; margin: 0; text-shadow: none;
}
.footnote ol { list-style-type: decimal; margin: 0; padding: 0; }
.footnote ol li::marker { color: rgba(var(--pink-d)); font-size: 0.85em; font-weight: 600; font-size: 0.85em; }
.footnote ol li { list-style-position: inside; margin-bottom: 0.5em; line-height: 1.5; }
.footnote ol li p { display: inline; margin: 0; padding: 0; }
.footnote a { font-size: 0.8em; text-decoration: none; }
.footnote-ref { font-size: 0.65em; vertical-align: super; line-height: 0; }
sup.footnote-ref a, a[href^="#fn:"] { text-decoration: none !important; text-decoration-line: none !important; }

/* ALERTS */
details.alert { position: relative; padding: 14px 44px 14px 16px; border-left-width: 4px; border-left-style: solid; font-size: 0.8em; line-height: 1.5; color: inherit; margin-bottom: 1.25rem; }
details.alert p { margin: 0; padding: 0; }
details.alert:not([open]) { display: none; }
details.alert summary { position: absolute; top: 12px; right: 12px; font-size: 0.9em; opacity: 0.5; cursor: pointer; list-style: none; line-height: 1; padding: 0 2px; transition: opacity 0.15s; }
details.alert summary:hover { opacity: 1; }
details.alert summary::-webkit-details-marker { display: none; }
.alert-label { font-size: 0.8em; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 2px; }
.alert-info { background: rgba(var(--purple-b), 0.08); border-left-color: rgb(var(--purple-b)); }
.alert-success { background: rgba(var(--green-b), 0.08); border-left-color: rgb(var(--green-b)); }
.alert-warning { background: rgba(var(--gold-b), 0.08); border-left-color: rgb(var(--gold-b)); }
.alert-danger { background: rgba(var(--pink-b), 0.08); border-left-color: rgb(var(--pink-b)); }
.alert-info .alert-label { color: rgb(var(--purple-b)); }
.alert-success .alert-label { color: rgb(var(--green-b)); }
.alert-warning .alert-label { color: rgb(var(--gold-d)); }
.alert-danger .alert-label { color: rgb(var(--pink-b)); }