/* Tarot library: the existing Lunaire paper, ink, typography, and artwork. */
.tg-main { width: min(1100px, calc(100% - 64px)); margin: 0 auto; }
.tg-main a { color: var(--midnight-ink); text-underline-offset: 5px; }
.tg-main a:hover { color: #455f80; }
.tg-main :focus-visible { outline: 2px solid #5a6f90; outline-offset: 5px; }
.tg-main h1,.tg-main h2,.tg-main h3 { font-family: var(--font-display); font-weight: 500; line-height: 1.08; }
.tg-main h1 { margin: 0 0 22px; font-size: clamp(3.4rem, 6vw, 5.3rem); letter-spacing: -.035em; }
.tg-main h2 { margin: 0 0 26px; font-size: clamp(2.4rem, 4vw, 3.3rem); letter-spacing: -.02em; }
.tg-main h3 { margin: 0 0 14px; font-size: 2rem; }
.tg-main p { font-size: .85rem; line-height: 1.9; }
.tg-main .tg-eyebrow { margin: 0 0 14px; font-size: .64rem; font-weight: 500; letter-spacing: .15em; line-height: 1.7; text-transform: uppercase; color: #596782; }
.tg-main .tg-preview { width: fit-content; margin: 14px auto 0; font-size: .6rem; letter-spacing: .09em; color: #687080; }
.tg-preview span { padding: 0 8px; }
.tg-library-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; min-height: 515px; padding: 58px 20px 66px; }
.tg-hero-copy > p:not(.tg-eyebrow) { max-width: 430px; }
.tg-main .tg-lede { font: 500 1.8rem/1.2 var(--font-display); margin-bottom: 18px; }
.tg-text-link { display: inline-block; padding: 9px 0; font-size: .73rem; font-weight: 500; text-decoration: underline; text-decoration-color: #b7925f; text-decoration-thickness: 1px; text-underline-offset: 7px!important; }
.tg-text-link span { margin-left: 12px; }
.tg-hero-gallery { position: relative; display: flex; justify-content: center; align-items: center; height: 360px; margin: 12px -8px 0; }
.tg-hero-gallery::before { position: absolute; inset: -30px -35px; content: ''; z-index: -1; background: radial-gradient(ellipse at center,rgba(183,212,232,.28),transparent 67%); }
.tg-hero-gallery a { display: block; width: 38%; max-width: 180px; flex: none; filter: drop-shadow(0 12px 15px rgba(59,51,39,.10)); transition: transform .2s ease; }
.tg-hero-gallery a:first-child { transform: rotate(-11deg) translate(30px,20px); }
.tg-hero-gallery a:nth-child(2) { z-index: 1; transform: translateY(-20px); }
.tg-hero-gallery a:last-child { transform: rotate(11deg) translate(-30px,20px); }
.tg-hero-gallery a:hover { z-index: 2; transform: translateY(-28px); }
.tg-card-art { display: block; width: 100%; height: auto; object-fit: contain; }
.tg-divider { display: flex; gap: 20px; align-items: center; color: #a48658; font-size: .8rem; }
.tg-divider::before,.tg-divider::after { content: ''; height: 1px; background: var(--border-gold); flex: 1; }
.tg-browse { padding-top: 54px; scroll-margin-top: 24px; }
.tg-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
.tg-section-heading h2 { margin: 0; }
.tg-section-heading > p { max-width: 290px; margin: 0 0 3px; font-size: .73rem; }
.tg-search { display: flex; align-items: end; gap: 22px; padding: 22px 0; border-block: 1px solid var(--border-gold); }
.tg-search-field { flex: 1; }
.tg-search label { display: block; margin-bottom: 8px; font-size: .65rem; }
.tg-search input,.tg-search select { border: 1px solid #a9b8c5; border-radius: 3px; background: rgba(250,247,241,.85); color: var(--midnight-ink); font: .78rem/1.5 var(--font-body); min-height: 48px; padding: 10px 13px; width: 100%; }
.tg-filter-field { min-width: 180px; }
.tg-reset { cursor: pointer; min-height: 48px; border: none; border-bottom: 1px solid #a48658; background: none; color: var(--midnight-ink); font: .69rem/1.5 var(--font-body); padding: 9px 2px; }
.tg-main .tg-results-count { font-size: .65rem; margin: 15px 0 0; color: #596782; }
.tg-card-grid { list-style: none; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 36px; }
.tg-tile { border-bottom: 1px solid var(--border-gold); }
.tg-tile-link { display: block; text-decoration: none; padding: 25px 12px 35px; height: 100%; }
.tg-tile-art { width: 145px; margin: 0 auto 25px; transition: transform .2s ease; filter: drop-shadow(0 7px 8px rgba(59,51,39,.07)); }
.tg-tile-link:hover .tg-tile-art { transform: translateY(-6px); }
.tg-tile-copy h3 { font-size: 2.2rem; }
.tg-tile-copy > p:not(.tg-eyebrow) { font-size: .76rem; line-height: 1.85; }
.tg-tile-copy .tg-eyebrow { margin-bottom: 7px; }
.tg-tile-copy .tg-text-link { font-size: .67rem; }
.tg-no-results { padding: 50px 0; text-align: center; }
.tg-comparison-invitation { margin: 65px 0; padding: 48px 40px; text-align: center; border-block: 1px solid var(--border-gold); background: radial-gradient(ellipse at 50% 50%,rgba(220,234,244,.42),transparent 70%); }
.tg-comparison-invitation > p:not(.tg-eyebrow) { max-width: 640px; margin: 0 auto 20px; }
.tg-reading-note { display: flex; justify-content: center; gap: 30px; max-width: 760px; margin: 0 auto 60px; }
.tg-reading-note > span { color: #a48658; font-size: 1.5rem; margin-top: 10px; }
.tg-reading-note h2 { font-size: 2.2rem; margin-bottom: 10px; }
.tg-breadcrumb { display: flex; align-items: baseline; gap: 14px; font-size: .67rem; margin: 35px 0; flex-wrap: wrap; }
.tg-breadcrumb > span[aria-hidden] { color: #8c9bb0; }
.tg-entry-hero { display: grid; grid-template-columns: 300px 1fr; gap: 90px; align-items: center; padding: 10px 35px 54px; }
.tg-entry-hero figure { max-width: 260px; width: 100%; margin: 0 auto; }
.tg-main figure figcaption { font-size: .6rem; color: #596782; text-align: center; margin-top: 15px; }
.tg-main .tg-entry-summary { font: 500 1.9rem/1.35 var(--font-display); margin: 0 0 24px; }
.tg-main .tg-intro-note { font-size: .76rem; margin-top: 24px; }
.tg-keywords { display: flex; flex-wrap: wrap; gap: 7px 15px; padding: 0; margin: 24px 0 0; list-style: none; }
.tg-keywords li { font-size: .65rem; line-height: 1.6; color: #4d6276; }
.tg-keywords li:not(:last-child)::after { content:'·'; margin-left:15px; color:#a48658; }
.tg-entry-nav { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px 24px; padding:19px 0; border-block:1px solid var(--border-gold); }
.tg-entry-nav a { font-size:.69rem; padding:5px 0; text-decoration:none; }
.tg-entry-nav a:hover { text-decoration:underline; }
.tg-section { padding:60px 0; border-bottom:1px solid var(--border-gold); scroll-margin-top:24px; }
.tg-meaning-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.tg-meaning-panel { padding-top:17px; }
.tg-meaning-panel + .tg-meaning-panel { border-left:1px solid var(--border-gold); padding-left:40px; }
.tg-meaning-panel h3 { font-size:1.8rem; line-height:1.18; }
.tg-main h4 { font:500 .68rem/1.6 var(--font-body); letter-spacing:.06em; margin:0 0 12px; }
.tg-meaning-note { margin-top:28px; padding-top:22px; border-top:1px solid var(--border-blue); }
.tg-meaning-note p { font-size:.77rem; }
.tg-main .tg-section-intro { max-width:720px; margin-bottom:35px; }
.tg-position-row { display:grid; grid-template-columns:210px 1fr; gap:32px; padding:30px 0; border-top:1px solid var(--border-blue); }
.tg-position-row h3 { font-size:1.7rem; line-height:1.2; }
.tg-position-values { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.tg-position-values p { margin:0; font-size:.78rem; }
.tg-symbolism { display:grid; grid-template-columns:1fr 240px; gap:100px; align-items:center; }
.tg-symbolism figure { margin:0; }
.tg-symbolism ul { padding:0; list-style:none; }
.tg-symbolism li { margin-top:22px; }
.tg-symbolism h3 { font-size:1.55rem; margin-bottom:6px; }
.tg-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.tg-related-grid[data-related-count="4"] { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tg-related-card { border-top:1px solid var(--border-blue); padding-top:24px; }
.tg-related-art { display:block; width:145px; margin:0 auto 25px; filter:drop-shadow(0 7px 8px rgba(59,51,39,.07)); transition:transform .2s ease; }
.tg-related-art:hover { transform:translateY(-5px); }
.tg-related-copy { min-width:0; }
.tg-related-card h3 { font-size:1.7rem; }
.tg-related-card p { font-size:.77rem; }
.tg-entry-footer { display:flex; justify-content:space-between; gap:24px; padding:35px 0; }
.tg-comparison { max-width:900px; margin:auto; }
.tg-comparison-header { text-align:center; padding:20px 0 40px; }
.tg-comparison-header h1 { max-width:780px; margin:0 auto 25px; }
.tg-comparison-header .tg-section-intro { margin:0 auto; }
.tg-comparison-gallery { display:flex; gap:65px; justify-content:center; margin:35px auto 0; }
.tg-comparison-gallery figure { width:190px; margin:0; }
.tg-comparison .tg-section > p { max-width:760px; }
@media(max-width:900px) {
 .tg-library-hero { gap:15px; padding-inline:0; }
 .tg-hero-gallery { height:300px; }
 .tg-card-grid { gap:0 18px; }
 .tg-tile-link { padding-inline:2px; }
 .tg-entry-hero { grid-template-columns:230px 1fr; gap:45px; padding-inline:0; }
 .tg-position-row { grid-template-columns:1fr; gap:8px; }
 .tg-symbolism { gap:40px; grid-template-columns:1fr 200px; }
 .tg-meaning-grid { gap:30px; }
 .tg-meaning-panel + .tg-meaning-panel { padding-left:25px; }
 .tg-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tg-related-grid[data-related-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
 .tg-main { width:calc(100% - 40px); }
 .tg-main .tg-preview { font-size:.55rem; margin-top:8px; }
 .tg-main h1 { font-size:3.4rem; }
 .tg-library-hero { grid-template-columns:1fr; text-align:center; padding:38px 0 42px; }
 .tg-hero-copy > p:not(.tg-eyebrow) { margin-inline:auto; }
 .tg-desktop-break { display:none; }
 .tg-hero-gallery { height:255px; margin:30px auto 0; width:100%; max-width:370px; }
 .tg-hero-gallery a { max-width:135px; }
 .tg-hero-gallery a:first-child { transform:rotate(-11deg) translate(22px,14px); }
 .tg-hero-gallery a:last-child { transform:rotate(11deg) translate(-22px,14px); }
 .tg-section-heading { display:block; }
 .tg-section-heading > p { max-width:none; margin-top:15px; }
 .tg-browse { padding-top:35px; }
 .tg-search { flex-wrap:wrap; gap:15px; }
 .tg-search-field { flex-basis:100%; }
 .tg-filter-field { min-width:0; flex:1; }
 .tg-reset { font-size:.64rem; }
 .tg-card-grid { grid-template-columns:1fr; gap:0; margin-top:8px; }
 .tg-tile-link { display:grid; grid-template-columns:108px 1fr; gap:22px; align-items:center; padding:26px 0; }
 .tg-tile-art { width:108px; margin:0; }
 .tg-tile-copy h3 { font-size:1.9rem; }
 .tg-tile-copy > p:not(.tg-eyebrow) { font-size:.8rem; }
 .tg-tile-copy .tg-eyebrow { font-size:.56rem; }
 .tg-tile-copy .tg-text-link { font-size:.6rem; }
 .tg-comparison-invitation { margin:40px 0; padding:35px 6px; }
 .tg-reading-note { gap:16px; }
 .tg-reading-note h2 { font-size:1.9rem; }
 .tg-breadcrumb { margin:25px 0; font-size:.6rem; gap:10px; }
 .tg-entry-hero { grid-template-columns:1fr; gap:30px; padding:10px 0 32px; text-align:center; }
 .tg-entry-hero figure { width:180px; }
 .tg-entry-hero h1 { font-size:3.5rem; margin-bottom:14px; }
 .tg-main .tg-entry-summary { font-size:1.6rem; }
 .tg-entry-hero .tg-keywords { justify-content:center; }
 .tg-entry-nav { justify-content:flex-start; gap:9px 20px; }
 .tg-entry-nav a { font-size:.61rem; }
 .tg-section { padding:37px 0; }
 .tg-meaning-grid { grid-template-columns:1fr; gap:32px; }
 .tg-meaning-panel + .tg-meaning-panel { border-left:0; padding:28px 0 0; border-top:1px solid var(--border-blue); }
 .tg-position-values { grid-template-columns:1fr; gap:24px; }
 .tg-symbolism { display:flex; flex-direction:column; gap:25px; }
 .tg-symbolism figure { width:200px; }
 .tg-related-grid,.tg-related-grid[data-related-count="4"] { grid-template-columns:1fr; gap:18px; }
 .tg-related-card { display:grid; grid-template-columns:100px minmax(0,1fr); gap:22px; align-items:start; }
 .tg-related-art { width:100px; margin:0; }
 .tg-entry-footer { flex-direction:column; gap:8px; }
 .tg-comparison-gallery { gap:25px; }
 .tg-comparison-gallery figure { width:140px; }
 .tg-comparison-header h1 { font-size:3rem; }
}
@media(prefers-reduced-motion:reduce) {
 .tg-page { scroll-behavior:auto; }
 .tg-main * { transition:none!important; }
}
.tg-details { padding: 22px 0; border-bottom:1px solid var(--border-blue); }
.tg-details summary { cursor:pointer; font-size:.76rem; padding:10px 0; color:var(--midnight-ink); }
.tg-details-body { padding:22px 0 5px; }
.tg-details-body h3 { font-size:1.65rem; margin-top:15px; }
.tg-details-body p { max-width:780px; font-size:.78rem; }
.tg-focus-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 40px; }
.tg-position-example { border-top:1px solid var(--border-blue); padding:32px 0 10px; margin-top:30px; }
.tg-position-example h3 { max-width:680px; font-size:2rem; }
.tg-placement-pair { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin:25px 0; padding:20px; border:1px solid var(--border-blue); background:rgba(220,234,244,.2); }
.tg-placement-pair .tg-eyebrow { font-size:.59rem; margin-bottom:8px; }
.tg-placement-pair a { font:500 1.5rem/1.3 var(--font-display); }
.tg-position-example blockquote { margin:24px 0 8px; padding-left:22px; border-left:1px solid var(--gold-deep); font:500 1.55rem/1.4 var(--font-display); }
.tg-third-card { display:grid; grid-template-columns:1fr 155px; gap:55px; align-items:center; }
.tg-reflection { text-align:center; padding:55px 25px 20px; }
.tg-reflection > p:not(.tg-eyebrow) { font:500 2rem/1.35 var(--font-display); }
@media(max-width:650px) {
 .tg-focus-grid { grid-template-columns:1fr; gap:10px; }
 .tg-placement-pair { padding:15px; gap:18px; }
 .tg-placement-pair .tg-eyebrow { font-size:.5rem; letter-spacing:.08em; }
 .tg-placement-pair a { font-size:1.3rem; }
 .tg-third-card { grid-template-columns:1fr; gap:25px; }
 .tg-third-card > a { width:150px; margin:auto; }
 .tg-reflection { padding-inline:0; }
}
.tg-details-body blockquote { margin:20px 0 10px; padding-left:20px; border-left:1px solid var(--gold-deep); font:500 1.5rem/1.4 var(--font-display); max-width:780px; }
/* Explicit hidden semantics survive the shared site's grid/flex declarations. */
.tg-main [hidden] { display:none!important; }
.tg-browse-tools { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:12px; }
.tg-main .tg-browse-tools .tg-results-count { margin:0; }
.tg-browse-actions { display:flex; flex-wrap:wrap; gap:10px 24px; }
.tg-comparison-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 30px; max-width:850px; margin:auto; }
.tg-guide-navigation { margin-top:58px; padding:38px 0 12px; border-top:1px solid var(--border-gold); }
.tg-guide-navigation > p { max-width:650px; }
.tg-guide-groups { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:28px; }
.tg-guide-groups h3 { font-size:1.8rem; }
.tg-guide-groups ul { list-style:none; padding:0; margin:0; }
.tg-guide-groups li { border-bottom:1px solid var(--border-blue); padding:7px 0; }
@media(max-width:650px) {
 .tg-browse-tools { flex-direction:column; align-items:flex-start; gap:8px; }
 .tg-browse-actions { gap:10px 28px; }
 .tg-guide-groups { grid-template-columns:1fr; gap:32px; }
 .tg-guide-navigation { margin-top:40px; padding-top:30px; }
}
.tg-guide-links { list-style:none; padding:0; margin:24px 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 30px; }
.tg-guide-links li { border-bottom:1px solid var(--border-blue); padding:12px 0; }
@media(max-width:650px) { .tg-guide-links { grid-template-columns:1fr; gap:8px; } }

/* In conversation v1: a quiet tabletop for two individual cards. */
.tc-conversation { max-width:1000px; margin:auto; }
.tc-header { text-align:center; max-width:690px; margin:0 auto; padding:22px 0 34px; }
.tc-header > p:not(.tg-eyebrow) { max-width:650px; margin-inline:auto; }
.tc-toolbar { border-block:1px solid var(--border-gold); padding:12px 0; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.tc-toolbar > p { font-size:.73rem; max-width:330px; }
.tc-toolbar > div { display:flex; gap:24px; }
.tc-status { font-size:.65rem!important; min-height:1.7em; margin:15px 0; color:#596782; }
.tc-lineup { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; padding:20px 0 10px; }
.tc-lineup[data-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.tc-slot { text-align:center; min-width:0; }
.tc-slot figure { margin:0; }
.tc-selected-art { display:block; width:180px; max-width:100%; margin:0 auto 22px; filter:drop-shadow(0 8px 10px rgba(59,51,39,.08)); }
.tc-reversed img { transform:rotate(180deg); }
.tc-slot h2 { font-size:2rem; margin:0 0 15px; line-height:1.15; }
.tc-slot figcaption { color:var(--midnight-ink)!important; }
.tc-slot .tg-eyebrow { font-size:.57rem; margin-bottom:8px; }
.tc-slot h2 a { text-decoration:none; }
.tc-slot h2 a:hover { text-decoration:underline; }
.tc-slot-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 20px; }
.tc-slot-controls label { display:block; font-size:.55rem; margin-bottom:5px; }
.tc-slot-controls select { background:rgba(250,247,241,.9); color:var(--midnight-ink); border:1px solid #a9b8c5; border-radius:3px; font:.67rem/1.4 var(--font-body); min-height:44px; max-width:100%; padding:8px; }
.tc-remove { cursor:pointer; font:.6rem/1.4 var(--font-body); border:0; background:none; color:#596782; padding:12px 0; text-decoration:underline; text-underline-offset:5px; }
.tc-conversation button:disabled { cursor:default; opacity:.5; }
.tc-empty-art { width:180px; max-width:100%; aspect-ratio:636/890; margin:0 auto 22px; border:1px solid var(--border-gold); border-radius:5px; background:radial-gradient(ellipse,rgba(220,234,244,.3),transparent); display:grid; place-items:center; }
.tc-empty-art > span { font-size:2rem; color:#b7925f; }
.tc-empty-copy { font-size:.73rem!important; }
.tc-meanings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.tc-meanings[data-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.tc-meanings[data-count="1"] { grid-template-columns:1fr; max-width:650px; }
.tc-meaning { border-top:1px solid var(--border-blue); padding-top:24px; min-width:0; }
.tc-meaning h3 { font-size:1.8rem; line-height:1.25; }
.tc-contribution p { font-size:.78rem; }
.tc-meaning .tg-keywords { margin-top:18px; }
.tc-meaning .tg-details { margin-top:22px; }
.tc-theme-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.tc-theme { border-top:1px solid var(--border-blue); padding-top:20px; }
.tc-theme h3 { font-size:1.7rem; }
.tc-theme p { font-size:.76rem; }
.tc-theme .tc-theme-members { font-size:.61rem; color:#596782; }
.tc-connection { border-top:1px solid var(--border-blue); padding:30px 0; }
.tc-connection + .tc-connection { margin-top:10px; }
.tc-pair-heading { display:flex; align-items:center; gap:30px; margin-bottom:22px; }
.tc-pair-heading h3 { margin:0; font-size:2rem; }
.tc-pair-art { display:flex; gap:10px; flex:none; }
.tc-pair-art img { width:55px; height:auto; }
.tc-connection > p { max-width:790px; }
.tc-connection h4 { margin:24px 0 10px; }
.tc-connection blockquote { max-width:760px; margin:25px 0 10px; padding-left:22px; border-left:1px solid var(--gold-deep); font:500 1.55rem/1.4 var(--font-display); }
.tc-note { font-size:.73rem!important; color:#596782; }
.tc-reading-context { font-size:.73rem; line-height:1.8; max-width:680px; margin:25px auto 0; }
.tc-picker { box-sizing:border-box; width:min(900px,calc(100% - 40px)); max-height:85vh; max-height:85dvh; padding:30px; background:var(--paper-ivory); color:var(--midnight-ink); border:1px solid var(--border-gold); border-radius:5px; box-shadow:0 18px 80px rgba(23,36,57,.2); }
.tc-picker::backdrop { background:rgba(30,43,64,.4); }
.tc-picker-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.tc-picker-heading h2 { margin:0; font:500 2.4rem/1.1 var(--font-display); }
.tc-picker .tg-search { margin-top:20px; }
.tc-picker-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px 20px; padding:14px 0; }
.tc-picker-card { cursor:pointer; border:0; background:none; color:var(--midnight-ink); text-align:center; padding:4px; font:500 1.35rem/1.2 var(--font-display); }
.tc-picker-card img { margin-bottom:12px; width:85px; max-width:100%; margin-inline:auto; }
.tc-picker-card span { display:block; }
.tc-picker-card small { display:block; font:.55rem/1.5 var(--font-body); margin-top:6px; }
.tc-picker-card:hover:not(:disabled) { background:rgba(220,234,244,.3); }
.tc-picker :focus-visible { outline:2px solid #5a6f90; outline-offset:4px; }
.tc-picker button:disabled { opacity:.45; cursor:default; }
.tc-picker-grid > p { grid-column:1/-1; font-size:.8rem; }
/* Developed conversations lead with the whole selection and keep context close. */
.tc-header { padding-bottom:20px; }
.tc-header h1 { font-size:clamp(3.2rem,5vw,4.5rem); margin-bottom:16px; }
.tc-starters { padding:5px 0 15px; border-bottom:0; }
.tc-starter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 25px; }
.tc-starter { border:1px solid var(--border-blue); background:rgba(220,234,244,.15); color:var(--midnight-ink); text-align:left; padding:20px; cursor:pointer; }
.tc-starter strong { display:block; font:500 1.65rem/1.25 var(--font-display); }
.tc-starter span { display:block; font:.64rem/1.8 var(--font-body); margin-top:10px; }
.tc-context-bar { position:sticky; top:0; z-index:8; display:flex; gap:12px; margin-top:35px; padding:13px 0; border-block:1px solid var(--border-gold); background:var(--paper-ivory); box-shadow:0 8px 18px rgba(59,51,39,.035); }
.tc-context-item { display:flex; flex:1; min-width:0; align-items:center; justify-content:center; gap:12px; padding:3px; border:0; background:none; cursor:pointer; color:var(--midnight-ink); text-align:left; font:500 .75rem/1.4 var(--font-display); }
.tc-context-item > span:first-child { width:32px; flex:none; }
.tc-context-item > span:last-child { min-width:0; }
.tc-context-item small { display:block; font:.5rem/1.6 var(--font-body); margin-top:5px; color:#596782; }
.tc-overview { padding-top:45px; scroll-margin-top:100px; }
.tc-overview h2 { max-width:790px; }
.tc-overview-lede { max-width:840px; }
.tc-overview-lede p { font-size:.9rem; line-height:1.95; }
.tc-change-note { font-size:.72rem!important; padding:15px 20px; margin:0 0 28px; border-left:1px solid var(--border-gold); background:rgba(220,234,244,.15); }
.tc-change-note a { margin-left:5px; }
.tc-overview-contributions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; margin:35px 0; }
.tc-overview-contributions > article { border-top:1px solid var(--border-blue); padding-top:22px; }
.tc-overview-contributions h3 { font-size:1.7rem; }
.tc-overview-contributions p:not(.tg-eyebrow) { font-size:.77rem; }
.tc-mutual-influence { margin:38px 0; }
.tc-influence-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.tc-influence-grid article { border-top:1px solid var(--border-blue); padding-top:22px; }
.tc-influence-grid h4 { font:500 1.6rem/1.25 var(--font-display); margin:12px 0 18px; }
.tc-influence-grid p:not(.tg-eyebrow) { font-size:.82rem; line-height:1.85; }
.tc-coverage-note { font-size:.76rem; color:var(--midnight-ink); max-width:720px; }
.tg-pair-directory-title { margin-top:35px; }
.tg-pair-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 36px; margin:25px 0; }
.tg-pair-tile { display:flex; gap:20px; align-items:center; padding:20px 0; border-top:1px solid var(--border-blue); text-decoration:none; font:500 1.25rem/1.4 var(--font-display); }
.tg-pair-tile-art { display:flex; gap:7px; flex:none; width:100px; }
.tg-pair-tile-art img { width:46px; height:auto; }
.tg-pair-tile small { display:block; margin-top:12px; font:.62rem/1.6 var(--font-body); }
.pp-case-navigation { padding:30px 0; border-block:1px solid var(--border-gold); margin:35px 0; }
.pp-case-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 35px; list-style:none; margin:16px 0 0; padding:0; }
.pp-case-navigation a { font:.76rem/1.7 var(--font-body); text-underline-offset:5px; }
.pp-orientation-case { scroll-margin-top:25px; margin:28px 0; }
.pp-upright-case { padding:20px 0 35px; }
.pp-orientation-summary { display:flex; align-items:center; gap:22px; }
.pp-orientation-summary h2 { margin:0; }
.pp-orientation-summary > span:last-child { flex:1; min-width:0; }
.pp-case-thumbs { flex:none; display:flex; gap:8px; }
.pp-case-thumb { display:block; width:30px; }
.pp-case-body { margin-top:30px; }
.pp-case-together { max-width:840px; }
.pp-directional { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; margin:35px 0; }
.pp-directional article { border-top:1px solid var(--border-blue); padding-top:22px; }
.pp-directional h4,.pp-case-facts h4 { font:500 1.5rem/1.3 var(--font-display); margin:10px 0 18px; }
.pp-directional p:not(.tg-eyebrow),.pp-case-facts p { font-size:.82rem; line-height:1.85; }
.pp-case-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 35px; }
.pp-case-facts > section:last-child { grid-column:1/-1; max-width:840px; }
.pp-case-query { margin-top:25px; }
.pp-deeper-section { margin:30px 0; }
.tg-bibliography { font-size:.73rem; line-height:1.8; margin-top:30px; }
.tc-support-and-tension { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:30px; }
.tc-support-and-tension article { border-top:1px solid var(--border-blue); padding-top:24px; }
.tc-support-and-tension h3,.tc-tension-note h3 { font-size:1.85rem; margin-bottom:12px; }
.tc-support-and-tension p,.tc-tension-note p { font-size:.79rem; }
.tc-tension-note { border-left:1px solid var(--border-gold); padding-left:24px; margin-top:30px; max-width:820px; }
.tc-connection { padding:15px 0; }
.tc-connection + .tc-connection { margin-top:0; }
.tc-pair-details > summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:10px 0; list-style:none; }
.tc-pair-details > summary::-webkit-details-marker { display:none; }
.tc-pair-details > summary::after { content:'+'; font:500 1.5rem/1 var(--font-display); color:#a48658; }
.tc-pair-details[open] > summary::after { content:'−'; }
.tc-pair-details .tc-pair-heading { display:flex; margin:0; flex:1; }
.tc-pair-name { font:500 1.8rem/1.2 var(--font-display); }
.tc-pair-name small { display:block; font:.57rem/1.6 var(--font-body); margin-top:9px; color:#596782; }
.tc-pair-expand { font:.6rem/1.6 var(--font-body); flex:none; }
.tc-pair-copy { padding:10px 0 20px; max-width:820px; }
.tc-pair-copy p { font-size:.79rem; }
.tc-suggestion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.tc-suggestion { display:grid; grid-template-columns:90px minmax(0,1fr); gap:25px; align-items:start; border-top:1px solid var(--border-blue); padding-top:25px; }
.tc-suggestion h3 { font-size:1.8rem; }
.tc-suggestion p:not(.tg-eyebrow) { font-size:.76rem; }
.tc-suggestion .tg-eyebrow { font-size:.54rem; letter-spacing:.09em; }
.tc-suggestion .tg-reset { font-size:.66rem; }
.tc-individual-details { margin-top:24px; }
.tc-individual-details > summary { font:500 1.8rem/1.3 var(--font-display); padding:15px 0; }
.tc-individual-details section { padding:25px 0 15px; }
.tc-individual-details h2 { font-size:2.3rem; }
@media(max-width:900px) {
 .tc-meanings[data-count="3"] { grid-template-columns:1fr; }
 .tc-toolbar { align-items:flex-start; }
 .tc-toolbar > div { flex-wrap:wrap; gap:4px 18px; }
 .tc-picker-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:650px) {
 .tc-header { padding-top:10px; }
 .tc-header h1 { font-size:3.2rem; }
 .tc-toolbar { display:block; padding-top:5px; }
 .tc-toolbar > p { max-width:none; }
 .tc-toolbar > div { gap:4px 25px; }
 .tc-lineup { gap:22px; }
 .tc-lineup[data-count="3"] { gap:12px; }
 .tc-selected-art,.tc-empty-art { width:120px; margin-bottom:16px; }
 .tc-slot h2 { font-size:1.7rem; }
 .tc-lineup[data-count="3"] .tc-slot h2 { font-size:1.4rem; }
 .tc-slot .tg-eyebrow { font-size:.46rem; letter-spacing:.08em; }
 .tc-slot-controls { flex-direction:column; gap:6px; }
 .tc-slot-controls .tg-reset { font-size:.6rem; padding-inline:0; }
 .tc-slot-controls select { font-size:.6rem; padding-inline:4px; width:100%; }
 .tc-slot-controls > div { width:100%; max-width:120px; }
 .tc-empty-copy { font-size:.62rem!important; }
 .tc-meanings,.tc-meanings[data-count="3"] { grid-template-columns:1fr; gap:28px; }
 .tc-theme-grid { grid-template-columns:1fr; gap:18px; }
 .tc-pair-heading { gap:18px; }
 .tc-pair-heading h3 { font-size:1.65rem; }
 .tc-pair-art { gap:6px; }
 .tc-pair-art img { width:40px; }
 .tc-picker { width:calc(100% - 24px); padding:20px 16px; }
 .tc-picker-heading h2 { font-size:2rem; }
 .tc-picker .tg-search { flex-wrap:wrap; gap:15px; }
 .tc-picker .tg-search-field { flex-basis:100%; }
 .tc-picker-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 12px; }
 .tc-picker-card { font-size:1.15rem; }
 .tc-starter-grid { grid-template-columns:1fr; }
 .tc-context-bar { gap:8px; padding:10px 0; }
 .tc-context-item { gap:7px; padding:0; font-size:.66rem; }
 .tc-context-item > span:first-child { width:24px; }
 .tc-context-item small { font-size:.43rem; line-height:1.4; }
 .tc-overview { padding-top:35px; scroll-margin-top:105px; }
 .tc-overview-lede p { font-size:.85rem; }
 .tc-overview-contributions { grid-template-columns:1fr; gap:20px; margin:25px 0; }
 .tc-influence-grid { grid-template-columns:1fr; gap:24px; }
 .tc-influence-grid h4 { font-size:1.4rem; }
 .tg-pair-directory { grid-template-columns:1fr; gap:10px; }
 .tg-pair-tile { gap:15px; font-size:1.12rem; }
 .tg-pair-tile-art { width:76px; gap:6px; }
 .tg-pair-tile-art img { width:35px; }
 .pp-case-navigation ul,.pp-directional,.pp-case-facts { grid-template-columns:1fr; gap:22px; }
 .pp-orientation-summary { gap:13px; }
 .pp-orientation-summary > span:last-child { font-size:.77rem; line-height:1.65; }
 .pp-directional h4,.pp-case-facts h4 { font-size:1.35rem; }
 .tc-support-and-tension { grid-template-columns:1fr; gap:18px; margin-top:24px; }
 .tc-pair-expand { display:none; }
 .tc-pair-name { font-size:1.5rem; }
 .tc-pair-details > summary { gap:12px; }
 .tc-pair-details .tc-pair-heading { gap:15px; }
 .tc-suggestion-grid { grid-template-columns:1fr; gap:25px; }
 .tc-suggestion { grid-template-columns:85px minmax(0,1fr); gap:22px; }
 .tc-individual-details > summary { font-size:1.6rem; }
}
/* Optional on-demand interpretation keeps the reviewed comparison visible. */
.tc-interpretation { border-top: 1px solid var(--line, #d9cfbc); padding-top: 2rem; }
.tc-interpret-button { border: 1px solid currentColor; padding: .75rem 1.2rem; border-radius: 2px; }
.tc-interpret-button:disabled { opacity: .65; cursor: default; }
.tc-interpretation-label { font-size: .78rem; letter-spacing: .045em; color: #536779; margin: 1.5rem 0 .7rem; }
.tg-main .tc-generated-question { font-family: var(--font-display); font-size: 1.3rem; line-height: 1.5; margin-top: 1.5rem; }
#conversation-human-check { margin-top: 1rem; max-width: 100%; }

/* Connected pair readings keep influence, distinction and tension in one essay. */
.tc-connected-reading { max-width: 70ch; }
.tc-connected-reading p { font-size: 1.04rem; line-height: 1.85; margin: 0 0 1.35em; }
.tg-main .tc-reading-source { font-family: var(--font-body); font-size: .73rem; letter-spacing: .12em; text-transform: uppercase; color: #596782; margin: 0 0 1rem; }
.tg-main .tc-reading-orientations { font-family: var(--font-body); font-size: .8rem; color: #596782; margin: 1rem 0 2rem; }
.tc-overview h2 { margin-bottom: .6rem; }
.tg-main .tc-inline-question { max-width: 58ch; border-left: 1px solid var(--border-gold); padding: .3rem 0 .3rem 1.35rem; margin: 2rem 0; font-family: var(--font-display); font-size: 1.3rem; line-height: 1.65; }
.tc-comparison-link { display: inline-block; margin-top: .25rem; }
.tc-interpretation { max-width: 70ch; border-top: 1px solid var(--border-gold); margin-top: 2.5rem; padding: 1.2rem 0 0; }
.tc-interpretation summary { cursor: pointer; font-size: .88rem; }
.tc-interpretation-controls { padding-top: 1rem; }
.tc-interpretation-controls > p { max-width: 60ch; font-size: .88rem; }
.tc-back-to-library { margin-top: .5rem; }
.tc-individual-details { padding-top: 1rem; }
#conversation-generated-title, #conversation-overview-title { scroll-margin-top: 130px; }
.pp-case-body .tc-connected-reading { margin-top: 1.5rem; }
@media (max-width: 650px) {
  .tc-connected-reading p { font-size: 1rem; line-height: 1.8; }
  .tg-main .tc-inline-question { font-size: 1.15rem; padding-left: 1rem; }
  .tg-main .tc-reading-orientations { line-height: 1.8; }
}


/* First compare each card’s own voice, then enter the shared conversation. */
.tc-side-by-side { padding: 35px 0 45px; border-bottom: 1px solid var(--border-gold); }
.tc-side-by-side > h2 { font-size: clamp(2rem, 3vw, 2.7rem); }
.tc-side-by-side .tc-meaning { border-top: 0; padding-top: 8px; }
.tc-side-by-side .tc-meanings { align-items: start; }
.tc-side-by-side .tc-meaning h3, .tc-side-by-side .tc-meaning h4 { font-family: var(--font-display); font-weight: 500; font-size: 1.65rem; line-height: 1.25; margin: 0 0 14px; }
.tc-side-by-side .tc-meaning p:not(.tg-eyebrow) { font-size: .82rem; }
.pp-side-by-side { padding-top: 0; margin-bottom: 35px; }
.pp-side-by-side > h3 { margin-bottom: 25px; }
.pp-shared-reading-label { margin-top: 35px!important; }
@media (max-width: 650px) {
  .tc-side-by-side { padding: 28px 0 35px; }
  .pp-side-by-side { padding-top: 0; }
  .tc-side-by-side .tc-meaning + .tc-meaning { border-top: 1px solid var(--border-blue); padding-top: 25px; }
}

/* Static-library refinement: the shared Notebook heading scale and site rhythm.
   Keep these rules local to the library; reader/account pages are unaffected. */
.tg-main { width:min(var(--page-width),calc(100% - 64px)); }
.tg-main h1 { font-size:clamp(3rem,4.8vw,4.4rem); letter-spacing:-.025em; text-wrap:balance; }
.tg-main h2 { font-size:clamp(2.1rem,3.6vw,2.9rem); letter-spacing:-.025em; text-wrap:balance; }
.tg-main h3 { text-wrap:balance; }
.tg-main p { font-size:.925rem; line-height:1.8; }
.tg-main .tg-eyebrow { font-size:.69rem; letter-spacing:.14em; color:var(--nav-indigo); }
.tg-library-hero { min-height:460px; padding:44px 12px 56px; gap:48px; }
.tg-hero-copy h1 { color:var(--washed-indigo); }
.tg-main .tg-lede { font-size:clamp(1.5rem,2.4vw,1.85rem); line-height:1.25; }
.tg-hero-copy > p:not(.tg-eyebrow) { max-width:455px; }
.tg-text-link { font-size:.78rem; }
.tg-main .tg-section-heading > p { max-width:320px; font-size:.84rem; }
.tg-search { gap:20px; padding:22px 0; }
.tg-search label { font-size:.73rem; color:var(--nav-indigo); }
.tg-search input,.tg-search select { background:var(--paper-ivory); border-color:var(--border-blue); border-radius:2px; font-size:.875rem; }
.tg-search input:hover,.tg-search select:hover { border-color:var(--nav-indigo); }
.tg-search input:focus-visible,.tg-search select:focus-visible { border-color:var(--nav-indigo); }
.tg-reset { font-size:.75rem; }
.tg-main .tg-results-count { font-size:.73rem; }
.tg-tile-link { padding:28px 8px 34px; }
.tg-tile-copy h3 { font-size:2rem; line-height:1.15; }
.tg-tile-copy > p:not(.tg-eyebrow) { font-size:.86rem; line-height:1.8; }
.tg-tile-copy .tg-text-link { font-size:.73rem; }
.tg-main .tg-intro-note { font-size:.85rem; }
.tg-main .tg-entry-summary { font-size:1.85rem; }
.tg-keywords li { font-size:.73rem; }
.tg-entry-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:.76rem; }
.tg-meaning-note p,.tg-position-values p,.tg-related-card p { font-size:.86rem; line-height:1.8; }
.tg-guide-groups { grid-template-columns:1fr; }
.tg-guide-groups ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; }
.tg-guide-groups li { padding:4px 0; }
.tg-guide-groups .tg-text-link { font:500 1.5rem/1.35 var(--font-display); }
.tg-reading-note { margin-top:44px; }
.tg-main .tg-details summary { font-size:.86rem; }
@media(max-width:900px) {
 .tg-library-hero { gap:24px; padding-inline:0; }
}
@media(max-width:650px) {
 .tg-main { width:calc(100% - 40px); }
 .tg-main h1 { font-size:clamp(2.6rem,11vw,3.4rem); }
 .tg-main h2 { font-size:clamp(2rem,8.5vw,2.6rem); }
 .tg-library-hero { min-height:0; padding:30px 0 42px; gap:0; }
 .tg-tile-link { padding:26px 0; gap:20px; }
 .tg-tile-copy h3 { font-size:1.85rem; }
 .tg-tile-copy .tg-eyebrow { font-size:.64rem; }
 .tg-tile-copy .tg-text-link { font-size:.72rem; }
 .tg-entry-hero h1 { font-size:3.15rem; }
 .tg-main .tg-entry-summary { font-size:1.65rem; }
 .tg-entry-nav { gap:4px 18px; padding:12px 0; }
 .tg-entry-nav a { font-size:.72rem; }
 .tg-guide-groups ul { grid-template-columns:1fr; }
 .tg-reading-note { margin-top:32px; }
}
