/* Opt-in material study. No changes to the existing hall or approved hero. */
.spectral-preview .work-hall { background:#080d14; }
.spectral-preview .room-viewport { height: min(900px,92svh); min-height:650px; background:#080d14; }
.spectral-preview .room-loading { background:#080d14; }
.spectral-preview .loading-orbit { border-color:#253442;border-top-color:#a9dbe1; }
.spectral-preview .room-viewport > canvas { cursor:default; }
.spectral-preview .room-viewport.is-dragging > canvas { cursor:grabbing; }
.spectral-preview .room-viewport.has-hover:not(.is-dragging) > canvas { cursor:pointer; }
.spectral-caption { position:absolute;inset:35px 40px auto;display:flex;justify-content:space-between;gap:24px;pointer-events:none;color:#a8b5c3;font-size:12px;font-weight:400;letter-spacing:.015em; }
.spectral-transport { position:absolute;bottom:23px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;max-width:calc(100% - 44px);color:#b6c9d8; }
.spectral-now { font-size:12px;white-space:nowrap;min-width:165px;font-variant-numeric:tabular-nums; }
.spectral-progress { display:block;width:100px;height:2px;background:#829ca73b;position:relative; }
.spectral-progress i { position:absolute;left:calc(var(--progress,0) * 100%);top:-2px;width:6px;height:6px;border-radius:50%;background:#c7e9e9;box-shadow:0 0 12px #a4e1e5; }
.spectral-motion { display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;border:1px solid #a1c5d347;background:#18283766;backdrop-filter:blur(12px);color:#d0e3ed; }
.spectral-motion:hover { background:#344d60aa;border-color:#b8e1e599; }
.spectral-motion:focus-visible { outline:2px solid #b6e5eb;outline-offset:4px; }
.spectral-motion span { display:block;width:11px;height:12px;border-inline:3px solid currentColor; }
.spectral-motion.is-paused span { width:0;height:0;border:0;border-left:10px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px; }
.spectral-motion:disabled { opacity:.45;cursor:default; }
.spectral-preview .room-keyboard-art button:focus-visible { outline-color:#b9e9ee!important;outline-offset:10px!important;border-radius:16px; }
.spectral-preview .hall-reader { background:#0a111b;color:#ecf1f5; }
.spectral-preview .hall-reader::backdrop { background:#080d14; }
.spectral-preview .reader-art { background:#0b192b!important; }
.spectral-preview .reader-paper { background:#101720; }
.spectral-preview .reader-heading > p,.spectral-preview .reader-colophon { color:#8c9da9; }
.spectral-preview .reader-content > p,.spectral-preview .reader-content dd { color:#adbac5; }
.spectral-preview .reader-content > p:first-child { color:#d0dbe4; }
.spectral-preview .reader-content dt,.spectral-preview .reader-content .case-status { color:#9abcc8; }
.spectral-preview .reader-content dl,.spectral-preview .reader-content dl > div { border-color:#2a3541; }
.spectral-preview .reader-content > a,.spectral-preview .reader-content .case-source-link { color:#b3d8df;border-color:#5b828e; }
.spectral-preview .reader-content .community-proof,.spectral-preview .reader-content blockquote { color:#a8cbd2; }
.spectral-preview .reader-close { background:#13202be8;border-color:#44525e; }
.spectral-preview .reader-close:hover { background:#263644; }
.spectral-preview .reader-close span::before,.spectral-preview .reader-close span::after { background:#e4eef4; }

/* Visual summaries retain every source paragraph and factual qualifier. */
.visual-reader .reader-product-brand { display:flex;align-items:center;gap:11px;margin-bottom:24px;color:#b8ccd8;font-size:13px; }
.reader-brand-logo { display:block;object-fit:contain; }
.reader-product-brand img { width:36px;height:36px;border-radius:9px; }
.spectral-preview .visual-reader .reader-summary { font-size:18px;line-height:1.65;color:#d6e3ed; }
.spectral-preview .visual-reader .case-status { display:inline-block;padding:8px 12px;border:1px solid #69899150;border-radius:8px;background:#20353c75;color:#bcd8df;font-size:12px;line-height:1.6;margin:10px 0 26px; }
.reader-flow { margin:0 0 28px;padding:22px 0 28px;border-bottom:1px solid #42596775; }
.flow-label { font-size:12px;color:#9ab9c9;margin-bottom:19px; }
.flow-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0; }
.visual-reader[data-layout="0"] .flow-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
.flow-steps li { position:relative;font-size:13px;line-height:1.55;color:#e2ecf2; }
.flow-steps li + li::before { content:'';position:absolute;top:13px;left:-16px;width:calc(100% - 10px);height:1px;background:linear-gradient(90deg,#6b91a7,transparent); }
.flow-step-index { position:relative;z-index:1;display:grid;place-items:center;width:27px;height:27px;margin-bottom:13px;border:1px solid #8eafbc7a;border-radius:50%;background:#142735;color:#bfdfe8;font-size:10px; }
.spectral-preview .visual-reader .reader-facts { display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0;border:0; }
.spectral-preview .visual-reader .reader-facts > div { display:block;min-width:0;padding:22px;border:1px solid #42556399;border-radius:12px;background:linear-gradient(135deg,#22334066,#111f2999); }
.spectral-preview .reader-facts dt { margin-bottom:10px;font-size:12px;color:#a0c6d6; }
.spectral-preview .reader-facts dd { font-size:14px;line-height:1.7;color:#d2dfe7; }
.reader-identity,.reader-milestone { position:relative;padding:26px;border:1px solid #3e536278;border-radius:14px;background:linear-gradient(130deg,#22364466,#111b2480);margin-bottom:20px; }
.reader-identity h3,.reader-milestone h3 { margin:14px 0 12px;font-size:26px; }
.reader-identity > p,.reader-milestone p { font-size:15px;line-height:1.75;color:#bfcfda;margin-top:14px; }
.reader-identity > p:first-of-type { font-size:14px;color:#a9c8d9;margin-top:6px; }
.reader-identity .date,.reader-milestone .date { display:block;font-size:12px;color:#99b2c1;margin:5px 0 18px; }
.identity-brand { display:flex;align-items:center;justify-content:flex-start;min-height:54px;margin-bottom:20px; }
.identity-midra img { width:54px;height:54px;border-radius:13px; }
.identity-shipyards { background:#f3f2ed;border-radius:9px;padding:16px 20px; }
.identity-shipyards img { width:210px;height:auto; }
.spectral-preview .visual-reader .community-proof { margin:24px 0 0;padding-top:23px;border-top:1px solid #55758466; }
.visual-reader .community-proof strong { font-size:50px;font-weight:400;letter-spacing:-.05em; }
.visual-reader .community-proof span { font-size:13px;color:#c0d9db; }
.reader-journey { list-style:none;margin:0 0 28px;padding:0 0 25px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;border-bottom:1px solid #4b637273; }
.reader-journey li { border-left:1px solid #6f99aa88;padding-left:13px; }
.reader-journey strong { display:block;font-size:13px;font-weight:500;color:#dcebf1; }
.reader-journey span { display:block;font-size:12px;line-height:1.6;color:#a8c2d1;margin-top:6px; }
.spectral-preview .visual-reader .reader-principle { padding:24px 26px;background:#20374277;border-left:2px solid #79adbd;border-radius:0 10px 10px 0;color:#d5e5ec;font-size:17px;line-height:1.8;margin-top:27px; }
.visual-reader .about-metadata { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.visual-reader .about-metadata > div { padding:0!important;border:0!important; }
.visual-reader .reader-contact-options { display:flex;flex-wrap:wrap;gap:12px;margin-top:30px; }
.reader-contact-options a { display:block;padding:13px 20px;border:1px solid #6a929d;border-radius:9px;background:#243d4a;font-size:15px;color:#e1eff4; }
.reader-contact-options a:hover { background:#315160; }
@media(max-width:1100px) and (min-width:621px) { .spectral-preview .visual-reader .reader-facts { grid-template-columns:1fr; }.flow-steps,.visual-reader[data-layout="0"] .flow-steps { grid-template-columns:1fr 1fr;gap:20px; }.reader-journey { grid-template-columns:1fr; }.flow-steps li + li::before { display:none; } }
@media(max-width:620px) {
  .spectral-preview .room-viewport { height:80svh;min-height:590px;max-height:740px; }
  .spectral-preview .reader-art { height:28svh;min-height:200px; }
  .spectral-preview .reader-heading h2 { font-size:34px; }
  .spectral-caption { inset:23px 22px auto;font-size:11px; }
  .spectral-transport { bottom:17px;gap:17px; }.spectral-now { font-size:11px;min-width:145px; }.spectral-progress { width:60px; }
  .spectral-preview .visual-reader .reader-facts { grid-template-columns:1fr; }
  .spectral-preview .visual-reader .reader-facts > div { padding:21px; }
  .flow-steps,.visual-reader[data-layout="0"] .flow-steps { grid-template-columns:1fr 1fr;gap:20px 16px; }
  .flow-steps li + li::before { display:none; }.flow-step-index { margin-bottom:8px; }
  .reader-journey { grid-template-columns:1fr;gap:17px; }
  .reader-identity,.reader-milestone { padding:22px; }.reader-identity h3,.reader-milestone h3 { font-size:25px; }
  .visual-reader .about-metadata { grid-template-columns:1fr; }.reader-identity > p,.reader-milestone p { font-size:16px; }
}
