/* copyright: generated from the legacy page template; edit this external module only. */
:root { --canvas:#f8f9f7; --surface:#fff; --ink:#172027; --muted:#56636b; --border:#d9e1df; --purple:#6e44a6; --radius:14px; }
      * { box-sizing:border-box; }
      body { margin:0; min-width:320px; background:var(--canvas); color:var(--ink); font-family:"Disrupt Cabin",ui-rounded,Arial,sans-serif; font-size:16px; line-height:1.66; }
      a { color:inherit; text-decoration:none; }
      .site-shell { width:min(1160px,calc(100% - 48px)); margin:0 auto; }
      .site-header { min-height:65px; border-bottom:1px solid var(--border); }
      .header-inner { min-height:65px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
      .brand { display:inline-flex; align-items:center; gap:10px; font-family:"Disrupt Comfortaa",sans-serif; font-size:18px; font-weight:700; letter-spacing:-.04em; }
      .brand img { width:29px; height:29px; object-fit:contain; }
      .header-actions { display:flex; align-items:center; gap:30px; color:var(--muted); font-size:14px; font-weight:650; }
      .header-actions a:not(.button):hover { color:var(--purple); }
      .button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 22px; border-radius:999px; background:var(--purple); color:var(--surface); font-size:14px; font-weight:800; }
      .reading-rail { width:min(690px,100%); margin-left:0; padding:78px 0 88px; }
      .eyebrow { margin:0 0 13px; color:var(--purple); font-size:12px; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
      h1,h2 { margin:0; font-family:"Disrupt Comfortaa",sans-serif; letter-spacing:-.055em; }
      h1 { margin-bottom:29px; font-size:clamp(40px,4.5vw,56px); font-weight:700; line-height:1.1; }
      h2 { margin:36px 0 11px; font-size:25px; font-weight:700; line-height:1.2; }
      p,li { color:#3c4b50; font-size:16px; }
      p { margin:0 0 18px; }
      ul { margin:0 0 17px; padding-left:22px; }
      li { margin:6px 0; }
      .notice { margin-top:34px; padding:18px 20px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); color:#3d4a50; font-size:14px; }
      .notice strong { color:var(--ink); }
      .site-footer { border-top:1px solid var(--border); padding:40px 0 24px; }
      .footer-top { display:flex; justify-content:space-between; gap:40px; }
      .footer-brand { max-width:285px; }
      .footer-brand .tagline { margin:9px 0 0; color:var(--purple); font-size:13px; font-weight:800; }
      .footer-brand .summary { margin:9px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
      .footer-links { display:flex; gap:24px; flex-wrap:wrap; align-items:start; }
      .footer-links a { color:var(--muted); font-size:12px; font-weight:700; }
      .footer-links a:hover { color:var(--purple); }
      .scripture { margin:35px 0 0; padding:20px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); font-family:"Disrupt Comfortaa",sans-serif; font-size:16px; font-weight:700; letter-spacing:-.035em; text-align:center; }
      .scripture cite { display:block; margin-top:7px; color:var(--purple); font-family:inherit; font-size:10px; font-style:normal; letter-spacing:.06em; text-transform:uppercase; }
      .footer-bottom { margin-top:18px; color:#849093; font-size:11px; text-align:center; }
      @media (max-width:820px) { .site-shell{width:min(100% - 36px,700px)}.header-actions{gap:16px}.header-actions a:not(.button){display:none}.reading-rail{margin:0 auto;padding:57px 0 68px}.footer-top{display:block}.footer-links{margin-top:25px} }
      @media (max-width:540px) { .site-shell{width:min(100% - 32px,700px)}.brand{font-size:16px}.brand img{width:26px;height:26px}.reading-rail{padding-top:46px}.reading-rail h1{font-size:41px}.scripture{font-size:14px} }
    
      /* Canonical site header: shared by every page type. */
      .primary-nav { display:flex; align-items:center; gap:26px; color:var(--muted); font-size:14px; font-weight:700; }
      .primary-nav a:hover,.primary-nav a[aria-current="page"] { color:var(--purple); }
      .primary-nav .nav-action { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 18px; border-radius:999px; background:var(--purple); color:var(--surface); font-size:14px; font-weight:800; line-height:1; white-space:nowrap; }
      .primary-nav .nav-action:hover { background:var(--purple-dark); color:var(--surface); }
      @media (max-width:820px) { .primary-nav{gap:17px}.primary-nav a:not(.nav-action){display:none} }

      /* Disrupt site layout contract */
      :root { --page-width:1160px; --reading-width:780px; --status-playtesting:#2e7d52; --status-development:#f4b942; --status-seeking:#005ea8; --status-self-published:#6e44a6; --status-retired:#56636b; --action:#a24b2e; }
      .site-shell,.shell { width:min(var(--page-width),calc(100% - 48px)); margin-inline:auto; }
      .mobile-nav { display:none; }
      @media (max-width:880px) {
        .primary-nav { display:none; }
        .mobile-nav { position:relative; display:block; }
        .mobile-nav summary { min-height:40px; padding:9px 15px; border:1px solid var(--border); border-radius:999px; color:var(--ink); cursor:pointer; font-size:14px; font-weight:850; list-style:none; }
        .mobile-nav summary::-webkit-details-marker { display:none; }
        .mobile-nav nav { position:absolute; z-index:10; top:calc(100% + 9px); right:0; display:grid; width:min(260px,calc(100vw - 36px)); padding:10px; border:1px solid var(--border); border-radius:14px; background:var(--surface); box-shadow:0 16px 34px rgba(23,32,39,.12); }
        .mobile-nav nav a { padding:10px 11px; border-radius:8px; color:var(--ink); font-size:14px; font-weight:800; }
        .mobile-nav nav a:hover { background:#eef2ee; color:var(--purple); }
      }

/* v12 keyboard baseline */
.skip-link { position:fixed; z-index:100; top:10px; left:10px; padding:11px 15px; border-radius:8px; background:#172027; color:#fff; font-weight:850; transform:translateY(-160%); transition:transform .16s ease; }
.skip-link:focus { transform:translateY(0); }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #006f77; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .skip-link { transition:none; } }

/* v16 spacing-led content rhythm */
main .section-head,main .section-soft,main .journal-list,main .journal-item { border-top:0; border-bottom:0; }
.site-footer,.site-footer blockquote { border-top:0; border-bottom:0; }
.article-page .status-guide-section,.article-page .rights-guide-cc,.article-page .rights-guide-choice,.article-page .rights-guide-permissions,.article-page .rights-guide-notice { border-top:0; padding-top:0; }
.article-page .dd-section::before,.article-page .dd-game-gylen,.article-page .dd-game-dalrymple,.article-page .dd-triad>div { border-top:0; content:none; }
