:root{color-scheme:dark;--color-ink: #171408;--color-surface: #211d14;--color-surface-raised: #2b2518;--color-gold: #ceb372;--color-gold-hover: #ddc38c;--color-white: #ffffff;--color-bg: var(--color-ink);--color-text: #f5f3ee;--color-text-muted: rgba(245, 243, 238, .62);--color-border: rgba(245, 243, 238, .14);--color-border-gold: rgba(206, 179, 114, .4);--color-on-accent: var(--color-ink);--font-heading: "Times New Roman", Times, serif;--font-body: Arial, Helvetica, sans-serif;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.25rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 8px 20px rgba(0, 0, 0, .5);--glow-gold: 0 0 0 1px var(--color-border-gold), 0 8px 20px rgba(0, 0, 0, .5);--nav-height: 4.25rem;--content-width: 64rem}*{box-sizing:border-box}html{font-size:112.5%;-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.55}h1,h2,h3{font-family:var(--font-heading);font-weight:400;line-height:1.15;margin:0 0 .5rem;color:var(--color-text)}h1{font-size:clamp(1.9rem,4vw,2.75rem)}h2{font-size:clamp(1.4rem,2.8vw,1.9rem)}h3{font-size:1.15rem}p{margin:0 0 1rem;color:var(--color-text-muted)}a{color:inherit}img,svg{max-width:100%;display:block}.app{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden}.app main{flex:1;width:100%;max-width:var(--content-width);margin:0 auto;padding:2rem 1.5rem 4rem}.site-header{position:sticky;top:0;z-index:20;background:var(--color-gold);border-bottom:1px solid rgba(23,20,8,.18)}.site-nav{max-width:var(--content-width);margin:0 auto;min-height:var(--nav-height);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-nav__brand{display:inline-flex;align-items:center;flex-shrink:0}.site-nav__brand img{height:2.25rem;width:auto}.site-nav__actions{display:flex;align-items:center;gap:1.5rem}.site-nav__search{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--color-ink);flex-shrink:0}.site-nav__search svg{width:1.35rem;height:1.35rem}.site-nav__toggle{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:none;background:transparent;color:var(--color-ink);cursor:pointer;padding:0}.site-nav__toggle svg{width:1.5rem;height:1.5rem}.site-nav__links{display:flex;align-items:center;gap:1.75rem;list-style:none;margin:0;padding:0}.site-nav__links a{text-decoration:none;color:var(--color-ink);font-weight:400;font-size:.95rem;padding:.4rem 0}.site-nav__links a:hover,.site-nav__links a.active{color:#171408a6}@media (max-width: 46rem){.site-nav__toggle{display:inline-flex}.site-nav__links{display:none;position:absolute;top:var(--nav-height);left:0;right:0;flex-direction:column;align-items:stretch;gap:.25rem;background:var(--color-gold);border-bottom:1px solid rgba(23,20,8,.18);box-shadow:var(--shadow-md);padding:1rem 1.5rem 1.5rem}.site-nav__links.is-open{display:flex}.site-nav__links a{width:100%;padding:1rem .25rem;font-size:1.05rem;border-bottom:1px solid rgba(23,20,8,.12)}}.site-footer{background:var(--color-surface);color:var(--color-text-muted);padding:2rem 1.5rem;margin-top:auto;border-top:1px solid var(--color-border-gold)}.site-footer__inner{max-width:var(--content-width);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;font-size:.85rem}.site-footer__logo{height:1.75rem;width:auto}.hero{background:var(--color-surface);border:1px solid var(--color-border-gold);color:var(--color-text);border-radius:var(--radius-lg);padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,3.5rem);margin-bottom:2.5rem}.hero h1{max-width:34rem}.hero p{color:var(--color-text-muted);max-width:32rem;font-size:1.05rem}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-bottom:2.5rem}.feature-card{background:var(--color-surface);border:1px solid var(--color-border-gold);border-radius:var(--radius-md);padding:1.5rem;color:var(--color-text)}.feature-card h3{color:var(--color-gold);margin-bottom:.5rem}.feature-card p{color:var(--color-text-muted);margin:0}.cta-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;background:var(--color-surface);border:1px solid var(--color-border-gold);border-radius:var(--radius-lg);padding:1.75rem clamp(1.5rem,4vw,2.5rem)}.cta-strip h2{margin:0}.button{display:inline-flex;align-items:center;gap:.4rem;border-radius:999px;padding:.65rem 1.4rem;font-weight:600;font-size:.95rem;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .1s ease,background .15s ease,border-color .15s ease}.button:active{transform:translateY(1px)}.button--primary{background:var(--color-gold);color:var(--color-on-accent)}.button--primary:hover{background:var(--color-gold-hover)}.button--ghost{background:transparent;border-color:var(--color-gold);color:var(--color-gold)}.button--ghost:hover{background:var(--color-border-gold)}.page-placeholder{padding:3rem 0;text-align:center;color:var(--color-text-muted)}.page-placeholder h1{color:var(--color-text)}.content-index{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem}.content-index li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.content-index li:hover{box-shadow:var(--glow-gold);border-color:var(--color-border-gold);transform:translateY(-2px)}.content-index a{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-weight:400;text-decoration:none;color:var(--color-text);font-family:var(--font-heading);font-size:1.25rem;transition:color .15s ease}.content-index li:hover a{color:var(--color-gold)}.content-card__meta{flex-shrink:0;font-family:var(--font-body);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-gold)}.content-index p{margin:.5rem 0 0;font-size:.9rem}.back-link{display:inline-block;margin-bottom:1rem;text-decoration:none;color:var(--color-text-muted);font-weight:600;font-size:.9rem;transition:color .15s ease}.back-link:hover{color:var(--color-gold)}.list-description{max-width:40rem}.translation-picker{display:inline-flex;gap:.3rem;margin:.5rem 0 1.5rem;padding:.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px}.translation-pill{font:inherit;font-weight:600;font-size:.85rem;padding:.4rem .9rem;border-radius:999px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.translation-pill:hover{color:var(--color-text)}.translation-pill.is-active{background:var(--color-gold);color:var(--color-on-accent)}.progress-summary{margin-bottom:1.75rem;max-width:24rem}.progress-bar{display:flex;height:.5rem;border-radius:999px;overflow:hidden;background:var(--color-border)}.progress-bar__segment{height:100%;transition:width .3s ease}.progress-bar__segment--new{background:#f5f3ee4d}.progress-bar__segment--learning{background:var(--color-white)}.progress-bar__segment--mastered{background:var(--color-gold)}.progress-summary__text{margin:.5rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.search-input-wrap{margin:1.5rem 0 2.5rem}.search-input{width:100%;max-width:34rem;font:inherit;font-size:1.1rem;padding:.85rem 1.25rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.search-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px var(--color-border-gold)}.search-group{margin-bottom:2.5rem}.search-group h2{color:var(--color-gold);font-size:1.1rem;margin-bottom:1rem}.search-results{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.search-results a{display:block;padding:1rem 1.25rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.search-results a:hover{border-color:var(--color-border-gold);transform:translateY(-1px)}.search-result__title{display:block;font-family:var(--font-heading);font-size:1.1rem;color:var(--color-text)}.search-result__snippet{display:block;margin-top:.3rem;font-size:.9rem;color:var(--color-text-muted)}.state-message{padding:3rem 0;text-align:center;color:var(--color-text-muted)}.state-message--error p{display:inline-block;padding:.75rem 1.25rem;border-radius:var(--radius-sm);background:#df313126;border:1px solid rgba(223,49,49,.4);color:#ff9d9d}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f5f3ee0f 25%,#f5f3ee29 37%,#f5f3ee0f 63%);background-size:400% 100%;animation:skeleton-shimmer 1.6s ease infinite;border-radius:var(--radius-sm)}.skeleton--back-link{width:8rem;height:.9rem;margin-bottom:1.25rem}.skeleton--h1{width:16rem;height:2.25rem;margin-bottom:.75rem}.skeleton--title{width:60%;height:1.1rem;margin-bottom:.75rem}.skeleton--text{width:100%;height:.85rem;margin-bottom:.5rem}.skeleton--pills{width:16rem;height:2.5rem;border-radius:999px;margin-bottom:1.75rem}.skeleton-card{animation:card-in .4s ease both}.flashcard-skeleton{min-height:11rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);padding:1.25rem;display:flex;align-items:center;justify-content:center;animation:card-in .4s ease both}.flashcard-skeleton .skeleton--text{width:70%;margin-bottom:0}.flashcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem}@keyframes card-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.list-card{animation:card-in .4s ease both}.flashcard{position:relative;min-height:9rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);padding:1.25rem;box-shadow:var(--shadow-sm);cursor:pointer;animation:card-in .4s ease both;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.flashcard:hover{box-shadow:var(--glow-gold);border-color:var(--color-border-gold);transform:translateY(-2px)}.flashcard:focus-visible{outline:3px solid var(--color-gold);outline-offset:2px}.flashcard__reference{font-family:var(--font-heading);font-weight:400;font-size:1.25rem;margin:0;color:var(--color-text)}.flashcard__hint{margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.flashcard__status{position:absolute;top:.6rem;right:.6rem;z-index:1;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:.2rem .6rem;border-radius:999px;border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:#f5f3ee14}.flashcard__status--learning{background:var(--color-white);color:var(--color-on-accent);border-color:var(--color-white)}.flashcard__status--mastered{background:var(--color-gold);color:var(--color-on-accent);border-color:var(--color-gold)}@keyframes modal-in{0%{opacity:0;transform:translateY(1rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.verse-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem}.verse-modal{position:relative;width:100%;max-width:34rem;max-height:85vh;overflow-y:auto;background:var(--color-surface-raised);border:1px solid var(--color-border-gold);border-radius:var(--radius-lg);padding:2.5rem 2rem 2rem;box-shadow:var(--shadow-md);animation:modal-in .2s ease both}.verse-modal__close{position:absolute;top:.75rem;right:.75rem;width:2.25rem;height:2.25rem;border-radius:999px;border:none;background:transparent;color:var(--color-text-muted);font-size:1.5rem;line-height:1;cursor:pointer}.verse-modal__close:hover{color:var(--color-text)}.verse-modal__reference{font-family:var(--font-heading);font-weight:400;font-size:1.75rem;margin:0 0 1rem;color:var(--color-gold)}.verse-modal__text{font-size:1.5rem;line-height:1.5;margin:0 0 1.5rem;color:var(--color-text)}.verse-modal__note{font-size:1rem;line-height:1.5;color:var(--color-text-muted);margin:0 0 1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.verse-modal__status{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;padding:.5rem 1.25rem;border-radius:999px;border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:#f5f3ee14}.content-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.content-meta__badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.25rem .7rem;border-radius:999px;border:1px solid var(--color-border-gold);color:var(--color-gold)}.content-meta__tag{font-size:.75rem;padding:.25rem .6rem;border-radius:999px;background:#f5f3ee14;color:var(--color-text-muted)}.script-related{font-size:.9rem;color:var(--color-text-muted);margin-bottom:2rem}.script-related a{color:var(--color-gold);text-decoration:none}.script-related a:hover{text-decoration:underline}.markdown-body{max-width:42rem;line-height:1.65}.markdown-body h2{color:var(--color-gold);font-size:1.3rem;margin-top:2rem}.markdown-body p{color:var(--color-text);margin-bottom:1.1rem}.markdown-body strong{color:var(--color-gold)}.markdown-body em{color:var(--color-text-muted)}.markdown-body hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.markdown-body ul{padding-left:1.25rem;margin-bottom:1.1rem}.markdown-body li{color:var(--color-text);margin-bottom:.6rem}@media (max-width: 26rem){.flashcard-grid,.content-index{grid-template-columns:1fr}.verse-modal{padding:2.25rem 1.5rem 1.5rem}.verse-modal__text{font-size:1.3rem}}@media (prefers-reduced-motion: reduce){.list-card,.flashcard,.skeleton-card,.flashcard-skeleton,.skeleton,.verse-modal{animation:none}.flashcard,.content-index li,.content-index a,.progress-bar__segment,.translation-pill,.back-link,.site-nav__links a{transition:none}}
