/* LGC shared chrome — the LPD-locked surface, served once instead of hand-copied.
   Three pages carried three divergent copies of §2/§2.4/Amendment 2.4-A/§4.6-A, and a rule
   fixed on one was silently absent from the others. That is the failure mode this file
   removes: change it here and every page gets it.
   Scope: §4 colour tokens (incl. Amendment 4.6-A inks), §3.1 CJK font stacks, and the
   navbar/chrome rules of §2.3, §2.4 and Amendment 2.4-A. Page layout stays with its page. */

:root{
  --red:#ef4444;--blue:#3b82f6;--purple:#8b5cf6;--green:#10b981;--gold:#f59e0b;
  --primary:#ef4444;--primary-hover:#dc2626;--primary-dark:#b91c1c;
  --accent-ink:#b91c1c;   /* readable weight of --primary for text on light surfaces */
  --green-ink:#04734a;--blue-ink:#1d4ed8;--purple-ink:#6d28d9;--gold-ink:#92400e;
  --primary-glow:rgba(239,68,68,.08);
  --gradient:linear-gradient(135deg,#ef4444,#8b5cf6,#3b82f6);
  --gradient-text:linear-gradient(135deg,#ef4444,#a855f7,#3b82f6);
  --dark-slate:#1e293b;
  --font-sans:'Inter','Noto Sans JP','Noto Sans KR','Noto Sans SC','Noto Sans TC',system-ui,-apple-system,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --max-w:1200px;--radius:16px;--bar-h:48px;--nav-h:64px;
  --bg:#ffffff;--bg-raised:#f6f7fb;--bg-card:#f1f2f8;--bg-card-hover:#e9ebf3;
  --border:rgba(15,23,42,.09);--border-accent:rgba(239,68,68,.22);
  --text:#141428;--text-muted:#4b5168;--text-dim:#666c80;
  --nav-bg:rgba(255,255,255,.82);--nav-border:rgba(15,23,42,.07);
  --card-shadow:0 1px 3px rgba(15,23,42,.05),0 14px 38px rgba(15,23,42,.08);
  --card-shadow-lg:0 2px 8px rgba(15,23,42,.06),0 28px 60px rgba(15,23,42,.14);
  --lms:var(--blue);--aidc:var(--green);--jdp:var(--purple);
  --wash-1:rgba(239,68,68,.05);--wash-2:rgba(59,130,246,.05);--wash-3:rgba(139,92,246,.045);
  --terminal-bg:#161622;--grid-line:rgba(15,23,42,.045);
}
:root{--font:var(--font-sans)}
/* §1: the platform bar is 48/42/40 — the reservation must track it. */
@media(max-width:768px){:root{--bar-h:42px}}
@media(max-width:480px){:root{--bar-h:40px}}   /* legacy alias for pages using var(--font) */
html.lang-ja{--font-sans:'Inter','Noto Sans JP',system-ui,sans-serif}
html.lang-ko{--font-sans:'Inter','Noto Sans KR',system-ui,sans-serif}
html.lang-zh-cn{--font-sans:'Inter','Noto Sans SC',system-ui,sans-serif}
html.lang-zh-tw{--font-sans:'Inter','Noto Sans TC',system-ui,sans-serif}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) body{
  --bg:#0b0b12;--bg-raised:#111119;--bg-card:#16161f;--bg-card-hover:#1d1d29;
  --border:rgba(255,255,255,.07);--border-accent:rgba(239,68,68,.28);
  --text:#f2f2f7;--text-muted:#9a9ab0;--text-dim:#82829e;
  --accent-ink:#f87171;
  --green-ink:#34d399;--blue-ink:#60a5fa;--purple-ink:#a78bfa;--gold-ink:#fbbf24;
  --nav-bg:rgba(11,11,18,.82);--nav-border:rgba(255,255,255,.06);
  --card-shadow:0 1px 3px rgba(0,0,0,.35),0 18px 48px rgba(0,0,0,.42);
  --card-shadow-lg:0 2px 8px rgba(0,0,0,.4),0 32px 70px rgba(0,0,0,.55);
  --primary-glow:rgba(239,68,68,.16);
  --wash-1:rgba(239,68,68,.10);--wash-2:rgba(59,130,246,.09);--wash-3:rgba(139,92,246,.09);
  --terminal-bg:#0f0f18;--grid-line:rgba(255,255,255,.035);
}}
body.dark,html[data-theme="dark"] body{
  --bg:#0b0b12;--bg-raised:#111119;--bg-card:#16161f;--bg-card-hover:#1d1d29;
  --border:rgba(255,255,255,.07);--border-accent:rgba(239,68,68,.28);
  --text:#f2f2f7;--text-muted:#9a9ab0;--text-dim:#82829e;
  --accent-ink:#f87171;
  --green-ink:#34d399;--blue-ink:#60a5fa;--purple-ink:#a78bfa;--gold-ink:#fbbf24;
  --nav-bg:rgba(11,11,18,.82);--nav-border:rgba(255,255,255,.06);
  --card-shadow:0 1px 3px rgba(0,0,0,.35),0 18px 48px rgba(0,0,0,.42);
  --card-shadow-lg:0 2px 8px rgba(0,0,0,.4),0 32px 70px rgba(0,0,0,.55);
  --primary-glow:rgba(239,68,68,.16);
  --wash-1:rgba(239,68,68,.10);--wash-2:rgba(59,130,246,.09);--wash-3:rgba(139,92,246,.09);
  --terminal-bg:#0f0f18;--grid-line:rgba(255,255,255,.035);
}

