/* /leksiko — production CSS. Προϋποθέτει τα tokens του persis-shell-v4.css
   (--bg/--ink*/--line*/--panel*/--accent*/--font-*/--r-*/--ease/--shadow-*/--scrim)
   και τις υπάρχουσες ps-* κλάσεις (ps-eyebrow, ps-pill, ps-chip, ps-cite, ps-cert).
   Ό,τι είναι κέλυφος (nav/footer/theme toggle) μένει στο PAGE_CSS του SSR. */

html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lx-term:target{animation:none!important}}

/* ── sticky finder ─────────────────────────────────────────────── */
.lx-finder{position:sticky;top:57px;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.lx-finder-in{max-width:1120px;margin:0 auto;padding:10px clamp(18px,4vw,40px);display:flex;align-items:center;gap:14px}
.lx-search{position:relative;flex:0 1 300px;min-width:0}
.lx-search input{width:100%;height:38px;padding:0 34px 0 34px;background:var(--inset);border:1px solid var(--line);border-radius:var(--r-sm);font:500 13.5px var(--font-body);color:var(--ink)}
.lx-search input::placeholder{color:var(--ink-4)}
.lx-search input:focus-visible{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-wash)}
.lx-search .lx-sicon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ink-4);pointer-events:none}
.lx-search .lx-skbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);font:500 9.5px var(--font-mono);letter-spacing:.08em;color:var(--ink-4);border:1px solid var(--line);border-radius:5px;padding:2px 6px;background:var(--panel)}
.lx-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;width:22px;height:22px;border:none;background:var(--panel-3);border-radius:50%;color:var(--ink-3);cursor:pointer;align-items:center;justify-content:center}
.lx-search.has-q .lx-clear{display:inline-flex}.lx-search.has-q .lx-skbd{display:none}
.lx-letters{position:relative;display:flex;flex:1;gap:2px;min-width:0;flex-wrap:nowrap}
.lx-letter{min-width:26px;height:30px;border:none;background:none;border-radius:6px;font:500 12px var(--font-mono);color:var(--ink-2);cursor:pointer;transition:background var(--dur) var(--ease)}
.lx-letter:hover{background:var(--panel-3);color:var(--ink)}
.lx-letter[disabled]{color:var(--ink-4);opacity:.45;cursor:default;background:none}
.lx-letter.open{background:var(--ink);color:var(--bg)}
.lx-count{font:500 10.5px var(--font-mono);letter-spacing:.1em;color:var(--ink-3);white-space:nowrap}
#lxAbBtn{display:none;align-items:center;gap:7px;height:38px;padding:0 13px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);font:600 12px var(--font-mono);letter-spacing:.08em;color:var(--ink-2);cursor:pointer}

/* popover γράμματος (desktop) */
.lx-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:min(620px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:16px 18px}
.lx-pop-h{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:6px}
.lx-pop-h b{font:600 22px var(--font-serif);color:var(--accent-ink)}
.lx-pop-list{columns:2;column-gap:26px}
.lx-pop a{display:flex;justify-content:space-between;gap:10px;break-inside:avoid;padding:7px 4px;border-radius:6px;font:500 13.5px var(--font-body);color:var(--ink-2)}
.lx-pop a:hover{background:var(--panel-3);color:var(--ink)}
.lx-pop a .p{font:400 10px var(--font-mono);color:var(--ink-4);font-feature-settings:"tnum"}
.lx-pop a.stub{opacity:.55}

/* ── layout ────────────────────────────────────────────────────── */
.lx-wrap{max-width:1120px;margin:0 auto;padding:0 clamp(18px,4vw,40px);display:grid;grid-template-columns:232px 1fr;gap:56px;align-items:start}
.lx-rail{position:sticky;top:128px;padding:26px 0}
.lx-rail-lbl{font:500 10px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);display:block;margin-bottom:10px}
.lx-rail a{display:flex;align-items:baseline;gap:9px;padding:7px 9px;margin:0 -9px;border-radius:var(--r-sm);font:500 13.5px var(--font-body);color:var(--ink-3)}
.lx-rail a .n{font:500 9.5px var(--font-mono);color:var(--ink-4);font-feature-settings:"tnum"}
.lx-rail a .c{margin-left:auto;font:400 10.5px var(--font-mono);color:var(--ink-4);font-feature-settings:"tnum"}
.lx-rail a:hover{background:var(--panel-3);color:var(--ink)}
.lx-rail a.active{background:var(--accent-wash);color:var(--accent-ink)}
.lx-rail a.active .n,.lx-rail a.active .c{color:var(--accent-ink)}
.lx-chips{display:none;gap:8px;flex-wrap:wrap;padding:14px 0 2px}

