:root{--blue:#0d5eaf;--navy:#0b2447;--gold:#c9a227;--bg:#f6f3ec;--card:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:Georgia,"Segoe UI",serif;background:var(--bg);color:#222}
.hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;text-align:center;padding:0 1rem 2rem}
.meander{height:18px;margin-bottom:1.5rem;background:repeating-linear-gradient(90deg,var(--gold) 0 12px,transparent 12px 18px,var(--gold) 18px 24px,transparent 24px 36px);opacity:.9}
.hero h1{margin:.2rem;font-size:clamp(2rem,6vw,3.2rem);letter-spacing:.05em}
.hero p{margin:.2rem 0 1.2rem;opacity:.85}
#search{width:min(480px,100%);padding:.8rem 1.1rem;border-radius:999px;border:2px solid var(--gold);font-size:1rem;outline:none}
#filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1rem}
#filters button{font:inherit;padding:.5rem 1.1rem;border-radius:999px;border:1px solid var(--blue);background:#fff;color:var(--blue);cursor:pointer}
#filters button.active,#filters button:hover{background:var(--blue);color:#fff}
main{max-width:1100px;margin:0 auto;padding:0 1rem 2rem}
#count{color:#666}
#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.card{background:var(--card);border-radius:14px;padding:1.2rem;border-top:4px solid var(--gold);box-shadow:0 2px 8px #0002;cursor:pointer;text-align:left;font:inherit;transition:transform .15s}
.card:hover,.card:focus{transform:translateY(-4px);outline:none;box-shadow:0 6px 16px #0003}
.card .icon{font-size:2.2rem}.card h3{margin:.4rem 0 .1rem;color:var(--navy)}
.card small{color:var(--blue)}.card p{font-size:.9rem;color:#555;margin:.5rem 0 0}
.badge{display:inline-block;font-size:.7rem;background:#eef3fa;color:var(--blue);padding:.15rem .6rem;border-radius:999px;margin-bottom:.3rem}
#overlay{position:fixed;inset:0;background:#000a;display:flex;justify-content:center;align-items:center;padding:1rem;z-index:10}
#overlay[hidden]{display:none}
#panel{background:#fff;border-radius:16px;max-width:620px;width:100%;max-height:90vh;overflow:auto;padding:1.6rem;border-top:6px solid var(--gold);position:relative}
#panel h2{margin:.2rem 0;color:var(--navy)}
#panel h4{margin:1.2rem 0 .4rem;color:var(--blue)}
.close{position:absolute;top:.6rem;right:.8rem;border:0;background:none;font-size:1.8rem;cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chips span{background:#f3ecd2;padding:.25rem .7rem;border-radius:999px;font-size:.85rem}
.rels{list-style:none;padding:0;margin:0}.rels li{padding:.35rem 0;border-bottom:1px solid #eee}
.rels a{color:var(--blue);font-weight:bold;cursor:pointer;text-decoration:underline}
footer{text-align:center;padding:1.5rem;color:#888;font-size:.85rem}

/* ===== Φάση 1: επέκταση ===== */
.tabs{display:flex;gap:.5rem;justify-content:center;margin:0 0 1rem}
.tab{font:inherit;padding:.5rem 1.3rem;border-radius:999px;border:1px solid #ffffff88;background:transparent;color:#fff;cursor:pointer}
.tab.active,.tab:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:bold}
.badge.b-primordial{background:#ece6f6;color:#5b3f8c}.badge.b-titans{background:#f4e8da;color:#8a5a2b}
.badge.b-minor{background:#e1f1ed;color:#2f7d6d}
.card{border-top-width:4px;border-top-style:solid}
#panel{max-width:760px}
#panel .icon.big{font-size:2.6rem}
#panel .lead{font-size:1.05rem;line-height:1.55}
#panel h5{margin:1rem 0 .3rem;color:var(--navy);font-size:1.05rem}
#panel .myth{line-height:1.6;margin:.4rem 0}
.plain{margin:.2rem 0;padding-left:1.2rem}.plain li{margin:.25rem 0}
.famrow{margin:.5rem 0;padding:.5rem .7rem;background:#faf6e9;border-radius:10px}
.famrow .note{margin:.3rem 0 0;font-size:.88rem;color:#555}
.chips.links a{background:#e6eef9;color:var(--blue);padding:.25rem .75rem;border-radius:999px;font-size:.85rem;cursor:pointer;text-decoration:none}
.chips.links a:hover{background:var(--blue);color:#fff}
.treebtn{margin-top:1.4rem;font:inherit;padding:.6rem 1.2rem;border-radius:999px;border:0;background:var(--navy);color:#fff;cursor:pointer}
.treebtn:hover{background:var(--blue)}
.tree-bar{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:center;padding:1rem;font-size:.85rem}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:.3rem;vertical-align:middle}
.l-solid,.l-dash{display:inline-block;width:24px;height:0;margin-right:.3rem;vertical-align:middle;border-top:2px solid #777}
.l-dash{border-top:2px dashed var(--gold)}
.zoom button{font:inherit;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--blue);background:#fff;color:var(--blue);cursor:pointer;margin-left:.2rem}
.hint{text-align:center;color:#666;font-size:.9rem;margin:0 1rem .6rem}
#tree-wrap{overflow:auto;height:72vh;margin:0 1rem 1rem;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #0002}
#tree-svg .edge{fill:none;stroke:#8a8a8a;stroke-width:1.3;opacity:.55}
#tree-svg .edge.spouse{stroke:var(--gold);stroke-dasharray:5 4;stroke-width:1.6;opacity:.8}
#tree-svg .node{cursor:pointer}
#tree-svg .node text{fill:#fff;font-size:12px;pointer-events:none;font-family:Georgia,serif}
#tree-svg .node:focus{outline:none}
#tree-svg.dim .node{opacity:.25}#tree-svg.dim .edge{opacity:.12}
#tree-svg.dim .node.hi{opacity:1}#tree-svg.dim .edge.hi{opacity:1;stroke:var(--blue);stroke-width:2.4}
#tree-svg.dim .edge.spouse.hi{stroke:var(--gold)}
#tree-svg .node:hover rect,#tree-svg .node:focus rect{stroke:var(--gold);stroke-width:3}
#tree-svg .node.pulse rect{stroke:#e63946;stroke-width:4}
@media(max-width:600px){#grid{grid-template-columns:1fr 1fr}.card{padding:.8rem}.card p{display:none}#tree-wrap{height:65vh;margin:0 .3rem}}

.l-dot{display:inline-block;width:24px;height:0;margin-right:.3rem;vertical-align:middle;border-top:2px dotted #777}
.tree-views{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:1rem 1rem 0}
.tree-views button{font:inherit;padding:.45rem 1rem;border-radius:999px;border:1px solid var(--blue);background:#fff;color:var(--blue);cursor:pointer}
.tree-views button.active,.tree-views button:hover{background:var(--blue);color:#fff}
#tree-legend{display:inline-flex;flex-wrap:wrap;gap:.8rem}
.tree-svg .edge{fill:none;stroke:#8a8a8a;stroke-width:1.3;opacity:.55}
.tree-svg .edge.alt{stroke-dasharray:2 4;stroke:#a23b3b;opacity:.7}
.tree-svg .edge.spouse{stroke:var(--gold);stroke-dasharray:5 4;stroke-width:1.6;opacity:.8}
.tree-svg .node{cursor:pointer}
.tree-svg .node text{fill:#fff;font-size:12px;pointer-events:none;font-family:Georgia,serif}
.tree-svg .node:focus{outline:none}
.tree-svg.dim .node{opacity:.25}.tree-svg.dim .edge{opacity:.12}
.tree-svg.dim .node.hi{opacity:1}.tree-svg.dim .edge.hi{opacity:1;stroke:var(--blue);stroke-width:2.4}
.tree-svg.dim .edge.spouse.hi{stroke:var(--gold)}
.tree-svg .node:hover rect,.tree-svg .node:focus rect{stroke:var(--gold);stroke-width:3}
.tree-svg .node.pulse rect{stroke:#e63946;stroke-width:4}
.badge.b-heroes{background:#f7e3e3;color:#a23b3b}.badge.b-monsters{background:#e3f0e2;color:#3d6b3a}
.badge.b-myths{background:#efe6f7;color:#5b3f8c}.badge.b-places{background:#f6efd9;color:#8a6d12}
.treebtn{display:block}

/* ---- Πλοήγηση σε σελίδες ---- */
.hero.top{padding-bottom:1.4rem}
.brand{color:#fff;text-decoration:none}.brand h1{margin:.2rem 0}
#crumbs{max-width:1100px;margin:0 auto;padding:.9rem 1.2rem;font-size:.95rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
#crumbs a{color:var(--blue);text-decoration:none;font-weight:bold}#crumbs a:hover{text-decoration:underline}
#crumbs .sep{color:var(--gold);font-weight:bold}#crumbs .cur{color:#555}
#view-page{max-width:1100px;margin:0 auto;padding:0 1.2rem 2rem}
.page-title{color:var(--navy);margin:.4rem 0 .2rem;font-size:1.7rem}.page-sub{color:#555;margin:0 0 1.2rem}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem}
.tiles.big{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}
.tile{display:block;background:#fff;border-radius:18px;padding:1.5rem;border-top:5px solid var(--gold);box-shadow:0 3px 12px #0002;color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s;position:relative}
.tile:hover,.tile:focus{transform:translateY(-3px);box-shadow:0 8px 20px #0003}
.tile .t-icon{font-size:2.4rem}.tiles.big .t-icon{font-size:3.2rem}
.tile h3{margin:.5rem 0 .3rem;color:var(--navy);font-size:1.25rem}.tiles.big h3{font-size:1.5rem}
.tile p{margin:0 0 .8rem;color:#555;font-size:.95rem;line-height:1.45}
.t-count{display:inline-block;background:#eef3fa;color:var(--blue);border-radius:999px;padding:.2rem .8rem;font-size:.85rem;font-weight:bold}
.t-names{margin-top:.7rem;font-size:.82rem;color:#777}
.tile.tree-tile{background:linear-gradient(135deg,#fff,#f3efe2);border-top-color:var(--blue)}
.subnav{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.2rem}
.subnav a{padding:.4rem .9rem;border-radius:999px;border:1px solid var(--blue);color:var(--blue);text-decoration:none;font-size:.9rem;background:#fff}
.subnav a.active,.subnav a:hover{background:var(--blue);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
a.card{display:block;color:inherit;text-decoration:none}
/* σελίδα καρτέλας */
.entry{background:#fff;border-radius:18px;box-shadow:0 3px 14px #0002;overflow:hidden}
.entry-head{display:flex;gap:1.4rem;align-items:flex-start;padding:1.8rem 2rem;background:linear-gradient(135deg,#fbf8f0,#eef3fa);border-bottom:4px solid var(--gold)}
.entry-head .icon.big{font-size:4rem;line-height:1}
.entry-head h2{margin:.2rem 0;color:var(--navy);font-size:2.2rem}
.entry-head em{color:var(--blue);font-size:1.1rem}
.entry-head .lead{font-size:1.12rem;line-height:1.6;margin:.8rem 0 0;max-width:62ch}
.toc{display:flex;flex-wrap:wrap;gap:.4rem;padding:.8rem 2rem;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff;z-index:2}
.toc a{font-size:.82rem;color:var(--blue);text-decoration:none;padding:.2rem .6rem;border-radius:999px;background:#f2f5fa}
.toc a:hover{background:var(--blue);color:#fff}
.entry-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;padding:1.5rem 2rem 2rem}
.esec{margin-bottom:1.6rem;scroll-margin-top:3.5rem}
.esec h3{color:var(--navy);border-bottom:2px solid var(--gold);padding-bottom:.3rem;margin:0 0 .7rem;font-size:1.2rem}
.e-main p{line-height:1.75;font-size:1.04rem}.e-main h4{color:var(--blue);margin:1.2rem 0 .3rem;font-size:1.08rem}
.e-main .myth{text-indent:0;margin:.5rem 0}
.e-main .plain li{margin:.45rem 0;line-height:1.6}
.sources .plain li{font-size:.92rem;color:#555}
.e-side .card-sec{background:#faf8f2;border-radius:14px;padding:1rem 1.1rem;border:1px solid #eee3c4}
.e-side .card-sec h3{font-size:1.02rem}
.e-side .famrow{margin-bottom:.7rem}.e-side .famrow strong{display:block;font-size:.85rem;color:#555;margin-bottom:.25rem}
.e-side .note{font-size:.88rem;color:#555;margin:.3rem 0 0}
.e-side .rels{padding-left:1.1rem;margin:0}.e-side .rels li{margin:.35rem 0;font-size:.92rem}
.e-side .rels a{color:var(--blue);font-weight:bold}
a.treebtn{display:block;text-decoration:none;margin:.4rem 0;text-align:center;font-size:.9rem}
.prevnext{display:flex;justify-content:space-between;padding:1rem 2rem;border-top:1px solid #eee}
.prevnext a{color:var(--blue);text-decoration:none;font-weight:bold}
@media(max-width:820px){.entry-body{grid-template-columns:1fr;padding:1.2rem}
 .entry-head{padding:1.2rem;gap:.8rem}.entry-head .icon.big{font-size:2.8rem}.entry-head h2{font-size:1.6rem}.toc{padding:.6rem 1.2rem}}
@media(max-width:600px){.tiles,.tiles.big{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.tile{padding:1.1rem}
 .entry-head{flex-direction:column}.prevnext{padding:1rem 1.2rem}.hero.top h1{font-size:1.6rem}.hero.top p{display:none}}
/* ---- εικόνες ---- */
.card img.thumb{width:100%;height:150px;object-fit:cover;border-radius:8px;display:block;background:#eee}
.e-fig{margin:0;flex:0 0 240px;max-width:240px}
.e-fig img{width:100%;border-radius:10px;box-shadow:0 2px 10px #0003;display:block}
.e-fig figcaption{font-size:.72rem;color:#666;margin-top:.35rem;line-height:1.3;word-break:break-word}
.e-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.8rem}
.favbtn{border:1px solid var(--gold);background:#fff;border-radius:20px;padding:.35rem .9rem;cursor:pointer;font:inherit}
.favbtn.on{background:var(--gold);color:#fff}
.tts{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin:.3rem 0 .6rem}
.tts button,.tts select{border:1px solid #c9d3e2;background:#fff;border-radius:16px;padding:.25rem .65rem;cursor:pointer;font:inherit;font-size:.85rem}
.tts .tts-play{background:var(--navy);color:#fff;border-color:var(--navy)}
.tts-msg{font-size:.8rem;color:#a14;flex-basis:100%}
.tool-tile{border-top-color:var(--blue)!important}
/* ---- μύθος της ημέρας ---- */
.daily{background:linear-gradient(135deg,#fff8e6,#fdf1d6);border-left:6px solid var(--gold);border-radius:12px;padding:1rem 1.4rem;margin:1rem 0;box-shadow:0 2px 8px #0001}
.daily .d-label{font-weight:bold;color:#9a6b00;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.daily h3{margin:.3rem 0;color:var(--navy)}.daily .d-link{font-weight:bold;color:var(--blue)}
/* ---- χάρτης ---- */
.disclaimer{background:#fff4e5;border:1px solid #f0c27a;border-radius:10px;padding:.7rem 1rem;font-size:.92rem}
.map-ctrl{display:flex;flex-wrap:wrap;gap:1rem;margin:.6rem 0}.map-ctrl b{display:inline-block;width:22px;height:4px;vertical-align:middle;margin:0 .3rem}
.map-wrap{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0002;overflow:auto}
#map-svg{width:100%;min-width:640px;display:block}
#map-svg .sea{fill:#cfe3f2}#map-svg .land{fill:#efe6cf;stroke:#a8987a;stroke-width:.6}
#map-svg .r-out,#map-svg .r-ret{fill:none;stroke-width:2.2;stroke-linejoin:round;opacity:.85}#map-svg .r-ret{stroke-dasharray:6 4}
#map-svg .stop{cursor:pointer;stroke:#fff;stroke-width:1}
#map-svg .place circle{fill:var(--gold);stroke:var(--navy);stroke-width:1.6;cursor:pointer}
#map-svg .place text{font-size:12px;font-weight:bold;fill:var(--navy);paint-order:stroke;stroke:#fff;stroke-width:3px}
#map-svg .place:hover circle{fill:#fff}
.map-info{margin:.5rem 0;font-size:.95rem;min-height:1.4em;color:var(--navy)}
.map-notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-top:1rem}
.map-notes>div{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0001}.map-notes ol{font-size:.9rem;padding-left:1.3rem}
/* ---- χρονολόγιο ---- */
.timeline{border-left:4px solid var(--gold);margin:1rem 0 1rem .6rem;padding-left:1.3rem}
.tl-era h3{color:var(--navy);margin:1.2rem 0 .5rem;position:relative}
.tl-era h3::before{content:"";position:absolute;left:-1.85rem;top:.25rem;width:14px;height:14px;border-radius:50%;background:var(--navy);border:3px solid var(--gold)}
.tl-item{background:#fff;border-radius:10px;margin:.45rem 0;padding:.55rem .9rem;box-shadow:0 1px 5px #0001}
.tl-item summary{cursor:pointer;font-weight:bold;color:var(--blue)}.tl-item p{margin:.5rem 0}
/* ---- κουίζ ---- */
.quiz-opts{display:flex;flex-direction:column;gap:.6rem;background:#fff;padding:1rem;border-radius:12px;box-shadow:0 2px 8px #0001}
.qo{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.qo strong{min-width:5.5rem}
.qo button,.q-ans button{border:1px solid #c9d3e2;background:#fff;border-radius:18px;padding:.35rem .9rem;cursor:pointer;font:inherit}
.qo button.active{background:var(--navy);color:#fff}
.quiz-start,.q-next{align-self:flex-start;background:var(--gold);border:none;color:#fff;font:inherit;font-weight:bold;padding:.5rem 1.4rem;border-radius:20px;cursor:pointer;margin-top:.5rem}
.q-card{background:#fff;border-radius:12px;padding:1.2rem;margin-top:1rem;box-shadow:0 2px 8px #0002}
.q-meta{font-size:.85rem;color:#666}.q-ans{display:grid;gap:.5rem}.q-ans button{text-align:left;border-radius:10px}
.q-ans button.right{background:#dff3e2;border-color:#3a9a4b}.q-ans button.wrong{background:#fbe0e0;border-color:#c33}
.q-ex .ok{color:#2d7d3a}.q-ex .no{color:#b22}.q-ex{margin-top:.8rem}
@media(max-width:600px){.entry-head{flex-direction:column}.e-fig{max-width:100%;flex-basis:auto}.card img.thumb{height:110px}}
/* ---- ιστορικά, αστερισμοί, λέξεις, ρωμαϊκά ---- */
.e-life{color:#7a3db8;font-weight:bold;margin:.3rem 0}.e-roman{color:#8a5a00;margin:.3rem 0;font-style:italic}
.hist-sec{border-left:5px solid #7a3db8;padding-left:1rem}.legend-sec{border-left:5px solid var(--gold);padding-left:1rem}
.hist-note{background:#f3ecfb;border-radius:8px;padding:.5rem .8rem;font-size:.9rem}.legend-note{background:#fff4e5;border-radius:8px;padding:.5rem .8rem;font-size:.9rem}
.disclaimer.hist{background:#f3ecfb;border-color:#b89ae0}
.tl-era.hist h3{color:#7a3db8}.tl-item.hist{border-left:4px solid #7a3db8}
.hbadge{background:#7a3db8;color:#fff;font-size:.65rem;padding:.1rem .45rem;border-radius:8px;margin-right:.5rem;vertical-align:middle;letter-spacing:.05em}
#map-svg .place.hist circle{fill:#7a3db8}#map-svg .stop-label{font-size:10px;fill:#3a1d63;paint-order:stroke;stroke:#fff;stroke-width:3px}
#map-svg .stop-label.battle{fill:#a5281b;font-weight:bold}#map-svg .stop.battle{stroke:#fff;stroke-width:1.5}
.starchart{width:100%;max-width:520px;display:block}.starchart .sky{fill:#0b1a3a}.starchart .cl{stroke:#7fa6e8;stroke-width:1.4;opacity:.8}
.starchart .st{fill:#fff8d8}.starchart text{fill:#cfe0ff;font-size:11px}.chart figcaption{font-size:.8rem;color:#666;margin-top:.3rem}.chart{margin:0}
.words{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1rem}
.word{background:#fff;border-radius:12px;padding:1rem 1.2rem;box-shadow:0 2px 8px #0001;border-top:4px solid var(--gold)}
.word h3{margin:0 0 .3rem;color:var(--navy)}.w-mean{font-weight:bold;margin:.2rem 0}.w-ety{font-size:.92rem;color:#444}.w-link{font-weight:bold;color:var(--blue)}
.w-filter{width:100%;max-width:420px;padding:.55rem 1rem;border-radius:20px;border:1px solid #c9d3e2;font:inherit}
.table-wrap{overflow-x:auto}table.roman{border-collapse:collapse;background:#fff;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0001}
table.roman th,table.roman td{padding:.5rem .8rem;border-bottom:1px solid #eee;text-align:left}table.roman th{background:var(--navy);color:#fff}table.roman .lat{font-style:italic;color:#555}
.b-historical{background:#7a3db8!important;color:#fff}.b-constellations{background:#0b1a3a!important;color:#fff}.b-festivals{background:#2d7d3a!important;color:#fff}
.vbadge{display:inline-block;font-size:.72em;line-height:1.3;padding:0 .45em;margin-left:.2em;border-radius:999px;background:#e3f1e3;color:#1f6b2a;border:1px solid #9ccc9f;font-weight:600;vertical-align:.1em;white-space:nowrap}
.vbadge.mini{padding:0 .3em;margin-left:.15em}
.vnote{font-size:.85em;color:#4a6b4c;margin-top:.5em}
@media (prefers-color-scheme:dark){.vbadge{background:#1e3a22;color:#a6dcaa;border-color:#3d6e42}.vnote{color:#9cc29f}}

/* ---- Ρυθμίσεις εμφάνισης ---- */
html{font-size:100%}
.prefs{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-top:.7rem}
.prefs button{background:#ffffff22;color:#fff;border:1px solid #ffffff55;border-radius:999px;padding:.3rem .8rem;font:inherit;font-size:.9rem;cursor:pointer}
.prefs button:hover,.prefs button.on{background:var(--gold);color:var(--navy);border-color:var(--gold)}
/* ---- Αποσπάσματα ---- */
.quotes{display:grid;gap:1rem;max-width:1100px;margin:0 auto}
.quote{background:#fff;border-radius:12px;padding:1rem 1.2rem;border-left:5px solid var(--gold);box-shadow:0 2px 8px #0001}
.quote h4{margin:0 0 .6rem;color:var(--navy)}
.q-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.q-two blockquote{margin:0;white-space:pre-line;line-height:1.6}
.q-gr{font-style:italic;color:#4a3b14}.q-el{color:#222}
.q-note{font-size:.9rem;color:#666;margin:.5rem 0}
.quotes-sec .quote{box-shadow:none;background:#faf6e9}
@media(max-width:700px){.q-two{grid-template-columns:1fr}}
/* ---- Τέχνη ---- */
.arts{display:grid;gap:1.2rem;max-width:1100px;margin:0 auto}
.art{display:flex;gap:1.2rem;background:#fff;border-radius:14px;padding:1rem;box-shadow:0 2px 8px #0001}
.art-fig{margin:0;flex:0 0 280px}.art-fig img{width:100%;max-height:320px;object-fit:contain;border-radius:8px;background:#f3efe2}
.art-fig figcaption{font-size:.72rem;color:#777;margin-top:.3rem;word-break:break-word}
.art-text h3{margin:.3rem 0 .5rem;color:var(--navy)}.art-text dl{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;margin:.4rem 0}
.art-text dt{font-weight:bold;color:#555}.art-text dd{margin:0}.art-src{font-size:.85rem;color:#555}
.badge.b-anc{background:#8a5a12;color:#fff}.badge.b-mod{background:#2f6db8;color:#fff}
.art-mini{display:grid;gap:.6rem}.art-link{display:flex;gap:.7rem;align-items:center;color:inherit;text-decoration:none}
.art-fig.small{flex:0 0 90px}.art-fig.small figcaption{display:none}.art-fig.small img{max-height:90px}
@media(max-width:700px){.art{flex-direction:column}.art-fig{flex:none}}
/* ---- Περιοχές ---- */
#map-svg .region ellipse{fill:#c9a22722;stroke:#c9a227;stroke-width:1;stroke-dasharray:4 3}
#map-svg .region.on ellipse{fill:#c9a22755;stroke:#9a6b00;stroke-width:2}
#map-svg .region:hover ellipse{fill:#c9a22744}
#map-svg .region-label{font-size:13px;font-weight:bold;fill:#7a4f00;paint-order:stroke;stroke:#fff;stroke-width:3px}
.region-chips{margin:.5rem 0}.region-chips a.active{background:var(--gold);color:var(--navy)}.rc-l{font-weight:bold;margin-right:.3rem}
a.maplink.big{display:inline-block;margin:.5rem 0 1rem;font-weight:bold}
/* ---- Παιδιά ---- */
.kids-box{background:#eaf7ea;border:2px dashed #2d7d3a;border-radius:14px;padding:.8rem 1.1rem;margin:0 0 1.2rem;font-size:1.1rem}
.kids-box strong{color:#2d7d3a}
.kids-quiz{background:#fff;border-radius:16px;padding:1rem 1.3rem;box-shadow:0 2px 8px #0001;max-width:700px;font-size:1.1rem}
.kq-opts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.kq-btn,.kq-next{font:inherit;padding:.7rem;border-radius:12px;border:2px solid #c9d3e2;background:#f2f5fa;cursor:pointer}
.kq-btn.ok{background:#d9f2dc;border-color:#2d7d3a}.kq-btn.no{background:#fbe0e0;border-color:#a23b3b}
.kq-next{margin-top:.6rem;background:var(--gold);border-color:var(--gold)}
.kids-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem}
.kids-card{background:#fff;border-radius:14px;padding:.8rem;color:inherit;text-decoration:none;box-shadow:0 2px 6px #0001}
.kids-card .k-ic{font-size:1.6rem;margin-right:.4rem}.kids-card p{margin:.4rem 0 0;font-size:.95rem}
@media(max-width:600px){.kq-opts{grid-template-columns:1fr}}

/* ---- Σκοτεινή λειτουργία (body.dark) ---- */
body.dark{--bg:#121722;--card:#1e2636;color:#e8e4da;background:#121722}
body.dark a{color:#8ab8ef}
body.dark #filters button{background:#1e2636;color:#8ab8ef}
body.dark #count{color:#e8e4da}
body.dark .card{background:#1e2636}
body.dark .card h3{color:#e8e4da}
body.dark .card small{color:#8ab8ef}
body.dark .card p{color:#e8e4da}
body.dark .badge{background:#1e2636;color:#8ab8ef}
body.dark #panel{background:#1e2636}
body.dark #panel h2{color:#e8e4da}
body.dark #panel h4{color:#8ab8ef}
body.dark .chips span{background:#1e2636}
body.dark .rels a{color:#8ab8ef}
body.dark .tab.active,body.dark .tab:hover{color:#e8e4da}
body.dark .badge.b-primordial{background:#1e2636;color:#e8e4da}
body.dark .badge.b-titans{background:#1e2636;color:#e8e4da}
body.dark .badge.b-minor{background:#1e2636;color:#e8e4da}
body.dark #panel h5{color:#e8e4da}
body.dark .famrow{background:#1e2636}
body.dark .famrow .note{color:#e8e4da}
body.dark .chips.links a{background:#1e2636;color:#8ab8ef}
body.dark .zoom button{background:#1e2636;color:#8ab8ef}
body.dark .hint{color:#e8e4da}
body.dark #tree-wrap{background:#1e2636}
body.dark .tree-views button{background:#1e2636;color:#8ab8ef}
body.dark .badge.b-heroes{background:#1e2636;color:#e8e4da}
body.dark .badge.b-monsters{background:#1e2636;color:#e8e4da}
body.dark .badge.b-myths{background:#1e2636;color:#e8e4da}
body.dark .badge.b-places{background:#1e2636;color:#e8e4da}
body.dark #crumbs a{color:#8ab8ef}
body.dark #crumbs .cur{color:#e8e4da}
body.dark .page-title{color:#e8e4da}
body.dark .page-sub{color:#e8e4da}
body.dark .tile{background:#1e2636}
body.dark .tile h3{color:#e8e4da}
body.dark .tile p{color:#e8e4da}
body.dark .t-count{background:#1e2636;color:#8ab8ef}
body.dark .tile.tree-tile{background:#1e2636}
body.dark .subnav a{background:#1e2636;color:#8ab8ef}
body.dark /* σελίδα καρτέλας */
.entry{background:#1e2636}
body.dark .entry-head{background:#1e2636}
body.dark .entry-head h2{color:#e8e4da}
body.dark .entry-head em{color:#8ab8ef}
body.dark .toc{background:#1e2636}
body.dark .toc a{background:#1e2636;color:#8ab8ef}
body.dark .esec h3{color:#e8e4da}
body.dark .e-main h4{color:#8ab8ef}
body.dark .sources .plain li{color:#e8e4da}
body.dark .e-side .card-sec{background:#1e2636}
body.dark .e-side .famrow strong{color:#e8e4da}
body.dark .e-side .note{color:#e8e4da}
body.dark .e-side .rels a{color:#8ab8ef}
body.dark .prevnext a{color:#8ab8ef}
body.dark /* ---- εικόνες ---- */
.card img.thumb{background:#1e2636}
body.dark .e-fig figcaption{color:#e8e4da}
body.dark .favbtn{background:#1e2636}
body.dark .tts button,body.dark .tts select{background:#1e2636}
body.dark .tts-msg{color:#e8e4da}
body.dark /* ---- μύθος της ημέρας ---- */
.daily{background:#1e2636}
body.dark .daily .d-label{color:#e8e4da}
body.dark .daily h3{color:#e8e4da}
body.dark .daily .d-link{color:#8ab8ef}
body.dark /* ---- χάρτης ---- */
.disclaimer{background:#1e2636}
body.dark .map-wrap{background:#1e2636}
body.dark .map-info{color:#e8e4da}
body.dark .map-notes>div{background:#1e2636}
body.dark .tl-era h3{color:#e8e4da}
body.dark .tl-item{background:#1e2636}
body.dark .tl-item summary{color:#8ab8ef}
body.dark /* ---- κουίζ ---- */
.quiz-opts{background:#1e2636}
body.dark .qo button,body.dark .q-ans button{background:#1e2636}
body.dark .q-card{background:#1e2636}
body.dark .q-meta{color:#e8e4da}
body.dark .q-ans button.right{background:#1e2636}
body.dark .q-ans button.wrong{background:#1e2636}
body.dark .q-ex .ok{color:#e8e4da}
body.dark .q-ex .no{color:#e8e4da}
body.dark /* ---- ιστορικά,body.dark αστερισμοί,body.dark λέξεις,body.dark ρωμαϊκά ---- */
.e-life{color:#e8e4da}
body.dark .e-roman{color:#e8e4da}
body.dark .hist-note{background:#1e2636}
body.dark .legend-note{background:#1e2636}
body.dark .disclaimer.hist{background:#1e2636}
body.dark .tl-era.hist h3{color:#e8e4da}
body.dark .chart figcaption{color:#e8e4da}
body.dark .word{background:#1e2636}
body.dark .word h3{color:#e8e4da}
body.dark .w-ety{color:#e8e4da}
body.dark .w-link{color:#8ab8ef}
body.dark table.roman{background:#1e2636}
body.dark table.roman .lat{color:#e8e4da}
body.dark .vbadge{background:#1e2636;color:#e8e4da}
body.dark .vnote{color:#e8e4da}
body.dark .quote{background:#1e2636}
body.dark .quote h4{color:#e8e4da}
body.dark .q-gr{color:#e8e4da}
body.dark .q-el{color:#e8e4da}
body.dark .q-note{color:#e8e4da}
body.dark .quotes-sec .quote{background:#1e2636}
body.dark .art{background:#1e2636}
body.dark .art-fig img{background:#1e2636}
body.dark .art-text h3{color:#e8e4da}
body.dark .art-text dt{color:#e8e4da}
body.dark .art-src{color:#e8e4da}
body.dark .region-chips a.active{color:#e8e4da}
body.dark /* ---- Παιδιά ---- */
.kids-box{background:#1e2636}
body.dark .kids-box strong{color:#e8e4da}
body.dark .kids-quiz{background:#1e2636}
body.dark .kq-btn,body.dark .kq-next{background:#1e2636}
body.dark .kq-btn.ok{background:#1e2636}
body.dark .kq-btn.no{background:#1e2636}
body.dark .kids-card{background:#1e2636}
body.dark .hero{background:linear-gradient(135deg,#060d1c,#0b2447)}
body.dark #map-svg .sea{fill:#16304a}body.dark #map-svg .land{fill:#3a3a32;stroke:#6a6450}
body.dark #map-svg text{fill:#eee}body.dark #map-svg .stop-label{fill:#e0d4ff;stroke:#121722}body.dark #map-svg .region-label{fill:#f0c27a;stroke:#121722}
body.dark .q-gr{color:#e6d39b}body.dark .q-el{color:#e8e4da}
body.dark .kids-box{background:#1d3324;color:#e8e4da}body.dark .kids-box strong{color:#8fd99a}
body.dark .kq-btn{background:#263247;color:#e8e4da;border-color:#3b4a66}body.dark .kq-btn.ok{background:#1f4a2a}body.dark .kq-btn.no{background:#4a1f1f}
body.dark .kq-next{color:#0b2447}
body.dark input,body.dark select,body.dark button:not(.kq-next){color:#e8e4da}
body.dark #search{background:#1e2636;color:#e8e4da}
body.dark .art-fig img{background:#121722}
body.dark .quotes-sec .quote{background:#252e40}
body.dark .vbadge{filter:brightness(.95)}
body.dark #tree-wrap{background:#1a2030}
.quote .chips{margin-top:.7rem}.q-two blockquote{padding-bottom:.2rem}
/* ---- Κοινοποίηση / αναφορά / πρόοδος ---- */
.share{position:relative;display:inline-block}
.sharebtn,.reportbtn,.reset-prog{font:inherit;font-size:.9rem;padding:.35rem .8rem;border-radius:999px;border:1px solid #c9d3e2;background:#f2f5fa;color:#0b2447;cursor:pointer;text-decoration:none;display:inline-block}
.reportbtn{background:#fff4e5;border-color:#f0c27a}
.share-menu{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem;padding:.5rem;background:#fff;border-radius:12px;box-shadow:0 3px 12px #0003;max-width:340px}
.share-menu[hidden]{display:none}
.share-menu a,.share-menu button{font:inherit;font-size:.85rem;padding:.3rem .6rem;border-radius:8px;border:0;background:#eef3fa;color:#0b2447;text-decoration:none;cursor:pointer}
.sh-viber{background:#ece6f6!important}.sh-whatsapp{background:#e3f6e8!important}.sh-msg{font-size:.8rem;color:#2d7d3a;width:100%}
.q-end .share{margin-top:.8rem;display:block}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;margin:1rem 0}
.stat{background:#fff;border-radius:12px;padding:.8rem;box-shadow:0 2px 6px #0001;text-align:center}.stat b{display:block;font-size:1.4rem;color:#0b2447}.stat span{font-size:.85rem;color:#555}
.pbar{height:12px;background:#eee;border-radius:99px;overflow:hidden;margin-bottom:1rem}.pbar i{display:block;height:100%;background:var(--gold)}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem}
.badge-card{background:#fff;border-radius:12px;padding:.8rem;opacity:.55;box-shadow:0 2px 6px #0001}.badge-card.got{opacity:1;border:2px solid var(--gold)}
.badge-card .bi{font-size:1.8rem;display:block}.badge-card small{display:block;color:#666}
.reset-prog{margin-top:1.5rem;background:#fbe0e0;border-color:#a23b3b}
.sw-update{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);background:#0b2447;color:#fff;padding:.7rem 1rem;border-radius:12px;box-shadow:0 4px 16px #0005;display:flex;gap:.8rem;align-items:center;z-index:99}
.sw-update button{background:var(--gold);border:0;border-radius:8px;padding:.4rem .8rem;font:inherit;cursor:pointer}
body.dark .share-menu,body.dark .stat,body.dark .badge-card{background:#1e2636}body.dark .stat b{color:#e8e4da}
body.dark .sharebtn,body.dark .share-menu a,body.dark .share-menu button{background:#263247!important;color:#e8e4da;border-color:#3b4a66}
body.dark .reportbtn{background:#3a2e17;color:#f0c27a;border-color:#6a5420}
.privacy{max-width:760px}.home-privacy{text-align:center;margin:1.5rem 0}.del-msg{color:#2d7d3a}

.tree-full-wrap{text-align:center;margin:0 0 .5rem}#tree-full{display:inline-block;margin:0}#tree-full[hidden]{display:none}
@media(max-width:600px){#tree-wrap{height:60vh;touch-action:none;overscroll-behavior:contain;margin:0 .3rem .6rem}
.tree-bar{padding:.5rem;gap:.4rem}.tree-views{padding:.6rem .4rem 0;gap:.3rem}.tree-views button{padding:.3rem .7rem;font-size:.8rem}
.zoom button{min-width:44px;min-height:40px;font-size:1.2rem}#tree-legend{font-size:.75rem;gap:.4rem}}

/* κινητό: δέντρο ως λίστα */
#tree-wrap.as-list{height:auto;overflow:visible;touch-action:auto;background:transparent;box-shadow:none}
.zoom[hidden]{display:none}
.tree-list{padding:.2rem .2rem 1rem}
.tl-gen h3{font-size:1.05rem;margin:1rem 0 .4rem;padding:.3rem .6rem;background:#0b2447;color:#fff;border-radius:8px}
.tl-fam{margin:.4rem 0;border:1px solid #0002;border-radius:10px;background:#fff}
.tl-fam summary{padding:.7rem .8rem;font-size:15px;font-weight:600;cursor:pointer}
.tl-fam[open] summary{border-bottom:1px solid #0001}
.tl-items{display:flex;flex-direction:column;gap:.35rem;padding:.4rem}
.tl-name{display:block;padding:.6rem .8rem;font-size:16px;border-left:6px solid #555;border-radius:8px;background:#f6f3ec;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.tl-name small{display:block;font-size:14px;opacity:.75;margin-top:.15rem}
.tl-name.pulse{outline:3px solid #e0a800}
body.dark .tl-fam{background:#1e2636;border-color:#fff2}body.dark .tl-name{background:#232c3e}
.b-context{background:#8a5a2b!important;color:#fff}.b-philosophers{background:#1f5f7a!important;color:#fff}
.frag{border-left:3px solid #c9a227;background:rgba(201,162,39,.08);padding:.5em .9em;margin:.7em 0;border-radius:6px}
.frag-gr{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.05em;margin:.2em 0}
.frag-el{margin:.3em 0}.frag-ref{font-size:.85em;opacity:.8;margin:.2em 0}.frag-note{font-size:.85em;opacity:.75;margin:.2em 0}

@media (max-width:600px){#view-tree.list-mode .line-legend{display:none}}
