.robot-guide{--bg:#f3f4f1;--card:#ffffff;--fg:#1b222c;--mut:#5d6878;--line:#d9ddd4;--acc:#e0701a;
 --grid:#e7eae3;--halo:rgba(0,0,0,.38);--warn:#c62828;--warnbg:#fff4f2;--info:#1f5fbf;--infobg:#f1f6ff;
 --okbg:#f1faf2;--ok:#1b7f3a;--lbl:#1b222c;--lbls:#5d6878;--canvas:#fbfbf8;
 --h-box:#ffffff;--h-head:#eef0f3;--h-wago:#fde9d4;--h-unused:#f5f5f5;--h-border:#7c8593}
@media (prefers-color-scheme:dark){html:not([data-mode="light"]) .robot-guide{--bg:#0f1318;--card:#171c23;--fg:#e6ebf1;--mut:#97a3b4;
 --line:#2a323d;--grid:#1c232c;--halo:rgba(170,182,198,.42);--warnbg:#2a1716;--warn:#ff8a80;--infobg:#132033;--info:#8ab4ff;
 --okbg:#13251a;--ok:#7bd88f;--lbl:#e6ebf1;--lbls:#97a3b4;--canvas:#141920;
 --h-box:#1b2129;--h-head:#252d38;--h-wago:#3a2a1a;--h-unused:#161b21;--h-border:#5b6676}
}
html[data-mode="dark"] .robot-guide{--bg:#0f1318;--card:#171c23;--fg:#e6ebf1;--mut:#97a3b4;
 --line:#2a323d;--grid:#1c232c;--halo:rgba(170,182,198,.42);--warnbg:#2a1716;--warn:#ff8a80;--infobg:#132033;--info:#8ab4ff;
 --okbg:#13251a;--ok:#7bd88f;--lbl:#e6ebf1;--lbls:#97a3b4;--canvas:#141920;
 --h-box:#1b2129;--h-head:#252d38;--h-wago:#3a2a1a;--h-unused:#161b21;--h-border:#5b6676}
.robot-guide *{box-sizing:border-box}
.robot-guide{-webkit-text-size-adjust:100%}
.robot-guide{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.robot-guide{max-width:1280px;margin:0 auto;padding:16px}
.robot-guide header.top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.robot-guide h1{font-size:1.45rem;margin:.1em 0 .1em;letter-spacing:-.01em}
.robot-guide .sub{color:var(--mut);margin:0 0 10px;max-width:70ch}
.robot-guide h2{font-size:1.12rem;margin:22px 0 8px}
.robot-guide h3{font-size:1rem;margin:16px 0 6px}
.robot-guide nav.tabs{position:sticky;top:0;z-index:20;display:flex;gap:4px;overflow-x:auto;background:var(--bg);padding:8px 0;border-bottom:1px solid var(--line);margin-bottom:12px;scrollbar-width:none}
.robot-guide nav.tabs::-webkit-scrollbar{display:none}
.robot-guide nav.tabs button{flex:0 0 auto;font:inherit;font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--fg);padding:8px 14px;border-radius:999px;cursor:pointer;min-height:40px}
.robot-guide nav.tabs button[aria-selected="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.robot-guide .themebtn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:999px;padding:6px 12px;cursor:pointer;min-height:36px}
.robot-guide section.tab{display:none}
.robot-guide section.tab.on{display:block}
.robot-guide .card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px}
.robot-guide .viewer{position:relative;width:100%;height:min(78vh,860px);min-height:420px;overflow:hidden;border-radius:12px;background:var(--canvas);touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.robot-guide .viewer.drag{cursor:grabbing}
.robot-guide .viewer>svg{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;display:block}
.robot-guide .tools{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px;z-index:5}
.robot-guide .tools button{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg);font:600 18px/1 system-ui;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.robot-guide .hint{position:absolute;left:10px;bottom:10px;z-index:5;font-size:.8rem;color:var(--mut);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:4px 8px;max-width:calc(100% - 80px)}
.robot-guide .winfo{position:absolute;left:10px;top:10px;z-index:6;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 34px 8px 10px;max-width:min(420px,calc(100% - 70px));box-shadow:0 4px 16px rgba(0,0,0,.18);font-size:.9rem;display:none}
.robot-guide .winfo.on{display:block}
.robot-guide .winfo .x{position:absolute;right:4px;top:4px;border:0;background:none;color:var(--mut);font-size:20px;width:28px;height:28px;cursor:pointer}
.robot-guide .winfo b.n{display:inline-block;min-width:26px;text-align:center;border-radius:9px;color:#fff;padding:0 6px;margin-right:6px}
.robot-guide .gridline{stroke:var(--grid);stroke-width:1}
.robot-guide .ptitle{font:700 15px system-ui,Arial,sans-serif}
.robot-guide .ptitle:not([fill]){fill:var(--lbl)}
.robot-guide .psub{font:600 12px system-ui,Arial,sans-serif}
.robot-guide .psub:not([fill]){fill:var(--lbl)}
.robot-guide .pinlbl{font:700 11px ui-monospace,"DejaVu Sans Mono",Menlo,monospace}
.robot-guide .pinlbl:not([fill]){fill:var(--lbl)}
.robot-guide .tiny{font:600 9.5px system-ui,Arial,sans-serif}
.robot-guide .tiny:not([fill]){fill:var(--lbls)}
.robot-guide .chip{font:700 11px ui-monospace,monospace;fill:#bbb}
.robot-guide .vfy{font:600 10.5px system-ui,Arial,sans-serif;fill:#b26a00}
.robot-guide .vfy2{font:700 10px system-ui,Arial,sans-serif;fill:#ffe08a}
.robot-guide .inset{fill:var(--card);stroke:var(--line);stroke-width:1.5;stroke-dasharray:6 4}
.robot-guide .warnt{fill:var(--warn);font-weight:700}
.robot-guide .lblh{font:700 12.5px system-ui,Arial,sans-serif}
.robot-guide .lblh:not([fill]){fill:var(--lbl)}
.robot-guide .lbls{font:500 11px system-ui,Arial,sans-serif}
.robot-guide .lbls:not([fill]){fill:var(--lbls)}
.robot-guide .lblh.optt,.robot-guide .lbls.optt{fill:#b26a00}
.robot-guide .wire{cursor:pointer}
.robot-guide .whalo{fill:none;stroke:var(--halo);stroke-linecap:round;stroke-linejoin:round}
.robot-guide .wcore{fill:none;stroke-linecap:round;stroke-linejoin:round}
.robot-guide .wshine{fill:none;stroke:rgba(255,255,255,.35);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.robot-guide .whit{fill:none;stroke:transparent;stroke-width:16;stroke-linecap:round;pointer-events:stroke}
.robot-guide .whit2{fill:none;stroke:transparent;stroke-width:3.5;stroke-linecap:round;pointer-events:stroke}
.robot-guide #harness .wire text{pointer-events:none}
.robot-guide #harness .wire{cursor:pointer}
.robot-guide .dup{fill:#1a1a1a;stroke:#000;stroke-width:.6}
.robot-guide .solder{fill:#c9ccd1;stroke:#777;stroke-width:.8}
.robot-guide .wtag{cursor:pointer}
.robot-guide .wtagt{font:700 11px system-ui,Arial,sans-serif;fill:#fff;pointer-events:none}
.robot-guide .wtagt.dark{fill:#111}
.robot-guide svg.hl .wire,.robot-guide svg.hl .wtag{opacity:.13;transition:opacity .15s}
.robot-guide svg.hl .part,.robot-guide svg.hl .hconn,.robot-guide svg.hl .tap{opacity:.55}
.robot-guide svg.hl .wire.sel,.robot-guide svg.hl .wtag.sel{opacity:1}
.robot-guide svg.hl .wire.sel .whalo{stroke:#ffd400;stroke-opacity:.9}
.robot-guide svg.hl .part.selp,.robot-guide svg.hl .tap.selp{opacity:1}
.robot-guide #harness{display:block}
.robot-guide #harness text{fill:var(--fg)}
.robot-guide #harness .wire text{fill:inherit}
.robot-guide .hwrap{overflow:auto;border-radius:12px;background:var(--canvas);padding:6px;-webkit-overflow-scrolling:touch}
.robot-guide .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.robot-guide table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:680px}
.robot-guide th,.robot-guide td{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:top}
.robot-guide th{color:var(--mut);font-weight:600;position:sticky;top:0;background:var(--card)}
.robot-guide tbody tr{cursor:pointer}
.robot-guide tbody tr:hover{background:color-mix(in srgb,var(--acc) 7%,transparent)}
.robot-guide tbody tr.sel{background:color-mix(in srgb,#ffd400 28%,transparent)}
.robot-guide .nb{display:inline-block;min-width:28px;text-align:center;border-radius:9px;background:var(--c);color:#fff;font-weight:700;padding:1px 6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.robot-guide tr[data-w="20"] .nb,.robot-guide tr[data-w="19"] .nb,.robot-guide tr[data-w="18"] .nb{color:#111}
.robot-guide .sw{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.robot-guide td.note{color:var(--mut);font-size:.88rem}
.robot-guide td.note.crit{color:var(--warn);font-weight:600}
.robot-guide .opt{display:inline-block;font-size:.75rem;color:#b26a00;border:1px dashed #b26a00;border-radius:6px;padding:0 5px;margin-left:4px}
.robot-guide .note-card{border-left:4px solid var(--warn);background:var(--warnbg);padding:9px 12px;border-radius:9px;margin:8px 0}
.robot-guide .note-card.info{border-left-color:var(--info);background:var(--infobg)}
.robot-guide .note-card.ok{border-left-color:var(--ok);background:var(--okbg)}
.robot-guide .note-card b.t{display:block;margin-bottom:2px}
.robot-guide .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.robot-guide ol.steps{padding-left:1.3em}
.robot-guide ol.steps li{margin:6px 0}
.robot-guide code,.robot-guide kbd{font:13px ui-monospace,Menlo,monospace;background:color-mix(in srgb,var(--fg) 8%,transparent);padding:1px 5px;border-radius:5px}
.robot-guide pre{font:13px/1.45 ui-monospace,Menlo,monospace;background:color-mix(in srgb,var(--fg) 7%,transparent);padding:10px;border-radius:9px;overflow-x:auto}
.robot-guide .legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem;color:var(--mut);margin:8px 2px 0}
.robot-guide .legend span{display:inline-flex;align-items:center;gap:6px}
.robot-guide .legend i{display:inline-block;width:26px;height:0;border-top:5px solid currentColor;border-radius:3px}
.robot-guide .source-note{color:var(--mut);font-size:.8rem;margin:30px 0 10px}
@media (max-width:640px){.robot-guide{padding:10px 16px}
.robot-guide h1{font-size:1.2rem}
.robot-guide nav.tabs{flex-wrap:wrap;overflow:visible;gap:6px;position:static}
.robot-guide nav.tabs button{padding:6px 11px;min-height:38px;font-size:.92rem}
.robot-guide .viewer{width:100%;height:clamp(300px,calc((100vw - 44px) * 1.05),70vh);min-height:0}
.robot-guide .hint{display:none}
.robot-guide .card{padding:6px}
.robot-guide table#conn{min-width:0}
.robot-guide #conn thead{display:none}
.robot-guide #conn tr{display:grid;grid-template-columns:44px 1fr;gap:0 8px;padding:8px 2px;border-bottom:1px solid var(--line)}
.robot-guide #conn td{border:0;padding:1px 0}
.robot-guide #conn td.num{grid-row:span 5}
.robot-guide #conn td:nth-child(3)::before{content:"Από: ";color:var(--mut)}
.robot-guide #conn td:nth-child(4)::before{content:"Προς: ";color:var(--mut)}
}

/* Integration: continuous reading, theme isolation and accessible controls. */
.robot-guide{padding:0;max-width:100%;min-width:0;background:transparent;color:var(--fg)}
.robot-guide section.tab{display:block;margin-block:2rem;scroll-margin-top:5rem}
.robot-guide nav.tabs{position:static;display:flex;flex-wrap:wrap;gap:.5rem}
.robot-guide nav.tabs a{display:block;padding:.4rem .75rem;border:1px solid var(--line);border-radius:2rem;color:var(--fg);background:var(--card)}
.robot-guide .grid2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.robot-guide code{overflow-wrap:anywhere;white-space:normal}
.robot-guide .hint{display:block;position:static;max-width:100%;margin:.5rem 0}
.robot-guide .viewer .hint{position:absolute;bottom:.4rem;left:.4rem;margin:0;max-width:calc(100% - 70px);font-size:.7rem;pointer-events:none}
.robot-guide .viewer{outline-offset:3px}
.robot-guide :focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.robot-guide figure{margin:1rem 0}.robot-guide figure img{display:block;max-width:100%;height:auto}
.robot-guide .phone-image{max-width:390px}.robot-guide figcaption{font-size:.85rem;color:var(--mut)}
.robot-guide h2,.robot-guide h3{scroll-margin-top:5rem}
.robot-guide .viewer svg{max-width:none!important}
.robot-guide .winfo{line-height:1.4}
@media(prefers-reduced-motion:reduce){.robot-guide *{scroll-behavior:auto!important;transition:none!important}}
/* Bootstrap's table text color needs an explicit scoped override in dark mode. */
.robot-guide #conn{color:var(--fg);--bs-table-color:var(--fg)}
.robot-guide #conn td:not(.note){color:var(--fg)}
.robot-guide #conn tbody tr.sel{background:color-mix(in srgb,#ffd400 20%,var(--card))}
