/* ═══════════ 1.67.0 (#91, GX 9/11/2026 10:50 «ΝΑΙ ΣΕ ΟΛΑ»): ΤΑ ΓΡΑΦΙΚΑ ΤΗΣ iSCA 2026 — το ΕΝΑ αρχείο κανόνων ═══════════
   Ό,τι είναι γραφικό στην iSCA ντύνεται ΕΔΩ και ζει στο js/grafika.js· το σχέδιο (SVG από τον διακομιστή) είναι το isca/cards/sxedio.py.
   Οι κανόνες:
     1. ο αριθμός πρώτα (.g26n, ≥ 46px) — το διάγραμμα τον εξηγεί·
     2. ένα χρώμα για το μέγεθος (--g-size), ένα για την προσοχή (--g-attn)· κόκκινο / πράσινο μόνο ως κατάσταση με εικονίδιο (.g26st)·
     3. ράβδοι λεπτές με άκρη 4px και κενό 2px, γραμμές 2px, σημεία 8px· πλέγμα αχνό (--g-grid), άξονας χωρίς κουτί·
     4. ετικέτες επιλεκτικά· ο στόχος διακεκομμένη γραμμή (.target)· υπόμνημα μόνο με ≥ 2 σειρές, με ετικέτα δίπλα στη γραμμή (.lnname)· ποτέ δεύτερος άξονας·
     5. hover παντού (σταυρόνημα .xh στις γραμμές, καρτελάκι .tip στις ράβδους, άγγιγμα στο iPad)·
     6. «Δες τους αριθμούς» (.g26nums) πίσω από κάθε γραφικό·
     7. ζωντάνια: κάθε γραφικό «γεννιέται» όταν εμφανίζεται (--g-birth 0,6 s), ΜΟΝΟ την πρώτη φορά, ποτέ με prefers-reduced-motion·
     8. γυάλινο πλαίσιο (.g26glass / κουτιά που περιέχουν .g26) με θόλωση φόντου και fallback.
   ΟΧΙ σκοτεινό θέμα γραφικών ακόμη (μετά τις 20/11): οι κανόνες του σκούρου «δέρματος» της 1.14.0 μένουν ως είχαν, στο τέλος του αρχείου.
   Ο φρουρός tests/test_v1670.py κρατά τα χρώματα εδώ ίδια με το sxedio.SIZE / ATTN / GRID. */
:root{--g-size:#2a78d6;--g-attn:#eb6834;--g-grid:#e2e7ee;--g-axis:#c9d2de;--g-ink:#16202e;--g-muted:#5b6676;--g-ok:#0e8a5f;--g-bad:#c42b2b;--g-birth:.6s;
  --g-glass:rgba(255,255,255,.66);--g-glass-line:rgba(255,255,255,.75);--g-glass-shadow:0 10px 30px -18px rgba(1,35,87,.35),0 1px 0 rgba(255,255,255,.6) inset}

