/* ==========================================================================
   design-2610.css  (2026-10-28)  Header lights + Exploration Map legibility
   Undo: remove this file and the 'sourov-design-2610' line in functions.php
   (or restore the backup in /workspace/design-2026-10-28/backup/theme).
   ========================================================================== */

/* ---------- 1. HEADER: bright labels, one lamp lights per second ---------- */
/* Every label sits on a near-black chip, so contrast stays high at all times
   (white on #0b0b0c is about 19:1). The "lit" lamp only changes the text colour
   and glow; all lit colours are above 8:1 on the chip. */
.site-header{--lamp-bg:rgba(8,8,10,.86);--lamp-off:#fff}
.site-header .brand-mark,
.site-header .brand-text strong,
.site-header .site-nav__list a{
  --lc:#ffe14d;
  background:var(--lamp-bg);
  color:var(--lamp-off);
  font-weight:700;
  text-shadow:0 0 1px rgba(0,0,0,.9);
  border-radius:3px;
  animation:sdLamp 14s linear infinite;
  animation-delay:calc(var(--i,0) * 1s);
}
.site-header .brand-mark{border:2px solid #fff;width:48px;height:48px;font-size:17px}
.site-header .brand-text strong{display:inline-block;padding:.3em .6em;font-size:17px;letter-spacing:.06em}
.site-header .site-nav__list a{padding:.3em .55em;min-height:32px;font-size:13px;letter-spacing:.03em;border:1px solid rgba(255,255,255,.55)}
.site-header .site-nav__pages a{color:var(--lamp-off)}
.site-header .site-nav__list{gap:.35rem .4rem}
.site-header .site-nav__pages{border-left-color:#fff}
.site-header .site-nav__list a:hover,
.site-header .site-nav__list a:focus-visible{animation:none;color:#111!important;background:#ffe14d;text-decoration:none;text-shadow:none;border-color:#ffe14d}
.site-header .site-nav__list a:focus-visible,.site-header .brand:focus-visible{outline:3px solid #ffe14d;outline-offset:2px}

/* lamp order (DOM order): SD, Sourov DEB, 6 categories, 6 pages = 14 lamps */
.site-header .brand-mark{--i:0;--lc:#ff5a5a}
.site-header .brand-text strong{--i:1;--lc:#ffa63d}
.site-nav__cats li:nth-child(1) a{--i:2;--lc:#ffe14d}
.site-nav__cats li:nth-child(2) a{--i:3;--lc:#5dff7a}
.site-nav__cats li:nth-child(3) a{--i:4;--lc:#6fc3ff}
.site-nav__cats li:nth-child(4) a{--i:5;--lc:#ff7bf0}
.site-nav__cats li:nth-child(5) a{--i:6;--lc:#ff5a5a}
.site-nav__cats li:nth-child(6) a{--i:7;--lc:#ffa63d}
.site-nav__pages li:nth-child(1) a{--i:8;--lc:#ffe14d}
.site-nav__pages li:nth-child(2) a{--i:9;--lc:#5dff7a}
.site-nav__pages li:nth-child(3) a{--i:10;--lc:#6fc3ff}
.site-nav__pages li:nth-child(4) a{--i:11;--lc:#ff7bf0}
.site-nav__pages li:nth-child(5) a{--i:12;--lc:#ff5a5a}
.site-nav__pages li:nth-child(6) a{--i:13;--lc:#ffa63d}

/* 14 s loop = 1 s per lamp. Lit for about 1 s, then back to plain white. */
@keyframes sdLamp{
  0%{color:var(--lamp-off);text-shadow:0 0 1px #000;border-color:rgba(255,255,255,.55)}
  1.2%{color:var(--lc);text-shadow:0 0 6px var(--lc),0 0 16px var(--lc);border-color:var(--lc);box-shadow:0 0 12px var(--lc)}
  5.8%{color:var(--lc);text-shadow:0 0 6px var(--lc),0 0 16px var(--lc);border-color:var(--lc);box-shadow:0 0 12px var(--lc)}
  7.14%{color:var(--lamp-off);text-shadow:0 0 1px #000;border-color:rgba(255,255,255,.55);box-shadow:none}
  100%{color:var(--lamp-off);text-shadow:0 0 1px #000;border-color:rgba(255,255,255,.55);box-shadow:none}
}
/* the SD mark keeps its white frame colour while lit */
@keyframes sdLampMark{
  0%{color:#fff;border-color:#fff}
  1.2%,5.8%{color:var(--lc);border-color:var(--lc);box-shadow:0 0 12px var(--lc);text-shadow:0 0 6px var(--lc)}
  7.14%,100%{color:#fff;border-color:#fff;box-shadow:none}
}
.site-header .brand-mark{animation-name:sdLampMark}

@media (prefers-reduced-motion:reduce){
  .site-header .brand-mark,
  .site-header .brand-text strong,
  .site-header .site-nav__list a{animation:none!important;color:#fff!important;box-shadow:none}
}
@media (max-width:1180px){
  .site-header .site-nav__list a{font-size:14px}
}

/* ---------- 2. EXPLORATION MAP: smaller title box, larger nodes ---------- */
body .smc-board{padding:12px 16px 16px;margin-block:20px;border-width:2px}
body .smc-board-label{font:700 12px/1.2 "Courier New",monospace;letter-spacing:.1em;margin:0 0 10px;color:#000;display:inline-block;background:#fff;border:1px solid #000;padding:.35em .6em}

/* node cards: strong contrast, bigger type (all widths) */
body .smc-board .smc-node{background:#fff;color:#000!important;border:2px solid #000;box-shadow:5px 5px 0 #000}
body .smc-board .smc-index{font:700 14px/1 "Courier New",monospace;color:#fff;background:#000;align-self:flex-start;padding:.25em .45em}
body .smc-board .smc-node strong{font:700 20px/1.15 system-ui,sans-serif;color:#000}
body .smc-board .smc-node small{font:600 15px/1.25 system-ui,sans-serif;color:#222}
body .smc-board .smc-centre .smc-node{background:#000;color:#fff!important;box-shadow:5px 5px 0 #fff}
body .smc-board .smc-centre .smc-node strong,body .smc-board .smc-centre .smc-node small{color:#fff}
body .smc-board .smc-centre .smc-index{background:#fff;color:#000}
body .smc-board .smc-lines line{stroke:#000;stroke-width:3}

/* node list beside the map (generated by the homepage script) */
body .sourov-node-section{max-width:none;width:100%;box-sizing:border-box;border:2px solid #000}
body .sourov-node-section .sns-header,body .sourov-node-section .sns-label{font-size:12px;color:#000}
body .sourov-node-section .sns-node{min-height:52px;padding:10px 14px;gap:12px;flex-wrap:wrap}
body .sourov-node-section .sns-num{font-size:15px;font-weight:700;color:#000;min-width:28px}
body .sourov-node-section .sns-name{font-size:18px;font-weight:700;color:#000;flex:1 1 12ch;min-width:0}
body .sourov-node-section .sns-count{font-size:15px;font-weight:600;color:#222;white-space:normal}
body .sourov-node-section .sns-node.sns-centre{justify-content:flex-start}
body .sourov-node-section .sns-node.sns-centre .sns-name{font-size:20px;color:#fff}
body .sourov-node-section .sns-node.sns-centre .sns-count{color:#eee}
body .sourov-node-section .sns-node.sns-centre .sns-num{color:#fff}
@media(max-width:699px){body .sourov-node-section .sns-nodes{grid-template-columns:1fr}body .sourov-node-section .sns-node{border-right:none}}

/* DESKTOP (1100px and up): the 1456 x 660 map canvas is scaled to fill the
   board, and the board shrinks to fit it (no empty grey area below). */
@media(min-width:1100px){
  body .smc-side{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
  body .smc-side .smc-stage.m3d{
    --map-scale:.7;
    width:1456.16px;height:780px;flex:0 0 auto;
    transform:scale(var(--map-scale));transform-origin:top left;
    margin-right:calc(-1456.16px * (1 - var(--map-scale)));
    margin-bottom:calc(-780px * (1 - var(--map-scale)));
  }
  body .smc-side .sourov-node-section{flex:1 1 100%;margin-top:84px}
  /* node cards inside the scaled canvas are drawn larger so they read well */
  body .smc-side .smc-stage.m3d .smc-entry{width:280px}
  body .smc-side .smc-stage.m3d .smc-node{min-height:140px;padding:18px;gap:8px}
  body .smc-side .smc-stage.m3d .smc-index{font-size:20px}
  body .smc-side .smc-stage.m3d .smc-node strong{font-size:32px}
  body .smc-side .smc-stage.m3d .smc-node small{font-size:22px}
  body .smc-side .smc-stage.m3d .smc-lines line{stroke-width:5}
  body .sourov-node-section .sns-nodes{grid-template-columns:1fr 1fr 1fr}
  body .sourov-node-section .sns-node.sns-centre{grid-column:1/-1}
}
@media(min-width:1280px){body .smc-side .smc-stage.m3d{--map-scale:.8}}
@media(min-width:1100px) and (max-width:1279px){body .smc-side .smc-stage.m3d{--map-scale:.7}}

/* TABLET + PHONE (below 1100px): no scaled canvas; a plain card grid instead */
@media(max-width:1099px){
  body .smc-side{display:block}
  body .smc-side .smc-stage,body .smc-side .smc-stage.m3d{width:auto;height:auto;min-height:0;transform:none;margin:0 0 16px;perspective:none}
  body .smc-side .smc-stage .smc-nodes,body .smc-side .smc-stage.m3d .smc-nodes{position:static;inset:auto;transform:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;width:auto;height:auto}
  body .smc-board .smc-stage .smc-entry,body .smc-board.smc-enhanced:not(.smc-list) .smc-stage .smc-entry{position:static;width:auto;left:auto;top:auto}
  body .smc-board .smc-stage .smc-entry::before{display:none}
  body .smc-board .smc-stage .smc-lines{display:none!important}
  body .smc-board .smc-stage .smc-node{translate:none;min-height:96px;padding:14px;box-shadow:4px 4px 0 #000}
  body .smc-board .smc-stage .smc-centre{grid-column:1/-1}
  body .smc-board .smc-node strong{font-size:22px}
}
@media(max-width:699px){
  body .smc-board{padding:10px 10px 14px}
  body .smc-board .smc-stage .smc-nodes{grid-template-columns:1fr}
  body .smc-board .smc-node strong{font-size:21px}
  body .smc-board .smc-node small{font-size:15px}
}
@media(prefers-reduced-motion:reduce){body .smc-board .smc-node{transition:none}}

/* mobile Menu button: readable over the particle header */
.site-header .nav-toggle{background:rgba(8,8,10,.9);color:#fff;border:2px solid #fff;font-weight:700;font-size:14px;border-radius:3px}
@media(max-width:699px){
  body .smc-board .smc-stage .smc-nodes{gap:10px}
  body .smc-board .smc-stage .smc-node{min-height:0;padding:12px 14px;gap:6px}
}
