:root{--bg:#000;--fg:#e7e9ea;--mut:#71767b;--line:#2f3336;--card:#16181c;--acc:#c9a227;--like:#f91880;--rep:#00ba7c;--onacc:#000;--banner:#3a2c05}
[data-theme=light]{--bg:#fff;--fg:#0f1419;--mut:#536471;--line:#eff3f4;--card:#f7f9f9;--acc:#9a7a12}
/* Palette options (preview with ?theme=parchment|gilt|aegean|pompeii; default unchanged) */
[data-theme=parchment]{--bg:#f5efe0;--fg:#1f1a14;--mut:#5e5446;--line:#ddd2bb;--card:#ece3cf;--acc:#8b1e1e;--onacc:#ffffff;--like:#b0243f;--rep:#2f6b3a;--banner:#5a1414}
[data-theme=gilt]{--bg:#1b1a18;--fg:#ece6da;--mut:#a39a8a;--line:#34312c;--card:#24221f;--acc:#d4a73c;--onacc:#1b1a18;--like:#e0607e;--rep:#5fb37a;--banner:#3a2c05}
[data-theme=aegean]{--bg:#fbfbfa;--fg:#1a2330;--mut:#556170;--line:#e3e6ea;--card:#f1f3f5;--acc:#1d5fa8;--onacc:#ffffff;--like:#c2185b;--rep:#1e7f5c;--banner:#0e3460}
[data-theme=pompeii]{--bg:#f6e9dc;--fg:#2b1a12;--mut:#6e4f3e;--line:#e2cbb6;--card:#efdccb;--acc:#a8402a;--onacc:#ffffff;--like:#b02a4a;--rep:#4f6b2e;--banner:#5c1f12}
[data-theme=ochre]{--bg:#f1e0b8;--fg:#2e1f10;--mut:#6a5232;--line:#dcc596;--card:#e8d3a3;--acc:#8a4a14;--onacc:#ffffff;--like:#a3243a;--rep:#3f6a2a;--banner:#4a2a0c}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.layout{display:grid;grid-template-columns:260px 600px 350px;justify-content:center;min-height:100vh}
.left{position:sticky;top:0;height:100vh;padding:8px 16px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line)}
.left a,.themebtn{display:flex;gap:16px;align-items:center;padding:12px;border-radius:999px;font-size:20px;background:none;border:0;color:var(--fg);cursor:pointer;text-align:left}
.left a:hover,.themebtn:hover{background:var(--card)}.left a.on{font-weight:700}.left i{font-style:normal;width:26px;text-align:center}
.brand{font-family:Georgia,serif;color:var(--acc)!important;font-weight:700}
main{border-right:1px solid var(--line);min-height:100vh}
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top h2{margin:0;padding:14px 16px;font-size:20px}.tabs{display:flex;overflow-x:auto;gap:8px;padding:0 12px 12px}
.chip{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:14px;cursor:pointer;white-space:nowrap;background:none;color:var(--fg)}
.chip.on{background:var(--acc);color:var(--onacc);border-color:var(--acc)}
.post{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.post:hover{background:color-mix(in srgb,var(--card) 50%,transparent)}
.av{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;font-size:15px}
.av.big{width:120px;height:120px;font-size:44px;border:4px solid var(--bg)}
.meta{color:var(--mut);display:flex;flex-wrap:wrap;gap:4px}.meta b{color:var(--fg)}.meta b:hover{text-decoration:underline}
.txt{margin:4px 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:17px;white-space:pre-wrap}
.src{color:var(--mut);font-size:13px;border-left:2px solid var(--acc);padding-left:8px}
.acts{display:flex;gap:28px;margin-top:8px}
.acts button{background:none;border:0;color:var(--mut);cursor:pointer;font-size:14px;display:flex;gap:6px;padding:4px}
.acts .lk.on,.acts .lk:hover{color:var(--like)}.acts .rp.on,.acts .rp:hover{color:var(--rep)}.acts .bm.on,.acts .bm:hover,.acts .sh:hover{color:var(--acc)}
.right{padding:8px 20px;position:sticky;top:0;height:100vh;overflow:auto}
#search{width:100%;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-size:15px}
.box{background:var(--card);border-radius:16px;margin:16px 0;padding:4px 0}.box h3{margin:8px 16px;font-size:20px}
.row{display:flex;gap:10px;align-items:center;padding:10px 16px;cursor:pointer}.row:hover{background:color-mix(in srgb,var(--line) 50%,transparent)}
.row small{color:var(--mut);display:block}.fine{color:var(--mut);font-size:13px}
.banner{height:150px;background:linear-gradient(135deg,var(--banner),var(--acc))}.prof{padding:0 16px 16px;border-bottom:1px solid var(--line)}
.prof .av{margin-top:-60px}.prof h1{margin:8px 0 0;font-size:22px}.prof .h{color:var(--mut)}.empty{padding:40px;text-align:center;color:var(--mut)}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--acc);color:var(--onacc);padding:8px 16px;border-radius:8px;opacity:0;transition:.3s}
@media(max-width:1100px){.layout{grid-template-columns:80px minmax(0,600px)}.right{display:none}.left span{display:none}}
img.av{object-fit:cover;background:var(--card)}

.more{background:none;border:0;padding:0;margin:0 0 6px;color:var(--acc);font:inherit;font-size:15px;cursor:pointer}.more:hover{text-decoration:underline}

.via{color:var(--mut);font-size:12px;align-self:center}

.ttl{font-weight:600;margin:2px 0 4px}

/* ---- ochre: illuminated-manuscript dressing (ochre theme only) ---- */
[data-theme=ochre] body{background:var(--bg) url(img/ochre/parchment.jpg) repeat;background-size:512px}
[data-theme=ochre] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 45%,transparent 60%,rgba(120,72,20,.05) 85%,rgba(95,55,15,.10) 100%)}
@media(max-width:700px){[data-theme=ochre] body::before{opacity:.5}}
[data-theme=ochre] .top{background:color-mix(in srgb,var(--bg) 88%,transparent)}
[data-theme=ochre] .brand::after{content:"";display:inline-block;width:30px;height:25px;margin-left:8px;vertical-align:-5px;background:url(img/ochre/ms/initial-s.webp) center/contain no-repeat;mix-blend-mode:multiply;opacity:.9;border-radius:2px}
[data-theme=ochre] .box h3::after{content:"";display:block;height:24px;margin-top:2px;background:url(img/ochre/ms/ivy.webp) left center/auto 24px no-repeat;mix-blend-mode:multiply;opacity:.6}
[data-theme=ochre] .left::after{content:"";margin-top:auto;margin-bottom:20px;align-self:center;width:130px;height:155px;background:url(img/ochre/ms/knight.webp) center/contain no-repeat;mix-blend-mode:multiply;opacity:.6;pointer-events:none}
@media(min-width:1420px){
 [data-theme=ochre]::before,[data-theme=ochre]::after{content:"";position:fixed;top:0;bottom:0;width:150px;pointer-events:none;z-index:0;mix-blend-mode:multiply;opacity:.55}
 [data-theme=ochre]::before{left:calc(50% - 605px - 170px);background:url(img/ochre/ms/vine.webp) center 6%/150px auto no-repeat,url(img/ochre/ms/fox.webp) center 92%/120px auto no-repeat}
 [data-theme=ochre]::after{right:calc(50% - 605px - 170px);background:url(img/ochre/ms/dragon.webp) center 10%/120px auto no-repeat,url(img/ochre/ms/ivy2.webp) center 88%/100px auto no-repeat}
}
@media(max-height:760px){[data-theme=ochre] .left::after{display:none}}
@media(max-width:1100px){[data-theme=ochre] .left::after{display:none}}

/* ---- ochre ornament alternatives: ?theme=ochre&orn=a | orn=b ---- */
[data-theme=ochre][data-orn] .brand::after,[data-theme=ochre][data-orn] .box h3::after,[data-theme=ochre][data-orn] .left::after{display:none}
[data-theme=ochre][data-orn]::before,[data-theme=ochre][data-orn]::after{content:none}
/* A: ink on the page */
@media(min-width:1420px){
 [data-theme=ochre][data-orn=a]::before,[data-theme=ochre][data-orn=a]::after{content:"";position:fixed;top:20px;bottom:190px;width:90px;pointer-events:none;z-index:0;mix-blend-mode:multiply;opacity:.5;background:url(img/ochre/ms/vine-ink.webp) center top/80px auto repeat-y}
 [data-theme=ochre][data-orn=a]::before{left:calc(50% - 605px - 135px)}
 [data-theme=ochre][data-orn=a]::after{right:calc(50% - 605px - 135px);transform:scaleX(-1)}
 [data-theme=ochre][data-orn=a] main::before,[data-theme=ochre][data-orn=a] main::after{content:"";position:fixed;bottom:40px;width:120px;height:100px;pointer-events:none;mix-blend-mode:multiply;opacity:.6;background:center bottom/110px auto no-repeat}
 [data-theme=ochre][data-orn=a] main::before{left:calc(50% - 605px - 150px);background-image:url(img/ochre/ms/fox-ink.webp)}
 [data-theme=ochre][data-orn=a] main::after{right:calc(50% - 605px - 150px);background-image:url(img/ochre/ms/dragon-ink.webp);transform:scaleX(-1)}
}
/* B: framed page */
[data-theme=ochre][data-orn=b] main{border-left:4px double #6b4520;border-right:4px double #6b4520;
 background:linear-gradient(90deg,transparent 5px,rgba(155,47,31,.45) 5px 6px,transparent 6px calc(100% - 6px),rgba(155,47,31,.45) calc(100% - 6px) calc(100% - 5px),transparent calc(100% - 5px))}
[data-theme=ochre][data-orn=b] .top{border-bottom:3px double #6b4520;box-shadow:0 2px 0 -1px rgba(184,144,46,.6)}
[data-theme=ochre][data-orn=b] .top::before,[data-theme=ochre][data-orn=b] .top::after{content:"";position:absolute;top:6px;width:30px;height:30px;background:url(img/ochre/corner.svg) center/contain no-repeat;opacity:.85;pointer-events:none}
[data-theme=ochre][data-orn=b] .top::before{left:6px}[data-theme=ochre][data-orn=b] .top::after{right:6px;transform:scaleX(-1)}
[data-theme=ochre][data-orn=b] .top h2{padding-left:44px}
[data-theme=ochre][data-orn=b] .post{border-bottom-color:color-mix(in srgb,#6b4520 25%,var(--line))}
/* ochre orn=c: original SVG Gothic bar border along the feed column */
.ornc{display:none}
[data-theme=ochre][data-orn=c] .ornc{display:block;position:fixed;top:0;bottom:0;width:0;pointer-events:none;z-index:0;mix-blend-mode:multiply}
.ornc>*{position:absolute;background:no-repeat;opacity:.95}
.ornc .bar{top:130px;bottom:208px;left:0;width:16px;background:url(img/ochre/c/bar.svg) 0 0/16px auto repeat-y}
.ornc .ct{top:0;left:-124px;width:150px;height:130px;background-image:url(img/ochre/c/corner-top.svg)}
.ornc .ft{bottom:0;left:-130px;width:190px;height:210px;background-image:url(img/ochre/c/foot.svg)}
.ornc .kn{top:calc(50% - 50px);left:-104px;width:130px;height:110px;background-image:url(img/ochre/c/knot.svg)}
.ornc.r{transform:scaleX(-1)}
[data-theme=ochre][data-orn=c] .brand::before{content:"";display:inline-block;width:26px;height:26px;margin-right:6px;vertical-align:-6px;background:url(img/ochre/c/initial-a.svg) center/contain no-repeat}
[data-theme=ochre][data-orn=c] .box h3::after{content:"";display:block;width:82px;height:24px;margin-top:2px;background:url(img/ochre/c/pilcrow.svg) no-repeat;opacity:.9}
@media (max-width:700px){[data-theme=ochre][data-orn=c] .ornc.r{display:none}[data-theme=ochre][data-orn=c] .ornc.l{transform:scale(.7);transform-origin:0 0;bottom:-42.86%}}
@media (min-width:1101px){[data-theme=ochre][data-orn=c] .right{padding-left:34px}}
.ornc.r .ct{width:42px;left:-16px;background-position:-108px 0}
.ornc.r .kn{display:none}
.ornc.r .ft{width:102px;left:-42px;background-position:-88px 0}
@media (max-width:700px){.ornc.l .ct{width:42px;left:-16px;background-position:-108px 0}.ornc.l .ft{width:146px}.ornc.l .kn{opacity:.8}}
/* ochre orn=d: minimal hairline bar, left of the feed only */
.ornd{display:none}
[data-theme=ochre][data-orn=d] .ornd{display:block;position:fixed;top:0;bottom:0;width:0;pointer-events:none;z-index:0;mix-blend-mode:multiply;opacity:.9}
.ornd>i{position:absolute;background:no-repeat}
.ornd .t{top:22px;left:-28px;width:40px;height:160px;background-image:url(img/ochre/d/top.svg)}
.ornd .l{top:181px;bottom:181px;left:0;width:5px;background:url(img/ochre/d/line.svg) 0 0 repeat-y}
.ornd .b{bottom:22px;left:-28px;width:40px;height:160px;background-image:url(img/ochre/d/bottom.svg)}
[data-theme=ochre][data-orn=d] .brand::before{content:"";display:inline-block;width:24px;height:24px;margin-right:6px;vertical-align:-6px;background:url(img/ochre/c/initial-a.svg) center/contain no-repeat;opacity:.9}
@media (max-width:700px){.ornd .l{top:223px}.ornd .t{top:64px;left:-12px;width:24px;background-position:-16px 0}.ornd .b{left:-12px;width:24px;background-position:-16px 0}}
/* ochre orn=e: between C and D */
.orne{display:none}
[data-theme=ochre][data-orn=e] .orne{display:block;position:fixed;top:0;bottom:0;width:0;pointer-events:none;z-index:0;mix-blend-mode:multiply;opacity:.92}
.orne>i{position:absolute;background:no-repeat}
.orne .t{top:8px;left:-78px;width:90px;height:80px;background-image:url(img/ochre/e/top.svg)}
.orne .b{bottom:8px;left:-78px;width:90px;height:80px;background-image:url(img/ochre/e/bottom.svg)}
.orne .l{top:86px;bottom:86px;left:0;width:10px;background:url(img/ochre/e/bar.svg) 0 0 repeat-y}
.orne .c{top:calc(50% + 40px);left:-28px;width:40px;height:40px;background-image:url(img/ochre/e/curl.svg)}
.orne.r .l{top:14px;bottom:14px;width:3px;background:linear-gradient(90deg,#2c4c9c .9px,transparent .9px)}
.orne.r .t,.orne.r .b,.orne.r .c{display:none}
[data-theme=ochre][data-orn=e] .brand::before{content:"";display:inline-block;width:20px;height:20px;margin-right:5px;vertical-align:-4px;background:url(img/ochre/c/initial-a.svg) center/contain no-repeat;opacity:.9}
@media (max-width:1100px){.orne.r{display:none!important}}
@media (max-width:700px){.orne .t{top:62px;left:-14px;width:26px;background-position:-64px 0}.orne .b{left:-14px;width:26px;background-position:-64px 0}.orne .l{top:140px}.orne .c{display:none}}

/* ---- Map page ---- */
:root{--sea:#e9edf0;--land:#c9c2b2;--coast:#7d7466;--mlab:#8a8478}
[data-theme=ochre]{--sea:rgba(255,248,226,.45);--land:rgba(150,98,36,.20);--coast:#6b4520;--mlab:#8a6a3e}
[data-theme=gilt]{--sea:#161513;--land:#2b2823;--coast:#a8843a;--mlab:#7d7362}
.mapwrap{position:relative;margin:12px;border:1px solid var(--line);border-radius:12px;user-select:none}
[data-theme=ochre] .mapwrap{border:3px double #6b4520;box-shadow:inset 0 0 24px rgba(107,69,32,.25)}
[data-theme=gilt] .mapwrap{border:1px solid #6e5826;box-shadow:0 0 0 3px #1b1a18,0 0 0 4px #4a3c1a}
#map{display:block;width:100%;height:auto;cursor:grab;background:var(--sea);border-radius:10px;touch-action:none}#map:active{cursor:grabbing}
#map .sea{fill:var(--sea)}#map .land{fill:var(--land);stroke:var(--coast);stroke-width:.8px;vector-effect:non-scaling-stroke;stroke-linejoin:round}
#mlab text{fill:var(--mlab);font-family:Georgia,serif;font-style:italic;text-anchor:middle;pointer-events:none;letter-spacing:.06em}
.mdot,.mcl circle{fill:var(--acc);stroke:var(--bg);cursor:pointer}.mdot.tr{fill:var(--bg);stroke:var(--acc)}
.mdot:hover,.mcl:hover circle{fill:var(--like)}.mdot.tr:hover{fill:var(--bg);stroke:var(--like)}
.mcl text{fill:var(--onacc);font-weight:700;text-anchor:middle;pointer-events:none;font-family:-apple-system,"Segoe UI",Roboto,sans-serif}
.mzoom{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:4px}
.mzoom button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 85%,transparent);color:var(--fg);font-size:17px;cursor:pointer;line-height:1}
.mtip{position:absolute;z-index:3;max-width:260px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:14px}
.mtip small{display:block;color:var(--mut)}.mtip .mb{font-size:12px;margin-top:2px}.mtip .mt1{display:flex;gap:8px;align-items:flex-start}
.mtip.big{width:260px;padding:0}.mth{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line)}.mth b{flex:0 1 auto}
.mx{margin-left:auto;background:none;border:0;color:var(--mut);font-size:20px;cursor:pointer;line-height:1}
.mlist{max-height:240px;overflow:auto}.mlist .row{padding:6px 10px}.mlist .av{width:30px;height:30px;font-size:12px}
.mzin{display:block;width:100%;border:0;border-top:1px solid var(--line);background:none;color:var(--acc);padding:8px;cursor:pointer;font:inherit}
.mlegend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0 16px;color:var(--mut);font-size:13px}.mlegend span{display:flex;align-items:center;gap:6px}
.lg{display:inline-grid;place-items:center;width:12px;height:12px;border-radius:50%;background:var(--acc);border:2px solid var(--bg);box-shadow:0 0 0 1px var(--acc);font-style:normal}
.lg.tr{background:var(--bg)}.lg.cl{width:20px;height:20px;color:var(--onacc);font-size:11px;font-weight:700}
.mnote{padding:0 16px;color:var(--mut);font-size:13px;margin:8px 0}
.moff{margin:8px 16px 16px;border:1px solid var(--line);border-radius:10px}.moff summary{padding:10px 12px;cursor:pointer;font-weight:600}
.moff .row{padding:8px 12px}
@media(max-width:700px){.mapwrap{margin:8px 6px}.mtip{max-width:230px}.mtip.big{position:fixed;left:88px!important;right:8px;top:auto!important;bottom:10px;width:auto;max-width:none}.mtip.big .mlist{max-height:55vh}}
.mgrp{padding:6px 10px 2px;font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;border-top:1px solid var(--line)}.mgrp:first-child{border-top:0}

.mchip{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:14px;cursor:pointer;white-space:nowrap;background:none;color:var(--fg)}
.mchip.on{background:var(--acc);color:var(--onacc);border-color:var(--acc)}

/* ---- Subjects ---- */
.sdef{margin:0;padding:0 16px 12px;color:var(--mut);font-size:14px}.sdef span{white-space:nowrap}.sdef a{color:var(--acc)}
.srow{border-bottom:1px solid var(--line);align-items:flex-start}.srow>div{flex:1;min-width:0}.srow b{font-size:16px}
.srow .sn{color:var(--mut);font-size:14px;padding-top:2px;font-variant-numeric:tabular-nums}
.sall{color:var(--acc);font-size:15px}
.slink{display:inline-block;margin:0 16px 12px;color:var(--acc);font-size:14px}.slink:hover,.sall:hover{text-decoration:underline}

/* Adagia mark: decorated A in every theme (replaces the old Στ text mark); larger when the nav collapses to icons */
.brand::before{content:"";display:inline-block;width:24px;height:24px;margin-right:6px;vertical-align:-6px;background:url(img/ochre/c/initial-a.svg) center/contain no-repeat}
@media(max-width:1100px){html[data-theme] .brand::before,html[data-theme][data-orn] .brand::before{width:30px;height:30px;margin-right:0;vertical-align:middle}}

/* ---- original-language text (p.orig): quiet toggle in the action row, text below the English ---- */
.acts .og{margin-left:auto;font-size:13px;letter-spacing:.02em}.acts .og:hover,.acts .og.on{color:var(--acc)}
.orig{margin:6px 0 2px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--acc) 30%,var(--line));color:color-mix(in srgb,var(--fg) 78%,var(--bg));font:italic 15.5px/1.5 Georgia,"Times New Roman","Noto Serif","DejaVu Serif","GFS Didot",serif;white-space:pre-wrap;overflow-wrap:anywhere}

/* ---- citation line at the foot of the expanded original (p.cite); posts with a cite but no original get a small "Source" panel ---- */
.orig .cite{margin-top:6px;font:normal 12.5px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.01em;color:color-mix(in srgb,var(--fg) 55%,var(--bg));white-space:normal}
.orig.src-only{padding-top:6px}.orig.src-only .cite{margin-top:0}