/* ───────── το σχέδιο (svg.tc) — από το app.css της 1.14.0 / 1.20.2, με τις τιμές του 2026 ───────── */
svg.tc{width:100%;height:auto;display:block;font-family:inherit;overflow:visible}
svg.tc.donut{width:var(--dsz,120px);height:var(--dsz,120px);flex:none}
.tc text{font-family:inherit}
.tc .ax{fill:var(--muted);font-size:11px}.tc .ax.now{fill:var(--ink);font-weight:600}
.tc .cv{fill:var(--navy);font-size:11.5px;font-weight:600;pointer-events:none}
.tc .gl{stroke:var(--g-grid);stroke-width:1}.tc .gl.z{stroke:var(--g-axis)}
.tc .zline{stroke:var(--bad);stroke-width:1.2}
.tc .avg{stroke:var(--navy);stroke-width:1.2;stroke-dasharray:6 4}.tc .avgt{fill:var(--navy);font-size:10.5px}
.tc rect.ghost{fill:none;stroke:var(--faint);stroke-width:1.4;stroke-dasharray:3 3}
.tc polyline.ghost{fill:none;stroke:var(--faint);stroke-width:1.6;stroke-dasharray:5 4;opacity:.85}
.tc .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.tc .ln.bold{stroke-width:2.6}
.tc .dot{fill:#fff;stroke-width:1.6;transition:r .15s}
.tc .hit{fill:transparent}
.tc .slot:hover .hit,.tc .pt:hover .hit,.tc .hit.tipped{fill:rgba(13,91,219,.07)}
.tc .pt:hover .dot,.tc .pt .hit.tipped ~ .dot{r:5.5}
.tc .col.zero{fill:var(--line)}
.tc a{cursor:pointer}.tc a:focus-visible .hit{fill:rgba(13,91,219,.12)}
.tc .mk.in{fill:var(--ok)}.tc .mk.out{fill:var(--bad)}
/* 1.69.0.1 (Γ, GX 10/11/2026 14:00 — κανόνας 6 του sxedio.py): οι ΣΗΜΑΔΟΥΡΕΣ. Σύμβολο στη βάση του άξονα ανά είδος (το χρώμα και το σχήμα τα δίνει ο
   ζωγράφος — sxedio.events_svg / grafika.js evDraw), η ετικέτα στο hover / στο άγγιγμα (data-tip), ομάδα = κύκλος με αριθμό, ≤ 3 μόνιμες ετικέτες (.evl).
   Ως την 1.69.0 κάθε σημαία ήταν κάθετη γραμμή + μόνιμο κείμενο· με 8–10 κοντινά γεγονότα έπεφταν το ένα στο άλλο. */
.tc .flag{cursor:help}
.tc .flag .evh{fill:transparent}
.tc .flag .evs{stroke:#fff;stroke-width:1.5;paint-order:stroke;transition:transform .12s;transform-box:fill-box;transform-origin:center}
.tc .flag:hover .evs,.tc .flag.tipped .evs{transform:scale(1.18)}
.tc .flag .evn{fill:#fff;font-size:9.5px;font-weight:700;pointer-events:none}
.tc .evl line{stroke-width:1;stroke-dasharray:2 3;opacity:.7}
.tc .evl text{font-size:10.5px;font-weight:600;pointer-events:none;paint-order:stroke;stroke:var(--paper,#fff);stroke-width:3px;stroke-linejoin:round}
.evlegend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px;color:var(--muted);margin:10px 2px 8px}
.evlegend b{font-weight:600;color:var(--navy)}
.evlegend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.evlegend svg{width:14px;height:14px;flex:none}
.evlegend .evs{stroke:#fff;stroke-width:1.2;paint-order:stroke}.evlegend .evn{fill:#fff;font-size:8.5px;font-weight:700}
.g26t td.tx,.g26t th.tx{text-align:left;white-space:normal;min-width:190px}
html[data-skin=night] .tc .evl text{stroke:#0f3a86}
.tc.donut .arc{fill:none;transition:stroke-width .15s,opacity .15s}
.tc.donut:hover .arc{opacity:.45}.tc.donut .arc:hover,.tc.donut .arc.tipped{opacity:1;stroke-width:22px!important}
.tc.donut .ring{stroke:var(--mist)}
.tc .mid{fill:var(--navy);font-size:22px;font-weight:600}.tc .mids{fill:var(--muted);font-size:11px}
.tc.brush{margin-top:6px;cursor:crosshair;user-select:none;-webkit-user-select:none}
.tc.brush .bg{fill:var(--mist)}.tc.brush .mini{fill:none;stroke:var(--faint);stroke-width:1.2}
.tc.brush .sel{fill:rgba(13,91,219,.14);stroke:var(--blue);stroke-width:1.4;cursor:grab}
.tc.brush .handle rect{fill:#fff;stroke:var(--blue);stroke-width:1.4;cursor:ew-resize}.tc.brush .handle line{stroke:var(--blue);stroke-width:1}
html.js svg.tc:not(.anim) [data-anim="bar"]{transform:scaleY(0)}
svg.tc [data-anim="bar"]{transform-box:fill-box;transform-origin:bottom;transition:transform var(--g-birth) cubic-bezier(.2,.8,.2,1)}
html.js svg.tc:not(.anim) [data-anim="line"],html.js svg.tc:not(.anim) polyline.ghost{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000)}
svg.tc [data-anim="line"],svg.tc polyline.ghost{transition:stroke-dashoffset var(--g-birth) ease-out}
html.js svg.tc:not(.anim) [data-anim="arc"]{opacity:0}
svg.tc [data-anim="arc"]{transition:opacity var(--g-birth) ease}
html.js svg.tc:not(.anim) .area{opacity:0}svg.tc .area{transition:opacity var(--g-birth) ease .2s}
@media (prefers-reduced-motion:reduce){html.js svg.tc:not(.anim) [data-anim],html.js svg.tc:not(.anim) polyline.ghost,html.js svg.tc:not(.anim) .area{transform:none;stroke-dashoffset:0;opacity:1;transition:none}}
@media print{html.js svg.tc:not(.anim) [data-anim],html.js svg.tc:not(.anim) polyline.ghost,html.js svg.tc:not(.anim) .area{transform:none;stroke-dashoffset:0;opacity:1}}
.tip{position:absolute;z-index:120;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px -14px rgba(1,35,87,.45);padding:10px 12px;min-width:170px;max-width:300px;font-size:12.5px;line-height:1.35;pointer-events:none;color:var(--ink)}
.tip::after{content:"";position:absolute;left:var(--ax,50%);width:12px;height:12px;background:#fff;border:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.tip.up::after{bottom:-7px;border-left:0;border-top:0}
.tip.down::after{top:-7px;border-right:0;border-bottom:0}
.tip b.t{display:block;font-size:13px;color:var(--navy);margin-bottom:5px}
.tip .r{display:flex;justify-content:space-between;gap:14px;align-items:center}
.tip .r i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;flex:none}
.tip .r span:first-child{display:flex;align-items:center;color:var(--ink);min-width:0}
.tip .r b{font-variant-numeric:tabular-nums;color:var(--navy);white-space:nowrap}
.tip .d{color:var(--muted);font-size:11.5px;margin-top:6px;border-top:1px dashed var(--line-soft);padding-top:5px}
.tip .d.cl{color:var(--blue)}
.tc .dot.hov{opacity:0;transition:opacity .15s}.tc .pt:hover .dot.hov{opacity:1}
.tc .lg{fill:var(--muted);font-size:11.5px}.tc .lgd{stroke-width:1.6;stroke-dasharray:5 4}
.tc .lastv text{fill:#fff;font-size:11px;font-weight:600;pointer-events:none}
.tc .ext{fill:var(--muted);font-size:10.5px;font-weight:600;pointer-events:none}
.tc .axnote{font-size:10px;fill:var(--faint)}
.tc.line .bandl{stroke-width:1;stroke-dasharray:3 3;opacity:.7}.tc.line .bandt{font-size:10.5px;font-weight:600}
.tc .avgbg{fill:var(--paper);fill-opacity:.85}
.tc .inprog{fill:var(--muted);font-size:10.5px}
.tc.ranking .rl{fill:var(--ink);font-size:12px}.tc.ranking .rl.me{font-weight:700;fill:var(--navy)}.tc.ranking .rv{fill:var(--navy);font-size:11.5px;font-weight:600}
.tc.ranking .row:hover .col{fill-opacity:1}
.tc.heat{max-width:100%;height:auto;display:block}
.tc.heat .hc.none{fill:var(--mist)}.tc.heat .hc.z{fill:var(--mist);fill-opacity:1}.tc.heat .hc:hover{stroke:var(--navy);stroke-width:1.2}
.spark .sv{font-size:11.5px;font-weight:600}.spark .sd{font-size:10px}
html[data-skin=night] .tc .ax,html[data-skin=night] .tc .mids{fill:#c9d8f5}html[data-skin=night] .tc .ax.now,html[data-skin=night] .tc .cv,html[data-skin=night] .tc .mid,html[data-skin=night] .tc .avgt{fill:#fff}
html[data-skin=night] .tc .gl{stroke:rgba(255,255,255,.16)}html[data-skin=night] .tc .avg{stroke:#fff}
html[data-skin=night] .tc .dot{fill:#0f3a86}
html[data-skin=night] .tc .hit.tipped,html[data-skin=night] .tc .slot:hover .hit,html[data-skin=night] .tc .pt:hover .hit{fill:rgba(255,255,255,.1)}
html[data-skin=night] .tc rect.ghost,html[data-skin=night] .tc polyline.ghost{stroke:#aac0ea}
html[data-skin=night] .tc.brush .bg{fill:rgba(255,255,255,.1)}html[data-skin=night] .tc.brush .sel{fill:rgba(255,255,255,.18);stroke:#fff}html[data-skin=night] .tc.brush .handle rect{stroke:#fff}html[data-skin=night] .tc.brush .handle line{stroke:#fff}html[data-skin=night] .tc.brush .mini{stroke:#aac0ea}
html[data-skin=night] .tc.donut .ring{stroke:rgba(255,255,255,.15)}
html[data-skin=night] .tc .lg,html[data-skin=night] .tc .ext,html[data-skin=night] .tc .inprog{fill:#c9d8f5}
html[data-skin=night] .tc .avgbg{fill:#0f3a86}html[data-skin=night] .tc .avgt{fill:#fff}
html[data-skin=night] .tc.ranking .rl,html[data-skin=night] .tc.ranking .rv{fill:#e6eefc}
html[data-skin=night] .tc.heat .hc.none,html[data-skin=night] .tc.heat .hc.z{fill:rgba(255,255,255,.08)}
html[data-skin=night] .spark .sv{fill:#e6eefc!important}
.tc.tl .band{fill:#0e8a5f;opacity:.08}
.tc.tl .bandl{stroke:#0e8a5f;stroke-width:1;stroke-dasharray:4 4;opacity:.6}
.tc.tl .bandt{fill:#0e8a5f;font-size:10px;font-weight:600}
.tc.tl .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.tc.tl .dot{stroke:#fff;stroke-width:1.5}
.tc.tl .dot.oor{stroke:#fff;stroke-width:1.5}
.tc.tl .last{font-size:12px;font-weight:700}
.tc.tl text.ax{font-size:10.5px}
html[data-skin=night] .tc.tl .band{opacity:.16}

/* ───────── 2026: το πλαίσιο κάθε γραφικού — ο αριθμός, το διάγραμμα, «Δες τους αριθμούς» ───────── */
figure.g26{margin:0;min-width:0;display:block}
.g26h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 6px}
.g26n{font-size:46px;line-height:1;font-weight:700;letter-spacing:-.02em;color:var(--g-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.g26h.attn .g26n{color:var(--g-attn)}
.g26l{font-size:14px;font-weight:500;color:var(--g-muted);min-width:0}
.g26s{flex-basis:100%;font-size:13px;line-height:1.45;color:var(--ink);margin-top:4px}
.g26s b{color:var(--g-ink)}
.g26src{font-size:11.5px;color:var(--g-muted);border-top:1px dashed var(--g-grid);margin-top:10px;padding-top:8px;display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.g26st{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:14px;padding:3px 9px;white-space:nowrap;flex:none}
.g26st svg{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.g26st.ok{background:#e4f4ec;color:var(--g-ok)}.g26st.bad{background:#fbe9e7;color:var(--g-bad)}.g26st.attn{background:#fdeee6;color:#b24a17}
/* μικρές κάρτες (τα 3 γραφικά της Εικόνας, το κινητό): ο αριθμός μένει ≥ 46px μόνο όπου χωρά — ποτέ κάτω από 34 */
.eik .g26n,.kpis .g26n{font-size:clamp(34px,4.2vw,46px)}
@media (max-width:760px){.g26n{font-size:38px}.g26l{font-size:13px}}
/* χρώματα από τον κανόνα, όχι από τον καλούντα */
.tc .col.attn{fill:var(--g-attn)!important}.tc .cv.attn{fill:#b24a17}
.tc .dot{stroke-width:2}.tc .dot.attn{stroke:var(--g-attn)!important}
.tc .target line{stroke:var(--g-muted);stroke-width:1.2;stroke-dasharray:5 4}.tc .target text{fill:var(--g-muted);font-size:10.5px;font-weight:600}
.tc .lnname{font-size:11px;font-weight:600}
.tc .xh{stroke:var(--g-muted);stroke-width:1;stroke-dasharray:2 3;pointer-events:none;opacity:.8}
.tc .ghostbar{fill:var(--g-size);fill-opacity:.22}
/* «Δες τους αριθμούς» */
.g26nums{margin-top:8px;font-size:12px}
.g26nums > summary{cursor:pointer;color:var(--blue,#0d5bdb);font-weight:500;list-style:none;display:inline-flex;align-items:center;gap:5px;padding:2px 0;user-select:none}
.g26nums > summary::-webkit-details-marker{display:none}
.g26nums > summary::before{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
.g26nums[open] > summary::before{transform:rotate(45deg)}
.g26tw{overflow:auto;max-height:260px;margin-top:6px;border:1px solid var(--g-grid);border-radius:10px;background:var(--paper,#fff)}
/* ΔΙΚΟΣ του πίνακας, όχι .tbl: οι λίστες των καρτελών μένουν ο πρώτος .tbl της σελίδας (παλιοί έλεγχοι και κώδικας που ψάχνει «τον πίνακα») */
.g26t{font-size:12px;margin:0;width:100%;border-collapse:collapse}.g26t th,.g26t td{padding:4px 9px;white-space:nowrap;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft,#e8edf3)}.g26t tr:last-child :is(td,th){border-bottom:0}.g26t tbody th{font-weight:500;text-align:left;color:var(--ink)}.g26t tr.g26th th{font-weight:600;color:var(--g-muted);background:var(--mist,#f3f6fa);position:sticky;top:0}
.g26t .n{text-align:right;font-variant-numeric:tabular-nums}
.g26f{font-size:11.5px;color:var(--g-muted);margin:5px 0 0}
@media print{.g26nums:not([open]){display:none}.g26nums > summary{display:none}.g26tw{max-height:none;overflow:visible}}
/* γυάλινο πλαίσιο: οι κάρτες που κρατούν γραφικό — ημιδιαφανείς με θόλωση φόντου· όπου δεν υποστηρίζεται (ή δεν υπάρχει :has) μένει το χαρτί τους */
.g26glass{background:var(--paper,#fff);border:1px solid var(--line-soft,#e6ebf2);border-radius:16px}
@supports ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .g26glass,.eik:has(.g26),.ch:has(.g26),.chartbox:has(.g26),.box.gr:has(.g26){background:var(--g-glass);-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);
    border-color:var(--g-glass-line);box-shadow:var(--g-glass-shadow)}
}
/* το σκούρο «δέρμα» (νύχτα) κρατά τη δική του ναυτική κάρτα — ίδια διαβάθμιση, 88 % αδιαφάνεια για να περνά η θόλωση· τα .eik μέσα της μένουν διάφανα */
html[data-skin=night] .eik:has(.g26){background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
html[data-skin=night] .g26glass,html[data-skin=night] .eikona:has(.g26),html[data-skin=night] .ch:has(.g26),html[data-skin=night] .chartbox:has(.g26),html[data-skin=night] .box.gr:has(.g26){background:linear-gradient(160deg,rgba(7,37,92,.9) 0%,rgba(15,58,134,.9) 55%,rgba(13,91,219,.9) 140%);border-color:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25)}
html[data-skin=night] .g26glass{color:#dbe7ff}html[data-skin=night] .skini h2{color:#fff}html[data-skin=night] .skini .crumb,html[data-skin=night] .skini .skcap,html[data-skin=night] .skini .skfull{color:#aac0ea}
html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) .g26nums > summary{color:#9cc3ff}html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) .g26t :is(th,td){color:#e6eefc;border-bottom-color:rgba(255,255,255,.12)}html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) .g26t tr.g26th th{background:#0f3a86;color:#c9d8f5}
html[data-skin=night] .tc .target line{stroke:#c9d8f5}html[data-skin=night] .tc .target text,html[data-skin=night] .tc .lnname{fill:#c9d8f5}html[data-skin=night] .tc .xh{stroke:#fff}
html[data-skin=night] .tc.g26time .trk{fill:rgba(255,255,255,.14)}html[data-skin=night] .tc.g26time .tick{stroke:#fff}html[data-skin=night] .tc.ranking .rv.attn{fill:#ffb08a}html[data-skin=night] .tc .cv.attn{fill:#ffb08a}
/* τα κείμενα του 2026 γίνονται ανοιχτά ΜΟΝΟ μέσα στις σκούρες κάρτες της νύχτας — μια λευκή κάρτα (.box) κρατά το μελάνι της */
html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) .g26n{color:#fff}html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) .g26h.attn .g26n{color:#ffb08a}html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) :is(.g26l,.g26s,.g26src,.g26f){color:#c9d8f5}html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) .g26s b{color:#fff}
html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) .g26tw{background:#0f3a86;border-color:rgba(255,255,255,.16)}html[data-skin=night] :is(.eikona,.ch,.chartbox,.box.gr,.g26glass) .g26src{border-top-color:rgba(255,255,255,.18)}
@media print{.g26n{color:#012357!important}.g26h.attn .g26n{color:#b94a1c!important}.g26l,.g26s,.g26src,.skini .crumb,.skini .skcap{color:#3d4a5c!important}}
@media print{.g26glass,.eik:has(.g26),.ch:has(.g26),.chartbox:has(.g26),.box.gr:has(.g26){background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}}
/* η γέννηση: μία φορά. Το grafika.js βάζει .anim όταν το γραφικό μπει στην οθόνη· σε σελίδα που το είδες ήδη (html.g26seen) όλα είναι στη θέση τους από την αρχή */
html.g26seen .g26 svg.tc [data-anim],html.g26seen .g26 svg.tc polyline.ghost,html.g26seen .g26 svg.tc .area{transition:none!important}
/* ό,τι μπαίνει «ήδη γεννημένο» (σελίδα που την είδες, γραφικό έξω από <figure>): ακίνητο ΜΟΝΟ τη στιγμή που στήνεται (.g26still, 0,7 s) — οι μετέπειτα κινήσεις του (βούρτσα, εναλλαγές) μένουν */
svg.tc.g26still [data-anim],svg.tc.g26still polyline.ghost,svg.tc.g26still .area{transition:none!important}
@media (prefers-reduced-motion:reduce){svg.tc [data-anim],svg.tc polyline.ghost,svg.tc .area{transition:none!important}}

/* Υγεία › οι 30 νύχτες: το χρώμα είναι ΚΑΤΑΣΤΑΣΗ — πάντα με το εικονίδιό της (στο hover, στο άγγιγμα, στην τρέχουσα) και στο καρτελάκι */
.nyxta-dots .dot[data-g26-state]{position:relative}
.nyxta-dots .dot[data-g26-state]::after{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:700;line-height:1;opacity:0;transition:opacity .12s}
.nyxta-dots .dot[data-g26-state=ok]::after{content:"\2713"}.nyxta-dots .dot[data-g26-state=warn]::after{content:"!"}.nyxta-dots .dot[data-g26-state=bad]::after{content:"\2715"}
.nyxta-dots .dot[data-g26-state]:hover::after,.nyxta-dots .dot[data-g26-state]:focus-visible::after,.nyxta-dots .dot[data-g26-state].cur::after,.nyxta-dots .dot[data-g26-state].tipped::after{opacity:1}
/* Αξιολόγηση › το ραντάρ των κριτηρίων: οι χρονιές = αποχρώσεις του ίδιου χρώματος (η τελευταία η έντονη) */
.adradar polygon[stroke-width]{stroke-linejoin:round}
.tc .col.soft{fill-opacity:.28}.tc.ranking .rv.attn{fill:#b24a17;font-weight:700}
/* ───────── 1.67.0 (χ17): οι τρεις σκηνές του Αποτελέσματος — κάρτες «αριθμός + μία πρόταση + διάγραμμα + από πού βγαίνει» ───────── */
.skines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
@media (max-width:1180px){.skines{grid-template-columns:1fr}}
.skini{display:flex;flex-direction:column;min-width:0}
.skini h2{font-size:16px;margin:0;color:var(--g-ink)}.skini .crumb{font-size:12px;color:var(--g-muted);margin:2px 0 12px}
.skini figure.g26{flex:1}.skini .g26n{font-size:52px}
.skini .skcap{font-size:11.5px;color:var(--g-muted);margin:10px 0 2px}
.skini .skfull{font-size:12px;color:var(--g-muted);margin-top:4px;display:flex;align-items:center;gap:8px}
.skini .skfull i{display:inline-block;width:4px;height:14px;border-radius:2px;background:var(--g-size);opacity:.35}
.skini .skfull.miss{font-style:italic}
.tc.g26time .trk{fill:var(--g-grid)}.tc.g26time .tick{stroke:var(--g-ink);stroke-width:1.4}.tc.g26time .tick.dash{stroke:var(--g-muted);stroke-dasharray:3 3}
html.js svg.tc:not(.anim) [data-anim="grow"]{transform:scaleX(0)}
svg.tc [data-anim="grow"]{transform-box:fill-box;transform-origin:left;transition:transform var(--g-birth) cubic-bezier(.2,.8,.2,1)}
@media (prefers-reduced-motion:reduce){html.js svg.tc:not(.anim) [data-anim="grow"]{transform:none}}
@media print{html.js svg.tc:not(.anim) [data-anim="grow"]{transform:none}.skines{grid-template-columns:1fr}}

/* ───────── 1.69.0.2 (χ69 «Σειρές συνδέσεων», GX 10/11/2026): το ΣΧΗΜΑ των συνδέσεων και το πάνελ «Οι συνδέσεις του ΚΣ» ─────────
   Το λεξιλόγιο του Χρονολογίου για ΚΑΘΕ καρτέλα (sxima.js): λωρίδα ανά σειρά, κάρτα ανά εγγραφή, βέλος ανά σύνδεση, αναδίπλωση, και ο κόμβος —
   η ίδια εγγραφή σε δύο λωρίδες, δεμένη με πορτοκαλί διακεκομμένη. Μπλε / πορτοκαλί: το πορτοκαλί μόνο στην εγγραφή «εδώ» και στον κόμβο. */
.sx{position:relative;display:flex;flex-direction:column;gap:12px;margin:8px 0 4px;min-width:0}
.sx:empty{display:none}
.sxlane{--c:#1f4fa0;position:relative;border:1px solid color-mix(in srgb,var(--c) 26%,#fff);background:color-mix(in srgb,var(--c) 7%,#fff);border-radius:14px;padding:10px 14px 16px}
.sxlane.iso,.sxlane.loose{--c:#8A98A8;border-style:dashed;background:transparent}
.sxlab{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px;font-size:12px;color:var(--c);margin-bottom:14px;line-height:1.3}
.sxlab .dot{width:9px;height:9px;border-radius:50%;background:var(--c);display:inline-block;flex:none;align-self:center}
.sxlab b{font-weight:700}.sxlab span{font-weight:600}.sxlab .n{margin-left:auto;font-weight:400;color:var(--muted);font-size:11.5px}
.sxrow{display:flex;flex-wrap:wrap;gap:34px 46px;align-items:stretch;position:relative;z-index:1}
.sxcard{appearance:none;font:inherit;text-align:center;cursor:pointer;min-width:118px;max-width:168px;flex:0 1 150px;background:#fff;border:1.5px solid color-mix(in srgb,var(--c) 55%,#fff);border-radius:10px;padding:8px 10px 7px;display:flex;flex-direction:column;gap:2px;justify-content:center;box-shadow:0 1px 2px rgba(1,35,87,.06);transition:box-shadow .2s,border-color .2s,transform .12s;color:var(--navy);min-height:48px}
.sxcard b{font-size:12.6px;font-weight:650;line-height:1.22;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.sxcard small{font-size:10.8px;color:var(--muted);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sxcard:hover,.sxcard:focus-visible{border-color:var(--blue);box-shadow:0 2px 12px rgba(13,91,219,.22);outline:none;transform:translateY(-1px)}
.sxcard.edo{border-color:#E8702A;border-width:2px;box-shadow:0 0 0 3px rgba(232,112,42,.14)}
.sxcard.edo b{color:#b4500f}
.sxcard .edom{font-style:normal;font-weight:600;font-size:10.5px;color:#b4500f;background:rgba(232,112,42,.12);border-radius:999px;padding:0 6px;margin-left:6px;vertical-align:1px}
.sxcard.node:not(.edo){border-color:#E8702A;border-style:solid}
.sxcard.iso{border-style:dashed;border-color:#b9c4d2}
.sxcard.retired{opacity:.6}
.sxsvg{position:absolute;left:0;top:0;pointer-events:none;z-index:2;overflow:visible}
.sxedge{stroke-width:2;stroke-linecap:round;transition:stroke-width .15s}
.sxedge.nodeedge{stroke-dasharray:1 0}
.sxedge.isoedge{stroke-dasharray:5 5;stroke-width:1.6}
.sxedge.lit{stroke-width:3.4}
.sxnode{stroke-width:2.2;stroke-dasharray:3 5;stroke-linecap:round}
.sxhit{stroke:transparent;stroke-width:16;pointer-events:stroke;cursor:help;outline:none}
.sxtip{position:fixed;z-index:140;background:#0b1f3f;color:#fff;font-size:12px;line-height:1.35;padding:6px 10px;border-radius:8px;max-width:min(340px,calc(100vw - 16px));box-shadow:0 10px 30px -10px rgba(1,35,87,.6);pointer-events:none}
.sxdlg .db{max-height:min(72vh,720px);overflow:auto}

/* το πάνελ: χωριστό, δίπλα / πάνω στο πάνελ της εγγραφής (όπως το παράθυρο του Βαλακιού)· ⤢ = όλη η οθόνη */
.synd{position:fixed;top:10px;right:10px;bottom:10px;width:min(620px,calc(100vw - 20px));z-index:54;background:var(--paper,#fff);border:1px solid var(--line-soft,#e3e9f2);border-radius:16px;box-shadow:0 30px 90px -30px rgba(1,35,87,.6),0 0 0 1px rgba(1,35,87,.04);display:flex;flex-direction:column;overflow:hidden;transform:translateX(104%);transition:transform .18s ease}
.synd.open{transform:none}
.synd.full{left:10px;width:auto}
.synd[hidden]{display:none}
.syndin{display:flex;flex-direction:column;min-height:0;flex:1}
.syndh{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:14px 14px 10px 18px;border-bottom:1px solid var(--line-soft,#e3e9f2);flex:none}
.syndh h2{margin:0;font-size:17px;line-height:1.25;color:var(--navy);display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.syndh p{margin:3px 0 0;font-size:12.5px;color:var(--muted);line-height:1.35}
.syndh .rt{display:flex;gap:4px;flex:none}
.syndh .pill.node{font-size:11.5px;font-weight:600;color:#9a4a0c;background:#fde8d8;border-radius:999px;padding:2px 9px;white-space:nowrap}
.syndb{flex:1;min-height:0;overflow:auto;padding:12px 18px 16px;-webkit-overflow-scrolling:touch}
.syndsec{font-size:12px;font-weight:700;color:var(--muted);margin:14px 0 6px;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}
.syndsec:first-child{margin-top:2px}
.syndsec span{font-weight:400;font-size:11.5px}
.syndf{display:flex;flex-wrap:wrap;gap:8px;padding:12px 18px;border-top:1px solid var(--line-soft,#e3e9f2);flex:none;align-items:center;background:var(--paper,#fff)}
.seira{--c:#1f4fa0;border:1px solid var(--line-soft,#e3e9f2);border-radius:12px;margin:8px 0;background:var(--paper,#fff)}
.seira.iso{--c:#8A98A8}
.seira>summary{list-style:none;cursor:pointer;display:flex;gap:8px;align-items:center;padding:10px 12px;font-size:13.5px}
.seira>summary::-webkit-details-marker{display:none}
.seira>summary .dot{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
.seira>summary .nm{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline;color:var(--navy)}
.seira>summary .meta{font-size:11.5px;color:var(--muted);white-space:nowrap}
.seira>summary::after{content:"›";color:var(--muted);font-size:15px;transition:transform .15s}
.seira[open]>summary::after{transform:rotate(90deg)}
.seira:hover{border-color:color-mix(in srgb,var(--c) 40%,#fff)}
.seiraname{appearance:none;border:0;background:none;font:inherit;font-weight:600;color:var(--navy);padding:1px 4px;margin:-1px 0;border-radius:6px;cursor:text;text-align:left}
.seiraname:hover,.seiraname:focus-visible{background:var(--sky-tint,#eaf2fe);outline:none;box-shadow:0 0 0 1px var(--blue)}
.seiraname.none{font-weight:400;color:var(--faint,#93a1b8);font-style:italic}
.seiraname.ro{cursor:default}
.seiraedit{display:grid;gap:6px;padding:2px 12px 10px}
.seiraedit[hidden]{display:none}
.seiraedit input,.seiraedit textarea{width:100%;box-sizing:border-box}
.seiraedit .row{display:flex;gap:8px;align-items:center}
.seira .about{margin:0;padding:0 12px 8px 30px;font-size:12.5px;color:var(--muted);white-space:pre-line}
.seirarecs{list-style:none;margin:0;padding:0 8px 8px 22px}
.seirarecs li{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;padding:6px 6px;border-top:1px dashed var(--line-soft,#e3e9f2);font-size:12.8px;border-radius:8px}
.seirarecs li[data-synd-go]{cursor:pointer}
.seirarecs li[data-synd-go]:hover,.seirarecs li[data-synd-go]:focus-visible{background:var(--sky-tint,#eaf2fe);outline:none}
.seirarecs .ks{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:var(--c);background:color-mix(in srgb,var(--c) 9%,#fff);border-radius:5px;padding:1px 6px;white-space:nowrap}
.seirarecs .what{min-width:0;overflow-wrap:anywhere;color:var(--ink)}
.seirarecs .word{color:var(--muted)}
.seirarecs .edo{font-weight:700;color:#b4500f;white-space:nowrap}
.seirarecs .edo i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#E8702A;margin-right:4px;vertical-align:middle}
.seirarecs li.cur{background:rgba(232,112,42,.06)}
.seirarecs .open{color:var(--muted);display:inline-flex;opacity:.55}
.seirarecs li:hover .open,.seirarecs .open:focus-visible{opacity:1;color:var(--blue)}
.seirarecs .open .i{width:15px;height:15px}
.syndmenu{position:relative}
.syndmenu>summary{list-style:none;cursor:pointer}
.syndmenu>summary::-webkit-details-marker{display:none}
.syndpop{position:absolute;bottom:calc(100% + 8px);left:0;width:min(380px,calc(100vw - 40px));background:#fff;border:1px solid var(--line,#d6e0ee);border-radius:14px;box-shadow:0 22px 60px -18px rgba(1,35,87,.5);padding:14px 16px;display:grid;gap:7px;z-index:3;font-size:13.2px}
.syndpop>b{color:var(--navy);font-size:14px}
.syndpop .opt{display:flex;gap:7px;align-items:center;cursor:pointer;line-height:1.3}
.syndpop .opt .dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.syndpop .opt .n{color:var(--muted);white-space:nowrap;margin-left:auto}
.syndpop .row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.syndpop p{margin:2px 0}
/* οι ψηφίδες «Σειρά 1 (4) › · Σειρά 2 (3) › · μεμονωμένες (1)» μέσα στο πάνελ της εγγραφής */
.seires{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.seirachip{--c:#1f4fa0;appearance:none;font:inherit;font-size:12.5px;cursor:pointer;display:inline-flex;gap:6px;align-items:center;border:1px solid color-mix(in srgb,var(--c) 30%,#fff);background:color-mix(in srgb,var(--c) 7%,#fff);color:var(--navy);border-radius:999px;padding:3px 11px;font-weight:600;max-width:100%}
.seirachip i{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.seirachip .n{font-weight:400;color:var(--muted)}
.seirachip.iso{--c:#8A98A8;border-style:dashed}
.seirachip:hover,.seirachip:focus-visible{border-color:var(--blue);box-shadow:0 0 0 2px rgba(13,91,219,.14);outline:none}
.lnks .st.seira,.st.seira{--c:#1f4fa0;font-size:11px;color:var(--c);background:color-mix(in srgb,var(--c) 9%,#fff);border-radius:6px;padding:1px 6px;margin-left:4px;white-space:nowrap}
.caserange .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
.caserange .n{font-weight:400;opacity:.75;font-size:.92em}
.caserange{flex-wrap:wrap}
/* χ67 «Στείλ' το και στην…»: το αρχείο που ήρθε από άλλη εγγραφή, και «Είναι και στα» */
.att.apo{border-style:dashed;border-color:color-mix(in srgb,var(--blue) 35%,#fff)}
.att small.apo,.att small.kaista{color:var(--blue-deep,#0b4fb3)}
.att small.apo a,.att small.kaista a{color:inherit;text-decoration:none;font-weight:600}
.att small.apo a:hover,.att small.kaista a:hover{text-decoration:underline}
/* κλασική όψη: με το τρίτο εικονίδιο («Στείλ’ το…») το ✕ της απόσυρσης πάει πιο αριστερά, να μην το σκεπάζουν */
.drawer .in:not(.rec--nea) .att .atta:has(.snd) ~ .rm:not(.inl){right:58px}
.att .rm.inl{position:static;display:inline-flex;width:16px;height:16px;vertical-align:middle;margin-left:2px;background:transparent;opacity:.5}
.att .rm.inl:hover{opacity:1}
.st.apo{font-size:11px;color:var(--blue-deep,#0b4fb3);background:var(--sky-tint,#eaf2fe);border-radius:6px;padding:1px 6px}
.steileform .res .r.has{opacity:.55;cursor:default}
.mnimi{border:1px solid #f6d3b8;background:#fff6ef;border-radius:12px;padding:10px 12px;margin:0 0 10px;display:grid;gap:6px}
.mnimi .t{font-size:13.2px;line-height:1.35}
.mnimi .opt{display:flex;gap:8px;align-items:baseline;font-size:13.2px;cursor:pointer}
.zipkv{margin:6px 0 10px}
@media (max-width:760px){
  .synd{top:0;right:0;bottom:0;left:0;width:auto;border-radius:0;border:0}
  .sxrow{gap:30px 28px}.sxcard{flex-basis:128px;min-width:104px}
  .syndf .btn{flex:1 1 auto}
  .syndpop{position:fixed;left:10px;right:10px;bottom:74px;width:auto}
}
@media (hover:none){.seirarecs .open{opacity:1}.att .rm.inl{opacity:1}}
@media print{.synd{display:none!important}}
html[data-skin=night] .sxcard,html[data-skin=night] .syndpop{background:#fff}

/* ───────── 1.69.0.2 (χ65 «Οι υποκαρτέλες μου», GX 10/11): σύρσιμο υποκαρτελών, το «⋯» με τα τικ ─────────
   Η υποκαρτέλα που σέρνεται: διακεκομμένο μπλε πλαίσιο, πορτοκαλί γραμμή από πάνω (η μακέτα). Ίδιο στην κλασική Πυκνή και στη νέα όψη. */
.drawer .rtabs[data-yp] > a{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}
.drawer .rtabs a.yp-armed,.drawer .rtabs a.yp-drag{background:#eaf1fb;border-radius:7px 7px 0 0;color:var(--navy)}
.drawer .rtabs a.yp-drag{outline:1.5px dashed var(--blue);outline-offset:-2px;box-shadow:0 -3px 0 0 var(--g-attn);cursor:grabbing;position:relative;z-index:2}
.drawer .rtabs.yp-sorting,.drawer .rtabs.yp-sorting > a{cursor:grabbing}
.drawer .rtabs .rmore summary:hover{color:var(--navy)}
.drawer .rtabs .ypmore{position:sticky;right:0;margin-left:auto;flex:none;background:var(--paper)}
.drawer .rtabs .ypmore summary{list-style:none;cursor:pointer;padding:9px 10px;color:var(--muted);font-size:15px;line-height:1}
.drawer .rtabs .ypmore summary::-webkit-details-marker{display:none}
.drawer .rtabs .ypmore .rmorelist{position:fixed;z-index:60;background:var(--paper);border:1px solid #e3e8ef;border-radius:10px;box-shadow:0 10px 30px -12px rgba(1,35,87,.35);padding:4px;display:flex;flex-direction:column;min-width:230px}
.rtabs .ypbox{display:flex;flex-direction:column;gap:1px;min-width:230px}
.rtabs .rmorelist > a[data-rtab] ~ .ypbox{border-top:1px solid var(--line-soft);margin-top:4px;padding-top:4px}
.rtabs .ypbox .yph{display:flex;flex-direction:column;gap:1px;padding:5px 10px 6px;color:var(--blue);font-size:13px}
.rtabs .ypbox .yph small{color:var(--muted);font-size:11.5px;font-weight:400;white-space:normal}
.rtabs .ypbox .ypi{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:7px;font-size:13.5px;font-weight:400;color:var(--ink);cursor:pointer;white-space:nowrap}
.rtabs .ypbox .ypi:hover{background:var(--mist)}
.rtabs .ypbox .ypi input{flex:none;margin:0}
.rtabs .ypbox .ypi.off span{color:var(--muted)}
.rtabs .ypbox .ypi .lbl{font-style:normal;font-size:11px;color:var(--muted);background:var(--mist);border-radius:999px;padding:1px 7px}
.rtabs .ypbox .ypf{border-top:1px solid var(--line-soft);margin-top:4px;padding:8px 10px 6px;font-size:12px;color:var(--muted);white-space:normal;max-width:270px}
@media (pointer:coarse){.rtabs .ypbox .ypi{min-height:38px}.drawer .rtabs .rmore summary{min-width:38px;text-align:center}}
@media print{.rtabs .rmore{display:none}}
.deigmasteps{margin:8px 0 0 20px;padding:0;display:grid;gap:7px;font-size:13.5px;line-height:1.45}
