/* HOLIUS Theme Engine v2 — visual tokens only. Layout is intentionally outside this layer. */
:root{
  --holius-wordmark-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"Noto Sans KR",sans-serif;--holius-wordmark-weight:800;--holius-wordmark-tracking:-.035em;
  --theme-font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Pretendard,"Noto Sans KR",sans-serif;--theme-font-serif:"Noto Serif KR","Nanum Myeongjo",Georgia,serif;--theme-font-handwritten:Gaegu,"Nanum Pen Script","Segoe Print",cursive;--theme-font-ui:var(--theme-font-sans);
  --theme-font-body:var(--theme-font-ui);--theme-font-heading:var(--theme-font-ui);--theme-font-display:var(--theme-font-ui);--theme-font-reading:var(--theme-font-body);--theme-font-numeric:var(--theme-font-ui);
  --theme-weight-body:400;--theme-weight-medium:650;--theme-weight-heading:750;--theme-weight-strong:800;
  --theme-leading-body:1.68;--theme-leading-heading:1.28;--theme-tracking-body:0;--theme-tracking-heading:-.025em;--theme-tracking-label:.02em;
  --theme-radius-card:12px;--theme-radius-button:8px;--theme-radius-control:12px;--theme-radius-badge:8px;--theme-radius-image:12px;--theme-radius-modal:16px;--theme-radius-sheet:20px;
  --theme-border-width:1px;--theme-shadow-sm:0 2px 10px color-mix(in srgb,var(--shadow-color) 7%,transparent);--theme-shadow-md:0 6px 20px color-mix(in srgb,var(--shadow-color) 9%,transparent);--theme-shadow-lg:0 12px 36px color-mix(in srgb,var(--shadow-color) 12%,transparent);
  --theme-density:1;--theme-section-gap:28px;--theme-opacity-muted:.78;--theme-opacity-subtle:.62;--theme-opacity-disabled:.46;--theme-hover-brightness:.96;--theme-backdrop-blur:14px;--theme-disabled-filter:grayscale(.18);--theme-motion-fast:120ms;--theme-motion-normal:180ms;--theme-motion-slow:260ms;--theme-icon-stroke:1.8;
  --theme-on-accent:var(--theme-accent-contrast,#FFFFFF);--theme-on-overlay:#FFFFFF;--theme-focus-ring:0 0 0 3px color-mix(in srgb,var(--brand-accent) 18%,transparent);
}
body{font-family:var(--theme-font-ui);font-weight:var(--theme-weight-body);line-height:var(--theme-leading-body);letter-spacing:var(--theme-tracking-body)}
h1,h2,h3,h4,h5,h6,.section-title,.page-title,.page-hero h1,.home-block-head h2,.news-page-head h1{font-family:var(--theme-font-heading);font-weight:var(--theme-weight-heading);line-height:var(--theme-leading-heading);letter-spacing:var(--theme-tracking-heading)}
.holius-home-wordmark,.theme-preview-logo{font-family:var(--holius-wordmark-font);font-weight:var(--holius-wordmark-weight);letter-spacing:var(--holius-wordmark-tracking)}.display-text{font-family:var(--theme-font-display)}
/* Content fonts: news, community, shopping descriptions and Bible reading all participate in the theme. */
.news-page-list a,.home-news-list a,.post-content,.content-body,.community-content,.market-description,.market-card-title,.bible-writing-source,.bible-reader-v3 .bible-reader-body,.bible-reader-v3 .verse-text,.bible-reader-v3 [data-bible-text]{font-family:var(--theme-font-reading);line-height:var(--theme-leading-body)}
button,.btn,input,select,textarea,.badge,.pill,.meta,.market-price,.market-status,.bible-writing-scorebar,.admin-page,.admin-shell{font-family:var(--theme-font-ui)}
.market-price,.price,.rank,.score,[data-numeric]{font-family:var(--theme-font-numeric);font-variant-numeric:tabular-nums}
/* Visual shape tokens. Functional circles/pills/switches intentionally keep their geometry. */
.card,.panel,.home-writing-summary,.home-writing-entry,.home-continue-card,.home-today-card,.home-quick,.home-discovery-block,.market-card,.news-page-card,.theme-choice-wrap,.utility-card,.media-card,.admin-card{border-radius:var(--theme-radius-card);box-shadow:var(--theme-shadow-sm)}
.btn,.btn-primary,.btn-light,.btn-soft,button:not(.theme-picker-close):not(.hh-menu-button):not(.hh-theme-top-button):not(.hh-member-button):not([role="switch"]){border-radius:var(--theme-radius-button)}
input:not([type="radio"]):not([type="checkbox"]),select,textarea,.input,.select,.textarea{border-radius:var(--theme-radius-control)}
.badge,.tag,.chip:not(.is-circle){border-radius:var(--theme-radius-badge)}
img.card-image,.market-card img,.media-card img,.utility-preview img{border-radius:var(--theme-radius-image)}
.modal,.dialog,.theme-picker-dialog,.hh-apps-panel{border-radius:var(--theme-radius-modal);box-shadow:var(--theme-shadow-lg)}
.bottom-sheet,.action-sheet,.bible-settings-sheet,[data-bottom-sheet]{border-radius:var(--theme-radius-sheet) var(--theme-radius-sheet) 0 0;box-shadow:var(--theme-shadow-lg)}
/* Borders / focus / motion. */
.card,.panel,.market-card,.news-page-card,.utility-card,.media-card,.admin-card,input,select,textarea{border-width:var(--theme-border-width)}
a,button,.btn,input,select,textarea,.card,.market-card,.media-card{transition-duration:var(--theme-motion-fast);transition-timing-function:ease}
:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}
input:focus,select:focus,textarea:focus{box-shadow:var(--theme-focus-ring)}
svg.hh-top-icon,svg.hh-app-icon,button svg,.btn svg{stroke-width:var(--theme-icon-stroke)}
/* Limited density: internal spacing only, never grid/container/breakpoint geometry. */
.card,.panel,.market-card,.utility-card,.admin-card{--theme-local-pad:calc(16px * var(--theme-density))}
/* Reader preference wins only when the reader explicitly sets its own font variable/class. */
.bible-reader-v3[data-reader-font="default"] .bible-reader-body,.bible-reader-v3[data-reader-font="default"] .verse-text{font-family:var(--theme-font-reading)}
.bible-reader-v3[data-reader-font="serif"] .bible-reader-body,.bible-reader-v3[data-reader-font="serif"] .verse-text{font-family:var(--theme-font-serif)}
@media(prefers-reduced-motion:reduce){:root{--theme-motion-fast:0ms;--theme-motion-normal:0ms;--theme-motion-slow:0ms}html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

.play-badge,.media-overlay,.video-overlay{color:var(--theme-on-overlay)}

.bible-import-status{display:none;margin-top:16px}.bible-import-progress{height:10px;background:var(--border-color);border-radius:999px;overflow:hidden;margin:16px 0}.bible-import-progress-bar{height:100%;width:0;background:currentColor;transition:width var(--theme-motion-fast)}.bible-import-note{font-size:13px;line-height:var(--theme-leading-body);opacity:var(--theme-opacity-muted,.72);margin-top:18px}
