/* SKKU GSG Design System — Research Plan 2026.10 */
/* ============================================================
     SKKU GSG Design System — Graduate School of Governance
     Four-tier green over warm cream · Pretendard · pill chrome
     Bottom-right FAB inverts surface + text (light ⇄ dark).
     ============================================================ */
  :root{
    /* fixed four-tier green palette */
    --green-primary:#00704A;
    --green-accent:#00754A;
    --green-house:#1E3932;
    --green-uplift:#D4E9E2;
    --green-uplift-2:#E8F2EE;
    --gold:#CBA258;

    /* themed surfaces + text — LIGHT (default) */
    --bg:#F2F0EB;
    --bg-alt:#EDEBE9;
    --bg-card:#FFFFFF;
    --text-primary:rgba(0,0,0,.87);
    --text-secondary:rgba(0,0,0,.56);
    --text-soft:rgba(0,0,0,.74);
    --border:#E4E2DC;
    --border-soft:#ECEAE4;
    --soft-panel:#E8F2EE;

    /* themed accent (green in light, mint in dark) */
    --accent:#00704A;
    --accent-strong:#00754A;
    --accent-ink:#FFFFFF;
    --chip-bg:#D4E9E2;
    --chip-ink:#1E3932;

    /* table header */
    --th-bg:#1E3932;
    --th-ink:#D4E9E2;

    --shadow-card:0 1px 2px rgba(0,0,0,.06),0 4px 12px rgba(0,0,0,.06);
    --shadow-card-lift:0 2px 4px rgba(0,0,0,.08),0 12px 24px rgba(0,0,0,.08);
    --shadow-floating:0 0 6px rgba(0,0,0,.22),0 8px 14px rgba(0,0,0,.14);
    --ease:cubic-bezier(.4,0,.2,1);
  }

  /* DARK — full surface + text inversion (deep green-house canvas) */
  .theme-dark{
    --bg:#172E28;
    --bg-alt:#13241F;
    --bg-card:#21413A;
    --text-primary:#F3F1EB;
    --text-secondary:rgba(243,241,235,.56);
    --text-soft:rgba(243,241,235,.80);
    --border:rgba(212,233,226,.16);
    --border-soft:rgba(212,233,226,.10);
    --soft-panel:rgba(212,233,226,.06);

    --accent:#BFE3D6;
    --accent-strong:#D4E9E2;
    --accent-ink:#16302A;
    --chip-bg:rgba(212,233,226,.14);
    --chip-ink:#D4E9E2;

    --th-bg:rgba(212,233,226,.10);
    --th-ink:#D4E9E2;

    --shadow-card:0 1px 2px rgba(0,0,0,.4),0 6px 18px rgba(0,0,0,.32);
    --shadow-card-lift:0 2px 6px rgba(0,0,0,.5),0 14px 30px rgba(0,0,0,.4);
    --shadow-floating:0 0 6px rgba(0,0,0,.4),0 10px 18px rgba(0,0,0,.34);
  }

  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html,body{background:var(--bg);color:var(--text-primary);font-family:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  html{scroll-behavior:smooth}
  body{line-height:1.7;overflow-x:hidden;transition:background-color .4s var(--ease),color .4s var(--ease)}
  a{color:inherit;text-decoration:none}
  .tbl td a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);transition:text-decoration-color .2s var(--ease)}
  .tbl td a:hover,.cell .v a:hover{text-decoration-color:var(--accent)}
  .cell .v a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);transition:text-decoration-color .2s var(--ease)}
  ::selection{background:var(--accent);color:var(--accent-ink)}

  .wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 64px}
  @media (max-width:768px){ .wrap{padding:0 24px} }

  /* ========== TOP BAR ========== */
  .top-bar{position:sticky;top:0;z-index:80;background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--border)}
  .top-bar .row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;gap:16px;flex-wrap:wrap}
  .brand{display:flex;align-items:center;gap:12px}
  .brand .emblem{width:34px;height:34px;background:url("mark-skku-emblem-green.png") center/contain no-repeat;flex-shrink:0}
  .theme-dark .brand .emblem{background-image:url("mark-skku-emblem-white.png")}
  .brand .divider{width:1px;height:28px;background:var(--border)}
  .brand .lockup{display:flex;flex-direction:column;line-height:1.2}
  .brand .lockup .ko{font-size:13.5px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}
  .brand .lockup .en{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
  .rightnav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .rightnav .meta{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--text-secondary);text-transform:uppercase}
  .back-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-primary);padding:9px 16px;border:1.5px solid var(--accent);border-radius:999px;transition:background .2s var(--ease),color .2s var(--ease)}
  .back-link{color:var(--accent)}
  .back-link:hover{background:var(--chip-bg)}
  .print-btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent-strong);border:none;color:var(--accent-ink);padding:10px 20px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .12s var(--ease),filter .2s var(--ease)}
  .print-btn:hover{filter:brightness(.94)}
  .print-btn:active{transform:scale(.96)}

  /* ========== COVER / HERO ========== */
  .cover{padding:104px 0 88px;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
  .cover .emblem-wm{position:absolute;top:-30px;right:-30px;width:300px;height:300px;background:url("mark-skku-emblem-green.png") center/contain no-repeat;opacity:.05;pointer-events:none}
  .theme-dark .cover .emblem-wm{background-image:url("mark-skku-emblem-white.png");opacity:.07}
  .cover .badge{display:inline-flex;align-items:center;gap:14px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:30px}
  .cover .badge::before{content:"";display:inline-block;width:32px;height:1.5px;background:var(--accent)}
  .cover .inst{font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em;margin-bottom:28px}
  .cover h1{font-weight:700;letter-spacing:-0.022em;line-height:1.08;font-size:clamp(38px,5vw,64px);margin-bottom:28px;color:var(--text-primary)}
  .cover h1 em{font-style:normal;color:var(--accent);font-weight:700}
  .cover .sub-en{font-size:15px;line-height:1.6;color:var(--text-secondary);letter-spacing:.01em;margin-bottom:52px;max-width:760px}
  .cover .meta-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  @media (max-width:768px){ .cover .meta-strip{grid-template-columns:1fr} }
  .cover .meta-strip .cell{background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-card);padding:22px 24px}
  .cover .meta-strip .k{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
  .cover .meta-strip .v{font-size:16px;color:var(--text-primary);font-weight:700;line-height:1.5}
  .cover .meta-strip .v small{display:block;font-size:12px;color:var(--text-secondary);font-weight:500;letter-spacing:.02em;margin-top:5px}

  /* ========== SECTION ========== */
  section.block{padding:88px 0;border-bottom:1px solid var(--border)}
  @media (max-width:768px){ section.block{padding:56px 0} }
  .sec-head{display:flex;align-items:baseline;gap:22px;margin-bottom:46px}
  .sec-head .num{font-size:clamp(48px,6vw,68px);font-weight:700;letter-spacing:-0.03em;line-height:1;color:var(--accent)}
  .sec-head .ttl{font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-0.02em;line-height:1.2;color:var(--text-primary)}

  .subsec{margin-top:60px}
  .subsec:first-of-type{margin-top:0}
  .subsec .sub-num{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
  .subsec h3{font-size:clamp(21px,2.3vw,27px);font-weight:700;letter-spacing:-0.012em;line-height:1.35;color:var(--text-primary);margin-bottom:26px}
  .subsec h3 em{font-style:normal;color:var(--accent);font-weight:700}

  /* paragraphs */
  .p{font-size:16px;line-height:1.85;color:var(--text-soft);margin-bottom:16px}
  .p strong{color:var(--text-primary);font-weight:700}
  .p em{font-style:normal;color:var(--accent);font-weight:600}
  .p:last-child{margin-bottom:0}

  /* minor heading */
  .minor{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:40px 0 18px;display:flex;align-items:center;gap:12px}
  .minor::before{content:"";display:inline-block;width:24px;height:1.5px;background:var(--accent)}

  /* note */
  .note{font-size:13px;line-height:1.7;color:var(--text-secondary);padding-left:14px;border-left:2px solid var(--border);margin-top:14px}

  /* Callout / Blockquote — white card, green left rule */
  .callout{margin:24px 0;padding:24px 28px;background:var(--bg-card);border-radius:12px;box-shadow:var(--shadow-card);border-left:3px solid var(--accent);font-size:16px;line-height:1.8;color:var(--text-primary)}
  .callout strong{color:var(--accent);font-weight:700}
  .callout em{font-style:normal;color:var(--text-primary);font-weight:600}

  /* ========== Logic chain ========== */
  .chain{margin:32px 0;padding:30px 32px;background:var(--soft-panel);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:0}
  .chain-row{display:flex;align-items:flex-start;gap:18px;padding:12px 0;font-size:15px;line-height:1.65;color:var(--text-soft)}
  .chain-row strong{color:var(--accent);font-weight:700}
  .chain-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--accent-strong);color:var(--accent-ink);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
  .chain-arr{margin-left:14px;color:var(--accent);font-size:13px;line-height:1;padding:2px 0 4px 0}

  /* ========== Table ========== */
  .tbl{margin:24px 0;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card);background:var(--bg-card)}
  .tbl table{width:100%;border-collapse:collapse;font-size:14.5px}
  .tbl th{background:var(--th-bg);color:var(--th-ink);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:11px;text-align:left;padding:14px 18px}
  .tbl td{background:var(--bg-card);padding:15px 18px;border-bottom:1px solid var(--border-soft);border-right:1px solid var(--border-soft);color:var(--text-soft);line-height:1.6;vertical-align:top}
  .tbl td:last-child{border-right:none}
  .tbl tr:last-child td{border-bottom:none}
  .tbl tr:hover td{background:var(--soft-panel)}
  .tbl td strong{color:var(--text-primary);font-weight:700}
  .tbl td em{font-style:normal;color:var(--accent);font-weight:600}
  .tbl td small{font-size:11.5px;color:var(--text-secondary);font-weight:500;display:block;margin-top:3px;letter-spacing:.02em}
  .tbl td code, .tbl td .mono{font-family:"JetBrains Mono","SF Mono",ui-monospace,Menlo,monospace;font-size:12.5px;color:var(--accent);letter-spacing:0;background:transparent}

  @media (max-width:640px){
    .tbl{font-size:12.5px;overflow-x:auto}
    .tbl table{min-width:540px}
  }

  /* Milestone chip */
  .badge-m{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--chip-ink);background:var(--chip-bg);padding:5px 11px;border-radius:999px;line-height:1}

  /* Challenge-semester button */
  .btn-challenge{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:0;padding:6px 12px;border-radius:999px;line-height:1;cursor:pointer;font-family:inherit;transition:background .15s ease,transform .12s ease,box-shadow .15s ease;box-shadow:0 1px 2px rgba(0,0,0,.10)}
  .btn-challenge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.85}
  .btn-challenge:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.16)}
  .btn-challenge:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.10)}
  .btn-challenge:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
  .btn-challenge[aria-expanded="true"]{box-shadow:inset 0 1px 3px rgba(0,0,0,.22)}
  .note.is-active{border-left-color:var(--accent);color:var(--text-primary)}
  @media print{.btn-challenge{background:#00704A !important;color:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

  /* ========== References ========== */
  .ref-group{margin-top:24px}
  .ref-group .head{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:12px}
  .ref-item{display:grid;grid-template-columns:48px 1fr;gap:16px;font-size:14px;line-height:1.7;color:var(--text-soft);padding:11px 0;border-bottom:1px solid var(--border-soft)}
  .ref-item:last-child{border-bottom:0}
  .ref-num{color:var(--accent);font-weight:600;font-family:"JetBrains Mono","SF Mono",ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:0;padding-top:1px}
  .ref-item em{font-style:italic;color:var(--text-primary)}
  .ref-link{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent);transition:color .2s var(--ease),border-color .2s var(--ease)}
  .ref-link:hover{color:var(--accent)}
  .ref-tag{display:inline-block;margin-top:5px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid var(--border);border-radius:999px;padding:2px 9px}
  .ref-link .ext{display:inline-block;width:9px;height:9px;border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;transform:rotate(45deg);margin-left:5px;opacity:.65;vertical-align:middle}

  /* ========== Concept Map ========== */
  .cmap{margin:6px 0 0;padding:28px 24px;background:var(--soft-panel);border:1px solid var(--border);border-radius:14px}
  @media (max-width:768px){ .cmap{padding:18px 12px} }
  .cmap-hint{text-align:center;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:22px}
  .cmap-layer{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--bg-card)}
  .cmap-band{display:flex;align-items:baseline;gap:12px;padding:11px 18px;color:#D4E9E2}
  .cmap-band .ko{font-size:12px;font-weight:700;letter-spacing:.06em}
  .cmap-band .en{font-size:11px;font-style:italic;color:rgba(212,233,226,.72)}
  .band-macro{background:#1E3932}
  .band-meso{background:#00704A}
  .band-micro{background:#2E7D5B}
  .band-method{background:#3F5E50}
  .cmap-cards{padding:14px;display:grid;gap:12px}
  .cards-1{grid-template-columns:1fr}
  .cards-3{grid-template-columns:repeat(3,1fr)}
  .cards-4{grid-template-columns:repeat(4,1fr)}
  @media (max-width:768px){ .cards-3,.cards-4{grid-template-columns:1fr} }

  .cmap-card{border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
  .cmap-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card)}
  .cmap-card.open{border-color:var(--accent);background:var(--bg-card);box-shadow:var(--shadow-card)}
  .cmap-card-top{display:flex;align-items:flex-start;gap:12px;padding:14px 16px}
  .cmap-badge{flex-shrink:0;width:26px;height:26px;border-radius:7px;background:var(--chip-bg);color:var(--accent);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
  .cmap-card-main{flex:1;min-width:0}
  .cmap-card-title{font-size:14.5px;font-weight:700;color:var(--accent);line-height:1.3}
  .cmap-card-en{font-size:11px;color:var(--text-secondary);font-style:italic;margin-top:2px}
  .cmap-card-ref{font-size:10.5px;color:var(--text-secondary);margin-top:3px;font-family:"JetBrains Mono","SF Mono",ui-monospace,Menlo,monospace;letter-spacing:0}
  .cmap-plus{flex-shrink:0;width:20px;height:20px;position:relative;color:var(--accent);transition:transform .2s var(--ease);margin-top:2px}
  .cmap-plus::before,.cmap-plus::after{content:"";position:absolute;background:currentColor;border-radius:2px}
  .cmap-plus::before{left:50%;top:3px;bottom:3px;width:2px;transform:translateX(-50%)}
  .cmap-plus::after{top:50%;left:3px;right:3px;height:2px;transform:translateY(-50%)}
  .cmap-card.open .cmap-plus{transform:rotate(45deg)}
  .cmap-body{display:none;padding:0 16px 16px}
  .cmap-card.open .cmap-body{display:block}
  .cmap-body p{font-size:13.5px;line-height:1.7;color:var(--text-soft);padding-top:12px;border-top:1px solid var(--border-soft)}
  .cmap-body p strong{color:var(--text-primary);font-weight:700}
  .cmap-kw{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
  .cmap-kw span{background:var(--chip-bg);color:var(--chip-ink);border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:600}

  .cmap-integration{margin:0 14px 14px;background:var(--soft-panel);border:1px solid var(--border);border-radius:10px;padding:16px 18px}
  .cmap-integration .lbl{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
  .cmap-integration p{font-size:13.5px;line-height:1.75;color:var(--text-soft)}
  .cmap-integration p strong{font-weight:700;color:var(--text-primary)}
  .cmap-integration p em{font-style:normal;color:var(--accent);font-weight:600}

  .cmap-arrow{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 0}
  .cmap-arrow .ln{width:2px;height:16px;background:var(--accent);opacity:.4}
  .cmap-arrow .lb{font-size:11.5px;color:var(--text-secondary);text-align:center;line-height:1.55;max-width:540px}
  .cmap-arrow .lb em{font-style:italic;opacity:.85}
  .cmap-arrow .hd{color:var(--accent);font-size:12px;opacity:.7;line-height:1}

  .cmap-method-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;padding:14px}
  .cmap-step{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:11px 14px;flex:1;min-width:150px}
  .cmap-step.hl{background:var(--chip-bg);border-color:var(--accent)}
  .cmap-step .n{width:24px;height:24px;border-radius:50%;background:var(--accent-strong);color:var(--accent-ink);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .cmap-step .t{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.25}
  .cmap-step .s{font-size:10.5px;color:var(--text-secondary);margin-top:2px}
  .cmap-step-arr{display:flex;align-items:center;color:var(--accent);opacity:.55;font-size:14px;flex-shrink:0}
  @media (max-width:768px){ .cmap-step{min-width:0} .cmap-step-arr{width:100%;justify-content:center;transform:rotate(90deg)} }

  /* ========== Footer ========== */
  footer{padding:48px 0 96px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--text-secondary);flex-wrap:wrap;gap:16px}
  footer .right{letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);font-weight:600}

  /* ========== Theme FAB (invert) ========== */
  .theme-fab{position:fixed;right:24px;bottom:24px;z-index:150;display:flex;align-items:center;gap:11px;padding:10px 16px 10px 11px;border-radius:999px;background:color-mix(in srgb, var(--bg-card) 92%, transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--text-primary);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-floating);transition:transform .12s var(--ease)}
  .theme-fab:active{transform:scale(.96)}
  .theme-fab .sw{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--text-primary) 0 50%,var(--bg) 50% 100%);border:1.5px solid var(--accent);flex-shrink:0}

  /* ========== Print ========== */
  @media print{
    :root, .theme-dark{
      --bg:#ffffff;--bg-alt:#ffffff;--bg-card:#fafafa;
      --text-primary:#111111;--text-secondary:#555555;--text-soft:#222222;
      --border:#cccccc;--border-soft:#e5e5e5;--soft-panel:#f3f6f4;
      --accent:#00704A;--accent-strong:#00704A;--accent-ink:#ffffff;
      --chip-bg:#E8F2EE;--chip-ink:#1E3932;--th-bg:#1E3932;--th-ink:#ffffff;
    }
    .top-bar, .theme-fab, .back-link, .print-btn{display:none !important}
    body{background:#fff;color:#111}
    .wrap{padding:0 24px;max-width:none}
    section.block{padding:30px 0;page-break-inside:avoid}
    .cover{padding:24px 0 32px}
    .cover .emblem-wm{display:none}
    .tbl, .callout, .cover .meta-strip .cell{box-shadow:none;border:1px solid #d8d8d8}
    .chain-num{background:#00704A !important;color:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .tbl th{background:#1E3932 !important;color:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .badge-m{background:#E8F2EE;color:#1E3932}
    .cmap-body{display:block !important}
    .cmap-plus{display:none !important}
    .cmap-band,.cmap-step .n{-webkit-print-color-adjust:exact;print-color-adjust:exact}
    .cmap,.cmap-layer,.cmap-card{box-shadow:none;break-inside:avoid}
  }

  /* ===== v6 helpers — gates · path cards · eval matrix · tree ===== */
  .gate{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-house);background:var(--gold);padding:4px 12px;border-radius:999px;line-height:1;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .theme-dark .gate{color:#1A130A}
  .gate-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 18px}
  .gate-row .lb{font-size:14px;color:var(--text-soft)}

  .pathgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}
  @media (max-width:768px){ .pathgrid{grid-template-columns:1fr} }
  .pathcard{background:var(--bg-card);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-card);padding:22px 24px;display:flex;flex-direction:column}
  .pathcard .pc-tag{display:inline-flex;align-self:flex-start;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--accent-ink);background:var(--accent-strong);padding:4px 11px;border-radius:999px;margin-bottom:12px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pathcard.is-c4 .pc-tag{background:var(--gold);color:var(--green-house)}
  .theme-dark .pathcard.is-c4 .pc-tag{color:#1A130A}
  .pathcard h4{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);margin-bottom:10px;line-height:1.3}
  .pathcard p{font-size:14px;line-height:1.7;color:var(--text-soft);margin-bottom:10px}
  .pathcard ul{list-style:none;margin:2px 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
  .pathcard ul li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.55;color:var(--text-soft)}
  .pathcard ul li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
  .pathcard .risk{margin-top:auto;font-size:12.5px;line-height:1.6;color:var(--text-secondary);padding-top:12px;border-top:1px solid var(--border-soft)}
  .pathcard .risk b{color:#C0563A;font-weight:700}
  .theme-dark .pathcard .risk b{color:#E89B7E}

  .tree-hero{background:var(--green-house);color:#D4E9E2;border-radius:13px;padding:20px 26px;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .tree-hero .pc-tag{background:var(--gold);color:var(--green-house);display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 11px;border-radius:999px;margin-bottom:10px}
  .tree-hero h4{font-size:18px;font-weight:700;color:#fff;margin-bottom:6px}
  .tree-hero p{font-size:13.5px;line-height:1.65;color:rgba(212,233,226,.82);max-width:680px;margin:0 auto}

  .eval .ev{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
  .eval td:not(:first-child){text-align:center}
  .eval th:not(:first-child){text-align:center}
  .ev-a{color:var(--accent)}
  .ev-b{color:var(--text-primary)}
  .ev-c{color:var(--gold)}
  .ev-d{color:#C0563A}
  .theme-dark .ev-d{color:#E89B7E}
  .eval-legend{display:flex;flex-wrap:wrap;gap:18px;margin:8px 0 0;font-size:12.5px;color:var(--text-secondary)}
  .eval-legend span b{font-size:14px;margin-right:5px}

  .closing{margin:26px 0;padding:26px 30px;background:var(--soft-panel);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:12px;font-size:16.5px;line-height:1.85;color:var(--text-primary)}
  .closing + .closing{margin-top:14px}
  .closing em{font-style:normal;color:var(--accent);font-weight:700}

  .biglist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
  .biglist li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.7;color:var(--text-soft)}
  .biglist li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:2px;background:var(--accent)}
  .biglist li strong{color:var(--text-primary);font-weight:700}

/* ===== 2026.10 additions ===== */
.p a,.biglist a,.callout a,.qa a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.p a:hover,.biglist a:hover,.callout a:hover,.qa a:hover{text-decoration-color:var(--accent)}
.docnav{display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:999px}
.docnav a{font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;color:var(--text-secondary);transition:color .2s var(--ease),background .2s var(--ease)}
.docnav a:hover{color:var(--accent)}
.docnav a.on{background:var(--chip-bg);color:var(--chip-ink)}
@media (max-width:1040px){.rightnav .meta{display:none}}
.cover h1 .h1-pre{display:block;font-size:.4em;letter-spacing:-.01em;color:var(--text-secondary);margin-bottom:16px;font-weight:600}
.cover .meta-strip.cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:768px){.cover .meta-strip.cols-2{grid-template-columns:1fr}}
.cover .callout .p{font-size:15.5px;color:var(--text-primary);margin-bottom:6px}
.sec-head .ttl-wrap{display:flex;flex-direction:column;gap:10px}
.sec-head .en{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
.sec-en{font-size:15px;line-height:1.6;color:var(--text-secondary);margin:-24px 0 36px;max-width:780px}
.thesis{font-size:clamp(20px,2.4vw,26px);font-weight:700;line-height:1.45;color:var(--text-primary);letter-spacing:-.012em;margin:0 0 10px}
.p-en{font-size:15px;line-height:1.6;color:var(--text-secondary);margin-bottom:22px}
.minor small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--text-secondary);font-size:12px}
.callout.gold{border-left-color:var(--gold)}
.callout .p{font-size:15px;color:var(--text-primary);margin-bottom:10px}
.callout .biglist li{font-size:14.5px}
.tag-p{display:inline-block;font-size:11px;font-weight:600;letter-spacing:0;color:#8A6A2E;background:color-mix(in srgb,var(--gold) 18%,transparent);border-radius:999px;padding:1px 8px;margin:0 2px;line-height:1.6;vertical-align:1px}
.theme-dark .tag-p{color:#E6C98F}
.tbl tr.done td{opacity:.45}
.st{display:inline-flex;font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:999px;white-space:nowrap;line-height:1.2}
.st-now{background:var(--accent-strong);color:var(--accent-ink)}
.st-plan{border:1px solid var(--border);color:var(--text-secondary)}
.st-done{background:var(--chip-bg);color:var(--chip-ink)}
.gate-soft{background:transparent;border:1px solid var(--gold);color:var(--text-primary)}
.theme-dark .gate-soft{color:var(--text-primary)}
.tiers{margin:8px 0 22px}
.tiers .cmap-band .en{font-style:normal;font-size:12px}
.tier-body{padding:16px 18px}
.tier-body p{font-size:15px;line-height:1.7;color:var(--text-soft)}
.tier-body .cmap-kw{margin-top:10px}
.tier-body .cmap-kw span{font-size:11.5px;padding:4px 11px}
.tiers .cmap-arrow .lb{font-size:13px}
.qa-list{display:flex;flex-direction:column;gap:14px;margin:20px 0}
.qa{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-card);padding:20px 22px}
.qa.is-done{background:var(--soft-panel);box-shadow:none}
.qa.hide{display:none}
.qa-head{display:flex;gap:12px;align-items:flex-start}
.qa-box{flex-shrink:0;width:18px;height:18px;border:1.5px solid var(--accent);border-radius:5px;margin-top:3px;position:relative}
.qa.is-done .qa-box{background:var(--accent-strong);border-color:var(--accent-strong)}
.qa.is-done .qa-box::after{content:"";position:absolute;left:4.5px;top:1px;width:5px;height:10px;border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.pri{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border-radius:6px;font-size:11.5px;font-weight:800;line-height:1;margin-top:1px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pri-A{background:var(--gold);color:var(--green-house)}
.pri-B{background:var(--chip-bg);color:var(--chip-ink)}
.pri-C{border:1px solid var(--border);color:var(--text-secondary)}
.pri-top{background:var(--green-house);color:#D4E9E2}
.theme-dark .pri-top{background:var(--accent-strong);color:var(--accent-ink)}
.pri.inl{height:20px;margin:0 4px 0 0;vertical-align:1px}
.qa-title{font-size:16px;font-weight:700;line-height:1.5;color:var(--text-primary);flex:1;min-width:0;letter-spacing:-.005em}
.qa-title .qa-ref{font-size:12.5px;font-weight:500;color:var(--text-secondary);margin-left:4px}
.qa-rows{margin:14px 0 0 30px;display:grid;gap:8px}
.qa-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;font-size:14px;line-height:1.7;color:var(--text-soft)}
.qa-row .k{font-size:11.5px;font-weight:700;color:var(--accent);padding-top:3px}
.qa-row strong,.qa-ans strong{color:var(--text-primary);font-weight:700}
.qa-row code,.qa-ans code{font-family:"JetBrains Mono","SF Mono",ui-monospace,Menlo,monospace;font-size:12.5px;color:var(--accent)}
.qa-ans{margin:10px 0 0 30px;padding:12px 16px;background:var(--soft-panel);border:1px solid var(--border-soft);border-radius:9px;font-size:14px;line-height:1.75;color:var(--text-primary);display:flex;gap:10px}
.qa.is-done .qa-ans{background:var(--bg-card)}
.qa-ans .ar{color:var(--accent);font-weight:700;flex-shrink:0}
.qa-ans .v{flex:1;min-width:0}
.qa-ans .v .tbl{margin:12px 0 4px}
.qa-ans.is-empty{background:transparent;border:1px dashed var(--border);color:var(--text-secondary)}
@media (max-width:640px){.qa{padding:18px}.qa-rows,.qa-ans{margin-left:0}.qa-row{grid-template-columns:1fr;gap:2px}}
.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.fb{font:inherit;font-size:12px;font-weight:600;padding:8px 14px;border-radius:999px;border:1.5px solid var(--border);background:transparent;color:var(--text-primary);cursor:pointer;display:inline-flex;gap:7px;align-items:center;transition:background .2s var(--ease),border-color .2s var(--ease)}
.fb:hover{border-color:var(--accent)}
.fb.on{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-ink)}
.fb .c{opacity:.7;font-variant-numeric:tabular-nums}
.myq{display:flex;align-items:center;gap:14px;margin:24px 0 0;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--text-secondary)}
.myq .line{flex:1;border-top:1px dashed var(--border)}
@media print{.docnav,.filterbar,.myq{display:none !important}.qa{box-shadow:none;break-inside:avoid}.qa.hide{display:block}.tbl tr.done td{opacity:.6}}

.tbl th,.tbl td{padding-left:14px;padding-right:14px}
.tbl th.nw,.tbl td.nw{white-space:nowrap;width:1%}
@media (max-width:640px){.tbl th.nw,.tbl td.nw{white-space:normal;width:auto}}
.gate,.gate-soft{white-space:nowrap}