/* ── §2.3 / §2.4 / Amendment 2.4-A chrome ── */
nav{position:fixed;top:var(--bar-h);left:0;width:100%;z-index:998;background:var(--nav-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--nav-border);padding:0 40px;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;transition:background .3s,box-shadow .3s}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:40px;flex:0 1 auto}
.nav-mark{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--gradient);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(139,92,246,.28)}
.nav-mark img,.nav-mark span{flex:0 0 auto}
.nav-mark img{width:32px;height:32px;border-radius:4px}
.nav-wordmark{font-weight:700;font-size:18px;color:var(--text);transition:color .3s;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.nav-wordmark span{color:var(--text-muted);font-weight:400;margin-left:8px;font-size:14px}
.nav-right{display:flex;align-items:center;gap:24px;flex:0 1 auto;min-width:0}
.nav-right>.theme-toggle,.nav-right>[data-lang-selector],.nav-right>.lgc-langsel,.nav-right>.nav-links{flex:0 0 auto}
.nav-links{display:flex;gap:28px}
.nav-links a{color:var(--text-muted);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s;position:relative}
.nav-links a::after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--gradient);border-radius:2px;transition:right .25s ease}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{right:0}
.theme-toggle{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:18px}
.theme-toggle:hover{background:var(--bg-card);color:var(--text)}
.nav-cta{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;background:var(--primary-dark);color:#fff;text-decoration:none;transition:all .2s;border:none;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-cta:hover{background:var(--primary-hover);transform:translateY(-1px)}
.nav-hamburger{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:8px}
.skip-link{position:fixed;left:-9999px;top:0;z-index:1001;padding:10px 18px;border-radius:0 0 10px 0;
  background:var(--primary-dark);color:#fff;font-weight:600;font-size:14px}
.skip-link:focus{left:0}
#mainContent:focus{outline:none}
body.nav-open .tour-toggle,body.nav-open .back-to-top{opacity:0;pointer-events:none;visibility:hidden}

@media(max-width:768px){
  .lgc-langsel-btn{position:relative}
  .lgc-langsel-btn::before{content:'';position:absolute;left:50%;top:50%;
    width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%}
}
@media(max-width:1010px){
  nav{padding:0 20px}
  .nav-links{display:none;position:absolute;top:calc(var(--nav-h) - 1px);left:0;width:100%;flex-direction:column;background:var(--nav-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:0 20px;border-bottom:1px solid var(--border);box-shadow:0 8px 32px rgba(0,0,0,.1)}
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--border);font-size:15px;display:block}
  .nav-links a::after{display:none}
  .nav-links a:last-child{border-bottom:none}
  .nav-hamburger{display:block}
  .nav-right{gap:12px}
  .nav-wordmark{font-size:16px}
  .nav-cta,.theme-toggle,.nav-hamburger{min-width:44px;min-height:44px}
}
@media(max-width:768px){
  nav{padding:0 16px}
  .nav-wordmark span{display:none}
  .nav-wordmark{font-size:15px}
}
@media(orientation:landscape) and (max-height:560px){
  .nav-links.open{max-height:calc(100vh - var(--bar-h) - var(--nav-h) - 8px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .nav-links.open a{padding:10px 0}
}
@media(max-width:560px){
  nav{padding:0 10px}
  .nav-right{gap:8px}
  .nav-wordmark{font-size:13px}
  .nav-cta{padding:8px 12px;font-size:12px}
  .nav-hamburger{padding:8px 0 8px 4px}
}
@media(max-width:480px){
  .nav-wordmark{display:none}
}
