/* Temperament Codex — all CSS. Loaded by temperament-grimoire.html. */
*{box-sizing:border-box;margin:0;padding:0}
:root{--gold:#E8D070;--gold-dim:#C0A850;--gold-dark:#8A6828;--gold-deep:#5A4018;--ink:#0A0806;--border:#2A2210;--border-mid:#3A3018;--orn:#C8A840;--font-heading:'Cinzel',serif;--font-body:'IM Fell English',Georgia,serif}
html,body{background:var(--ink);color:var(--gold-dim);font-family:var(--font-body);min-height:100vh}

::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#080604}::-webkit-scrollbar-thumb{background:#4A3A18;border-radius:3px}
#spine{position:fixed;left:0;top:0;bottom:0;width:80px;background:linear-gradient(to right,transparent,#0E0A05 8%,#1A1208 30%,#221A0A 50%,#1A1208 70%,#0E0A05 92%,transparent);border-right:1px solid #4A3418;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-shadow:2px 0 12px rgba(0,0,0,.7)}
#spine::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(120,90,40,.35) 15%,rgba(120,90,40,.35) 85%,transparent)}
#spine::after{content:'';position:absolute;right:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,#7A5A2888 15%,#7A5A2888 85%,transparent)}
.spine-text{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-heading);font-size:9px;letter-spacing:.32em;color:#8A6828;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.6)}
#main{margin-left:52px;position:relative}
#main::before{content:'';position:fixed;left:52px;top:0;bottom:0;width:32px;background:linear-gradient(to right,rgba(0,0,0,.65),transparent);pointer-events:none;z-index:99}
#cover{border-bottom:1px solid var(--border-mid);position:relative;overflow:hidden}
#cover::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--gold-dark) 30%,var(--gold-dark) 70%,transparent)}
#cover-inner{max-width:960px;margin:0 auto;padding:36px 44px 28px}
.cover-supertitle{font-family:var(--font-heading);font-size:11px;letter-spacing:.45em;color:var(--gold-dark);text-transform:uppercase;text-align:center;margin-bottom:12px}
.cover-ornament{text-align:center;color:var(--orn);font-size:26px;letter-spacing:.25em;margin-bottom:14px;text-shadow:0 0 18px rgba(200,168,64,.45)}
h1{font-family:var(--font-heading);font-size:clamp(26px,4.5vw,44px);font-weight:700;color:var(--gold);text-align:center;letter-spacing:.1em;line-height:1.2;text-shadow:0 0 40px rgba(180,140,30,.25);margin-bottom:6px}
.cover-subtitle{font-family:var(--font-heading);font-size:11px;letter-spacing:.3em;color:var(--gold-dark);text-transform:uppercase;text-align:center;margin-bottom:22px}
.cover-rule{display:flex;align-items:center;gap:10px;margin:18px 0}
.cover-rule::before,.cover-rule::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold-dark),transparent)}
.cover-rule-text{font-size:20px;color:var(--orn);letter-spacing:.18em;text-shadow:0 0 14px rgba(200,168,64,.4)}
#examen-btn-wrap{display:flex;flex-direction:column;align-items:center;margin:32px 0 8px;gap:10px}
.stone-pair{display:flex;gap:36px;justify-content:center;align-items:flex-start;flex-wrap:wrap}

/* ─── Dial buttons (Bronze Mechanism) ─── */
.dial{
  position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;
  border:none;background:transparent;cursor:pointer;
  width:200px;padding:0 8px;
  appearance:none;-webkit-appearance:none;
  transition:transform .3s cubic-bezier(.25,.8,.25,1);
}
.dial::before{
  content:"";position:absolute;top:2px;left:50%;margin-left:-88px;
  width:176px;height:176px;border-radius:50%;pointer-events:none;
  opacity:0;box-shadow:0 0 14px currentColor;
  transition:opacity .3s ease;
}
.dial:hover::before{opacity:.8}
.dial:hover{transform:translateY(-5px)}
.dial:active{transform:translateY(-1px)}
.dial:focus{outline:none}
.dial:focus-visible{outline:2px dashed currentColor;outline-offset:6px;border-radius:4px}

.dial-frame{
  width:180px;height:180px;display:block;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.55));
  transition:filter .3s ease;
  pointer-events:none;
}
.dial:hover .dial-frame{filter:drop-shadow(0 10px 22px rgba(0,0,0,.65))}

/* Subtle gear rotation on hover — outer teeth ring spins slowly */
.dial-frame .dial-teeth{
  transform-box:view-box;transform-origin:center;
  transition:transform 6s ease-out;
}
.dial:hover .dial-frame .dial-teeth{transform:rotate(8deg)}

