/* OneMagic Unified 2.3.1 — performance, long-content and edge-state layer. */
html{overflow-x:clip}
body.omg-v231{margin:0;min-width:0;overflow-x:clip;background:#f4f7fb;color:#071124;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.omg-v231 *,body.omg-v231 *::before,body.omg-v231 *::after{box-sizing:border-box}
body.omg-v231 :where(h1,h2,h3,h4,strong,a,p,li,td,th){overflow-wrap:anywhere;word-break:normal}
body.omg-v231 :where(main,section,article,aside,div,nav,header,footer){min-width:0}
body.omg-v231 :where(img,video,iframe,svg){max-width:100%}
body.omg-v231 img{height:auto}

/* Long titles must remain readable rather than forcing horizontal overflow. */
body.omg-v231 :where(.omk2-card-title,.omg-kh-card-body strong,.sej-archive-card h2,.omg-search-page__card h2,.term-related__card strong){text-wrap:pretty;hyphens:auto}
body.omg-v231 :where(.sej-action-title h1,.article-header h1,.omg-kh-hero h1,.omk2-hero h1,.page-dictionary h1,.sej-term-h1){text-wrap:balance;max-width:100%}

/* Stable image geometry and a neutral fallback when an article has no image. */
body.omg-v231 :where(.sej-archive-thumb,.article-hero-image,.term-related__thumb,.omg-search-page__thumb){overflow:hidden;background:linear-gradient(135deg,#edf4ff,#f9fbff)}
body.omg-v231 :where(.sej-archive-thumb img,.article-hero-image img,.term-related__thumb img){width:100%;height:100%;object-fit:cover}
body.omg-v231 .omg-card-no-image :where(.sej-archive-thumb,.term-related__thumb){position:relative;display:grid;place-items:center;min-height:120px}
body.omg-v231 .omg-card-no-image :where(.sej-archive-thumb,.term-related__thumb)::after{content:"OneMagic";display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#4e72ff,#0aaad6);color:#fff;font-size:12px;font-weight:900;box-shadow:0 14px 28px rgba(18,102,255,.18)}

/* Search/404 are standalone lightweight templates after old bundles are dequeued. */
body.omg-v231.omg-search-page,body.omg-v231.error404{background:#f4f7fb}
body.omg-v231 .omg-empty-state__icon svg{width:30px;height:30px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}

/* Cards below the fold can skip initial layout/paint work. */
@supports (content-visibility:auto){
  body.omg-v231 :where(.omk2-ref-section,.omk2-posts-section,.omg-kh-cluster,.term-related,.article-faq,.omg-global-footer){content-visibility:auto;contain-intrinsic-size:1px 420px}
}

/* Horizontal collections remain discoverable and keyboard-scrollable. */
body.omg-v231 [data-omg-overflow-strip]{scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain}
body.omg-v231 [data-omg-overflow-strip]::-webkit-scrollbar{display:none}
body.omg-v231 [data-omg-overflow-strip]>*{scroll-snap-align:start}
body.omg-v231 [data-omg-overflow-strip].is-scrollable{padding-bottom:5px}
body.omg-v231 [data-omg-overflow-strip].is-scrollable:focus-visible{outline:2px solid #1266ff;outline-offset:4px;border-radius:14px}

/* Compact and safe pagination for very high page numbers. */
body.omg-v231 :where(.omk2-pagination,.sej-pagination,.dictionary-pagination ul,.omg-search-page__pagination .nav-links){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
body.omg-v231 :where(.omk2-pagination,.sej-pagination,.dictionary-pagination ul,.omg-search-page__pagination .nav-links)::-webkit-scrollbar{display:none}

/* Better touch and reduced-motion behavior. */
@media(pointer:coarse){body.omg-v231 :where(a,button,summary,input,select){min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.omg-v231 *,body.omg-v231 *::before,body.omg-v231 *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media(max-width:600px){
  :root{--om-shell:calc(100% - 24px)}
  body.omg-v231 :where(.omg-search-page__hero h1,.omg-404__card h1){font-size:clamp(25px,8.2vw,32px)}
  body.omg-v231 .omg-empty-state,body.omg-v231 .omg-404__card{width:calc(100% - 24px);margin:22px auto;padding:26px 18px}
  body.omg-v231 :where(.omg-empty-state>div,.omg-404__actions){display:grid;grid-template-columns:1fr;width:100%}
  body.omg-v231 :where(.omg-empty-state button,.omg-empty-state a,.omg-404__actions button,.omg-404__actions a){width:100%}
}

@media print{
  .omg-global-header,.omg-global-footer,.omg-reading-progress,.omg-article-tools,.omg-search-dialog,.article-toc,.sej-action-sidebar{display:none!important}
  body.omg-v231{background:#fff!important;color:#000!important}
  body.omg-v231 main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  body.omg-v231 a{color:#000!important;text-decoration:underline}
}


/* OneMagic 2.4.1 — Core Web Vitals guards. */
body.omg-v241 .om-article-hero-visual{contain:layout style;min-height:184px}
body.omg-v241 .om-article-hero-visual img{width:184px;height:184px;aspect-ratio:1/1;object-fit:contain}
body.omg-v241 .page-dictionary .hero__visual-image{aspect-ratio:520/347;object-fit:contain}
body.omg-v241 .omk2-btc-object img{aspect-ratio:560/403;object-fit:contain}
body.omg-v241 :where(.omg-global-header,.omg-global-header__inner,.omg-global-brand,.omg-global-actions){contain:layout style}
body.omg-v241 :where(.omg-v233-trust,.omg-u232-cta,.term-related,.sej-related-terms){contain:layout style}
@supports (content-visibility:auto){
  body.omg-v241 :where(.omg-v233-trust,.omg-u232-cta,.sej-related-terms,.term-related-terms,.term-related,.article-faq,.sej-faq-section,.omg-global-footer){content-visibility:auto;contain-intrinsic-size:auto 360px}
}