/* ── ενότητα & μονάδα «όρος» ───────────────────────────────────── */
.lx-section{padding:34px 0 8px;scroll-margin-top:132px}
.lx-sec-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}
.lx-sec-h .num{font:500 10.5px var(--font-mono);letter-spacing:.14em;color:var(--accent-ink)}
.lx-sec-h h2{font:500 24px/1.2 var(--font-serif);letter-spacing:-.014em;color:var(--ink)}
.lx-sec-h .cnt{margin-left:auto;font:400 10.5px var(--font-mono);color:var(--ink-4);font-feature-settings:"tnum"}
.lx-sec-d{font:400 13.5px/1.55 var(--font-body);color:var(--ink-3);margin-top:8px;max-width:560px}
.lx-term{padding:24px 0 26px;border-top:1px solid var(--line-2);scroll-margin-top:132px}
.lx-term:first-of-type{border-top:none}
@keyframes lxFlash{0%{background:var(--accent-wash)}100%{background:transparent}}
.lx-term:target{animation:lxFlash 2.4s var(--ease) .1s both;border-radius:var(--r-md)}
.lx-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.lx-src{font:500 10px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);font-feature-settings:"tnum"}
.lx-src.alt{color:var(--info)}
.lx-copy{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;background:none;border:1px solid transparent;border-radius:var(--r-sm);font:500 11px var(--font-mono);letter-spacing:.06em;color:var(--ink-4);cursor:pointer;transition:all var(--dur) var(--ease)}
.lx-copy:hover{border-color:var(--line-strong);color:var(--ink-2);background:var(--panel-3)}
.lx-copy.ok{color:var(--green);border-color:var(--green-line);background:var(--green-wash)}
.lx-copy svg{width:13px;height:13px}
.lx-name{font:500 23px/1.25 var(--font-serif);letter-spacing:-.012em;margin:0 0 10px}
.lx-name a{color:var(--ink)}.lx-name a:hover{color:var(--accent-ink)}
.lx-name .abbr{font-style:italic;font-weight:400;font-size:18px;color:var(--ink-3);margin-left:7px}
.lx-quote{font:400 17.5px/1.65 var(--font-serif);color:var(--ink);max-width:68ch;text-wrap:pretty;margin:0 0 12px}
.lx-pending{max-width:68ch;margin:0 0 12px;padding:13px 15px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--inset);display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:400 13px/1.55 var(--font-body);color:var(--ink-3)}
.lx-note{max-width:68ch;font:400 13px/1.6 var(--font-body);color:var(--ink-2);margin:0 0 12px;display:flex;gap:8px}
.lx-note::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--info);flex:0 0 auto;margin-top:6px}
.lx-cites{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 4px}
.lx-plain{max-width:64ch;margin:12px 0 0}
.lx-plain .lbl{display:block;font:500 9px var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:4px}
.lx-plain p{font:400 13.5px/1.6 var(--font-body);color:var(--ink-3)}
.lx-bridge{display:inline-flex;align-items:center;gap:7px;margin-top:13px;font:500 13px var(--font-body);color:var(--accent-ink);border-bottom:1px solid var(--accent-line);padding-bottom:1px}
.lx-bridge svg{width:13px;height:13px}
.lx-empty{margin:34px 0;padding:22px;border:1px dashed var(--line-strong);border-radius:var(--r-md);text-align:center;font:400 14px var(--font-body);color:var(--ink-3)}

/* ── πλήρες ευρετήριο Α–Ω ──────────────────────────────────────── */
.lx-index{max-width:1120px;margin:0 auto;padding:56px clamp(18px,4vw,40px) 8px}
.lx-ix-letter{padding:16px 0 4px}
.lx-ix-letter>b{display:block;font:600 20px var(--font-serif);color:var(--accent-ink);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px}
.lx-cols{column-count:3;column-gap:36px}
.lx-cols a{display:flex;justify-content:space-between;gap:12px;break-inside:avoid;padding:5px 0;font:450 13.5px var(--font-body);color:var(--ink-2)}
.lx-cols a:hover{color:var(--accent-ink)}
.lx-cols a .p{font:400 10px var(--font-mono);color:var(--ink-4);font-feature-settings:"tnum"}

/* ── mobile sheet (Α–Ω) ────────────────────────────────────────── */
.lx-sheet{position:fixed;inset:0;z-index:90;display:none}
.lx-sheet.open{display:block}
.lx-sheet .scrim{position:absolute;inset:0;background:var(--scrim)}
.lx-sheet .panel{position:absolute;left:0;right:0;bottom:0;max-height:76vh;background:var(--panel);border:1px solid var(--line);border-bottom:none;border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column}
.lx-sheet .head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.lx-sheet .head b{font:500 17px var(--font-serif)}
.lx-sheet .head .x{margin-left:auto;width:32px;height:32px;border:1px solid var(--line);background:var(--panel-2);border-radius:50%;color:var(--ink-2);cursor:pointer}
.lx-sheet .body{overflow:auto;padding:4px 18px 22px}
.lx-sheet .glist{display:flex;gap:7px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line-2)}
.lx-sheet .lh{position:sticky;top:0;background:var(--panel);font:600 15px var(--font-serif);color:var(--accent-ink);padding:12px 0 5px;border-bottom:1px solid var(--line-2)}
.lx-sheet .row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 2px;border-bottom:1px solid var(--line-2);font:450 14.5px var(--font-body);color:var(--ink)}
.lx-sheet .row .p{font:400 10.5px var(--font-mono);color:var(--ink-4)}
.lx-sheet .row.stub{opacity:.55}

/* ── responsive ────────────────────────────────────────────────── */
@media(max-width:1020px){.lx-rail{display:none}.lx-wrap{grid-template-columns:1fr}.lx-chips{display:flex}}
@media(max-width:760px){.lx-letters,.lx-count{display:none}#lxAbBtn{display:inline-flex}.lx-search{flex:1}.lx-cols,.lx-pop-list{column-count:2}.lx-name{font-size:21px}.lx-quote{font-size:16.5px}.lx-copy span{display:none}.lx-copy{padding:0 8px}}
@media(max-width:460px){.lx-cols{column-count:1}.lx-finder-in{gap:9px}}
@media print{.lx-finder,#lxAbBtn,.lx-copy,.lx-sheet{display:none!important}.lx-wrap{grid-template-columns:1fr}.lx-rail{display:none}}
