/* HOLiUS canonical shared styles: common foundations, global header and shared presentation rules.
   Page-specific styles remain separate. Maintain the internal cascade order when editing. */

/* SECTION 1: Shared rules */
/* HOLiUS homepage-only CSS bundle. Generated from canonical source files in order; do not edit directly. */

/* BEGIN assets/site-core.css */
/* HOLIUS site core — base + layout + global header + responsive + performance */

/* === base === */
:root{--bg:var(--bg-primary);--surface:var(--theme-surface);--text:var(--text-main);--muted:var(--text-sub);--line:var(--border-color);--primary:var(--brand-accent);--primary2:var(--theme-surface-2);--danger:var(--semantic-danger);--shadow:var(--theme-shadow-md);--radius:var(--theme-radius-card)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--theme-font-body);background:var(--bg);color:var(--text);line-height:var(--theme-leading-body)}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:var(--theme-header);backdrop-filter:blur(var(--theme-backdrop-blur));border-bottom:var(--theme-border-width) solid var(--line)}.nav-wrap{min-height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:9px;font-weight:var(--theme-weight-strong);font-size:22px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--theme-radius-card);background:var(--primary);color:var(--theme-accent-contrast)}.main-nav{display:flex;gap:22px;font-weight:var(--theme-weight-medium);font-size:15px;flex:1}.main-nav a:hover,.account-nav a:hover{color:var(--primary)}.account-nav{display:flex;align-items:center;gap:12px;font-size:14px}.user-chip{background:var(--primary2);padding:7px 10px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--theme-radius-button);padding:12px 18px;background:var(--primary);color:var(--theme-accent-contrast);font-weight:var(--theme-weight-medium);cursor:pointer}.btn:hover{filter:brightness(var(--theme-hover-brightness))}.btn-light{background:var(--theme-surface);color:var(--text);border:var(--theme-border-width) solid var(--line)}.btn-soft{background:var(--primary2);color:var(--primary)}.btn-sm{padding:8px 12px;border-radius:var(--theme-radius-button)}.hero{padding:68px 0 42px;background:radial-gradient(circle at 75% 20%,var(--theme-surface-2) 0,transparent 35%),linear-gradient(180deg,var(--theme-surface),var(--bg-primary))}.eyebrow{font-size:14px;color:var(--primary);font-weight:var(--theme-weight-strong);letter-spacing:var(--theme-tracking-label)}.hero h1{font-size:clamp(38px,6vw,68px);line-height:var(--theme-leading-heading);margin:12px 0 18px;letter-spacing:var(--theme-tracking-heading)}.hero p{font-size:18px;color:var(--muted);max-width:720px}.search-shell{margin-top:30px;background:var(--theme-surface);border:var(--theme-border-width) solid var(--line);box-shadow:var(--theme-shadow-sm);border-radius:var(--theme-radius-control);padding:10px;display:flex;gap:10px;max-width:860px}.search-shell input{flex:1;border:0;outline:none;font-size:17px;padding:12px 14px;background:transparent}.quick-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.quick-tags a{font-size:13px;color:var(--muted);background:var(--theme-surface);border:var(--theme-border-width) solid var(--line);padding:6px 10px;border-radius:999px}.section{padding:34px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-head h2{font-size:26px;margin:0;letter-spacing:var(--theme-tracking-heading)}.section-head p{color:var(--muted);margin:4px 0 0}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:var(--surface);border:var(--theme-border-width) solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--theme-shadow-sm)}.card h3{margin:0 0 8px}.card p{margin:0;color:var(--muted)}.feature-card{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;transition:var(--theme-motion-fast)}.feature-card:hover{transform:translateY(-2px);box-shadow:var(--theme-shadow-sm)}.feature-icon{font-size:28px}.verse-card{padding:34px;background:linear-gradient(140deg,var(--brand-accent),var(--brand-accent-hover));color:var(--theme-accent-contrast);border:none}.verse-card .verse-text{font-size:clamp(23px,3.4vw,36px);line-height:var(--theme-leading-body);font-weight:var(--theme-weight-medium);letter-spacing:var(--theme-tracking-body)}.verse-card .verse-ref{margin-top:18px;opacity:var(--theme-opacity-muted)}.two-col{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.list{display:grid;gap:0}.list-item{padding:14px 0;border-bottom:var(--theme-border-width) solid var(--line)}.list-item:last-child{border-bottom:0}.meta{font-size:13px;color:var(--muted)}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--primary2);color:var(--primary);font-size:12px;font-weight:var(--theme-weight-medium)}.form-card{max-width:520px;margin:42px auto}.form-group{margin-bottom:15px}.label{display:block;font-weight:var(--theme-weight-medium);font-size:14px;margin-bottom:7px}.input,.textarea,.select{width:100%;border:var(--theme-border-width) solid var(--border-color);border-radius:var(--theme-radius-control);background:var(--theme-surface);padding:12px 13px;font:inherit;outline:none}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand-accent);box-shadow:var(--theme-focus-ring)}.textarea{min-height:130px;resize:vertical}.alert{padding:12px 15px;margin-top:16px;border-radius:var(--theme-radius-card)}.alert.success{background:var(--theme-success-soft);color:var(--semantic-success)}.alert.error{background:var(--theme-danger-soft);color:var(--semantic-danger)}.page-hero{padding:38px 0 22px}.page-hero h1{font-size:38px;margin:0 0 8px;letter-spacing:var(--theme-tracking-heading)}.page-hero p{color:var(--muted);margin:0}.result-box{margin-top:18px}.bible-result{padding:18px 0;border-bottom:var(--theme-border-width) solid var(--line)}.bible-result strong{color:var(--primary)}.empty{padding:42px;text-align:center;color:var(--muted)}.prayer-row{display:flex;gap:14px;align-items:flex-start}.prayer-count{min-width:72px;text-align:center;background:var(--primary2);border-radius:var(--theme-radius-card);padding:10px}.prayer-count strong{display:block;font-size:21px;color:var(--primary)}.chat-shell{display:grid;grid-template-rows:1fr auto;height:560px}.chat-messages{overflow:auto;padding-right:5px}.chat-msg{padding:12px 14px;margin:8px 0;background:var(--theme-surface-2);border-radius:var(--theme-radius-card)}.chat-msg.mine{background:var(--primary2)}.chat-msg .name{font-weight:var(--theme-weight-strong);font-size:13px}.chat-msg .time{font-size:12px;color:var(--muted);margin-left:7px}.chat-form{display:flex;gap:8px;border-top:var(--theme-border-width) solid var(--line);padding-top:14px}.chat-form input{flex:1}.site-footer{margin-top:52px;border-top:var(--theme-border-width) solid var(--theme-border,var(--line));background:var(--theme-bg,var(--bg));padding:34px 0 22px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid p{color:var(--muted);margin:5px 0}.footer-links{display:flex;gap:18px;font-size:14px;color:var(--muted)}.copyright{font-size:12px;color:var(--theme-muted);margin-top:24px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:4px 7px;border-radius:var(--theme-radius-badge);background:var(--theme-surface-2);font-size:12px;color:var(--muted)}@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.two-col,.grid-2{grid-template-columns:1fr}.menu-toggle{display:block;margin-left:auto}.main-nav,.account-nav{display:none}.menu-open .main-nav,.menu-open .account-nav{display:flex;position:absolute;left:18px;right:18px;background:var(--theme-surface);border:var(--theme-border-width) solid var(--line);box-shadow:var(--theme-shadow-sm);padding:15px;border-radius:var(--theme-radius-card)}.menu-open .main-nav{top:64px;flex-direction:column}.menu-open .account-nav{top:390px}.hero{padding-top:44px}}@media(max-width:560px){.container{width:min(100% - 24px,1180px)}.grid-4{grid-template-columns:1fr 1fr}.feature-card{min-height:130px;padding:16px}.hero h1{font-size:40px}.search-shell{flex-direction:column}.search-shell .btn{width:100%}.section{padding:26px 0}.verse-card{padding:24px}.footer-grid{flex-direction:column}.footer-links{flex-wrap:wrap}.page-hero h1{font-size:31px}}
.live-chat-section{padding-top:18px}.live-chat-section .section-head{align-items:center}.live-pill{margin-bottom:8px}.home-chat-shell{padding:0;overflow:hidden}.home-chat-messages{height:420px;padding:18px 20px;overflow-y:auto;background:linear-gradient(180deg,var(--theme-surface),var(--theme-surface-2))}.home-chat-messages .chat-msg{max-width:78%;width:max-content;min-width:160px;box-shadow:var(--theme-shadow-sm)}.home-chat-messages .chat-msg.mine{margin-left:auto}.chat-msg-head{display:flex;align-items:center;gap:7px;margin-bottom:3px}.home-chat-form,.home-chat-login{padding:14px 16px;border-top:var(--theme-border-width) solid var(--line);background:var(--theme-surface)}.home-chat-login{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:14px}@media(max-width:560px){.home-chat-messages{height:360px;padding:14px}.home-chat-messages .chat-msg{max-width:90%}.home-chat-login{align-items:flex-start;flex-direction:column}.home-chat-login .btn{width:100%}}

/* Post owner actions */
.btn-danger{background:var(--semantic-danger);color:var(--theme-accent-contrast);border:var(--theme-border-width) solid var(--semantic-danger)}.btn-danger:hover{filter:brightness(var(--theme-hover-brightness))}
.alert{padding:12px 14px;border-radius:var(--theme-radius-card);margin-bottom:16px}.alert-error{background:var(--theme-danger-soft);border:var(--theme-border-width) solid color-mix(in srgb,var(--semantic-danger) 28%,var(--border-color));color:var(--semantic-danger)}


/* Account / profile */
.account-page{padding-bottom:18px}.account-alert{max-width:980px;margin:0 auto 18px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:980px;margin:0 auto}.account-card{padding:28px}.account-card-head{margin-bottom:24px}.account-card-head h2{margin:9px 0 5px;font-size:24px;letter-spacing:var(--theme-tracking-heading)}.account-card-head p{font-size:14px}.input-readonly{background:var(--theme-surface-2);color:var(--theme-muted);cursor:not-allowed}.form-help{margin-top:6px;color:var(--muted);font-size:12px}.account-summary{max-width:980px;margin:20px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;overflow:hidden}.account-summary>div{padding:20px 22px;border-right:var(--theme-border-width) solid var(--line);display:flex;flex-direction:column;gap:3px}.account-summary>div:last-child{border-right:0}.account-summary strong{font-size:15px;overflow-wrap:anywhere}.user-chip:hover{background:var(--theme-success-soft);color:var(--primary)}@media(max-width:760px){.account-grid{grid-template-columns:1fr}.account-card{padding:22px}.account-summary{grid-template-columns:1fr}.account-summary>div{border-right:0;border-bottom:var(--theme-border-width) solid var(--line)}.account-summary>div:last-child{border-bottom:0}}

/* Media content admin */
.admin-link{color:var(--primary);font-weight:var(--theme-weight-strong)}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.media-card{padding:0;overflow:hidden}.media-thumb{position:relative;display:block;aspect-ratio:16/9;background:var(--theme-surface-2);overflow:hidden}.media-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--theme-motion-fast)}.media-thumb:hover img{transform:scale(1.02)}.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:999px;background:color-mix(in srgb,var(--overlay-color) calc(100% * .7),transparent);color:var(--theme-accent-contrast);font-size:20px;padding-left:3px}.media-body{padding:20px}.media-body h3{font-size:20px;line-height:var(--theme-leading-heading);margin:10px 0 6px}.media-sub{font-size:14px}.media-desc{margin-top:10px;font-size:14px}.media-form-card{max-width:760px}.admin-media-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-list{display:grid}.admin-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 0;border-bottom:var(--theme-border-width) solid var(--line)}.admin-row:last-child{border-bottom:0}.admin-row form{margin:0}@media(max-width:1000px){.media-grid{grid-template-columns:repeat(2,1fr)}.admin-media-layout{grid-template-columns:1fr}}@media(max-width:620px){.media-grid{grid-template-columns:1fr}.admin-row{align-items:flex-start;flex-direction:column}.admin-row .toolbar{width:100%}.admin-row .toolbar .btn,.admin-row .toolbar form,.admin-row .toolbar form .btn{flex:1;width:100%}}

/* Media inline player / praise filters / utilities */
.section-compact{padding-top:0;padding-bottom:8px}.filter-tabs{display:flex;gap:9px;flex-wrap:wrap}/* Shared selectable-filter presentation; keep filter-tab and category-check states independent. */.filter-tab,.category-check span{display:inline-flex;align-items:center;justify-content:center;border:var(--theme-border-width) solid var(--line);background:var(--theme-surface);color:var(--muted);font-weight:var(--theme-weight-medium);transition:var(--theme-motion-fast)}.filter-tab{padding:9px 15px;border-radius:999px;font-size:14px}.filter-tab:hover{border-color:color-mix(in srgb,var(--semantic-success) 25%,var(--border-color));color:var(--primary)}.filter-tab.active{background:var(--primary);border-color:var(--primary);color:var(--theme-accent-contrast)}.media-video{position:relative;width:100%;aspect-ratio:16/9;background:#0d0f0d;overflow:hidden}.media-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-thumb-static{cursor:default}.utility-grid{display:grid;grid-template-columns:minmax(0,820px);justify-content:center}.utility-card{padding:30px}.utility-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}.utility-head h2{font-size:25px;margin:0 0 5px;letter-spacing:var(--theme-tracking-heading)}.utility-head p{margin:0}.utility-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:var(--theme-radius-card);background:var(--primary2);color:var(--primary);font-size:24px;font-weight:var(--theme-weight-strong)}.qr-form{padding-top:4px}.qr-actions{display:flex;gap:9px;flex-wrap:wrap}.qr-result{margin-top:28px;padding-top:28px;border-top:var(--theme-border-width) solid var(--line);display:grid;grid-template-columns:320px 1fr;gap:26px;align-items:center}.qr-result[hidden]{display:none}.qr-preview{width:100%;aspect-ratio:1;border:var(--theme-border-width) solid var(--line);border-radius:var(--theme-radius-card);background:var(--theme-surface);padding:14px;display:grid;place-items:center}.qr-preview img{display:block;width:100%;height:auto}.qr-result-info{min-width:0}.qr-result-info>strong{display:block;font-size:20px;margin-bottom:6px}.qr-url-text{word-break:break-all;margin:0 0 16px;font-size:14px}@media(max-width:900px){.menu-open .account-nav{top:455px}}@media(max-width:680px){.utility-card{padding:20px}.qr-result{grid-template-columns:1fr}.qr-preview{max-width:320px;margin:0 auto}.qr-result-info{text-align:center}.qr-result-info .btn{width:100%}.qr-actions .btn{flex:1}}

/* praise multi-category */
.category-checks{display:flex;flex-wrap:wrap;gap:10px}.category-check{position:relative;cursor:pointer}.category-check input{position:absolute;opacity:0;pointer-events:none}.category-check span{min-width:76px;padding:10px 14px;border-radius:var(--theme-radius-card)}.category-check input:checked+span{border-color:var(--primary);background:var(--primary2);color:var(--primary);box-shadow:var(--theme-shadow-sm)}.category-check input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}.media-pills{display:flex;gap:6px;flex-wrap:wrap}.media-pills .pill{margin:0}


/* Language switch */
.lang-switch{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:var(--theme-border-width) solid var(--line,var(--border-color));border-radius:999px;font-size:12px;white-space:nowrap;background:var(--theme-surface)}
.lang-switch a{color:var(--muted,var(--text-sub));text-decoration:none;font-weight:var(--theme-weight-medium)}
.lang-switch a.active{color:var(--text,var(--text-main))}
.lang-switch span{color:var(--border-color)}
@media(max-width:900px){.lang-switch{margin:8px 0}.account-nav{flex-wrap:wrap}}

/* === layout === */
:root{
  --hh-page-x:clamp(20px,4vw,54px);
  --hh-page-x-mobile:20px;
  --hh-page-x-small:16px;
  --hh-card-pad:22px;
  --hh-card-pad-mobile:16px;
  --hh-gap-xs:8px;
  --hh-gap-sm:12px;
  --hh-gap:16px;
  --hh-gap-lg:24px;
  --hh-section-gap:32px;
  --hh-section-gap-mobile:24px;
  --hh-touch:44px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
.container{padding-left:var(--hh-page-x);padding-right:var(--hh-page-x)}
.section{padding-top:var(--hh-section-gap);padding-bottom:var(--hh-section-gap)}
.page-hero>.container,.section>.container{width:100%}
input,select,textarea,button,.btn{font:inherit}
input,select,button,.btn{min-height:var(--hh-touch)}
button,.btn,a{touch-action:manipulation}
.page-title-link{color:inherit;text-decoration:none;display:inline-block}.page-title-link:hover,.page-title-link:focus-visible{color:inherit;text-decoration:none;opacity:var(--theme-opacity-muted)}.page-title-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:var(--theme-radius-card)}
@media(max-width:720px){
  :root{--hh-page-x:var(--hh-page-x-mobile);--hh-card-pad:var(--hh-card-pad-mobile)}
  .container{padding-left:var(--hh-page-x-mobile);padding-right:var(--hh-page-x-mobile)}
  .section{padding-top:var(--hh-section-gap-mobile);padding-bottom:var(--hh-section-gap-mobile)}
  .page-hero{padding-left:0;padding-right:0}
  .card{max-width:100%}
}
@media(max-width:360px){
  :root{--hh-page-x:var(--hh-page-x-small)}
  .container{padding-left:var(--hh-page-x-small);padding-right:var(--hh-page-x-small)}
}

/* === header === */
/* HOLIUS Google-style icons */
.hh-global-header{position:sticky;top:0;z-index:2147483000;isolation:isolate;overflow:visible;background:var(--theme-header);border-bottom:var(--theme-border-width) solid var(--theme-border);box-shadow:none}
.hh-global-bar{position:relative;z-index:1;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(18px,4vw,54px);background:var(--theme-header)}
.hh-global-left,.hh-global-right{display:flex;align-items:center;gap:14px;min-width:0}
.hh-top-link{position:relative;display:inline-flex;align-items:center;min-height:64px;color:var(--theme-muted);text-decoration:none;font-size:14px;font-weight:var(--theme-weight-medium);white-space:nowrap;transition:color var(--theme-motion-fast) ease}
.hh-top-link:hover{color:var(--theme-header-text)}
.hh-top-link.is-active{color:var(--theme-accent)}
.hh-top-link.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:var(--theme-radius-card);background:var(--theme-accent)}
.hh-apps-wrap{position:relative;z-index:2}
/* Shared header-control appearance; per-control behavior stays in its existing class. */
.hh-menu-button,.hh-member-button,.hh-theme-top-button,.hh-more-button{appearance:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--theme-surface-2);border-radius:50%;color:var(--theme-header-text);cursor:pointer}
.hh-menu-button,.hh-member-button,.hh-theme-top-button{-webkit-appearance:none;flex:0 0 44px;padding:0;margin:0;text-decoration:none;box-shadow:none;line-height:1;transition:background var(--theme-motion-fast) ease,color var(--theme-motion-fast) ease,transform var(--theme-motion-fast) ease}
.hh-menu-button:hover,.hh-menu-button:focus-visible,.hh-menu-button[aria-expanded="true"],.hh-member-button:hover,.hh-member-button:focus-visible,.hh-member-button.is-active,.hh-theme-top-button:hover,.hh-theme-top-button:focus-visible,.hh-theme-top-button[aria-expanded="true"]{background:var(--theme-accent-2);color:var(--theme-accent);outline:0}
.hh-menu-button:active,.hh-member-button:active,.hh-theme-top-button:active{transform:scale(.97)}
.hh-menu-button svg,.hh-member-button svg,.hh-theme-top-button svg{display:block;width:24px;height:24px;flex:0 0 24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.hh-menu-button svg *,.hh-member-button svg *,.hh-theme-top-button svg *{vector-effect:non-scaling-stroke}
.hh-menu-button .hh-menu-grid circle{fill:currentColor;stroke:none}
.hh-theme-top-button .hh-top-icon circle{fill:none;stroke:currentColor}
.hh-apps-panel{position:absolute;right:0;top:52px;width:min(364px,calc(100vw - 28px));padding:16px;background:var(--theme-header);border:var(--theme-border-width) solid var(--theme-border);border-radius:var(--theme-radius-card);box-shadow:var(--theme-shadow-lg);z-index:2147483001}
.hh-apps-panel[hidden]{display:none}
.hh-apps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hh-app-item{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:12px 6px;border-radius:var(--theme-radius-card);text-decoration:none;color:var(--theme-text);transition:background var(--theme-motion-fast),transform var(--theme-motion-fast),color var(--theme-motion-fast)}
.hh-app-item:hover,.hh-app-item.is-active{background:var(--theme-surface-2);color:var(--theme-header-text)}
.hh-app-item:hover{transform:translateY(-1px)}
.hh-app-icon{width:56px;height:56px;border-radius:var(--theme-radius-card);display:grid;place-items:center;background:var(--theme-surface-2);color:var(--theme-header-text)}
.hh-app-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.hh-app-item.is-active .hh-app-icon{background:var(--theme-accent-2);color:var(--theme-accent)}
.hh-admin-item .hh-app-icon{background:var(--theme-surface-2);color:var(--theme-header-text)}
.hh-app-item strong{max-width:100%;font-size:12px;font-weight:var(--theme-weight-medium);line-height:var(--theme-leading-body);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hh-app-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 6px 0;border-top:var(--theme-border-width) solid var(--theme-border)}
.hh-language-switch{display:flex;align-items:center;gap:5px;color:var(--theme-muted);font-size:12px}
.hh-language-switch a{color:var(--theme-muted);text-decoration:none}
.hh-language-switch a.active{color:var(--theme-accent);font-weight:var(--theme-weight-strong)}
.hh-logout-link{color:var(--theme-muted);text-decoration:none;font-size:12px;font-weight:var(--theme-weight-medium)}
.hh-logout-link:hover{color:var(--theme-header-text)}
.site-header,.home-google-header{display:none}
@media(max-width:760px){.hh-global-bar{min-height:58px;padding:0 12px;gap:10px}.hh-global-left,.hh-global-right{gap:10px}.hh-top-link{min-height:58px;font-size:13px}.hh-menu-button,.hh-member-button,.hh-theme-top-button{width:42px;height:42px;flex-basis:42px}.hh-menu-button svg,.hh-member-button svg,.hh-theme-top-button svg{width:23px;height:23px;flex-basis:23px}.hh-apps-panel{position:fixed;right:10px;top:64px;width:min(364px,calc(100vw - 20px));max-height:calc(100dvh - 76px);overflow:auto}}
@media(max-width:420px){.hh-global-bar{padding:0 8px}.hh-top-link{font-size:12px}.hh-menu-button,.hh-member-button,.hh-theme-top-button{width:40px;height:40px;flex-basis:40px}.hh-menu-button svg,.hh-member-button svg,.hh-theme-top-button svg{width:22px;height:22px;flex-basis:22px}.hh-apps-panel{right:6px;top:60px;width:calc(100vw - 12px);padding:12px;border-radius:var(--theme-radius-card)}.hh-apps-grid{gap:6px}.hh-app-item{padding:10px 4px}.hh-app-icon{width:52px;height:52px;border-radius:var(--theme-radius-card)}.hh-app-icon svg{width:28px;height:28px}.hh-app-item strong{font-size:12px}}
.minimal-brand-logo{display:block;max-width:min(360px,72vw);max-height:104px;width:auto;height:auto;object-fit:contain;margin:0 auto}
@media(max-width:640px){.minimal-brand-logo{max-width:min(280px,78vw);max-height:82px}}
.hh-apps-panel{isolation:isolate;transform:translateZ(0)}


/* 2026-10-02 spacing balance */
.hh-global-bar{
  min-height:70px;
  padding-left:clamp(24px,4.5vw,58px);
  padding-right:clamp(24px,4.5vw,58px);
}
.hh-top-link{min-height:70px}
.hh-global-left,.hh-global-right{gap:16px}

@media(max-width:760px){
  .hh-top-link{font-size:14px }
  .hh-apps-panel{max-width:380px}
}

/* 2026-10-02 top icons text-color unify */
.hh-theme-top-button,
.hh-menu-button,
.hh-member-button{
  background:transparent ;
  color:var(--theme-header-text) ;
  opacity:1 ;
  filter:none ;
  box-shadow:var(--theme-shadow-sm);
}
.hh-theme-top-button:hover,
.hh-menu-button:hover,
.hh-member-button:hover,
.hh-theme-top-button:focus-visible,
.hh-menu-button:focus-visible,
.hh-member-button:focus-visible,
.hh-theme-top-button[aria-expanded="true"],
.hh-menu-button[aria-expanded="true"],
.hh-member-button.is-active{
  background:var(--theme-surface-2) ;
  color:var(--theme-header-text) ;
  opacity:1 ;
}
.hh-theme-top-button svg,
.hh-menu-button svg,
.hh-member-button svg{
  width:27px ;
  height:27px ;
  flex:0 0 27px ;
  color:var(--theme-header-text) ;
  stroke:var(--theme-header-text) ;
  opacity:1 ;
  filter:none ;
}
.hh-theme-top-button svg *,
.hh-menu-button svg *,
.hh-member-button svg *{
  color:var(--theme-header-text) ;
  stroke:var(--theme-header-text) ;
  opacity:1 ;
  filter:none ;
}
.hh-menu-button .hh-menu-grid circle{
  fill:var(--theme-header-text) ;
  stroke:none ;
  opacity:1 ;
}
.hh-theme-top-button .hh-top-icon circle,
.hh-member-button .hh-top-icon circle,
.hh-theme-top-button .hh-top-icon path,
.hh-member-button .hh-top-icon path{
  stroke:var(--theme-header-text) ;
  opacity:1 ;
}
/* === mobile === */
/* HOLIUS global mobile optimization */
@media (max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  img,video,iframe,svg{max-width:100%}
  .container{width:min(100% - 28px,1180px)}
  .page-hero{padding:28px 0 16px}
  .page-hero h1{font-size:clamp(28px,8vw,36px);line-height:var(--theme-leading-heading)}
  .page-hero p{font-size:14px;line-height:var(--theme-leading-body)}
  .section{padding:24px 0}
  .section-head{align-items:flex-start;gap:12px;flex-wrap:wrap}
  .section-head>div:first-child{min-width:0}
  .section-head h2{font-size:22px}
  .card{border-radius:var(--theme-radius-card)}
  .toolbar{gap:7px}
  .input,.textarea,.select,input,select,textarea{font-size:16px}
  table{max-width:100%}
  .table-wrap,table.responsive-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .filter-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .filter-tabs::-webkit-scrollbar{display:none}
  .filter-tab{flex:0 0 auto}
  .media-video iframe{width:100%}
}
@media (max-width:680px){
  .container{width:min(100% - 20px,1180px)}
  .card{padding:var(--holius-card-inset-mobile,16px)}
  .page-hero{padding-top:22px}
  .section-head{margin-bottom:14px}
  .section-head .btn,.section-head>.toolbar{max-width:100%}
  .toolbar{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}
  .toolbar::-webkit-scrollbar{display:none}
  .toolbar>.btn,.toolbar>form,.toolbar>a{flex:0 0 auto}
  .btn{min-height:44px;padding:10px 14px}
  .btn-sm{min-height:44px;padding:8px 11px}
  .grid-4,.grid-3,.grid-2,.two-col{grid-template-columns:1fr}
  .media-grid{grid-template-columns:1fr}
  .media-body{padding:16px}
  .media-body h3{font-size:18px}
  .chat-shell{height:min(68vh,560px)}
  .chat-form{gap:6px}
  .chat-form .btn{padding-inline:12px}
  .prayer-row{gap:10px}
  .prayer-count{min-width:62px}
  .footer-grid{gap:18px}
  .footer-links{gap:12px}
}
@media (max-width:420px){
  .container{width:min(100% - 16px,1180px)}
  .card{padding:var(--holius-card-inset-mobile,16px)}
  .btn{padding-inline:12px}
  .page-hero h1{font-size:28px}
}

/* === performance === */
/* Lightweight rendering optimizations for long pages. Unsupported browsers simply ignore these rules. */
@supports (content-visibility:auto){
  .section:not(:first-of-type),
  .home-news-card,
  .media-card,
  .job-card,
  .ad-card,
  .post-card,
  .utility-card{content-visibility:auto;contain-intrinsic-size:1px 360px}
}
img{height:auto}

/* HOLIUS design restore:keep the approved Home nav hit-area after core consolidation */
.hh-top-link{
  min-width:44px;
  padding-left:14px;
  padding-right:14px;
  justify-content:center;
}
@media(max-width:760px){
  .hh-top-link{
    padding-left:12px ;
    padding-right:12px ;
  }
}


/* 2026-10-03 recovery:legacy core variables follow the current theme roles. */
:root{
  --surface:var(--bg-surface);
  --primary2:color-mix(in srgb,var(--brand-accent) 10%,var(--bg-surface));
  --shadow:var(--shadow-style);
}
body{background:var(--bg-primary);color:var(--text-main)}


/* 2026-10-03 design stabilization phase 5: overflow safety for dynamic content.
   Normal text is unchanged; only unbroken long strings wrap instead of widening the page. */
.card,.section-head,.toolbar,.list-item,.footer-grid{min-width:0}
.card h1,.card h2,.card h3,.card p,.list-item,.meta,.alert,.footer-grid p{overflow-wrap:anywhere}
/* 2026-10-04 design stabilization phase 8: form overflow safety.
   Visual styling is unchanged; controls are only allowed to shrink inside narrow containers. */
form,fieldset,.form-group,label{min-width:0}
.input,.textarea,.select,input[type="file"]{max-width:100%;min-width:0}
input[type="file"]{width:100%}
/* R109 shared footer mobile/tablet touch-target contract: source of truth.
   Preserve text layout and service links; only enlarge clickable boxes on mobile. */
@media (max-width:1024px), (pointer:coarse) {
  .site-footer .footer-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--hh-touch, 44px);
    min-height: var(--hh-touch, 44px);
    padding-inline: 8px;
  }
}
/* END assets/site-core.css */

