/* Pharos Terminal · 0.9.14 session pages, search and filters. Phone and tablet first; uses terminal.css variables.
   Slate for boxes, navy for text, gold highlights, Bebas Neue headings, Libre Franklin body. */

/* ---------- search and filters ---------- */
.find{margin:10px 0 14px}
.find-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.find-l{font:650 11px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--navy2);flex:0 0 100%}
.find-q{flex:1 1 260px;min-width:0;font:500 15px var(--sans);color:var(--navy);padding:10px 12px;border:1.5px solid var(--slate);border-radius:8px;background:#fff}
.find-q:focus{outline:3px solid var(--orange);outline-offset:1px}
.find-g{display:flex;gap:6px;flex-wrap:wrap}
.find .chip{text-decoration:none}
.find .chip:focus-visible,.ses-tabs a:focus-visible,.ses-nav a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.find-c{margin:10px 0 6px}
.find-n{margin:4px 0 0;font-size:13px;color:var(--navy2)}.find-n b{color:var(--navy)}
/* 0.9.15: topic chips inside the picked subject (slate when picked, gold accents) */
.find-t{margin:0 0 6px;padding:8px 0 8px 12px;border-left:3px solid var(--orange);background:linear-gradient(to right,var(--otint),rgba(253,244,214,0) 70%);align-items:center}
.find-tl{font:650 11px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--navy2);margin-right:2px}
.find-t .chip{font-size:12px;padding:5px 11px}
.find-t .chip:hover{border-color:var(--orange)}
.find-tc{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--tint,#eef1f4);color:var(--navy);font:700 11px/18px var(--sans);text-align:center}
.find-t .chip.on{background:var(--slate);color:#fff;border-color:var(--slate);box-shadow:inset 0 -3px 0 var(--orange)}
.find-t .chip.on .find-tc{background:var(--orange);color:#000}
.find-hit{display:block;margin:4px 0 0}
.find-hit mark{background:var(--otint);color:var(--otx);font:700 11.5px var(--sans);padding:2px 7px;border-radius:4px;margin-right:4px}
.find-ss{margin:6px 0 0;padding-left:18px;font-size:13px}.find-ss li{margin:2px 0}
.find-res{display:grid;gap:8px;margin-top:4px}
.find-r{background:var(--tint);border-radius:8px;padding:10px 12px;border-left:3px solid var(--slate)}
.find-r a{color:var(--navy)}

/* ---------- subject colors: session cards and session pages only. History, Literature and Math (the old red code)
   use gold #ecb40b (Zac, Oct 27 2026); cards are gold or slate, never red ---------- */
.subj-r{--sc:var(--orange);--st:#fdf6e0}.subj-b{--sc:var(--lb);--st:#eef0fc}.subj-y{--sc:var(--orange);--st:#fdf6e0}.subj-g{--sc:var(--lg);--st:#ebf3ec}
.days[class*="subj-"] .day{background:var(--st);border-top:5px solid var(--sc)}
.days[class*="subj-"] .day.cur{background:#fff;outline:2px solid var(--sc);outline-offset:0}
.days[class*="subj-"] .day.done{background:var(--st);opacity:.92}
.ses-page section{--acc:var(--sc)}
.ses-page .ses-head{border-top:6px solid var(--sc);padding-top:12px}
.ses-page .ses-ph-h{border-bottom-color:var(--sc)}
.ses-page .ses-ph > h3 span{box-shadow:inset 0 -3px 0 var(--sc)!important}
.ses-page .ses-tabs a.on{box-shadow:inset 0 -3px 0 var(--sc)}
.ses-page .ses-rd,.ses-page .ses-nav{border-top-color:var(--sc)}
.ses-page .ses-path blockquote,.ses-page .ses-rd blockquote{border-left-color:var(--sc);background:var(--st)}
.ses-page .ses-st{border-left-color:var(--st)}
/* 0.9.16.1 (Zac, Oct 25): task and source cards are brand gold in every subject; red read as error boxes to parents.
   Gold only for borders and markers; eyebrow text stays navy. Red-coded subjects (History, Literature, Math) use gold for
   the session page's decoration too. The logo keeps its red. Since 0.9.18 .linkbtn.danger is slate; error messages (.lockflag, .formerr) stay red. */
.ses-page .card{--acc:var(--orange)}
.ses-page .card.feat{border-color:var(--orange)}
.ses-page .ses-rd{border-top-color:var(--orange)}
.ses-page .ses-path blockquote,.ses-page .ses-rd blockquote{border-left-color:var(--orange);background:#fdf6e0}
.ses-page.subj-r{--sc:var(--orange);--st:#fdf6e0}
.days.subj-r{--st:var(--tint)}.days.subj-r .day.cur{outline-color:var(--orange)}

/* ---------- session cards on the packet page ---------- */
.day h4 a.ses-tl{color:var(--navy);text-decoration:none}
.day h4 a.ses-tl:hover{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px}
/* 0.9.22: Through the Fading Darkness lesson cards reuse the session card (.days.subj-y .day). Up to four per row on desktop
 * (units hold two to four cards); the 1100px and phone breakpoints in terminal.css still apply.
 * 0.9.24 (Zac, Oct 27, 2026: "Use the same golden card color scheme in Reality Writes and Pitch to Profit"; "Of course use
 * it for the other novels too"): these rules moved from the TTFD-only grid class to the shared .course-days / .course-card
 * (assets/terminal-course-card.js), so every premium course (TTFD, Reality Writes!, Pitch to Profit, and later novels)
 * gets the same card with no CSS of its own. */
@media(min-width:1101px){.days.course-days{grid-template-columns:repeat(4,1fr)}}
.course-days .day{display:flex;flex-direction:column}.course-days .day .ses-open{margin-top:auto;padding-top:8px;align-self:flex-start}
.course-days .day .cc-st{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.course-days .day .cc-st small{display:block;font-size:11.5px;color:var(--navy2)}
.course-days .day .as-tag{align-self:flex-start;margin-top:4px}
.ses-open{display:inline-block;margin-top:8px;font:700 13px var(--sans);color:var(--navy);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
/* 0.9.23 (Zac, Oct 27, 2026, "Sooner"; Editor 0922 R1): a locked lesson card is grey with a grey top bar, so only open
 * cards wear gold. Slate focus ring on both card links (gold on cream is too faint). 0.9.24: every premium course. */
.days.course-days .day.locked{background:var(--tint);border-top-color:var(--line)}
.days.course-days .day.locked h4 a.ses-tl{color:var(--navy2)}
.course-days .day a:focus-visible{outline:3px solid var(--slate);outline-offset:2px}
/* 0.9.23: a lapsed buyer's course PDFs (Through the Fading Darkness and Pitch to Profit) */
.pdf-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px}
.pdf-list a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
.pdf-list a:focus-visible{outline:3px solid var(--slate);outline-offset:2px}

/* ---------- session page ---------- */
.ses-head h1{font-size:40px;margin:0 0 4px}
.ses-meta{margin:0 0 10px}
.ses-act{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
.ses-wait{margin-top:14px}
.ses-unv{background:var(--otint);color:var(--otx);border-left:4px solid var(--orange);border-radius:8px;padding:12px 16px;margin:16px 0 0;font-size:13.5px}
.ses-unv > b{display:block;font:400 22px var(--serif);letter-spacing:.03em;color:var(--otx);margin-bottom:4px}
.ses-unv ul{margin:4px 0 0;padding-left:20px}.ses-unv li{margin:3px 0}
.ses-tabs{display:flex;gap:0;margin:0 0 14px;border:1.5px solid var(--slate);border-radius:8px;overflow:hidden;max-width:520px}
.ses-tabs a{flex:1;text-align:center;padding:9px 10px;font:700 13.5px var(--sans);color:var(--slate);text-decoration:none;background:#fff}
.ses-tabs a.on{background:var(--slate);color:#fff;box-shadow:inset 0 -3px 0 var(--orange)}
.ses-paths{display:grid;grid-template-columns:1fr;gap:24px}
.ses-paths.show-hs .ses-path[data-v="78"],.ses-paths.show-78 .ses-path[data-v="hs"]{display:none}
.ses-path{min-width:0}
.ses-ph-h{background:#000;color:#fff;border-radius:10px 10px 0 0;padding:12px 16px;border-bottom:3px solid var(--orange)}
.ses-ph-h h2{color:#fff;font-size:28px;margin:2px 0 0}
.ses-ph-h p{margin:2px 0 0;color:#d6d6d6!important}
.ses-ver{font:650 11px var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--orange)}
.ses-obj{border-radius:0 0 10px 10px;margin:0 0 6px;padding:12px 16px}
.ses-obj b{font:650 11px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--navy2)}
.ses-obj ul{margin:4px 0 0;padding-left:18px}
.ses-ph{margin-top:16px}
.ses-ph > h3{display:flex;align-items:center;gap:10px;font-size:24px;margin:0 0 6px}
.ses-ph > h3 span{background:var(--slate);color:#fff;border-radius:4px;padding:3px 10px 1px}
.ses-ph > h3:after{content:"";flex:1;height:2px;background:var(--line)}
.ses-ph.ph-hook > h3 span{box-shadow:inset 0 -3px 0 var(--orange)}.ses-ph.ph-read > h3 span{box-shadow:inset 0 -3px 0 var(--lb)}
.ses-ph.ph-think > h3 span{box-shadow:inset 0 -3px 0 var(--orange)}.ses-ph.ph-do > h3 span{box-shadow:inset 0 -3px 0 var(--lg)}
.ses-ph.ph-wrap > h3 span{box-shadow:inset 0 -3px 0 #fff}
.ses-st{padding:6px 0 8px 14px;border-left:3px solid var(--line);margin:0 0 6px}
.ses-st h4{font:700 15px var(--sans);letter-spacing:0;margin:0 0 4px;line-height:1.3}
.ses-st h4 small{font-weight:500;color:var(--navy2);font-size:12px}
.ses-n{display:inline-block;min-width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:var(--orange);color:#000;font-size:12px;margin-right:6px}
.ses-st p,.ses-rd p{margin:0 0 8px}
.ses-st p.ses-drafted{font-size:12px;color:var(--navy2);margin:-4px 0 6px}
.ses-st ol,.ses-st ul,.ses-rd ol,.ses-rd ul{margin:0 0 8px;padding-left:22px}.ses-st li,.ses-rd li{margin:3px 0}
.ses-path blockquote,.ses-rd blockquote{margin:6px 0 10px;padding:8px 14px;background:var(--tint2);border-left:3px solid var(--slate);font-size:14.5px}
.ses-path h5,.ses-rd h5{font:700 13px var(--sans);text-transform:uppercase;letter-spacing:.08em;margin:10px 0 4px}
.ses-write{margin-top:16px;padding:14px 16px}.ses-write .ses-st{border-left:0;padding-left:0}
.ses-assess{margin-top:14px;padding:14px 16px}.ses-assess h3{font-size:22px}
.ses-key{display:block;background:#eef4ef;color:#22502a;border-radius:6px;padding:6px 10px;margin:4px 0 8px;font-size:13.5px}
.ses-key.in{margin:4px 0 2px}
.ses-key b{font:700 11px var(--sans);text-transform:uppercase;letter-spacing:.1em;margin-right:4px}
.ses-note{margin:10px 0 0;border:1px solid var(--line);border-top:3px solid var(--slate);border-radius:6px;background:var(--tint2);padding:0 14px}
.ses-note summary{cursor:pointer;padding:10px 0;font-size:14px}
.ses-note summary span{font:650 11px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--navy2)}
.ses-note[open]{padding-bottom:10px}
.ses-note.k-warning,.ses-note.k-unverified{background:var(--otint);color:var(--otx);border-top-color:var(--orange)}
.ses-tbl{overflow:visible;max-width:100%;margin:6px 0 10px}.ses-tbl table.t{min-width:0;width:100%}
/* 0.9.30 round 2 (Editor WV re-proof #8): on phones a session table scrolls in its box instead of breaking header words mid-word (terminal.css sets overflow-wrap:anywhere under 760px) */
@media(max-width:760px){.ses-tbl table.t th{overflow-wrap:normal}}
.ses-h2{font-size:30px;margin:0 0 12px}
.ses-rds{display:grid;grid-template-columns:1fr;gap:14px}
.ses-rd{border-top:3px solid var(--slate);padding:14px 16px}
.ses-rd h3{font-size:22px;margin:0 0 8px}
.ses-src{margin-top:14px;padding:14px 16px}.ses-src h3{font-size:22px}
.ses-src ol{margin:6px 0 0;padding-left:26px;font-size:14px}.ses-src li{margin:5px 0;overflow-wrap:anywhere}
.ses-src a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
.ses-ws{margin-bottom:12px}
.ses-std{margin-top:4px}
.ses-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch;margin:28px 0 0;padding-top:14px;border-top:2px solid var(--slate)}
.ses-nav a{color:var(--navy);text-decoration:none;font-weight:700;font-size:14px;line-height:1.3}
.ses-nav small{display:block;font:650 11px var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--navy2);margin-bottom:2px}
.ses-next{text-align:right}
.ses-up{align-self:center;background:var(--slate);color:#fff!important;border-radius:6px;padding:8px 12px;font-size:13px!important}
.ses-path code,.ses-rd code{background:var(--tint);padding:1px 4px;border-radius:3px;font-size:.92em}

/* phone */
@media(max-width:760px){
  .ses-head h1{font-size:32px}
  .ses-ph-h h2{font-size:24px}
  .ses-nav{grid-template-columns:1fr 1fr}.ses-up{grid-column:1 / -1;grid-row:2;text-align:center}
  .find-c{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .find-c .chip{flex:0 0 auto}
  .find-t{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .find-t .chip,.find-tl{flex:0 0 auto}
  .find-q{flex-basis:100%}
}
/* desktop: both versions side by side, readings two across */
@media(min-width:1100px){
  .ses-tabs{display:none}
  .ses-paths{grid-template-columns:1fr 1fr}
  .ses-paths.show-hs .ses-path[data-v="78"],.ses-paths.show-78 .ses-path[data-v="hs"]{display:block}
  .ses-rds{grid-template-columns:1fr 1fr}
  .find-l{flex:0 0 auto}
}
@media print{.ses-tabs,.ses-act,.ses-nav,.find{display:none}.ses-paths{grid-template-columns:1fr}.ses-paths .ses-path{display:block!important}}
