/* Faithlife Church — training library reader. Builds on admin.css (palette, type, buttons, sign-in card). */
.training{--sheet:#fff;--rule:#e9dfc9;--answer:#9a6f1c;--done:#1f5a38;--done-soft:#edf6ef}

/* Reading material is not for copying: text cannot be selected except where the reader writes. */
.training .sheet,.training .shelf,.training .toc{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.training input,.training textarea{-webkit-user-select:text;user-select:text}
.training img{-webkit-user-drag:none;user-drag:none;pointer-events:none}

a.bar-button{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.32);border-radius:999px;color:#fff;font-weight:700;text-decoration:none;transition:background .25s}
.message-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.message-actions a{display:inline-flex;align-items:center;min-height:46px;padding:.65rem 1.4rem;border-radius:999px;background:var(--navy);color:#fff;font-weight:700;text-decoration:none}

/* ---------- Library ---------- */
.library{max-width:1180px;margin:auto;padding:clamp(1.5rem,4vw,3.5rem) var(--gutter) 4rem}
.library-head{max-width:62ch;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.library-head>p:last-child{margin-top:.7rem;color:var(--muted)}
.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(1rem,2vw,1.5rem)}
.book{position:relative;display:flex;flex-direction:column;min-height:100%;padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-align:left;font-weight:500;overflow:hidden;box-shadow:0 18px 40px -34px rgba(8,26,46,.55)}
.book:hover{background:#fff;box-shadow:0 26px 48px -30px rgba(8,26,46,.55)}
.book-cover{position:relative;padding:1.6rem 1.5rem 1.4rem;background:radial-gradient(420px 220px at 100% 0,rgba(200,164,100,.28),transparent 62%),var(--navy);color:#fff}
.book[data-audience=facilitator] .book-cover{background:radial-gradient(420px 220px at 100% 0,rgba(200,164,100,.42),transparent 62%),#13213a}
.book-cover small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.book-cover strong{display:block;margin:.65rem 0 .2rem;font:380 clamp(1.7rem,1.4rem + 1vw,2.1rem)/1.05 var(--serif);letter-spacing:-.01em}
.book-cover em{font-family:var(--serif);font-size:.95rem;color:#d5dfea}
.book-cover .edition{display:inline-block;margin-top:1rem;padding:.2rem .7rem;border:1px solid rgba(232,214,168,.5);border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft)}
.book-body{display:flex;flex:1;flex-direction:column;gap:.9rem;padding:1.3rem 1.5rem 1.5rem}
.book-body p{color:var(--muted);font-size:.9rem}
.book-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;font-size:.8rem;font-weight:700;color:var(--muted)}
.book-cta{font-size:.86rem;font-weight:700;color:var(--navy)}
.book[data-finished] .book-meta span:first-child{color:var(--done)}
.meter{height:8px;border-radius:999px;background:var(--tint);overflow:hidden}
.meter span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#d9bb7c);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.meter span[data-full]{background:linear-gradient(90deg,#2f7d4f,#4c9a69)}
.progress-panel{margin-top:clamp(2rem,4vw,3rem)}
.progress-panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1.5rem;margin-bottom:1rem}
.progress-panel-head h2{margin:0}
.progress-panel-head .hint{margin:0}
.progress-cell{min-width:9rem}
.progress-cell .meter{height:6px;margin-top:.35rem}
.progress-cell b{font-weight:700}

/* ---------- Reader layout ---------- */
.reader{display:grid;grid-template-columns:clamp(250px,22vw,310px) minmax(0,1fr);align-items:start;max-width:1400px;margin:auto}
.toc{position:sticky;top:var(--bar);max-height:calc(100svh - var(--bar));overflow:auto;padding:1.5rem 1rem 2rem var(--gutter);border-right:1px solid var(--line)}
.toc-back{min-height:36px;margin-bottom:1.4rem;padding:.3rem .9rem;background:transparent;border-color:var(--line-cool);color:var(--ink);font-size:.82rem}
.toc-back:hover{background:#fff;box-shadow:none}
.toc .eyebrow{margin-bottom:.3rem}
.toc h2{margin-bottom:1rem;font-size:1.35rem}
.toc-count{margin:.5rem 0 1.1rem;font-size:.8rem;font-weight:700;color:var(--muted)}
.toc ol{margin:0;padding:0;list-style:none;display:grid;gap:.15rem}
.toc li button{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:.7rem;width:100%;min-height:0;padding:.6rem .7rem;border-radius:10px;background:transparent;color:var(--muted);text-align:left;font-weight:600;font-size:.86rem;line-height:1.35}
.toc li button:hover{background:var(--tint);color:var(--ink);box-shadow:none;transform:none}
.toc li button[aria-current=page]{background:var(--navy);color:#fff}
.toc li button small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.tick{display:grid;place-items:center;width:22px;height:22px;margin-top:.05rem;border:2px solid var(--line-cool);border-radius:50%;font-size:.7rem;color:transparent;transition:background .3s,border-color .3s}
[data-done] .tick{border-color:#2f7d4f;background:#2f7d4f;color:#fff}
[aria-current=page] .tick{border-color:rgba(255,255,255,.5)}
[aria-current=page][data-done] .tick{border-color:#4c9a69;background:#4c9a69}

.page-wrap{min-width:0;padding:1.25rem var(--gutter) 4rem}
.page-tools{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:820px;margin:0 auto .9rem;min-height:36px}
#toc-toggle{display:none}
.save-state{margin-left:auto;font-size:.8rem;font-weight:700;color:var(--muted)}
.save-state[data-state=saved]{color:var(--done)}
.save-state[data-state=error]{color:var(--error)}

/* ---------- The page ---------- */
.sheet{position:relative;max-width:820px;margin:auto;padding:clamp(1.5rem,5vw,3.5rem) clamp(1.25rem,5vw,3.75rem) clamp(1.5rem,4vw,2.75rem);background:var(--sheet);border:1px solid rgba(14,39,66,.08);border-radius:6px;box-shadow:0 1px 0 #eee6d6,0 30px 60px -40px rgba(8,26,46,.45);outline:0;animation:turn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes turn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sheet{animation:none}.meter span{transition:none}}
.sheet::before{content:'';position:absolute;inset:0 0 auto;height:4px;border-radius:6px 6px 0 0;background:linear-gradient(90deg,var(--navy) 0 70%,var(--gold) 70%)}
.sheet-head{padding-bottom:1.4rem;margin-bottom:1.6rem;border-bottom:1px solid var(--rule);text-align:center}
.sheet-edition{font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.sheet-kicker{margin-top:1rem;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink)}
.sheet-head h1{margin-top:.45rem;font-size:clamp(1.8rem,1.4rem + 1.8vw,2.6rem);color:var(--navy);text-wrap:balance}
.sheet-subtitle{margin-top:.5rem;font-family:var(--serif);font-style:italic;color:var(--muted)}
.sheet-body{font-size:1.02rem;line-height:1.7}
.sheet-body>*+*{margin-top:.55rem}

.blk-section{display:flex;align-items:center;gap:1rem;margin:2.2rem 0 .9rem!important;font-family:var(--sans);line-height:1.2;font-size:.82rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--navy)}
.blk-section::after{content:'';flex:1;height:1px;background:var(--navy);opacity:.25}
.blk-section:first-child{margin-top:0!important}
.blk-section[data-cycle]::before{content:attr(data-cycle);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--gold-soft);font-size:.72rem;letter-spacing:0}
.blk-lead{padding-left:1rem;border-left:3px solid var(--gold);font-family:var(--serif);font-style:italic;color:var(--muted)}
.blk-sub{margin-top:1.3rem!important;font-weight:800;color:var(--gold-ink)}
.blk-item{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.2rem}
.blk-item>.marker{font-weight:800;color:var(--gold-ink);text-align:right;padding-right:.55rem}
.blk-item[data-level="0"]>.marker{color:var(--navy)}
.blk-item[data-level="0"]{margin-top:1rem}
.blk-li{position:relative;padding-left:1.4rem}
.blk-li::before{content:'';position:absolute;left:.35rem;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
[data-level="1"]{margin-left:1.6rem}[data-level="2"]{margin-left:3.2rem}[data-level="3"]{margin-left:4.8rem}[data-level="4"]{margin-left:6rem}
.blk-p{color:var(--ink)}
.blk-quote{margin:1.2rem 0!important;padding:1.6rem clamp(1.2rem,4vw,2.4rem);border-radius:4px;background:#17244a;color:#fff;text-align:center;font:italic 600 clamp(1.05rem,1rem + .4vw,1.3rem)/1.45 var(--serif)}
.blk-quote cite{display:block;margin-top:.6rem;font:normal 800 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.blk-note{padding:1rem 1.2rem;border:1px solid #e6cf9a;border-left:4px solid var(--gold);border-radius:10px;background:#fdf6e3;color:#5d4514;font-size:.94rem}
.blk-note::before{content:'Handle with care';display:block;margin-bottom:.25rem;font-size:.66rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
strong{font-weight:800}

.blk-compare,.blk-table{margin:1.4rem 0!important;border:1px solid var(--line);border-radius:6px;overflow:hidden;font-size:.9rem}
.blk-compare>div{display:grid;grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr);align-items:center;padding:.55rem .9rem;border-top:1px solid var(--line)}
.blk-compare>div:nth-child(even){background:#fbf5e6}
.blk-compare>div>:last-child{text-align:right}
.blk-compare>div>span:nth-child(2){text-align:center;color:var(--gold-ink)}
.blk-compare>.head,.blk-table>.head{border-top:0;background:var(--navy)!important;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.blk-table>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.6rem .9rem;border-top:1px solid var(--line)}
.blk-table>div:nth-child(even){background:#fbf5e6}
.blk-table>div>:last-child{font-weight:700;white-space:nowrap}

/* Fill-in blanks, answers and reflections */
.blank{display:inline-block;width:8.5em;min-height:0;margin:0 .2em;padding:0 .3em .05em;border:0;border-bottom:2px solid var(--gold);border-radius:0;background:#fffaf0;font:inherit;font-weight:700;color:var(--navy);text-align:center;vertical-align:baseline;line-height:1.45;box-shadow:none}
.blank[data-size=s]{width:6.5em}.blank[data-size=l]{width:12em}
.blank:focus{background:#fff4dc;box-shadow:none;border-bottom-color:var(--navy)}
.blank:not(:placeholder-shown){background:transparent}
.answer{padding:0 .25em;border-bottom:2px solid var(--gold);color:var(--answer);font-weight:800}
.blk-reflect{margin:.8rem 0 1.2rem!important;padding:1rem 1.1rem 1.1rem;border:1px dashed #d8c69e;border-radius:12px;background:#fffcf5}
.blk-reflect p{font-size:.95rem}
.blk-reflect textarea{min-height:6.5rem;background:#fff;line-height:1.6}
.blk-reflect .sample{margin-top:.6rem;font-style:italic;font-weight:700;color:var(--answer)}

/* Specific steps and the facilitator's plan */
.blk-box{margin:2rem 0 1rem!important;padding:1.5rem clamp(1.1rem,3vw,1.8rem);border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.blk-box[data-kind=steps]{border-color:#e2cf9f;background:linear-gradient(180deg,#fdf8ec,#fff 70%)}
.box-head{margin-bottom:1rem;text-align:center}
.box-head small{display:block;font-size:.66rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.box-head strong{display:block;margin-top:.25rem;font:400 clamp(1.25rem,1.1rem + .6vw,1.6rem)/1.15 var(--serif);text-transform:uppercase;letter-spacing:.02em;color:var(--navy)}
.box-head em{display:block;margin-top:.2rem;font-size:.86rem;color:var(--muted)}
.blk-box>*+*{margin-top:.5rem}
.blk-check{display:grid;grid-template-columns:26px minmax(0,1fr);gap:.75rem;align-items:start;padding:.65rem .8rem;border-radius:10px;background:#fff;border:1px solid var(--line);font-weight:500;font-size:.95rem;cursor:pointer;transition:border-color .2s,background .2s}
.blk-check input{width:22px;height:22px;margin:.15rem 0 0;accent-color:#2f7d4f;cursor:pointer}
.blk-check:has(input:checked){border-color:#b8d8c2;background:var(--done-soft)}
.blk-check:has(input:checked) span{color:var(--done)}
.blk-next{margin-top:1rem!important;font-size:.88rem;font-weight:700;font-style:italic;color:var(--gold-ink)}
.blk-next::before{content:'→ '}

/* Notes, completion and page turning */
.notes{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--rule)}
.notes textarea{min-height:5.5rem;background:#fff}
.sheet-foot{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-top:1.8rem}
.complete{justify-self:center;min-width:min(100%,300px);min-height:52px;font-size:1rem}
.complete::before{content:'';display:inline-block;width:18px;height:18px;margin-right:.6rem;vertical-align:-3px;border:2px solid rgba(255,255,255,.6);border-radius:50%}
.complete[aria-pressed=true]{background:#2f7d4f}
.complete[aria-pressed=true]:hover{background:#28663f}
.complete[aria-pressed=true]::before{border-color:#fff;background:#fff center/12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5 5 9l5-6' fill='none' stroke='%232f7d4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.turn{display:flex;justify-content:space-between;gap:.75rem}
.turn button{min-width:0;max-width:48%;min-height:44px;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.turn button[hidden]{display:block!important;visibility:hidden}
.finished-banner{margin-bottom:1.4rem;padding:1rem 1.2rem;border-radius:12px;background:var(--done-soft);border:1px solid #b8d8c2;color:var(--done);font-weight:700;text-align:center}

/* A faint, repeated name of the signed-in reader over the page discourages screenshots being passed around. */
.watermark{position:fixed;inset:var(--bar) 0 0;z-index:5;pointer-events:none;opacity:.07;background-repeat:repeat}
.watermark:empty{display:block}
.print-block{display:none}
@media print{body.training>*{display:none!important}body.training>.print-block{display:block!important;padding:3rem;font:600 1.2rem/1.5 sans-serif}}

@media (max-width:900px){
  .reader{display:block}
  .toc{position:fixed;inset:var(--bar) auto 0 0;z-index:30;width:min(86vw,320px);max-height:none;padding-left:1.1rem;background:var(--paper);border-right:1px solid var(--line);box-shadow:20px 0 40px -30px rgba(8,26,46,.6);transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .toc[data-open]{transform:none}
  #toc-toggle{display:inline-flex}
  .page-wrap{padding-inline:.75rem}
  .sheet{border-radius:4px}
  [data-level="1"]{margin-left:.8rem}[data-level="2"]{margin-left:1.6rem}[data-level="3"]{margin-left:2.2rem}[data-level="4"]{margin-left:2.6rem}
  .blk-item{grid-template-columns:1.8rem minmax(0,1fr)}
  .blk-compare>div{grid-template-columns:minmax(0,1fr) 1.4rem minmax(0,1fr);font-size:.82rem;padding:.5rem .6rem}
  .admin-bar .brand{width:120px}
  .admin-tag{display:none}
}
@media (max-width:560px){#reader-name{display:none}}
