.elementor-4190 .elementor-element.elementor-element-5af2193{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4190 .elementor-element.elementor-element-6b2fa84{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for text-editor, class: .elementor-element-ac2324c *//* 7Titanium — OPAL Guide Shim (Accessibility + Layout) */
:root{
  --bg:#f7fafc;
  --text:#0e1b26;
  --primary-900:#0c2a43;
  --secondary-900:#193b53;
  --neutral-800:#425466;
  --tertiary-900:#27364a;
  --primary-50:#eef7ff;
  --secondary-50:#f3f6fb;
  --card:#ffffff;
  --border:#d6e1ea;
  --accent:#0ea5e9;
}
body{background:var(--bg);color:var(--text)}
.prose{font-size:17px;line-height:1.75;color:var(--text)}
.prose p{margin:1em 0}
.prose a{color:var(--accent);text-decoration:underline}
h1,h2,h3,h4,.prose h1,.prose h2,.prose h3,.prose h4{color:var(--primary-900)}
.prose h2{margin-top:2.2rem;margin-bottom:.8rem;font-size:clamp(1.35rem,2.2vw,1.6rem);padding-bottom:.35rem;border-bottom:1px solid var(--border)}
.prose h3{margin-top:1.6rem;margin-bottom:.4rem;font-size:clamp(1.1rem,1.8vw,1.25rem)}
.prose h4{margin-top:1rem;margin-bottom:.3rem;font-size:1.05rem;color:var(--secondary-900)}
.prose ul{padding-left:1.1rem;margin:.6rem 0}
.prose li{margin:.25rem 0}
img{max-width:100%;height:auto;display:block}
.prose .italic{opacity:.9}
table{border-collapse:collapse;width:100%;background:var(--card)}
th,td{border:1px solid var(--border);padding:.75rem .9rem;vertical-align:top}
thead th{background:var(--secondary-50);color:var(--secondary-900)}
.bg-neutral-light{background:var(--card)}
.bg-primary-light{background:var(--primary-50)}
.bg-secondary-light{background:var(--secondary-50)}
.border-secondary-light{border-color:var(--border)!important}
.rounded-lg{border-radius:12px}
.rounded-b-lg{border-bottom-left-radius:12px;border-bottom-right-radius:12px}
.shadow-sm{box-shadow:0 2px 8px rgba(0,0,0,.06)}
.shadow-md{box-shadow:0 6px 20px rgba(0,0,0,.12)}
.shadow-lg{box-shadow:0 14px 40px rgba(0,0,0,.18)}
.text-primary-dark{color:var(--primary-900)!important}
.text-secondary-dark{color:var(--secondary-900)!important}
.text-neutral-dark{color:var(--neutral-800)!important}
.text-tertiary-dark{color:var(--tertiary-900)!important}
.text-primary-light{color:#e7f3ff!important}
.bg-primary-dark{background:var(--primary-900)!important}
.text-4xl{font-size:clamp(2rem,3.5vw,2.5rem);line-height:1.15}
.text-xl{font-size:1.25rem}
.text-lg{font-size:1.125rem}
.text-sm{font-size:.9rem}
.font-extrabold{font-weight:800}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.italic{font-style:italic}
.mx-auto{margin-left:auto;margin-right:auto}
.my-6{margin-top:1.5rem;margin-bottom:1.5rem}
.mt-2{margin-top:.5rem}
.mt-6{margin-top:1.5rem}
.mt-12{margin-top:3rem}
.mb-0{margin-bottom:0}
.mb-4{margin-bottom:1rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.px-4{padding-left:1rem;padding-right:1rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.pt-8{padding-top:2rem}
.w-full{width:100%}
.h-auto{height:auto}
.max-w-none{max-width:none}
.max-w-xs{max-width:20rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.text-center{text-align:center}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-1{flex:1 1 0%}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-6{gap:1.5rem}
.overflow-x-auto{overflow-x:auto}
@media (min-width:1024px){
  .lg\:grid{display:grid}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:gap-8{gap:2rem}
  .lg\:col-span-1{grid-column:span 1 / span 1}
  .lg\:col-span-3{grid-column:span 3 / span 3}
  .lg\:mb-0{margin-bottom:0}
  .lg\:hidden{display:none!important}
}
@media (min-width:768px){
  .md\:text-xl{font-size:1.25rem}
  .md\:text-5xl{font-size:3rem;line-height:1.1}
  .md\:p-8{padding:2rem}
  .md\:flex-row{flex-direction:row}
}
button,.button{border:1px solid var(--border);background:var(--secondary-50);color:var(--primary-900);border-radius:10px}
.toc-container{position:sticky;top:1.25rem}
#toc-toggle{border:1px solid var(--border)}
.faq-item{border:1px solid var(--border);border-radius:10px;overflow:hidden}
.faq-question{cursor:pointer;background:var(--primary-50)}
.faq-answer{display:none;padding:1rem 1rem 1.25rem}
.faq-answer.open{display:block}
.faq-item .active + .faq-answer{display:block}
.w-16{width:4rem}.h-16{height:4rem}.rounded-full{border-radius:9999px}
.bg-white{background:#fff}
.border{border:1px solid var(--border)}
.border-t{border-top:1px solid var(--border)}
.border-b{border-bottom:1px solid var(--border)}
a:hover{opacity:.9}
a:focus,button:focus,.faq-question:focus{outline:3px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:2px}
header.text-center{max-width:1200px;margin:0 auto;padding:1rem}

/* 7Titanium — Heading Contrast Patch (force subheadings dark) */
/* Paste this BELOW the previous shim to guarantee priority */

/* Brand heading color (adjust if needed) */
:root{ --heading-color:#0c2a43; }

/* Max-specificity overrides for H1–H4 in the guide area */
:is(article, .prose, .entry-content, #content, main, .site-content)
  :is(h1, h2, h3, h4){
  color: var(--heading-color) !important;
  -webkit-text-fill-color: var(--heading-color) !important; /* handles rare text-fill overrides */
}

/* Make links inside headings inherit the heading color (avoid blue-on-light issues) */
:is(article, .prose, .entry-content, #content, main, .site-content)
  :is(h1, h2, h3, h4) a{
  color: inherit !important;
  text-decoration: none;
}

/* Kill common "white text" utility classes for headings in this page */
h1.text-white, h2.text-white, h3.text-white, h4.text-white{
  color: var(--heading-color) !important;
}

/* If theme paints all text white inside a specific container, reassert for headings */
header.text-center h1,
article h1, article h2, article h3, article h4,
.prose h1, .prose h2, .prose h3, .prose h4{
  color: var(--heading-color) !important;
}

/* Optional: add a subtle divider under H2 to separate from light background */
.prose h2,
article h2{
  border-bottom: 1px solid #d6e1ea;
  padding-bottom: .35rem;
}

/* 7Titanium — Left-Align Layout Patch (no content changes) */
/* Paste this BELOW previous shims to ensure priority */

:root{ --content-max: 1200px; }

/* 1) Constrain overall content width but keep left-aligned */
:is(.tg-page, .entry-content, main, article, #content){
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  text-align: left !important;
}

/* 2) Force headings/paragraphs within the guide to be left-aligned */
:is(.tg-page, .entry-content, main, article, #content)
  :is(h1,h2,h3,h4,h5,h6,p,ul,ol,table,blockquote,figure,figcaption){
  text-align: left !important;
}

/* 3) Neutralize utility classes that center content in this area only */
:is(.tg-page, .entry-content, main, article, #content) .text-center{ text-align: left !important; }
:is(.tg-page, .entry-content, main, article, #content) .justify-center{ justify-content: flex-start !important; }
:is(.tg-page, .entry-content, main, article, #content) .items-center{ align-items: flex-start !important; } /* vertical align to start for text blocks */

/* 4) Images & media: stop auto-centering */
:is(.tg-page, .entry-content, main, article, #content) img{
  margin-left: 0 !important;
  margin-right: 0 !important;
}
:is(.tg-page, .entry-content, main, article, #content) .mx-auto{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 5) Header block: previously .text-center; ensure left layout */
header.text-center{ text-align: left !important; }
header.text-center .mx-auto{ margin-left: 0 !important; margin-right: 0 !important; }
header.text-center p{ max-width: 70ch; } /* comfortable measure */
header.text-center .max-w-4xl{ max-width: 100%; } /* prevent narrow image centering look */

/* 6) Grid: keep structure but remove any centering bias */
.lg\:grid{ justify-items: stretch; align-items: start; }
.lg\:col-span-3, .lg\:col-span-1{ text-align: left !important; }

/* 7) FAQ + tables: left text by default */
.faq-question, .faq-answer, table th, table td{ text-align: left !important; }

/* 8) About author block: align left but keep avatar layout tidy */
#about-the-author .flex{ align-items: flex-start !important; justify-content: flex-start !important; }

/* === Titanium Guide 页面：标题去重影（H1–H6）=== */
/* 把 123 换成该页面的 ID */
.page-id-4190 :is(h1,h2,h3,h4,h5,h6),
.page-id-4190 .entry-title,
.page-id-4190 .prose :is(h1,h2,h3,h4,h5,h6){
  text-shadow: none !important;
  filter: none !important;              /* 清掉 drop-shadow / blur 等 */
  -webkit-text-stroke: 0 !important;    /* 清掉 WebKit 描边 */
  -webkit-text-fill-color: currentColor !important; /* 规避白描边造成的“重影感” */
}

/* 若主题用伪元素制造描边/阴影，顺便关掉 */
.page-id-123 :is(h1,h2,h3,h4,h5,h6)::before,
.page-id-123 :is(h1,h2,h3,h4,h5,h6)::after,
.page-id-123 .entry-title::before,
.page-id-123 .entry-title::after{
  content: none !important;
}

/* 如果出现“两层H1叠在一起”的重影，隐藏主题自动 H1（保留你正文里的H1）*/
.page-id-123 .entry-title{ display: none !important; }  /* 如需保留主题H1，删除这一行 */

/* TOC 样式（免 JS） */
.toc-list{list-style:none;margin:0;padding:0;max-height:70vh;overflow:auto}
.toc-list > li{margin:.35rem 0}
.toc-list a{display:block;padding:.45rem .6rem;border-radius:8px;text-decoration:none;color:var(--primary-900)}
.toc-list a:hover{background:var(--primary-50)}
.toc-list ul{list-style:none;margin:.2rem 0 .4rem .75rem;padding-left:.75rem;border-left:2px solid var(--border)}
.toc-list ul li a{padding:.35rem .55rem}

/* <details> 的交互光标 */
.toc > summary{cursor:pointer}

/* 旧按钮若保留，隐藏之（无JS时无效） */
#toc-toggle{display:none !important}

/* 避免有固定顶栏时锚点被遮住（可按需要调 px） */
.prose :is(h1,h2,h3,h4,h5,h6,section){scroll-margin-top:90px}

/* 兜底：确保 TOC 容器可见 */
.toc-container{overflow:visible;height:auto}

/* FAQ 基础样式（免 JS） */
.faq-wrap{display:grid;gap:12px;margin-top:12px}
.faq{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.faq > summary{cursor:pointer;padding:14px 16px;font-weight:700;color:var(--primary-900);list-style:none}
.faq > summary::-webkit-details-marker{display:none}
.faq[open] > summary{background:var(--primary-50)}
.faq-body{padding:0 16px 14px 16px;color:var(--neutral-800);line-height:1.7}/* End custom CSS */