/* BEGIN assets/global-header.css */
/* HOLIUS Google-style icons */
.hh-global-header{position:sticky;top:0;z-index:2147483000;isolation:isolate;overflow:visible;background:var(--theme-header);border-bottom:var(--theme-border-width) solid var(--theme-border);box-shadow:none}


.hh-top-link{position:relative;display:inline-flex;align-items:center;min-height:64px;color:var(--theme-muted);text-decoration:none;font-size:var(--type-button-size);font-weight:var(--theme-weight-medium);white-space:nowrap;transition:color var(--theme-motion-fast) ease}




/* HOLiUS header wordmark: the home action is the brand itself. */
.hh-brand-wordmark{
  display:inline-flex;
  align-items:center;
  min-height:64px;
  color:var(--theme-header-text);
  text-decoration:none;
  font-family:var(--holius-wordmark-font);
  font-size:21px;
  font-weight:var(--holius-wordmark-weight);
  line-height:1;
  letter-spacing:var(--holius-wordmark-tracking);
  white-space:nowrap;
  font-synthesis:none;
  transition:color var(--theme-motion-fast) ease,opacity var(--theme-motion-fast) ease;
}
.hh-brand-wordmark:hover,.hh-brand-wordmark:focus-visible{color:var(--theme-accent);outline:0}
.hh-brand-wordmark:active{opacity:var(--theme-opacity-muted)}
@media(max-width:760px){.hh-brand-wordmark{min-height:66px;font-size:20px}}
@media(max-width:420px){.hh-brand-wordmark{min-height:64px;font-size:19px}}



















.hh-app-item strong{max-width:100%;font-size:var(--type-caption-size);font-weight:var(--theme-weight-medium);line-height:var(--theme-leading-legacy-1-35,1.35);text-align:center;white-space:normal;overflow-wrap:anywhere}

.hh-language-switch{display:flex;align-items:center;gap:5px;color:var(--theme-muted);font-size:var(--type-caption-size);flex-wrap:wrap}


.hh-logout-link{color:var(--theme-muted);text-decoration:none;font-size:var(--type-caption-size);font-weight:var(--theme-weight-medium)}


@media(max-width:420px){.hh-app-item strong{font-size:var(--type-caption-size)}}




/* 2026-10-02 spacing balance */
.hh-global-bar{
  min-height:70px;
  padding-left:clamp(24px,4.5vw,58px);
  padding-right:clamp(24px,4.5vw,58px);
}
.hh-top-link{min-height:70px}
.hh-global-left,.hh-global-right{gap:16px}

@media(max-width:760px){
  .hh-global-bar{
    min-height:66px;
    padding-left:20px;
    padding-right:20px;
    gap:14px;
  }
  .hh-global-left,.hh-global-right{gap:12px}
  .hh-top-link{
    min-height:66px;
    font-size:var(--type-button-size);
  }
  .hh-apps-panel{
    top:72px;
    right:16px;
    width:calc(100vw - 32px);
    max-width:380px;
  }
}
@media(max-width:420px){
  .hh-global-bar{
    min-height:64px;
    padding-left:18px;
    padding-right:18px;
  }
  .hh-top-link{min-height:64px}
  .hh-apps-panel{
    top:70px;
    right:12px;
    width:calc(100vw - 24px);
  }
}




/* 2026-10-02 top icons text-color unify */






@media(max-width:760px){
  .hh-theme-top-button svg,
  .hh-menu-button svg,
  .hh-member-button svg{
    width:26px;
    height:26px;
    flex-basis:26px;
  }
}

/* 0059: theme/font moved into right-side overflow menu */
.hh-more-wrap{position:relative;display:flex;align-items:center}
.hh-more-button svg{width:24px;height:24px}.hh-more-button circle{fill:currentColor;stroke:none}
.hh-more-button:hover,.hh-more-button:focus-visible,.hh-more-button[aria-expanded="true"]{background:var(--theme-accent-2);color:var(--theme-accent);outline:0}
.hh-more-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:130;min-width:210px;padding:8px;border:var(--theme-border-width) solid var(--theme-border);border-radius:var(--theme-radius-control);background:var(--theme-surface);box-shadow:var(--theme-shadow-lg)}
.hh-more-panel button{width:100%;min-height:52px;border:0;border-radius:var(--theme-radius-button);background:transparent;color:var(--theme-text);padding:8px 10px;text-align:left;cursor:pointer}
.hh-more-panel button:hover,.hh-more-panel button:focus-visible{background:var(--theme-surface-2);outline:0}.hh-more-panel span,.hh-more-panel small{display:block}.hh-more-panel span{font-size:var(--type-label-size);font-weight:var(--theme-weight-700,700);overflow-wrap:anywhere}.hh-more-panel small{margin-top:2px;color:var(--theme-muted);font-size:var(--type-caption-size);overflow-wrap:anywhere}
@media(max-width:760px){.hh-more-button{width:44px;height:44px}.hh-more-button svg{width:23px;height:23px}}
@media(max-width:420px){.hh-more-button{width:44px;height:44px}.hh-more-button svg{width:22px;height:22px}.hh-more-panel{position:fixed;right:8px;top:60px;min-width:220px}}

/* 0175 — Primary Navigation. Dedicated row keeps app/member controls isolated. */
.hh-primary-nav{display:flex;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:0 clamp(18px,4vw,54px);overflow-x:auto;scrollbar-width:none;border-top:var(--theme-border-width) solid var(--theme-border);background:var(--theme-header)}
.hh-primary-nav::-webkit-scrollbar{display:none}
.hh-primary-nav a{position:relative;flex:0 0 auto;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;color:var(--theme-muted);font-size:var(--type-button-size);font-weight:var(--theme-weight-medium);text-decoration:none;white-space:nowrap}
.hh-primary-nav a:hover,.hh-primary-nav a:focus-visible{color:var(--theme-header-text)}
.hh-primary-nav a:focus-visible{outline:var(--holius-pub-focus-ring-width,2px) solid var(--holius-pub-focus-ring-color,var(--theme-accent));outline-offset:-3px;border-radius:var(--theme-radius-button)}
.hh-primary-nav a.is-active{color:var(--theme-accent)}
.hh-primary-nav a.is-active::after{content:"";position:absolute;inset-inline:12px;bottom:0;height:3px;border-radius:999px;background:var(--theme-accent)}
@media(max-width:760px){.hh-primary-nav{justify-content:flex-start;min-height:46px;padding:0 12px}.hh-primary-nav a{min-height:46px;padding:0 11px}.hh-primary-nav a.is-active::after{inset-inline:10px;height:2px}}
@media(max-width:420px){.hh-primary-nav{padding-inline:8px}.hh-primary-nav a{padding-inline:9px}}

