/* ================================================================
   v2 BASE — reset, primitives, shared motif
   ================================================================ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--void);color:var(--ink);
  font-family:var(--font-mono);font-size:var(--fs-body);line-height:1.6;
  overflow-x:hidden;min-height:100vh;
}
::selection{background:rgba(160,107,255,.14);color:var(--bright)}
a{color:var(--sys-cyan);text-decoration:none}
button{font-family:var(--font-mono);cursor:pointer;background:none;border:0;color:inherit}
:focus-visible{outline:2px solid var(--sys-cyan);outline-offset:3px}
img{max-width:100%;display:block}

/* ---- corner-bracket panel (signature motif, all arcs) ---- */
.panel{
  position:relative;border:1px solid var(--line-dim);
  background:
    linear-gradient(var(--bk),var(--bk)) no-repeat 0 0/var(--bk-size) 2px,
    linear-gradient(var(--bk),var(--bk)) no-repeat 0 0/2px var(--bk-size),
    linear-gradient(var(--bk),var(--bk)) no-repeat 100% 0/var(--bk-size) 2px,
    linear-gradient(var(--bk),var(--bk)) no-repeat 100% 0/2px var(--bk-size),
    linear-gradient(var(--bk),var(--bk)) no-repeat 0 100%/var(--bk-size) 2px,
    linear-gradient(var(--bk),var(--bk)) no-repeat 0 100%/2px var(--bk-size),
    linear-gradient(var(--bk),var(--bk)) no-repeat 100% 100%/var(--bk-size) 2px,
    linear-gradient(var(--bk),var(--bk)) no-repeat 100% 100%/2px var(--bk-size),
    var(--panel);
  backdrop-filter:blur(6px);
  transition:box-shadow var(--t-move) var(--ease-slide),border-color var(--t-move);
}
.panel:hover{border-color:var(--line);box-shadow:0 0 26px rgba(53,224,255,.08)}

/* ---- section scaffold ---- */
.arc{position:relative;padding:72px 0}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.eyebrow .sysno{font-size:12px;color:var(--sys-violet);letter-spacing:.2em}
.eyebrow h2{font-family:var(--font-sys);font-weight:700;font-size:var(--fs-h2);letter-spacing:.28em;color:var(--bright)}
.eyebrow .jp{font-family:var(--font-jp);font-size:13px;color:var(--dim);letter-spacing:.3em}
.eyebrow .rule{flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}

/* ---- JP decorative stamp (vertical) ---- */
.jp-stamp{
  position:absolute;top:24px;right:18px;writing-mode:vertical-rl;
  font-family:var(--font-jp);font-size:12px;letter-spacing:.5em;
  color:var(--dim);opacity:.55;pointer-events:none;user-select:none;
}

/* ---- utility ---- */
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- reduced motion: global kill-switch, per-module opt-outs add to this ---- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