.dial-frame .dial-teeth rect{fill:var(--dial-fill,#1F1810);stroke:currentColor;stroke-width:1}
.dial-frame .dial-bezel{fill:var(--dial-fill,#1F1810);stroke:currentColor;stroke-width:1.4}
.dial-frame .dial-bezel-inner{fill:none;stroke:currentColor;stroke-width:.5;opacity:.5}
.dial-frame .dial-ticks-outer line{stroke:currentColor;stroke-width:.5;opacity:.55}
.dial-frame .dial-mid{fill:var(--dial-mid-fill,#15110A);stroke:currentColor;stroke-width:.8}
.dial-frame .dial-mid-inner{fill:none;stroke:currentColor;stroke-width:.4;opacity:.5}
.dial-frame .dial-ticks-mid line{stroke:currentColor;stroke-width:.5;opacity:.7}
.dial-frame .dial-core{fill:var(--dial-fill,#1F1810);stroke:currentColor;stroke-width:.8}
.dial-frame .dial-core-inner{fill:var(--dial-core-fill,#0F0C08);stroke:currentColor;stroke-width:.5;opacity:.7}
.dial-frame .dial-glyph{font-size:26px;text-anchor:middle;font-family:var(--font-heading,Georgia,serif)}

.dial-content{display:flex;flex-direction:column;align-items:center;pointer-events:none;margin-top:14px;gap:4px}
.dial-rule{width:62%;height:1px;margin-bottom:6px}
.dial-sub{font-family:var(--font-heading);font-size:8px;letter-spacing:.28em;text-transform:uppercase}
.dial-title{font-family:var(--font-heading);font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-align:center;line-height:1.7}

/* Examen — gold */
.dial-ex{--dial-fill:#1F1810;--dial-mid-fill:#15110A;--dial-core-fill:#0F0C08;color:#B89028}
.dial-ex .dial-glyph{fill:#C8A030;filter:drop-shadow(0 0 8px rgba(190,150,20,.65))}
.dial-ex .dial-rule{background:linear-gradient(90deg,transparent,#5A4010,#C0A030 50%,#5A4010,transparent)}
.dial-ex .dial-sub{color:#7A5828}
.dial-ex .dial-title{color:#B89028;text-shadow:0 0 14px rgba(180,140,20,.5),0 0 5px rgba(180,140,20,.3)}
.dial-ex:hover{color:#D8B040}

/* Map — emerald */
.dial-map{--dial-fill:#101410;--dial-mid-fill:#0A0E0A;--dial-core-fill:#080C08;color:#3A8050}
.dial-map .dial-glyph{fill:#3A8A50;filter:drop-shadow(0 0 8px rgba(40,170,80,.65))}
.dial-map .dial-rule{background:linear-gradient(90deg,transparent,#1A4A22,#3A8040 50%,#1A4A22,transparent)}
.dial-map .dial-sub{color:#2A5A30}
.dial-map .dial-title{color:#3A7A48;text-shadow:0 0 14px rgba(40,160,80,.5),0 0 5px rgba(40,160,80,.3)}
.dial-map:hover{color:#5AA068}

/* Light theme — parchment dial */
html.theme-light .dial-frame{filter:drop-shadow(0 4px 10px rgba(90,56,24,.25))}
html.theme-light .dial:hover .dial-frame{filter:drop-shadow(0 8px 16px rgba(90,56,24,.35))}

html.theme-light .dial-ex{--dial-fill:#F8EDDA;--dial-mid-fill:#F0E0B8;--dial-core-fill:#E8D49A;color:#7A4A20}
html.theme-light .dial-ex .dial-glyph{fill:#8A5018;filter:drop-shadow(0 0 6px rgba(138,80,24,.4))}
html.theme-light .dial-ex .dial-rule{background:linear-gradient(90deg,transparent,#A87030,#7A4A20 50%,#A87030,transparent)}
html.theme-light .dial-ex .dial-sub{color:#8A5828}
html.theme-light .dial-ex .dial-title{color:#5A2818;text-shadow:none}
html.theme-light .dial-ex:hover{color:#5A2818}

html.theme-light .dial-map{--dial-fill:#E8F0E2;--dial-mid-fill:#D8E5D0;--dial-core-fill:#C8D8C0;color:#2C5A38}
html.theme-light .dial-map .dial-glyph{fill:#1F4828;filter:drop-shadow(0 0 6px rgba(31,72,40,.4))}
html.theme-light .dial-map .dial-rule{background:linear-gradient(90deg,transparent,#3A7A48,#1F4828 50%,#3A7A48,transparent)}
html.theme-light .dial-map .dial-sub{color:#2A5832}
html.theme-light .dial-map .dial-title{color:#1A3A22;text-shadow:none}
html.theme-light .dial-map:hover{color:#1A3A22}
#examen-btn-note{font-family:var(--font-heading);font-size:8px;color:#4A3818;letter-spacing:.12em;margin-top:5px}
.search-row{display:flex;gap:20px;margin-top:18px;flex-wrap:wrap;align-items:center}
#search{background:#0A0806;border:1px solid var(--border-mid);border-bottom:1px solid var(--gold-deep);color:var(--gold-dim);padding:9px 16px;font-family:var(--font-body);font-size:15px;outline:none;width:300px;letter-spacing:.02em}
#search::placeholder{color:#4A3A18;font-style:italic}
#search:focus{border-color:var(--gold-dark)}
.count-badge{font-family:var(--font-heading);font-size:10px;background:#0A0806;border:1px solid var(--border);color:var(--gold-dark);padding:3px 12px;letter-spacing:.15em}
.filter-row{display:flex;gap:6px;margin-top:18px;flex-wrap:wrap;padding:6px 0 10px;align-items:center}
.fb{
  position:relative;
  background:#181208;
  border:1px solid #3A2E14;
  color:#6B5220;
  padding:8px 18px;
  min-width:200px;
  text-align:center;
  cursor:pointer;
  font-family:var(--font-body);
  font-style:italic;
  font-size:13px;
  letter-spacing:.03em;
  text-transform:none;
  white-space:nowrap;
  transition:color .22s,border-color .22s,background .22s,transform .18s;
}
.fb:hover{color:#B8901A;border-color:#6A5020;background:#1E1609;transform:translateY(-1px)}
.fb.active{
  color:var(--gold);
  background:#201608;
  border-color:var(--gold-dark);
}
.fb[data-filter="choleric"]{background:#1A0D06;border-color:#3A1A0A}
.fb[data-filter="melancholic"]{background:#0A0E18;border-color:#18243A}
.fb[data-filter="sanguine"]{background:#1A1006;border-color:#3A2808}
.fb[data-filter="phlegmatic"]{background:#081208;border-color:#182A18}
#cards{max-width:960px;margin:0 auto;padding:18px 44px 60px}
#no-results{text-align:center;color:#4A3A18;padding:60px 0;font-style:italic;display:none;font-size:16px}
.card{position:relative;border:3px solid var(--dom-color,#4A3010);box-shadow:0 8px 36px rgba(0,0,0,.75),0 2px 8px rgba(0,0,0,.5);margin:24px 0;overflow:visible;transition:box-shadow .35s}
.card::before{content:'';position:absolute;inset:6px;border:1px solid var(--dom-color,#4A3010);opacity:.28;pointer-events:none;z-index:0}
.card.open{box-shadow:0 12px 48px rgba(0,0,0,.9),0 0 60px rgba(0,0,0,.25)}
.card-head{display:flex;align-items:center;padding:18px 18px 14px;cursor:pointer;gap:12px;user-select:none;position:relative;z-index:1}

.card-plate-band{width:100%;display:flex;align-items:center;justify-content:center;gap:14px;padding:7px 18px 6px;border-bottom:1px solid var(--dom-color,#4A3010);box-shadow:0 1px 0 rgba(0,0,0,.6);position:relative;overflow:hidden;cursor:pointer;user-select:none}
.card-plate-band::before{content:'';position:absolute;inset:0;background:var(--dom-color,#4A3010);opacity:.22;pointer-events:none}
.card-plate-band::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--dom-color,#4A3010) 30%,var(--dom-color,#4A3010) 70%,transparent);opacity:.5}
.cpb-rule{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--dom-color,#4A3010));opacity:.45}
.cpb-center{font-family:var(--font-heading);font-size:9px;letter-spacing:.55em;text-transform:uppercase;color:var(--dom-color,#C8A840);text-shadow:0 0 12px var(--dom-color),0 0 4px var(--dom-color);white-space:nowrap;position:relative;z-index:1}
.cpb-orn{font-size:11px;color:var(--dom-color,#C8A840);opacity:.7;position:relative;z-index:1;text-shadow:0 0 10px var(--dom-color)}

.cart-corner{position:absolute;font-size:14px;color:var(--dom-color,#C8A840);line-height:1;text-shadow:0 0 14px var(--dom-color),0 0 6px var(--dom-color);pointer-events:none;z-index:10;background:var(--ink);padding:2px}

.cart-mid{position:absolute;font-size:10px;color:var(--dom-color,#C8A840);line-height:1;text-shadow:0 0 12px var(--dom-color),0 0 5px var(--dom-color);pointer-events:none;z-index:10;background:var(--ink);padding:0 3px}
.cart-mid.top{top:-8px;left:50%;transform:translateX(-50%)}
.cart-mid.bot{bottom:-8px;left:50%;transform:translateX(-50%)}
.card-head:hover .card-name{color:var(--gold)}
.wax-seal{width:16px;height:16px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 3px rgba(0,0,0,.5)}
.card-badge{font-size:28px;flex-shrink:0}
.card-chapter{font-family:var(--font-heading);font-size:16px;color:#5A4820;letter-spacing:.2em;flex-shrink:0;min-width:40px}
.card-name{font-family:var(--font-heading);font-size:clamp(20px,3vw,26px);font-weight:600;color:var(--gold-dim);letter-spacing:.05em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
.name-abbr{display:none}
.card-sub{font-size:17px;color:#7A6838;font-style:italic;flex-shrink:0;display:none}
.card-meta-right{display:flex;align-items:center;gap:14px;flex-shrink:0}

.expand-icon{color:#7A6030;font-size:22px;transition:transform .25s}
.card.open .expand-icon{transform:rotate(180deg)}
.toc-dots{display:none}
.card-body{display:none;padding:0 10px}
.card.open .card-body{display:block}
.running-head{border-top:1px solid var(--border-mid);border-bottom:1px solid var(--border-mid);padding:7px 8px;display:flex;justify-content:space-between;align-items:center}
.rh-left,.rh-right{font-family:var(--font-heading);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-dark)}
.rh-center{font-family:var(--font-body);font-size:13px;color:var(--orn);font-style:italic;text-shadow:0 0 12px rgba(200,168,64,.3)}
.chapter-open{text-align:center;padding:28px 0 16px}
.chapter-number-label{font-family:var(--font-heading);font-size:11px;letter-spacing:.4em;color:#5A4020;text-transform:uppercase;margin-bottom:10px}
.chapter-ornament-row{color:var(--orn);font-size:26px;letter-spacing:.28em;margin-bottom:14px;text-shadow:0 0 20px rgba(200,168,64,.5)}
.chapter-title{font-family:var(--font-heading);font-size:clamp(22px,3.5vw,34px);font-weight:700;color:var(--gold);letter-spacing:.08em;line-height:1.2;text-shadow:0 0 40px rgba(180,140,30,.2);margin-bottom:6px}
.chapter-element{font-family:var(--font-heading);font-size:11px;letter-spacing:.25em;color:var(--gold-dark);text-transform:uppercase;margin-bottom:14px}

.chapter-rule{display:flex;align-items:center;gap:10px}
.chapter-rule::before,.chapter-rule::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold-dark) 40%,var(--gold-dark) 60%,transparent)}
.chapter-rule-inner{font-size:18px;color:var(--orn);letter-spacing:.18em;white-space:nowrap;text-shadow:0 0 14px rgba(200,168,64,.45)}
.tab-bar{display:flex;border-bottom:1px solid var(--border);margin-top:18px;flex-wrap:wrap}
.tbtn{background:transparent;border:none;border-bottom:2px solid transparent;padding:9px 14px;font-family:var(--font-heading);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#5A4820;cursor:pointer;transition:all .2s}
.tbtn:hover{color:var(--gold-dim)}
.tbtn.active{color:var(--gold);border-bottom-color:var(--gold-dark)}
.tab-pane{display:none}
.tab-pane.active{display:block}
.nature-full{padding-top:16px;padding-bottom:14px;border-bottom:1px solid #1E1A0E}
.nature-grid{display:grid;grid-template-columns:1fr 24px 1fr;gap:0;padding-bottom:18px}
.col-gutter{position:relative;margin:0 10px;display:flex;align-items:center;justify-content:center}
.col-gutter::before{content:'';position:absolute;top:20px;bottom:20px;left:50%;transform:translateX(-50%);width:1px;background:linear-gradient(to bottom,transparent,#5A4820 20%,#5A4820 80%,transparent)}
.col-gutter::after{content:'❖';color:#7A6030;font-size:13px;position:relative;z-index:1;background:#0D0B08;padding:6px 0}
.col-inner{padding-top:18px}
.sl-attr{font-family:var(--font-body);font-size:11px;font-style:italic;color:#9A8040;letter-spacing:.02em;margin:-2px 0 10px 18px}
.sl{font-family:var(--font-heading);font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-dark);display:block;margin-bottom:7px;margin-top:16px}
.sl-orn{color:var(--orn);margin-right:7px;text-shadow:0 0 10px rgba(200,168,64,.4)}
.sl-orn{color:#5A4020;margin-right:5px}
.drop-cap{float:left;font-size:64px;line-height:.82;color:#C09028;font-family:var(--font-heading);font-weight:700;margin-right:6px;margin-top:3px;text-shadow:1px 1px 0 rgba(0,0,0,.4)}
.body-text{font-size:15px;color:#C0A858;line-height:1.85;text-align:justify;overflow:hidden}
.virt-text{font-size:14px;color:#7AB868;line-height:1.82;text-align:justify}
.vice-text{font-size:14px;color:#B86050;line-height:1.82;text-align:justify}

.pro-section{padding-bottom:16px}
.pro-item{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:6px 0;border-bottom:1px solid #1A1608;align-items:start;cursor:pointer;transition:background .15s}
.pro-item:hover{background:rgba(80,60,20,.18)}
.pro-role{color:var(--gold-dim);font-size:15px}
.anti-role{color:#B86050;font-size:15px}
.pro-note{color:#6A5828;font-size:13px;font-style:italic}
.exempla-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding-bottom:18px}
.ex-col-head{font-family:var(--font-heading);font-size:16px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:20px 0 10px;border-top:1px solid var(--border-mid);border-bottom:2px solid var(--gold-deep);margin-bottom:10px;line-height:1.3;}
.ex-count{color:#6A5828;font-size:11px;font-weight:400;letter-spacing:.08em;margin-left:6px}
.ei{padding:8px 0;border-bottom:1px solid #161208;cursor:pointer;transition:background .15s}
.ei:hover{background:rgba(80,60,20,.15)}
.en{font-family:var(--font-heading);font-size:14px;color:#EAD270;letter-spacing:.03em}
.en.mod{color:#F2E088}
.ed{font-family:var(--font-heading);font-size:10px;color:#5A4820;letter-spacing:.08em;margin-left:8px}
.ent{font-size:13px;color:#9A8848;line-height:1.72;margin-top:4px;font-style:italic}
.page-footer{border-top:1px solid var(--border);padding:8px 0 5px;display:flex;justify-content:space-between;align-items:center;position:relative}
.page-footer::before{content:'';position:absolute;top:-3px;left:10%;right:10%;height:1px;background:rgba(60,45,15,.25)}
.pf-orn{font-size:13px;color:#3A2E12}
.pf-num{font-family:var(--font-heading);font-size:11px;color:#5A4820;letter-spacing:.25em}

.signa-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin-bottom:12px}
.signa-item{font-size:13px;color:#B0904A;line-height:1.7;padding:4px 0;border-bottom:1px solid #161208;padding-left:12px;position:relative}
.signa-item::before{content:'◉';color:#E8C030;font-size:9px;position:absolute;left:0;top:6px;text-shadow:0 0 6px rgba(240,200,40,.8),0 0 12px rgba(240,200,40,.4)}
.signa-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;margin-bottom:16px}
.signa-pill{font-family:var(--font-heading);font-size:11px;letter-spacing:.12em;color:#8A7040;border:1px solid #3A2A12;padding:4px 12px}

.shadow-box{background:rgba(80,20,10,.18);border-left:2px solid #7A2A1A;padding:10px 14px;margin-top:16px;font-style:italic;font-size:13px;color:#9A5040;line-height:1.75;cursor:pointer;transition:background .2s}
.shadow-box:hover{background:rgba(100,30,15,.25)}
.shadow-label{font-family:var(--font-heading);font-size:8px;letter-spacing:.25em;color:#7A2A1A;display:block;margin-bottom:5px;font-style:normal;text-align:center}

.doctrina-section{padding-bottom:18px}
.doctrina-table{width:100%;border-collapse:collapse;margin-top:10px}
.doctrina-table td{padding:7px 0;border-bottom:1px solid #161208;font-size:13px;vertical-align:top}
.doctrina-table td:first-child{font-family:var(--font-heading);font-size:9px;letter-spacing:.15em;color:var(--gold-dark);text-transform:uppercase;width:38%;padding-right:12px}
.doctrina-table td:last-child{color:#B0904A;font-style:italic}
.doctrina-table tr{cursor:pointer;transition:background .15s}
.doctrina-table tr:hover{background:rgba(80,60,20,.12)}
.b5-bar-row{display:grid;grid-template-columns:145px 1fr 52px;gap:10px;align-items:center;margin-bottom:10px}
.b5-label{font-family:var(--font-heading);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#8A7848}
.b5-track{height:3px;background:var(--border)}
.b5-fill{height:3px}
.b5-pct{font-family:var(--font-heading);font-size:10px;color:#7A6838;text-align:right}

.extremes-table{width:100%;border-collapse:collapse;margin-top:10px}
.extremes-table tr{cursor:pointer;transition:background .15s}
.extremes-table tr:hover{background:rgba(60,20,10,.15)}
.extremes-table td{padding:9px 8px;border-bottom:1px solid #1A1208;font-size:13px;line-height:1.6;vertical-align:top}
.extremes-low{color:#7A3A28;font-style:italic;width:33%;text-align:left}
.extremes-domain{font-family:var(--font-heading);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:#C0A040;text-align:center;width:34%;padding:9px 4px}
.extremes-high{color:#4A7A40;font-style:italic;width:33%;text-align:right}

.spirit-section{padding-bottom:16px}
.precept-item{display:grid;grid-template-columns:20px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #161208;cursor:pointer;transition:background .15s;align-items:start}
.precept-item:hover{background:rgba(80,60,20,.1)}
.precept-icon{font-family:var(--font-heading);font-size:14px;padding-top:1px}
.precept-icon.do{color:#8A7040}
.precept-icon.dont{color:#7A3A28}
.precept-title{font-family:var(--font-heading);font-size:13px;color:#C0A050;letter-spacing:.03em;margin-bottom:3px}
.precept-title.dont{color:#9A5040}
.precept-note{font-family:var(--font-body);font-size:12px;color:#6A5828;font-style:italic;line-height:1.65}
.precept-divider{text-align:center;color:#5A4020;font-size:11px;margin:14px 0 10px;letter-spacing:.15em}

.lifecourse-block{padding-bottom:20px;margin-bottom:16px;border-bottom:1px solid var(--border)}
.lifecourse-rule{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.lifecourse-rule::before,.lifecourse-rule::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold-dark) 40%,var(--gold-dark) 60%,transparent)}
.lifecourse-rule-text{font-family:var(--font-heading);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--orn);white-space:nowrap;text-shadow:0 0 10px rgba(200,168,64,.3)}
.lifecourse-text{font-size:14px;color:#C0A858;line-height:1.85;text-align:justify;overflow:hidden;cursor:pointer}
.lifecourse-drop{float:left;font-size:56px;line-height:.82;color:#C09028;font-family:var(--font-heading);font-weight:700;margin-right:5px;margin-top:3px}

#nb-overlay{display:none;position:fixed;inset:0;z-index:10000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:rgba(4,3,2,.55);align-items:center;justify-content:center;padding:40px 24px}
#nb-overlay.active{display:flex}
#nb-modal{position:relative;background:linear-gradient(160deg,#12100B,#0E0C08);border:1px solid #5A4A20;border-top:2px solid #8A6A30;max-width:700px;width:100%;max-height:80vh;overflow-y:auto;padding:40px 48px 44px;box-shadow:0 0 60px rgba(0,0,0,.9)}
#nb-modal-rule{text-align:center;color:#6A5028;font-size:14px;letter-spacing:.15em;margin:14px 0 24px}
#nb-modal-label{font-family:var(--font-heading);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#7A5A28;display:block;margin-bottom:14px}
#nb-modal-title{font-family:var(--font-heading);font-size:26px;font-weight:700;color:#F0DA80;letter-spacing:.06em;margin-bottom:6px;line-height:1.2}
#nb-modal-dates{font-family:var(--font-heading);font-size:11px;color:#6A5828;letter-spacing:.18em;margin-bottom:20px}
#nb-modal-text{font-family:var(--font-body);font-size:18px;color:#C8A858;line-height:1.9;font-style:italic;text-align:justify}
#nb-modal-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#5A4A20;font-size:22px;cursor:pointer;font-family:var(--font-heading);transition:color .2s}
#nb-modal-close:hover{color:#C8A858}
#nb-modal-footer{text-align:center;color:#4A3A18;font-family:var(--font-heading);font-size:9px;letter-spacing:.25em;margin-top:28px}
#footer{border-top:1px solid var(--border);text-align:center;padding:18px 44px;font-family:var(--font-heading);font-size:10px;letter-spacing:.28em;color:#3A2E12;margin-left:52px}

#examen-overlay{display:none;position:fixed;inset:0;z-index:20000;background:#0D0A07;flex-direction:column;overflow-y:auto}
#examen-overlay.active{display:flex}
#examen-stage{flex:1;display:flex;flex-direction:column;max-width:980px;margin:0 auto;width:100%;padding:0 60px 40px;box-sizing:border-box}
.exam-head{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border);flex-shrink:0}
.exam-hc{font-family:var(--font-body);font-size:12px;color:#7A6430;font-style:italic}
.exam-close{background:none;border:none;color:#7A6A30;font-size:24px;cursor:pointer;transition:color .2s;padding:0 2px}
.exam-close:hover{color:var(--gold)}
.exam-progress{height:2px;background:var(--border);flex-shrink:0}
.exam-progress-fill{height:2px;background:linear-gradient(to right,var(--gold-deep),var(--gold-dark));transition:width .5s ease}
.exam-content{flex:1;display:flex;flex-direction:column;justify-content:flex-start;padding:48px 0 32px;overflow-y:auto}
.ei-orn{text-align:center;font-size:28px;color:var(--orn);letter-spacing:.15em;margin-bottom:18px}
.ei-title{font-family:var(--font-heading);font-size:clamp(45px,5vw,88px);font-weight:700;color:var(--gold);letter-spacing:.1em;text-align:center;margin-bottom:8px}
.ei-sub{font-family:var(--font-heading);font-size:15px;letter-spacing:.28em;color:var(--gold-dark);text-transform:uppercase;text-align:center;margin-bottom:32px}
.ei-preamble{font-family:var(--font-body);font-size:26px;color:#9A8040;line-height:1.9;text-align:center;font-style:italic;max-width:640px;margin:0 auto 34px;padding:22px 28px;border-left:2px solid #3A2E14;border-right:2px solid #3A2E14}
.ei-preamble-attr{font-family:var(--font-heading);font-size:11px;letter-spacing:.2em;color:#6A5028;font-style:normal;margin-top:12px;text-transform:uppercase}
.ei-map{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:560px;margin:0 auto 34px}
.ei-map-item{border:1px solid var(--border);padding:12px 18px}
.ei-map-num{font-family:var(--font-heading);font-size:12px;color:#5A4020;letter-spacing:.3em;text-transform:uppercase;margin-bottom:6px}
.ei-map-lat{font-family:var(--font-heading);font-size:18px;color:#8A7848;letter-spacing:.06em;margin-bottom:4px}
.ei-map-ct{font-family:var(--font-heading);font-size:12px;color:#4A3818;letter-spacing:.1em}
.ei-begin{display:block;margin:0 auto;background:rgba(120,90,30,.15);border:1px solid var(--gold-dark);color:var(--gold);font-family:var(--font-heading);font-size:18px;letter-spacing:.2em;text-transform:uppercase;padding:14px 52px;cursor:pointer;transition:all .2s}
.ei-begin:hover{background:rgba(180,140,40,.22)}
.ei-saved{border:1px solid var(--border);padding:18px 24px;margin:0 auto 24px;max-width:480px;text-align:center}
.ei-saved-type{font-family:var(--font-heading);font-size:24px;color:var(--gold-dim);margin-bottom:6px}
.ei-saved-date{font-family:var(--font-heading);font-size:12px;color:#4A3818;letter-spacing:.15em;margin-bottom:16px}
.ei-saved-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ei-btn-view,.ei-btn-new,.ei-btn-sm{font-family:var(--font-heading);font-size:13px;letter-spacing:.15em;text-transform:uppercase;padding:8px 20px;cursor:pointer;transition:all .2s}
.ei-btn-view{background:transparent;border:1px solid var(--gold-dark);color:var(--gold-dim)}
.ei-btn-view:hover{color:var(--gold)}
.ei-btn-new{background:transparent;border:1px solid var(--border);color:#6A5828}
.ei-btn-new:hover{border-color:var(--border-mid);color:var(--gold-dim)}
.ei-btn-sm{background:transparent;border:1px solid var(--border);color:#5A4020;font-size:12px;padding:5px 14px}
.ei-btn-sm:hover{border-color:var(--border-mid);color:#8A7040}
.ei-confirm{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.ei-confirm-txt{font-family:var(--font-body);font-size:20px;color:#6A5028;font-style:italic;margin-bottom:12px}
.es-caput{font-family:var(--font-heading);font-size:13px;color:#5A4020;letter-spacing:.4em;text-transform:uppercase;text-align:center;margin-bottom:14px}
.es-orn{text-align:center;font-size:24px;color:var(--orn);letter-spacing:.15em;margin-bottom:18px}
.es-title-lat{font-family:var(--font-heading);font-size:clamp(36px,5vw,72px);font-weight:700;color:var(--gold);letter-spacing:.08em;text-align:center;margin-bottom:6px}

.es-epigraph{font-family:var(--font-body);font-size:22px;color:#8A7040;line-height:1.85;text-align:center;font-style:italic;max-width:620px;margin:0 auto 12px}
.es-attr{font-family:var(--font-heading);font-size:10px;color:#5A4020;letter-spacing:.2em;text-align:center;margin-bottom:44px}
.es-proceed{display:block;margin:0 auto;background:transparent;border:1px solid var(--border-mid);color:#8A7040;font-family:var(--font-heading);font-size:13px;letter-spacing:.2em;text-transform:uppercase;padding:12px 36px;cursor:pointer;transition:all .2s}
.es-proceed:hover{border-color:var(--gold-dark);color:var(--gold)}
.eq-num{font-family:var(--font-heading);font-size:14px;color:#7A6030;letter-spacing:.3em;text-align:center;margin-bottom:8px}
.eq-sec{font-family:var(--font-heading);font-size:10px;color:#6A5828;letter-spacing:.2em;text-transform:uppercase;text-align:center;margin-bottom:32px;font-style:italic}
.eq-text{font-family:var(--font-body);font-size:30px;color:#D8B868;line-height:1.65;text-align:center;margin-bottom:40px}
.eq-opts{display:flex;flex-direction:column;gap:12px}
.eq-opt{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:18px 22px;border:1px solid var(--border);background:transparent;text-align:left;cursor:pointer;transition:all .2s;align-items:start;width:100%}
.eq-opt:hover{border-color:var(--gold-dark);background:rgba(120,90,30,.1)}
.eq-opt.selected{border-color:var(--gold);background:rgba(180,140,40,.15)}
.eq-opt-n{font-family:var(--font-heading);font-size:12px;color:var(--gold-dark);letter-spacing:.1em;padding-top:2px}
.eq-opt-t{font-family:var(--font-body);font-size:19px;color:#B8A060;line-height:1.7;font-style:italic}
.eq-back{background:none;border:none;color:#6A5A28;font-family:var(--font-heading);font-size:9px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;margin-top:20px;align-self:flex-start;padding:0;transition:color .2s}
.eq-back:hover{color:#9A8040}
.eq-skip{background:none;border:none;color:#5A4A20;font-family:var(--font-body);font-size:14px;font-style:italic;cursor:pointer;margin-top:10px;padding:4px 0;text-align:left;transition:color .2s}
.eq-skip:hover{color:#8A7040}
.eq-var-note{font-family:var(--font-body);font-size:13px;color:#5A4A20;font-style:italic;text-align:center;margin-bottom:24px;padding:8px 0;border-bottom:1px solid #1E1808;line-height:1.6}
.eq-opt.dbl-primary{border-color:var(--gold);background:rgba(180,140,40,.18)}
.eq-opt.dbl-secondary{border-color:#6A8A50;background:rgba(80,120,60,.12)}
.eq-opt.dbl-primary .eq-opt-n{color:var(--gold)}
.eq-opt.dbl-secondary .eq-opt-n{color:#6A9A50}
.eq-dbl-confirm{display:block;margin:16px auto 0;background:rgba(120,90,30,.15);border:1px solid var(--gold-dark);color:var(--gold);font-family:var(--font-heading);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:10px 28px;cursor:pointer;transition:all .2s}
.eq-dbl-confirm:hover{background:rgba(180,140,40,.22)}
.ec-orn{font-size:28px;color:var(--gold-dark);letter-spacing:.15em;animation:exam-pulse 1.8s ease-in-out infinite;margin-bottom:24px;text-align:center}
@keyframes exam-pulse{0%,100%{opacity:.3}50%{opacity:1}}
.ec-txt{font-family:var(--font-body);font-size:22px;color:#8A7040;font-style:italic;text-align:center}
.er-complete{font-family:var(--font-heading);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:#5A4020;text-align:center;margin-bottom:12px;opacity:0;transition:opacity .8s}
.er-orn{font-size:16px;color:var(--orn);letter-spacing:.15em;text-align:center;margin-bottom:16px;opacity:0;transition:opacity .8s .5s}
.er-type{font-family:var(--font-heading);font-size:clamp(20px,4vw,34px);font-weight:700;color:var(--gold);letter-spacing:.08em;text-align:center;text-shadow:0 0 40px rgba(180,140,30,.3);margin-bottom:6px;opacity:0;transition:opacity .8s .9s}
.er-sub{font-family:var(--font-heading);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);text-align:center;margin-bottom:28px;opacity:0;transition:opacity .8s 1.1s}
.er-bars{margin-bottom:28px;opacity:0;transition:opacity .6s 1.5s}
.er-bar-row{display:grid;grid-template-columns:110px 1fr 90px;gap:12px;align-items:center;margin-bottom:10px}
.er-bar-lbl{font-family:var(--font-heading);font-size:9px;letter-spacing:.12em;color:#8A7848;text-transform:uppercase}
.er-bar-track{height:3px;background:var(--border)}
.er-bar-fill{height:3px;width:0;transition:width 1s ease 2s}
.er-bar-nums{font-family:var(--font-heading);font-size:10px;color:#7A6838;letter-spacing:.04em;text-align:right}
.er-bar-raw{color:#4A3818;font-size:8px}
.er-ai{border-top:1px solid var(--border);padding-top:24px;margin-top:4px;opacity:0;transition:opacity .6s 2.3s}
.er-ai-head{font-family:var(--font-heading);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:4px}
.er-ai-sub{font-family:var(--font-body);font-size:12px;color:#7A6430;font-style:italic;margin-bottom:18px}

.er-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--border);margin-top:20px;opacity:0;transition:opacity .6s 2.5s}
.er-act-main{flex:1;min-width:180px;background:rgba(120,90,30,.15);border:1px solid var(--gold-dark);color:var(--gold);font-family:var(--font-heading);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:10px 20px;cursor:pointer;transition:all .2s}
.er-act-main:hover{background:rgba(180,140,40,.2)}
.er-act-sec{background:transparent;border:1px solid var(--border);color:#6A5828;font-family:var(--font-heading);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:10px 20px;cursor:pointer;transition:all .2s}
.er-act-sec:hover{border-color:var(--border-mid);color:var(--gold-dim)}
.er-retake-confirm{margin-top:10px;font-family:var(--font-body);font-size:12px;color:#6A5028;font-style:italic}
.er-retake-confirm button{font-family:var(--font-heading);font-size:8px;letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;cursor:pointer;transition:all .2s;margin-right:8px;margin-top:8px}
.er-retake-yes{background:transparent;border:1px solid #7A3A28;color:#8A4A38}
.er-retake-yes:hover{border-color:#C07060;color:#C07060}
.er-retake-no{background:transparent;border:1px solid var(--border);color:#5A4820}
.er-retake-no:hover{border-color:var(--border-mid);color:var(--gold-dim)}
.vis{opacity:1!important}

#aux-bar{display:none;text-align:center;padding:16px 0 20px;flex-shrink:0;border-top:1px solid #2A2210;background:#080604}
.aux-btn-fixed{background:transparent;border:1px solid #6A5228;color:#B8902A;font-family:var(--font-heading);font-size:13px;letter-spacing:.18em;text-transform:uppercase;padding:10px 32px;cursor:pointer}
@keyframes aux-pulse{0%,100%{color:#9A7A38;border-color:#4A3A18}50%{color:#F0D060;border-color:#B09040}}
.aux-panel{display:flex;flex-direction:column;gap:12px}
.aux-panel-head{font-family:var(--font-heading);font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);text-align:center;margin-bottom:4px}
.aux-panel-sub{font-family:var(--font-body);font-size:21px;color:#7A6030;font-style:italic;text-align:center;margin-bottom:10px}
.aux-opt{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:12px 16px;border:1px solid var(--border);background:transparent;text-align:left;cursor:pointer;transition:all .2s;align-items:start;width:100%}
.aux-opt:hover{border-color:var(--border-mid)}
.aux-opt.selected{border-color:var(--gold-dark);background:rgba(120,90,30,.15)}
.aux-opt-n{font-family:var(--font-heading);font-size:16px;color:var(--gold-dark)}
.aux-opt-t{font-family:var(--font-body);font-size:21px;color:#7A6848;font-style:italic;line-height:1.65}
.aux-confirm{display:block;margin:6px auto 0;background:transparent;border:1px solid var(--border-mid);color:#7A6030;font-family:var(--font-heading);font-size:15px;letter-spacing:.18em;text-transform:uppercase;padding:10px 28px;cursor:pointer;transition:all .2s}
.aux-confirm:not(:disabled):hover{border-color:var(--gold-dark);color:var(--gold-dim)}
.aux-confirm:disabled{opacity:.3;cursor:default}
.aux-return{background:none;border:none;color:#4A3818;font-family:var(--font-heading);font-size:13px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;padding:4px 0;text-align:center;display:block;margin:4px auto 0;transition:color .2s}
.aux-return:hover{color:#7A6030}
.aux-clarify-q{font-family:var(--font-body);font-size:28px;color:#C8A858;line-height:1.75;text-align:center;margin-bottom:30px}
.aux-clarify-opts{display:flex;flex-direction:column;gap:12px}
.aux-clarify-opt{padding:14px 20px;border:1px solid var(--border);background:transparent;text-align:center;cursor:pointer;font-family:var(--font-body);font-size:22px;color:#9A8848;font-style:italic;line-height:1.6;transition:all .2s;width:100%}
.aux-clarify-opt:hover{border-color:var(--gold-dark);background:rgba(120,90,30,.1);color:var(--gold-dim)}
.eq-nudge-note{font-family:var(--font-heading);font-size:15px;color:#5A4020;letter-spacing:.1em;text-align:center;margin-top:12px;font-style:italic}

@keyframes ctr-glow{
  0%,100%{color:#7A6030;text-shadow:none;}
  50%{color:#F0D060;text-shadow:0 0 8px rgba(220,180,40,.7),0 0 16px rgba(180,140,20,.4);}
}

.tab-pane.ctr-active::before{
  content:"✦ —— Click any section to read in full —— ✦";
  display:block;
  text-align:center;
  font-family:var(--font-heading);
  font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;
  color:#8A7030;
  padding:10px 0 14px;
  margin-bottom:4px;
  animation:toast-in 15s ease-out forwards;
}
@keyframes toast-in{
  0%{opacity:0;transform:translateY(-6px)}
  6%{opacity:1;transform:translateY(0)}
  75%{opacity:1}
  100%{opacity:0}
}
@media(max-width:640px){
  .tab-pane.ctr-active::before{font-size:9px;letter-spacing:.12em;padding:8px 0 10px;}
}

#mobile-bar{
  display:none;
  position:sticky;top:0;z-index:200;
  background:linear-gradient(to bottom,#0E0A05,#0A0806);
  border-bottom:1px solid #3A3018;
  padding:10px 18px 8px;
  text-align:center;
  box-shadow:0 2px 12px rgba(0,0,0,.7);
}
#mobile-bar-title{
  display:block;
  font-family:var(--font-heading);
  font-size:14px;font-weight:700;
  letter-spacing:.2em;color:var(--gold);
  text-transform:uppercase;
}
#mobile-bar-sub{
  display:block;
  font-family:var(--font-heading);
  font-size:8px;letter-spacing:.22em;
  color:var(--gold-dark);text-transform:uppercase;
  margin-top:3px;
}

.scroll-hint-wrap{
  position:relative;
  display:block;
}

.scroll-hint-wrap::after,
.scroll-hint-arrow{
  display:none;
}
.scroll-hint-wrap::after{
  content:'';
  position:absolute;
  right:0;top:0;bottom:0;
  width:52px;
  background:linear-gradient(to right,transparent,#0A0806 85%);
  pointer-events:none;
  z-index:10;
  transition:opacity .3s;
}
.scroll-hint-wrap.scrolled-end::after{
  opacity:0;
}

.scroll-hint-arrow{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  z-index:11;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  transition:opacity .3s;
}
.scroll-hint-wrap.scrolled-end .scroll-hint-arrow{
  opacity:0;
}
.scroll-hint-arrow-icon{
  font-size:22px;
  color:var(--gold);
  animation:sha-pulse 1.4s ease-in-out infinite;
}
.scroll-hint-arrow-txt{
  font-family:var(--font-heading);
  font-size:9px;
  letter-spacing:.15em;
  color:var(--gold-dark);
  text-transform:uppercase;
  white-space:nowrap;
}
@keyframes sha-pulse{
  0%,100%{opacity:.4;transform:translateX(0);}
  50%{opacity:1;transform:translateX(5px);}
}
@media(max-width:640px){
  .scroll-hint-wrap{display:block;}
  
  .scroll-hint-wrap .filter-row,
  .scroll-hint-wrap .tab-bar{
    padding-right:72px; 
  }
}

@media(max-width:640px){

  
  #mobile-bar{display:none;}

  
  .scroll-hint-wrap::after{display:block;}
  .scroll-hint-arrow{display:flex;}
  #spine,#main::before{display:none;}
  #main{margin-left:0;}
  #footer{margin-left:0;padding:14px 18px;font-size:8px;}

  
  #cover-inner{padding:20px 18px 18px;}
  h1{font-size:clamp(20px,7vw,30px);margin-bottom:4px;}
  .cover-supertitle{font-size:8px;letter-spacing:.25em;}
  .cover-ornament{font-size:22px;margin-bottom:10px;letter-spacing:.2em;}
  .cover-subtitle{font-size:8px;letter-spacing:.18em;}
  .cover-rule{margin:12px 0;}
  .stone-pair{gap:20px;}
  #examen-btn-wrap{margin:14px 0 4px;}
  .search-row{flex-direction:column;gap:8px;margin-top:12px;}
  #search{width:100%;font-size:13px;}
  .count-badge{font-size:9px;align-self:flex-start;}

  
  .filter-row{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:5px;
    padding-bottom:8px;
    margin-top:10px;
  }
  .filter-row::-webkit-scrollbar{display:none;}
  .fb{flex-shrink:0;font-size:11px;padding:7px 14px;min-width:160px;}

  
  #cards{padding:10px 18px 40px;}
  #no-results{font-size:14px;padding:40px 0;}

  
  .card-head{
    display:grid;
    grid-template-columns:auto auto auto 1fr auto auto;
    grid-template-rows:auto auto;
    column-gap:8px;
    row-gap:4px;
    padding:14px 14px 10px;
    align-items:center;
  }
  .cpb-center{font-size:8px;letter-spacing:.35em;}
  .cart-corner{font-size:11px;top:-9px;left:-9px;}
  .card{margin:16px 0;}
  .wax-seal{width:12px;height:12px;grid-column:1;grid-row:1;align-self:center;}
  .card-badge{font-size:20px;grid-column:2;grid-row:1;align-self:center;}
  .card-chapter{font-size:12px;letter-spacing:.12em;min-width:auto;grid-column:3;grid-row:1;align-self:center;}
  .card-name{
    font-size:clamp(20px,5.5vw,26px);
    letter-spacing:.04em;
    color:var(--gold);
    flex:unset;
    min-width:0;
    grid-column:4;
    grid-row:1;
    align-self:center;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .name-full{display:none;}
  .name-abbr{display:inline;}
  .card.open .name-full{display:inline;}
  .card.open .name-abbr{display:none;}
  .expand-icon{font-size:20px;grid-column:6;grid-row:1;align-self:center;}
  .toc-dots{display:none;}
  .card-sub{
    display:block;
    grid-column:1 / 5;
    grid-row:2;
    font-size:11px;
    color:#6A5828;
    padding-left:20px;
    margin-top:0;
    order:unset;
    width:auto;
  }
  .card-meta-right{
    grid-column:5 / 7;
    grid-row:2;
    margin-left:0;
    justify-content:flex-end;
    padding-bottom:0;
  }
  
  .card-meta-right .seal-btn{width:30px;height:30px;font-size:12px;}

  
  .running-head{padding:5px 0;}
  .rh-left,.rh-right{font-size:8px;letter-spacing:.18em;}
  .rh-center{font-size:12px;}

  
  .chapter-number-label{font-size:9px;letter-spacing:.25em;}
  .chapter-ornament-row{font-size:22px;letter-spacing:.22em;}
  .chapter-title{font-size:clamp(18px,6vw,26px);}
  .chapter-element{font-size:9px;letter-spacing:.15em;}
  .chapter-rule-inner{font-size:16px;letter-spacing:.16em;}
  .chapter-open{padding:18px 0 12px;}

  
  .tab-bar{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    border-bottom:1px solid var(--border);
    margin-top:12px;
    gap:0;
  }
  .tab-bar::-webkit-scrollbar{display:none;}
  .tbtn{
    flex-shrink:0;
    font-size:10px;
    letter-spacing:.13em;
    padding:0 13px;
    white-space:nowrap;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    border-bottom-width:3px;
  }
  .tbtn.active{border-bottom-color:var(--gold)}

  
  .nature-grid{grid-template-columns:1fr;}
  .col-gutter{display:none;}
  .col-inner{padding-top:10px;}
  .drop-cap{font-size:46px;}
  .body-text{font-size:13px;line-height:1.8;}
  .virt-text,.vice-text{font-size:13px;}
  
  
  .sl{font-size:10px;letter-spacing:.18em;}
  .signa-grid{grid-template-columns:1fr;}
  .signa-item{font-size:12px;}
  .signa-pills{gap:6px;}
  .signa-pill{font-size:10px;padding:3px 10px;}
  .shadow-box{font-size:12px;padding:8px 12px;}
  .shadow-label{font-size:7px;}

  
  .doctrina-table td{font-size:12px;padding:6px 0;}
  .doctrina-table td:first-child{font-size:8px;width:42%;}
  .b5-bar-row{grid-template-columns:110px 1fr 38px;gap:8px;margin-bottom:8px;}
  .b5-label{font-size:8px;}
  .b5-pct{font-size:9px;}

  
  .extremes-table td{font-size:12px;padding:7px 4px;}
  .extremes-domain{font-size:7px;letter-spacing:.1em;padding:7px 2px;}
  
  

  
  .pro-item{grid-template-columns:1fr;gap:4px;}
  .pro-role,.anti-role{font-size:14px;}
  .pro-note{font-size:11px;}

  
  .precept-title{font-size:12px;}
  .precept-note{font-size:11px;}
  .precept-icon{font-size:13px;}

  
  .exempla-grid{grid-template-columns:1fr;}
  .lifecourse-text{font-size:13px;}
  .lifecourse-drop{font-size:40px;}
  .ex-col-head{font-size:9px;}
  .en{font-size:13px;}
  .ent{font-size:12px;}

  
  .pf-num{font-size:9px;}
  .pf-orn{font-size:10px;}

  
  #nb-overlay{
    align-items:flex-end;
    padding:0;
  }
  #nb-modal{
    max-width:100%;
    width:100%;
    max-height:85vh;
    border-radius:16px 16px 0 0;
    border-top:2px solid #8A6A30;
    border-left:none;
    border-right:none;
    border-bottom:none;
    padding:24px 20px 36px;
    transform:translateY(100%);
    transition:transform .32s cubic-bezier(.22,1,.36,1);
  }
  #nb-overlay.active #nb-modal{
    transform:translateY(0);
  }
  #nb-modal-text{font-size:15px;line-height:1.85;}
  #nb-modal-title{font-size:20px;}
  #nb-modal-label{font-size:9px;}
  #nb-modal-rule{font-size:11px;}

  
  #nb-modal::before{
    content:'';
    display:block;
    width:36px;height:4px;
    background:#3A3018;
    border-radius:2px;
    margin:0 auto 20px;
  }

  
  #examen-overlay{background:#100D09;}
  #examen-stage{padding:0 20px 90px;}
  .exam-hl{display:none;}
  .exam-hc{font-size:11px;letter-spacing:.12em;color:#9A7A38;}
  .exam-close{font-size:22px;color:#9A7A38;}
  .exam-progress{height:2px;}

  
  .ei-orn{font-size:20px;}
  .ei-title{font-size:clamp(28px,8vw,42px)!important;}
  .ei-sub{font-size:10px!important;letter-spacing:.18em;}
  .ei-preamble{font-size:17px!important;padding:16px 18px;color:#B09050;}
  .ei-map{grid-template-columns:1fr 1fr;gap:8px;}
  .ei-map-num{font-size:8px;}
  .ei-map-lat{font-size:12px;color:#A08848;}
  .ei-map-ct{font-size:8px;}
  .ei-begin{font-size:12px!important;padding:12px 32px;}
  .ei-saved-type{font-size:17px!important;}
  .ei-saved-date{font-size:9px!important;}
  .ei-btn-view,.ei-btn-new,.ei-btn-sm{font-size:10px!important;padding:6px 14px;}
  .ei-confirm-txt{font-size:14px!important;}

  
  .es-caput{font-size:10px;}
  .es-orn{font-size:16px;}
  .es-title-lat{font-size:clamp(20px,6vw,28px);}
  
  .es-epigraph{font-size:16px;color:#B09050;}
  .es-attr{font-size:8px;}
  .es-proceed{font-size:10px;padding:8px 24px;}

  
  .eq-num{font-size:11px;color:#9A7838;}
  .eq-sec{font-size:9px;color:#8A6830;}
  .eq-text{font-size:19px!important;margin-bottom:24px;color:#E0C070!important;line-height:1.7;}
  .eq-opts{gap:8px;}
  .eq-opt{padding:13px 14px;gap:10px;border-color:#2A2010;}
  .eq-opt-n{font-size:11px;}
  .eq-opt-t{font-size:16px!important;color:#C8A858!important;line-height:1.65;}
  .eq-back{font-size:9px;color:#8A6830;}
  .eq-nudge-note{font-size:12px;}

  
  .aux-panel-head{font-size:13px;}
  .aux-panel-sub{font-size:17px;}
  .aux-opt-n{font-size:15px;}
  .aux-opt-t{font-size:16px;}
  .aux-confirm{font-size:13px;padding:9px 22px;}
  .aux-clarify-q{font-size:20px;}
  .aux-clarify-opt{font-size:17px;padding:12px 16px;}

  
  .er-complete{font-size:10px;color:#8A7030;}
  .er-orn{font-size:16px;}
  .er-type{font-size:clamp(22px,7vw,32px)!important;}
  .er-sub{font-size:9px!important;}
  .er-bar-row{grid-template-columns:80px 1fr 50px;gap:8px;}
  .er-bar-lbl{font-size:9px;color:#A08840;}
  .er-bar-nums{font-size:10px;}
  .er-ai-head{font-size:10px;}
  .er-ai-sub{font-size:13px;}
  
  .er-act-main{font-size:10px;padding:10px 16px;}
  .er-act-sec{font-size:10px;padding:10px 16px;}
  .er-actions{flex-direction:column;gap:8px;}
  .er-retake-confirm{font-size:12px;}

  
  #aux-bar{padding:12px 0 16px;}
  .aux-btn-fixed{font-size:11px;padding:9px 22px;}

  
  .ec-orn{font-size:20px;}
  .ec-txt{font-size:17px;color:#A08840;}

  

  
  .card-meta-right{
    display:flex;
    align-items:center;
    gap:8px;
    margin-left:auto;
    flex-shrink:0;
    padding-bottom:6px;
  }
  .card-meta-right .seal-btn{
    width:30px;height:30px;font-size:12px;
  }
  

  
  .armour-diagram{gap:2px;}
  .armour-row{grid-template-columns:70px 1fr;gap:8px;padding:6px 0;}
  .armour-seg{font-size:10px;letter-spacing:.08em;}
  .armour-note{font-size:12px;}
  .corpus-block{padding:8px 10px;}
  .corpus-block-text{font-size:12px;line-height:1.7;}
  .corpus-release{padding:6px 10px;}
  .corpus-release-title{font-size:10px;}
  .corpus-release-text{font-size:11px;}

  
  .seasonal-grid{grid-template-columns:1fr;}
  .seasonal-card{padding:10px 12px;}
  .seasonal-head{font-size:10px;}
  .seasonal-val{font-size:11px;}

  
  .cmp-stack-col{gap:3px;}
  .cmp-fn{font-size:10px;padding:4px 8px;}
  .cmp-fn-bot{font-size:11px;}
  .cmp-fn-pos{font-size:9px;}

  
  
  

  

  

  
  #compare-overlay,#relations-overlay{
    padding:0;
    align-items:flex-end;
  }
  #compare-panel,#relations-panel{
    max-width:100%;
    width:100%;
    max-height:90vh;
    border-radius:16px 16px 0 0;
    border-left:none;border-right:none;border-bottom:none;
    border-top:2px solid #8A6A30;
    padding:24px 18px 40px;
  }
  #compare-panel::before,#relations-panel::before{
    content:'';display:block;
    width:36px;height:4px;
    background:#3A3018;border-radius:2px;
    margin:0 auto 16px;
  }
  .cmp-header{grid-template-columns:1fr 30px 1fr;gap:6px;}
  .cmp-col-head{font-size:13px;}
  .cmp-b5-row{grid-template-columns:100px 1fr 60px;gap:6px;}
  .cmp-rel-row{grid-template-columns:60px 1fr;gap:6px;}
  .cmp-rel-txt{font-size:12px;}

  #mappa-overlay{padding:16px;}
  #mappa-panel{padding:16px 16px 12px;}
  #mappa-canvas{height:300px;}

  
  .corpus-section{padding-bottom:12px;}

  
  .body-text{overflow-wrap:break-word;word-break:break-word;}
  .virt-text,.vice-text{overflow-wrap:break-word;}
}

#compare-overlay{display:none;position:fixed;inset:0;z-index:15000;background:rgba(4,3,2,.7);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:24px}
#compare-overlay.active{display:flex}
#compare-panel{background:linear-gradient(160deg,#12100B,#0E0C08);border:1px solid #5A4A20;border-top:2px solid #8A6A30;max-width:800px;width:100%;max-height:88vh;overflow-y:auto;padding:32px 36px 40px;box-shadow:0 0 60px rgba(0,0,0,.9);position:relative}
#compare-close{position:absolute;top:14px;right:18px;background:none;border:none;color:#5A4A20;font-size:20px;cursor:pointer;font-family:var(--font-heading)}
#compare-close:hover{color:var(--gold)}
.cmp-header{display:grid;grid-template-columns:1fr 40px 1fr;gap:10px;align-items:center;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.cmp-col-head{font-family:var(--font-heading);font-size:16px;font-weight:700;letter-spacing:.05em}
.cmp-vs{font-family:var(--font-heading);font-size:10px;color:#4A3818;text-align:center}
#cmp-select{background:#0A0806;border:1px solid var(--border-mid);color:#8A7040;font-family:var(--font-heading);font-size:13px;padding:4px 8px;outline:none;cursor:pointer;width:100%}
.cmp-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.cmp-section-head{font-family:var(--font-heading);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:12px}
.cmp-b5-row{display:grid;grid-template-columns:140px 1fr 80px;gap:8px;align-items:center;margin-bottom:8px}
.cmp-b5-lbl{font-family:var(--font-heading);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#8A7848}
.cmp-b5-bars{display:flex;flex-direction:column;gap:3px}
.cmp-b5-track{height:3px;background:var(--border)}
.cmp-b5-fill{height:3px}
.cmp-b5-vals{font-family:var(--font-heading);font-size:9px;text-align:right}
.cmp-rel-block{display:flex;flex-direction:column;gap:8px}
.cmp-rel-row{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid #161208}
.cmp-rel-lbl{font-family:var(--font-heading);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#6A5828;padding-top:2px}
.cmp-rel-txt{font-family:var(--font-body);font-size:13px;line-height:1.7;font-style:italic}

#relations-overlay{display:none;position:fixed;inset:0;z-index:15000;background:rgba(4,3,2,.7);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:24px}
#relations-overlay.active{display:flex}
#relations-panel{background:linear-gradient(160deg,#12100B,#0E0C08);border:1px solid #5A4A20;border-top:2px solid #8A6A30;max-width:720px;width:100%;max-height:88vh;overflow-y:auto;padding:32px 36px 40px;box-shadow:0 0 60px rgba(0,0,0,.9);position:relative}
#relations-close{position:absolute;top:14px;right:18px;background:none;border:none;color:#5A4A20;font-size:20px;cursor:pointer;font-family:var(--font-heading)}
#relations-close:hover{color:var(--gold)}
.rel-header{margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.rel-title{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--gold);letter-spacing:.06em;margin-bottom:4px}
.rel-group{margin-bottom:20px}
.rel-group-head{font-family:var(--font-heading);font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.rel-item{padding:10px 0;border-bottom:1px solid #161208;cursor:pointer}
.rel-item:hover{background:rgba(80,60,20,.1)}
.rel-item-name{font-family:var(--font-heading);font-size:13px;color:var(--gold-dim);margin-bottom:3px}
.rel-item-dynamic{font-family:var(--font-body);font-size:13px;color:#9A8848;font-style:italic;line-height:1.65;margin-bottom:3px}
.rel-item-gift{font-family:var(--font-heading);font-size:9px;letter-spacing:.1em;margin-top:2px}

#mappa-overlay{display:none;position:fixed;inset:0;z-index:15000;background:rgba(4,3,2,.85);backdrop-filter:blur(4px);flex-direction:column;align-items:center;justify-content:center;padding:40px}
#mappa-overlay.active{display:flex}
#mappa-panel{background:linear-gradient(160deg,#0E0C08,#0A0806);border:1px solid #5A4A20;border-top:2px solid #8A6A30;max-width:780px;width:100%;padding:28px 28px 24px;position:relative;box-shadow:0 0 60px rgba(0,0,0,.9)}
#mappa-close{position:absolute;top:14px;right:18px;background:none;border:none;color:#5A4A20;font-size:20px;cursor:pointer;font-family:var(--font-heading)}
#mappa-close:hover{color:var(--gold)}
.mappa-head{font-family:var(--font-heading);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dark);text-align:center;margin-bottom:6px}
.mappa-sub{font-family:var(--font-body);font-size:11px;color:#5A4820;font-style:italic;text-align:center;margin-bottom:16px}
#mappa-canvas{width:100%;height:440px;background:#060504;border:1px solid #1A1608}
.mappa-node{cursor:pointer}
.mappa-node:hover circle{r:18;fill-opacity:1}

.corpus-section{padding-bottom:18px}
.armour-diagram{display:grid;grid-template-columns:1fr;gap:4px;margin:12px 0 16px}
.armour-row{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:start;padding:8px 0;border-bottom:1px solid #161208;cursor:pointer}
.armour-row:hover{background:rgba(80,60,20,.1)}
.armour-seg{font-family:var(--font-heading);font-size:11px;letter-spacing:.15em;text-transform:uppercase;padding-top:2px}.armour-seg.free{color:#4ACC50}
.armour-note{font-family:var(--font-body);font-size:13px;color:#D8D0BC;font-style:italic;line-height:1.65}
.corpus-block{margin-top:14px;padding:10px 14px;border-left:2px solid #3A3018;transition:border-color .2s,background .2s}.corpus-block[onclick]:hover{border-color:var(--gold-dark);background:rgba(80,60,20,.08)}
.corpus-block-text{font-family:var(--font-body);font-size:14px;color:#D8D0BC;line-height:1.82;font-style:italic}
.corpus-release{margin-top:6px;padding:8px 12px;background:rgba(60,45,15,.15);border-left:2px solid #5A4020;cursor:pointer}
.corpus-release:hover{background:rgba(80,60,20,.22)}
.corpus-release-title{font-family:var(--font-heading);font-size:11px;color:var(--gold-dim);margin-bottom:4px}
.corpus-release-text{font-family:var(--font-body);font-size:12px;color:#D8D0BC;font-style:italic;line-height:1.7}

.seasonal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.seasonal-card{border:1px solid var(--border);padding:12px 14px;transition:border-color .2s,background .2s}.seasonal-card:hover{border-color:var(--gold-dark);background:rgba(80,60,20,.08)}
.seasonal-head{font-family:var(--font-heading);font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.seasonal-row{margin-bottom:6px}
.seasonal-lbl{font-family:var(--font-heading);font-size:7px;letter-spacing:.15em;text-transform:uppercase;color:#5A4020;display:block;margin-bottom:2px}
.seasonal-val{font-family:var(--font-body);font-size:12px;color:#D8D0BC;font-style:italic;line-height:1.65}
.seasonal-note-only{color:#9A8848}
.seasonal-avoid{color:#8A4A38}

.seal-btn{
  width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:16px;position:relative;flex-shrink:0;
  transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease,filter .28s ease;
  vertical-align:middle;
  margin:0 4px;
}
.seal-btn::after{
  content:'';position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);
  width:11px;height:9px;border-radius:0 0 50% 50%;
  box-shadow:0 2px 4px rgba(0,0,0,.7);
  transition:transform .28s cubic-bezier(.34,1.56,.64,1);
}
.seal-btn::before{
  content:'';position:absolute;inset:5px;border-radius:50%;
  border:1px solid rgba(255,220,130,.12);pointer-events:none;
}
.seal-compare{
  background:radial-gradient(circle at 36% 30%,#C84040 0%,#8A1C1C 38%,#5A1010 62%,#3C0A0A 100%);
  box-shadow:
    0 0 0 1.5px #C4924A,
    0 0 0 3px #2C1608,
    0 0 0 4.5px #9A7030,
    0 6px 16px rgba(0,0,0,.95),
    0 2px 6px rgba(0,0,0,.8),
    inset 0 1px 5px rgba(255,200,100,.22),
    inset 0 -2px 5px rgba(0,0,0,.6);
  color:#F2CC78;
  text-shadow:0 0 6px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.9),0 -1px 2px rgba(255,230,140,.18);
}
.seal-compare::after{
  background:radial-gradient(ellipse at 40% 30%,#9A2020 0%,#4A0C0C 100%);
  box-shadow:0 3px 5px rgba(0,0,0,.8),0 0 0 1px #9A7030;
}
.seal-compare:hover{
  transform:scale(1.2);
  box-shadow:
    0 0 0 1.5px #E0B060,
    0 0 0 3px #2C1608,
    0 0 0 4.5px #D4A040,
    0 8px 22px rgba(0,0,0,.95),
    0 0 22px rgba(180,50,30,.55),
    0 0 40px rgba(180,50,30,.2),
    inset 0 1px 5px rgba(255,200,100,.35);
  filter:brightness(1.18);
}
.seal-compare:hover::after{transform:translateX(-50%) scaleY(1.3);}
.seal-relat{
  background:radial-gradient(circle at 36% 30%,#205E3C 0%,#0E3C24 38%,#082014 62%,#041410 100%);
  box-shadow:
    0 0 0 1.5px #C4924A,
    0 0 0 3px #081A0E,
    0 0 0 4.5px #9A7030,
    0 6px 16px rgba(0,0,0,.95),
    0 2px 6px rgba(0,0,0,.8),
    inset 0 1px 5px rgba(255,200,100,.22),
    inset 0 -2px 5px rgba(0,0,0,.6);
  color:#F2CC78;
  text-shadow:0 0 6px rgba(0,0,0,.9),0 1px 3px rgba(0,0,0,.9),0 -1px 2px rgba(255,230,140,.18);
}
.seal-relat::after{
  background:radial-gradient(ellipse at 40% 30%,#0E4020 0%,#041410 100%);
  box-shadow:0 3px 5px rgba(0,0,0,.8),0 0 0 1px #9A7030;
}
.seal-relat:hover{
  transform:scale(1.2);
  box-shadow:
    0 0 0 1.5px #E0B060,
    0 0 0 3px #081A0E,
    0 0 0 4.5px #D4A040,
    0 8px 22px rgba(0,0,0,.95),
    0 0 22px rgba(20,110,60,.55),
    0 0 40px rgba(20,110,60,.2),
    inset 0 1px 5px rgba(255,200,100,.35);
  filter:brightness(1.18);
}
.seal-relat:hover::after{transform:translateX(-50%) scaleY(1.3);}

.cmp-stack-col{display:flex;flex-direction:column;gap:4px}
.cmp-fn{font-family:var(--font-heading);font-size:14px;letter-spacing:.08em;color:var(--gold);padding:7px 12px;border:1px solid var(--border-mid);display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.cmp-fn-bot{color:#9A8040;border-color:#2A2210;font-size:12px}
.cmp-fn-pos{font-size:10px;color:#7A6838;letter-spacing:.1em;text-transform:uppercase}
.cmp-fn:hover{border-color:var(--gold-dark);background:rgba(60,45,15,.2)}

.ext-block{padding:12px 16px;border-left:2px solid #3A3018;margin-top:10px;cursor:pointer;transition:border-color .2s,background .2s}
.ext-block:hover{border-color:var(--gold-dark);background:rgba(80,60,20,.08)}
.ext-block-text{font-family:var(--font-body);font-size:14px;color:#D8D0BC;line-height:1.82;font-style:italic}

.ext-label{font-family:var(--font-heading);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#5A4820;display:block;margin-bottom:4px}
.relatio-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
.relatio-block{padding:14px 16px;border:1px solid var(--border);cursor:pointer;transition:border-color .2s,background .2s}
.relatio-block:hover{border-color:var(--gold-dark);background:rgba(80,60,20,.08)}
.relatio-head{font-family:var(--font-heading);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}

.relatio-text{font-family:var(--font-body);font-size:13px;color:#D8D0BC;font-style:italic;line-height:1.72}
@media(max-width:640px){
  .relatio-grid{grid-template-columns:1fr;}
  .ext-block-text{font-size:12px;}
  .relatio-text{font-size:12px;}
}

.psychology-section,.mystery-section{padding-bottom:20px}
.tier-block{margin-top:14px;padding:12px 16px;border-left:2px solid #3A3018;cursor:pointer;transition:border-color .2s,background .2s}
.tier-block:hover{border-color:var(--gold-dark);background:rgba(80,60,20,.08)}
.tier-block-head{font-family:var(--font-heading);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);display:block;margin-bottom:6px}
.phase-declaration{font-family:var(--font-heading);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-align:center;padding:10px 12px;margin:10px 0 14px;border-top:1px dotted rgba(180,150,90,.4);border-bottom:1px dotted rgba(180,150,90,.4);background:linear-gradient(90deg,transparent,rgba(180,150,90,.06),transparent)}
html.theme-light .phase-declaration{color:#7A5A20;border-color:rgba(140,110,60,.5)}
.tier-block-text{font-family:var(--font-body);font-size:14px;color:#D8D0BC;line-height:1.82;font-style:italic}
.tier-block-sub{font-family:var(--font-body);font-size:13px;color:#D8D0BC;line-height:1.78;margin-top:6px;display:block;font-style:italic}
.tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.tier-card{border:1px solid var(--border);padding:10px 12px;cursor:pointer;transition:border-color .2s,background .2s}
.tier-card:hover{border-color:var(--gold-dark);background:rgba(80,60,20,.08)}
.tier-card-head{font-family:var(--font-heading);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:6px;display:block}
.tier-card-text{font-family:var(--font-body);font-size:13px;color:#D8D0BC;font-style:italic;line-height:1.65}
.planetary-row{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid #161208;cursor:pointer;transition:background .15s}.planetary-row:hover{background:rgba(80,60,20,.12)}.planetary-row:hover .planetary-val{color:var(--gold)}
.planetary-lbl{font-family:var(--font-heading);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#6A5828}
.planetary-val{font-family:var(--font-body);font-size:13px;color:#9A8848;font-style:italic}
.animal-primary{font-family:var(--font-heading);font-size:14px;color:var(--gold-dim);margin-bottom:6px}
.animal-marker{font-family:var(--font-heading);font-size:11px;color:#5A4020;letter-spacing:.12em;text-transform:uppercase;display:block;margin-top:8px;margin-bottom:2px}
@media(max-width:640px){
  .tier-grid{grid-template-columns:1fr}
  .planetary-row{grid-template-columns:80px 1fr}
  .tier-block-text,.tier-card-text{font-size:12px}
}

.tab-thesis{
  font-family:var(--font-heading);
  font-size:14px;color:#C0A050;line-height:1.95;
  font-style:normal;text-align:center;
  padding:22px 28px 20px;margin:16px 0 20px;
  background:rgba(60,45,15,.08);
  border-top:1px solid #3A2A14;border-bottom:1px solid #3A2A14;
  position:relative;
  letter-spacing:.02em;
}
.tab-thesis::before,.tab-thesis::after{
  content:'\2726 \2014\2014 \2726';
  display:block;font-size:12px;letter-spacing:.2em;
  color:#5A4020;
}
.tab-thesis::before{margin-bottom:14px}
.tab-thesis::after{margin-top:14px}
.tab-thesis-label{
  display:block;font-family:var(--font-heading);
  font-size:10px;letter-spacing:.35em;text-transform:uppercase;
  color:var(--gold-dark);margin-bottom:12px;font-style:normal;
}

.tab-thesis.ward-active{animation:ward-glow 7s ease-out forwards}
.tab-thesis.ward-active::before,.tab-thesis.ward-active::after{animation:orn-pulse 7s ease-out forwards}
.tab-thesis.ward-active .tab-thesis-label{animation:label-ward 7s ease-out forwards}

@keyframes ward-glow{
  0%{box-shadow:0 0 0 rgba(200,160,40,0);border-color:#3A2A14;background:rgba(60,45,15,.08)}
  8%{box-shadow:0 0 40px rgba(200,160,40,.3),0 0 80px rgba(180,140,20,.1),inset 0 0 30px rgba(200,160,40,.1);border-color:#B08830;background:rgba(80,60,20,.15)}
  20%{box-shadow:0 0 5px rgba(200,160,40,.05);border-color:#4A3518;background:rgba(60,45,15,.08)}
  32%{box-shadow:0 0 30px rgba(200,160,40,.2),0 0 60px rgba(180,140,20,.07),inset 0 0 20px rgba(200,160,40,.07);border-color:#9A7828;background:rgba(70,52,18,.12)}
  48%{box-shadow:0 0 3px rgba(200,160,40,.03);border-color:#3A2A14;background:rgba(60,45,15,.08)}
  62%{box-shadow:0 0 18px rgba(200,160,40,.1),inset 0 0 10px rgba(200,160,40,.04);border-color:#7A6020;background:rgba(65,48,16,.1)}
  80%{box-shadow:0 0 2px rgba(200,160,40,.02);border-color:#3A2A14;background:rgba(60,45,15,.08)}
  100%{box-shadow:none;border-color:#3A2A14;background:rgba(60,45,15,.08)}
}

@keyframes orn-pulse{
  0%{color:#5A4020;text-shadow:none}
  8%{color:#F0D050;text-shadow:0 0 14px rgba(230,190,50,.7),0 0 30px rgba(200,160,30,.4),0 0 50px rgba(180,140,20,.15)}
  20%{color:#5A4020;text-shadow:none}
  32%{color:#D4B040;text-shadow:0 0 10px rgba(220,180,40,.5),0 0 22px rgba(180,140,20,.25)}
  48%{color:#5A4020;text-shadow:none}
  62%{color:#A08030;text-shadow:0 0 6px rgba(200,160,40,.3),0 0 14px rgba(180,140,20,.12)}
  80%{color:#5A4020;text-shadow:none}
  100%{color:#5A4020;text-shadow:none}
}

@keyframes label-ward{
  0%{color:var(--gold-dark);text-shadow:none}
  8%{color:#F0DA70;text-shadow:0 0 10px rgba(230,200,60,.6),0 0 20px rgba(200,160,30,.3);letter-spacing:.5em}
  20%{color:var(--gold-dark);text-shadow:none;letter-spacing:.35em}
  32%{color:#D4C060;text-shadow:0 0 7px rgba(220,180,40,.4);letter-spacing:.42em}
  48%{color:var(--gold-dark);text-shadow:none;letter-spacing:.35em}
  62%{color:#B0A048;text-shadow:0 0 4px rgba(200,160,40,.2);letter-spacing:.38em}
  80%{color:var(--gold-dark);text-shadow:none;letter-spacing:.35em}
  100%{color:var(--gold-dark);text-shadow:none;letter-spacing:.35em}
}
@media(max-width:640px){
  .tab-thesis{font-size:12px;line-height:1.85;padding:16px 18px 14px;margin:12px 0 14px;}
  .tab-thesis::before,.tab-thesis::after{font-size:10px}
  .tab-thesis-label{font-size:9px;letter-spacing:.25em;margin-bottom:8px;}
}

.theme-toggle-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gold-deep);padding:3px 12px 3px 8px;cursor:pointer;user-select:none;background:transparent;transition:transform .12s ease;font-family:var(--font-heading);font-size:9px;letter-spacing:.12em;color:var(--gold-dark);white-space:nowrap}
.theme-toggle-btn:hover{transform:scale(1.04)}
.tgl-track{width:28px;height:16px;border:1px solid var(--gold-deep);border-radius:8px;background:rgba(255,255,255,.05);position:relative;flex-shrink:0}
.tgl-knob{width:12px;height:12px;border-radius:50%;background:var(--gold-dark);position:absolute;top:1px;left:1px;transition:left .18s,background .18s}
html.theme-light .theme-toggle-btn{border-color:#AAAAAA;color:#555555}
html.theme-light .tgl-track{border-color:#AAAAAA;background:#E0DED8}
html.theme-light .tgl-knob{background:#222222;left:13px}
#start-mode-toggle[data-mode="deck"] #sm-tgl-knob{left:13px;background:var(--gold-dark);}
html.theme-light #start-mode-toggle[data-mode="deck"] #sm-tgl-knob{background:#222222;}

html.theme-light{--gold:#1A1A1A;--gold-dim:#333333;--gold-dark:#555555;--gold-deep:#999999;--ink:#FAF8F5;--border:#CCCCCC;--border-mid:#BBBBBB;--orn:#2A2A2A;--font-heading:'Arial Black',Arial,sans-serif;--font-body:Arial,sans-serif}
html.theme-light,html.theme-light body{background:#FAF8F5;color:#333333}
html.theme-light body::after{display:none}
html.theme-light ::-webkit-scrollbar-track{background:#F0EDE6}
html.theme-light ::-webkit-scrollbar-thumb{background:#BBBBBB}
html.theme-light #spine{background:#E8E4DC;border-right-color:#CCCCCC;box-shadow:none}
html.theme-light #spine::before{background:linear-gradient(to bottom,transparent,rgba(0,0,0,.08) 15%,rgba(0,0,0,.08) 85%,transparent)}
html.theme-light #spine::after{background:linear-gradient(to bottom,transparent,rgba(0,0,0,.1) 15%,rgba(0,0,0,.1) 85%,transparent)}
html.theme-light .spine-text{color:#888888;text-shadow:none}
html.theme-light #main::before{background:linear-gradient(to right,rgba(250,248,245,.8),transparent)}
html.theme-light #cover{background:#FAF8F5}
html.theme-light #cover::after{background:linear-gradient(to right,transparent,#CCCCCC 30%,#CCCCCC 70%,transparent)}
html.theme-light .cover-supertitle{color:#999999}
html.theme-light .cover-ornament{color:#555555;text-shadow:none}
html.theme-light h1{color:#1A1A1A;text-shadow:none}
html.theme-light .cover-subtitle{color:#999999}
html.theme-light .cover-rule::before,.cover-rule::after{background:none}
html.theme-light .cover-rule-text{color:#555555}
html.theme-light .stone-ex,.theme-light .stone-map{background:#ECEAE4;border-color:#CCCCCC;box-shadow:none}
html.theme-light .stone-ex:hover,.theme-light .stone-map:hover{box-shadow:none;transform:translateY(-4px)}
html.theme-light .stone-ex .stone-action-glyph{color:#333333;filter:none}
html.theme-light .stone-map .stone-action-glyph{color:#333333;filter:none}
html.theme-light .stone-ex .stone-action-rule,.theme-light .stone-map .stone-action-rule{background:#CCCCCC}
html.theme-light .stone-ex .stone-action-sub,.theme-light .stone-map .stone-action-sub{color:#999999}
html.theme-light .stone-ex .stone-action-title,.theme-light .stone-map .stone-action-title{color:#333333;text-shadow:none}
html.theme-light #examen-btn-note{color:#AAAAAA}
html.theme-light #search{background:#FAF8F5;border-color:#BBBBBB;border-bottom-color:#999999;color:#333333}
html.theme-light #search::placeholder{color:#BBBBBB}
html.theme-light #search:focus{border-color:#555555}
html.theme-light .count-badge{background:#FAF8F5;border-color:#CCCCCC;color:#555555}
html.theme-light .fb{background:#E0DED8;border-color:#AAAAAA;color:#000000}
html.theme-light .fb:hover{color:#000000;border-color:#888888;background:#D4D2CC;transform:scale(1.04) translateY(0)}
html.theme-light .fb.active{color:#000000;background:#D0CEC8;border-color:#666666}
html.theme-light .fb[data-filter="choleric"]{background:#E87878;border-color:#A03030}
html.theme-light .fb[data-filter="melancholic"]{background:#9AB4CC;border-color:#5070A0}
html.theme-light .fb[data-filter="sanguine"]{background:#CCBA7A;border-color:#908040}
html.theme-light .fb[data-filter="phlegmatic"]{background:#90BC90;border-color:#409040}
html.theme-light #no-results{color:#AAAAAA}
html.theme-light .card{background:#FAF8F5;border-color:#555555;box-shadow:none}
html.theme-light .card::before{border-color:#AAAAAA}
html.theme-light .card.open{box-shadow:none}
html.theme-light .card-plate-band{border-bottom-color:#AAAAAA}
html.theme-light .card-plate-band::before{background:#555555;opacity:.07}
html.theme-light .card-plate-band::after{background:linear-gradient(90deg,transparent,#AAAAAA 30%,#AAAAAA 70%,transparent);opacity:.5}
html.theme-light .cpb-rule{background:linear-gradient(90deg,transparent,#AAAAAA)}
html.theme-light .cpb-center{color:#333333;text-shadow:none}
html.theme-light .cpb-orn{color:#555555;text-shadow:none}
html.theme-light .cart-corner{color:#555555;text-shadow:none;background:#FAF8F5}
html.theme-light .cart-mid{color:#555555;text-shadow:none;background:#FAF8F5}
html.theme-light .card-chapter{color:#999999}
html.theme-light .card-name{color:#1A1A1A}
html.theme-light .card-head:hover .card-name{color:#000000}

html.theme-light .expand-icon{color:#555555}

html.theme-light .running-head{border-top-color:#BBBBBB;border-bottom-color:#BBBBBB}
html.theme-light .rh-left,.html.theme-light .rh-right{color:#555555}
html.theme-light .rh-center{color:#333333;text-shadow:none}
html.theme-light .chapter-number-label{color:#999999}
html.theme-light .chapter-ornament-row{color:#555555;text-shadow:none}
html.theme-light .chapter-title{color:#1A1A1A;text-shadow:none}
html.theme-light .chapter-element{color:#555555}
html.theme-light .chapter-rule-inner{color:#555555;text-shadow:none}

html.theme-light .tab-bar{border-bottom-color:#CCCCCC}
html.theme-light .tbtn{color:#999999}
html.theme-light .tbtn:hover{color:#333333}
html.theme-light .tbtn.active{color:#1A1A1A;border-bottom-color:#555555}
html.theme-light .nature-full{border-bottom-color:#DDDDDD}
html.theme-light .col-gutter::before{background:linear-gradient(to bottom,transparent,#CCCCCC 20%,#CCCCCC 80%,transparent)}
html.theme-light .col-gutter::after{color:#AAAAAA;background:#FAF8F5}
html.theme-light .sl{color:#555555}
html.theme-light .drop-cap{color:#1A1A1A}
html.theme-light .body-text{color:#333333}
html.theme-light .virt-text{color:#3A3A3A}
html.theme-light .vice-text{color:#3A3A3A}
html.theme-light .pro-item{border-bottom-color:#EEEEEE}
html.theme-light .pro-item:hover{background:rgba(0,0,0,.03)}
html.theme-light .pro-role{color:#333333}
html.theme-light .anti-role{color:#666666}
html.theme-light .pro-note{color:#888888}
html.theme-light .armour-note{color:#3A3020}html.theme-light .corpus-block-text{color:#3A3020}html.theme-light .seasonal-val{color:#3A3020}html.theme-light .seasonal-note-only{color:#3A3020}html.theme-light .corpus-release-text{color:#3A3020}html.theme-light .relatio-text{color:#3A3020}html.theme-light .ext-block-text{color:#3A3020}
html.theme-light .tier-block-text{color:#3A3020}html.theme-light .tier-card-text{color:#3A3020}
html.theme-light .signa-item{color:#444444;border-bottom-color:#EEEEEE}
html.theme-light .signa-item::before{color:#D4A800;text-shadow:0 0 5px rgba(210,168,0,.6),0 0 10px rgba(210,168,0,.3)}
html.theme-light .signa-pill{color:#555555;border-color:#CCCCCC}
html.theme-light .shadow-box{background:rgba(0,0,0,.03);border-left-color:#AAAAAA;color:#666666}
html.theme-light .shadow-box:hover{background:rgba(0,0,0,.06)}
html.theme-light .shadow-label{color:#888888}
html.theme-light .doctrina-table td{border-bottom-color:#EEEEEE}
html.theme-light .doctrina-table td:first-child{color:#555555}
html.theme-light .doctrina-table td:last-child{color:#444444}
html.theme-light .doctrina-table tr:hover{background:rgba(0,0,0,.03)}
html.theme-light .b5-track{background:#CCCCCC}
html.theme-light .b5-label{color:#888888}
html.theme-light .b5-pct{color:#777777}
html.theme-light .extremes-table td{border-bottom-color:#EEEEEE}
html.theme-light .extremes-table tr:hover{background:rgba(0,0,0,.03)}
html.theme-light .extremes-low{color:#3A2020}
html.theme-light .extremes-domain{color:#333333}
html.theme-light .extremes-high{color:#203A20}
html.theme-light 
html.theme-light 
html.theme-light 
html.theme-light .precept-item{border-bottom-color:#EEEEEE}
html.theme-light .precept-item:hover{background:rgba(0,0,0,.03)}
html.theme-light .precept-icon.do{color:#555555}
html.theme-light .precept-icon.dont{color:#888888}
html.theme-light .precept-title{color:#333333}
html.theme-light .precept-title.dont{color:#777777}
html.theme-light .precept-note{color:#888888}
html.theme-light .precept-divider{color:#AAAAAA}
html.theme-light .lifecourse-block{border-bottom-color:#CCCCCC}
html.theme-light .lifecourse-rule-text{color:#555555;text-shadow:none}
html.theme-light .lifecourse-drop{color:#1A1A1A}
html.theme-light .lifecourse-text{color:#333333}
html.theme-light .ex-col-head{border-top-color:#BBBBBB;border-bottom-color:#BBBBBB;color:#1A1A1A}
html.theme-light .ei{border-bottom-color:#EEEEEE}
html.theme-light .ei:hover{background:rgba(0,0,0,.03)}
html.theme-light .en{color:#1A1A1A}
html.theme-light .en.mod{color:#111111}
html.theme-light .ed{color:#888888}
html.theme-light .ent{color:#555555}
html.theme-light .page-footer{border-top-color:#CCCCCC}
html.theme-light .pf-orn{color:#BBBBBB}
html.theme-light .pf-num{color:#999999}
html.theme-light #nb-overlay{background:rgba(0,0,0,.2);backdrop-filter:none;-webkit-backdrop-filter:none}
html.theme-light #nb-modal{background:#FAF8F5;border-color:#BBBBBB;border-top-color:#555555;box-shadow:0 8px 40px rgba(0,0,0,.15)}
html.theme-light #nb-modal-rule{color:#AAAAAA}
html.theme-light #nb-modal-label{color:#888888}
html.theme-light #nb-modal-title{color:#1A1A1A}
html.theme-light #nb-modal-dates{color:#888888}
html.theme-light #nb-modal-text{color:#333333}
html.theme-light #nb-modal-close{color:#888888}
html.theme-light #nb-modal-close:hover{color:#1A1A1A}
html.theme-light #nb-modal-footer{color:#AAAAAA}
html.theme-light #footer{border-top-color:#CCCCCC;color:#AAAAAA}
html.theme-light #examen-overlay{background:#F5F3EE}
html.theme-light .exam-head{border-bottom-color:#CCCCCC}
html.theme-light .exam-hc{color:#888888}
html.theme-light .exam-close{color:#888888}
html.theme-light .exam-close:hover{color:#1A1A1A}
html.theme-light .exam-progress{background:#CCCCCC}
html.theme-light .exam-progress-fill{background:linear-gradient(to right,#BBBBBB,#555555)}
html.theme-light .ei-orn{color:#555555;text-shadow:none}
html.theme-light .ei-title{color:#1A1A1A}
html.theme-light .ei-sub{color:#555555}
html.theme-light .ei-preamble{color:#555555;border-left-color:#CCCCCC;border-right-color:#CCCCCC}
html.theme-light .ei-preamble-attr{color:#888888}
html.theme-light .ei-map-item{border-color:#CCCCCC}
html.theme-light .ei-map-num{color:#888888}
html.theme-light .ei-map-lat{color:#555555}
html.theme-light .ei-map-ct{color:#AAAAAA}
html.theme-light .ei-begin{background:rgba(0,0,0,.05);border-color:#555555;color:#1A1A1A}
html.theme-light .ei-begin:hover{background:rgba(0,0,0,.1)}
html.theme-light .ei-saved{border-color:#CCCCCC}
html.theme-light .ei-saved-type{color:#333333}
html.theme-light .ei-saved-date{color:#888888}
html.theme-light .ei-btn-view{border-color:#555555;color:#333333}
html.theme-light .ei-btn-view:hover{color:#000000}
html.theme-light .ei-btn-new{border-color:#CCCCCC;color:#888888}
html.theme-light .ei-btn-new:hover{border-color:#AAAAAA;color:#555555}
html.theme-light .ei-btn-sm{border-color:#CCCCCC;color:#888888}
html.theme-light .ei-btn-sm:hover{border-color:#AAAAAA;color:#555555}
html.theme-light .ei-confirm{border-top-color:#CCCCCC}
html.theme-light .seal-btn::before{border-color:rgba(0,0,0,.12)}
html.theme-light #compare-overlay,html.theme-light #relations-overlay{background:rgba(0,0,0,.2);backdrop-filter:none;-webkit-backdrop-filter:none}
html.theme-light #compare-panel,html.theme-light #relations-panel{background:#FAF8F5;border-color:#BBBBBB;border-top-color:#555555;box-shadow:0 8px 40px rgba(0,0,0,.15)}
html.theme-light #compare-close,html.theme-light #relations-close{color:#888888}
html.theme-light #compare-close:hover,html.theme-light #relations-close:hover{color:#1A1A1A}
html.theme-light .cmp-header{border-bottom-color:#CCCCCC}
html.theme-light .cmp-col-head{color:#1A1A1A}
html.theme-light .cmp-vs{color:#999999}
html.theme-light #cmp-select{background:#FAF8F5;border-color:#BBBBBB;color:#555555}
html.theme-light .cmp-section{border-bottom-color:#EEEEEE}
html.theme-light .cmp-section-head{color:#555555}
html.theme-light .cmp-b5-lbl{color:#777777}
html.theme-light .cmp-b5-track{background:#DDDDDD}
html.theme-light .cmp-b5-vals{color:#555555}
html.theme-light .cmp-rel-row{border-bottom-color:#EEEEEE}
html.theme-light .cmp-rel-lbl{color:#888888}
html.theme-light .cmp-rel-txt{color:#333333}
html.theme-light .cmp-fn{color:#1A1A1A;border-color:#CCCCCC}
html.theme-light .cmp-fn-bot{color:#666666;border-color:#DDDDDD}
html.theme-light .cmp-fn-pos{color:#888888}
html.theme-light .cmp-fn:hover{border-color:#999999;background:rgba(0,0,0,.04)}
html.theme-light .rel-header{border-bottom-color:#CCCCCC}
html.theme-light .rel-title{color:#1A1A1A}
html.theme-light .rel-group-head{color:#555555;border-bottom-color:#CCCCCC}
html.theme-light .rel-item{border-bottom-color:#EEEEEE}
html.theme-light .rel-item:hover{background:rgba(0,0,0,.03)}
html.theme-light .rel-item-name{color:#1A1A1A}
html.theme-light .rel-item-dynamic{color:#555555}
html.theme-light .rel-item-gift{color:#333333}
html.theme-light .cmp-stack-col .cmp-fn{color:#1A1A1A}
html.theme-light [style*="color:#5A8A50"],[style*="color: #5A8A50"]{color:#3A3A3A!important}
html.theme-light [style*="color:#8A3A28"],[style*="color: #8A3A28"]{color:#666666!important}
html.theme-light [style*="color:#8A7848"],[style*="color: #8A7848"]{color:#555555!important}
html.theme-light .seal-compare{background:radial-gradient(circle at 36% 30%,#C87878 0%,#9A4040 38%,#6E2828 62%,#4A1818 100%);box-shadow:0 0 0 1.5px #C8A080,0 0 0 3px #EDE0D0,0 0 0 4.5px #A07850,0 4px 12px rgba(0,0,0,.22),0 2px 4px rgba(0,0,0,.12),inset 0 1px 4px rgba(255,210,180,.18),inset 0 -2px 4px rgba(0,0,0,.25);color:#F5E0D0;text-shadow:0 1px 2px rgba(0,0,0,.4)}
html.theme-light .seal-compare::after{background:radial-gradient(ellipse at 40% 30%,#8A3030 0%,#3C1010 100%);box-shadow:0 3px 5px rgba(0,0,0,.3),0 0 0 1px #A07050}
html.theme-light .seal-compare:hover{box-shadow:0 0 0 1.5px #D4A880,0 0 0 3px #EDE0D0,0 0 0 4.5px #B88860,0 6px 18px rgba(0,0,0,.25),0 0 16px rgba(160,50,40,.18),inset 0 1px 4px rgba(255,210,180,.25);filter:brightness(1.12)}
html.theme-light .seal-relat{background:radial-gradient(circle at 36% 30%,#6A9E78 0%,#3A6E48 38%,#244A30 62%,#143020 100%);box-shadow:0 0 0 1.5px #C8A880,0 0 0 3px #EDE0D0,0 0 0 4.5px #A07850,0 4px 12px rgba(0,0,0,.22),0 2px 4px rgba(0,0,0,.12),inset 0 1px 4px rgba(200,240,210,.18),inset 0 -2px 4px rgba(0,0,0,.25);color:#D8F0E0;text-shadow:0 1px 2px rgba(0,0,0,.4)}
html.theme-light .seal-relat::after{background:radial-gradient(ellipse at 40% 30%,#305A3C 0%,#102010 100%);box-shadow:0 3px 5px rgba(0,0,0,.3),0 0 0 1px #A07050}
html.theme-light .seal-relat:hover{box-shadow:0 0 0 1.5px #D4A880,0 0 0 3px #EDE0D0,0 0 0 4.5px #B88860,0 6px 18px rgba(0,0,0,.25),0 0 16px rgba(40,120,60,.18),inset 0 1px 4px rgba(200,240,210,.25);filter:brightness(1.12)}
html.theme-light .wax-seal{box-shadow:none}

html.theme-light #mappa-overlay{background:rgba(220,210,190,.9);backdrop-filter:blur(4px)}
html.theme-light #mappa-panel{background:linear-gradient(160deg,#F0EBE0,#E8E0D0);border-color:#C8A870;border-top-color:#8A6828;box-shadow:0 4px 40px rgba(0,0,0,.2)}
html.theme-light #mappa-canvas{background:#F5F0E8;border-color:#C8B890}
html.theme-light #mappa-close{color:#8A6828}
html.theme-light .mappa-head{color:#5A3A10}
html.theme-light .mappa-sub{color:#8A6828}

.collapsible-section{margin-top:0;transition:background .25s}.collapsible-section:not(.cs-open){background:rgba(80,60,20,.06);border-left:2px dashed rgba(180,140,60,.3);padding:8px 8px 10px 10px;margin-left:-12px;border-radius:0}html.theme-light .collapsible-section:not(.cs-open){background:rgba(120,90,30,.04);border-left-color:rgba(140,100,40,.3)}.sl-collapsible{user-select:none;display:flex;align-items:center;justify-content:space-between;width:100%}.sl-collapsible .cs-orn{transition:transform .25s ease,color .2s;display:inline-block;margin-right:7px}.cs-chevron{font-size:18px;color:#7A6030;margin-left:auto;transition:transform .25s ease,color .2s;flex-shrink:0;line-height:1}.collapsible-section.cs-open .cs-chevron{transform:rotate(90deg);color:var(--gold)}html.theme-light .cs-chevron{color:#8A6828}html.theme-light .collapsible-section.cs-open .cs-chevron{color:#5A3A10}.cs-badge{font-family:var(--font-heading);font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(180,140,60,.5);color:#8A7030;padding:4px 10px;margin-left:12px;flex-shrink:0;transition:opacity .2s}.collapsible-section.cs-open .cs-badge{opacity:0;pointer-events:none}html.theme-light .cs-badge{border-color:rgba(120,90,30,.3);color:#7A5A20}.cs-preview{font-family:var(--font-body);font-size:13px;font-style:italic;color:#7A6830;line-height:1.6;max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease;opacity:0;margin-top:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.collapsible-section:not(.cs-open) .cs-preview{max-height:60px;opacity:1;margin-top:6px}html.theme-light .cs-preview{color:#6A5428}.cs-body{overflow:hidden;max-height:0;transition:max-height .4s ease}.collapsible-section.cs-open .cs-body{max-height:2000px}.collapsible-section.cs-open .cs-orn{color:var(--gold)}html.theme-light .cs-orn{color:#7A5A20}html.theme-light .collapsible-section.cs-open .cs-orn{color:#5A3A10}
html.theme-light .seasonal-spring .seasonal-head{color:#3A6E28}
html.theme-light .seasonal-summer .seasonal-head{color:#B06A10}
html.theme-light .seasonal-autumn .seasonal-head{color:#8A3C18}
html.theme-light .seasonal-winter .seasonal-head{color:#2A5A8A}

.virt-box{border-left:2px solid #2A7A34;background:rgba(30,90,30,.13);padding:10px 14px;border-radius:0}
.vice-box{border-left:2px solid #8A2A18;background:rgba(120,22,10,.13);padding:10px 14px;border-radius:0}
html.theme-light .virt-box{border-left-color:#2A7A2A;background:rgba(40,110,40,.10)}
html.theme-light .vice-box{border-left-color:#9A2A18;background:rgba(140,30,18,.10)}

html.theme-light .wax-seal{filter:saturate(0.55) brightness(1.35);box-shadow:0 1px 3px rgba(0,0,0,.2)}

.sec-card{background:rgba(255,255,255,.03);border:1px solid rgba(90,72,32,.22);padding:16px 18px;margin-top:4px}
html.theme-light .sec-card{background:#FFFFFF;border-color:#D8CEB0;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.sec-card .collapsible-section:not(.cs-open){margin-left:0;padding-left:0;border-left:none;background:none}
.sec-divider{display:flex;align-items:center;gap:0;margin:14px 0;color:#6A5020;font-size:11px}
.sec-divider::before,.sec-divider::after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(180,140,60,.35),transparent)}
.sec-divider span{padding:0 14px;color:#9A7840;letter-spacing:.1em}
html.theme-light .sec-divider::before,html.theme-light .sec-divider::after{background:linear-gradient(to right,transparent,rgba(140,100,40,.3),transparent)}
html.theme-light .sec-divider span{color:#8A6828}
html.theme-light .sec-card .collapsible-section:not(.cs-open){background:rgba(120,90,30,.04);border-left:2px dashed rgba(140,100,40,.3);padding-left:10px;margin-left:-10px}

.sec-card-green{border-color:rgba(40,100,50,.25)}
html.theme-light .sec-card-green{border-color:#8ABE8A;background:rgba(40,110,50,.04)}
.corpus-release-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.corpus-release-cue{font-family:var(--font-heading);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#5A7A50;opacity:.8;flex-shrink:0;display:flex;align-items:center;gap:6px}.corpus-release-cue .cue-box{font-size:18px;line-height:1}
html.theme-light .corpus-release-cue{color:#4A6A40}
.corpus-release:hover .corpus-release-cue{opacity:1}
html.theme-light .corpus-release{background:rgba(40,100,50,.06);border-left-color:#6A9A60}
html.theme-light .corpus-release:hover{background:rgba(40,100,50,.10);border-left-color:#4A7A40}

.armour-seg.moderate{color:#D4A820}
.armour-seg.high{color:#E07020}
.armour-seg.locked{color:#CC2820}
html.theme-light .armour-seg.free{color:#2A8A30}
html.theme-light .armour-seg.moderate{color:#A07810}
html.theme-light .armour-seg.high{color:#C05010}
html.theme-light .armour-seg.locked{color:#B81818}

html.theme-light .rel-group{border-radius:2px}
html.theme-light .tier-block-sub{color:#3A3020}

.jung-hint{text-align:right;font-family:var(--font-heading);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#5A7A50;opacity:.7;margin-bottom:4px;pointer-events:none}
.jung-hint .cue-box{font-size:16px;line-height:1;vertical-align:middle}
html.theme-light .jung-hint{color:#4A6A40}

html.theme-light .seasonal-spring .seasonal-head{color:#3A6E28;justify-content:center}
html.theme-light .seasonal-spring{background:rgba(40,110,40,.07);border-color:rgba(40,110,40,.2)}
html.theme-light .seasonal-summer .seasonal-head{color:#B06A10;justify-content:center}
html.theme-light .seasonal-summer{background:rgba(180,100,20,.07);border-color:rgba(180,100,20,.2)}
html.theme-light .seasonal-autumn .seasonal-head{color:#8A3C18;justify-content:center}
html.theme-light .seasonal-autumn{background:rgba(140,60,24,.07);border-color:rgba(140,60,24,.2)}
html.theme-light .seasonal-winter .seasonal-head{color:#2A5A8A;justify-content:center}
html.theme-light .seasonal-winter{background:rgba(42,90,138,.07);border-color:rgba(42,90,138,.2)}

/* ================================================================
   MEL-CHOL TEST — restructured Nature tab elements
   Scoped via id="tab-mel-cho-natura" — applies only to Mel-Chol.
   ================================================================ */

/* Physical Signs composed plate (replaces 3 repeating signa frames) */
.phys-signs-plate{margin-top:20px;border:1px solid var(--border);padding:18px 22px 22px;background:linear-gradient(180deg,rgba(20,18,14,.45),rgba(15,12,8,.35));position:relative}
.phys-signs-plate::before,.phys-signs-plate::after{content:"\2766";position:absolute;top:9px;font-size:11px;color:var(--gold-dark);letter-spacing:2px}
.phys-signs-plate::before{left:12px}
.phys-signs-plate::after{right:12px}
.phys-signs-head{justify-content:center;text-align:center;display:flex;margin-top:4px!important}
.phys-signs-attr{text-align:center;margin-bottom:14px}
.phys-signs-sub{font-family:var(--font-heading);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);text-align:center;margin:18px 0 6px;padding-top:12px;border-top:1px dotted rgba(140,120,80,.22)}
.phys-signs-sub:first-of-type{margin-top:8px;padding-top:0;border-top:none}
.phys-signs-plate .signa-grid{margin-bottom:6px}
html.theme-light .phys-signs-plate{background:linear-gradient(180deg,rgba(248,243,228,.6),rgba(240,232,210,.55))}
html.theme-light .phys-signs-sub{border-top-color:#BBB}

/* Animal plate — emblem + satellites + margin gloss */
.animal-plate{margin-top:22px;border:1.5px solid var(--border);padding:24px 22px;background:linear-gradient(180deg,rgba(28,22,14,.55),rgba(18,14,8,.4));position:relative;text-align:center}
.animal-plate::before,.animal-plate::after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--gold-dark)}
.animal-plate::before{top:6px;left:6px;border-right:none;border-bottom:none}
.animal-plate::after{bottom:6px;right:6px;border-left:none;border-top:none}
.animal-plate-head{justify-content:center;text-align:center;display:flex;margin-top:0!important}
.animal-plate-attr{text-align:center;margin-bottom:18px}
.animal-emblem-wrap{display:flex;justify-content:center;margin-bottom:14px}
.animal-emblem-frame{display:inline-block;padding:18px 38px 16px;border:1px solid var(--gold-dark);background:rgba(8,6,4,.5);position:relative;min-width:60%;cursor:pointer;transition:border-color .2s,background .2s}
.animal-emblem-frame:hover{border-color:var(--gold-dim);background:rgba(40,30,12,.6)}
.animal-emblem-frame::before,.animal-emblem-frame::after{content:"\2740";position:absolute;top:50%;transform:translateY(-50%);color:var(--gold-dark);font-size:14px}
.animal-emblem-frame::before{left:10px}
.animal-emblem-frame::after{right:10px}
.animal-emblem-label{font-family:var(--font-heading);font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:10px}
.animal-emblem-name{font-family:var(--font-heading);font-size:22px;letter-spacing:.08em;color:var(--gold);font-style:italic;line-height:1.2;margin-bottom:8px;text-shadow:0 0 14px rgba(232,208,112,.25)}
.animal-emblem-desc{font-family:var(--font-body);font-size:13px;color:var(--gold-dim);font-style:italic;max-width:520px;margin:0 auto;line-height:1.55}
.animal-satellites{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.animal-satellite{border:1px dashed rgba(140,120,80,.4);padding:10px 14px;background:rgba(15,12,8,.3);text-align:left}
.animal-satellite.shadow{border-color:rgba(140,80,60,.4)}
.animal-sat-label{font-family:var(--font-heading);font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:5px}
.animal-satellite.shadow .animal-sat-label{color:#9A5040}
.animal-sat-text{font-family:var(--font-body);font-size:13px;color:var(--gold-dim);font-style:italic;line-height:1.55}
.animal-margin-gloss{margin-top:14px;padding:11px 14px 11px 18px;border-left:2px solid var(--gold-dark);background:rgba(15,12,8,.25);text-align:left;font-family:var(--font-body);font-size:12.5px;color:var(--gold-dark);font-style:italic;line-height:1.6}
.animal-gloss-label{font-family:var(--font-heading);font-size:9px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dark);font-style:normal;display:block;margin-bottom:5px}
html.theme-light .animal-plate{background:linear-gradient(180deg,rgba(244,236,214,.65),rgba(238,228,202,.55))}
html.theme-light .animal-emblem-frame{background:rgba(252,248,238,.6)}
html.theme-light .animal-emblem-frame:hover{background:rgba(244,236,214,.7)}
html.theme-light .animal-emblem-name{text-shadow:none}
html.theme-light .animal-satellite{background:rgba(252,248,238,.55)}
html.theme-light .animal-satellite.shadow{border-color:#A04830}
html.theme-light .animal-satellite.shadow .animal-sat-label{color:#7A2818}
html.theme-light .animal-margin-gloss{background:rgba(252,248,238,.55)}
@media(max-width:600px){.animal-satellites{grid-template-columns:1fr}.animal-emblem-frame{min-width:80%;padding:16px 24px 14px}}

/* Somatic Reading composed block */
.somatic-reading-block{margin-top:22px;border:1px solid var(--border);padding:18px 20px 20px;background:linear-gradient(180deg,rgba(20,18,14,.4),rgba(15,12,8,.3))}
.somatic-reading-head{font-family:var(--font-heading);font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-dark);text-align:center;margin-bottom:4px}
.somatic-reading-attr{text-align:center;font-family:var(--font-body);font-size:11px;font-style:italic;color:#9A8040;margin-bottom:10px}
.somatic-trigrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:12px}
.somatic-trigrid .sl{margin-top:6px;font-size:11px}
.somatic-trigrid .sl-attr{font-size:10px;margin-left:14px}
.somatic-trigrid .corpus-block{margin-top:8px}
.somatic-trigrid .corpus-block-text{font-size:13px;line-height:1.7}
@media(max-width:760px){.somatic-trigrid{grid-template-columns:1fr}}
html.theme-light .somatic-reading-block{background:linear-gradient(180deg,rgba(248,243,228,.55),rgba(240,232,210,.55))}

/* Somatic Practice bordered card (release practices isolated) */
.somatic-practice-card{margin-top:14px;border:1.5px solid rgba(120,160,90,.45);background:linear-gradient(180deg,rgba(30,40,22,.4),rgba(20,28,14,.4));padding:18px 20px 20px;position:relative}
.somatic-practice-card::before,.somatic-practice-card::after{content:"\2740";position:absolute;top:8px;color:rgba(140,180,90,.6);font-size:12px}
.somatic-practice-card::before{left:12px}
.somatic-practice-card::after{right:12px}
.somatic-practice-head{font-family:var(--font-heading);font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:#A8C470;text-align:center;margin-bottom:4px;padding-top:2px}
.somatic-practice-attr{text-align:center;font-family:var(--font-body);font-size:11px;font-style:italic;color:#7A8A50;margin-bottom:12px}
html.theme-light .somatic-practice-card{background:linear-gradient(180deg,rgba(228,238,212,.55),rgba(220,232,200,.6));border-color:rgba(80,110,60,.4)}
html.theme-light .somatic-practice-head{color:#3A5018}
html.theme-light .somatic-practice-attr{color:#5A6E38}



/* Animal emblem long-text preview — non-bold, body font, hook trails off */
.animal-emblem-preview{font-family:var(--font-body)!important;font-size:14px!important;font-style:italic;letter-spacing:0!important;color:var(--gold-dim)!important;line-height:1.55!important;text-shadow:none!important;font-weight:400!important;max-width:560px;margin:0 auto}

/* Psychology compact mini-collapsibles inside Further Inner Patterns plate */
.psychology-mini{padding:10px 4px;border-top:1px dotted rgba(140,120,80,.22)}
.psychology-mini:first-of-type{border-top:none;padding-top:6px}
.psychology-mini .cs-body{margin-top:6px}
html.theme-light .psychology-mini{border-top-color:#BBB}

/* Psychology featured blocks — heavier weight, Roman numeral marker */
.psychology-feature{border-width:2px;border-color:var(--gold-dark);background:linear-gradient(180deg,rgba(40,30,16,.5),rgba(28,22,12,.4));padding:22px 22px 22px 52px;position:relative}
.psychology-feature-num{position:absolute;left:12px;top:18px;font-family:var(--font-heading);font-size:14px;color:var(--gold);letter-spacing:.12em;border:1px solid var(--gold-dark);padding:3px 8px 2px;background:rgba(8,6,4,.55);font-style:italic;line-height:1;text-shadow:0 0 8px rgba(232,208,112,.2)}
.psychology-feature .somatic-reading-head{font-size:15px}
html.theme-light .psychology-feature{background:linear-gradient(180deg,rgba(248,238,210,.7),rgba(240,228,200,.6))}
html.theme-light .psychology-feature-num{background:rgba(252,248,238,.7);color:#5A4830;text-shadow:none}

/* Further Inner Patterns — folio (frameless, centered rule heading) */
.psychology-folio{margin-top:32px;padding:0 8px}
.psychology-folio-divider{margin:14px 0 4px}
.psychology-folio-divider span{font-family:var(--font-heading);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dark);padding:0 18px}
.psychology-folio-attr{text-align:center;font-family:var(--font-body);font-size:11px;font-style:italic;color:#9A8040;margin-bottom:6px}
html.theme-light .psychology-folio-attr{color:#7A6840}

/* Constitutional Baseline — cool/blue palette to distinguish from Physical Signs plate */
.cb-plate{background:linear-gradient(180deg,rgba(14,20,30,.5),rgba(10,16,24,.4));border-color:rgba(80,110,150,.35)}
.cb-plate::before,.cb-plate::after{color:#7090B0}
.cb-plate .sl{color:#7090B0}
.cb-plate .sl-orn{color:#7090B0;text-shadow:0 0 10px rgba(112,144,176,.4)}
.cb-plate .sl-attr{color:#6A8098}
.cb-plate .phys-signs-sub{color:#7090B0;border-top-color:rgba(110,140,180,.22)}
html.theme-light .cb-plate{background:linear-gradient(180deg,rgba(228,238,248,.6),rgba(220,232,242,.55));border-color:#A8B8CC}
html.theme-light .cb-plate::before,html.theme-light .cb-plate::after,html.theme-light .cb-plate .sl,html.theme-light .cb-plate .sl-orn,html.theme-light .cb-plate .phys-signs-sub{color:#3A5878}
html.theme-light .cb-plate .sl-orn{text-shadow:none}
html.theme-light .cb-plate .sl-attr{color:#5A6878}
html.theme-light .cb-plate .phys-signs-sub{border-top-color:#B8C4D4}

/* ================================================================
   Four new Nature-tab plate palettes (parallel to .cb-plate's blue override)
   ================================================================ */

/* Biological Signature — silver/steel (modern science register) */
.bio-plate{background:linear-gradient(180deg,rgba(22,22,26,.55),rgba(16,16,20,.4));border-color:rgba(140,140,160,.32)}
.bio-plate::before,.bio-plate::after{color:#9098A8}
.bio-plate .sl{color:#9098A8}
.bio-plate .sl-orn{color:#9098A8;text-shadow:0 0 10px rgba(144,152,168,.4)}
.bio-plate .sl-attr{color:#7A8090}
.bio-plate .phys-signs-sub{color:#9098A8;border-top-color:rgba(140,140,160,.22)}
html.theme-light .bio-plate{background:linear-gradient(180deg,rgba(232,234,240,.6),rgba(224,226,234,.55));border-color:#A8AEBC}
html.theme-light .bio-plate::before,html.theme-light .bio-plate::after,html.theme-light .bio-plate .sl,html.theme-light .bio-plate .sl-orn,html.theme-light .bio-plate .phys-signs-sub{color:#3A4258}
html.theme-light .bio-plate .sl-orn{text-shadow:none}
html.theme-light .bio-plate .sl-attr{color:#5A6070}
html.theme-light .bio-plate .phys-signs-sub{border-top-color:#B8BCC8}

/* Lived Experience — bone/parchment (phenomenological register) */
.phen-plate{background:linear-gradient(180deg,rgba(34,28,22,.5),rgba(26,22,16,.35));border-color:rgba(170,150,120,.32)}
.phen-plate::before,.phen-plate::after{color:#B8A88C}
.phen-plate .sl{color:#B8A88C}
.phen-plate .sl-orn{color:#B8A88C;text-shadow:0 0 10px rgba(184,168,140,.4)}
.phen-plate .sl-attr{color:#9A8870}
.phen-plate .phys-signs-sub{color:#B8A88C;border-top-color:rgba(170,150,120,.22)}
html.theme-light .phen-plate{background:linear-gradient(180deg,rgba(248,242,228,.6),rgba(242,234,216,.55));border-color:#C8B898}
html.theme-light .phen-plate::before,html.theme-light .phen-plate::after,html.theme-light .phen-plate .sl,html.theme-light .phen-plate .sl-orn,html.theme-light .phen-plate .phys-signs-sub{color:#5A4A30}
html.theme-light .phen-plate .sl-orn{text-shadow:none}
html.theme-light .phen-plate .sl-attr{color:#7A6850}
html.theme-light .phen-plate .phys-signs-sub{border-top-color:#C8B898}

/* Constitutional Habitat — moss/forest green (environmental register) */
.habitat-plate{background:linear-gradient(180deg,rgba(20,28,18,.5),rgba(14,22,12,.35));border-color:rgba(100,140,80,.32)}
.habitat-plate::before,.habitat-plate::after{color:#7A9858}
.habitat-plate .sl{color:#7A9858}
.habitat-plate .sl-orn{color:#7A9858;text-shadow:0 0 10px rgba(122,152,88,.4)}
.habitat-plate .sl-attr{color:#5A7838}
.habitat-plate .phys-signs-sub{color:#7A9858;border-top-color:rgba(100,140,80,.22)}
html.theme-light .habitat-plate{background:linear-gradient(180deg,rgba(228,238,212,.6),rgba(220,232,202,.55));border-color:#88A06C}
html.theme-light .habitat-plate::before,html.theme-light .habitat-plate::after,html.theme-light .habitat-plate .sl,html.theme-light .habitat-plate .sl-orn,html.theme-light .habitat-plate .phys-signs-sub{color:#3A5018}
html.theme-light .habitat-plate .sl-orn{text-shadow:none}
html.theme-light .habitat-plate .sl-attr{color:#5A7028}
html.theme-light .habitat-plate .phys-signs-sub{border-top-color:#A8C088}

/* Constitutional Arc / Lifecycle — sepia/aged (temporal register) */
.lifecycle-plate{background:linear-gradient(180deg,rgba(28,22,14,.55),rgba(22,18,12,.4));border-color:rgba(160,130,80,.32)}
.lifecycle-plate::before,.lifecycle-plate::after{color:#B89058}
.lifecycle-plate .sl{color:#B89058}
.lifecycle-plate .sl-orn{color:#B89058;text-shadow:0 0 10px rgba(184,144,88,.4)}
.lifecycle-plate .sl-attr{color:#9A7838}
html.theme-light .lifecycle-plate{background:linear-gradient(180deg,rgba(244,232,210,.65),rgba(238,224,196,.55));border-color:#B89058}
html.theme-light .lifecycle-plate::before,html.theme-light .lifecycle-plate::after,html.theme-light .lifecycle-plate .sl,html.theme-light .lifecycle-plate .sl-orn{color:#5A3A18}
html.theme-light .lifecycle-plate .sl-orn{text-shadow:none}
html.theme-light .lifecycle-plate .sl-attr{color:#7A5828}

/* Lifecycle stage layout */
.lifecycle-stage{padding:16px 0;border-top:1px dotted rgba(160,130,80,.25)}
.lifecycle-stage:first-of-type{padding-top:10px;border-top:none}
.lifecycle-stage-head{display:flex;align-items:baseline;gap:14px;margin-bottom:8px}
.lifecycle-stage-name{font-family:var(--font-heading);font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#B89058}
.lifecycle-stage-ages{font-family:var(--font-heading);font-size:10px;letter-spacing:.18em;color:#9A7838;font-style:italic}
.lifecycle-stage-text{font-family:var(--font-body);font-size:13.5px;color:var(--gold-dim);line-height:1.7;font-style:italic}
html.theme-light .lifecycle-stage{border-top-color:#B89058}
html.theme-light .lifecycle-stage-name,html.theme-light .lifecycle-stage-ages{color:#5A3A18}
html.theme-light .lifecycle-stage-text{color:#5A4830}


/* ================================================================
   Three new Psych-tab plate palettes
   ================================================================ */

/* Bonds & Intimacy — warm rose/burgundy (relational register) */
.bonds-plate{background:linear-gradient(180deg,rgba(34,18,22,.55),rgba(28,14,18,.4));border-color:rgba(170,90,100,.32)}
.bonds-plate::before,.bonds-plate::after{color:#B86878}
.bonds-plate .sl{color:#B86878}
.bonds-plate .sl-orn{color:#B86878;text-shadow:0 0 10px rgba(184,104,120,.4)}
.bonds-plate .sl-attr{color:#9A5060}
.bonds-plate .phys-signs-sub{color:#B86878;border-top-color:rgba(170,90,100,.22)}
html.theme-light .bonds-plate{background:linear-gradient(180deg,rgba(248,228,232,.6),rgba(242,218,224,.55));border-color:#C88898}
html.theme-light .bonds-plate::before,html.theme-light .bonds-plate::after,html.theme-light .bonds-plate .sl,html.theme-light .bonds-plate .sl-orn,html.theme-light .bonds-plate .phys-signs-sub{color:#5A1828}
html.theme-light .bonds-plate .sl-orn{text-shadow:none}
html.theme-light .bonds-plate .sl-attr{color:#7A2838}
html.theme-light .bonds-plate .phys-signs-sub{border-top-color:#C88898}

/* Mind & Memory — violet/indigo (cognitive register) */
.mind-plate{background:linear-gradient(180deg,rgba(24,20,32,.55),rgba(18,16,26,.4));border-color:rgba(130,110,180,.32)}
.mind-plate::before,.mind-plate::after{color:#9088B8}
.mind-plate .sl{color:#9088B8}
.mind-plate .sl-orn{color:#9088B8;text-shadow:0 0 10px rgba(144,136,184,.4)}
.mind-plate .sl-attr{color:#706890}
.mind-plate .phys-signs-sub{color:#9088B8;border-top-color:rgba(130,110,180,.22)}
html.theme-light .mind-plate{background:linear-gradient(180deg,rgba(232,228,244,.6),rgba(224,220,240,.55));border-color:#A8A0C8}
html.theme-light .mind-plate::before,html.theme-light .mind-plate::after,html.theme-light .mind-plate .sl,html.theme-light .mind-plate .sl-orn,html.theme-light .mind-plate .phys-signs-sub{color:#383058}
html.theme-light .mind-plate .sl-orn{text-shadow:none}
html.theme-light .mind-plate .sl-attr{color:#5A4870}
html.theme-light .mind-plate .phys-signs-sub{border-top-color:#B8B0D0}

/* Clinical Alignment — clinical teal (therapeutic register) */
.clinical-plate{background:linear-gradient(180deg,rgba(16,28,30,.55),rgba(12,22,24,.4));border-color:rgba(80,150,150,.32)}
.clinical-plate::before,.clinical-plate::after{color:#68A0A8}
.clinical-plate .sl{color:#68A0A8}
.clinical-plate .sl-orn{color:#68A0A8;text-shadow:0 0 10px rgba(104,160,168,.4)}
.clinical-plate .sl-attr{color:#508088}
.clinical-plate .phys-signs-sub{color:#68A0A8;border-top-color:rgba(80,150,150,.22)}
html.theme-light .clinical-plate{background:linear-gradient(180deg,rgba(220,236,238,.6),rgba(212,228,232,.55));border-color:#88B0B8}
html.theme-light .clinical-plate::before,html.theme-light .clinical-plate::after,html.theme-light .clinical-plate .sl,html.theme-light .clinical-plate .sl-orn,html.theme-light .clinical-plate .phys-signs-sub{color:#1A484E}
html.theme-light .clinical-plate .sl-orn{text-shadow:none}
html.theme-light .clinical-plate .sl-attr{color:#386068}
html.theme-light .clinical-plate .phys-signs-sub{border-top-color:#A0C0C8}


/* ================================================================
   Movement Regimen plate palette — Nature tab extension
   ================================================================ */

/* Movement Regimen — burnished copper/bronze (gymnastica register) */
.movement-plate{background:linear-gradient(180deg,rgba(30,20,12,.55),rgba(24,16,10,.4));border-color:rgba(180,120,60,.32)}
.movement-plate::before,.movement-plate::after{color:#B88048}
.movement-plate .sl{color:#B88048}
.movement-plate .sl-orn{color:#B88048;text-shadow:0 0 10px rgba(184,128,72,.4)}
.movement-plate .sl-attr{color:#986028}
.movement-plate .phys-signs-sub{color:#B88048;border-top-color:rgba(180,120,60,.22)}
html.theme-light .movement-plate{background:linear-gradient(180deg,rgba(244,228,206,.6),rgba(238,218,194,.55));border-color:#C09060}
html.theme-light .movement-plate::before,html.theme-light .movement-plate::after,html.theme-light .movement-plate .sl,html.theme-light .movement-plate .sl-orn,html.theme-light .movement-plate .phys-signs-sub{color:#5A2C08}
html.theme-light .movement-plate .sl-orn{text-shadow:none}
html.theme-light .movement-plate .sl-attr{color:#7A4418}
html.theme-light .movement-plate .phys-signs-sub{border-top-color:#C09060}


/* ================================================================
   Four new Nature tab plate palettes — Diet, Skin, Connective Tissue, Olfactory
   ================================================================ */

/* Diet & Nutritional Profile — wheat-amber (regimen/grain register) */
.diet-plate{background:linear-gradient(180deg,rgba(30,24,12,.55),rgba(24,18,10,.4));border-color:rgba(200,160,80,.32)}
.diet-plate::before,.diet-plate::after{color:#C8A050}
.diet-plate .sl{color:#C8A050}
.diet-plate .sl-orn{color:#C8A050;text-shadow:0 0 10px rgba(200,160,80,.4)}
.diet-plate .sl-attr{color:#A88030}
.diet-plate .phys-signs-sub{color:#C8A050;border-top-color:rgba(200,160,80,.22)}
html.theme-light .diet-plate{background:linear-gradient(180deg,rgba(248,236,208,.6),rgba(242,228,194,.55));border-color:#C8A868}
html.theme-light .diet-plate::before,html.theme-light .diet-plate::after,html.theme-light .diet-plate .sl,html.theme-light .diet-plate .sl-orn,html.theme-light .diet-plate .phys-signs-sub{color:#5A4408}
html.theme-light .diet-plate .sl-orn{text-shadow:none}
html.theme-light .diet-plate .sl-attr{color:#7A5C18}
html.theme-light .diet-plate .phys-signs-sub{border-top-color:#C8A868}

/* Skin & Surface — pale coral (dermatological register) */
.skin-plate{background:linear-gradient(180deg,rgba(32,20,18,.55),rgba(26,16,14,.4));border-color:rgba(200,120,100,.32)}
.skin-plate::before,.skin-plate::after{color:#C88878}
.skin-plate .sl{color:#C88878}
.skin-plate .sl-orn{color:#C88878;text-shadow:0 0 10px rgba(200,136,120,.4)}
.skin-plate .sl-attr{color:#A86858}
.skin-plate .phys-signs-sub{color:#C88878;border-top-color:rgba(200,120,100,.22)}
html.theme-light .skin-plate{background:linear-gradient(180deg,rgba(250,228,222,.6),rgba(246,218,210,.55));border-color:#C89888}
html.theme-light .skin-plate::before,html.theme-light .skin-plate::after,html.theme-light .skin-plate .sl,html.theme-light .skin-plate .sl-orn,html.theme-light .skin-plate .phys-signs-sub{color:#5A2818}
html.theme-light .skin-plate .sl-orn{text-shadow:none}
html.theme-light .skin-plate .sl-attr{color:#7A3828}
html.theme-light .skin-plate .phys-signs-sub{border-top-color:#C89888}

/* Connective Tissue Profile — ivory-bone (osseous register) */
.ct-plate{background:linear-gradient(180deg,rgba(28,26,22,.55),rgba(22,20,16,.4));border-color:rgba(190,180,150,.32)}
.ct-plate::before,.ct-plate::after{color:#C8BC98}
.ct-plate .sl{color:#C8BC98}
.ct-plate .sl-orn{color:#C8BC98;text-shadow:0 0 10px rgba(200,188,152,.4)}
.ct-plate .sl-attr{color:#A89878}
.ct-plate .phys-signs-sub{color:#C8BC98;border-top-color:rgba(190,180,150,.22)}
html.theme-light .ct-plate{background:linear-gradient(180deg,rgba(244,238,222,.6),rgba(238,232,212,.55));border-color:#B8AC88}
html.theme-light .ct-plate::before,html.theme-light .ct-plate::after,html.theme-light .ct-plate .sl,html.theme-light .ct-plate .sl-orn,html.theme-light .ct-plate .phys-signs-sub{color:#4A4018}
html.theme-light .ct-plate .sl-orn{text-shadow:none}
html.theme-light .ct-plate .sl-attr{color:#6A5C28}
html.theme-light .ct-plate .phys-signs-sub{border-top-color:#B8AC88}

/* Olfactory Signature — smoky musk (scent register) */
.olf-plate{background:linear-gradient(180deg,rgba(26,22,28,.55),rgba(20,16,22,.4));border-color:rgba(150,130,160,.32)}
.olf-plate::before,.olf-plate::after{color:#A898B0}
.olf-plate .sl{color:#A898B0}
.olf-plate .sl-orn{color:#A898B0;text-shadow:0 0 10px rgba(168,152,176,.4)}
.olf-plate .sl-attr{color:#887890}
.olf-plate .phys-signs-sub{color:#A898B0;border-top-color:rgba(150,130,160,.22)}
html.theme-light .olf-plate{background:linear-gradient(180deg,rgba(238,232,242,.6),rgba(232,224,238,.55));border-color:#B8A8C0}
html.theme-light .olf-plate::before,html.theme-light .olf-plate::after,html.theme-light .olf-plate .sl,html.theme-light .olf-plate .sl-orn,html.theme-light .olf-plate .phys-signs-sub{color:#3A2A48}
html.theme-light .olf-plate .sl-orn{text-shadow:none}
html.theme-light .olf-plate .sl-attr{color:#5A4868}
html.theme-light .olf-plate .phys-signs-sub{border-top-color:#B8A8C0}
.movement-plate{background:linear-gradient(180deg,rgba(30,20,12,.55),rgba(24,16,10,.4));border-color:rgba(180,120,60,.32)}
.movement-plate::before,.movement-plate::after{color:#B88048}
.movement-plate .sl{color:#B88048}
.movement-plate .sl-orn{color:#B88048;text-shadow:0 0 10px rgba(184,128,72,.4)}
.movement-plate .sl-attr{color:#986028}
.movement-plate .phys-signs-sub{color:#B88048;border-top-color:rgba(180,120,60,.22)}
html.theme-light .movement-plate{background:linear-gradient(180deg,rgba(244,228,206,.6),rgba(238,218,194,.55));border-color:#C09060}
html.theme-light .movement-plate::before,html.theme-light .movement-plate::after,html.theme-light .movement-plate .sl,html.theme-light .movement-plate .sl-orn,html.theme-light .movement-plate .phys-signs-sub{color:#5A2C08}
html.theme-light .movement-plate .sl-orn{text-shadow:none}
html.theme-light .movement-plate .sl-attr{color:#7A4418}
html.theme-light .movement-plate .phys-signs-sub{border-top-color:#C09060}


/* ================================================================
   Five new Deeper-Study tab plate palettes
   ================================================================ */

/* TCM — vermilion/cinnabar (Chinese antiquity register) */
.tcm-plate{background:linear-gradient(180deg,rgba(36,18,16,.55),rgba(28,14,12,.4));border-color:rgba(180,80,60,.32)}
.tcm-plate::before,.tcm-plate::after{color:#C06848}
.tcm-plate .sl{color:#C06848}
.tcm-plate .sl-orn{color:#C06848;text-shadow:0 0 10px rgba(192,104,72,.4)}
.tcm-plate .sl-attr{color:#A05038}
.tcm-plate .phys-signs-sub{color:#C06848;border-top-color:rgba(180,80,60,.22)}
html.theme-light .tcm-plate{background:linear-gradient(180deg,rgba(248,224,218,.6),rgba(242,212,204,.55));border-color:#C88068}
html.theme-light .tcm-plate::before,html.theme-light .tcm-plate::after,html.theme-light .tcm-plate .sl,html.theme-light .tcm-plate .sl-orn,html.theme-light .tcm-plate .phys-signs-sub{color:#6A1A10}
html.theme-light .tcm-plate .sl-orn{text-shadow:none}
html.theme-light .tcm-plate .sl-attr{color:#8A2820}
html.theme-light .tcm-plate .phys-signs-sub{border-top-color:#C88068}

/* Five Element Cycles — jade/celadon (Chinese cyclical register) */
.fe-plate{background:linear-gradient(180deg,rgba(16,28,28,.55),rgba(12,22,22,.4));border-color:rgba(80,150,140,.32)}
.fe-plate::before,.fe-plate::after{color:#5A9890}
.fe-plate .sl{color:#5A9890}
.fe-plate .sl-orn{color:#5A9890;text-shadow:0 0 10px rgba(90,152,144,.4)}
.fe-plate .sl-attr{color:#3A7870}
.fe-plate .phys-signs-sub{color:#5A9890;border-top-color:rgba(80,150,140,.22)}
html.theme-light .fe-plate{background:linear-gradient(180deg,rgba(218,238,232,.6),rgba(208,232,224,.55));border-color:#80B0A8}
html.theme-light .fe-plate::before,html.theme-light .fe-plate::after,html.theme-light .fe-plate .sl,html.theme-light .fe-plate .sl-orn,html.theme-light .fe-plate .phys-signs-sub{color:#1A4840}
html.theme-light .fe-plate .sl-orn{text-shadow:none}
html.theme-light .fe-plate .sl-attr{color:#386058}
html.theme-light .fe-plate .phys-signs-sub{border-top-color:#80B0A8}

/* Character Structure — oxblood/rust (bioenergetic body register) */
.reich-plate{background:linear-gradient(180deg,rgba(32,16,14,.55),rgba(26,12,10,.4));border-color:rgba(160,70,50,.32)}
.reich-plate::before,.reich-plate::after{color:#B05038}
.reich-plate .sl{color:#B05038}
.reich-plate .sl-orn{color:#B05038;text-shadow:0 0 10px rgba(176,80,56,.4)}
.reich-plate .sl-attr{color:#903828}
.reich-plate .phys-signs-sub{color:#B05038;border-top-color:rgba(160,70,50,.22)}
html.theme-light .reich-plate{background:linear-gradient(180deg,rgba(244,220,212,.6),rgba(238,208,198,.55));border-color:#B86848}
html.theme-light .reich-plate::before,html.theme-light .reich-plate::after,html.theme-light .reich-plate .sl,html.theme-light .reich-plate .sl-orn,html.theme-light .reich-plate .phys-signs-sub{color:#581008}
html.theme-light .reich-plate .sl-orn{text-shadow:none}
html.theme-light .reich-plate .sl-attr{color:#782018}
html.theme-light .reich-plate .phys-signs-sub{border-top-color:#B86848}

/* Contemplative Path — violet/amethyst (mystical register) */
.contemp-plate{background:linear-gradient(180deg,rgba(22,18,32,.55),rgba(18,14,26,.4));border-color:rgba(140,100,170,.32)}
.contemp-plate::before,.contemp-plate::after{color:#9878B0}
.contemp-plate .sl{color:#9878B0}
.contemp-plate .sl-orn{color:#9878B0;text-shadow:0 0 10px rgba(152,120,176,.4)}
.contemp-plate .sl-attr{color:#785890}
.contemp-plate .phys-signs-sub{color:#9878B0;border-top-color:rgba(140,100,170,.22)}
html.theme-light .contemp-plate{background:linear-gradient(180deg,rgba(232,224,242,.6),rgba(224,214,236,.55));border-color:#A890C0}
html.theme-light .contemp-plate::before,html.theme-light .contemp-plate::after,html.theme-light .contemp-plate .sl,html.theme-light .contemp-plate .sl-orn,html.theme-light .contemp-plate .phys-signs-sub{color:#3A1858}
html.theme-light .contemp-plate .sl-orn{text-shadow:none}
html.theme-light .contemp-plate .sl-attr{color:#5A2878}
html.theme-light .contemp-plate .phys-signs-sub{border-top-color:#A890C0}

/* Economic Patterns — terracotta-gold (material world register) */
.econ-plate{background:linear-gradient(180deg,rgba(30,22,12,.55),rgba(24,18,10,.4));border-color:rgba(180,140,60,.32)}
.econ-plate::before,.econ-plate::after{color:#B89048}
.econ-plate .sl{color:#B89048}
.econ-plate .sl-orn{color:#B89048;text-shadow:0 0 10px rgba(184,144,72,.4)}
.econ-plate .sl-attr{color:#987028}
.econ-plate .phys-signs-sub{color:#B89048;border-top-color:rgba(180,140,60,.22)}
html.theme-light .econ-plate{background:linear-gradient(180deg,rgba(244,232,202,.6),rgba(238,224,190,.55));border-color:#C0A058}
html.theme-light .econ-plate::before,html.theme-light .econ-plate::after,html.theme-light .econ-plate .sl,html.theme-light .econ-plate .sl-orn,html.theme-light .econ-plate .phys-signs-sub{color:#5A4008}
html.theme-light .econ-plate .sl-orn{text-shadow:none}
html.theme-light .econ-plate .sl-attr{color:#7A5818}
html.theme-light .econ-plate .phys-signs-sub{border-top-color:#C0A058}


/* ================================================================
   Settings button + modal
   ================================================================ */
.settings-btn{
  background:transparent;border:none;color:#7090C0;
  cursor:pointer;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:10px;
  transition:transform .35s ease,color .25s,filter .25s;
  transform-origin:50% 50%;
  vertical-align:middle;
  filter:drop-shadow(0 0 8px rgba(112,144,192,.4));
  line-height:0;
}
.settings-btn svg{
  width:36px;height:36px;display:block;
}
.settings-btn:hover{color:#A8C0E0;transform:rotate(45deg);filter:drop-shadow(0 0 14px rgba(168,192,224,.6))}
html.theme-light .settings-btn{color:#3A5878;filter:none}
html.theme-light .settings-btn:hover{color:#1A3858;filter:drop-shadow(0 0 6px rgba(58,88,120,.4))}

#settings-overlay{
  position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);
  display:none;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(6px);
}
#settings-overlay.active{display:flex}
#settings-modal{
  background:linear-gradient(180deg,#181410 0%,#0F0C08 100%);
  border:1px solid rgba(192,160,80,.5);border-radius:6px;
  max-width:520px;width:100%;max-height:85vh;overflow-y:auto;
  padding:36px 32px 28px;position:relative;
  box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 0 1px rgba(192,160,80,.1);
  font-family:var(--font-body,Georgia,serif);color:#D8C8A0;
}
html.theme-light #settings-modal{
  background:linear-gradient(180deg,#F4ECD8 0%,#EBE0C2 100%);
  color:#3A2A18;border-color:rgba(122,74,32,.5);
}
#settings-modal-close{
  position:absolute;top:14px;right:14px;background:transparent;
  border:1px solid rgba(192,160,80,.3);color:#A08858;
  width:30px;height:30px;border-radius:50%;cursor:pointer;
  font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;
}
#settings-modal-close:hover{color:#C0A050;border-color:#C0A050}
html.theme-light #settings-modal-close{color:#7A4A20;border-color:rgba(122,74,32,.4)}
#settings-modal-rule{text-align:center;color:#8A7038;letter-spacing:8px;font-size:14px;margin-bottom:6px}
#settings-modal-title{
  text-align:center;font-family:var(--font-heading,serif);
  font-size:22px;color:#E0C880;letter-spacing:3px;text-transform:uppercase;
  margin-bottom:20px;font-weight:normal;
}
html.theme-light #settings-modal-title{color:#5A3818}
#settings-modal-body{padding:0 4px}
.settings-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px dashed rgba(192,160,80,.18)}
.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.settings-section-head{
  font-family:var(--font-heading,serif);font-size:14px;color:#C0A050;
  text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;
}
html.theme-light .settings-section-head{color:#7A3818}
.settings-section-desc{font-size:13px;color:#A89878;line-height:1.5;margin-bottom:12px;font-style:italic}
html.theme-light .settings-section-desc{color:#5A4828}
.settings-input-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#settings-age-input{
  background:rgba(0,0,0,.35);border:1px solid rgba(192,160,80,.3);
  color:#E8D8A8;padding:8px 12px;border-radius:4px;font-size:15px;
  font-family:var(--font-body,Georgia,serif);width:80px;
}
#settings-age-input:focus{border-color:#C0A050;outline:none;background:rgba(0,0,0,.5)}
html.theme-light #settings-age-input{background:rgba(255,253,245,.7);color:#3A2A18;border-color:rgba(122,74,32,.4)}
#settings-age-stage-display{
  font-size:14px;color:#C0A050;font-style:italic;
  font-family:var(--font-body,Georgia,serif);
}
html.theme-light #settings-age-stage-display{color:#7A4A20}
#settings-modal-footer{
  text-align:center;color:#7A6028;letter-spacing:2px;font-size:11px;
  margin-top:24px;padding-top:14px;border-top:1px dashed rgba(192,160,80,.2);
  font-style:italic;
}
html.theme-light #settings-modal-footer{color:#7A5A28;border-top-color:rgba(122,74,32,.3)}

/* ================================================================
   Lifecycle stage — currently active stage
   ================================================================ */
.lifecycle-stage-current{
  position:relative;
  background:linear-gradient(180deg,rgba(192,160,80,.10),rgba(192,160,80,.04));
  border:1px solid rgba(192,160,80,.35) !important;
  border-radius:5px;
  padding:10px 12px !important;
  margin:6px -8px !important;
  box-shadow:0 0 16px rgba(192,160,80,.12), inset 0 0 24px rgba(192,160,80,.05);
}
.lifecycle-stage-current::before{
  content:'\25CF You are here';
  position:absolute;top:-9px;right:10px;
  background:linear-gradient(180deg,#3A2818,#1F1408);
  border:1px solid rgba(192,160,80,.5);
  color:#E0C880;
  font-family:var(--font-heading,serif);
  font-size:9px;letter-spacing:2px;text-transform:uppercase;
  padding:2px 8px;border-radius:3px;
  font-style:normal;font-weight:normal;
}
.lifecycle-stage-current .lifecycle-stage-name{color:#E8C870 !important;font-weight:600}
html.theme-light .lifecycle-stage-current{
  background:linear-gradient(180deg,rgba(122,74,32,.10),rgba(122,74,32,.04));
  border-color:rgba(122,74,32,.45) !important;
  box-shadow:0 0 16px rgba(122,74,32,.12);
}
html.theme-light .lifecycle-stage-current::before{
  background:linear-gradient(180deg,#F4E8D0,#E8D8B8);
  color:#5A3818;border-color:rgba(122,74,32,.5);
}
html.theme-light .lifecycle-stage-current .lifecycle-stage-name{color:#5A3818 !important}

/* Mobile */
@media (max-width:600px){
  #settings-modal{padding:28px 20px 20px;max-height:90vh}
  #settings-modal-title{font-size:18px;letter-spacing:2px}
  .settings-btn{width:32px;height:32px;font-size:16px}
}


/* ================================================================
   Glossary terms + popover
   ================================================================ */
.gloss-term {
  border-bottom: 1px dotted rgba(192,160,80,.55);
  cursor: help;
  text-decoration: none;
  transition: all .15s;
}
.gloss-term:hover {
  border-bottom-color: #C0A050;
  background: rgba(192,160,80,.08);
  color: #E8D8A8;
}
html.theme-light .gloss-term {
  border-bottom-color: rgba(122,74,32,.55);
}
html.theme-light .gloss-term:hover {
  border-bottom-color: #7A4A20;
  background: rgba(122,74,32,.08);
  color: #3A2A18;
}

#gloss-popover {
  position: absolute;
  display: none;
  width: 320px;
  background: linear-gradient(180deg,#1F1810 0%,#15100A 100%);
  border: 1px solid rgba(192,160,80,.5);
  border-radius: 4px;
  padding: 14px 16px 12px;
  z-index: 1100;
  box-shadow: 0 16px 40px rgba(0,0,0,.75), 0 0 0 1px rgba(192,160,80,.08);
  font-family: var(--font-body, Georgia, serif);
  color: #D8C8A0;
  font-size: 13px;
  line-height: 1.55;
}
#gloss-popover.active { display: block; }
html.theme-light #gloss-popover {
  background: linear-gradient(180deg,#F4ECD8 0%,#EBE0C2 100%);
  color: #3A2A18;
  border-color: rgba(122,74,32,.5);
}
.gloss-pop-close {
  position: absolute; top: 6px; right: 6px;
  background: transparent; border: none; color: #8A7038;
  width: 22px; height: 22px; cursor: pointer;
  font-size: 12px; line-height: 1; padding: 0;
  display: flex; align-items: center; justify-content: center;
}
.gloss-pop-close:hover { color: #C0A050; }
html.theme-light .gloss-pop-close { color: #7A5A28; }
html.theme-light .gloss-pop-close:hover { color: #5A3818; }
.gloss-pop-term {
  font-family: var(--font-heading, serif);
  color: #E0C880;
  font-size: 14px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 4px;
  padding-right: 18px;
}
html.theme-light .gloss-pop-term { color: #5A3818; }
.gloss-pop-fullrow {
  font-size: 12px;
  font-style: italic;
  color: #A89878;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px dashed rgba(192,160,80,.18);
}
html.theme-light .gloss-pop-fullrow {
  color: #6A5828;
  border-bottom-color: rgba(122,74,32,.25);
}
.gloss-pop-def {
  font-size: 13px;
  line-height: 1.55;
  color: #C8B888;
}
html.theme-light .gloss-pop-def { color: #4A3818; }

@media (max-width: 600px) {
  #gloss-popover {
    width: calc(100vw - 24px);
    max-width: 320px;
    font-size: 14px;
  }
}


/* ================================================================
   Global search results panel
   ================================================================ */
.search-results {
  display: none;
  position: relative;
  margin: 6px 0 0;
  max-height: 480px;
  overflow-y: auto;
  background: linear-gradient(180deg,#1F1810 0%,#15100A 100%);
  border: 1px solid rgba(192,160,80,.45);
  border-radius: 4px;
  box-shadow: 0 12px 40px rgba(0,0,0,.5);
  z-index: 50;
}
.search-results.active { display: block; }
html.theme-light .search-results {
  background: linear-gradient(180deg,#F4ECD8 0%,#EBE0C2 100%);
  border-color: rgba(122,74,32,.45);
}
.search-results-head {
  padding: 8px 14px;
  font-family: var(--font-heading, serif);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #A08858;
  border-bottom: 1px dashed rgba(192,160,80,.18);
  background: rgba(0,0,0,.2);
}
html.theme-light .search-results-head {
  color: #6A4818;
  background: rgba(122,74,32,.06);
  border-bottom-color: rgba(122,74,32,.2);
}
.search-results-empty {
  padding: 16px;
  text-align: center;
  color: #8A7848;
  font-style: italic;
  font-size: 13px;
}
html.theme-light .search-results-empty { color: #6A5828; }
.search-result {
  padding: 10px 14px;
  border-bottom: 1px dashed rgba(192,160,80,.12);
  cursor: pointer;
  transition: background .12s;
}
.search-result:last-child { border-bottom: none; }
.search-result:hover {
  background: rgba(192,160,80,.08);
}
html.theme-light .search-result {
  border-bottom-color: rgba(122,74,32,.15);
}
html.theme-light .search-result:hover {
  background: rgba(122,74,32,.08);
}
.search-result-meta {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
  font-size: 11px;
  flex-wrap: wrap;
}
.search-result-type {
  font-family: var(--font-heading, serif);
  color: #E0C880;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
html.theme-light .search-result-type { color: #5A3818; }
.search-result-sep { color: #6A5828; }
html.theme-light .search-result-sep { color: #8A6838; }
.search-result-plate {
  color: #A89878;
  font-style: italic;
  font-size: 11px;
}
html.theme-light .search-result-plate { color: #6A5828; }
.search-result-snippet {
  font-size: 13px;
  color: #C8B888;
  line-height: 1.4;
  font-family: var(--font-body, Georgia, serif);
}
html.theme-light .search-result-snippet { color: #4A3818; }
.search-result-snippet mark {
  background: rgba(224,200,128,.25);
  color: #E8D8A8;
  padding: 1px 3px;
  border-radius: 2px;
  font-weight: 600;
}
html.theme-light .search-result-snippet mark {
  background: rgba(255,200,80,.45);
  color: #2A1808;
}

/* Card highlight when navigated-to from search */
.card.search-target-flash {
  animation: search-target-flash 1.6s ease-out;
}
@keyframes search-target-flash {
  0% { box-shadow: 0 0 0 0 rgba(224,200,128,.0); }
  20% { box-shadow: 0 0 0 8px rgba(224,200,128,.45), 0 0 32px rgba(224,200,128,.4); }
  100% { box-shadow: 0 0 0 0 rgba(224,200,128,0); }
}

@media (max-width: 600px) {
  .search-results { max-height: 60vh; }
  .search-result { padding: 12px 12px; }
  .search-result-snippet { font-size: 13px; }
}


/* ================================================================
   Codex tool buttons (Sources, Concepts) — siblings to gear
   ================================================================ */
.codex-tool-btn{
  background:transparent;border:none;color:#7090C0;
  cursor:pointer;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:10px;
  width:34px;height:34px;
  font-size:30px;line-height:1;
  font-family:var(--font-heading,Georgia,serif);
  transition:transform .25s ease,color .25s,filter .25s;
  vertical-align:middle;
  filter:drop-shadow(0 0 6px rgba(112,144,192,.35));
}
.codex-tool-btn:hover{
  color:#A8C0E0;
  transform:scale(1.12);
  filter:drop-shadow(0 0 12px rgba(168,192,224,.55));
}
html.theme-light .codex-tool-btn{color:#3A5878;filter:none}
html.theme-light .codex-tool-btn:hover{color:#1A3858;filter:drop-shadow(0 0 5px rgba(58,88,120,.35))}

/* ================================================================
   Sources modal
   ================================================================ */
#sources-overlay{
  position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);
  display:none;align-items:flex-start;justify-content:center;padding:32px 20px;
  backdrop-filter:blur(6px);overflow-y:auto;
}
#sources-overlay.active{display:flex}
#sources-modal{
  background:linear-gradient(180deg,#181410 0%,#0F0C08 100%);
  border:1px solid rgba(192,160,80,.5);border-radius:6px;
  max-width:760px;width:100%;
  padding:36px 36px 28px;position:relative;
  box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 0 1px rgba(192,160,80,.1);
  font-family:var(--font-body,Georgia,serif);color:#D8C8A0;
  margin:auto 0;
}
html.theme-light #sources-modal{
  background:linear-gradient(180deg,#F4ECD8 0%,#EBE0C2 100%);
  color:#3A2A18;border-color:rgba(122,74,32,.5);
}
#sources-modal-close{
  position:absolute;top:14px;right:14px;background:transparent;
  border:1px solid rgba(192,160,80,.3);color:#A08858;
  width:30px;height:30px;border-radius:50%;cursor:pointer;
  font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2;
}
#sources-modal-close:hover{color:#C0A050;border-color:#C0A050}
html.theme-light #sources-modal-close{color:#7A4A20;border-color:rgba(122,74,32,.4)}
#sources-modal-rule{text-align:center;color:#8A7038;letter-spacing:8px;font-size:14px;margin-bottom:6px}
#sources-modal-title{
  text-align:center;font-family:var(--font-heading,serif);
  font-size:24px;color:#E0C880;letter-spacing:3px;text-transform:uppercase;
  margin-bottom:8px;font-weight:normal;
}
html.theme-light #sources-modal-title{color:#5A3818}
#sources-modal-preface{
  text-align:center;font-style:italic;font-size:13px;
  color:#A89878;line-height:1.55;margin-bottom:20px;padding:0 12px;
}
html.theme-light #sources-modal-preface{color:#5A4828}
#sources-filter-row{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  margin-bottom:24px;padding-bottom:18px;
  border-bottom:1px dashed rgba(192,160,80,.18);
}
.sources-filter-btn{
  background:transparent;border:1px solid rgba(192,160,80,.3);
  color:#A89878;padding:5px 12px;border-radius:3px;cursor:pointer;
  font-family:var(--font-heading,serif);font-size:11px;
  letter-spacing:1.5px;text-transform:uppercase;transition:all .15s;
}
.sources-filter-btn:hover{color:#C0A050;border-color:#C0A050}
.sources-filter-btn.active{background:rgba(192,160,80,.15);color:#E0C880;border-color:#C0A050}
html.theme-light .sources-filter-btn{color:#7A5A28;border-color:rgba(122,74,32,.3)}
html.theme-light .sources-filter-btn:hover{color:#5A3818;border-color:#7A4A20}
html.theme-light .sources-filter-btn.active{background:rgba(122,74,32,.15);color:#3A1808;border-color:#7A4A20}
.source-entry{
  margin-bottom:22px;padding:18px 18px 14px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(192,160,80,.18);
  border-radius:4px;
}
html.theme-light .source-entry{background:rgba(255,250,235,.4);border-color:rgba(122,74,32,.18)}
.source-entry:last-child{margin-bottom:0}
.source-header{
  display:flex;justify-content:space-between;align-items:flex-start;
  flex-wrap:wrap;gap:8px;margin-bottom:10px;padding-bottom:8px;
  border-bottom:1px dashed rgba(192,160,80,.15);
}
.source-name-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.source-name{font-family:var(--font-heading,serif);font-size:16px;color:#E0C880;letter-spacing:1px}
html.theme-light .source-name{color:#5A2818}
.source-dates{font-size:12px;color:#8A7848;font-style:italic}
html.theme-light .source-dates{color:#7A5828}
.source-tradition-tag{
  font-family:var(--font-heading,serif);
  font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:#8A7038;padding:2px 8px;
  border:1px solid rgba(192,160,80,.25);border-radius:2px;white-space:nowrap;
}
html.theme-light .source-tradition-tag{color:#7A5828;border-color:rgba(122,74,32,.3)}
.source-bio{font-size:13px;line-height:1.6;color:#C8B888;margin-bottom:8px}
html.theme-light .source-bio{color:#3A2A18}
.source-works{font-size:12px;color:#A89878;font-style:italic;margin-bottom:10px;line-height:1.5}
html.theme-light .source-works{color:#6A4828}
.source-works-label{
  font-family:var(--font-heading,serif);font-style:normal;
  letter-spacing:1.5px;text-transform:uppercase;font-size:10px;
  color:#8A7038;margin-right:4px;
}
html.theme-light .source-works-label{color:#7A4A20}
.source-cites{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}
.source-cites-label{
  font-family:var(--font-heading,serif);
  font-size:10px;letter-spacing:1.5px;text-transform:uppercase;
  color:#8A7038;margin-right:4px;
}
html.theme-light .source-cites-label{color:#7A4A20}
.source-cite-tag{
  display:inline-block;background:rgba(192,160,80,.10);
  border:1px solid rgba(192,160,80,.32);color:#C0A050;
  padding:3px 9px;border-radius:3px;cursor:pointer;
  font-family:var(--font-body,Georgia,serif);
  font-size:11px;letter-spacing:.5px;transition:all .15s;
}
.source-cite-tag:hover{background:rgba(192,160,80,.22);border-color:#C0A050;color:#E0C880;transform:translateY(-1px)}
html.theme-light .source-cite-tag{background:rgba(122,74,32,.08);border-color:rgba(122,74,32,.35);color:#7A4A20}
html.theme-light .source-cite-tag:hover{background:rgba(122,74,32,.18);color:#3A1808;border-color:#5A2818}
.sources-empty{text-align:center;padding:40px;color:#8A7038;font-style:italic}
html.theme-light .sources-empty{color:#7A5828}
#sources-modal-footer{
  text-align:center;color:#7A6028;letter-spacing:2px;font-size:11px;
  margin-top:24px;padding-top:14px;border-top:1px dashed rgba(192,160,80,.2);
  font-style:italic;
}
html.theme-light #sources-modal-footer{color:#7A5A28;border-top-color:rgba(122,74,32,.3)}

.section-flash{animation:section-flash 1.6s ease-out}
@keyframes section-flash{
  0%{box-shadow:0 0 0 0 rgba(224,200,128,0)}
  20%{box-shadow:0 0 0 6px rgba(224,200,128,.45),0 0 24px rgba(224,200,128,.4)}
  100%{box-shadow:0 0 0 0 rgba(224,200,128,0)}
}

@media (max-width:600px){
  #sources-modal{padding:24px 18px 18px}
  #sources-modal-title{font-size:20px;letter-spacing:2px}
  .source-entry{padding:14px 14px 12px}
  .source-name{font-size:15px}
  #sources-overlay{padding:16px 12px}
  .codex-tool-btn{width:30px;height:30px;font-size:26px;margin-left:8px}
}


/* ================================================================
   Concepts modal
   ================================================================ */
#concepts-overlay{
  position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);
  display:none;align-items:flex-start;justify-content:center;padding:32px 20px;
  backdrop-filter:blur(6px);overflow-y:auto;
}
#concepts-overlay.active{display:flex}
#concepts-modal{
  background:linear-gradient(180deg,#181410 0%,#0F0C08 100%);
  border:1px solid rgba(192,160,80,.5);border-radius:6px;
  max-width:820px;width:100%;
  padding:36px 36px 28px;position:relative;
  box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 0 1px rgba(192,160,80,.1);
  font-family:var(--font-body,Georgia,serif);color:#D8C8A0;
  margin:auto 0;
}
html.theme-light #concepts-modal{
  background:linear-gradient(180deg,#F4ECD8 0%,#EBE0C2 100%);
  color:#3A2A18;border-color:rgba(122,74,32,.5);
}
#concepts-modal-close{
  position:absolute;top:14px;right:14px;background:transparent;
  border:1px solid rgba(192,160,80,.3);color:#A08858;
  width:30px;height:30px;border-radius:50%;cursor:pointer;
  font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2;
}
#concepts-modal-close:hover{color:#C0A050;border-color:#C0A050}
html.theme-light #concepts-modal-close{color:#7A4A20;border-color:rgba(122,74,32,.4)}
#concepts-modal-rule{text-align:center;color:#8A7038;letter-spacing:8px;font-size:14px;margin-bottom:6px}
#concepts-modal-title{
  text-align:center;font-family:var(--font-heading,serif);
  font-size:24px;color:#E0C880;letter-spacing:3px;text-transform:uppercase;
  margin-bottom:8px;font-weight:normal;
}
html.theme-light #concepts-modal-title{color:#5A3818}
#concepts-modal-preface{
  text-align:center;font-style:italic;font-size:13px;
  color:#A89878;line-height:1.55;margin-bottom:20px;padding:0 12px;
}
html.theme-light #concepts-modal-preface{color:#5A4828}

#concepts-selector{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  margin-bottom:24px;padding-bottom:18px;
  border-bottom:1px dashed rgba(192,160,80,.18);
}
.concept-pill{
  background:transparent;border:1px solid rgba(192,160,80,.3);
  color:#A89878;padding:6px 14px;border-radius:18px;cursor:pointer;
  font-family:var(--font-heading,serif);font-size:11px;
  letter-spacing:1.5px;text-transform:uppercase;
  transition:all .15s;
}
.concept-pill:hover{color:#C0A050;border-color:#C0A050}
.concept-pill.active{background:rgba(192,160,80,.15);color:#E0C880;border-color:#C0A050;box-shadow:0 0 8px rgba(192,160,80,.2)}
html.theme-light .concept-pill{color:#7A5A28;border-color:rgba(122,74,32,.3)}
html.theme-light .concept-pill:hover{color:#5A3818;border-color:#7A4A20}
html.theme-light .concept-pill.active{background:rgba(122,74,32,.15);color:#3A1808;border-color:#7A4A20}

.concept-title{
  text-align:center;
  font-family:var(--font-heading,serif);
  font-size:20px;color:#E0C880;letter-spacing:6px;text-transform:uppercase;
  margin-bottom:18px;padding-bottom:10px;
  border-bottom:1px solid rgba(192,160,80,.2);
}
html.theme-light .concept-title{color:#5A3818;border-bottom-color:rgba(122,74,32,.25)}

.concept-traditions{display:flex;flex-direction:column;gap:14px}

.concept-panel{padding:16px 18px 14px}
.concept-panel-head{
  font-family:var(--font-heading,serif);
  font-size:13px;letter-spacing:2px;text-transform:uppercase;
  margin-bottom:2px;
}
.concept-panel-attr{
  font-size:11px;font-style:italic;
  margin-bottom:10px;padding-bottom:8px;
  border-bottom:1px dashed rgba(192,160,80,.15);
}
.concept-panel-text{
  font-size:13px;line-height:1.6;
}

#concepts-modal-footer{
  text-align:center;color:#7A6028;letter-spacing:2px;font-size:11px;
  margin-top:24px;padding-top:14px;border-top:1px dashed rgba(192,160,80,.2);
  font-style:italic;
}
html.theme-light #concepts-modal-footer{color:#7A5A28;border-top-color:rgba(122,74,32,.3)}

/* ─── Galenic panel (default amber, no override needed) ─── */
.galenic-panel .concept-panel-head{color:#D4B060}
.galenic-panel .concept-panel-attr{color:#A88848;border-bottom-color:rgba(192,160,80,.18)}
.galenic-panel .concept-panel-text{color:#C8B888}
html.theme-light .galenic-panel .concept-panel-head{color:#7A4818}
html.theme-light .galenic-panel .concept-panel-attr{color:#8A6028}
html.theme-light .galenic-panel .concept-panel-text{color:#3A2A18}

/* ─── Jade panel (NEW — for TCM) ─── */
.jade-plate{background:linear-gradient(180deg,rgba(20,30,24,.55),rgba(16,24,18,.4));border-color:rgba(100,170,130,.32)}
.jade-plate::before,.jade-plate::after{color:#7AB890}
.jade-plate .sl{color:#7AB890}
.jade-plate .sl-orn{color:#7AB890;text-shadow:0 0 10px rgba(122,184,144,.4)}
.jade-plate .sl-attr{color:#608870}
.jade-plate .phys-signs-sub{color:#7AB890;border-top-color:rgba(100,170,130,.22)}
html.theme-light .jade-plate{background:linear-gradient(180deg,rgba(228,240,232,.6),rgba(220,236,224,.55));border-color:#88B898}
html.theme-light .jade-plate .sl,html.theme-light .jade-plate .sl-orn,html.theme-light .jade-plate .phys-signs-sub{color:#1A4828}
html.theme-light .jade-plate .sl-orn{text-shadow:none}
html.theme-light .jade-plate .sl-attr{color:#3A6038}
html.theme-light .jade-plate .phys-signs-sub{border-top-color:#A0C8B0}
.tcm-panel .concept-panel-head{color:#88C098}
.tcm-panel .concept-panel-attr{color:#608870;border-bottom-color:rgba(100,170,130,.2)}
.tcm-panel .concept-panel-text{color:#B8D4C0}
html.theme-light .tcm-panel .concept-panel-head{color:#1A4828}
html.theme-light .tcm-panel .concept-panel-attr{color:#3A6038}
html.theme-light .tcm-panel .concept-panel-text{color:#1A3818}

/* ─── Saffron panel (NEW — for Ayurveda) ─── */
.saffron-plate{background:linear-gradient(180deg,rgba(34,22,12,.55),rgba(28,18,8,.4));border-color:rgba(210,140,60,.34)}
.saffron-plate::before,.saffron-plate::after{color:#D89858}
.saffron-plate .sl{color:#D89858}
.saffron-plate .sl-orn{color:#D89858;text-shadow:0 0 10px rgba(216,152,88,.4)}
.saffron-plate .sl-attr{color:#A47040}
.saffron-plate .phys-signs-sub{color:#D89858;border-top-color:rgba(210,140,60,.22)}
html.theme-light .saffron-plate{background:linear-gradient(180deg,rgba(248,232,212,.6),rgba(244,224,200,.55));border-color:#C88840}
html.theme-light .saffron-plate .sl,html.theme-light .saffron-plate .sl-orn,html.theme-light .saffron-plate .phys-signs-sub{color:#7A4818}
html.theme-light .saffron-plate .sl-orn{text-shadow:none}
html.theme-light .saffron-plate .sl-attr{color:#9A6028}
html.theme-light .saffron-plate .phys-signs-sub{border-top-color:#C88840}
.ayurveda-panel .concept-panel-head{color:#E0A060}
.ayurveda-panel .concept-panel-attr{color:#A47040;border-bottom-color:rgba(210,140,60,.2)}
.ayurveda-panel .concept-panel-text{color:#D4B898}
html.theme-light .ayurveda-panel .concept-panel-head{color:#7A4818}
html.theme-light .ayurveda-panel .concept-panel-attr{color:#9A6028}
html.theme-light .ayurveda-panel .concept-panel-text{color:#3A2008}

/* ─── Jungian panel (reuses mind-plate violet) ─── */
.jungian-panel .concept-panel-head{color:#A89CC8}
.jungian-panel .concept-panel-attr{color:#807094;border-bottom-color:rgba(130,110,180,.2)}
.jungian-panel .concept-panel-text{color:#B8B0D0}
html.theme-light .jungian-panel .concept-panel-head{color:#383058}
html.theme-light .jungian-panel .concept-panel-attr{color:#5A4870}
html.theme-light .jungian-panel .concept-panel-text{color:#2A1F40}

/* ─── Modern psychology panel (reuses clinical-plate teal) ─── */
.modern-panel .concept-panel-head{color:#7AB4BC}
.modern-panel .concept-panel-attr{color:#588890;border-bottom-color:rgba(80,150,150,.2)}
.modern-panel .concept-panel-text{color:#A8C8CC}
html.theme-light .modern-panel .concept-panel-head{color:#1A484E}
html.theme-light .modern-panel .concept-panel-attr{color:#386068}
html.theme-light .modern-panel .concept-panel-text{color:#0A2A30}

/* ─── Body psychology panel (reuses phen-plate bone) ─── */
.body-panel .concept-panel-head{color:#C8B898}
.body-panel .concept-panel-attr{color:#988868;border-bottom-color:rgba(170,150,110,.2)}
.body-panel .concept-panel-text{color:#C8B898}
html.theme-light .body-panel .concept-panel-head{color:#5A4828}
html.theme-light .body-panel .concept-panel-attr{color:#7A6838}
html.theme-light .body-panel .concept-panel-text{color:#3A2818}

@media (max-width:600px){
  #concepts-modal{padding:24px 18px 18px}
  #concepts-modal-title{font-size:20px;letter-spacing:2px}
  .concept-pill{padding:5px 11px;font-size:10px}
  .concept-panel{padding:14px 14px 12px}
  #concepts-overlay{padding:16px 12px}
}

/* ─── Defense plate (deep aubergine — psychoanalytic register) ─── */
.defense-plate{background:linear-gradient(180deg,rgba(28,18,28,.55),rgba(22,14,22,.4));border-color:rgba(140,80,140,.32)}
.defense-plate::before,.defense-plate::after{color:#A878A8}
.defense-plate .sl{color:#A878A8}
.defense-plate .sl-orn{color:#A878A8;text-shadow:0 0 10px rgba(168,120,168,.4)}
.defense-plate .sl-attr{color:#886088}
.defense-plate .phys-signs-sub{color:#A878A8;border-top-color:rgba(140,80,140,.22)}
html.theme-light .defense-plate{background:linear-gradient(180deg,rgba(232,210,232,.6),rgba(224,200,224,.55));border-color:#9868A0}
html.theme-light .defense-plate::before,html.theme-light .defense-plate::after,html.theme-light .defense-plate .sl,html.theme-light .defense-plate .sl-orn,html.theme-light .defense-plate .phys-signs-sub{color:#3A1840}
html.theme-light .defense-plate .sl-orn{text-shadow:none}
html.theme-light .defense-plate .sl-attr{color:#5A3060}
html.theme-light .defense-plate .phys-signs-sub{border-top-color:#9868A0}

/* ─── Conflict plate (ember-red — negotiation tension register) ─── */
.conflict-plate{background:linear-gradient(180deg,rgba(32,18,14,.55),rgba(26,14,12,.4));border-color:rgba(200,80,60,.32)}
.conflict-plate::before,.conflict-plate::after{color:#C87858}
.conflict-plate .sl{color:#C87858}
.conflict-plate .sl-orn{color:#C87858;text-shadow:0 0 10px rgba(200,120,88,.4)}
.conflict-plate .sl-attr{color:#A86040}
.conflict-plate .phys-signs-sub{color:#C87858;border-top-color:rgba(200,80,60,.22)}
html.theme-light .conflict-plate{background:linear-gradient(180deg,rgba(250,222,212,.6),rgba(246,212,200,.55));border-color:#B85838}
html.theme-light .conflict-plate::before,html.theme-light .conflict-plate::after,html.theme-light .conflict-plate .sl,html.theme-light .conflict-plate .sl-orn,html.theme-light .conflict-plate .phys-signs-sub{color:#5A1810}
html.theme-light .conflict-plate .sl-orn{text-shadow:none}
html.theme-light .conflict-plate .sl-attr{color:#7A2A18}
html.theme-light .conflict-plate .phys-signs-sub{border-top-color:#B85838}

/* ─── Humor plate (bright marigold — playful register) ─── */
.humor-plate{background:linear-gradient(180deg,rgba(32,24,12,.55),rgba(26,20,10,.4));border-color:rgba(220,160,60,.32)}
.humor-plate::before,.humor-plate::after{color:#D8A858}
.humor-plate .sl{color:#D8A858}
.humor-plate .sl-orn{color:#D8A858;text-shadow:0 0 10px rgba(216,168,88,.4)}
.humor-plate .sl-attr{color:#B88838}
.humor-plate .phys-signs-sub{color:#D8A858;border-top-color:rgba(220,160,60,.22)}
html.theme-light .humor-plate{background:linear-gradient(180deg,rgba(252,236,200,.6),rgba(248,228,184,.55));border-color:#C88820}
html.theme-light .humor-plate::before,html.theme-light .humor-plate::after,html.theme-light .humor-plate .sl,html.theme-light .humor-plate .sl-orn,html.theme-light .humor-plate .phys-signs-sub{color:#5A3A08}
html.theme-light .humor-plate .sl-orn{text-shadow:none}
html.theme-light .humor-plate .sl-attr{color:#7A4A18}
html.theme-light .humor-plate .phys-signs-sub{border-top-color:#C88820}

/* ─── Source Extended Reference (collapsible block within source modal entry) ─── */
.src-ext-plate{margin-top:14px;cursor:default}
.src-ext-toggle{cursor:pointer;user-select:none}
.src-ext-toggle:hover .sl-orn{text-shadow:0 0 14px currentColor}
.src-ext-cue{margin-left:auto;font-family:var(--font-body,sans-serif);font-size:11px;letter-spacing:.6px;opacity:.7;font-weight:normal;text-transform:none}
.src-ext-content{display:none;margin-top:14px;padding-top:12px;border-top:1px dashed currentColor;border-top-color:rgba(255,255,255,.12)}
.src-ext-plate.src-ext-open .src-ext-content{display:block}
.src-ext-sub{font-family:var(--font-heading,serif);font-size:13px;letter-spacing:1.4px;text-transform:uppercase;margin:14px 0 8px;padding-bottom:4px;border-bottom:1px dashed currentColor;border-bottom-color:rgba(255,255,255,.18);opacity:.85}
.src-ext-body{line-height:1.7;font-size:14px;margin-bottom:12px;opacity:.92}
.src-ext-struct-head{font-family:var(--font-heading,serif);font-size:13px;letter-spacing:1.6px;color:#C8A0A0;margin:18px 0 6px;font-weight:600}
.src-ext-biblio>div{font-size:12px;line-height:1.55;opacity:.85}
html.theme-light .src-ext-content{border-top-color:rgba(0,0,0,.18)}
html.theme-light .src-ext-sub{border-bottom-color:rgba(0,0,0,.22)}
html.theme-light .src-ext-struct-head{color:#5A1820}

/* ─── Pointer link from Deeper Studies → Sources page ─── */
.src-ref-pointer{margin-top:14px;padding:10px 14px;text-align:center;font-family:var(--font-heading,serif);font-size:12px;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;border:1px dashed rgba(200,160,120,.32);border-radius:3px;color:#B89878;background:rgba(20,16,12,.25);transition:all .25s ease;user-select:none}
.src-ref-pointer:hover{color:#D8B898;border-color:rgba(200,160,120,.55);background:rgba(40,30,20,.4)}
html.theme-light .src-ref-pointer{color:#6A4828;border-color:rgba(120,80,40,.4);background:rgba(248,240,228,.45)}
html.theme-light .src-ref-pointer:hover{color:#3A2410;border-color:rgba(120,80,40,.7);background:rgba(244,232,212,.7)}

/* ─── Highlight flash on source entry when navigated to from a pointer ─── */
.src-entry-flash{animation:srcFlash 1.8s ease-out}
@keyframes srcFlash{0%{box-shadow:0 0 0 2px rgba(200,160,120,.6),0 0 22px rgba(200,160,120,.4)}100%{box-shadow:0 0 0 0 rgba(200,160,120,0),0 0 0 rgba(200,160,120,0)}}

/* ─── Reference Plate (lapis blue — for source-extended-reference apparatus) ─── */
.ref-plate{background:linear-gradient(180deg,rgba(12,22,36,.55),rgba(8,16,28,.4));border-color:rgba(70,120,180,.38)}
.ref-plate::before,.ref-plate::after{color:#7AA8D8}
.ref-plate .sl{color:#7AA8D8}
.ref-plate .sl-orn{color:#7AA8D8;text-shadow:0 0 10px rgba(122,168,216,.4)}
.ref-plate .sl-attr{color:#5A88B0}
.ref-plate .phys-signs-sub{color:#7AA8D8;border-top-color:rgba(70,120,180,.25)}
html.theme-light .ref-plate{background:linear-gradient(180deg,rgba(220,232,248,.6),rgba(208,222,242,.55));border-color:#3868A0}
html.theme-light .ref-plate::before,html.theme-light .ref-plate::after,html.theme-light .ref-plate .sl,html.theme-light .ref-plate .sl-orn,html.theme-light .ref-plate .phys-signs-sub{color:#0A2A58}
html.theme-light .ref-plate .sl-orn{text-shadow:none}
html.theme-light .ref-plate .sl-attr{color:#1A4878}
html.theme-light .ref-plate .phys-signs-sub{border-top-color:#3868A0}


/* --- Spirit tab plates --- */
.diagnosis-plate {
  background: linear-gradient(180deg, rgba(60, 12, 12, 0.92) 0%, rgba(80, 16, 16, 0.95) 100%);
  border: 1px solid #6A1F1F;
  box-shadow: 0 2px 8px rgba(40, 8, 8, 0.4), inset 0 1px 0 rgba(180, 60, 60, 0.15);
  color: #E8C8C0;
}
.diagnosis-plate .phys-signs-head {
  color: #D87060;
}
.diagnosis-plate .phys-signs-attr em {
  color: #B89890;
}
.diagnosis-plate .phys-signs-sub {
  color: #C88070;
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 14px;
  margin-bottom: 4px;
}
.diagnosis-plate .seasonal-val {
  color: #E8C8C0;
}

.cure-plate {
  background: linear-gradient(180deg, rgba(48, 28, 8, 0.90) 0%, rgba(64, 36, 12, 0.94) 100%);
  border: 1px solid #7A5A20;
  box-shadow: 0 2px 8px rgba(30, 18, 4, 0.4), inset 0 1px 0 rgba(220, 180, 80, 0.15);
  color: #E8D8A8;
}
.cure-plate .phys-signs-head {
  color: #E0B860;
}
.cure-plate .phys-signs-attr em {
  color: #C0A878;
}
.cure-plate .phys-signs-sub {
  color: #D0A050;
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 14px;
  margin-bottom: 4px;
}
.cure-plate .seasonal-val {
  color: #E8D8A8;
}

.vocation-plate {
  background: linear-gradient(180deg, rgba(40, 36, 24, 0.90) 0%, rgba(56, 48, 28, 0.94) 100%);
  border: 1px solid #807040;
  box-shadow: 0 2px 8px rgba(20, 18, 8, 0.4), inset 0 1px 0 rgba(240, 220, 160, 0.20);
  color: #F0E8C8;
}
.vocation-plate .phys-signs-head {
  color: #F0D880;
}
.vocation-plate .phys-signs-attr em {
  color: #C8B888;
}
.vocation-plate .phys-signs-sub {
  color: #D8C060;
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 14px;
  margin-bottom: 4px;
}
.vocation-plate .seasonal-val {
  color: #F0E8C8;
}

.trial-plate {
  background: linear-gradient(180deg, rgba(28, 20, 44, 0.92) 0%, rgba(40, 28, 60, 0.95) 100%);
  border: 1px solid #5A3F7A;
  box-shadow: 0 2px 8px rgba(16, 10, 24, 0.5), inset 0 1px 0 rgba(160, 120, 200, 0.15);
  color: #D8C8E8;
}
.trial-plate .phys-signs-head {
  color: #B080D8;
}
.trial-plate .phys-signs-attr em {
  color: #A898B8;
}
.trial-plate .phys-signs-sub {
  color: #A878C8;
  font-family: var(--font-heading);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 14px;
  margin-bottom: 4px;
}
.trial-plate .seasonal-val {
  color: #D8C8E8;
}

/* ================================================================
   Glossary modal (mirrors Sources/Concepts pattern)
   ================================================================ */
#glossary-overlay{
  position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);
  display:none;align-items:flex-start;justify-content:center;padding:32px 20px;
  backdrop-filter:blur(6px);overflow-y:auto;
}
#glossary-overlay.active{display:flex}
#glossary-modal{
  background:linear-gradient(180deg,#181410 0%,#0F0C08 100%);
  border:1px solid rgba(192,160,80,.5);border-radius:6px;
  max-width:760px;width:100%;
  padding:36px 36px 28px;position:relative;
  box-shadow:0 24px 80px rgba(0,0,0,.7),0 0 0 1px rgba(192,160,80,.1);
  font-family:var(--font-body,Georgia,serif);color:#D8C8A0;
  margin:auto 0;
}
html.theme-light #glossary-modal{
  background:linear-gradient(180deg,#F4ECD8 0%,#EBE0C2 100%);
  color:#3A2A18;border-color:rgba(122,74,32,.5);
}
#glossary-modal-close{
  position:absolute;top:14px;right:14px;background:transparent;
  border:1px solid rgba(192,160,80,.3);color:#A08858;
  width:30px;height:30px;border-radius:50%;cursor:pointer;
  font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;z-index:2;
}
#glossary-modal-close:hover{color:#C0A050;border-color:#C0A050}
html.theme-light #glossary-modal-close{color:#7A4A20;border-color:rgba(122,74,32,.4)}
#glossary-modal-rule{text-align:center;color:#8A7038;letter-spacing:8px;font-size:14px;margin-bottom:6px}
#glossary-modal-title{
  text-align:center;font-family:var(--font-heading,serif);
  font-size:24px;color:#E0C880;letter-spacing:3px;text-transform:uppercase;
  margin-bottom:8px;font-weight:normal;
}
html.theme-light #glossary-modal-title{color:#5A3818}
#glossary-modal-preface{
  text-align:center;font-style:italic;font-size:13px;
  color:#A89878;line-height:1.55;margin-bottom:18px;padding:0 12px;
}
html.theme-light #glossary-modal-preface{color:#5A4828}
#glossary-search{
  width:100%;box-sizing:border-box;
  background:rgba(0,0,0,.25);border:1px solid rgba(192,160,80,.32);
  color:#E8D8A8;padding:9px 14px;border-radius:3px;
  font-family:var(--font-body,Georgia,serif);font-size:13.5px;
  margin-bottom:14px;outline:none;transition:border-color .15s;
}
#glossary-search:focus{border-color:#C0A050}
#glossary-search::placeholder{color:#7A6838;font-style:italic}
html.theme-light #glossary-search{
  background:rgba(255,250,240,.5);color:#3A2A18;border-color:rgba(122,74,32,.32);
}
html.theme-light #glossary-search:focus{border-color:#7A4A20}
html.theme-light #glossary-search::placeholder{color:#9A7A48}
#glossary-filter-row{
  display:flex;flex-wrap:wrap;gap:6px;justify-content:center;
  margin-bottom:20px;padding-bottom:16px;
  border-bottom:1px dashed rgba(192,160,80,.18);
}
#glossary-filter-row:empty{display:none;border-bottom:none;margin-bottom:0;padding-bottom:0}
.glossary-filter-btn{
  background:transparent;border:1px solid rgba(192,160,80,.3);
  color:#A89878;padding:5px 12px;border-radius:3px;cursor:pointer;
  font-family:var(--font-heading,serif);font-size:11px;
  letter-spacing:1.5px;text-transform:uppercase;transition:all .15s;
}
.glossary-filter-btn:hover{color:#C0A050;border-color:#C0A050}
.glossary-filter-btn.active{background:rgba(192,160,80,.15);color:#E0C880;border-color:#C0A050}
html.theme-light .glossary-filter-btn{color:#7A5A28;border-color:rgba(122,74,32,.3)}
html.theme-light .glossary-filter-btn:hover{color:#5A3818;border-color:#7A4A20}
html.theme-light .glossary-filter-btn.active{background:rgba(122,74,32,.15);color:#3A1808;border-color:#7A4A20}
#glossary-list{}
.gloss-letter-divider{
  font-family:var(--font-heading,serif);
  font-size:18px;color:#8A7038;letter-spacing:4px;
  margin:18px 0 8px;padding:6px 0;
  border-bottom:1px dashed rgba(192,160,80,.22);
  text-align:center;
}
html.theme-light .gloss-letter-divider{color:#7A5A28;border-bottom-color:rgba(122,74,32,.22)}
.gloss-entry{
  margin-bottom:10px;padding:14px 18px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(192,160,80,.16);border-radius:4px;
  cursor:pointer;transition:border-color .15s,background .15s;
}
.gloss-entry:hover{border-color:rgba(192,160,80,.34);background:rgba(0,0,0,.24)}
.gloss-entry.expanded{background:rgba(0,0,0,.28);border-color:rgba(192,160,80,.42)}
html.theme-light .gloss-entry{background:rgba(122,74,32,.04);border-color:rgba(122,74,32,.18)}
html.theme-light .gloss-entry:hover{border-color:rgba(122,74,32,.36);background:rgba(122,74,32,.08)}
html.theme-light .gloss-entry.expanded{background:rgba(122,74,32,.10);border-color:rgba(122,74,32,.42)}
.gloss-entry-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.gloss-entry-term{
  font-family:var(--font-heading,serif);
  color:#E0C880;font-size:14px;letter-spacing:1.5px;
  text-transform:uppercase;font-weight:normal;
}
html.theme-light .gloss-entry-term{color:#5A3818}
.gloss-entry-full{
  color:#A89878;font-style:italic;font-size:12.5px;
}
html.theme-light .gloss-entry-full{color:#7A5A28}
.gloss-entry-tradition{
  margin-left:auto;
  font-family:var(--font-heading,serif);font-size:9px;
  letter-spacing:2px;text-transform:uppercase;
  color:#8A7038;padding:2px 8px;
  border:1px solid rgba(192,160,80,.28);border-radius:2px;
}
html.theme-light .gloss-entry-tradition{color:#7A5A28;border-color:rgba(122,74,32,.32)}
.gloss-entry-body{
  display:none;margin-top:10px;padding-top:10px;
  border-top:1px dashed rgba(192,160,80,.18);
  font-size:13.5px;line-height:1.65;color:#C8B898;
}
.gloss-entry.expanded .gloss-entry-body{display:block}
html.theme-light .gloss-entry-body{color:#3A2A18;border-top-color:rgba(122,74,32,.22)}
.gloss-entry-def{margin-bottom:10px}
.gloss-entry-etymology,.gloss-entry-cross{
  font-size:12.5px;line-height:1.6;color:#A89878;
  padding:8px 12px;background:rgba(0,0,0,.14);
  border-radius:3px;margin-top:8px;
}
html.theme-light .gloss-entry-etymology,html.theme-light .gloss-entry-cross{
  color:#5A4828;background:rgba(122,74,32,.06);
}
.gloss-entry-etymology-label,.gloss-entry-cross-label{
  font-family:var(--font-heading,serif);font-size:9px;
  letter-spacing:2px;text-transform:uppercase;
  color:#8A7038;margin-right:6px;
}
html.theme-light .gloss-entry-etymology-label,html.theme-light .gloss-entry-cross-label{color:#7A5A28}
.gloss-entry-sources{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gloss-entry-sources-label{
  font-family:var(--font-heading,serif);font-size:9px;
  letter-spacing:2px;text-transform:uppercase;
  color:#8A7038;
}
html.theme-light .gloss-entry-sources-label{color:#7A5A28}
.gloss-entry-source-link{
  background:transparent;border:1px solid rgba(192,160,80,.28);
  color:#A89878;padding:3px 9px;border-radius:2px;cursor:pointer;
  font-family:var(--font-body,Georgia,serif);font-size:11.5px;
  font-style:italic;transition:all .15s;
}
.gloss-entry-source-link:hover{color:#E0C880;border-color:#C0A050}
html.theme-light .gloss-entry-source-link{color:#7A5A28;border-color:rgba(122,74,32,.32)}
html.theme-light .gloss-entry-source-link:hover{color:#3A1808;border-color:#7A4A20}
#glossary-modal-footer{
  text-align:center;margin-top:24px;padding-top:18px;
  border-top:1px dashed rgba(192,160,80,.18);
  font-family:var(--font-heading,serif);font-size:11px;
  letter-spacing:3px;color:#7A6028;
}
html.theme-light #glossary-modal-footer{color:#7A5A28;border-top-color:rgba(122,74,32,.22)}
.gloss-empty{
  text-align:center;font-style:italic;color:#7A6838;
  padding:40px 20px;font-size:13px;
}
html.theme-light .gloss-empty{color:#9A7A48}

/* "View in Glossary" link in popover footer */
.gloss-pop-footer{
  margin-top:10px;padding-top:8px;
  border-top:1px dashed rgba(192,160,80,.22);
  text-align:right;
}
html.theme-light .gloss-pop-footer{border-top-color:rgba(122,74,32,.22)}
.gloss-pop-view-link{
  background:transparent;border:none;cursor:pointer;
  font-family:var(--font-heading,serif);font-size:10px;
  letter-spacing:1.8px;text-transform:uppercase;
  color:#8A7038;padding:2px 4px;
}
.gloss-pop-view-link:hover{color:#C0A050}
html.theme-light .gloss-pop-view-link{color:#7A5A28}
html.theme-light .gloss-pop-view-link:hover{color:#3A1808}

@media (max-width:600px){
  #glossary-modal{padding:28px 20px 20px}
  #glossary-modal-title{font-size:20px;letter-spacing:2px}
  .gloss-entry-tradition{margin-left:0;width:100%}
}

/* ═══════════════════════════════════════════════════════════
   THE DECK — Phase 1 scaffolding
   ═══════════════════════════════════════════════════════════ */

/* Mode visibility */
#deck-mode{display:none}
body.mode-deck #codex-mode{display:none}
body.mode-deck #deck-mode{display:block}
body.mode-codex #deck-mode{display:none}

/* ─── Dial-toggle (slate-blue, replaces former dial-map) ─── */
.dial-toggle{--dial-fill:#101418;--dial-mid-fill:#0A0E14;--dial-core-fill:#080B10;color:#5A6B8E}
.dial-toggle .dial-rule{background:linear-gradient(90deg,transparent,#2A3650,#5A6B8E 50%,#2A3650,transparent)}
.dial-toggle .dial-sub{color:#3A4860}
.dial-toggle .dial-title{color:#7A8AAC;text-shadow:0 0 14px rgba(122,138,172,.5),0 0 5px rgba(122,138,172,.3)}
.dial-toggle:hover{color:#9AAAC8}

/* Trefoil glyph (3 overlapping circles, tinted) — replaces dial-glyph in toggle dial and chooser */
.trefoil-glyph circle{fill:rgba(122,138,172,.18);stroke:currentColor;stroke-width:1.4}
.dial-toggle .trefoil-glyph{filter:drop-shadow(0 0 4px rgba(122,138,172,.5))}

/* Light theme — toggle dial */
html.theme-light .dial-toggle{--dial-fill:#E0E5EE;--dial-mid-fill:#D0D8E5;--dial-core-fill:#C0CADC;color:#3A4860}
html.theme-light .dial-toggle .trefoil-glyph circle{fill:rgba(58,72,96,.15)}
html.theme-light .dial-toggle .dial-rule{background:linear-gradient(90deg,transparent,#5A6B8E,#3A4860 50%,#5A6B8E,transparent)}
html.theme-light .dial-toggle .dial-sub{color:#5A6B8E}
html.theme-light .dial-toggle .dial-title{color:#1A2840;text-shadow:none}
html.theme-light .dial-toggle:hover{color:#1A2840}

/* ─── Chooser overlay ─── */
#chooser-overlay{
  position:fixed;inset:0;z-index:10000;
  background:radial-gradient(ellipse at center,#0E0A05 0%,#000 80%);
  display:none;align-items:center;justify-content:center;
  padding:40px 20px;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  animation:chooser-fade .4s ease-out;
}
#chooser-overlay.active{display:flex}
@keyframes chooser-fade{from{opacity:0}to{opacity:1}}

.chooser-inner{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;max-width:720px;width:100%;
}
.chooser-eyebrow{
  font-size:11px;color:#7A5828;letter-spacing:6px;
  margin-bottom:16px;font-family:Georgia,serif;
}
.chooser-title{
  font-size:30px;color:#B89028;letter-spacing:7px;
  font-family:var(--font-heading,Georgia,serif);font-weight:300;
  margin-bottom:10px;text-shadow:0 0 18px rgba(180,140,20,.4);
}
.chooser-subtitle{
  font-size:12px;color:#7A5828;letter-spacing:4px;
  font-style:italic;font-family:Georgia,serif;
  margin-bottom:48px;
}
.chooser-options{
  display:flex;gap:60px;align-items:flex-start;
  flex-wrap:wrap;justify-content:center;
  margin-bottom:32px;
}
.chooser-option{
  display:flex;flex-direction:column;align-items:center;gap:14px;
  background:transparent;border:none;cursor:pointer;
  padding:14px 18px;border-radius:6px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:transform .3s cubic-bezier(.25,.8,.25,1),background .3s ease;
  appearance:none;-webkit-appearance:none;
}
.chooser-option:hover{transform:translateY(-4px);background:rgba(184,144,40,.04)}
.chooser-option:active{transform:translateY(-1px)}
.chooser-option:focus{outline:none}
.chooser-option:focus-visible{outline:2px dashed currentColor;outline-offset:6px;border-radius:6px}
.chooser-dial{
  width:130px;height:130px;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.55));
  pointer-events:none;
}
.chooser-option-name{
  font-size:14px;letter-spacing:5px;
  font-family:var(--font-heading,Georgia,serif);font-weight:300;margin-top:6px;
}
.chooser-option-desc{
  font-size:10px;letter-spacing:2px;font-style:italic;
  font-family:Georgia,serif;line-height:1.7;max-width:180px;
}

/* Chooser — Codex option (gold) */
.chooser-option-codex{color:#B89028}
.chooser-option-codex .dial-bezel{fill:#1F1810;stroke:#B89028;stroke-width:1.4}
.chooser-option-codex .dial-bezel-inner{fill:none;stroke:#B89028;stroke-width:.5;opacity:.5}
.chooser-option-codex .dial-mid{fill:#15110A;stroke:#B89028;stroke-width:.8}
.chooser-option-codex .dial-core{fill:#1F1810;stroke:#B89028;stroke-width:.8}
.chooser-option-codex .dial-teeth rect{fill:#1F1810;stroke:#B89028;stroke-width:1}
.chooser-option-codex .dial-glyph{font-size:26px;text-anchor:middle;fill:#C8A030;font-family:var(--font-heading,Georgia,serif)}
.chooser-option-codex .chooser-option-name{color:#B89028}
.chooser-option-codex .chooser-option-desc{color:#7A5828}

/* Chooser — Deck option (slate-blue) */
.chooser-option-deck{color:#7A8AAC}
.chooser-option-deck .dial-bezel{fill:#101418;stroke:#5A6B8E;stroke-width:1.4}
.chooser-option-deck .dial-bezel-inner{fill:none;stroke:#5A6B8E;stroke-width:.5;opacity:.5}
.chooser-option-deck .dial-mid{fill:#0A0E14;stroke:#5A6B8E;stroke-width:.8}
.chooser-option-deck .dial-core{fill:#101418;stroke:#5A6B8E;stroke-width:.8}
.chooser-option-deck .dial-teeth rect{fill:#101418;stroke:#5A6B8E;stroke-width:1}
.chooser-option-deck .trefoil-glyph circle{fill:rgba(122,138,172,.18);stroke:#7A8AAC;stroke-width:1.4}
.chooser-option-deck .chooser-option-name{color:#7A8AAC}
.chooser-option-deck .chooser-option-desc{color:#5A6B8E}

.chooser-remember{
  display:inline-flex;align-items:center;gap:10px;
  margin-top:16px;cursor:pointer;
  font-size:10px;color:#6A5020;letter-spacing:2px;
  font-style:italic;font-family:Georgia,serif;
}
.chooser-remember input{
  appearance:none;-webkit-appearance:none;
  width:14px;height:14px;border:1px solid #5A4828;background:#1F1810;
  position:relative;cursor:pointer;flex-shrink:0;
}
.chooser-remember input:checked::after{
  content:"✓";position:absolute;top:-3px;left:1px;
  font-size:11px;color:#B89028;
}

/* ─── Deck mode landing (Phase 1 placeholder) ─── */
#deck-mode{
  min-height:100vh;
  background:radial-gradient(ellipse at top,#181C24 0%,#08090C 70%);
  font-family:'Helvetica Neue',Arial,sans-serif;
  color:#9AAAC8;
  padding:60px 24px;
}
.deck-landing{
  max-width:680px;margin:0 auto;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding-top:40px;
}
.deck-eyebrow{
  font-size:11px;color:#5A6B8E;letter-spacing:6px;margin-bottom:14px;
}
.deck-title{
  font-size:36px;color:#9AAAC8;letter-spacing:7px;
  font-weight:300;margin-bottom:10px;
}
.deck-subtitle{
  font-size:13px;color:#5A6B8E;letter-spacing:3px;font-style:italic;
  font-family:Georgia,serif;margin-bottom:50px;
}
.deck-cta-row{
  display:flex;gap:24px;flex-wrap:wrap;justify-content:center;
}
.deck-cta{
  background:rgba(122,138,172,.08);
  border:1px solid #5A6B8E;
  padding:18px 32px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  min-width:180px;cursor:pointer;
  transition:background .25s ease,transform .25s ease;
  font-family:'Helvetica Neue',Arial,sans-serif;
  appearance:none;-webkit-appearance:none;
}
.deck-cta:not([disabled]):hover{background:rgba(122,138,172,.15);transform:translateY(-2px)}
.deck-cta[disabled]{opacity:.55;cursor:not-allowed}
.deck-cta-eyebrow{font-size:10px;color:#5A6B8E;letter-spacing:3px}
.deck-cta-label{font-size:15px;color:#9AAAC8;letter-spacing:2px}
.deck-return{
  margin-top:50px;font-size:11px;color:#3A4860;letter-spacing:2px;
  font-style:italic;font-family:Georgia,serif;
}
.deck-phase-note{
  margin-top:32px;font-size:10px;color:#3A4860;letter-spacing:2px;
  font-family:Georgia,serif;opacity:.6;
}

/* Light theme — Deck mode */
html.theme-light #deck-mode{
  background:radial-gradient(ellipse at top,#F5F1E8 0%,#E8E2D0 70%);
  color:#3A4860;
}
html.theme-light .deck-eyebrow{color:#5A6B8E}
html.theme-light .deck-title{color:#1A2840}
html.theme-light .deck-subtitle{color:#5A6B8E}
html.theme-light .deck-cta{background:rgba(58,72,96,.04);border-color:#5A6B8E}
html.theme-light .deck-cta:not([disabled]):hover{background:rgba(58,72,96,.10)}
html.theme-light .deck-cta-eyebrow{color:#5A6B8E}
html.theme-light .deck-cta-label{color:#1A2840}
html.theme-light .deck-return,
html.theme-light .deck-phase-note{color:#5A6B8E}

html.theme-light #chooser-overlay{
  background:radial-gradient(ellipse at center,#F5F1E8 0%,#D8D0B8 80%);
}
html.theme-light .chooser-eyebrow{color:#8A5828}
html.theme-light .chooser-title{color:#5A2818;text-shadow:none}
html.theme-light .chooser-subtitle{color:#7A4A20}
html.theme-light .chooser-remember{color:#7A4A20}
html.theme-light .chooser-remember input{background:#F5F1E8;border-color:#7A4A20}
html.theme-light .chooser-remember input:checked::after{color:#5A2818}

/* Mobile — chooser stacks vertically */
@media (max-width:640px){
  .chooser-options{flex-direction:column;gap:24px}
  .chooser-title{font-size:20px;letter-spacing:4px;margin-bottom:6px}
  .chooser-eyebrow{margin-bottom:10px}
  .chooser-subtitle{font-size:11px;letter-spacing:3px;margin-bottom:24px}
  .chooser-dial{width:90px;height:90px}
  .chooser-option{padding:10px 14px;gap:10px}
  .deck-title{font-size:28px;letter-spacing:5px}
  .deck-cta-row{flex-direction:column;gap:16px}
  .deck-cta{width:100%;max-width:280px;margin:0 auto}
}
@media (max-width:400px){
  .chooser-dial{width:76px;height:76px}
  .chooser-options{gap:16px}
  #chooser-overlay{padding:24px 16px}
}

/* ═══════════════════════════════════════════════════════════
   DECK PHASE 2 — Views, Roster Grid, Type Detail
   ═══════════════════════════════════════════════════════════ */

/* ── View switching ── */
.deck-view { display: none; }
.deck-view--active { display: block; }

/* ── Nav bar ── */
.deck-nav-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid rgba(122,138,172,.18);
  font-family: var(--font-sans, 'Helvetica Neue', Arial, sans-serif);
}
.deck-back-btn {
  background: none;
  border: 1px solid rgba(122,138,172,.35);
  border-radius: 4px;
  color: #7A8AAC;
  font-family: var(--font-sans, 'Helvetica Neue', Arial, sans-serif);
  font-size: 11px;
  letter-spacing: 2px;
  padding: 6px 12px;
  cursor: pointer;
  transition: border-color .2s, color .2s;
}
.deck-back-btn:hover { border-color: #9AAAC8; color: #9AAAC8; }
.deck-nav-title {
  font-size: 11px;
  color: #5A6B8E;
  letter-spacing: 4px;
  text-transform: uppercase;
  font-family: var(--font-sans, 'Helvetica Neue', Arial, sans-serif);
}

/* ── Roster grid ── */
.deck-roster-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
  gap: 14px;
  padding: 20px;
}
.roster-tile {
  background: linear-gradient(145deg, var(--tile-a), var(--tile-b));
  border-radius: 10px;
  padding: 18px 14px 16px;
  cursor: pointer;
  transition: transform .18s, box-shadow .18s;
  border: 1px solid rgba(255,255,255,.08);
}
.roster-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.roster-tile-badge {
  font-size: 26px;
  margin-bottom: 8px;
  line-height: 1;
}
.roster-tile-name {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.95);
  letter-spacing: 1px;
  margin-bottom: 5px;
  font-family: var(--font-sans, 'Helvetica Neue', Arial, sans-serif);
}
.roster-tile-tagline {
  font-size: 10.5px;
  color: rgba(255,255,255,.68);
  font-style: italic;
  line-height: 1.45;
  font-family: Georgia, serif;
}

/* ── Type detail header ── */
.deck-type-content { padding-bottom: 40px; }
.deck-type-header {
  background: linear-gradient(150deg, var(--tile-a), var(--tile-b));
  padding: 32px 24px 28px;
  text-align: center;
}
.deck-type-badge { font-size: 40px; margin-bottom: 10px; line-height: 1; }
.deck-type-name {
  font-size: 20px;
  font-weight: 600;
  color: rgba(255,255,255,.95);
  letter-spacing: 2px;
  font-family: var(--font-sans, 'Helvetica Neue', Arial, sans-serif);
  margin-bottom: 8px;
}
.deck-type-tagline {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  font-style: italic;
  font-family: Georgia, serif;
  line-height: 1.5;
}

/* ── Placeholder card stubs ── */
.deck-cards-list {
  padding: 20px 20px 10px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.deck-card-stub {
  border: 1px solid rgba(122,138,172,.22);
  border-radius: 8px;
  padding: 20px 22px;
  background: rgba(122,138,172,.05);
}
.deck-card-stub-label {
  font-size: 11px;
  letter-spacing: 3px;
  color: #7A8AAC;
  text-transform: uppercase;
  font-family: var(--font-sans, 'Helvetica Neue', Arial, sans-serif);
  margin-bottom: 5px;
}
.deck-card-stub-note {
  font-size: 11px;
  color: #3A4560;
  font-style: italic;
  font-family: Georgia, serif;
}

/* ── Light theme overrides ── */
html.theme-light .deck-nav-bar { border-color: rgba(0,0,0,.1); }
html.theme-light .deck-back-btn { border-color: rgba(0,0,0,.2); color: #5A6070; }
html.theme-light .deck-back-btn:hover { border-color: #333; color: #333; }
html.theme-light .deck-nav-title { color: #888; }
html.theme-light .deck-card-stub { border-color: rgba(0,0,0,.1); background: rgba(0,0,0,.025); }
html.theme-light .deck-card-stub-label { color: #6A7080; }
html.theme-light .deck-card-stub-note { color: #999; }

/* ── Mobile ── */
@media(max-width:640px){
  .deck-roster-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 14px; }
  .deck-type-header { padding: 24px 18px 20px; }
  .deck-type-badge { font-size: 34px; }
  .deck-type-name { font-size: 17px; }
}

/* ═══════════════════════════════════════════════════════════
   DECK PHASE 3 — Card Carousel & Flip
   ═══════════════════════════════════════════════════════════ */

/* ── Carousel wrapper ── */
.deck-carousel-wrap {
  position: relative;
  padding: 20px 50px;
}
.dc-viewport {
  overflow: hidden;
  border-radius: 12px;
}
.dc-track {
  display: flex;
  transition: transform .38s cubic-bezier(.4,0,.2,1);
  will-change: transform;
}

/* ── Individual card ── */
.dc-card {
  flex: 0 0 100%;
  width: 100%;
  height: 490px;
  perspective: 1100px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
.dc-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform .58s cubic-bezier(.4,0,.2,1);
}
.dc-card.is-flipped .dc-inner { transform: rotateY(180deg); }

.dc-front, .dc-back {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: #0B0F18;
  border: 1px solid rgba(122,138,172,.18);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.dc-back {
  transform: rotateY(180deg);
  background: #080C14;
}

/* ── Hero band ── */
.dc-hero {
  padding: 14px 16px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.dc-hero-badge { font-size: 20px; line-height: 1; }
.dc-hero-name {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,.9);
  letter-spacing: 1.5px;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
}
.dc-card-label {
  font-size: 8px;
  letter-spacing: 5px;
  color: #4A5A78;
  padding: 0 16px 2px;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
  flex-shrink: 0;
}
.dc-tagline {
  font-size: 11px;
  color: #6A7A98;
  font-style: italic;
  padding: 0 16px 8px;
  font-family: Georgia,serif;
  line-height: 1.4;
  flex-shrink: 0;
}

/* ── Stat pips ── */
.dc-stats {
  padding: 6px 16px 8px;
  border-top: 1px solid rgba(122,138,172,.09);
  border-bottom: 1px solid rgba(122,138,172,.09);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 10px;
  flex-shrink: 0;
}
.dc-stat-row { display: flex; align-items: center; gap: 5px; }
.dc-stat-lbl {
  font-size: 7.5px;
  letter-spacing: 1px;
  color: #3A4868;
  width: 58px;
  flex-shrink: 0;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
  text-transform: uppercase;
}
.dc-stat-pips { display: flex; gap: 2px; }
.dc-pip {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgba(90,107,142,.15);
  border: 1px solid rgba(90,107,142,.22);
  flex-shrink: 0;
}
.dc-pip.on { background: #6A7A9C; border-color: #8A9AB8; }

/* ── Body ── */
.dc-body {
  flex: 1;
  padding: 8px 16px 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dc-section { flex-shrink: 0; }
.dc-section + .dc-section { margin-top: 4px; }
.dc-sec-label {
  font-size: 7.5px;
  letter-spacing: 3px;
  color: #334260;
  text-transform: uppercase;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
  margin-bottom: 3px;
}
.dc-sec-text {
  font-size: 11px;
  color: #8090AE;
  line-height: 1.5;
  font-family: Georgia,serif;
}
.dc-small { font-size: 10px; }
.dc-italic { font-style: italic; }
.dc-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

/* ── Card footer / flip hint ── */
.dc-card-footer {
  font-size: 7.5px;
  letter-spacing: 3px;
  color: #2A3850;
  text-align: center;
  padding: 5px 16px 3px;
  border-top: 1px solid rgba(90,107,142,.07);
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
  text-transform: uppercase;
  flex-shrink: 0;
}
.dc-flip-hint {
  font-size: 7.5px;
  letter-spacing: 2px;
  color: #1E2C44;
  text-align: center;
  padding: 3px 16px 8px;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
  flex-shrink: 0;
}

/* ── Back ── */
.dc-back-label {
  font-size: 8px;
  letter-spacing: 4px;
  color: #3A4868;
  text-transform: uppercase;
  padding: 12px 16px 8px;
  border-bottom: 1px solid rgba(90,107,142,.09);
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
  flex-shrink: 0;
}
.dc-back-body {
  flex: 1;
  padding: 10px 16px 6px;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dc-back .dc-flip-hint { margin-top: auto; }

/* ── Lists ── */
.dc-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.dc-list li {
  font-size: 10px;
  color: #6A7A98;
  line-height: 1.45;
  font-family: Georgia,serif;
  padding-left: 10px;
  position: relative;
}
.dc-list li::before { content:'—'; position:absolute; left:0; color:#2A3850; }

/* ── Big5 ── */
.dc-big5 { display:flex; flex-direction:column; gap:5px; }
.dc-b5-row { display:flex; align-items:center; gap:6px; }
.dc-b5-lbl { font-size:8px; width:28px; color:#4A5878; font-family:var(--font-sans,'Helvetica Neue',Arial,sans-serif); }
.dc-b5-track { flex:1; height:4px; background:rgba(90,107,142,.12); border-radius:2px; overflow:hidden; }
.dc-b5-fill { height:100%; background:#6A7A9C; border-radius:2px; }
.dc-b5-val { font-size:8px; width:22px; text-align:right; color:#3A4868; font-family:var(--font-sans,'Helvetica Neue',Arial,sans-serif); }

/* ── Extremes table ── */
.dc-ext-table { width:100%; border-collapse:collapse; font-size:9px; }
.dc-ext-table td { padding:2px 3px; }
.dc-ext-dom { color:#4A5878; letter-spacing:.3px; }
.dc-ext-lo { color:#6A2A38; font-style:italic; }
.dc-ext-hi { color:#2A5A3A; font-style:italic; }

/* ── Professions ── */
.dc-prof-list { display:flex; flex-direction:column; gap:5px; }
.dc-prof-row { display:flex; flex-direction:column; gap:1px; }
.dc-prof-role { font-size:10px; color:#8090AE; font-weight:600; font-family:var(--font-sans,'Helvetica Neue',Arial,sans-serif); letter-spacing:.3px; }
.dc-prof-note { font-size:9px; color:#3A4868; font-family:Georgia,serif; font-style:italic; }
.dc-anti .dc-prof-role { color:#6A4A68; }

/* ── Elem grid (Nature back) ── */
.dc-elem-grid { display:flex; flex-direction:column; gap:4px; }
.dc-elem-row { font-size:10px; color:#6A7A98; font-family:Georgia,serif; }
.dc-elem-sys { font-size:7.5px; letter-spacing:2px; color:#2A3850; text-transform:uppercase; font-family:var(--font-sans,'Helvetica Neue',Arial,sans-serif); margin-right:5px; }

/* ── Mystery ── */
.dc-myst-trio {
  display:grid; grid-template-columns:repeat(3,1fr); gap:6px;
  padding:6px 16px 4px;
  border-top:1px solid rgba(90,107,142,.07);
  flex-shrink:0;
}
.dc-myst-key { display:block; font-size:7px; letter-spacing:2px; color:#2A3850; text-transform:uppercase; font-family:var(--font-sans,'Helvetica Neue',Arial,sans-serif); margin-bottom:2px; }
.dc-myst-val { font-size:9.5px; color:#6A7A98; font-family:Georgia,serif; }
.dc-stack-row { display:flex; align-items:center; gap:3px; flex-wrap:wrap; }
.dc-stack-fn { font-size:10.5px; color:#8090AE; background:rgba(90,107,142,.12); border-radius:4px; padding:2px 6px; font-family:var(--font-sans,'Helvetica Neue',Arial,sans-serif); }
.dc-stack-sep { color:#2A3850; font-size:9px; }

/* ── Nav buttons ── */
.dc-nav-btn {
  position:absolute;
  top:50%; transform:translateY(-50%);
  z-index:10;
  background:rgba(10,14,22,.88);
  border:1px solid rgba(90,107,142,.28);
  border-radius:50%;
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; line-height:1; padding:0;
  color:#6A7A9C;
  cursor:pointer;
  transition:border-color .2s,color .2s;
}
.dc-nav-btn:hover { border-color:#9AAAC8; color:#9AAAC8; }
.dc-nav-prev { left:8px; }
.dc-nav-next { right:8px; }

/* ── Dots ── */
.dc-dots { display:flex; justify-content:center; gap:8px; padding:10px 0 24px; }
.dc-dot {
  width:22px; height:3px; border-radius:2px;
  background:rgba(90,107,142,.18); border:none; cursor:pointer;
  transition:background .2s,width .2s; padding:0;
}
.dc-dot.active { background:#6A7A9C; width:30px; }

/* ── Light theme ── */
html.theme-light .dc-front,
html.theme-light .dc-back { background:#F6F3EE; border-color:rgba(0,0,0,.12); }
html.theme-light .dc-hero-name { color:#1A1510; }
html.theme-light .dc-card-label { color:#9A8A6A; }
html.theme-light .dc-tagline { color:#6A5A40; }
html.theme-light .dc-sec-label { color:#9A8A6A; }
html.theme-light .dc-sec-text { color:#3A3028; }
html.theme-light .dc-stat-lbl { color:#9A8A6A; }
html.theme-light .dc-pip { background:rgba(0,0,0,.07); border-color:rgba(0,0,0,.13); }
html.theme-light .dc-pip.on { background:#6A5030; border-color:#8A6840; }
html.theme-light .dc-card-footer { color:#9A8A6A; border-color:rgba(0,0,0,.07); }
html.theme-light .dc-flip-hint { color:#C0A880; }
html.theme-light .dc-back-label { color:#9A8A6A; border-color:rgba(0,0,0,.07); }
html.theme-light .dc-list li { color:#4A3A28; }
html.theme-light .dc-list li::before { color:#9A8A6A; }
html.theme-light .dc-b5-fill { background:#6A5030; }
html.theme-light .dc-b5-track { background:rgba(0,0,0,.07); }
html.theme-light .dc-b5-lbl, html.theme-light .dc-b5-val { color:#9A8A6A; }
html.theme-light .dc-prof-role { color:#2A2018; }
html.theme-light .dc-prof-note { color:#8A7050; }
html.theme-light .dc-anti .dc-prof-role { color:#6A3030; }
html.theme-light .dc-elem-row { color:#4A3A28; }
html.theme-light .dc-elem-sys { color:#9A8A6A; }
html.theme-light .dc-myst-val { color:#4A3A28; }
html.theme-light .dc-myst-key { color:#9A8A6A; }
html.theme-light .dc-stack-fn { color:#2A2018; background:rgba(0,0,0,.06); }
html.theme-light .dc-stack-sep { color:#C0A880; }
html.theme-light .dc-ext-dom { color:#9A8A6A; }
html.theme-light .dc-ext-lo { color:#7A2020; }
html.theme-light .dc-ext-hi { color:#1A4A28; }
html.theme-light .dc-nav-btn { background:rgba(248,245,240,.92); border-color:rgba(0,0,0,.15); color:#6A5030; }
html.theme-light .dc-nav-btn:hover { border-color:#2A2018; color:#2A2018; }
html.theme-light .dc-dot { background:rgba(0,0,0,.1); }
html.theme-light .dc-dot.active { background:#6A5030; }

/* ── Mobile ── */
@media(max-width:640px){
  .deck-carousel-wrap { padding:16px 38px; }
  .dc-nav-btn { width:28px; height:28px; font-size:18px; }
  .dc-nav-prev { left:4px; }
  .dc-nav-next { right:4px; }
  .dc-card { height:460px; }
  .dc-two-col { grid-template-columns:1fr; gap:4px; }
  .dc-stats { grid-template-columns:1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   DECK PHASE 4 — Reduced-motion + chooser polish
   ═══════════════════════════════════════════════════════════ */

@media(prefers-reduced-motion: reduce){
  .dc-inner { transition: none !important; }
  .dc-track { transition: none !important; }
  .roster-tile { transition: none !important; }
  .deck-view { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   DCO — DECK CARD OVERLAY
   Full-screen, vertical snap-scroll, ornamental character cards
   ═══════════════════════════════════════════════════════════ */

/* ── Overlay base ── */
#dco {
  position: fixed; inset: 0; z-index: 9999;
  display: none; flex-direction: column;
  background: rgba(3,5,14,.72);
  backdrop-filter: blur(22px) saturate(.5) brightness(.65);
  -webkit-backdrop-filter: blur(22px) saturate(.5) brightness(.65);
}
#dco.open { display: flex; }

/* ── Top bar ── */
#dco-hdr {
  position: fixed; top: 0; left: 0; right: 0; z-index: 10002;
  height: 50px;
  display: flex; align-items: center; padding: 0 18px; gap: 14px;
  background: linear-gradient(to bottom, rgba(3,5,14,.85) 0%, transparent 100%);
  pointer-events: none;
}
#dco-x {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.55);
  font-size: 13px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  pointer-events: all;
  transition: background .18s, color .18s;
}
#dco-x:hover { background: rgba(255,255,255,.14); color: rgba(255,255,255,.9); }
#dco-tname {
  font-size: 11px; letter-spacing: 4px;
  color: rgba(255,255,255,.35);
  text-transform: uppercase;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
}

/* ── Scroll container ── */
#dco-scroll {
  flex: 1;
  position: relative; z-index: 2;
  overflow-y: scroll;
  overflow-x: hidden;
  scroll-snap-type: y mandatory;
  scroll-snap-stop: always;
  overscroll-behavior: none contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
#dco-scroll::-webkit-scrollbar { display: none; }

/* ── Each slide ── */
.dco-slide {
  height: 100dvh;
  display: flex; align-items: center; justify-content: center;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  padding: 52px 0 16px;
  box-sizing: border-box;
}

/* ── Dot indicator (right edge) ── */
#dco-dots {
  position: fixed; right: 12px; top: 50%; transform: translateY(-50%);
  z-index: 10002;
  display: flex; flex-direction: column; gap: 7px;
}
.dco-dot {
  width: 3px; height: 20px; border-radius: 2px;
  background: rgba(255,255,255,.18);
  transition: height .22s, background .22s;
}
.dco-dot.on { height: 30px; background: rgba(255,255,255,.72); }

/* ── Card container ── */
.dco-card {
  width: min(370px, 86vw);
  height: min(580px, calc(100dvh - 72px));
  perspective: 1300px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

/* ── Faction frames ── */
.dco-card[data-dominance="choleric"] .dco-face {
  border-radius: 4px;
  border: 2px solid var(--ac);
  --ac-rgb: 192,57,43;
}
.dco-card[data-dominance="melancholic"] .dco-face {
  border-radius: 4px;
  border: 1.5px solid var(--ac);
  --ac-rgb: 58,128,192;
}
.dco-card[data-dominance="sanguine"] .dco-face {
  border-radius: 18px;
  border: 2px solid var(--ac);
  --ac-rgb: 212,122,32;
}
.dco-card[data-dominance="phlegmatic"] .dco-face {
  border-radius: 20px;
  border: 2px solid var(--ac);
  --ac-rgb: 42,154,96;
}
/* Light-mode dominance shadows handled via static box-shadow on .dco-face using --ac-rgb */
.dco-inner {
  width: 100%; height: 100%;
  position: relative;
  /* No preserve-3d: overflow:scroll on #dco-scroll kills it per CSS spec.
     Each face carries its own perspective() in its transform instead. */
}

/* ── Both faces ── */
.dco-face {
  position: absolute; inset: 0;
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  border: 2px solid var(--ac);
  border-radius: 16px;
  display: flex; flex-direction: column;
  overflow: hidden;
  transition: border-radius .0s;
  box-shadow:
    0 0 30px rgba(var(--ac-rgb), 0.60),
    0 0 10px rgba(var(--ac-rgb), 0.32),
    inset 0 0 8px rgba(var(--ac-rgb), 0.12),
    inset 0 0 0 4px rgba(var(--ac-rgb), 0.55);
}
html.theme-light .dco-face {
  box-shadow:
    0 0 22px rgba(var(--ac-rgb), 0.40),
    inset 0 0 6px rgba(var(--ac-rgb), 0.08),
    inset 0 0 0 3px rgba(var(--ac-rgb), 0.48);
}
/* canvas sits at z-index:-1 so normal flow content is always above */

/* ── Front face ── */
.dco-face-f {
  background: linear-gradient(170deg, #0A0E1C 0%, #04060F 100%);
  transform: perspective(1300px) rotateY(0deg);
  transition: transform .62s cubic-bezier(.4,0,.2,1);
}
.dco-card.flipped .dco-face-f {
  transform: perspective(1300px) rotateY(180deg);
}

/* ── Tab face backgrounds (dark) ── */
.dco-face-f[data-tab="Nature"]      { background: linear-gradient(170deg, #0C1A10 0%, #070F09 100%); }
.dco-face-f[data-tab="Psyche"]      { background: linear-gradient(170deg, #110F2C 0%, #0A091A 100%); }
.dco-face-f[data-tab="Spirit"]      { background: linear-gradient(170deg, #241D02 0%, #151101 100%); }
.dco-face-f[data-tab="Professions"] { background: linear-gradient(170deg, #1E1309 0%, #120B05 100%); }
.dco-face-f[data-tab="Mystery"]     { background: linear-gradient(170deg, #170D23 0%, #0D0814 100%); }

.dco-face-b[data-tab="Nature"]      { background-color: #070F09; }
.dco-face-b[data-tab="Psyche"]      { background-color: #0A091A; }
.dco-face-b[data-tab="Spirit"]      { background-color: #151101; }
.dco-face-b[data-tab="Professions"] { background-color: #120B05; }
.dco-face-b[data-tab="Mystery"]     { background-color: #0D0814; }

/* ── Tab face backgrounds (light) ── */
html.theme-light .dco-face-f[data-tab="Nature"]      { background: linear-gradient(170deg, #E8F5ED 0%, #D4ECDB 100%); }
html.theme-light .dco-face-f[data-tab="Psyche"]      { background: linear-gradient(170deg, #EDEAF8 0%, #DDD9F2 100%); }
html.theme-light .dco-face-f[data-tab="Spirit"]      { background: linear-gradient(170deg, #FBF6E2 0%, #F2EAC6 100%); }
html.theme-light .dco-face-f[data-tab="Professions"] { background: linear-gradient(170deg, #F5EDE3 0%, #EBE0D0 100%); }
html.theme-light .dco-face-f[data-tab="Mystery"]     { background: linear-gradient(170deg, #F0EAF8 0%, #E2D4F0 100%); }

html.theme-light .dco-face-b[data-tab="Nature"]      { background-color: #E0F0E7; }
html.theme-light .dco-face-b[data-tab="Psyche"]      { background-color: #E5E2F5; }
html.theme-light .dco-face-b[data-tab="Spirit"]      { background-color: #F5EFDA; }
html.theme-light .dco-face-b[data-tab="Professions"] { background-color: #EDE4D8; }
html.theme-light .dco-face-b[data-tab="Mystery"]     { background-color: #E8DFF5; }

/* ── Back face ── */
.dco-face-b {
  transform: perspective(1300px) rotateY(-180deg);
  transition: transform .62s cubic-bezier(.4,0,.2,1);
  background-color: #03050D;
  background-image: repeating-linear-gradient(
    -48deg,
    rgba(255,255,255,.016) 0px, rgba(255,255,255,.016) 1px,
    transparent 1px, transparent 10px
  );
}
.dco-card.flipped .dco-face-b {
  transform: perspective(1300px) rotateY(0deg);
}
.dco-face-b::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.025) 0%, transparent 68%);
  pointer-events: none;
}

/* ── Inner border ── */
.dco-ib {
  position: absolute; inset: 7px;
  border: 1px solid var(--ac);
  opacity: .2; border-radius: 11px;
  pointer-events: none; z-index: 8;
}

/* ── Front L-bracket corners ── */
.dco-cn {
  position: absolute; width: 20px; height: 20px; z-index: 9;
}
.dco-cn-tl { top: 12px; left: 12px;
  border-top: 1.5px solid var(--ac); border-left: 1.5px solid var(--ac); }
.dco-cn-tr { top: 12px; right: 12px;
  border-top: 1.5px solid var(--ac); border-right: 1.5px solid var(--ac); }
.dco-cn-bl { bottom: 12px; left: 12px;
  border-bottom: 1.5px solid var(--ac); border-left: 1.5px solid var(--ac); }
.dco-cn-br { bottom: 12px; right: 12px;
  border-bottom: 1.5px solid var(--ac); border-right: 1.5px solid var(--ac); }

.dco-cn::after { content: '◆'; position: absolute; font-size: 7px; color: var(--ac); line-height: 1; }
.dco-cn-tl::after { top: -5px; left: -4px; }
.dco-cn-tr::after { top: -5px; right: -4px; left: auto; }
.dco-cn-bl::after { bottom: -5px; top: auto; left: -4px; }
.dco-cn-br::after { bottom: -5px; top: auto; right: -4px; left: auto; }

/* ── Back ✦ corners ── */
.dco-bcn {
  position: absolute; font-size: 11px; color: var(--ac); opacity: .65;
  z-index: 9; line-height: 1;
}
.dco-bcn-tl { top: 14px; left: 14px; }
.dco-bcn-tr { top: 14px; right: 14px; }
.dco-bcn-bl { bottom: 14px; left: 14px; }
.dco-bcn-br { bottom: 14px; right: 14px; }

/* ── Ghost badge on back ── */
.dco-ghost {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: 130px; opacity: .034;
  pointer-events: none; z-index: 0; line-height: 1;
}

/* ── Hero band ── */
.dco-hero {
  padding: 14px 18px 13px;
  display: flex; flex-direction: column;
  align-items: center; gap: 3px;
  flex-shrink: 0; position: relative; z-index: 1;
}
.dco-hero::after {
  content: ''; position: absolute;
  bottom: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(to right, transparent, var(--ac), transparent);
  opacity: .55;
}
.dco-h-badge { font-size: 38px; line-height: 1; margin-bottom: 2px; }
.dco-h-label {
  font-size: 8px; letter-spacing: 6px;
  color: rgba(255,255,255,.45);
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
  text-transform: uppercase;
}
.dco-h-name {
  font-size: 17px; font-weight: 600;
  color: rgba(255,255,255,.92); letter-spacing: 1px;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
}
.dco-h-tagline {
  font-size: 9px; font-style: italic;
  color: rgba(255,255,255,.3); letter-spacing: .3px; margin-top: 2px;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
}
.dco-tlist { display: flex; flex-direction: column; gap: 4px; margin-top: 3px; }
.dco-trait { display: flex; gap: 6px; align-items: flex-start; }
.dco-td {
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--ac); opacity: .5; flex-shrink: 0; margin-top: 4px;
}
.dco-tt {
  font-size: 10px; color: rgba(255,255,255,.58);
  line-height: 1.45; font-family: Georgia,serif;
}
.dco-pills { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 5px; }
.dco-pill {
  font-size: 8.5px; color: var(--ac);
  background: rgba(255,255,255,.06); border-radius: 3px; padding: 2px 6px;
}

/* ── Ornamental rule ── */
.dco-rule {
  display: flex; align-items: center; gap: 7px;
  padding: 0 18px; margin: 6px 0 4px;
  flex-shrink: 0;
}
.dco-rule-l, .dco-rule-r { flex: 1; height: 1px; }
.dco-rule-l { background: linear-gradient(to right, transparent, var(--ac)); opacity: .5; }
.dco-rule-r { background: linear-gradient(to left, transparent, var(--ac)); opacity: .5; }
.dco-rule-gem { font-size: 7px; color: var(--ac); opacity: .8; flex-shrink: 0; }

/* ── Body ── */
.dco-body {
  flex: 1; padding: 6px 20px 8px;
  overflow-y: auto; overflow-x: hidden;
  scrollbar-width: none; z-index: 1;
  display: flex; flex-direction: column; gap: 8px;
}
.dco-body::-webkit-scrollbar { display: none; }
.dco-sec { flex-shrink: 0; }
.dco-slbl {
  font-size: 8.5px; letter-spacing: 3px;
  color: var(--ac); opacity: .7;
  text-transform: uppercase;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
  margin-bottom: 4px;
}
.dco-stxt {
  font-size: 12px; color: rgba(255,255,255,.72);
  line-height: 1.6; font-family: Georgia,serif;
}
.dco-sm { font-size: 11px; }
.dco-it { font-style: italic; }
.dco-tab-mark {
  width: 16px; height: 16px; flex-shrink: 0;
  opacity: .78; margin-bottom: 2px;
}
.dco-vice-tag {
  display: inline-block; font-size: 8px; font-style: italic;
  color: var(--ac); opacity: .75; margin-bottom: 3px;
  font-family: Georgia,serif; letter-spacing: .2px;
}
html.theme-light .dco-vice-tag { opacity: .65; }
.dco-cnk { font-weight: 500; color: rgba(255,255,255,.75); font-style: normal; }
html.theme-light .dco-cnk { color: rgba(0,0,0,.72); }
.dco-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

/* ── Stats bar ── */
.dco-sbar {
  padding: 7px 20px 6px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 5px 14px;
  border-top: 1px solid rgba(255,255,255,.06);
  flex-shrink: 0; z-index: 1;
}
.dco-fspc { flex: 1; }
.dco-srow { display: flex; align-items: center; gap: 8px; }
.dco-sl {
  font-size: 8px; letter-spacing: 1.5px;
  color: rgba(255,255,255,.28); width: 70px; flex-shrink: 0;
  text-transform: uppercase;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
}
.dco-pips { display: flex; gap: 3px; }
.dco-p {
  width: 12px; height: 3px; border-radius: 1px;
  background: rgba(255,255,255,.15);
  border: none;
}
.dco-p.on {
  background: var(--ac);
  border-color: var(--ac);
  box-shadow: 0 0 6px var(--ac);
}

/* ── Footer (front) ── */
.dco-foot {
  padding: 6px 18px 8px;
  display: flex; align-items: center; justify-content: center;
  gap: 8px; flex-shrink: 0; z-index: 1;
  border-top: 1px solid rgba(255,255,255,.05);
}
.dco-f-el {
  font-size: 8px; letter-spacing: 3px;
  color: rgba(255,255,255,.28); text-transform: uppercase;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
}
.dco-f-sep { font-size: 9px; color: var(--ac); opacity: .45; }
.dco-f-hint {
  font-size: 8px; letter-spacing: 1.5px;
  color: rgba(255,255,255,.18);
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
}

/* ── Back header with ✦ rule ── */
.dco-bhdr {
  display: flex; align-items: center; gap: 6px;
  padding: 14px 18px 8px; flex-shrink: 0; z-index: 1;
}
.dco-bhl { flex: 1; height: 1px; background: var(--ac); opacity: .3; }
.dco-bhs { font-size: 9px; color: var(--ac); opacity: .7; flex-shrink: 0; }
.dco-bhn {
  font-size: 8px; letter-spacing: 4px;
  color: var(--ac); opacity: .75; text-transform: uppercase;
  font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
}

/* ── Back body ── */
.dco-bbody {
  flex: 1; padding: 4px 20px 10px;
  overflow-y: auto; overflow-x: hidden;
  scrollbar-width: none; z-index: 1;
  display: flex; flex-direction: column; gap: 9px;
}
.dco-bbody::-webkit-scrollbar { display: none; }

/* ── Back footer ── */
.dco-bfoot {
  padding: 5px 18px 10px;
  text-align: center; flex-shrink: 0; z-index: 1;
  border-top: 1px solid rgba(255,255,255,.05);
}

/* ── Lists / Professions / Big5 / Extremes / Stack ── */
.dco-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.dco-list li {
  font-size: 11px; color: rgba(255,255,255,.6);
  font-family: Georgia,serif; line-height: 1.45;
  padding-left: 12px; position: relative;
}
.dco-list li::before { content: '—'; position: absolute; left: 0; color: var(--ac); opacity: .5; }

.dco-prof { display: flex; flex-direction: column; gap: 6px; }
.dco-pr { display: flex; flex-direction: column; gap: 1px; }
.dco-pr-role { font-size: 11px; color: rgba(255,255,255,.8); font-weight: 600; font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif); }
.dco-pr-note { font-size: 12px; color: rgba(255,255,255,.38); font-family: Georgia,serif; font-style: italic; }
.dco-anti .dco-pr-role { color: rgba(180,120,130,.85); }

.dco-big5 { display: flex; flex-direction: column; gap: 6px; }
.dco-b5r { display: flex; align-items: center; gap: 7px; }
.dco-b5l { font-size: 8.5px; width: 30px; color: rgba(255,255,255,.32); font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif); }
.dco-b5t { flex: 1; height: 4px; background: rgba(255,255,255,.08); border-radius: 2px; overflow: hidden; }
.dco-b5f { height: 100%; background: var(--ac); border-radius: 2px; }
.dco-b5v { font-size: 8.5px; width: 24px; text-align: right; color: rgba(255,255,255,.28); font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif); }

.dco-ext { width: 100%; border-collapse: collapse; font-size: 10px; }
.dco-ext td { padding: 2.5px 4px; }
.dco-ext-d { color: rgba(255,255,255,.35); letter-spacing: .3px; }
.dco-ext-lo { color: rgba(200,100,110,.85); font-style: italic; }
.dco-ext-hi { color: rgba(80,180,120,.85); font-style: italic; }

.dco-elem { display: flex; flex-direction: column; gap: 4px; }
.dco-erow { font-size: 11px; color: rgba(255,255,255,.6); font-family: Georgia,serif; }
.dco-esys { font-size: 8px; letter-spacing: 2px; color: var(--ac); opacity: .6; text-transform: uppercase; font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif); margin-right: 6px; }

.dco-mtrio { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding: 4px 0; }
.dco-mk { display: block; font-size: 7.5px; letter-spacing: 2px; color: var(--ac); opacity: .55; text-transform: uppercase; font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif); margin-bottom: 3px; }
.dco-mv { font-size: 10px; color: rgba(255,255,255,.6); font-family: Georgia,serif; }

.dco-stack { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.dco-sf { font-size: 11.5px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.08); border-radius: 4px; padding: 3px 8px; font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif); }
.dco-ss { color: rgba(255,255,255,.2); font-size: 10px; }

/* ── Light theme ── */
html.theme-light #dco {
  background: rgba(240,236,228,.7);
  backdrop-filter: blur(22px) saturate(.8) brightness(1.1);
  -webkit-backdrop-filter: blur(22px) saturate(.8) brightness(1.1);
}
html.theme-light #dco-hdr { background: linear-gradient(to bottom, rgba(240,236,228,.9) 0%, transparent 100%); }
html.theme-light #dco-x { background: rgba(0,0,0,.07); border-color: rgba(0,0,0,.15); color: rgba(0,0,0,.55); }
html.theme-light #dco-tname { color: rgba(0,0,0,.35); }
html.theme-light .dco-dot { background: rgba(0,0,0,.15); }
html.theme-light .dco-dot.on { background: rgba(0,0,0,.55); }
html.theme-light .dco-face-f { background: linear-gradient(170deg, #F6F2EA 0%, #EEE9DD 100%); }
html.theme-light .dco-face-b { background-color: #EAE5D8; background-image: repeating-linear-gradient(-48deg, rgba(0,0,0,.018) 0px, rgba(0,0,0,.018) 1px, transparent 1px, transparent 10px); }
html.theme-light .dco-h-label { color: rgba(0,0,0,.4); }
html.theme-light .dco-h-name { color: rgba(0,0,0,.88); }
html.theme-light .dco-stxt { color: rgba(0,0,0,.72); }
html.theme-light .dco-slbl { opacity: .85; }
html.theme-light .dco-sl { color: rgba(0,0,0,.3); }
html.theme-light .dco-h-tagline { color: rgba(0,0,0,.32); }
html.theme-light .dco-tt { color: rgba(0,0,0,.55); }
html.theme-light .dco-pill { background: rgba(0,0,0,.06); }
html.theme-light .dco-f-hint { color: rgba(0,0,0,.28); }
html.theme-light .dco-f-el   { color: rgba(0,0,0,.45); }
html.theme-light .dco-f-sep  { color: rgba(0,0,0,.25); }
html.theme-light .dco-bfoot  { color: rgba(0,0,0,.28); }
html.theme-light .dco-pr-note { color: rgba(0,0,0,.45); }
html.theme-light .dco-vice-tag { color: rgba(0,0,0,.55); opacity:1; }
html.theme-light .dco-cnk { color: rgba(0,0,0,.72); }
html.theme-light .dco-bs-fix { color: rgba(0,0,0,.45); }
html.theme-light .dco-stress-tag { color: rgba(0,0,0,.6); background: rgba(0,0,0,.06); border-color: rgba(0,0,0,.15); }
html.theme-light .dco-tab-mark { opacity: .65; }

/* ── Melancholic eclipse: force dark card in day mode ── */
html.theme-light .dco-card[data-dominance="melancholic"] .dco-face { background: linear-gradient(170deg,#0A0E1C 0%,#04060F 100%) !important; }
html.theme-light .dco-card[data-dominance="melancholic"] .dco-face canvas { display: block; opacity: .85; }
html.theme-light .dco-card[data-dominance="melancholic"] .dco-stxt { color: rgba(255,255,255,.72); }
html.theme-light .dco-card[data-dominance="melancholic"] .dco-h-name { color: rgba(255,255,255,.92); }
html.theme-light .dco-card[data-dominance="melancholic"] .dco-h-label { color: rgba(255,255,255,.38); }
html.theme-light .dco-card[data-dominance="melancholic"] .dco-tt { color: rgba(255,255,255,.58); }
html.theme-light .dco-card[data-dominance="melancholic"] .dco-pr-note { color: rgba(255,255,255,.38); }
html.theme-light .dco-card[data-dominance="melancholic"] .dco-pr-role { color: rgba(255,255,255,.85); }
html.theme-light .dco-card[data-dominance="melancholic"] .dco-f-el,
html.theme-light .dco-card[data-dominance="melancholic"] .dco-f-hint { color: rgba(255,255,255,.22); }

/* ── Choleric fire: force dark card in day mode ── */
/* Choleric + Mel: dark card bg so canvas renders correctly in day mode */
.dco-card[data-dominance="choleric"],
.dco-card[data-dominance="melancholic"],
.dco-card[data-dominance="sanguine"],
.dco-card[data-dominance="phlegmatic"] { background: transparent; }
.dco-card[data-dominance="choleric"] .dco-inner,
.dco-card[data-dominance="melancholic"] .dco-inner,
.dco-card[data-dominance="sanguine"] .dco-inner,
.dco-card[data-dominance="phlegmatic"] .dco-inner { background: transparent; }

/* Day mode text: choleric cards stay dark-bg so keep light text */
html.theme-light .dco-card[data-dominance="choleric"] .dco-stxt { color: rgba(255,255,255,.72); }
html.theme-light .dco-card[data-dominance="choleric"] .dco-h-name { color: rgba(255,255,255,.92); }
html.theme-light .dco-card[data-dominance="choleric"] .dco-h-label { color: rgba(255,255,255,.38); }
html.theme-light .dco-card[data-dominance="choleric"] .dco-tt { color: rgba(255,255,255,.58); }
html.theme-light .dco-card[data-dominance="choleric"] .dco-pr-note { color: rgba(255,255,255,.38); }
html.theme-light .dco-card[data-dominance="choleric"] .dco-pr-role { color: rgba(255,255,255,.85); }
html.theme-light .dco-card[data-dominance="choleric"] .dco-f-el,
html.theme-light .dco-card[data-dominance="choleric"] .dco-f-hint { color: rgba(255,255,255,.22); }
html.theme-light .dco-card[data-dominance="choleric"] .dco-slbl { color: #C0392B; }
html.theme-light .dco-card[data-dominance="choleric"] .dco-anti .dco-pr-role { color: rgba(180,120,130,.85); }
/* Sanguine — keep text white against dark animated background */
html.theme-light .dco-card[data-dominance="sanguine"] .dco-stxt { color: rgba(255,255,255,.72); }
html.theme-light .dco-card[data-dominance="sanguine"] .dco-h-name { color: rgba(255,255,255,.92); }
html.theme-light .dco-card[data-dominance="sanguine"] .dco-h-label { color: rgba(255,255,255,.38); }
html.theme-light .dco-card[data-dominance="sanguine"] .dco-tt { color: rgba(255,255,255,.58); }
html.theme-light .dco-card[data-dominance="sanguine"] .dco-pr-note { color: rgba(255,255,255,.38); }
html.theme-light .dco-card[data-dominance="sanguine"] .dco-pr-role { color: rgba(255,255,255,.85); }
html.theme-light .dco-card[data-dominance="sanguine"] .dco-f-el,
html.theme-light .dco-card[data-dominance="sanguine"] .dco-f-hint { color: rgba(255,255,255,.22); }
html.theme-light .dco-card[data-dominance="sanguine"] .dco-h-tagline { color: rgba(255,255,255,.32); }
/* Phlegmatic — keep text white against dark animated background */
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-stxt { color: rgba(255,255,255,.72); }
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-h-name { color: rgba(255,255,255,.92); }
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-h-label { color: rgba(255,255,255,.38); }
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-tt { color: rgba(255,255,255,.58); }
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-pr-note { color: rgba(255,255,255,.38); }
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-pr-role { color: rgba(255,255,255,.85); }
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-f-el,
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-f-hint { color: rgba(255,255,255,.22); }
html.theme-light .dco-card[data-dominance="phlegmatic"] .dco-h-tagline { color: rgba(255,255,255,.32); }
.dco-stress-tag {
  display: inline-block; font-size: 7.5px; letter-spacing: 1.5px;
  text-transform: uppercase; background: rgba(92,107,192,.16);
  border: 1px solid rgba(92,107,192,.28); border-radius: 3px;
  padding: 2px 8px; color: var(--ac); margin-bottom: 4px;
}
.dco-bs-fix {
  font-size: 9.5px; font-style: italic; color: rgba(92,107,192,.7);
  line-height: 1.4; margin-top: 3px; font-family: Georgia,serif;
}
html.theme-light .dco-stress-tag { background: rgba(0,0,0,.05); border-color: rgba(0,0,0,.18); }
html.theme-light .dco-bs-fix { color: rgba(0,0,0,.42); }
html.theme-light .dco-pips { gap: 3px; }
html.theme-light .dco-p {
  width: 12px; height: 3px; border-radius: 1px;
  background: rgba(0,0,0,.15); border: none;
}
html.theme-light .dco-p.on {
  background: var(--ac);
  border-color: var(--ac);
  box-shadow: none;
}
html.theme-light .dco-f-el { color: rgba(0,0,0,.3); }
html.theme-light .dco-f-hint { color: rgba(0,0,0,.2); }
html.theme-light .dco-f-sep { opacity: .5; }
html.theme-light .dco-list li { color: rgba(0,0,0,.65); }
html.theme-light .dco-pr-role { color: rgba(0,0,0,.8); }
html.theme-light .dco-pr-note { color: rgba(0,0,0,.4); }
html.theme-light .dco-anti .dco-pr-role { color: #8A3030; }
html.theme-light .dco-b5l, html.theme-light .dco-b5v { color: rgba(0,0,0,.3); }
html.theme-light .dco-b5t { background: rgba(0,0,0,.08); }
html.theme-light .dco-ext-d { color: rgba(0,0,0,.38); }
html.theme-light .dco-ext-lo { color: #8A2828; }
html.theme-light .dco-ext-hi { color: #1A5A30; }
html.theme-light .dco-erow { color: rgba(0,0,0,.65); }
html.theme-light .dco-mv { color: rgba(0,0,0,.65); }
html.theme-light .dco-sf { color: rgba(0,0,0,.72); background: rgba(0,0,0,.07); }
html.theme-light .dco-bhn { color: var(--ac); }
html.theme-light .dco-ghost { opacity: .022; }

/* ── Mobile ── */
@media(max-width:600px){
  .dco-card { width: 90vw; height: calc(100dvh - 80px); }
  .dco-h-name { font-size: 15px; }
  .dco-two { grid-template-columns: 1fr; }
  .dco-sbar { grid-template-columns: 1fr 1fr; }
  .dco-mtrio { grid-template-columns: repeat(3,1fr); }
  #dco-x { display: none; }
}
@media(max-width:600px){
  #dco-xi {
    display: flex; align-items: center; justify-content: center;
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 90px; height: 90px;
    border-radius: 50%;
    background: rgba(180,30,30,.18);
    border: 2px solid rgba(220,60,60,.45);
    color: rgba(220,60,60,.9);
    font-size: 36px;
    font-family: var(--font-sans,'Helvetica Neue',Arial,sans-serif);
    font-weight: 700;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    user-select: none;
  }
}
@media(min-width:601px){ #dco-xi { display: none; } }

@media(prefers-reduced-motion: reduce){
  .dco-inner { transition: none !important; }
}