/* 0385 shared publishing contract: keyboard focus survives hover/expanded colors. */
:where(.hh-brand-wordmark,.hh-menu-button,.hh-member-button,.hh-theme-top-button,.hh-more-button):focus-visible{outline:var(--holius-pub-focus-ring-width,2px) solid var(--holius-pub-focus-ring-color,var(--theme-accent,#2563eb));outline-offset:var(--holius-pub-focus-offset,2px)}
@media (forced-colors:active){:where(.hh-brand-wordmark,.hh-menu-button,.hh-member-button,.hh-theme-top-button,.hh-more-button):focus-visible{outline-color:Highlight}}

/* 0391 — v1.86 header: preserve functional slots, rebalance available space. */
.hh-global-bar{min-width:0}
.hh-global-left{flex:0 0 auto}
.hh-global-search{min-width:0;flex:1 1 380px;max-width:660px}
.hh-global-search input{min-width:0;width:100%}
.hh-global-right{flex:0 0 auto}
.hh-global-header :where(.hh-menu-button,.hh-member-button,.hh-more-button){min-width:44px;min-height:44px}
.hh-apps-panel,.hh-more-panel{box-sizing:border-box;max-width:calc(100vw - 24px);overscroll-behavior:contain}
@media(min-width:761px) and (max-width:1100px){.hh-global-bar{gap:clamp(10px,1.5vw,18px);padding-inline:clamp(14px,2vw,26px)}.hh-global-right{gap:8px}.hh-global-search{flex-basis:240px}}
@media(max-width:760px){.hh-global-right{gap:8px}.hh-global-search{flex-basis:auto}.hh-global-header :where(.hh-menu-button,.hh-member-button,.hh-more-button){width:44px;height:44px;flex-basis:44px}}
@media(max-width:420px){.hh-global-bar{gap:8px;padding-inline:10px}.hh-global-left{flex-shrink:0}.hh-global-right{gap:5px}.hh-brand-wordmark{font-size:18px}.hh-apps-panel,.hh-more-panel{max-width:calc(100vw - 16px)}}
@media(forced-colors:active){.hh-global-header :where(.hh-menu-button,.hh-member-button,.hh-more-button):focus-visible{outline:2px solid Highlight;outline-offset:2px}}

/* 0393 — header hierarchy and density: layout-only, no functionality removed. */
.hh-global-bar{column-gap:clamp(10px,1.65vw,24px)}

.hh-global-search :where(input,button){box-sizing:border-box}
.hh-global-right{min-width:0}
.hh-brand-wordmark{flex-shrink:0}
@media (min-width:761px) and (max-width:1199px){
  .hh-global-bar{column-gap:clamp(10px,1.35vw,16px)}
  .hh-global-search{flex:1 1 230px;max-width:560px}
  .hh-global-right{gap:clamp(6px,0.8vw,12px)}
}
@media (max-width:760px){
  .hh-global-bar{column-gap:10px}
  .hh-global-search{flex:1 1 auto;min-width:0}
  .hh-global-search input{min-width:0}
}
@media (prefers-reduced-motion:reduce){
  .hh-global-header :where(.hh-brand-wordmark,.hh-menu-button,.hh-member-button,.hh-theme-top-button,.hh-more-button){transition:none}
}

/* 0657 - shared header: navigation visibility, focus and responsive resilience.
   Additive rules only: preserve menu actions, links, theme and account state. */
.hh-primary-nav{scroll-padding-inline:16px;-webkit-overflow-scrolling:touch}
.hh-primary-nav a{scroll-margin-inline:12px}
.hh-primary-nav a:focus-visible{outline-offset:-2px;z-index:1}
.hh-global-header :where(.hh-menu-button,.hh-member-button,.hh-more-button,.hh-theme-top-button):focus-visible{outline-offset:2px}
.hh-apps-panel,.hh-more-panel{overflow-wrap:anywhere}
@media(max-width:760px){
  .hh-primary-nav{scroll-padding-inline:12px}
}
@media(forced-colors:active){
  .hh-primary-nav a.is-active{forced-color-adjust:auto;text-decoration:underline;text-underline-offset:5px}
  .hh-primary-nav a:focus-visible{outline:2px solid Highlight}
}

/* 0673 — shared header/navigation layout refinement.
   Preserve all existing controls, routes, search forms, and account interactions. */
.hh-global-header,.hh-global-header *{box-sizing:border-box}
.hh-global-bar{min-width:0;max-width:100%;align-items:center}
.hh-global-left,.hh-global-right,.hh-global-search{min-width:0}
.hh-global-search input[type="search"]{min-width:0;max-width:100%}
.hh-primary-nav{max-width:100%;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.hh-primary-nav>a{scroll-snap-align:start}
.hh-global-header :where(a,button,input):focus-visible{outline:2px solid var(--holius-pub-focus-ring-color,var(--theme-accent,#2563eb));outline-offset:2px}
.hh-global-header :where(button,a){touch-action:manipulation}
@media (max-width:760px){
  .hh-global-bar{max-width:100%;padding-inline:clamp(8px,2.5vw,16px)}
  .hh-global-right{flex-shrink:0}
  .hh-primary-nav{justify-content:flex-start;scroll-padding-inline:12px}
  .hh-primary-nav>a{min-height:44px}
}
@media (max-width:360px){
  .hh-global-bar{column-gap:6px}
  .hh-primary-nav{padding-inline:6px}
  .hh-primary-nav>a{padding-inline:10px}
}
@media (forced-colors:active){
  .hh-global-header :where(a,button,input):focus-visible{outline-color:Highlight}
  .hh-primary-nav>a.is-active{text-decoration:underline;text-underline-offset:5px}
}
@media (prefers-reduced-motion:reduce){.hh-primary-nav{scroll-behavior:auto}}

/* 0902: Reveal horizontal navigation continuation only while more links are hidden. */
@media(max-width:760px){
  .hh-primary-nav.has-scroll-right:not(.has-scroll-left){-webkit-mask-image:linear-gradient(to right,#000 0%,#000 calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 calc(100% - 20px),transparent 100%)}
  .hh-primary-nav.has-scroll-left:not(.has-scroll-right){-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 20px,#000 100%);mask-image:linear-gradient(to right,transparent 0%,#000 20px,#000 100%)}
  .hh-primary-nav.has-scroll-left.has-scroll-right{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 20px,#000 calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 20px,#000 calc(100% - 20px),transparent 100%)}
}
/* END assets/global-header.css */

/* BEGIN assets/i18n-platform.css */
/* HOLiUS i18n Platform 0173
   UI locale × Content language × Bible translation are independent axes. */

.hh-language-switch{position:relative;min-width:0}
.hh-language-switch>summary{min-height:38px;display:flex;align-items:center;gap:6px;padding:0 9px;border-radius:var(--theme-radius-button);color:var(--theme-muted);cursor:pointer;list-style:none;font-size:var(--type-caption-size)}
.hh-language-switch>summary::-webkit-details-marker{display:none}
.hh-language-switch>summary::marker{content:""}
.hh-language-switch>summary:hover,.hh-language-switch[open]>summary{background:var(--theme-surface-2);color:var(--theme-text)}
.hh-language-switch>summary small{padding-inline-start:6px;border-inline-start:1px solid var(--theme-border);color:var(--theme-muted);font-size:10px}
.hh-language-panel{position:absolute;z-index:2147483005;inset-inline-end:0;top:calc(100% + 8px);width:min(560px,calc(100vw - 32px));max-height:min(70dvh,640px);overflow:auto;padding:14px;border:var(--theme-border-width) solid var(--theme-border);border-radius:var(--theme-radius-card);background:var(--theme-surface);box-shadow:var(--theme-shadow-lg);text-align:start}
.hh-language-panel section+section{margin-top:16px;padding-top:14px;border-top:var(--theme-border-width) solid var(--theme-border)}
.hh-language-panel section>strong{display:block;color:var(--theme-text);font-size:12.5px}
.hh-language-panel section>p{margin:5px 0 10px;color:var(--theme-muted);font-size:10.5px;line-height:var(--theme-leading-legacy-1-5,1.5)}
.hh-language-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}
.hh-language-options a{min-width:0;min-height:48px;padding:8px 9px;display:flex;flex-direction:column;justify-content:center;border:var(--theme-border-width) solid var(--theme-border);border-radius:var(--theme-radius-button);background:var(--theme-bg);color:var(--theme-text);text-decoration:none;text-align:start}
.hh-language-options a:hover,.hh-language-options a:focus-visible{border-color:color-mix(in srgb,var(--theme-accent) 38%,var(--theme-border));outline:0}
/* Keyboard focus must remain visible across light/dark themes. */
.hh-language-options a:focus-visible{outline:2px solid var(--theme-accent,#2563eb);outline-offset:2px;box-shadow:inset 0 0 0 2px var(--theme-accent,#2563eb)}
.hh-language-options a.active{border-color:var(--theme-accent);background:var(--theme-accent-2)}
.hh-language-options span{overflow:hidden;font-size:12px;font-weight:var(--theme-weight-strong);text-overflow:ellipsis;white-space:nowrap}
.hh-language-options small{overflow:hidden;margin-top:2px;color:var(--theme-muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}
/* Display the complete localized label, including when scripts expand. */
.hh-language-options span,.hh-language-options small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}

html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] .hh-global-bar,
html[dir="rtl"] .hh-app-panel-footer,
html[dir="rtl"] .home-platform-v2 .home-section-heading,
html[dir="rtl"] .bible-platform-section-head{direction:rtl}
html[dir="rtl"] .hh-apps-panel{right:auto;left:0}
html[dir="rtl"] .hh-more-panel{right:auto;left:0}
html[dir="rtl"] .home-platform-v2 .home-section-heading>p,
html[dir="rtl"] .home-news-section-head p,
html[dir="rtl"] .bible-platform-section-head>p{text-align:start}
html[dir="rtl"] .home-platform-service-card{grid-template-columns:16px minmax(0,1fr) 40px}
html[dir="rtl"] .home-platform-service-card>.home-platform-service-icon{grid-column:3}
html[dir="rtl"] .home-platform-service-card>.home-platform-service-copy{grid-column:2;grid-row:1}
html[dir="rtl"] .home-platform-service-card>b{grid-column:1;grid-row:1;transform:scaleX(-1)}
/* R157: Desktop popup follows the start edge; mobile is a viewport-wide bottom sheet. */
@media(min-width:721px){html[dir="rtl"] .bible-platform-more-menu{right:auto;left:0}}

/* Header language summary may contain two long localized names. */
.hh-language-switch>summary{max-width:100%;min-width:0}
.hh-language-switch>summary>span,.hh-language-switch>summary>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Large text gets fewer columns, without changing the normal density. */
html[data-font-scale="4"] .hh-language-options,
html[data-font-scale="5"] .hh-language-options{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
  .hh-language-panel{position:fixed;inset-inline:12px;top:76px;width:auto;max-height:calc(100dvh - 90px)}
  .hh-language-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-font-scale="4"] .hh-language-options,
  html[data-font-scale="5"] .hh-language-options{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:390px){.hh-language-options{grid-template-columns:1fr}}
/* END assets/i18n-platform.css */

/* BEGIN assets/theme-system.css */
/* HOLIUS fixed palette foundation — one visual identity (Stage 19) */
:root{--font-family:var(--theme-font-ui);--radius-btn:var(--theme-radius-button,8px);--radius-card:var(--theme-radius-card,12px);--border-width:var(--theme-border-width,1px);--theme-font:var(--theme-font-ui);--theme-radius-btn:var(--theme-radius-button);--legacy-radius-card:var(--theme-radius-card);--legacy-border-width:var(--theme-border-width);--bg-primary:#FFFFFF;--bg-surface:#F8F9FA;--text-main:#111827;--text-sub:#6B7280;--brand-accent:#111827;--brand-accent-hover:#1F2937;--border-color:#E5E7EB;--shadow-style:0 4px 12px rgba(0,0,0,.03);--theme-bg:var(--bg-primary);--theme-surface:var(--bg-surface);--theme-text:var(--text-main);--theme-muted:var(--text-sub);--theme-accent:var(--brand-accent);--theme-accent-hover:var(--brand-accent-hover);--theme-border:var(--border-color);--theme-shadow:var(--shadow-style);--theme-accent-contrast:#FFFFFF;--theme-surface-2:#F3F4F6;--theme-input:#FFFFFF;--theme-header:color-mix(in srgb,var(--bg-primary) 94%,transparent);--theme-header-text:var(--text-main);--theme-header-hover:color-mix(in srgb,var(--bg-surface) 82%,var(--bg-primary));--theme-accent-2:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-primary));}
/* Modern Soft Clean — 미니멀 무채색 */
html{--bg-primary:#FFFFFF;--bg-surface:#F8F9FA;--text-main:#111827;--text-sub:#6B7280;--brand-accent:#111827;--brand-accent-hover:#1F2937;--border-color:#E5E7EB;--shadow-style:0 4px 12px rgba(0,0,0,.03);--theme-bg:var(--bg-primary);--theme-surface:var(--bg-surface);--theme-surface-2:color-mix(in srgb,var(--bg-surface) 78%,var(--bg-primary));--theme-text:var(--text-main);--theme-muted:var(--text-sub);--theme-accent:var(--brand-accent);--theme-accent-hover:var(--brand-accent-hover);--theme-accent-contrast:#FFFFFF;--theme-border:var(--border-color);--theme-shadow:var(--shadow-style);--theme-input:var(--bg-surface);--theme-header:color-mix(in srgb,var(--bg-primary) 94%,transparent);--theme-header-text:var(--text-main);--theme-header-hover:color-mix(in srgb,var(--bg-surface) 82%,var(--bg-primary));--theme-accent-2:color-mix(in srgb,var(--brand-accent) 14%,var(--bg-primary));}
/* Deep Navy Fresh — 시안 & 딥 네이비 */

/* Sage Organic Clean — 세이지 그린 */

/* Slate Blue Corporate — 슬레이트 블루 */

/* Stark Ink Monochrome — 잉크 블랙 & 무채색 강대비 */

/* Pop Graphic Electric Red — 일렉트릭 레드 */

/* Parchment Modern Antique — 모던 샌드 스톤 */

/* Midnight OLED Emerald — OLED 딥 블랙 & 팝 에메랄드 */

/* Cyber Violet Neon — 미래지향 다크 퍼플 & 네온 */

/* Charcoal Industrial Amber — 묵직한 차콜 & 와일드 앰버 */

/* Deep Space Indigo Pink — 우주 인디고 & 핫핑크 */

/* Lime Acid Tech — 다크 차콜 & 애시드 형광 라임 */

/* Cyber Magenta Glow — 딥 다크 & 네온 마젠타 */

/* Y2K Street Cyber Neon — 스트릿 네온 옐로우 */

/* Cobalt Blue Energy — 코발트 블루 */

/* Royal Luxury Navy Gold — 딥 네이비 & 골드 */

/* British Forest Club — 프라이빗 다크 그린 */

/* Bordeaux Wine Velvet — 벨벳 딥 와인 */

/* Vibrant Hot Pink — 쨍한 팝 핑크 & 딥 바이올렛 */

/* Vibrant Electric Yellow — 네온 옐로우 & 차콜 */

/* Vibrant Vivid Lime — 비비드 라임 & 딥 그린 */

/* Vibrant Aqua Teal — 아쿠아 테일 & 인디고 */

body{background:var(--theme-bg);color:var(--theme-text);font-family:var(--theme-font);transition:background-color var(--theme-motion-fast) ease,color var(--theme-motion-fast) ease}
body,button,input,select,textarea{font-family:var(--theme-font)}
a{color:inherit}
.card,.home-news-card,.media-card,.job-card,.post-card,.ad-card,.utility-card,.settings-card,.setting-block,.settings-sidebar,.hh-apps-panel,.theme-picker-dialog,.theme-choice,.theme-admin-option{border-radius:var(--theme-radius-card);border-width:var(--theme-border-width);box-shadow:var(--theme-shadow)}
.btn,.button,.btn-primary,.button-primary,.primary-button,.btn-outline,.button-outline,.secondary-button,button[type="submit"],input[type="submit"],.minimal-search-submit,.theme-reset-button{border-radius:var(--theme-radius-btn);border-width:var(--theme-border-width);font-family:var(--theme-font)}
.hh-global-header,.hh-global-bar{background:var(--theme-header);border-color:var(--theme-border);color:var(--theme-header-text);backdrop-filter:blur(12px)}
.hh-menu-button,.hh-member-button,.hh-top-link{color:var(--theme-header-text)}.hh-menu-button:hover,.hh-menu-button[aria-expanded="true"],.hh-member-button:hover,.hh-member-button.is-active{background:var(--theme-header-hover);color:var(--theme-header-text)}
.hh-apps-panel{background:var(--theme-surface);color:var(--theme-text)}.hh-app-item{color:var(--theme-text)}.hh-app-item:hover{background:var(--theme-surface-2)}.hh-app-icon{background:var(--theme-accent-2);color:var(--theme-accent)}.hh-app-item.is-active{background:var(--theme-accent-2)}.hh-language-switch a,.hh-logout-link{color:var(--theme-muted)}.hh-language-switch a.active{color:var(--theme-accent)}
.minimal-search{background:var(--theme-surface);border-color:var(--theme-border);box-shadow:var(--theme-shadow);border-width:1px}.minimal-search input{background:transparent;border:0;font-family:var(--theme-font)}.minimal-search-icon,.minimal-search-voice,.minimal-search-submit{color:var(--theme-muted)}
.home-news-card h2,.home-news-list a{color:var(--theme-text)}.home-news-card,.home-news-item,.home-news-list>li{border-color:var(--theme-border)}.home-news-more{color:color-mix(in srgb,var(--theme-text) 75%,var(--theme-accent))}
.page-hero,.eyebrow{color:var(--theme-text)}.settings-sidebar,.setting-block{background:var(--theme-surface);border-color:var(--theme-border)}.settings-nav a{color:var(--theme-text)}.settings-nav a.active{background:var(--theme-accent-2);color:var(--theme-accent)}
.site-footer{background-color:var(--theme-bg);color:var(--theme-text);border-top-color:var(--theme-border);font-family:var(--theme-font)}.site-footer .footer-grid p,.site-footer .footer-links,.site-footer .copyright{color:var(--theme-muted)}
:root,html[data-theme]{--accent:var(--theme-accent);--accent-hover:var(--theme-accent-hover,var(--theme-accent));--accent-soft:var(--theme-accent-2);--accent-contrast:var(--theme-accent-contrast,#fff);--accent-shadow:var(--theme-border);--focus-ring:var(--theme-accent)}
.btn-primary,.button-primary,.primary-button,button[type="submit"]:not(.theme-reset-button):not(.theme-picker-close):not(.search-icon-submit):not(.minimal-search-submit):not(.search-overlay-submit):not(.bible-direct-submit),input[type="submit"]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover,.button-primary:hover,.primary-button:hover,button[type="submit"]:not(.theme-reset-button):not(.theme-picker-close):not(.search-icon-submit):not(.minimal-search-submit):not(.search-overlay-submit):not(.bible-direct-submit):hover,input[type="submit"]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}/* Secondary outlined actions inherit accessible text and surface roles instead of UA button colors. */
.btn-outline,.button-outline,.secondary-button{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}
.tabs a.active,.tabs button.active,.tab.active,.is-active[data-tab],.filter-chip.active,.chip.active,.pill.active,.pagination .active,.pagination [aria-current="page"],.page-link[aria-current="page"],.settings-nav a.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.progress-bar>span,.progress-fill,.meter>span{background:var(--accent)}.badge-accent,.status-accent{color:var(--accent);background:var(--accent-soft)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}input[type="checkbox"],input[type="radio"]{accent-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--theme-focus-ring)}.home-news-more,.more-link,.load-more,.view-more{color:color-mix(in srgb,var(--theme-text) 75%,var(--theme-accent))}.search-result-mark,.search-highlight,mark{background:var(--accent-soft);color:var(--theme-text)}.bible-verse.is-selected,.bible-verse:target,.media-filter .active,.filter-option.active{border-color:var(--accent);background:var(--accent-soft)}.bible-verse-number,.active-icon,.icon.is-active{color:var(--accent)}.hh-top-link.is-active{color:var(--accent)}.hh-top-link.is-active::after{background:var(--accent)}.theme-choice.active,.theme-admin-option:has(input:checked){outline-color:var(--accent)}
.hh-theme-launch{appearance:none;border:0;font:inherit;cursor:pointer;width:100%;text-align:center}.theme-picker[hidden]{display:none}.theme-picker{position:fixed;inset:0;z-index:2147483647;isolation:isolate}.theme-picker-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--theme-text) 24%,transparent);z-index:0}.theme-picker-dialog{z-index:1;position:relative;width:min(760px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 28px));margin:14px auto;color:var(--theme-text);border-radius:var(--theme-radius-modal)}.theme-picker-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.theme-picker-close{cursor:pointer}.theme-picker-grid{display:block;margin-top:18px}.theme-group-title{letter-spacing:var(--theme-tracking-heading)}.theme-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.theme-choice{border:1px solid var(--theme-border);background:var(--theme-surface);color:var(--theme-text);border-radius:var(--theme-radius-card);padding:14px;text-align:left;cursor:pointer;transition:var(--theme-motion-fast)}.theme-choice:hover{transform:translateY(-1px);box-shadow:var(--theme-shadow)}.theme-choice.active{outline:2px solid var(--theme-accent);border-color:transparent}.theme-choice-swatch{display:flex;height:36px;border-radius:var(--theme-radius-card);overflow:hidden;margin-bottom:10px;border:1px solid var(--theme-border)}.theme-choice-swatch i{flex:1}.theme-choice strong{display:block;font-size:var(--type-button-size);margin-bottom:4px}.theme-choice small{display:block;color:var(--theme-muted);font-size:var(--type-caption-size);line-height:var(--theme-leading-body)}.theme-picker-foot{justify-content:flex-end}.theme-reset-button{border:1px solid var(--theme-border);background:var(--theme-surface-2);color:var(--theme-text);padding:10px 14px;border-radius:var(--theme-radius-button);cursor:pointer}.theme-admin-groups{display:grid;gap:24px}.theme-admin-group h4{margin:0 0 10px;font-size:var(--type-button-size);color:var(--theme-muted)}.theme-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.theme-admin-option{position:relative;border:1px solid var(--theme-border);border-radius:var(--theme-radius-card);padding:12px;cursor:pointer;background:var(--theme-surface)}.theme-admin-option input{position:absolute;opacity:0;pointer-events:none}.theme-admin-option:has(input:checked){outline:2px solid var(--theme-accent);border-color:transparent}.theme-admin-swatch{display:flex;height:28px;border-radius:var(--theme-radius-card);overflow:hidden;margin-bottom:8px}.theme-admin-swatch i{flex:1}.theme-admin-option strong{display:block;font-size:var(--type-button-size)}.theme-admin-option small{display:block;color:var(--theme-muted);font-size:var(--type-caption-size);line-height:var(--theme-leading-body);margin-top:3px}




[data-theme-preview="modern-soft-clean"] i:nth-child(1){background:#FFFFFF}[data-theme-preview="modern-soft-clean"] i:nth-child(2){background:#F8F9FA}[data-theme-preview="modern-soft-clean"] i:nth-child(3){background:#111827}
[data-theme-preview="deep-navy-fresh"] i:nth-child(1){background:#F0F4F8}[data-theme-preview="deep-navy-fresh"] i:nth-child(2){background:#FFFFFF}[data-theme-preview="deep-navy-fresh"] i:nth-child(3){background:#0284C7}
[data-theme-preview="sage-organic-clean"] i:nth-child(1){background:#F4F6F0}[data-theme-preview="sage-organic-clean"] i:nth-child(2){background:#FFFFFF}[data-theme-preview="sage-organic-clean"] i:nth-child(3){background:#4A5D4E}
[data-theme-preview="slate-blue-corporate"] i:nth-child(1){background:#F1F5F9}[data-theme-preview="slate-blue-corporate"] i:nth-child(2){background:#FFFFFF}[data-theme-preview="slate-blue-corporate"] i:nth-child(3){background:#3B82F6}
[data-theme-preview="stark-ink-monochrome"] i:nth-child(1){background:#FFFFFF}[data-theme-preview="stark-ink-monochrome"] i:nth-child(2){background:#F3F3F3}[data-theme-preview="stark-ink-monochrome"] i:nth-child(3){background:#000000}
[data-theme-preview="pop-graphic-electric-red"] i:nth-child(1){background:#FFF1F2}[data-theme-preview="pop-graphic-electric-red"] i:nth-child(2){background:#FFFFFF}[data-theme-preview="pop-graphic-electric-red"] i:nth-child(3){background:#E11D48}
[data-theme-preview="parchment-modern-antique"] i:nth-child(1){background:#EFECE6}[data-theme-preview="parchment-modern-antique"] i:nth-child(2){background:#F7F5F0}[data-theme-preview="parchment-modern-antique"] i:nth-child(3){background:#5C4F43}
[data-theme-preview="midnight-oled-emerald"] i:nth-child(1){background:#000000}[data-theme-preview="midnight-oled-emerald"] i:nth-child(2){background:#111111}[data-theme-preview="midnight-oled-emerald"] i:nth-child(3){background:#10B981}
[data-theme-preview="cyber-violet-neon"] i:nth-child(1){background:#0B0914}[data-theme-preview="cyber-violet-neon"] i:nth-child(2){background:#161224}[data-theme-preview="cyber-violet-neon"] i:nth-child(3){background:#A855F7}
[data-theme-preview="charcoal-industrial-amber"] i:nth-child(1){background:#1C1D21}[data-theme-preview="charcoal-industrial-amber"] i:nth-child(2){background:#26282E}[data-theme-preview="charcoal-industrial-amber"] i:nth-child(3){background:#F59E0B}
[data-theme-preview="deep-space-indigo-pink"] i:nth-child(1){background:#0F172A}[data-theme-preview="deep-space-indigo-pink"] i:nth-child(2){background:#1E293B}[data-theme-preview="deep-space-indigo-pink"] i:nth-child(3){background:#EC4899}
[data-theme-preview="lime-acid-tech"] i:nth-child(1){background:#181A1B}[data-theme-preview="lime-acid-tech"] i:nth-child(2){background:#222527}[data-theme-preview="lime-acid-tech"] i:nth-child(3){background:#84CC16}
[data-theme-preview="cyber-magenta-glow"] i:nth-child(1){background:#120A14}[data-theme-preview="cyber-magenta-glow"] i:nth-child(2){background:#1F1222}[data-theme-preview="cyber-magenta-glow"] i:nth-child(3){background:#E01281}
[data-theme-preview="y2k-street-cyber-neon"] i:nth-child(1){background:#12131A}[data-theme-preview="y2k-street-cyber-neon"] i:nth-child(2){background:#1C1D26}[data-theme-preview="y2k-street-cyber-neon"] i:nth-child(3){background:#EAB308}
[data-theme-preview="cobalt-blue-energy"] i:nth-child(1){background:#0A1128}[data-theme-preview="cobalt-blue-energy"] i:nth-child(2){background:#101B3B}[data-theme-preview="cobalt-blue-energy"] i:nth-child(3){background:#2563EB}
[data-theme-preview="royal-luxury-navy-gold"] i:nth-child(1){background:#0B1320}[data-theme-preview="royal-luxury-navy-gold"] i:nth-child(2){background:#131E2F}[data-theme-preview="royal-luxury-navy-gold"] i:nth-child(3){background:#D4AF37}
[data-theme-preview="british-forest-club"] i:nth-child(1){background:#0F1C15}[data-theme-preview="british-forest-club"] i:nth-child(2){background:#182B20}[data-theme-preview="british-forest-club"] i:nth-child(3){background:#52796F}
[data-theme-preview="bordeaux-wine-velvet"] i:nth-child(1){background:#1A050A}[data-theme-preview="bordeaux-wine-velvet"] i:nth-child(2){background:#2D0A12}[data-theme-preview="bordeaux-wine-velvet"] i:nth-child(3){background:#E63956}
[data-theme-preview="vibrant-hot-pink"] i:nth-child(1){background:#FF2E93}[data-theme-preview="vibrant-hot-pink"] i:nth-child(2){background:#FFFFFF}[data-theme-preview="vibrant-hot-pink"] i:nth-child(3){background:#1E002B}
[data-theme-preview="vibrant-electric-yellow"] i:nth-child(1){background:#FFE600}[data-theme-preview="vibrant-electric-yellow"] i:nth-child(2){background:#FFFFFF}[data-theme-preview="vibrant-electric-yellow"] i:nth-child(3){background:#18181B}
[data-theme-preview="vibrant-vivid-lime"] i:nth-child(1){background:#A3E635}[data-theme-preview="vibrant-vivid-lime"] i:nth-child(2){background:#FFFFFF}[data-theme-preview="vibrant-vivid-lime"] i:nth-child(3){background:#0B2E13}
[data-theme-preview="vibrant-aqua-teal"] i:nth-child(1){background:#06B6D4}[data-theme-preview="vibrant-aqua-teal"] i:nth-child(2){background:#FFFFFF}[data-theme-preview="vibrant-aqua-teal"] i:nth-child(3){background:#0B192C}
@media(max-width:720px){.theme-picker-dialog{width:100%;max-height:100dvh;margin:0;border-radius:var(--theme-radius-modal);border:0;padding:18px}.theme-picker-head h2{font-size:22px}}@media(max-width:420px){.theme-group-grid,.theme-admin-grid{grid-template-columns:1fr 1fr;gap:9px}.theme-choice{padding:10px}.theme-choice small{font-size:var(--type-caption-size)}.theme-group-title{font-size:var(--type-caption-size)}}@media(prefers-reduced-motion:reduce){html,body,.card,.theme-choice,.btn,.button{transition:none}}


/* ==========================================================================
   Canonical theme token bridge
   ========================================================================== */
html{
  --bg:var(--theme-bg);--surface:var(--theme-surface);--surface-2:var(--theme-surface-2);
  --text:var(--theme-text);--muted:var(--theme-muted);--line:var(--theme-border);--border:var(--theme-border);
  --primary:var(--theme-accent);--primary2:var(--theme-accent-2);--accent:var(--theme-accent);--accent-soft:var(--theme-accent-2);
  --theme-card:var(--theme-surface);--theme-field:var(--theme-input);
  --semantic-success:#218A4A;--semantic-success-bg:color-mix(in srgb,var(--semantic-success) 11%,var(--theme-surface));
  --semantic-danger:#B42318;--semantic-danger-bg:color-mix(in srgb,var(--semantic-danger) 9%,var(--theme-surface));
  --semantic-warning:#9A6700;--semantic-warning-bg:color-mix(in srgb,var(--semantic-warning) 11%,var(--theme-surface));
  --semantic-info:#2563EB;--semantic-info-bg:color-mix(in srgb,var(--semantic-info) 10%,var(--theme-surface));
}
.site-header{background:var(--theme-header);border-color:var(--theme-border);color:var(--theme-header-text)}
.brand-mark,.btn:not(.btn-light):not(.btn-soft):not(.btn-danger){background:var(--theme-accent);color:var(--theme-accent-contrast)}
.btn-light,.quick-tags a,.search-shell,.menu-open .main-nav,.menu-open .account-nav,.home-chat-form,.home-chat-login{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}
.btn-soft,.user-chip,.pill,.prayer-count{background:var(--theme-accent-2);color:var(--theme-accent)}
.hero{background:radial-gradient(circle at 75% 20%,var(--theme-accent-2) 0,transparent 35%),linear-gradient(180deg,var(--theme-surface),var(--theme-bg))}
.card,.account-card,.form-card{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}
.input,.textarea,.select,input[type="text"],input[type="search"],input[type="email"],input[type="password"],input[type="url"],input[type="number"],textarea,select{background:var(--theme-input);color:var(--theme-text);border-color:var(--theme-border)}
.input:focus,.textarea:focus,.select:focus,input:focus,textarea:focus,select:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 13%,transparent)}
.chat-msg,.home-chat-messages{background:var(--theme-surface-2);color:var(--theme-text)}
.chat-msg.mine{background:var(--theme-accent-2)}.input-readonly{background:var(--theme-surface-2);color:var(--theme-muted)}
.badge{background:var(--theme-surface-2);color:var(--theme-muted)}.copyright{color:var(--theme-muted)}
.alert.success,.alert-success{background:var(--semantic-success-bg);color:var(--semantic-success);border-color:color-mix(in srgb,var(--semantic-success) 30%,var(--theme-border))}
.alert.error,.alert-error{background:var(--semantic-danger-bg);color:var(--semantic-danger);border-color:color-mix(in srgb,var(--semantic-danger) 30%,var(--theme-border))}
.btn-danger{background:var(--semantic-danger);color:#fff;border-color:var(--semantic-danger)}

/* ==========================================================================
   Theme picker — consolidated responsive card system
   ========================================================================== */
.theme-picker-dialog{overscroll-behavior:contain}
.theme-group-grid,.theme-admin-grid{align-items:stretch;grid-auto-rows:auto}
.theme-choice-wrap{
  position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;
  border:1px solid var(--theme-border);border-radius:var(--theme-radius-card);background:var(--theme-surface);
  box-shadow:var(--theme-shadow-sm);
}
.theme-choice-wrap.active{outline:2px solid var(--theme-accent);outline-offset:-2px;border-color:transparent}
.theme-choice-wrap .theme-choice{
  width:100%;height:auto;min-height:126px;display:block;flex:1 1 auto;
  border-radius:var(--theme-radius-card);outline:0;box-shadow:var(--theme-shadow-sm);
  background:transparent;text-align:left;overflow:hidden;
}
.theme-choice-wrap .theme-choice:hover{transform:none;box-shadow:none}
.theme-choice-swatch{height:36px;border-radius:var(--theme-radius-card)}
.theme-choice strong{
  min-width:0;
  font-size:var(--type-button-size);line-height:var(--theme-leading-body);
}
.theme-choice small{
  display:block;min-width:0;margin:0;color:var(--theme-muted);
  font-size:var(--type-caption-size);line-height:var(--theme-leading-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.theme-choice-more,.theme-card-menu{display:none}
.theme-card-actions{
  flex:0 0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;border-top:1px solid var(--theme-border);background:var(--theme-surface);
}
.theme-card-actions-admin{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-card-action{
  box-sizing:border-box;min-width:0;min-height:42px;display:flex;align-items:center;justify-content:center;
  padding:8px 5px;border:0;border-right:1px solid var(--theme-border);border-radius:var(--theme-radius-button);
  text-decoration:none;
  font:inherit;font-size:var(--type-label-size);font-weight:750;line-height:1;white-space:nowrap;cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.theme-card-action:last-child{border-right:0}
.theme-my-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.theme-my-head .theme-group-title{margin:0}
.theme-add-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 12px;border:1px solid var(--theme-border);border-radius:var(--theme-radius-card);color:var(--theme-text);background:var(--theme-surface);text-decoration:none;font-weight:750;font-size:var(--type-label-size);white-space:nowrap}
.theme-add-link:hover{border-color:var(--theme-accent);color:var(--theme-accent)}
.theme-empty{grid-column:1/-1;margin:0;padding:18px;border:1px dashed var(--theme-border);border-radius:var(--theme-radius-card);color:var(--theme-muted);font-size:var(--type-label-size)}
.theme-picker-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}
.theme-add-main{margin-right:auto}.theme-reset-button{min-height:40px;white-space:nowrap}
.theme-choice-swatch[style] i:nth-child(1){background:var(--sw1)}.theme-choice-swatch[style] i:nth-child(2){background:var(--sw2)}.theme-choice-swatch[style] i:nth-child(3){background:var(--sw3)}

@media(max-width:720px){
  .theme-picker-dialog{padding:16px 14px calc(92px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto}
  .theme-picker-head{position:sticky;top:-16px;z-index:20;padding:12px 0 10px;background:color-mix(in srgb,var(--theme-surface) 96%,transparent);backdrop-filter:blur(10px)}
  .theme-group + .theme-group{margin-top:20px}.theme-group-grid,.theme-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .theme-choice-wrap .theme-choice{min-height:112px;}.theme-choice-swatch{height:34px;}
  .theme-choice strong{font-size:var(--type-button-size)}.theme-choice small{font-size:var(--type-caption-size)}.theme-card-action{min-height:46px;font-size:var(--type-label-size);padding:8px 4px}
  .theme-my-head{align-items:center}.theme-add-link{min-height:40px;padding:0 10px;font-size:var(--type-caption-size)}
  .theme-picker-foot{
    position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;margin:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid var(--theme-border);background:color-mix(in srgb,var(--theme-surface) 97%,transparent);backdrop-filter:blur(12px)
  }
  .theme-picker-foot>*{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:0 8px;font-size:var(--type-label-size)}
  .theme-add-system + .theme-reset-button{grid-column:1/-1}
}
@media(max-width:370px){
  .theme-picker-dialog{padding-left:12px;padding-right:12px}
  .theme-choice-wrap .theme-choice{min-height:108px;}
  .theme-picker-foot{padding-left:12px;padding-right:12px}
}

/* ==========================================================================
   HOLiUS Theme Picker — card visual refinement
   2026-10-02
   - swatch: pill -> 8px rounded rectangle
   - actions: table-like attached cells -> independent buttons
   ========================================================================== */

.theme-choice-wrap{
  padding-bottom:10px;
}

.theme-choice-wrap .theme-choice{
  padding-bottom:8px;
}

/* Color preview: no capsule/pill */
.theme-choice-swatch{
  
  border-radius:var(--theme-radius-card);
  overflow:hidden;
  border:1px solid var(--theme-border);
  box-shadow:var(--theme-shadow-sm);
}
.theme-choice-swatch i:first-child{
  border-radius:var(--theme-radius-card);
}
.theme-choice-swatch i:last-child{
  border-radius:var(--theme-radius-card);
}

/* Actions live inside the card with breathing room */
.theme-card-actions,
.theme-card-actions-admin{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:auto;
  margin:0 10px;
  padding:0;
  border-top:0;
  background:transparent;
}

.theme-card-action{
  border-radius:var(--theme-radius-button);
  box-shadow:var(--theme-shadow-sm);
  line-height:var(--theme-leading-body);
}

.theme-card-action:last-child{
  border-right:1px solid var(--theme-border);
}

.theme-card-action:hover,
.theme-card-action:focus-visible{
  border-color:var(--theme-accent);
  background:var(--theme-surface-2);
  color:var(--theme-accent);
}

/* Primary action */
.theme-card-apply:hover,
.theme-card-apply:focus-visible{
  background:var(--theme-accent-hover);
  color:var(--theme-accent-contrast);
}

/* Keep titles/descriptions compact and aligned */
.theme-choice strong,
.theme-choice small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Bottom controls: less bulky on mobile */
@media(max-width:720px){
  

  .theme-choice-wrap .theme-choice{
    min-height:106px;
    
  }


  .theme-card-actions,
  .theme-card-actions-admin{
    gap:7px;
    margin:0 9px;
  }


  .theme-picker-foot{
    gap:7px;
    padding-top:8px;
  }

}

@media(max-width:370px){
  .theme-choice-wrap .theme-choice{
    min-height:102px;
  }
  .theme-card-actions,
  .theme-card-actions-admin{
    gap:6px;
    margin-left:8px;
    margin-right:8px;
  }
  .theme-card-action{
    font-size:var(--type-caption-size);
  }
}


/* HOLiUS header theme launcher — keep as the rightmost header action */
.hh-global-right>.hh-theme-top-button{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:var(--theme-radius-button);
  background:transparent;
  color:var(--theme-header-text);
  cursor:pointer;
}
.hh-global-right>.hh-theme-top-button:hover,
.hh-global-right>.hh-theme-top-button:focus-visible{
  background:var(--theme-header-hover);
}

/* ========================================================================== 
   HOLiUS Theme Picker Renewal — Original Style, Refined
   - Keep the familiar two-column card UX
   - Use HOLiUS surface/border/button language
   - Keep page context visible on mobile instead of full-screen takeover
   ========================================================================== */
.theme-picker{
  --picker-border:color-mix(in srgb,var(--theme-text) 13%,transparent);
  --picker-border-strong:color-mix(in srgb,var(--theme-text) 20%,transparent);
  --picker-muted-surface:color-mix(in srgb,var(--theme-surface-2) 72%,var(--theme-surface));
  --picker-overlay:rgba(15,23,42,.28);
}
.theme-picker-backdrop{background:var(--picker-overlay);backdrop-filter:blur(2px)}
.theme-picker-dialog{
  width:min(760px,calc(100vw - 28px));
  max-height:min(760px,84dvh);
  margin:8dvh auto 0;
  padding:18px;
  border:1px solid var(--picker-border);
  border-radius:22px 22px 0 0;
  background:var(--theme-surface);
  box-shadow:0 18px 48px color-mix(in srgb,var(--theme-text) 18%,transparent);
  overflow:auto;
  overscroll-behavior:contain;
}
.theme-picker-head{
  position:sticky;top:-18px;z-index:20;
  margin:-18px -18px 0;padding:18px 18px 12px;
  background:color-mix(in srgb,var(--theme-surface) 96%,transparent);
  border-bottom:1px solid transparent;
  backdrop-filter:blur(10px);
}
.theme-picker-head h2{font-size:22px;line-height:1.25;margin:0 0 5px;letter-spacing:-.025em}
.theme-picker-head p{font-size:var(--type-label-size);line-height:1.5;margin:0;color:var(--theme-muted)}
.theme-picker-close{
  width:42px;height:42px;flex:0 0 42px;
  border:1px solid var(--picker-border);border-radius:12px;
  background:transparent;color:var(--theme-text);
  font-size:23px;line-height:1;
}
.theme-picker-close:hover,.theme-picker-close:focus-visible{background:var(--theme-surface-2)}
.design-tabs{margin-top:14px}
.theme-current-status{
  margin:12px 0 18px;padding:10px 12px;
  border:1px solid var(--picker-border);border-radius:12px;
  background:var(--picker-muted-surface);color:var(--theme-muted);font-size:12.5px;line-height:1.45;
}
.theme-current-status strong{color:var(--theme-text);font-weight:750}
.theme-group + .theme-group{margin-top:22px}
.theme-group-title{margin:0 0 10px;font-size:var(--type-button-size);line-height:1.4;font-weight:750;color:var(--theme-text)}
.theme-group-grid,.theme-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
.theme-choice-wrap{
  min-width:0;overflow:hidden;padding:0 0 10px;
  border:1px solid var(--picker-border);border-radius:16px;
  background:var(--theme-surface);box-shadow:none;
}
.theme-choice-wrap.active{
  border-color:var(--theme-accent);
  outline:1px solid var(--theme-accent);outline-offset:-1px;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 9%,transparent);
}
.theme-choice-wrap .theme-choice{
  width:100%;min-height:0;padding:11px 11px 9px;
  border:0;background:transparent;box-shadow:none;
  text-align:left;transform:none;
}
.theme-choice-swatch{
  height:42px;margin:0 0 9px;
  border:1px solid var(--picker-border);border-radius:11px;
  overflow:hidden;box-shadow:none;
}
.theme-choice-swatch i{border-radius:0}
.theme-choice strong{
  display:-webkit-box;min-height:0;margin:0 0 4px;
  overflow:hidden;text-overflow:ellipsis;white-space:normal;
  -webkit-box-orient:vertical;-webkit-line-clamp:2;
  font-size:var(--type-button-size);line-height:1.32;font-weight:750;letter-spacing:-.015em;
}
.theme-choice small{
  display:-webkit-box;min-height:31px;margin:0;
  overflow:hidden;white-space:normal;text-overflow:ellipsis;
  -webkit-box-orient:vertical;-webkit-line-clamp:2;
  color:var(--theme-muted);font-size:var(--type-caption-size);line-height:1.45;
}
.theme-card-actions,.theme-card-actions-admin{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;width:auto;margin:0 10px;padding:0;
  border:0;background:transparent;
}
.theme-card-action{
  min-width:0;min-height:40px;padding:7px 6px;
  border:1px solid var(--picker-border);border-radius:11px;
  background:var(--theme-surface);color:var(--theme-text);box-shadow:none;
  font-size:12.5px;font-weight:750;line-height:1.2;
}
.theme-card-action:hover,.theme-card-action:focus-visible{background:var(--theme-surface-2);border-color:var(--picker-border-strong);color:var(--theme-text)}
.theme-card-apply{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-accent-contrast)}
.theme-card-apply:hover,.theme-card-apply:focus-visible{background:var(--theme-accent-hover);border-color:var(--theme-accent-hover);color:var(--theme-accent-contrast)}
.theme-card-apply.is-current,.theme-card-apply:disabled{
  opacity:1;background:var(--picker-muted-surface);border-color:var(--picker-border);color:var(--theme-muted);cursor:default;
}
.theme-my-head{margin-bottom:10px}
.theme-add-link,.theme-reset-button{
  min-height:42px;padding:0 12px;
  border:1px solid var(--picker-border);border-radius:11px;
  background:var(--theme-surface);color:var(--theme-text);box-shadow:none;
  font-size:12.5px;font-weight:750;
}
.theme-add-link:hover,.theme-reset-button:hover,.theme-add-link:focus-visible,.theme-reset-button:focus-visible{background:var(--theme-surface-2);border-color:var(--picker-border-strong);color:var(--theme-text)}
.theme-picker-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--picker-border)}
.theme-picker-foot .theme-reset-button{grid-column:1/-1;background:transparent;color:var(--theme-muted)}
.theme-picker-foot .theme-add-main{margin:0}
.theme-empty{border-color:var(--picker-border)}

@media(max-width:720px){
  .theme-picker-dialog{
    width:calc(100vw - 20px);height:auto;max-height:82dvh;
    margin:10dvh 10px 0;padding:14px;
    border:1px solid var(--picker-border);border-radius:22px 22px 0 0;
  }
  .theme-picker-head{top:-14px;margin:-14px -14px 0;padding:14px 14px 10px}
  .theme-picker-head h2{font-size:21px}.theme-picker-head p{font-size:var(--type-label-size)}
  .theme-picker-grid{margin-top:8px}
  .theme-group-grid,.theme-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .theme-choice-wrap{padding-bottom:9px}
  .theme-choice-wrap .theme-choice{padding:10px 9px 8px}
  .theme-choice-swatch{height:38px;margin-bottom:8px}
  .theme-choice strong{font-size:13.5px}.theme-choice small{font-size:var(--type-caption-size);min-height:33px}
  .theme-card-actions,.theme-card-actions-admin{gap:6px;margin:0 8px}
  .theme-card-action{min-height:40px;font-size:var(--type-caption-size);padding:7px 4px}
  .theme-picker-foot{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 0 0;background:transparent;backdrop-filter:none}
  .theme-picker-foot>*{width:100%;min-height:42px;margin:0}
  .theme-picker-foot .theme-reset-button{grid-column:1/-1}
}
@media(max-width:370px){
  .theme-picker-dialog{width:calc(100vw - 16px);margin-left:8px;margin-right:8px;padding:12px}
  .theme-picker-head{top:-12px;margin:-12px -12px 0;padding:12px 12px 9px}
  .theme-group-grid,.theme-admin-grid{gap:7px}
  .theme-choice-wrap .theme-choice{padding:9px 8px 7px}
  .theme-choice-swatch{height:36px}
  .theme-choice strong{font-size:var(--type-label-size)}.theme-choice small{font-size:var(--type-caption-size)}
  .theme-card-actions,.theme-card-actions-admin{margin:0 7px;gap:5px}
}
/* BEGIN HOLIUS MAIN STAGE8 HOME COMPATIBILITY PRIMITIVES */
/* Values preserved from Stage7 home styles. New UI uses semantic role tokens instead. */
:root{
  --theme-radius-legacy-home-11:11px;
  --theme-radius-legacy-home-12:12px;
  --theme-radius-legacy-home-14:14px;
  --theme-radius-legacy-home-16:16px;
  --theme-radius-legacy-home-18:18px;
  --theme-radius-legacy-home-24:24px;
  --theme-shadow-legacy-home-focus:0 0 0 3px color-mix(in srgb,var(--theme-accent) 10%,transparent);
  --theme-motion-legacy-home-reveal:opacity .18s ease,transform .18s ease;
  --theme-motion-legacy-home-control:border-color .15s ease,background-color .15s ease,transform .15s ease;
  --theme-motion-legacy-home-focus:box-shadow .2s ease,border-color .2s ease;
  --theme-motion-legacy-home-hover:background .18s ease,border-color .18s ease,transform .18s ease;
}
/* END HOLIUS MAIN STAGE8 HOME COMPATIBILITY PRIMITIVES */
/* END assets/theme-system.css */

/* BEGIN assets/theme-role-system.css */
/* HOLIUS Theme Role System — STRICT SEMANTIC MAPPING
   Every theme uses the same color role rules. No per-theme layout/color exceptions.

   bg-primary         = page/header/footer background
   bg-surface         = cards/panels/modals/search/input surfaces
   text-main          = primary text
   text-sub           = secondary/meta text
   brand-accent       = primary actions/active states
   brand-accent-hover = action hover
   border-color       = borders/dividers
   shadow-style       = elevation/shadows
*/

:root{
  --semantic-success:#218A4A;
  --semantic-danger:#B42318;
  --semantic-warning:#9A6700;
  --semantic-info:#2563EB;
  --overlay-color:#000000;
  /* Compatible defaults for browsers without color-mix(). */
  --theme-overlay:rgba(0,0,0,.42);
  --theme-highlight-bg:var(--bg-surface);
  --theme-highlight-text:var(--text-main);
  --shadow-color:var(--text-main);
  --theme-success-soft:var(--bg-surface);
  --theme-danger-soft:var(--bg-surface);
  --theme-warning-soft:var(--bg-surface);
  --theme-info-soft:var(--bg-surface);
}

/* Preserve theme-aware blending on browsers that support it. */
@supports (color: color-mix(in srgb, red 30%, white)) {
  :root {
    --theme-overlay:color-mix(in srgb,var(--overlay-color) 42%,transparent);
    --theme-highlight-bg:color-mix(in srgb,var(--brand-accent) 24%,var(--bg-surface));
    --theme-success-soft:color-mix(in srgb,var(--semantic-success) 11%,var(--bg-surface));
    --theme-danger-soft:color-mix(in srgb,var(--semantic-danger) 9%,var(--bg-surface));
    --theme-warning-soft:color-mix(in srgb,var(--semantic-warning) 12%,var(--bg-surface));
    --theme-info-soft:color-mix(in srgb,var(--semantic-info) 10%,var(--bg-surface));
  }
}

/* BEGIN HOLIUS MAIN STAGE7 EXACT SEARCH COLOR FALLBACKS */
/* Compatibility reference colors: these preserve missing-role fallbacks exactly.
   New components MUST use semantic theme roles, not these immutable references. */
:root{
  --holius-search-fallback-canvas-light:#eee;
  --holius-search-fallback-border-dark:#555;
  --holius-search-fallback-canvas-dark:#181818;
  --holius-search-fallback-shadow-soft:rgba(0,0,0,.16);
  --holius-search-fallback-muted-dark:#999;
  --holius-search-fallback-hover-neutral:rgba(128,128,128,.18);
  --holius-search-fallback-accent-green:#0ba983;
  --holius-search-fallback-ink-dark:#111;
  --holius-search-fallback-border-medium:#777;
  --holius-search-fallback-white:#fff;
  --holius-search-fallback-shadow-strong:rgba(0,0,0,.3);
  --holius-search-fallback-backdrop-strong:rgba(0,0,0,.66);
  --holius-search-fallback-muted-medium:#666;
  --holius-search-fallback-border-light:#aaa;
  --holius-search-fallback-border-pale:#ddd;
  --holius-search-fallback-muted-zinc:#a1a1aa;
  --holius-search-fallback-shadow-medium:rgba(0,0,0,.24);
  --holius-search-fallback-shadow-minor:rgba(0,0,0,.12);
  --holius-search-fallback-shadow-slate:rgba(148,163,184,.18);
  --holius-search-fallback-hover-low:rgba(128,128,128,.15);
  --holius-search-fallback-accent-forest:#367d6b;
  --holius-search-fallback-border-gray:#d1d5db;
  --holius-search-fallback-placeholder-gray:#9ca3af;
  --holius-search-fallback-shadow-minimal:rgba(0,0,0,.08);
  --holius-search-fallback-ink-muted:#667085;
  --holius-search-fallback-border-sage:#c8cfcc;
}
/* END HOLIUS MAIN STAGE7 EXACT SEARCH COLOR FALLBACKS */

/* Canonical aliases: old code inherits the same semantic roles. */
html{
  --theme-bg:var(--bg-primary);
  --theme-surface:var(--bg-surface);
  --theme-text:var(--text-main);
  --theme-muted:var(--text-sub);
  --theme-accent:var(--brand-accent);
  --theme-accent-hover:var(--brand-accent-hover);
  --theme-border:var(--border-color);
  --theme-shadow:var(--shadow-style);
  --theme-input:var(--bg-surface);
  --theme-header:var(--bg-primary);
  --theme-header-text:var(--text-main);
  --theme-header-hover:var(--bg-surface);

  --bg:var(--bg-primary);
  --surface:var(--bg-surface);
  --surface-2:var(--bg-surface);
  --text:var(--text-main);
  --muted:var(--text-sub);
  --line:var(--border-color);
  --border:var(--border-color);
  --primary:var(--brand-accent);
  --primary2:var(--brand-accent-hover);
  --accent:var(--brand-accent);
  --accent-soft:var(--bg-surface);
  --shadow:var(--shadow-style);
  --danger:var(--semantic-danger);
}

html,body{background:var(--bg-primary);color:var(--text-main)}
body,button,input,textarea,select{font-family:var(--font-family)}

/* Page regions are not cards: they keep the page background. */
main,.minimal-home,.home-news-section,.page-hero,.section,.site-footer{
  background-color:transparent;
  color:var(--text-main);
}
.site-header,.hh-global-header,.site-footer{
  background:var(--bg-primary);
  color:var(--text-main);
  border-color:var(--border-color);
}

/* Primary and secondary typography. */
body,h1,h2,h3,h4,h5,h6,.title,.section-title,.holius-home-wordmark{color:var(--text-main)}
.meta,.text-sub,.copyright,.footer-grid p,.footer-links,.section-head p,.minimal-home-subtitle,
.news-meta,.news-source,.help-text,.form-help,.muted{color:var(--text-sub)}

/* Surface role: every card/panel/modal/search field uses bg-surface. */
.card,.form-card,.account-card,.theme-picker-dialog,.hh-apps-panel,
.menu-open .main-nav,.menu-open .account-nav,.search-shell,.search-form,.search-box,
.minimal-search,.bible-search-shell,.church-search-form,.job-search-form,
[data-search-overlay] form,.home-chat-form,.home-chat-login,.home-chat-messages,
.qr-preview,.modal,.dialog,.panel,.dropdown-menu,.input-readonly{
  background:var(--bg-surface);
  color:var(--text-main);
  border-color:var(--border-color);
  box-shadow:var(--shadow-style);
}

/* Inputs use the same surface token in every theme. */
.input,.textarea,.select,
input[type="text"],input[type="search"],input[type="email"],input[type="password"],
input[type="url"],input[type="number"],textarea,select{
  background:var(--bg-surface);
  color:var(--text-main);
  border-color:var(--border-color);
}
input::placeholder,textarea::placeholder{color:var(--text-sub);opacity:.8}
.input:focus,.textarea:focus,.select:focus,input:focus,textarea:focus,select:focus{
  border-color:var(--brand-accent);
  box-shadow:0 0 0 3px var(--brand-accent);
}

/* Action role: accent is used only for primary actions/active states. */
.btn:not(.btn-light):not(.btn-soft):not(.btn-danger),.btn-primary,
button[type="submit"]:not(.search-icon-button):not(.bible-search-icon):not(.minimal-search-button):not(.search-icon-submit):not(.minimal-search-submit):not(.search-overlay-submit):not(.bible-direct-submit),
.filter-tab.active,.theme-choice.is-active{
  background:var(--brand-accent);
  border-color:var(--brand-accent);
  color:var(--theme-accent-contrast);
}
.btn:not(.btn-light):not(.btn-soft):not(.btn-danger):hover,.btn-primary:hover{
  background:var(--brand-accent-hover);
  border-color:var(--brand-accent-hover);
}
.btn-light,.btn-soft,.user-chip,.pill,.prayer-count,.badge,.quick-tags a,.filter-tab,.category-check span,.lang-switch{
  background:var(--bg-surface);
  color:var(--text-main);
  border-color:var(--border-color);
}
.filter-tab:hover,.category-check input:focus-visible+span{
  color:var(--brand-accent);
  border-color:var(--brand-accent);
}
.category-check input:checked+span{
  color:var(--brand-accent);
  background:var(--bg-surface);
  border-color:var(--brand-accent);
}

/* Search icon buttons are always transparent. */
.search-icon-button,.bible-search-icon,.minimal-search-button,.search-submit-icon,
.search-icon-submit,.minimal-search-submit,.search-overlay-submit,.bible-direct-submit,
button[aria-label*="검색"].search-icon-button{
  background:transparent;
  border-color:transparent;
  box-shadow:var(--theme-shadow-sm);
  color:var(--text-main);
}

/* Header controls follow the same page text/surface rules. */
.hh-top-link,.hh-theme-top-button,.hh-menu-button,.hh-member-button{color:var(--text-main)}
.hh-top-link:hover,.hh-theme-top-button:hover,.hh-menu-button:hover,.hh-member-button:hover{
  background:var(--bg-surface);
}

/* Chat/secondary blocks still use surface, not generated theme-specific colors. */
.chat-msg,.chat-msg.mine{background:var(--bg-surface);color:var(--text-main);border-color:var(--border-color)}

/* Links/active indicators. */
a:hover,.admin-link,.eyebrow,.bible-result strong{color:var(--brand-accent)}

/* Semantic statuses use canonical soft tokens; preserve blended borders when supported. */
.alert.success,.alert-success{
  background:var(--theme-success-soft);
  border-color:var(--semantic-success);
}
.alert.error,.alert-error{
  background:var(--theme-danger-soft);
  border-color:var(--semantic-danger);
}
@supports (color: color-mix(in srgb, red 30%, white)) {
  .input:focus,.textarea:focus,.select:focus,input:focus,textarea:focus,select:focus{
    box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 16%,transparent);
  }
  .alert.success,.alert-success{
    border-color:color-mix(in srgb,var(--semantic-success) 30%,var(--border-color));
  }
  .alert.error,.alert-error{
    border-color:color-mix(in srgb,var(--semantic-danger) 30%,var(--border-color));
  }
}
.btn-danger{color:var(--bg-surface)}

/* Preserve established search geometry. */
.minimal-search,.search-form,.search-box,.bible-search-shell,.church-search-form,.job-search-form,[data-search-overlay] form{
  border-radius:999px;
}

/* Intentional media canvas exception: video itself remains neutral dark. */
.media-video{background:#0d0f0d}
.play-badge{background:rgba(0,0,0,.72);color:var(--bg-surface)}
@supports (color: color-mix(in srgb, red 30%, white)) {
  .play-badge{background:color-mix(in srgb,var(--overlay-color) 72%,transparent)}
}
/* END assets/theme-role-system.css */

/* BEGIN assets/theme-legacy-geometry.css */
/* HOLIUS main portal: immutable historic radius references for legacy components.
   New controls/cards SHOULD use semantic --theme-radius-* design tokens.
   This file intentionally does NOT redefine theme-dependent radius roles. */
:root{
  --holius-legacy-radius-9:9px;
  --holius-legacy-radius-10:10px;
  --holius-legacy-radius-12:12px;
  --holius-legacy-radius-14:14px;
  --holius-legacy-radius-16:16px;
}
/* END assets/theme-legacy-geometry.css */

/* BEGIN assets/style-system.css */
/* HOLiUS Font System — unified with Theme Picker design system */
:root{
  --style-font-ui:var(--theme-font-ui,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Pretendard,"Noto Sans KR",sans-serif);
  --style-font-body:var(--theme-font-body,var(--style-font-ui));
  --style-font-display:var(--theme-font-display,var(--style-font-ui));
}
body{font-family:var(--theme-font-ui)}
main p,main article,main blockquote,.content-body,.post-content{font-family:var(--theme-font-body)}
h1,h2,h3,.page-hero h1,.home-block-head h2,.bible-writing-source{font-family:var(--theme-font-heading)}
button,input,select,textarea,.btn,.price,.meta,.badge,.bible-writing-scorebar strong{font-family:var(--theme-font-ui)}
.bible-reader-v3 .bible-reader-body,.bible-reader-v3 .verse-text,.bible-reader-v3 [data-bible-text]{font-family:var(--theme-font-reading)}
.chat-message,.market-price,.market-status,.jobs-list,.admin-page,.theme-editor-page{font-family:var(--theme-font-ui)}

/* Stage11: immutable historical text-leading references.
   Compatibility only; new typography uses semantic --theme-leading-* roles.
   Every migrated declaration includes its original literal as a CSS fallback. */
:root{
  --theme-leading-legacy-1-17:1.17;
  --theme-leading-legacy-1-25:1.25;
  --theme-leading-legacy-1-3:1.3;
  --theme-leading-legacy-1-35:1.35;
  --theme-leading-legacy-1-4:1.4;
  --theme-leading-legacy-1-45:1.45;
  --theme-leading-legacy-1-5:1.5;
  --theme-leading-legacy-1-55:1.55;
  --theme-leading-legacy-1-6:1.6;
  --theme-leading-legacy-1-65:1.65;
  --theme-leading-legacy-1-7:1.7;
  --theme-leading-legacy-1-8:1.8;
  --theme-leading-legacy-1-9:1.9;
}

/* Same tab language for Theme / Font. */
.design-tabs{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:14px 0 2px;padding:4px;
  background:var(--theme-surface-2);border:1px solid var(--theme-border);border-radius:var(--theme-radius-control)
}
.design-tab{
  min-height:40px;border:0;border-radius:calc(var(--theme-radius-control) - 2px);background:transparent;
  color:var(--theme-muted);font-weight:var(--theme-weight-strong);cursor:pointer
}
.design-tab.active{background:var(--theme-surface);color:var(--theme-text);box-shadow:var(--theme-shadow-sm)}

/* Font panel reuses the same group/card language as the Theme panel. */
.style-picker-grid{margin-top:14px}
.font-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.font-choice-wrap{min-width:0}
.font-choice-wrap .theme-choice{min-height:150px}
.font-choice-preview{
  display:grid;align-content:center;gap:3px;min-height:50px;height:auto;margin:0 0 10px;padding:7px 9px;
  overflow:visible;border:1px solid var(--theme-border);border-radius:var(--theme-radius-card);
  background:var(--theme-surface-2);font-family:var(--preview-font,var(--theme-font-ui));color:var(--theme-text)
}
.font-choice-preview b{font:700 var(--type-label-size)/1.3 var(--preview-font,var(--theme-font-ui));white-space:normal;overflow-wrap:anywhere}
.font-choice-preview span{font:500 var(--type-caption-size)/1.4 var(--preview-font,var(--theme-font-ui));white-space:normal;overflow-wrap:anywhere}
.font-choice-preview small{font:400 var(--type-caption-size)/1.35 var(--preview-font,var(--theme-font-ui));color:var(--theme-muted);white-space:normal;overflow-wrap:anywhere}
.font-card-actions{grid-template-columns:1fr}
.font-card-actions .theme-card-action{width:100%}

@media(min-width:900px){
  .font-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .style-picker-grid{margin-top:10px}
  .font-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .font-choice-wrap .theme-choice{min-height:136px}
  .font-choice-preview{min-height:46px;height:auto;margin-bottom:9px;padding:6px 8px}
  .font-choice-preview b{font-size:var(--type-label-size)}.font-choice-preview span{font-size:var(--type-caption-size)}.font-choice-preview small{font-size:var(--type-caption-size)}
  .font-picker-foot{grid-template-columns:1fr}
}

@media(max-width:370px){
  .font-group-grid{gap:8px}
  .font-choice-wrap .theme-choice{min-height:132px}
}

.font-choice-wrap:not(.is-font-ready) .font-choice-preview{opacity:.78}
.font-choice-wrap.is-font-ready .font-choice-preview{opacity:1;transition:opacity .16s ease}
/* END assets/style-system.css */

/* BEGIN assets/design-foundation.css */
/* HOLiUS Global UI Foundation 1.3 — 0117. Central tokens and shared interaction/layout contracts. */
:root{
  --holius-content-max:1180px;
  --holius-content-wide:1320px;
  --holius-gutter:24px;
  --holius-space-1:4px;--holius-space-2:8px;--holius-space-3:12px;--holius-space-4:16px;
  --holius-space-5:20px;--holius-space-6:24px;--holius-space-8:32px;--holius-space-10:40px;--holius-space-12:48px;
  /* Home spacing contract: mobile first, same semantic roles across sections. */
  /* R120: role-based sizing; do not couple global page gutters to card interiors. */
  --holius-card-inset-mobile:var(--holius-space-4);
  --holius-caption-size:12px;
  --holius-caption-comfortable:13px;
  --holius-home-section-gap:var(--holius-space-6);
  --holius-home-heading-gap:var(--holius-space-3);
  --holius-home-menu-gap:var(--holius-space-2);
  /* Shared menu-tile geometry: alignment independent of label/icon glyph. */
  --holius-home-tile-min-h:74px;
  --holius-home-tile-pad-block:8px;
  --holius-home-tile-pad-inline:5px;
  --holius-home-tile-icon-box:28px;
  --holius-home-tile-icon-size:20px;
  --holius-home-tile-label-size:12px;
  --holius-home-tile-label-line:1.3;
  --holius-control-h-sm:40px;--holius-control-h:44px;--holius-control-h-lg:48px;
  --holius-radius-control:10px;--holius-radius-sm:10px;--holius-radius-md:14px;--holius-radius-lg:18px;
  --holius-border:var(--theme-border,#e5e7eb);
  --holius-surface:var(--theme-surface,#fff);
  --holius-text:var(--theme-text,#111827);
  --holius-muted:var(--theme-muted,#6b7280);
  --holius-accent:var(--theme-accent,#111827);
  --holius-focus:0 0 0 3px var(--holius-text);
  --holius-success:var(--semantic-success,#218a4a);--holius-danger:var(--semantic-danger,#b42318);
  --holius-warning:var(--semantic-warning,#9a6700);--holius-info:var(--semantic-info,#2563eb);
}
:where(.btn,.button,.admin-button,button,input,select,textarea){font-family:var(--theme-font-ui)}
:where(.btn,.button,.admin-button):focus-visible,
:where(input,select,textarea,a,summary):focus-visible{outline:0;box-shadow:var(--holius-focus)}
:where(.btn,.button,.admin-button):disabled{cursor:not-allowed;filter:none}
:where(.card,.admin-panel){border-color:var(--holius-border)}
:where(.badge,.pill,.admin-badge){font-variant-numeric:tabular-nums}
:where(.container){max-width:var(--holius-content-max)}
.holius-page-container{width:min(100% - (var(--holius-gutter) * 2),var(--holius-content-max));margin-inline:auto}
.holius-section{margin-block:var(--holius-space-8)}
.holius-action-group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--holius-space-2)}
.holius-meta{color:var(--holius-muted);font-size:var(--type-label-size);line-height:1.5}
@media(max-width:767px){:root{--holius-gutter:16px;--holius-control-h:46px;--holius-control-h-lg:50px}.holius-action-group{align-items:stretch}}
@media(max-width:360px){:root{--holius-gutter:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 0117 Typography ownership */
:where(html){text-size-adjust:100%;-webkit-text-size-adjust:100%}:where(body){font-size:var(--type-body-size,1rem);text-rendering:optimizeLegibility}:where(button,.btn,.button,.admin-button){font-size:var(--type-button-size,.875rem)}:where(.price,.market-price,.rank,.score,[data-numeric]){font-variant-numeric:tabular-nums lining-nums}:where([dir="rtl"],[dir="rtl"] input,[dir="rtl"] textarea){text-align:start}
/* 0118 Global Experience Foundation — semantic color, motion, layer, icon/media primitives. */
:root{
  --holius-color-bg:var(--theme-bg,#fff);--holius-color-surface:var(--theme-surface,#fff);--holius-color-text:var(--theme-text,#111827);--holius-color-muted:var(--theme-muted,#6b7280);--holius-color-border:var(--theme-border,#e5e7eb);--holius-color-link:var(--theme-accent,#2563eb);
  --holius-motion-fast:var(--theme-motion-fast,120ms);--holius-motion-normal:var(--theme-motion-normal,180ms);--holius-motion-slow:var(--theme-motion-slow,260ms);--holius-ease-standard:cubic-bezier(.2,0,0,1);
  --holius-layer-base:0;--holius-layer-sticky:20;--holius-layer-header:40;--holius-layer-dropdown:60;--holius-layer-drawer:80;--holius-layer-modal:100;--holius-layer-toast:120;--holius-layer-critical:140;
  --holius-icon-sm:16px;--holius-icon-md:20px;--holius-icon-lg:24px;--holius-media-radius:var(--holius-radius-md);
}
:where(.holius-icon,[data-holius-icon]){inline-size:var(--holius-icon-md);block-size:var(--holius-icon-md);display:inline-block;flex:0 0 auto;vertical-align:-.125em}
:where(.holius-icon,[data-holius-icon]) svg{display:block;inline-size:100%;block-size:100%}
:where(img[data-holius-media],video[data-holius-media]){display:block;max-inline-size:100%;block-size:auto}
:where([data-holius-media-frame]){overflow:hidden;border-radius:var(--holius-media-radius);background:var(--holius-color-surface)}
:where([data-holius-media-frame]>img,[data-holius-media-frame]>video){display:block;inline-size:100%;block-size:100%;object-fit:cover}
:where(.holius-sticky,[data-layer="sticky"]){z-index:var(--holius-layer-sticky)}:where([data-layer="dropdown"]){z-index:var(--holius-layer-dropdown)}:where([data-layer="drawer"]){z-index:var(--holius-layer-drawer)}:where([data-layer="modal"]){z-index:var(--holius-layer-modal)}:where([data-layer="toast"]){z-index:var(--holius-layer-toast)}
:where(a,.btn,.button,.admin-button,button){transition-duration:var(--holius-motion-fast);transition-timing-function:var(--holius-ease-standard)}
@media(prefers-reduced-motion:reduce){:root{--holius-motion-fast:0ms;--holius-motion-normal:0ms;--holius-motion-slow:0ms}}


/* 0120 Responsive / Form / Feedback Foundation — Mobile First */
:root{
  --holius-content-reading:760px;--holius-content-form:720px;--holius-grid-gap:var(--holius-space-4);
  --holius-field-bg:var(--holius-color-surface,var(--holius-surface));--holius-field-border:var(--holius-text);
  --holius-feedback-info:var(--holius-info);--holius-feedback-success:var(--holius-success);--holius-feedback-warning:var(--holius-warning);--holius-feedback-danger:var(--holius-danger);
}
.holius-container{inline-size:min(100% - (var(--holius-gutter) * 2),var(--holius-content-max));margin-inline:auto}.holius-container--wide{max-inline-size:var(--holius-content-wide)}.holius-container--reading{max-inline-size:var(--holius-content-reading)}.holius-container--form{max-inline-size:var(--holius-content-form)}
.holius-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--holius-grid-gap)}.holius-stack{display:flex;flex-direction:column;gap:var(--holius-space-4)}
/* 0953: functional field boundaries use a distinct role from decorative dividers.
   Existing official presets resolve this 56% blend at >=3:1 on the field surface;
   browsers without color-mix use the readable text-color fallback. */
@supports (color: color-mix(in srgb, black 50%, white)) {
  :root{--holius-field-border:color-mix(in srgb,var(--holius-text) 56%,var(--holius-field-bg))}
}
:where(.holius-field){display:grid;gap:var(--holius-space-2)}
.holius-field .holius-field__label{font-size:var(--type-body-sm-size,.875rem)}:where(.holius-field__label){font-size:var(--type-body-sm-size,.875rem);font-weight:var(--theme-weight-medium,600)}:where(.holius-field__help){color:var(--holius-muted);font-size:var(--type-body-sm-size,.875rem);line-height:1.5}
:where(.holius-field input,.holius-field select,.holius-field textarea,[data-holius-control]){inline-size:100%;min-block-size:var(--holius-control-h);border:1px solid var(--holius-field-border);border-radius:var(--holius-radius-control);background:var(--holius-field-bg);color:var(--holius-text);padding-inline:var(--holius-space-3)}:where(.holius-field textarea,[data-holius-control="textarea"]){padding-block:var(--holius-space-3);resize:block}
/* Accessible field styles are scoped to opted-in controls only. */
.holius-field :is(input,select,textarea),[data-holius-control]{border-color:var(--holius-field-border)}
.holius-field :is(input,select,textarea):focus-visible,[data-holius-control]:focus-visible{outline:2px solid var(--holius-text);outline-offset:2px;box-shadow:var(--holius-focus)}

:where(.holius-field[aria-invalid="true"] input,.holius-field[aria-invalid="true"] select,.holius-field[aria-invalid="true"] textarea,[data-holius-control][aria-invalid="true"]){border-color:var(--holius-danger)}
.holius-field[aria-invalid="true"] :is(input,select,textarea),[data-holius-control][aria-invalid="true"]{border-color:var(--holius-danger)}
:where(.holius-field__error){color:var(--holius-danger);font-size:var(--type-body-sm-size,.875rem);font-weight:var(--theme-weight-medium,600)}:where(.holius-field input:disabled,.holius-field select:disabled,.holius-field textarea:disabled,[data-holius-control]:disabled){cursor:not-allowed;opacity:.65}
.holius-feedback{border:1px solid var(--holius-color-border,var(--holius-border));border-inline-start-width:4px;border-radius:var(--holius-radius-md);padding:var(--holius-space-3) var(--holius-space-4);background:var(--holius-color-surface,var(--holius-surface))}.holius-feedback[data-tone="info"]{border-inline-start-color:var(--holius-feedback-info)}.holius-feedback[data-tone="success"]{border-inline-start-color:var(--holius-feedback-success)}.holius-feedback[data-tone="warning"]{border-inline-start-color:var(--holius-feedback-warning)}.holius-feedback[data-tone="danger"]{border-inline-start-color:var(--holius-feedback-danger)}.holius-feedback__title{font-weight:var(--theme-weight-heading,700)}.holius-feedback__actions{display:flex;flex-wrap:wrap;gap:var(--holius-space-2);margin-block-start:var(--holius-space-3)}
@media(min-width:768px){:root{--holius-grid-gap:var(--holius-space-6)}.holius-grid[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.holius-grid[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1280px){.holius-container--wide{inline-size:min(100% - (var(--holius-gutter) * 2),var(--holius-content-wide))}}
@media(max-width:767px){.holius-feedback__actions>:where(.btn,.button,.admin-button,button){min-block-size:44px}.holius-action-group[data-mobile-stack="true"]>:where(.btn,.button,.admin-button,button,a){inline-size:100%;justify-content:center}}

/* 0121 Navigation / URL Foundation */
.holius-breadcrumb{min-width:0;margin:0 0 var(--space-4,16px);font-size:var(--type-body-sm-size,.875rem)}
.holius-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2,8px);margin:0;padding:0;list-style:none}
.holius-breadcrumb li{display:inline-flex;align-items:center;min-width:0}.holius-breadcrumb li+li::before{content:"/";margin-inline:var(--space-2,8px);color:var(--color-text-muted,#667085)}
.holius-breadcrumb a{color:var(--color-text-muted,#667085);text-decoration:none;text-underline-offset:.18em}.holius-breadcrumb a:hover{text-decoration:underline}
.holius-breadcrumb [aria-current="page"]{color:var(--color-text,#101828);font-weight:600}:where(nav,[role="navigation"]) a[aria-current="page"]{font-weight:600}
@media (max-width:412px){.holius-breadcrumb{overflow-wrap:anywhere}.holius-breadcrumb ol{row-gap:4px}}

/* 0125 Accessibility Foundation */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:var(--holius-pub-accessibility-outline-width,3px) solid var(--color-focus,#2563eb);outline-offset:3px}
:where(button,[role="button"],a,input,select,textarea):disabled,[aria-disabled="true"]{cursor:not-allowed}
.holius-skip-link{position:fixed;inset-inline-start:12px;inset-block-start:12px;z-index:var(--z-toast,10000);transform:translateY(-180%);padding:10px 14px;border-radius:var(--holius-legacy-radius-10,10px);background:#fff;color:#111827;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.holius-skip-link:focus{transform:translateY(0)}
:where([aria-live="polite"],[aria-live="assertive"]){overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}
}
@media (forced-colors:active){
  :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:var(--holius-pub-accessibility-outline-width,3px) solid CanvasText}
}

/* 0133 home spacing: desktop receives more breathing room; mobile uses root defaults. */
@media(min-width:768px){:root{--holius-home-section-gap:var(--holius-space-8);--holius-home-heading-gap:var(--holius-space-4)}}


/* 0384 Foundation ownership: canonical publishing tokens (v1.79 architecture).
   Keep 0381-0383 aliases so existing templates and integrations remain compatible. */
:root {
  --holius-pub-section-space:var(--holius-space-8,32px);
  --holius-pub-card-gap:var(--holius-space-3,12px);
  --holius-pub-focus-outline:2px solid var(--holius-accent,#2563eb);
  --holius-pub-focus-offset:2px;
  --holius-pub-focus-ring-color:var(--color-focus,var(--theme-accent,#2563eb));
  --holius-pub-focus-ring-width:2px;
  --holius-pub-accessibility-outline-width:3px;
  --holius-pub-hit-target:44px;
  --holius-pub-control-gap:var(--holius-space-2,8px);
  --holius-pub-card-padding:var(--holius-space-4,16px);
  --holius-pub-heading-leading:1.35;
}
@media (max-width:640px) {
  :root {
    --holius-pub-section-space:var(--holius-space-6,24px);
    --holius-pub-card-padding:var(--holius-space-3,12px);
  }
}
@media (forced-colors:active) {
  :root { --holius-pub-focus-outline:2px solid Highlight; }
}

/* 0386 UI component contract — scoped, state-aware and theme-compatible.
   Do not rewrite legacy button/card layouts or alter form submit behavior. */
:root{
  --holius-pub-component-gap:var(--holius-space-3,12px);
  --holius-pub-component-radius:var(--holius-radius-md,14px);
}
:where(.holius-action-group > .btn,.holius-action-group > .button,.holius-action-group > .admin-button,.holius-action-group > button){
  min-block-size:var(--holius-pub-hit-target);
}
:where(.holius-action-group > .btn,.holius-action-group > .button,.holius-action-group > .admin-button,.holius-action-group > button):disabled{
  cursor:not-allowed;
}
:where(.holius-grid > .card,.holius-grid > .admin-panel){min-inline-size:0;overflow-wrap:anywhere}
@media(forced-colors:active){
  :where(.holius-action-group > .btn,.holius-action-group > .button,.holius-action-group > .admin-button,.holius-action-group > button):focus-visible{outline-color:Highlight}
}

/* 0398: PUBLIC PAGE LAYOUT CONTRACT — opt-in; existing service workspaces unchanged.
   Shared geometry lives here, not in per-page overrides. */
:root{
  --holius-layout-standard-max:var(--holius-content-max,1180px);
  --holius-layout-reading-max:860px;
  --holius-layout-news-max:1080px;
  --holius-layout-intro-top:clamp(26px,2.65vw,38px);
  --holius-layout-intro-bottom:clamp(18px,1.8vw,22px);
  --holius-layout-section-block:clamp(24px,2.8vw,34px);
  --holius-layout-title-size:clamp(1.8rem,2.55vw,2.375rem);
}
.container.holius-layout-container{
  max-width:var(--holius-layout-width,var(--holius-layout-standard-max));
  min-width:0;
}
.holius-layout-narrow{--holius-layout-width:var(--holius-layout-news-max)}
.holius-layout-reading{--holius-layout-width:var(--holius-layout-reading-max)}
.page-hero.holius-layout-hero{
  padding-block:var(--holius-layout-intro-top) var(--holius-layout-intro-bottom);
}
.page-hero.holius-layout-hero h1{
  font-size:var(--holius-layout-title-size);
  line-height:1.2;
}
.page-hero.holius-layout-hero p{
  max-inline-size:72ch;
  line-height:1.6;
}
.section.holius-layout-section{padding-block:var(--holius-layout-section-block)}
@media (max-width:380px){
  .page-hero.holius-layout-hero{--holius-layout-intro-top:24px}
}


/* 0400 PUBLIC COMPONENT CONTRACT — scoped to approved layout sections only.
   Zero-specificity defaults preserve service-specific component states and behavior. */
:root{
  --holius-layout-card-radius:var(--holius-radius-md,14px);
  --holius-layout-card-border:var(--holius-border);
  --holius-layout-control-radius:var(--holius-radius-control,10px);
  --holius-layout-control-min-height:var(--holius-control-h,44px);
  --holius-layout-component-gap:var(--holius-space-3,12px);
}
:where(.holius-layout-section .card,.holius-layout-section .media-hub-card,.holius-layout-section .ad-card){
  border-radius:var(--holius-layout-card-radius);
  min-inline-size:0;
}
:where(.holius-layout-section .btn:not(.btn-sm),.holius-layout-section button:not(.btn-sm)){
  min-block-size:var(--holius-layout-control-min-height);
}
:where(.holius-layout-section .input,.holius-layout-section input:not([type="checkbox"]):not([type="radio"]),.holius-layout-section select,.holius-layout-section textarea){
  min-inline-size:0;
  border-radius:var(--holius-layout-control-radius);
}
:where(.holius-layout-section .job-type-tabs,.holius-layout-section .community-category-tabs){
  gap:var(--holius-layout-component-gap);
}

/* 0656: opt-in layout contracts, non-invasive to existing service layouts. */
.holius-layout--fluid{inline-size:100%;max-inline-size:none;margin-inline:0;}
.holius-layout--split{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--holius-space-6,24px);}
.holius-layout--split > *{min-inline-size:0;}
@media(min-width:1024px){
  .holius-layout--split[data-sidebar="start"]{grid-template-columns:minmax(220px,280px) minmax(0,1fr);}
  .holius-layout--split[data-sidebar="end"]{grid-template-columns:minmax(0,1fr) minmax(220px,280px);}
}
/* Focus remains visible in Windows high contrast mode even if shadows disappear. */
@media(forced-colors:active){
  :where(.btn,.button,.admin-button,button,input,select,textarea,a,summary):focus-visible{outline:2px solid Highlight;outline-offset:2px;box-shadow:none;}
}

/* HOLiUS 0672 — Shared layout contracts. Opt-in, no global page-width enforcement.
   Preserve service-specific layouts; use these classes only where explicitly adopted. */
:root {
  --holius-layout-reading: 72ch;
  --holius-layout-content: 1180px;
  --holius-layout-wide: 1440px;
  --holius-layout-gutter: clamp(16px, 3vw, 32px);
  --holius-layout-gap: clamp(16px, 2vw, 28px);
  --holius-layout-sidebar: clamp(220px, 24vw, 300px);
}
/* Existing .holius-layout contracts remain untouched. */
:where(.holius-shell) { width: 100%; min-width: 0; padding-inline: var(--holius-layout-gutter); }
:where(.holius-shell--content) { max-width: calc(var(--holius-layout-content) + 2 * var(--holius-layout-gutter)); margin-inline: auto; }
:where(.holius-shell--wide) { max-width: calc(var(--holius-layout-wide) + 2 * var(--holius-layout-gutter)); margin-inline: auto; }
:where(.holius-shell--fluid) { max-width: none; }
:where(.holius-reading-column) { max-width: var(--holius-layout-reading); min-width: 0; }
:where(.holius-split-grid) { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--holius-layout-gap); min-width: 0; }
:where(.holius-split-grid > *) { min-width: 0; }
@media (min-width: 960px) {
  :where(.holius-split-grid[data-sidebar="start"]) { grid-template-columns: var(--holius-layout-sidebar) minmax(0, 1fr); }
  :where(.holius-split-grid[data-sidebar="end"]) { grid-template-columns: minmax(0, 1fr) var(--holius-layout-sidebar); }
}
:where(.holius-wrap-anywhere) { overflow-wrap: anywhere; }
:where(.holius-focus-ring:focus-visible) { outline: 2px solid var(--holius-accent, currentColor); outline-offset: 3px; }
@media (forced-colors: active) { :where(.holius-focus-ring:focus-visible) { outline-color: Highlight; } }

/* HOLiUS 0678 — unified discovery surface: shared, opt-in component contract.
   Avoid forced page centering; do not change service-specific geometry. */
:root {
  --holius-discovery-radius: var(--holius-radius-lg, 16px);
  --holius-discovery-gap: clamp(12px, 1.8vw, 24px);
  --holius-discovery-focus-width: 3px;
  --holius-discovery-touch-target: 44px;
}
:where(.holius-discovery-section) { min-inline-size: 0; }
:where(.holius-discovery-grid) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: var(--holius-discovery-gap);
  min-inline-size: 0;
}
:where(.holius-discovery-card) {
  box-sizing: border-box;
  min-inline-size: 0;
  border-radius: var(--holius-discovery-radius);
  overflow-wrap: anywhere;
}
:where(.holius-discovery-actions) { display: flex; flex-wrap: wrap; gap: 8px; }
:where(.holius-discovery-actions a, .holius-discovery-actions button) {
  min-block-size: var(--holius-discovery-touch-target);
  display: inline-flex;
  align-items: center;
}
:where(.holius-discovery-card a, .holius-discovery-actions a, .holius-discovery-actions button):focus-visible {
  outline: var(--holius-discovery-focus-width) solid var(--holius-accent, currentColor);
  outline-offset: 3px;
}
@media (forced-colors: active) {
  :where(.holius-discovery-card a, .holius-discovery-actions a, .holius-discovery-actions button):focus-visible { outline-color: Highlight; }
}
@media (prefers-reduced-motion: reduce) {
  :where(.holius-discovery-card, .holius-discovery-actions a, .holius-discovery-actions button) { transition: none; }
}

/* HOLiUS 0680 — Discovery component harmonization.
   Restrict to existing 0679 opt-in surfaces; preserve existing grids, buttons and links. */
:root {
  --holius-discovery-heading-gap: clamp(8px, 1.2vw, 16px);
  --holius-discovery-card-padding: clamp(12px, 1.6vw, 20px);
}
/* Headings and content must not force horizontal overflow. */
:where(.holius-discovery-section .home-section-heading,
       .holius-discovery-section .search-result-head,
       .holius-discovery-section .home-shortcuts-header) {
  min-inline-size: 0;
  gap: var(--holius-discovery-heading-gap);
}
:where(.holius-discovery-section .home-section-heading h2,
       .holius-discovery-section .search-result-head h2,
       .holius-discovery-section .home-shortcuts-header h2) {
  overflow-wrap: anywhere;
  text-wrap: balance;
}
/* Shared content rules apply only to already opted-in cards. */
:where(.holius-discovery-card .home-platform-service-copy,
       .holius-discovery-card .search-result-item-main) { min-inline-size: 0; }
:where(.holius-discovery-card strong,
       .holius-discovery-card small,
       .holius-discovery-card p) { overflow-wrap: anywhere; }
/* Visible focus, including keyboard users of home favorites controls. */
:where(.holius-discovery-section .home-favorites-edit,
       .holius-discovery-section .home-platform-more,
       .holius-discovery-section .home-quick-slot,
       .holius-discovery-section .home-favorites-picker-close,
       .holius-discovery-section .home-favorites-options button,
       .holius-discovery-section .search-result-item):focus-visible {
  outline: 3px solid var(--holius-text, currentColor);
  outline-offset: 3px;
}
@media (forced-colors: active) {
  :where(.holius-discovery-section .home-favorites-edit,
         .holius-discovery-section .home-platform-more,
         .holius-discovery-section .home-quick-slot,
         .holius-discovery-section .search-result-item):focus-visible { outline-color: Highlight; }
}
/* Do not animate discovery surfaces when the OS requests reduced motion. */
@media (prefers-reduced-motion: reduce) {
  :where(.holius-discovery-section .home-quick-slot,
         .holius-discovery-section .home-platform-service-card,
         .holius-discovery-section .search-result-item) {
    animation: none;
    transition: none;
    scroll-behavior: auto;
  }
}

/* HOLiUS 0967 — Modern Soft Clean v0.6, reusable opt-in UI contracts.
   Theme/font ownership stays with theme-manager/style-manager; component ownership
   stays with the service. These classes do not install event handlers or change APIs.
   Opt in deliberately: .holius-ui-action, .holius-ui-chip, .holius-ui-panel,
   .holius-ui-empty, .holius-ui-dialog and .holius-ui-skeleton. */
:root {
  --holius-ui-action-fg:var(--theme-accent-contrast,var(--holius-surface));
  --holius-ui-action-bg:var(--holius-accent);
  --holius-ui-action-radius:var(--holius-radius-control);
  --holius-ui-panel-radius:var(--holius-radius-md);
  --holius-ui-panel-shadow:var(--theme-shadow-sm,none);
  --holius-ui-focus-width:2px;
  --holius-ui-target-min:44px;
}
:where(.holius-ui-action,.holius-ui-chip) {
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  gap:var(--holius-space-2);min-block-size:var(--holius-ui-target-min);
  max-inline-size:100%;padding:var(--holius-space-2) var(--holius-space-4);
  font-family:var(--theme-font-ui);font-size:var(--type-button-size,.875rem);
  font-weight:var(--theme-weight-medium,600);line-height:1.4;
  text-decoration:none;text-align:center;overflow-wrap:anywhere;
  border:1px solid var(--holius-field-border);border-radius:var(--holius-ui-action-radius);
  background:var(--holius-field-bg);color:var(--holius-text);
  cursor:pointer;touch-action:manipulation;
}
:where(.holius-ui-action)[data-variant="primary"] {
  background:var(--holius-ui-action-bg);color:var(--holius-ui-action-fg);
  border-color:var(--holius-ui-action-bg);
}
/* Avoid accent-hover background for opt-in actions: the current fixed foreground
   drops below 4.5:1 on some official preset hover colors. A non-layout-moving
   inset marker provides hover feedback while keeping the validated pair. */
:where(.holius-ui-action)[data-variant="primary"]:not(:disabled):not([aria-disabled="true"]):hover {
  box-shadow:inset 0 0 0 2px var(--holius-ui-action-fg);
}
:where(.holius-ui-action)[data-variant="quiet"] {
  background:transparent;color:var(--holius-text);border-color:transparent;
}
:where(.holius-ui-action)[data-variant="quiet"]:hover {background:var(--holius-field-bg)}
:where(.holius-ui-chip) {
  min-block-size:var(--holius-control-h);padding-inline:var(--holius-space-3);
  border-radius:999px;white-space:normal;
}
:where(.holius-ui-chip)[aria-pressed="true"],
:where(.holius-ui-chip)[aria-selected="true"],
:where(.holius-ui-chip).is-selected {
  border-color:var(--holius-text);box-shadow:inset 0 0 0 1px var(--holius-text);
}
:where(.holius-ui-action,.holius-ui-chip):focus-visible {
  outline:var(--holius-ui-focus-width) solid var(--holius-text);
  outline-offset:3px;
  box-shadow:var(--holius-focus);
}
:where(.holius-ui-action,.holius-ui-chip):disabled,
:where(.holius-ui-action,.holius-ui-chip)[aria-disabled="true"] {
  opacity:.6;cursor:not-allowed;
}
:where(.holius-ui-action,.holius-ui-chip)[aria-busy="true"] {
  cursor:progress;
}
/* Text labels must accompany meaning-bearing status colors; CSS alone cannot
   supply aria-live, disabled semantics, or asynchronous focus management. */
:where(.holius-ui-panel,.holius-ui-dialog) {
  box-sizing:border-box;min-inline-size:0;
  padding:var(--holius-space-4);border:1px solid var(--holius-border);
  border-radius:var(--holius-ui-panel-radius);
  background:var(--holius-surface);color:var(--holius-text);
  box-shadow:var(--holius-ui-panel-shadow);
  overflow-wrap:anywhere;
}
:where(.holius-ui-dialog) {
  inline-size:min(100%,36rem);max-block-size:calc(100dvh - 2 * var(--holius-space-4));
  overflow:auto;overscroll-behavior:contain;
}
:where(.holius-ui-dialog)[open] {margin:auto}
:where(.holius-ui-empty) {
  display:grid;justify-items:start;gap:var(--holius-space-2);
  min-inline-size:0;padding:var(--holius-space-6) var(--holius-space-4);
  border:1px dashed var(--holius-field-border);border-radius:var(--holius-radius-md);
  color:var(--holius-text);background:var(--holius-field-bg);
  overflow-wrap:anywhere;
}
:where(.holius-ui-empty p) {margin:0;color:var(--holius-muted);font-size:var(--type-body-sm-size,.875rem)}
:where(.holius-ui-skeleton) {
  display:block;min-block-size:1rem;border-radius:var(--holius-radius-sm);
  background:var(--holius-border);opacity:.65;
}
/* No automatic loading animation: respects reduced motion by default. */
@media (max-width:767px) {
  :where(.holius-ui-dialog) {max-block-size:calc(100dvh - 2 * var(--holius-space-3));}
}
@media (forced-colors:active) {
  :where(.holius-ui-action,.holius-ui-chip):focus-visible {outline-color:Highlight;box-shadow:none}
  :where(.holius-ui-chip)[aria-pressed="true"],
  :where(.holius-ui-chip)[aria-selected="true"] {border-color:Highlight;box-shadow:inset 0 0 0 1px Highlight}
  :where(.holius-ui-skeleton) {border:1px solid CanvasText}
}
@media (prefers-reduced-motion:reduce) {
  :where(.holius-ui-action,.holius-ui-chip,.holius-ui-dialog){transition:none;animation:none}
}

/* HOLiUS 0968 — v0.6.1: theme-aware readable secondary text, opt-in.
   Preserve preset values / user personalization; use existing semantic theme roles.
   On browsers without color-mix, body text is the accessible fallback.
   Avoid changing geometry, DOM order, or legacy service-specific selectors. */
:root{--holius-ui-secondary-fg:var(--holius-text)}
@supports (color:color-mix(in srgb,black 50%,white)) {
  :root{--holius-ui-secondary-fg:color-mix(in srgb,var(--holius-muted) 35%,var(--holius-text))}
}
:where(.holius-field__help,.holius-ui-empty p),.holius-ui-secondary-text{color:var(--holius-ui-secondary-fg)}
@media (forced-colors:active){
  :where(.holius-field__help,.holius-ui-empty p),.holius-ui-secondary-text{color:CanvasText}
}

/* 0970 Modern Soft Clean v0.6.3 — opt-in shared public header/footer shell.
   Header uses the existing route/menu/search controllers. Footer links keep server routes,
   admin-authored copy and layout-family exceptions. No global `.container` rewrite. */
.holius-shell-header :where(.hh-brand-wordmark,.hh-global-search-entry,.hh-home-search-shortcut,
  .hh-menu-button,.hh-member-button,.hh-more-button,.hh-apps-trigger,.hh-apps-button) {
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.holius-shell-header :where(.hh-global-search-entry,.hh-home-search-shortcut) {
  min-inline-size:44px;min-block-size:44px;
  align-items:center;justify-content:center;
}
.holius-shell-header :where(a,button):focus-visible {
  outline-offset:2px;
}
/* Footer is semantic content, not another navigation card. Use existing theme tokens. */
.site-footer.holius-shell-footer {
  box-sizing:border-box;
  color:var(--holius-text);
  background:var(--theme-bg,var(--holius-color-bg)) ; /* scoped legacy theme override */
  border-block-start:1px solid var(--holius-border);
  padding-block:var(--holius-space-8) var(--holius-space-6);
  overflow-wrap:anywhere;
}
/* Keep shared-footer secondary text legible without changing theme presets.
   This override is scoped to the shared shell. */
.site-footer.holius-shell-footer .footer-grid p,
.site-footer.holius-shell-footer .footer-links,
.site-footer.holius-shell-footer .copyright {color:var(--holius-ui-secondary-fg,var(--holius-text)) }
.site-footer.holius-shell-footer .footer-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:var(--holius-space-6);
  align-items:start;
}
.site-footer.holius-shell-footer .footer-grid > div {min-inline-size:0}
.site-footer.holius-shell-footer .footer-grid strong {font-family:var(--theme-font-heading,var(--theme-font-ui));font-weight:var(--theme-weight-strong,700);letter-spacing:var(--theme-tracking-heading,normal)}
.site-footer.holius-shell-footer .footer-grid p {font-size:var(--type-body-sm-size,.875rem);line-height:1.6;margin-block:var(--holius-space-2) 0}
.site-footer.holius-shell-footer .footer-links {
  display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;
  column-gap:var(--holius-space-4);row-gap:var(--holius-space-2);
  line-height:1.5;
}
.site-footer.holius-shell-footer .footer-links a {
  display:inline-flex;align-items:center;min-block-size:36px;
  border-radius:var(--holius-radius-sm);text-decoration:none;text-underline-offset:3px;
}
.site-footer.holius-shell-footer .footer-links a:hover,
.site-footer.holius-shell-footer .footer-links a:focus-visible {text-decoration:underline}
.site-footer.holius-shell-footer .copyright {
  margin-block-start:var(--holius-space-4);padding-block-start:var(--holius-space-3);
  border-block-start:1px solid var(--holius-border);font-variant-numeric:tabular-nums;
}
@media(max-width:767px){
  .site-footer.holius-shell-footer {padding-block:var(--holius-space-6) var(--holius-space-5)}
  .site-footer.holius-shell-footer .footer-grid {grid-template-columns:minmax(0,1fr);gap:var(--holius-space-4)}
  .site-footer.holius-shell-footer .footer-links {justify-content:flex-start;column-gap:var(--holius-space-3);row-gap:var(--holius-space-1)}
  .site-footer.holius-shell-footer .footer-links a {min-block-size:44px}
}
@media(forced-colors:active){
  .site-footer.holius-shell-footer,
  .site-footer.holius-shell-footer .copyright {border-block-start-color:CanvasText}
  .site-footer.holius-shell-footer .footer-links a:focus-visible {outline:2px solid Highlight;outline-offset:2px}
}
@media(prefers-reduced-motion:reduce){
  .holius-shell-header :where(a,button),.holius-shell-footer a {transition:none;animation:none}
}
/* END assets/design-foundation.css */

/* BEGIN assets/color-role-audit.css */
/* HOLIUS Color Role Audit — all user-facing colors route through theme roles. */
/* Semantic tokens are defined once in theme-role-system.css. */
/* State/badge colors are semantic, never hard-coded brand colors. */
.status-success,.is-success,.badge-success{color:var(--semantic-success);border-color:var(--semantic-success);background:var(--theme-success-soft)}
.status-danger,.is-danger,.badge-danger,.error-text{color:var(--semantic-danger);border-color:var(--semantic-danger);background:var(--theme-danger-soft)}
.status-warning,.is-warning,.badge-warning{color:var(--semantic-warning);border-color:var(--semantic-warning);background:var(--theme-warning-soft)}
.status-info,.is-info,.badge-info{color:var(--semantic-info);border-color:var(--semantic-info);background:var(--theme-info-soft)}
.bible-verse.is-highlight,.bible-verse.is-focus{background:var(--theme-highlight-bg);color:var(--theme-highlight-text)}
/* Dialog/backdrop darkness follows the editable overlay color. */
.modal-backdrop,.dialog-backdrop,.theme-picker-backdrop,.bible-sheet-backdrop,.bible-reader-backdrop{background:var(--theme-overlay)}
/* Media canvas is intentionally neutral dark; it is content chrome, not page theme. */
.media-video{background:#0d0f0d}
/* Progressive enhancement: keep the semantic solid border on older engines. */
@supports (color: color-mix(in srgb, red 30%, white)) {
  .status-success,.is-success,.badge-success{border-color:color-mix(in srgb,var(--semantic-success) 30%,var(--border-color))}
  .status-danger,.is-danger,.badge-danger,.error-text{border-color:color-mix(in srgb,var(--semantic-danger) 30%,var(--border-color))}
  .status-warning,.is-warning,.badge-warning{border-color:color-mix(in srgb,var(--semantic-warning) 30%,var(--border-color))}
  .status-info,.is-info,.badge-info{border-color:color-mix(in srgb,var(--semantic-info) 30%,var(--border-color))}
}

/* END assets/color-role-audit.css */

/* BEGIN assets/search-ui.css */
/* HOLIUS Search UI — canonical geometry layer.
   This file is loaded after theme role rules; page-specific legacy rules are neutralized below. */
:root{--search-height:52px;--search-radius:999px;--search-icon-size:44px}

/* One-piece search controls */
.search-shell,.unified-search-bar,.search-results-control,.bible-direct-search-control,.search-overlay-form{
  position:relative;min-width:0;box-sizing:border-box;
}
.search-shell,.unified-search-bar{
  display:flex;flex-direction:row;align-items:center;gap:0;
  width:100%;min-height:var(--search-height);padding:0 52px 0 0;
  border:var(--theme-border-width) solid var(--border-color,var(--theme-border,var(--line)));
  border-radius:var(--search-radius);background:var(--bg-surface,var(--theme-input,var(--theme-surface,var(--bg-surface))));
  color:var(--text-main,var(--theme-text,var(--text)));overflow:hidden;box-shadow:var(--theme-shadow-sm);
}
.search-shell input,.unified-search-bar input,.search-results-control input,.bible-direct-search-control input{
  box-sizing:border-box;width:100%;min-width:0;height:var(--search-height);
  border:var(--theme-border-width) solid var(--border-color,var(--theme-border,var(--line)));border-radius:var(--search-radius);
  background:var(--bg-surface,var(--theme-input,var(--theme-surface,var(--bg-surface))));
  color:var(--text-main,var(--theme-text,var(--text)));padding:0 58px 0 20px;
  font:inherit;font-size:16px;box-shadow:var(--theme-shadow-sm);
}
.search-shell input,.unified-search-bar input{
  height:auto;min-height:50px;border:0;background:transparent;padding:0 18px;
}
.search-shell input::placeholder,.unified-search-bar input::placeholder,.search-results-control input::placeholder,.bible-direct-search-control input::placeholder{
  color:var(--text-sub,var(--theme-muted,var(--muted)));opacity:var(--theme-opacity-muted);
}
.search-shell:focus-within,.unified-search-bar:focus-within{
  border-color:var(--brand-accent,var(--theme-accent,var(--primary)));
  box-shadow:var(--theme-focus-ring);
}
.search-results-control:focus-within input,.bible-direct-search-control:focus-within input{
  border-color:var(--brand-accent,var(--theme-accent,var(--primary)));
  box-shadow:var(--theme-focus-ring);
}

/* Every magnifier submit remains an icon-only transparent control. */
.search-icon-submit,.minimal-search-submit,.search-overlay-submit,.bible-direct-submit{
  appearance:none;display:grid;place-items:center;box-sizing:border-box;
  width:var(--search-icon-size);height:var(--search-icon-size);min-width:var(--search-icon-size);min-height:var(--search-icon-size);
  padding:0;margin:0;border:0;border-width:0;border-radius:50%;
  background:transparent;color:var(--text-main,var(--theme-text,var(--text)));box-shadow:var(--theme-shadow-sm);
  cursor:pointer;filter:none;transform:none;
}
.search-icon-submit:hover,.minimal-search-submit:hover,.search-overlay-submit:hover,.bible-direct-submit:hover{
  background:transparent;color:var(--brand-accent,var(--theme-accent,var(--primary)));filter:none;
}
.search-icon-submit:focus-visible,.minimal-search-submit:focus-visible,.search-overlay-submit:focus-visible,.bible-direct-submit:focus-visible{
  outline:var(--holius-pub-focus-ring-width,2px) solid var(--holius-pub-focus-ring-color,var(--theme-accent,#2563eb));outline-offset:var(--holius-pub-focus-offset,2px);
}
.search-icon-submit svg,.minimal-search-submit svg,.search-overlay-submit svg,.bible-direct-submit svg{
  width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.search-results-control .search-icon-submit,.bible-direct-search-control .bible-direct-submit{
  position:absolute;right:5px;top:50%;transform:translateY(-50%);z-index:2;
}

/* Home */
form.minimal-search{border-radius:var(--search-radius);overflow:hidden}
form.minimal-search .minimal-search-submit{background:transparent;border:0;box-shadow:var(--theme-shadow-sm)}

/* Full-screen search overlay */
.search-overlay-form{
  display:flex;align-items:center;gap:0;border-radius:var(--search-radius);overflow:hidden;
  border:var(--theme-border-width) solid var(--border-color,var(--theme-border,var(--border-color)));background:var(--bg-surface,var(--theme-input,var(--theme-surface,var(--bg-surface))));
  padding:0 4px 0 14px;box-shadow:var(--theme-shadow-sm);
}
.search-overlay-form:focus-within{border-color:var(--brand-accent,var(--theme-accent,var(--brand-accent)));box-shadow:var(--theme-focus-ring)}
.search-overlay-form input{background:transparent;border:0;box-shadow:var(--theme-shadow-sm)}
.search-overlay-form .search-overlay-submit{display:grid;background:transparent;border:0;box-shadow:var(--theme-shadow-sm)}

/* Utility search */
.settings-search,.utility-search .input,.job-search-box .input[type="search"]{border-radius:var(--search-radius)}

@media(max-width:640px){
  :root{--search-height:50px;--search-icon-size:44px}
  .search-shell,.unified-search-bar{flex-direction:row;padding-right:48px}
}
/* END assets/search-ui.css */

/* BEGIN assets/header_0182.css */
/* HOLiUS 0180->0182 header slots. Never restyle GospelMall or force brand colors. */
.hh-global-search {display:flex;align-items:center;gap:.4rem;flex:1;max-width:460px;margin-inline:clamp(.35rem,2vw,1.6rem)}
.hh-global-search input {width:100%;min-width:0;padding:.48rem .68rem;border:1px solid var(--border-color,#ddd);border-radius:var(--holius-legacy-radius-12,12px);background:var(--bg-surface,#fff);color:var(--text-main,#222);font:inherit}
.hh-global-search button,.hh-header-activity {border:1px solid var(--border-color,#ddd);border-radius:var(--holius-legacy-radius-12,12px);background:var(--bg-surface,#fff);color:var(--text-main,#222);font:inherit;padding:.48rem .7rem;white-space:nowrap;text-decoration:none}
.hh-global-search :focus-visible,.hh-header-activity:focus-visible {outline:2px solid var(--brand-accent,currentColor);outline-offset:2px}
@media(max-width:700px){.hh-global-search{margin-inline:.4rem}.hh-global-search input{max-width:125px}.hh-global-search button{padding:.45rem}.hh-header-activity{display:none}}
@media(max-width:390px){.hh-global-search input{max-width:88px}}
/* END assets/header_0182.css */

/* BEGIN assets/theme-engine-v2.css */
/* 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-latin:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--theme-font-korean:Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",var(--theme-font-latin);--theme-font-japanese:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,var(--theme-font-latin);--theme-font-cjk-sc:"Noto Sans SC","PingFang SC","Microsoft YaHei",var(--theme-font-latin);--theme-font-cjk-tc:"Noto Sans TC","PingFang TC","Microsoft JhengHei",var(--theme-font-latin);--theme-font-rtl:"Noto Sans Arabic","Noto Sans Hebrew",Arial,var(--theme-font-latin);--theme-font-sans:var(--theme-font-korean);--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;
  /* Stage 6 numeric primitives: exact-value aliases for legacy search typography. */
  --theme-weight-400:400;--theme-weight-500:500;--theme-weight-600:600;--theme-weight-650:650;--theme-weight-700:700;--theme-weight-750:750;--theme-weight-800:800;
  --theme-leading-scale-125:1.25;--theme-leading-scale-135:1.35;--theme-leading-scale-140:1.4;--theme-leading-scale-145:1.45;--theme-leading-scale-150:1.5;--theme-leading-scale-155:1.55;--theme-leading-scale-160:1.6;--theme-leading-scale-165:1.65;
  --theme-leading-body:1.68;--theme-leading-heading:1.28;--theme-tracking-body:0;--theme-tracking-heading:-.025em;--theme-tracking-label:.02em;--type-display-size:clamp(2rem,5vw,3.5rem);--type-h1-size:clamp(1.75rem,4vw,2.5rem);--type-h2-size:clamp(1.375rem,3vw,2rem);--type-h3-size:clamp(1.125rem,2vw,1.5rem);--type-body-size:1rem;--type-body-sm-size:.875rem;--type-label-size:.8125rem;--type-caption-size:.75rem;--type-button-size:.875rem;
  --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;animation-iteration-count:1;transition-duration:.001ms}}

.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}

/* 0117 Global Typography Foundation */
:root:lang(ja){--theme-font-sans:var(--theme-font-japanese)}:root:lang(zh-CN),:root:lang(zh-SG){--theme-font-sans:var(--theme-font-cjk-sc)}:root:lang(zh-TW),:root:lang(zh-HK),:root:lang(zh-MO){--theme-font-sans:var(--theme-font-cjk-tc)}:root:lang(ar),:root:lang(he),:root:lang(fa),:root:lang(ur){--theme-font-sans:var(--theme-font-rtl)}
:where(.type-display){font-size:var(--type-display-size);font-family:var(--theme-font-display);font-weight:var(--theme-weight-heading);line-height:1.12;letter-spacing:var(--theme-tracking-heading)}:where(.type-body){font-size:var(--type-body-size);line-height:var(--theme-leading-body)}:where(.type-body-sm){font-size:var(--type-body-sm-size);line-height:1.55}:where(.type-label){font-size:var(--type-label-size);font-weight:var(--theme-weight-medium);letter-spacing:var(--theme-tracking-label)}:where(.type-caption){font-size:var(--type-caption-size);line-height:1.45}:where(.type-numeric,[data-numeric]){font-family:var(--theme-font-numeric);font-variant-numeric:tabular-nums lining-nums}
/* END assets/theme-engine-v2.css */

/* BEGIN assets/personalization.css */
/*
 * HOLiUS Personalization Foundation
 * Independent axes: Color Theme × Font Family × Font Scale.
 * Scale 1 is the readable default. Large headings grow more conservatively
 * than body text so Scale 5 improves readability without destroying layout.
 */
:root,
html[data-font-scale="1"]{
  --type-body-size:1rem;
  --type-body-sm-size:.875rem;
  --type-label-size:.8125rem;
  --type-caption-size:.75rem;
  --type-button-size:.875rem;
  --type-h3-size:clamp(1.125rem,2vw,1.5rem);
  --type-h2-size:clamp(1.375rem,3vw,2rem);
  --type-h1-size:clamp(1.75rem,4vw,2.5rem);
  --type-display-size:clamp(2rem,5vw,3.5rem);
}
html[data-font-scale="2"]{
  --type-body-size:1.06rem;
  --type-body-sm-size:.93rem;
  --type-label-size:.86rem;
  --type-caption-size:.795rem;
  --type-button-size:.91rem;
  --type-h3-size:clamp(1.16rem,2.04vw,1.55rem);
  --type-h2-size:clamp(1.42rem,3.05vw,2.06rem);
  --type-h1-size:clamp(1.80rem,4.08vw,2.58rem);
  --type-display-size:clamp(2.06rem,5.10vw,3.62rem);
}
html[data-font-scale="3"]{
  --type-body-size:1.12rem;
  --type-body-sm-size:.98rem;
  --type-label-size:.91rem;
  --type-caption-size:.84rem;
  --type-button-size:.95rem;
  --type-h3-size:clamp(1.20rem,2.08vw,1.59rem);
  --type-h2-size:clamp(1.46rem,3.10vw,2.12rem);
  --type-h1-size:clamp(1.86rem,4.16vw,2.65rem);
  --type-display-size:clamp(2.12rem,5.20vw,3.72rem);
}
html[data-font-scale="4"]{
  --type-body-size:1.20rem;
  --type-body-sm-size:1.05rem;
  --type-label-size:.97rem;
  --type-caption-size:.90rem;
  --type-button-size:1rem;
  --type-h3-size:clamp(1.24rem,2.12vw,1.63rem);
  --type-h2-size:clamp(1.51rem,3.16vw,2.18rem);
  --type-h1-size:clamp(1.91rem,4.24vw,2.72rem);
  --type-display-size:clamp(2.18rem,5.30vw,3.82rem);
}
html[data-font-scale="5"]{
  --type-body-size:1.28rem;
  --type-body-sm-size:1.12rem;
  --type-label-size:1.04rem;
  --type-caption-size:.96rem;
  --type-button-size:1.03rem;
  --type-h3-size:clamp(1.28rem,2.16vw,1.68rem);
  --type-h2-size:clamp(1.56rem,3.22vw,2.24rem);
  --type-h1-size:clamp(1.96rem,4.32vw,2.80rem);
  --type-display-size:clamp(2.24rem,5.40vw,3.92rem);
}

/* Common controls consume the scale without scaling spacing/radius/icon tokens. */
:where(body){font-size:var(--type-body-size)}
:where(input,select,textarea,button,.btn,.button,.admin-button){font-size:var(--type-button-size)}
:where(small,.text-caption,.caption){font-size:var(--type-caption-size)}
:where(.text-label,label,.label){font-size:var(--type-label-size)}
:where(h1,.type-h1){font-size:var(--type-h1-size)}
:where(h2,.type-h2){font-size:var(--type-h2-size)}
:where(h3,.type-h3){font-size:var(--type-h3-size)}

/* Font scale chooser */
.font-scale-picker{display:grid;gap:18px;margin-top:18px;min-width:0}
.font-scale-current{font-size:var(--type-body-sm-size);color:var(--theme-muted)}
.font-scale-current strong{color:var(--theme-text)}
.font-scale-control{display:grid;gap:12px;padding:18px;border:1px solid var(--theme-border);border-radius:var(--theme-radius-card);background:var(--theme-surface)}
.font-scale-control-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}
.font-scale-control-head label{font-weight:var(--theme-weight-750,750);color:var(--theme-text)}
.font-scale-output{font-size:var(--type-body-sm-size);font-weight:var(--theme-weight-750,750);color:var(--theme-accent);white-space:normal;text-align:right;overflow-wrap:anywhere}
.font-scale-range{width:100%;min-height:36px;accent-color:var(--theme-accent);cursor:pointer}
.font-scale-labels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;color:var(--theme-muted);font-size:var(--type-caption-size);text-align:center}
.font-scale-labels span{min-width:0;overflow-wrap:anywhere}
.font-scale-preview{display:grid;gap:7px;padding:18px;border:1px solid var(--theme-border);border-radius:var(--theme-radius-card);background:var(--theme-surface-2);min-width:0}
.font-scale-preview strong{font-size:var(--type-h3-size);line-height:var(--theme-leading-legacy-1-3,1.3);overflow-wrap:anywhere}
.font-scale-preview p{margin:0;font-size:var(--type-body-size);line-height:var(--theme-leading-body,1.68);overflow-wrap:anywhere}
.font-scale-preview small{font-size:var(--type-caption-size);color:var(--theme-muted);overflow-wrap:anywhere}
.font-scale-note{margin:0;color:var(--theme-muted);font-size:var(--type-body-sm-size);line-height:var(--theme-leading-legacy-1-55,1.55)}

@media(max-width:420px){
  .font-scale-control{padding:14px}
  .font-scale-labels{font-size:max(11px,var(--type-caption-size));gap:2px}
  .font-scale-labels span:nth-child(2),
  .font-scale-labels span:nth-child(4){font-size:0}
  .font-scale-labels span:nth-child(2)::after{content:"2";font-size:var(--type-caption-size)}
  .font-scale-labels span:nth-child(4)::after{content:"4";font-size:var(--type-caption-size)}
}


/* 0160 — personalization action completion + large-text resilience */
.personalization-status{
  margin:8px 0 0;
  min-height:1.4em;
  color:var(--theme-muted);
  font-size:var(--type-caption-size);
  line-height:var(--theme-leading-legacy-1-4,1.4);
  overflow-wrap:anywhere;
}
.personalization-status:empty{display:none}
.personalization-status.is-error{color:var(--semantic-danger,var(--theme-danger,#b42318))}
.personalization-status.is-ok{color:var(--semantic-success,var(--theme-success,#218a4a))}

html[data-font-scale="4"] .font-scale-control-head,
html[data-font-scale="5"] .font-scale-control-head{
  align-items:flex-start;
  flex-wrap:wrap;
}
html[data-font-scale="4"] .font-scale-output,
html[data-font-scale="5"] .font-scale-output{
  flex:1 1 10rem;
}
html[data-font-scale="5"] .design-tab{
  line-height:var(--theme-leading-legacy-1-3,1.3);
  white-space:normal;
}
/* END assets/personalization.css */

/* BEGIN assets/layout-resilience.css */
/* HOLiUS shared layout resilience | refactor candidate 0588
 * Ownership: shared layout only. Avoid page-specific overrides here.
 * Keep selector specificity and declaration order stable.
 */
/* 01 — Intrinsic sizing and overflow */
:where(
  main,section,article,aside,
  .container,.grid,.card,.section,.section-head,
  .theme-picker-dialog,.theme-picker-grid,.theme-group,.theme-group-grid,
  .style-picker-grid,.font-scale-picker,
  .hh-apps-panel,.hh-apps-grid,.hh-app-item,
  .admin-shell,.admin-content,.admin-panel,.admin-card
){min-width:0}

:where(img,video,canvas,iframe){max-width:100%}

:where(
  p,li,dd,dt,td,th,blockquote,
  .card,.list-item,.meta,.alert,
  .theme-choice,.theme-choice strong,.theme-choice small,
  .font-choice,.font-choice-preview,
  .hh-app-item strong,.admin-card,.admin-panel
){overflow-wrap:anywhere;word-break:normal}

:where(.btn,.button,.admin-button,.theme-card-action,.theme-add-link,.theme-reset-button){
  max-width:100%;
  height:auto;
  min-width:0;
  white-space:normal;
  text-align:center;
}

:where(.table-scroll,.data-table-scroll,[data-horizontal-scroll]){
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

:where(.grid,.theme-group-grid,.style-picker-grid,.hh-apps-grid)>*{min-width:0}

html[data-font-scale="4"] :where(.toolbar,.section-head,.theme-picker-foot,.theme-my-head),
html[data-font-scale="5"] :where(.toolbar,.section-head,.theme-picker-foot,.theme-my-head){
  flex-wrap:wrap;
}

html[data-font-scale="5"] :where(.theme-choice-wrap .theme-choice,.font-choice){
  min-height:max-content;
}

@media(max-width:420px){
  :where(.theme-picker-dialog,.card,.admin-card,.admin-panel){max-width:100%}
  :where(.theme-card-actions,.theme-card-actions-admin){grid-template-columns:minmax(0,1fr)}
}


/* 02 — Accessibility: large text and adaptive grids */
html[data-font-scale="4"] :where(.admin-actions,.admin-dialog-actions,.hh-app-panel-footer),
html[data-font-scale="5"] :where(.admin-actions,.admin-dialog-actions,.hh-app-panel-footer){
  flex-wrap:wrap;
}
html[data-font-scale="5"] :where(.hh-more-panel button,.hh-app-item){
  height:auto;
  min-width:0;
}
@media(max-width:520px){
  html[data-font-scale="5"] :where(.font-group-grid,.theme-group-grid){
    grid-template-columns:minmax(0,1fr);
  }
  html[data-font-scale="5"] .design-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* 03 — Content: code blocks */
:where(pre){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
:where(pre code){overflow-wrap:normal;word-break:normal}

/* 04 — Accessibility: reduced motion is handled by the shared rule below. */

/* 05 — Header: keyboard focus and responsive containment */
.hh-global-header :is(a,button,input,select,[tabindex]):focus-visible{
  outline:var(--holius-pub-focus-ring-width,2px) solid var(--holius-pub-focus-ring-color,var(--theme-accent,#2563eb));
  outline-offset:var(--holius-pub-focus-offset,2px);
}
@media (forced-colors:active){
  .hh-global-header :is(a,button,input,select,[tabindex]):focus-visible{outline:2px solid Highlight;outline-offset:2px}
}
/* Prevent flex children from forcing the global bar wider than the viewport. */
.hh-global-header .hh-global-bar{min-width:0;max-width:100%;box-sizing:border-box}
.hh-global-header .hh-global-search{min-width:0}
.hh-global-header .hh-global-search input{min-width:0;max-width:100%;box-sizing:border-box}
.hh-global-header .hh-apps-panel{max-width:calc(100vw - 16px);max-width:calc(100dvw - 16px)}

/* Header media containment */
:where(.hh-global-header) :where(img,svg){max-width:100%}
:where(.hh-global-header) :where(.hh-global-search,.hh-global-bar) > *{min-width:0}
/* Keyboard navigation: do not suppress UA outlines outside the shared header. */

/* Header interactive sizing */
.hh-global-header :where(form,input,button,a){box-sizing:border-box}
.hh-global-header :where(input[type="search"]){width:100%;min-width:0}

/* 06 — Shared content constraints */
:where(.container,.grid,.card,.section,.admin-content) :where(pre,table){max-width:100%}

/* 07 — Footer containment */
:where(footer) :where(p,a,small,li){overflow-wrap:anywhere}
:where(footer) :where(img,svg){max-width:100%;height:auto}
@media(max-width:520px){:where(footer) :where(.container){min-width:0}}

/* 08 — User-generated content */
:where(main,article,section) :where(code){overflow-wrap:anywhere}
:where(main,article,section) :where(pre code){overflow-wrap:normal}
/* Respect the visitor’s motion preference without altering default theme motion. */
@media (prefers-reduced-motion: reduce) {
  :where(html) { scroll-behavior: auto ; }
  :where(html) :where(*, *::before, *::after) {
    animation-duration: 0.01ms ;
    animation-delay: 0ms ;
    animation-iteration-count: 1 ;
    transition-duration: 0.01ms ;
    transition-delay: 0ms ;
    scroll-behavior: auto ;
  }
}
/* END assets/layout-resilience.css */
/* END SECTION 1 */

/* SECTION 2: Shared rules */
/* HOLiUS 0613: preserve desktop header and all existing actions. */
.hh-mobile-display-settings{display:none}
@media(max-width:640px){
  /* Home already has the full search card. */
  .hh-header-home-search .hh-home-search-shortcut{display:none}
  /* Display settings are now accessible from the nine-dot service menu. */
  .hh-global-header .hh-more-wrap{display:none}
  .hh-apps-panel .hh-mobile-display-settings{display:block;margin-top:14px;padding:14px 6px 0;border-top:1px solid var(--theme-border,#ddd)}
  .hh-mobile-display-settings>strong{display:block;font-size:13px;margin-bottom:10px}
  .hh-mobile-display-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
  .hh-mobile-display-actions>button{min-height:44px;border:1px solid var(--theme-border,#ddd);border-radius:10px;background:var(--theme-surface,#fff);color:inherit;font:inherit;font-size:13px;cursor:pointer;padding:8px 4px;min-width:0;overflow-wrap:anywhere}
  .hh-mobile-display-actions>button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
}
/* HOLiUS 0704: align live theme actions with 44px touch-target baseline. */
.theme-add-link,.theme-reset-button,.theme-card-action{min-height:44px}

/* R156: at extreme browser zoom (CSS viewport <=220px), preserve the
   brand, service menu and account tap targets without overlap. Search stays
   available from the existing service menu (and the home search card). */
@media (max-width:220px){
  .hh-global-header .hh-global-search-entry{display:none}
}
/* END SECTION 2 */

/* SECTION 3: Shared rules */
/* HOLiUS common bundle 20261016: generated from the original ordered stylesheets; DO NOT EDIT. */
/* BEGIN assets/final-guard-bundle-0708.css */
/* BEGIN assets/mobile-design-final.css */
/* HOLiUS Mobile Design Final V1
   Final mobile-only guard layer. It does not redefine the desktop design system.
   Goals: 16px page gutters, >=12px helper text, >=44px touch targets,
   consistent home density, and unified Theme/Font picker behavior. */

@media (max-width:760px){
  :root{
    --holius-mobile-page-x:16px;
    --holius-mobile-section-gap:28px;
    --holius-mobile-card-pad:16px;
    --holius-mobile-touch:44px;
    --holius-mobile-meta:12px;
  }


  .section{padding:24px 0}
  .section + .section{margin-top:0}
  .card{min-width:0}


  .btn,.btn-sm,.button,.button-primary,.button-outline,.primary-button,.secondary-button,
  .theme-card-action,.design-tab,.theme-reset-button{
    min-height:var(--holius-mobile-touch);
  }


  .hh-global-bar{
    min-height:64px;
    padding-left:var(--holius-mobile-page-x);
    padding-right:var(--holius-mobile-page-x);
    gap:8px;
  }
  .hh-global-left,.hh-global-right{gap:6px}
  .hh-brand-wordmark{min-height:64px;font-size:19px}
  .hh-menu-button,.hh-member-button,.hh-theme-top-button{
    width:44px;height:44px;flex:0 0 44px;
  }
  .hh-menu-button svg,.hh-member-button svg,.hh-theme-top-button svg{
    width:24px;height:24px;flex-basis:24px;
  }
  .hh-apps-panel{
    top:70px;right:var(--holius-mobile-page-x);
    width:calc(100vw - (var(--holius-mobile-page-x) * 2));
    max-height:calc(100dvh - 86px);
  }
  .hh-app-item strong,.hh-language-switch,.hh-logout-link{font-size:12px}


  .home-dashboard{gap:var(--holius-mobile-section-gap)}
  .home-section-eyebrow{font-size:12px;letter-spacing:.08em}
  .home-daily-reference,.home-daily-read{font-size:12.5px}
  .home-favorites-edit,.home-news-share{font-size:12.5px;min-height:44px}

  .home-quick-grid{gap:8px}
  .home-quick-grid .home-quick-slot{
    padding:8px 4px;gap:5px;
  }
  .home-quick-grid .home-quick-slot>span{
    width:22px;height:22px;font-size:16px;
  }
  .home-quick-grid .home-quick-slot>strong{font-size:12px;}
  .home-favorites-options button>strong{font-size:12px}
  .home-favorites-remove{min-height:44px;font-size:12.5px}
  .home-news-channel-head small,.home-news-channel-head>a{font-size:12px}
  .home-news-numbered li{min-height:44px}
  .home-news-numbered li>span{font-size:12px}
  .home-news-numbered a{font-size:14px;}
  .home-news-item-share{
    width:44px;height:44px;min-width:44px;min-height:44px;
  }
  .home-news-cache-empty{font-size:12.5px}


  .theme-picker-dialog{
    height:auto;
    max-height:82dvh;
    border-radius:var(--theme-radius-modal);
    overflow-x:hidden;overflow-y:auto;
  }
  .theme-picker-close{width:44px;height:44px;min-width:44px;min-height:44px}
  .design-tabs{gap:6px;margin-top:12px}
  .design-tab{font-size:13px}

  .theme-group-title{font-size:12.5px}
  .theme-choice-wrap .theme-choice,.font-choice-wrap .theme-choice{
    min-height:142px;padding:10px 9px 8px;
  }
  .theme-choice-swatch{height:38px;margin-bottom:8px}
  .theme-choice strong{line-height:var(--theme-leading-legacy-1-35,1.35)}
  .theme-choice small{line-height:var(--theme-leading-legacy-1-4,1.4);}
  .theme-card-actions,.theme-card-actions-admin{gap:6px;margin:0 8px}
  .theme-card-action{font-size:12.5px;padding:7px 4px}

  .font-choice-preview{height:50px;padding:6px 8px}
  .font-choice-preview b{font-size:14px;line-height:var(--theme-leading-legacy-1-25,1.25)}
  .font-choice-preview span{font-size:13px;line-height:var(--theme-leading-legacy-1-35,1.35)}
  .font-choice-preview small{font-size:12px;line-height:1.2}
  .theme-picker-foot>*{min-height:44px;}
}

@media (max-width:380px){
  :root{--holius-mobile-page-x:14px}
  .theme-picker-dialog{max-height:84dvh}
  .theme-choice-wrap .theme-choice,.font-choice-wrap .theme-choice{min-height:140px;padding:9px 8px 7px}
  .theme-card-actions,.theme-card-actions-admin{margin:0 7px;gap:5px}
  .home-quick-grid{gap:7px}
}

/* END assets/mobile-design-final.css */

/* BEGIN assets/design-system-stabilization-v1.css */

:root{
  --ds-font-page-title:28px;--ds-font-section-title:20px;--ds-font-card-title:15px;--ds-font-body:14px;--ds-font-button:14px;--ds-font-secondary:13px;--ds-font-meta:12px;--ds-font-min:12px;
  --ds-font-reading:19px;--ds-font-preview:19px;
  --ds-leading-heading:1.35;--ds-leading-body:1.6;--ds-leading-reading:1.74;--ds-leading-meta:1.45;
  --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:20px;--ds-space-section:30px;
  --ds-space-page-x:16px;--ds-card-pad:16px;--ds-card-pad-compact:12px;
  --ds-touch-min:44px;--ds-control-min:48px;
  --ds-icon-sm:18px;--ds-icon-md:20px;--ds-icon-lg:24px;
  --ds-radius-modal:22px;--ds-radius-card:16px;--ds-radius-input:14px;--ds-radius-button:10px;--ds-radius-pill:999px;
  --theme-radius-modal:var(--ds-radius-modal);--theme-radius-sheet:var(--ds-radius-modal);--theme-radius-card:var(--ds-radius-card);--theme-radius-control:var(--ds-radius-input);--theme-radius-button:var(--ds-radius-button);--theme-radius-badge:8px;--theme-radius-image:var(--ds-radius-card);
  --theme-leading-body:var(--ds-leading-body);--theme-leading-heading:var(--ds-leading-heading);--theme-section-gap:var(--ds-space-section);
}
body{font-size:var(--ds-font-body);line-height:var(--ds-leading-body)}
.page-title,.page-hero h1,.news-page-head h1{font-size:var(--ds-font-page-title);line-height:var(--ds-leading-heading)}
.section-title,.home-block-head h2{font-size:var(--ds-font-section-title);line-height:var(--ds-leading-heading)}
button,.btn,.button,input,select,textarea{font-size:var(--ds-font-button)}
button,.btn,.button,.theme-card-action,.design-tab{min-height:var(--ds-touch-min)}
input:not([type="checkbox"]):not([type="radio"]),select{min-height:var(--ds-control-min)}
[data-numeric],.rank,.score,.price,.market-price,.home-progress-copy>strong{font-variant-numeric:tabular-nums}


.theme-picker-dialog{border-radius:var(--ds-radius-modal);overscroll-behavior:contain}
.design-tabs{display:flex;position:relative;z-index:19;background:var(--theme-surface);border-bottom:1px solid var(--theme-border)}
.design-tab{font-size:14px;min-height:44px}
.theme-group-title{font-size:13px}
.theme-choice strong{font-size:14px;line-height:var(--ds-leading-heading)}
.theme-choice small{font-size:13px;line-height:var(--ds-leading-meta)}
.theme-card-action{font-size:14px;min-height:44px}
.font-choice-preview{min-height:92px;height:auto;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.font-choice-preview b,.font-choice-preview span{font-size:var(--ds-font-preview);line-height:var(--theme-leading-legacy-1-5,1.5)}
.font-choice-preview small{font-size:13px;line-height:var(--ds-leading-meta)}
.font-choice-wrap .theme-choice{min-height:174px}
.font-choice-wrap .theme-choice>strong{font-size:14px;font-weight:700}
.font-choice-wrap .theme-choice>small{font-size:13px}
.theme-choice strong,.theme-choice small,.home-news-numbered a,.home-quick-slot>strong{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;white-space:normal;text-overflow:ellipsis;-webkit-line-clamp:2}

@media(max-width:760px){
  :root{--ds-font-page-title:24px;--ds-font-section-title:18px;--ds-font-meta:12.5px;--ds-font-reading:18px;--ds-space-page-x:16px}
  .container{width:min(calc(100% - (var(--ds-space-page-x) * 2)),1180px)}
  .home-dashboard{gap:var(--ds-space-section)}
  .home-block-head h2{font-size:18px}
  .home-today-card blockquote{font-size:18px;line-height:var(--ds-leading-reading)}
  .home-routine-copy strong{font-size:15px}.home-routine-copy small{font-size:13px}
  .home-quick-grid .home-quick-slot{min-height:66px}.home-quick-grid .home-quick-slot>strong{font-size:12.5px;line-height:var(--theme-leading-legacy-1-3,1.3)}
  .home-news-channel-head strong{font-size:15px}.home-news-channel-head small,.home-news-channel-head>a,.home-news-numbered li>span{font-size:12.5px}
  .home-news-numbered a{font-size:14px;line-height:var(--theme-leading-legacy-1-45,1.45)}.home-news-item-share{min-width:44px;min-height:44px;height:44px}
  .home-progress-copy>span{font-size:13.5px}.home-progress-copy>strong{font-size:14px}.home-progress-detail{font-size:12.5px;line-height:var(--theme-leading-legacy-1-5,1.5)}

  .theme-picker-dialog{
    display:flex;flex-direction:column;width:calc(100vw - 24px);height:82dvh;max-height:82dvh;
    margin:9dvh auto;padding:0;overflow:hidden;border:1px solid var(--theme-border);
  }
  .theme-picker-head{position:relative;top:auto;flex:0 0 auto;margin:0;padding:14px 14px 10px;background:var(--theme-surface);backdrop-filter:none}
  .theme-picker-head h2{font-size:21px}.theme-picker-head p{font-size:13px;line-height:var(--theme-leading-legacy-1-5,1.5)}
  .theme-picker-close{width:44px;height:44px;min-width:44px;min-height:44px}
  .design-tabs{position:relative;top:auto;flex:0 0 auto;margin:0;padding:0 14px 10px;gap:6px;background:var(--theme-surface)}
  .design-tab{font-size:14px;min-height:44px}
  [data-design-panel]{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:10px 14px max(18px,env(safe-area-inset-bottom));scrollbar-gutter:stable}
  [data-design-panel][hidden]{display:none}
  .theme-picker-grid,.style-picker-grid{margin-top:0}
  .theme-picker-foot{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;border-top:0;background:transparent;backdrop-filter:none}
  .theme-picker-foot>*{min-height:44px;font-size:13px}
  .font-picker-foot>*{grid-column:1/-1}
  .theme-group-grid,.theme-admin-grid,.font-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .theme-choice-wrap .theme-choice{padding:10px}.theme-choice strong{font-size:14px}.theme-choice small{font-size:13px;min-height:0}
  .theme-card-action{font-size:14px;min-height:44px}
  .font-choice-wrap .theme-choice{padding:10px}.font-choice-preview{min-height:92px;margin-bottom:8px}
  .font-choice-preview b,.font-choice-preview span{font-size:19px}
}
@media(max-width:380px){:root{--ds-space-page-x:14px}.theme-picker-dialog{width:calc(100vw - 16px);margin:9dvh 8px}.theme-group-grid,.theme-admin-grid,.font-group-grid{gap:8px}}
@media(prefers-reduced-motion:reduce){.theme-picker-dialog,.design-tab,[data-design-panel]{scroll-behavior:auto}}

/* END assets/design-system-stabilization-v1.css */

/* BEGIN assets/portal-responsive.css */
/* HOLiUS Portal Responsive Guard v1
   Cross-domain safety layer only. Page/component CSS remains authoritative. */
:root{
  --portal-content-max:1180px;
  --portal-reading-max:860px;
}
html,body,main{min-width:0;max-width:100%}
main,.container,.card,form,fieldset,.toolbar,.section-head{min-width:0}
img,video,canvas{max-width:100%;height:auto}
iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
pre,code{overflow-wrap:anywhere}
.page-hero p,.card p,.meta,.list-item,.admin-row{overflow-wrap:anywhere;word-break:break-word}

@media (max-width:760px){
  :root{--portal-page-x:16px}
  html{overflow-x:hidden}
  body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  main{padding-bottom:env(safe-area-inset-bottom)}
  :where(body:not([data-hl-layout="workspace"])) .container{width:100%;max-width:var(--portal-content-max);padding-left:var(--portal-page-x);padding-right:var(--portal-page-x)}
  button,[role="button"],a.btn{min-height:44px}
  .toolbar,.section-head,.pagination,.footer-links{flex-wrap:wrap}
  .pagination{gap:6px}
  .pagination a,.pagination button,details>summary{min-height:44px}
  .pagination a,.pagination button{min-width:44px;display:inline-flex;align-items:center;justify-content:center}
  details>summary{display:flex;align-items:center;cursor:pointer}
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select{min-height:48px}
  textarea{min-height:96px}
  .table-wrap,.maintenance-table-wrap,.admin-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .site-footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .site-footer .footer-grid{gap:16px}
  .footer-links{gap:8px 14px}
}

@media (max-width:380px){
  :root{--portal-page-x:14px}
}

@media (min-width:761px) and (max-width:1023px){
  :where(body:not([data-hl-layout="workspace"])) .container{width:100%;max-width:var(--portal-content-max);padding-left:20px;padding-right:20px}
}

@media (min-width:1024px){
  :where(body:not([data-hl-layout="workspace"])) .container{width:min(calc(100% - 40px),var(--portal-content-max));max-width:var(--portal-content-max);padding-left:0;padding-right:0}
  .page-hero p{max-width:72ch}
  .form-card{max-width:720px}
  .market-chat-shell{max-width:860px}
  .maintenance-container{max-width:960px}
}

@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
}



@media (min-width:641px) and (max-width:1024px){
  .hh-global-bar{gap:clamp(8px,1.8vw,20px);padding-inline:clamp(12px,2vw,24px)}
  .hh-global-left,.hh-global-right{min-width:0}
}
@media (max-width:640px){
  .hh-global-bar{max-width:100%;min-width:0}
  .hh-global-left,.hh-global-right{min-width:0}
  .hh-brand-wordmark{flex-shrink:0}
}
@media (min-width:1440px){
  :root{--portal-content-max:1280px}
}



@media(max-width:640px){.hh-global-bar{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}}
@media(hover:none) and (pointer:coarse){.hh-global-bar :is(a,button){touch-action:manipulation}}
@media(forced-colors:active){.hh-global-bar :is(a,button):focus-visible{outline:2px solid Highlight;outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.hh-global-bar :is(a,button){scroll-behavior:auto;transition-duration:0.01ms}}



main :is(img,video,canvas,svg){max-width:100%}
main :is(iframe,object,embed){max-width:100%}
main :is(.table-wrap,.maintenance-table-wrap,.admin-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
main :is(pre,.code-block){max-width:100%;overflow-x:auto;white-space:pre}
@media(max-width:640px){main :is(.card,.page-hero,.list-item){min-width:0}main :is(h1,h2,h3,p){overflow-wrap:break-word}}



main :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--theme-accent,#2563eb);}
@media(forced-colors:active){main :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid Highlight;outline-offset:3px}}
@media(prefers-reduced-motion:reduce){main :is(a,button,summary){scroll-behavior:auto;transition-duration:0.01ms}}



@media(max-width:900px) and (orientation:landscape){.hh-global-bar{max-width:100%;min-width:0}.toolbar,.section-head{flex-wrap:wrap}}
@media(pointer:coarse){main :is(button,[role="button"],a.btn,summary){touch-action:manipulation}}
@media(max-width:640px){main :is(.pagination,.toolbar,.footer-links){min-width:0;row-gap:8px}main :is(input,select,textarea){font-size:max(16px,1rem)}}



main :is(article,.article-body,.post-content,.content-body){min-width:0;overflow-wrap:break-word}
main :is(article,.article-body,.post-content,.content-body) :is(img,video){max-width:100%;height:auto}
@media(min-width:641px) and (max-width:1024px){main :is(.article-body,.post-content,.content-body){max-width:100%}main :is(.table-wrap,.post-table-wrap){overflow-x:auto;max-width:100%}}
@media(min-width:1025px){main :is(.article-body,.post-content,.content-body)> :is(p,ul,ol,blockquote){max-width:85ch}}



@media(forced-colors:active){main :is(button,input,select,textarea,a,[role=button]):focus-visible{outline:2px solid Highlight;outline-offset:3px}}
@media(prefers-reduced-motion:reduce){main :is(*,*::before,*::after){scroll-behavior:auto;animation-duration:0.01ms;animation-iteration-count:1;transition-duration:0.01ms}}
@media(pointer:coarse){main :is(button,a.btn,[role=button],summary){min-height:44px}}
@media(max-width:640px){main :is(input,textarea,select){min-width:0;max-width:100%}}


main :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid currentColor;outline-offset:3px}


@media(forced-colors:active){main :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid Highlight;outline-offset:3px}}
@media(prefers-reduced-motion:reduce){.search-results-wrap,.search-results-wrap *{scroll-behavior:auto}}

/* LAYOUT REFACTOR / STAGE 1 — explicit public page-family contract.
   The data-hl-layout attribute is set server-side for opted-in public pages.
   All other routes retain their existing layout; no global specificity escalation. */
:root{
  --hl-shell-gutter:16px;
  --hl-shell-hero-top:clamp(24px,3vw,44px);
  --hl-shell-hero-bottom:clamp(16px,2vw,26px);
  --hl-shell-section-space:clamp(22px,2.8vw,38px);
  --hl-shell-title-size:clamp(1.875rem,2.6vw,2.625rem);
}
/* Public-layout container sizing is scoped to opted-in page layouts.
   This preserves consistent geometry without global overrides. */
body[data-hl-layout] .container.holius-layout-container{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:var(--hl-shell-max);
  max-width:var(--hl-shell-max);
  padding-inline:var(--hl-shell-gutter);
  margin-inline:auto;
  min-inline-size:0;
}
body[data-hl-layout] .page-hero.holius-layout-hero{
  padding-block:var(--hl-shell-hero-top) var(--hl-shell-hero-bottom);
}
body[data-hl-layout] .page-hero.holius-layout-hero h1{
  font-size:var(--hl-shell-title-size);
  line-height:1.2;
  text-wrap:balance;
}
body[data-hl-layout] .page-hero.holius-layout-hero p{
  max-inline-size:72ch;
  line-height:var(--theme-leading-legacy-1-65,1.65);
}
body[data-hl-layout] .section.holius-layout-section{
  padding-block:var(--hl-shell-section-space);
}

body[data-hl-layout] :is(.holius-layout-hero,.holius-layout-section)
:is(.card,.news-hub-channel,.media-hub-card,.ad-card,.toolbar){
  min-inline-size:0;
}


/* ============================================================================
   HOLiUS 0500 / UNIVERSAL LAYOUT SYSTEM
   Single owner: this existing responsive stylesheet. The PHP shared header
   assigns a public data-hl-layout family. Special-purpose workspaces remain
   unmodified and have their own owner styles. All rules are theme-token based.
   ============================================================================ */
:root{
  --hl-shell-portal:1280px;
  /* R109/0933: news hub and news listings use the same public outer shell.
     Reading and workspace widths remain independent; individual article text
     may use a dedicated inner reading measure without narrowing the shell. */
  --hl-shell-standard:var(--hl-shell-portal);
  --hl-shell-news:var(--hl-shell-standard);
  --hl-shell-reading:900px;
  --hl-shell-space-1:8px;
  --hl-shell-space-2:12px;
  --hl-shell-space-3:16px;
  --hl-shell-space-4:24px;
  --hl-shell-space-5:32px;
  --hl-shell-radius:16px;
  --hl-shell-radius-sm:12px;
  --hl-shell-control-height:44px;
  /* 0939: shared public UI spacing roles, not independent service geometry.
     Keep existing rendered card/modal/control measurements while providing one
     token owner for public cards, search suggestions and confirmation dialogs. */
  --hl-ui-card-inset:clamp(16px,2.1vw,26px);
  --hl-ui-card-inset-mobile:var(--holius-space-4,16px);
  --hl-ui-toolbar-gap:var(--hl-shell-space-2);
  --hl-ui-modal-inset:var(--holius-space-6,24px);
  --hl-ui-modal-inset-compact:18px;
  --hl-ui-action-gap:var(--hl-shell-space-1);
  --hl-ui-tap-target:var(--hl-shell-control-height);
  --hl-shell-border:var(--theme-border,#e2e5eb);
  --hl-shell-panel:var(--theme-surface,#fff);
  --hl-shell-ink:var(--theme-text,#1a202c);
  --hl-shell-dim:var(--theme-muted,#667085);
  --hl-shell-focus:var(--theme-accent,#2563eb);
}
/* Keep the same minimum public gutter on both sides, expanding only when a
 * portal viewport's physical safe area is wider. Symmetry preserves the
 * header/home/footer content baseline for LTR and RTL alike. */
body[data-hl-layout="portal"]{
  --hl-shell-max:var(--hl-shell-portal);
  --hl-shell-safe-gutter:max(var(--hl-shell-gutter),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
}
body[data-hl-layout="standard"]{--hl-shell-max:var(--hl-shell-standard)}
body[data-hl-layout="news"]{--hl-shell-max:var(--hl-shell-news)}
body[data-hl-layout="reading"]{--hl-shell-max:var(--hl-shell-standard)}
/* R109 / 0938: bridge legacy foundation aliases to the existing public
 * shell contract only on opted-in public page families. Legacy/admin and
 * independent workspace defaults (1180px/14px) intentionally remain intact.
 * No new layout owner and no global specificity escalation. */
body[data-hl-layout]:not([data-hl-layout="workspace"]){
  --holius-content-max:calc(var(--hl-shell-max,var(--hl-shell-portal)) - 2 * var(--hl-shell-gutter));
  --holius-gutter:var(--hl-shell-gutter);
  --portal-content-max:var(--hl-shell-max,var(--hl-shell-portal));
  --portal-page-x:var(--hl-shell-gutter);
}
/* Page shell geometry applies to generic public pages only;
   media and product editors retain their independent layouts. */
body[data-hl-layout="standard"] main#main-content > :is(.container,.section,.page-hero),
body[data-hl-layout="news"] main#main-content > :is(.container,.section,.page-hero),
body[data-hl-layout="reading"] main#main-content > :is(.container,.section,.page-hero){min-inline-size:0}
body[data-hl-layout="standard"] main#main-content > .container,
body[data-hl-layout="news"] main#main-content > .container,
body[data-hl-layout="reading"] main#main-content > .container,
body[data-hl-layout="standard"] main#main-content :is(.section,.page-hero) > .container,
body[data-hl-layout="news"] main#main-content :is(.section,.page-hero) > .container,
body[data-hl-layout="reading"] main#main-content :is(.section,.page-hero) > .container,
body[data-hl-layout="standard"] .site-footer .container,
body[data-hl-layout="news"] .site-footer .container,
body[data-hl-layout="reading"] .site-footer .container{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:var(--hl-shell-max);
  max-width:var(--hl-shell-max);
  margin-inline:auto;
  padding-inline:var(--hl-shell-gutter);
}

body[data-hl-layout="standard"] :is(.page-hero,.community-hub-head),
body[data-hl-layout="news"] .page-hero,
body[data-hl-layout="reading"] .page-hero{
  margin-block:0;
  padding-block:clamp(24px,3.6vw,44px) clamp(16px,2.2vw,28px);
}
body[data-hl-layout="standard"] :is(.page-hero h1,.community-hub-head h1),
body[data-hl-layout="news"] .page-hero h1,
body[data-hl-layout="reading"] .page-hero h1{
  font-size:clamp(1.75rem,2.7vw,2.625rem);line-height:var(--theme-leading-legacy-1-17,1.17);
  letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere;
}
body[data-hl-layout="standard"] :is(.page-hero p,.community-hub-head p),
body[data-hl-layout="news"] .page-hero p,
body[data-hl-layout="reading"] .page-hero p{
  max-inline-size:74ch;line-height:var(--theme-leading-legacy-1-7,1.7);color:var(--hl-shell-dim);
}
body[data-hl-layout="standard"] .section,
body[data-hl-layout="news"] .section,
body[data-hl-layout="reading"] .section{padding-block:clamp(20px,2.8vw,38px)}

body[data-hl-layout="standard"] main#main-content > :is(.community-hub,.market-shell,.missions-shell,.utilities-shell){
  inline-size:min(100%,var(--hl-shell-max));margin-inline:auto;
  padding-inline:var(--hl-shell-gutter);
}

body[data-hl-layout="standard"] main :is(.card,.form-card,.community-hub-card,.news-hub-channel,.media-hub-card,.ad-card),
body[data-hl-layout="news"] main :is(.card,.news-hub-channel),
body[data-hl-layout="reading"] main :is(.card,.form-card){
  box-sizing:border-box;min-inline-size:0;max-inline-size:100%;
  border-radius:var(--hl-shell-radius);border-color:var(--hl-shell-border);
}
body[data-hl-layout="standard"] main :is(.card,.form-card),
body[data-hl-layout="news"] main .card,
body[data-hl-layout="reading"] main :is(.card,.form-card){
  padding:var(--hl-ui-card-inset);
}
body[data-hl-layout="standard"] main :is(.toolbar,.section-head,.filter-bar,.filters),
body[data-hl-layout="news"] main :is(.toolbar,.section-head),
body[data-hl-layout="reading"] main :is(.toolbar,.section-head){
  display:flex;align-items:center;flex-wrap:wrap;gap:var(--hl-ui-toolbar-gap);
}

body[data-hl-layout="standard"] main :is(input[type="text"],input[type="search"],input[type="email"],input[type="url"],input[type="number"],input[type="password"],select,textarea),
body[data-hl-layout="news"] main :is(input[type="text"],input[type="search"],select,textarea),
body[data-hl-layout="reading"] main :is(input[type="text"],input[type="email"],textarea){
  max-inline-size:100%;min-inline-size:0;border-radius:var(--hl-shell-radius-sm);
}
body[data-hl-layout="standard"] main :is(button,.btn,a.btn),
body[data-hl-layout="news"] main :is(button,.btn,a.btn),
body[data-hl-layout="reading"] main :is(button,.btn,a.btn){
  min-block-size:var(--hl-ui-tap-target);border-radius:var(--hl-shell-radius-sm);
}
body[data-hl-layout="standard"] main :is(button,a,input,textarea,select,summary):focus-visible,
body[data-hl-layout="news"] main :is(button,a,input,textarea,select,summary):focus-visible,
body[data-hl-layout="reading"] main :is(button,a,input,textarea,select,summary):focus-visible{
  outline:3px solid var(--hl-shell-focus);outline-offset:3px;
}
body[data-hl-layout="standard"] main :is(.list-item,.news-hub-channel li,.home-discovery-list a),
body[data-hl-layout="news"] main :is(.list-item,.news-hub-channel li){min-inline-size:0;overflow-wrap:anywhere}
body[data-hl-layout]:not([data-hl-layout="workspace"]) main :is(.table-wrap,.post-table-wrap,.news-table-wrap){max-inline-size:100%;overflow-x:auto;overscroll-behavior-x:contain}

body[data-hl-layout]:not([data-hl-layout="workspace"]) .site-footer{margin-block-start:clamp(36px,5vw,68px);padding-block:clamp(24px,3.5vw,44px) max(24px,env(safe-area-inset-bottom))}
body[data-hl-layout]:not([data-hl-layout="workspace"]) .site-footer .footer-grid{align-items:start;gap:clamp(16px,3vw,32px)}
body[data-hl-layout]:not([data-hl-layout="workspace"]) .site-footer .footer-links{display:flex;flex-wrap:wrap;gap:12px 20px}
body[data-hl-layout]:not([data-hl-layout="workspace"]) .site-footer a{white-space:normal;overflow-wrap:anywhere}
@media(max-width:767px){
  body[data-hl-layout="standard"] main :is(.card,.form-card),
  body[data-hl-layout="news"] main .card,
  body[data-hl-layout="reading"] main :is(.card,.form-card){padding:var(--hl-ui-card-inset-mobile)}
  body[data-hl-layout="standard"] main :is(.toolbar,.section-head,.filter-bar,.filters),
  body[data-hl-layout="news"] main :is(.toolbar,.section-head){align-items:stretch}
  body[data-hl-layout="standard"] main :is(.toolbar,.filter-bar) > :is(input,select),
  body[data-hl-layout="news"] main .toolbar > :is(input,select){flex:1 1 180px}
  body[data-hl-layout]:not([data-hl-layout="workspace"]) .site-footer .footer-grid{grid-template-columns:minmax(0,1fr)}
}
@media(forced-colors:active){body[data-hl-layout] main :focus-visible{outline-color:Highlight}}
@media(prefers-reduced-motion:reduce){body[data-hl-layout] main :is(a,button,input){transition-duration:.01ms}}


/* R98 / PORTAL SHELL GUTTERS — the single owning geometry contract.
 * 16px mobile (<768), 24px tablet (768–1023), 32px desktop (>=1024).
 * Main, header and footer use the same logical inline gutter. Independent
 * admin, account and Bible workspaces keep their existing own geometry.
 * Keep this late in the canonical portal-responsive source (and regenerate
 * both derivative bundles); never edit a generated bundle by hand.
 */
@media (min-width:768px) and (max-width:1023px){:root{--hl-shell-gutter:24px}}
@media (min-width:1024px){:root{--hl-shell-gutter:32px}}

/* Header uses portal width on every public page to preserve menu breathing
 * room on reading/news pages; narrow article content remains intentionally
 * narrower. Avoid overriding header controls, popovers or sticky behavior. */
body[data-hl-layout] .hh-global-header .hh-global-bar{
  box-sizing:border-box;
  inline-size:100%;
  max-inline-size:var(--hl-shell-portal);
  margin-inline:auto;
  padding-inline:var(--hl-shell-safe-gutter,var(--hl-shell-gutter));
}

/* Equal *content* edges for non-workspace main shells.
 * Service-local and workspace main containers retain their own geometry. */
body[data-hl-layout]:not([data-hl-layout="workspace"]) main#main-content > .container,
body[data-hl-layout]:not([data-hl-layout="workspace"]) main#main-content :is(.section,.page-hero) > .container{
  box-sizing:border-box;
  inline-size:100%;
  max-inline-size:var(--hl-shell-max,var(--hl-shell-portal));
  margin-inline:auto;
  padding-inline:var(--hl-shell-gutter);
}

/* R107: One public GLOBAL footer shell, independent of page layout family.
 * A Bible workspace retains its own narrow main content, while the shared
 * footer uses the same portal-width column and 16/24/32px logical gutters
 * as the home footer. Overrides legacy .container width AND padding together
 * to eliminate the extra outer inset; does not affect service-local containers. */
body[data-hl-layout] .site-footer > .container{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:var(--hl-shell-portal);
  max-width:var(--hl-shell-portal);
  margin-inline:auto;
  padding-inline:var(--hl-shell-safe-gutter,var(--hl-shell-gutter));
}

/* The home page has a custom shell without .container. Its content starts
 * on the same line as the portal-width header/footer while retaining the
 * existing homepage grid and responsive cards. */
body[data-hl-layout="portal"] main#main-content > .minimal-home.home-platform-v2{
  box-sizing:border-box;
  inline-size:100%;
  padding-inline:var(--hl-shell-safe-gutter,var(--hl-shell-gutter));
}
body[data-hl-layout="portal"] main#main-content > .minimal-home.home-platform-v2 > .home-platform-shell{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:calc(var(--hl-shell-portal) - var(--hl-shell-safe-gutter,var(--hl-shell-gutter)) - var(--hl-shell-safe-gutter,var(--hl-shell-gutter)));
  margin-inline:auto;
}

/* R109 / SERVICE PAGE TITLE CENTRALIZATION — public headings only.
 * One shared typographic contract for top-level service H1 headings.
 * Existing DOM classes are retained for JS, page ownership and compatibility.
 * Admin, Accounts, Letters and other workspace layouts are unaffected;
 * Bible uses the same H1 typography without changing its narrow reading body.
 * One utility hero shell uses the public standard gutter instead of its
 * legacy 12px mobile / 18px desktop outer width shorthand.
 */
:root{
  --hl-service-title-size:clamp(1.875rem,2.8vw,2.25rem);
  --hl-service-title-leading:1.22;
  --hl-service-title-gap:10px;
  --hl-service-title-hero-top:var(--hl-shell-hero-top);
  --hl-service-title-hero-bottom:var(--hl-shell-hero-bottom);
}
body[data-hl-layout]:not([data-hl-layout="workspace"]) main#main-content :is(.page-hero,.community-hub-head) h1,
body[data-hl-layout="workspace"] main#main-content .bible-platform-hero .bible-page-title{
  font-size:var(--hl-service-title-size);
  line-height:var(--hl-service-title-leading);
  letter-spacing:var(--theme-tracking-heading,-.025em);
  overflow-wrap:anywhere;
  text-wrap:balance;
  margin-block:0 var(--hl-service-title-gap);
}
body[data-hl-layout]:not([data-hl-layout="workspace"]) main#main-content .page-hero{
  padding-block:var(--hl-service-title-hero-top) var(--hl-service-title-hero-bottom);
}
/* R109/0934: Utility title and hub/body now share their container's
   single service owner (utility-hub.css). No redundant title-only override. */



/* R114 / BIBLE SERVICE PAGE HERO — canonical common H1 geometry.
 * All Bible top-level routes use includes/bible_ui.php; their top-level title
 * must align to one portal-width column. Reader chapter/verse containers are
 * intentionally outside this selector and retain their narrow reading width.
 * No changes to global header/footer, search, keyboard, TTS or tab behavior. */
:root{
  --hl-bible-title-max:var(--hl-shell-portal);
  --hl-bible-title-hero-top:var(--hl-shell-hero-top);
  --hl-bible-title-hero-bottom:var(--hl-shell-hero-bottom);
  --hl-bible-title-tabs-gap:18px;
}
body[data-hl-layout] main#main-content .bible-platform-hero{
  margin-block:0;
  padding-block:var(--hl-bible-title-hero-top) var(--hl-bible-title-hero-bottom);
}
body[data-hl-layout] main#main-content .bible-platform-hero > .container{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:var(--hl-bible-title-max);
  max-width:var(--hl-bible-title-max);
  margin-inline:auto;
  padding-inline:var(--hl-shell-gutter);
}
body[data-hl-layout] main#main-content .bible-platform-hero .bible-page-title{
  font-size:var(--hl-service-title-size);
  line-height:var(--hl-service-title-leading);
  margin-block:0 var(--hl-service-title-gap);
}
body[data-hl-layout] main#main-content .bible-platform-hero > .container > p{
  margin-block:0;
  line-height:var(--theme-leading-legacy-1-65,1.65);
}
body[data-hl-layout] main#main-content .bible-platform-hero .bible-platform-tabs{
  margin-top:var(--hl-bible-title-tabs-gap);
}

/* R109/0934: score histories/chat are separate functional-width exceptions.
   The music detail is an ordinary public two-column page, not a private editor:
   align only its outer container to the public header/footer content edges. */
body[data-hl-layout="workspace"] main#main-content .section > .container.sheet-music-container{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:var(--hl-shell-portal);
  max-width:var(--hl-shell-portal);
  margin-inline:auto;
  padding-inline:var(--hl-shell-gutter);
}


/* R109 / 0935 MOBILE PUBLIC WORKSPACE OUTER GUTTERS.
 * The shared 16px (<768px) portal gutter is the only source for mobile
 * outer alignment on opted-in Bible score + public chat shells. Their own
 * narrower max-width, message bubble widths, scrolling, forms and internal
 * card padding remain owned by each service. Admin and other workspaces
 * must NOT be matched by this opt-in class.
 * This only changes the shell x/width, never DOM order or control behavior.
 */
@media (max-width:767px){
  body[data-hl-layout="workspace"] main#main-content
  :is(.section,.page-hero) > .container.holius-mobile-content-shell{
    box-sizing:border-box;
    inline-size:100%;
    width:100%;
    margin-inline:auto;
    padding-inline:var(--hl-shell-gutter,16px);
    min-inline-size:0;
  }
}


/* R109 / 0936 PUBLIC WORKSPACE OUTER SHELL — scoped to two approved routes.
 * Reuse the shared 1280 / 16-24-32px public contract without changing the
 * layout family of any chat/score/admin pages. Keep service-owned inner columns.
 * The attribute is opt-in on actual .section/.page-hero direct containers;
 * this rule intentionally does not match unmarked or admin workspaces. */
body[data-hl-layout="workspace"] main#main-content
:is(.section,.page-hero) > .container[data-hl-shell="public"]{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:var(--hl-shell-portal,1280px);
  max-width:var(--hl-shell-portal,1280px);
  margin-inline:auto;
  padding-inline:var(--hl-shell-gutter,16px);
  min-inline-size:0;
}
/* Chat card keeps the former full-width desktop message-column measure.
 * All message items, inputs, scroll and save handlers remain unchanged. */
body[data-hl-layout="workspace"] main#main-content
[data-hl-shell="public"] > .holius-chat-inner-column{
  box-sizing:border-box;
  max-inline-size:1072px;
  margin-inline:auto;
  min-inline-size:0;
}
/* Keep the score ledger at the former 860px centered inner width; only its
 * parent outer shell now follows the public header/footer baseline. */
body[data-hl-layout="workspace"] main#main-content
[data-hl-shell="public"] > [data-hl-inner="score"]{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:860px;
  max-width:860px;
  margin-inline:auto;
  min-inline-size:0;
}

@media (max-width:767px){
  body[data-hl-layout="workspace"] main#main-content
  [data-hl-shell="public"] > [data-hl-inner="score"]{
    padding-inline:0;
  }
}

/* R110/0981: PUBLIC OUTER ALIGNMENT / INNER MEASURES (canonical owner).
 * All portal reading pages now share the 1280px shell/16-24-32px gutter.
 * Independent service text, conversations and editing tools keep narrower
 * working measures. Do not change header/footer, Bible reading anchors, or DB.
 */
:root{
  --hl-shell-chat-measure:860px;
  --hl-shell-reading-measure:var(--hl-shell-reading);
}
/* Width is inclusive of old reading-shell side insets; align the first glyph
 * with the home/header content edge rather than centering a narrow shell. */
body[data-hl-layout="reading"] main#main-content .community-domain > *,
body[data-hl-layout="reading"] main#main-content .prayer-letter-reading > *,
body[data-hl-layout="reading"] main#main-content .holius-reading-measure{
  box-sizing:border-box;
  max-inline-size:min(100%,calc(var(--hl-shell-reading-measure) - 2 * var(--hl-shell-gutter)));
}
/* The existing .market-chat-shell is also the public outer container.
 * Opt-in marker is present only on the market conversation route. */
body[data-hl-layout="workspace"] main#main-content .container.market-chat-shell[data-hl-shell="public"]{
  box-sizing:border-box;
  inline-size:100%;
  width:100%;
  max-inline-size:var(--hl-shell-portal);
  max-width:var(--hl-shell-portal);
  margin-inline:auto;
  padding-inline:var(--hl-shell-gutter);
}
body[data-hl-layout="workspace"] main#main-content .market-chat-shell[data-hl-shell="public"] > .market-chat-content{
  box-sizing:border-box;
  inline-size:100%;
  max-inline-size:var(--hl-shell-chat-measure);
  min-inline-size:0;
}

/* END assets/portal-responsive.css */

/* END assets/final-guard-bundle-0708.css */

/* BEGIN assets/header-late-bundle-0697.css */
/* HOLiUS 0697 header-late-bundle-0697.css: ordered, generated from canonical files. Do not edit directly. */
/* BEGIN assets/header-renewal-0394.css */

.hh-global-header{--hh-renewal-gap:clamp(10px,1.4vw,20px);box-shadow:0 7px 22px color-mix(in srgb,var(--theme-text) 7%,transparent);}
.hh-global-bar{min-height:76px;gap:var(--hh-renewal-gap);padding-inline:clamp(16px,3vw,44px);}
.hh-brand-wordmark{letter-spacing:-.035em;font-weight:800}
.hh-global-left,.hh-global-right{gap:clamp(6px,.8vw,12px)}
.hh-global-search{display:flex;align-items:center;gap:4px;min-width:0;max-width:690px;min-height:48px;padding:4px;border:1px solid var(--theme-border);border-radius:999px;background:var(--theme-surface);box-shadow:0 2px 9px color-mix(in srgb,var(--theme-text) 5%,transparent);transition:border-color .15s ease,box-shadow .15s ease}
.hh-global-search:focus-within{border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 16%,transparent)}
.hh-global-search input{min-width:0;flex:1 1 auto;border:0;box-shadow:none;background:transparent;outline:0;padding-inline:14px;min-height:40px}
.hh-global-search button[type="submit"]{flex:0 0 auto;min-height:40px;border-radius:999px;padding-inline:20px;font-weight:700;background:var(--theme-accent);color:var(--theme-surface);border:0}
.hh-global-search button[type="submit"]:hover{filter:brightness(.94)}
.hh-global-search button[type="submit"]:focus-visible{outline:3px solid var(--theme-accent);outline-offset:3px}
.hh-global-header :where(.hh-menu-button,.hh-member-button,.hh-more-button,.hh-theme-top-button){border-radius:var(--holius-legacy-radius-14,14px);min-width:44px;min-height:44px}
.hh-primary-nav{gap:clamp(2px,.6vw,10px);min-height:50px;padding-inline:clamp(14px,3vw,44px);background:var(--theme-surface);border-top:1px solid var(--theme-border)}
.hh-primary-nav a{min-height:42px;padding-inline:clamp(12px,1.3vw,20px);font-weight:600}
.hh-primary-nav a:hover{background:var(--theme-surface-2)}
.hh-primary-nav a.is-active{background:var(--theme-accent-2);color:var(--theme-accent)}
.hh-primary-nav a.is-active::after{left:18px;right:18px;bottom:3px;height:2px}
@media(min-width:761px) and (max-width:1100px){.hh-global-bar{min-height:70px;padding-inline:18px}.hh-global-search{flex-basis:220px}.hh-primary-nav{justify-content:flex-start}}
@media(max-width:760px){.hh-brand-wordmark{min-height:56px;font-size:19px}.hh-global-search{max-width:none;flex:1 1 auto;padding:2px}.hh-global-search input{min-height:38px;padding-inline:10px;max-width:none;width:0;flex:1 1 0}.hh-global-search button[type="submit"]{min-height:40px;padding-inline:12px;margin-inline-start:auto;position:static}.hh-primary-nav{min-height:48px;padding-inline:10px;gap:4px}.hh-primary-nav a{min-height:42px;}.hh-apps-panel{top:70px}}
@media(max-width:520px){.hh-global-bar{flex-wrap:wrap;justify-content:space-between;padding-block:8px;}.hh-global-left{order:1}.hh-global-right{order:2;margin-inline-start:auto}.hh-global-search{flex:1 0 100%;width:100%;}.hh-primary-nav{padding-inline:8px}.hh-primary-nav a{padding-inline:11px}.hh-apps-panel{top:68px}}
@media(max-width:360px){.hh-global-right{gap:4px}}
@media(prefers-reduced-motion:reduce){.hh-global-search{transition:none}}
@media(forced-colors:active){.hh-global-search{border:1px solid ButtonText}.hh-global-search:focus-within{outline:2px solid Highlight}.hh-primary-nav a.is-active{outline:1px solid Highlight}}


.hh-home-search-shortcut{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex:0 0 44px;border-radius:var(--holius-legacy-radius-14,14px);color:var(--theme-header-text);background:var(--theme-surface-2);text-decoration:none}
.hh-home-search-shortcut svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hh-home-search-shortcut:focus-visible{outline:var(--holius-pub-focus-ring-width,3px) solid var(--holius-pub-focus-ring-color,var(--theme-accent));outline-offset:2px}
@media(max-width:760px){
  .hh-global-header.hh-header-home-search .hh-global-bar{flex-wrap:nowrap;justify-content:space-between;min-height:60px;padding-block:6px;row-gap:0}
  .hh-global-header.hh-header-home-search .hh-global-left{order:0}
  .hh-global-header.hh-header-home-search .hh-global-right{order:0;margin-inline-start:auto;gap:clamp(3px,1vw,8px)}
  .hh-global-header.hh-header-home-search .hh-global-search{display:none}
  .hh-global-header.hh-header-home-search .hh-home-search-shortcut{display:inline-flex}
  .hh-global-header.hh-header-home-search .hh-primary-nav{min-height:44px}
}
@media(forced-colors:active){.hh-home-search-shortcut:focus-visible{outline-color:Highlight}}



.hh-global-header{border-bottom:1px solid var(--theme-border);box-shadow:0 3px 18px color-mix(in srgb,var(--theme-text) 6%,transparent)}
.hh-global-bar{box-sizing:border-box;max-inline-size:1440px;margin-inline:auto;min-height:72px;padding-inline:clamp(16px,3vw,40px);gap:clamp(10px,2vw,24px)}
.hh-brand-wordmark{font-size:clamp(21px,2vw,26px);line-height:1.1}
.hh-global-search{flex:1 1 440px;width:auto;max-width:640px;margin-inline:auto;min-width:140px;box-shadow:none}
.hh-global-header :is(.hh-menu-button,.hh-member-button,.hh-more-button,.hh-theme-top-button){border-radius:var(--holius-legacy-radius-12,12px)}
.hh-primary-nav{min-height:48px;justify-content:center;gap:4px;padding-inline:clamp(14px,3vw,40px)}
.hh-primary-nav a{white-space:nowrap;min-height:44px;padding-inline:clamp(10px,1.25vw,18px);border-radius:var(--holius-legacy-radius-10,10px)}
.hh-apps-panel{box-shadow:0 18px 42px color-mix(in srgb,var(--theme-text) 16%,transparent)}
@media(min-width:761px) and (max-width:1023px){
 .hh-global-bar{min-height:68px;gap:12px;padding-inline:20px}
 .hh-global-search{flex-basis:240px}
 .hh-primary-nav{justify-content:flex-start}
}
@media(max-width:760px){
 .hh-global-bar{min-height:62px;padding-inline:16px;gap:8px}
 .hh-global-right{gap:6px}
 .hh-global-search{min-height:44px;min-width:0}
 .hh-primary-nav{justify-content:flex-start;min-height:44px;padding-inline:12px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
 .hh-primary-nav::-webkit-scrollbar{display:none}
 .hh-primary-nav a{flex:0 0 auto;min-height:44px;padding-inline:12px}
 .hh-apps-panel{max-height:calc(100dvh - 80px);overflow-y:auto}
}
@media(max-width:520px){
 .hh-global-bar{padding-inline:12px;row-gap:6px}
 .hh-global-left{min-width:0}
 .hh-brand-wordmark{font-size:19px;white-space:nowrap}
 .hh-global-search{order:3;flex-basis:100%;min-width:0;max-width:none}
 .hh-global-header.hh-header-home-search .hh-global-bar{flex-wrap:nowrap}
 .hh-global-header.hh-header-home-search .hh-global-search{display:none}
}
@media(max-width:360px){
 .hh-global-bar{padding-inline:8px}
 .hh-global-right{gap:3px}
 .hh-brand-wordmark{font-size:18px}
}
@media(forced-colors:active){.hh-primary-nav a:focus-visible{outline:2px solid Highlight}}
@media(prefers-reduced-motion:reduce){.hh-global-search,.hh-menu-button,.hh-app-item{transition:none}}

/* END assets/header-renewal-0394.css */

/* BEGIN assets/header-cascade-0626.css */




@media (max-width:760px) {
  .hh-global-header .hh-primary-nav {
    justify-content:flex-start;
    scroll-padding-inline:12px;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    border-top:1px solid var(--theme-border);
  }
  .hh-global-header .hh-primary-nav a {
    min-height:46px;
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
    text-underline-offset:4px;
  }
  .hh-global-header .hh-primary-nav a[aria-current="page"] { font-weight:700; }
}
@media (prefers-reduced-motion:reduce) {
  
}





.hh-global-header { position:relative; isolation:isolate; }
.hh-global-header .hh-global-bar,
.hh-global-header .hh-primary-nav { box-sizing:border-box; }
.hh-global-header .hh-primary-nav { border-top:1px solid var(--theme-border); }
.hh-global-header .hh-primary-nav a:focus-visible,
.hh-global-header .hh-global-bar :is(a,button):focus-visible { outline:2px solid var(--theme-accent); outline-offset:2px; }
@media (max-width:760px) {
  .hh-global-header .hh-global-bar { min-height:60px; padding-block:6px; }
  .hh-global-header .hh-primary-nav { min-height:46px; padding-block:0; gap:4px; }
  .hh-global-header .hh-primary-nav a { min-height:44px; border-radius:var(--holius-legacy-radius-8,8px); }
  .hh-global-header .hh-primary-nav a:is(.is-active,[aria-current="page"]) { font-weight:700; }
  .hh-global-header .hh-global-right :is(a,button) { min-width:44px; min-height:44px; }
}
@media (max-width:360px) {
  .hh-global-header .hh-global-bar { padding-inline:8px; }
  .hh-global-header .hh-primary-nav { padding-inline:8px; }
}
@media (forced-colors:active) {
  .hh-global-header .hh-primary-nav a[aria-current="page"] { outline:1px solid Highlight; }
}





@media (max-width:520px) {
  
  .hh-global-header .hh-global-bar {
    align-items:center;
  }
  .hh-global-header .hh-brand-wordmark { min-height:44px; display:inline-flex; align-items:center; }
  .hh-global-header .hh-global-right { align-items:center; }
  .hh-global-header .hh-global-search { margin-block:0; }
  
  .hh-global-header .hh-primary-nav a:is(.is-active,[aria-current="page"]) {
    color:var(--theme-text);
    background:var(--theme-surface-2);
    font-weight:700;
  }
  .hh-global-header .hh-primary-nav a:is(.is-active,[aria-current="page"])::after {
    height:2px;
    bottom:2px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .hh-global-header .hh-primary-nav { scroll-behavior:auto; }
}





@media (max-width: 520px) {
  
  .hh-global-header .hh-global-bar {
    min-height: 52px ;
    padding-block: 4px ;
    row-gap: 6px ;
  }
  .hh-global-header .hh-global-right :is(a,button) { min-height: 44px; min-width: 44px; }
  
  
  .hh-global-header .hh-primary-nav { min-height: 44px ; padding-block: 0 ; }
  .hh-global-header .hh-primary-nav a { min-height: 44px ; }
}




/* HOLiUS 0619 — mobile-only unified header: brand/actions -> primary navigation.
   Keep the actual search form in the DOM and fully operational on desktop.
   Mobile search remains reachable from the apps menu (and the home search card). */
@media (max-width: 760px) {
  .hh-global-header .hh-global-search { display: none ; }





/* HOLiUS 0632 — mobile primary navigation affordance.
   Keep all destinations, markup and desktop behavior unchanged. */

  .hh-global-header .hh-primary-nav {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 12px;
    padding-inline: 12px 22px;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
  }
  .hh-global-header .hh-primary-nav::-webkit-scrollbar { display: none; }
  .hh-global-header .hh-primary-nav > a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
  }
  .hh-global-header .hh-primary-nav > a[aria-current="page"] {
    scroll-margin-inline: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hh-global-header .hh-primary-nav { scroll-behavior: auto ; }
}

/* END assets/header-cascade-0626.css */
/* END assets/header-late-bundle-0697.css */

/* BEGIN assets/design-font-combined-0730.css */
/* HOLiUS 0730 — shared design picker: font size then font family.
   Scoped to the single design dialog; existing font/scale persistence is unchanged. */
.theme-picker .design-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-picker #designPanelFont{min-width:0}
.theme-picker .design-font-section{min-width:0}
.theme-picker .design-font-section + .design-font-section{
  margin-top:20px;padding-top:18px;border-top:1px solid var(--theme-border);
}
.theme-picker .design-font-heading{margin:12px 0 10px;font-size:var(--type-heading-sm-size,17px);line-height:var(--theme-leading-legacy-1-4,1.4);color:var(--theme-text)}
.theme-picker .design-font-scale .font-scale-picker{margin-top:0;gap:12px}
.theme-picker .design-font-scale .font-scale-control{margin:0}
.theme-picker .design-font-reset{display:flex;justify-content:flex-end;margin-top:10px}
.theme-picker .design-font-family .style-picker-grid{margin-top:0}
.theme-picker .design-font-family .theme-picker-foot{margin-top:14px}
@media(max-width:420px){
  .theme-picker .design-font-section + .design-font-section{margin-top:16px;padding-top:14px}
  .theme-picker .design-font-heading{margin-top:8px}
}
/* END assets/design-font-combined-0730.css */
/* END SECTION 3 */

