  /* Shared navigation. Colors follow tokens.css and the optional t95 theme. */
  .theme-toggle,.theme-toggle-sm{display:none!important;}
  .sg-topnav{position:sticky;top:0;z-index:9999;display:flex;align-items:center;gap:.6rem;
    justify-content:flex-start;margin:0;
    background:var(--c-bg);border-bottom:1px solid var(--c-border);padding:.4rem .9rem;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;font-size:.9rem;}
  .sg-topnav .sg-home{color:var(--c-text);font-weight:700;text-decoration:none;white-space:nowrap;}
  .sg-topnav .sg-home:hover{color:var(--c-accent);}
  .sg-topnav .sg-menu-btn{background:var(--c-bg2);color:var(--c-muted);border:1px solid var(--c-border);
    border-radius:6px;padding:.3rem .7rem;font-size:.85rem;cursor:pointer;font-family:inherit;}
  .sg-topnav .sg-menu-btn:hover{border-color:var(--c-accent);color:var(--c-accent);}
  .sg-menu{position:absolute;top:100%;left:.9rem;margin-top:.35rem;display:none;
    background:var(--c-bg2);border:1px solid var(--c-border);border-radius:8px;padding:.6rem .4rem;
    box-shadow:0 8px 24px rgba(0,0,0,.5);min-width:200px;max-width:calc(100vw - 1.8rem);max-height:78vh;overflow:auto;}
  .sg-menu[hidden]{display:none;}
  .sg-menu.open{display:block;}
  .sg-menu .sg-grp{padding:.2rem .5rem .5rem;}
  .sg-menu .sg-grp+.sg-grp{border-top:1px solid var(--c-bg3);margin-top:.3rem;padding-top:.55rem;}
  .sg-menu .sg-lbl{display:block;font-size:.72rem;color:var(--c-muted2);font-weight:600;margin:.1rem 0 .3rem;}
  .sg-menu a{display:block;color:var(--c-muted);text-decoration:none;padding:.32rem .55rem;border-radius:5px;font-size:.86rem;}
  .sg-menu a:hover{background:#1f6feb22;color:var(--c-accent);}
  /* 공용 섹션 탭 바 — 보안/콘텐츠/도구/기타 그룹 페이지 공통. 라이트/다크 변수 사용. */
  .sg-secnav{display:flex;align-items:center;justify-content:flex-start;justify-content:safe center;gap:.4rem;flex-wrap:nowrap;
    overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
    background:var(--c-bg2,var(--c-bg2));border-bottom:1px solid var(--c-border,var(--c-border));
    padding:.45rem .9rem;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;}
  .sg-secnav::-webkit-scrollbar{display:none;}
  .sg-secnav .sg-sl{color:var(--c-muted,var(--c-muted));text-decoration:none;
    padding:.34rem .72rem;border-radius:6px;font-size:.86rem;white-space:nowrap;
    border:1px solid transparent;line-height:1;transition:all .12s;}
  .sg-secnav .sg-sl:hover{color:var(--c-accent,var(--c-accent));background:rgba(88,166,255,.08);}
  .sg-secnav .sg-sl.active{color:var(--c-text);background:var(--c-accent2,var(--c-accent2));
    border-color:var(--c-accent2,var(--c-accent2));font-weight:600;}
  .sg-secsub{display:flex;align-items:center;justify-content:flex-start;justify-content:safe center;gap:.9rem;flex-wrap:nowrap;
    overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
    background:var(--c-bg,var(--c-bg));border-bottom:1px solid var(--c-border,var(--c-border));
    padding:.3rem .9rem;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;}
  .sg-secsub::-webkit-scrollbar{display:none;}
  .sg-secsub .sg-tl{color:var(--c-muted,var(--c-muted));text-decoration:none;
    padding:.26rem .2rem;font-size:.8rem;white-space:nowrap;line-height:1.4;
    border-bottom:2px solid transparent;}
  .sg-secsub .sg-tl:hover{color:var(--c-accent,var(--c-accent));}
  .sg-secsub .sg-tl.active{color:var(--c-accent,var(--c-accent));font-weight:600;
    border-bottom-color:var(--c-accent,var(--c-accent));}
  /* 손가락으로 누르는 화면에서는 탭 대상을 44px 로 키운다(2026-08-29).
     기본값은 높이 27px(패딩 .34rem + line-height:1)라 권장치(44)의 60% 였다.
     패딩을 손으로 계산하는 대신 min-height + inline-flex 로 맞춘다 — 글자 크기가
     바뀌어도 높이가 유지된다. 마우스 화면은 건드리지 않는다(가로 공간이 아깝다). */
  @media (max-width: 860px), (pointer: coarse) {
    .sg-secnav .sg-sl, .sg-secsub .sg-tl, .sg-topnav .sg-home, .sg-topnav .sg-menu-btn, .sg-menu a {
      /* box-sizing 이 없으면 min-height 가 콘텐츠 상자에만 걸려 패딩만큼 더 커진다(57px 이 됐다) */
      box-sizing: border-box; min-height: 44px; display: inline-flex; align-items: center;
    }
    .sg-secnav { padding-block: .15rem; justify-content:flex-start; }
    .sg-secsub { padding-block: .1rem; justify-content:flex-start; }
    .sg-menu a { display:flex; }
  }
  /* 공용 페이지 타이틀 밴드 — 전 페이지 제목 구조 통일. 라이트/다크 변수 사용. */
  header.sg-pagehead{display:block;background:var(--c-bg2,var(--c-bg2));
    border-bottom:1px solid var(--c-border,var(--c-border));padding:1.25rem 1.5rem;margin:0;text-align:center;}
  header.sg-pagehead h1{display:block;margin:0;font-size:1.5rem;font-weight:700;
    color:var(--c-text,var(--c-text));line-height:1.25;letter-spacing:-.01em;text-align:center;
    background:none;-webkit-text-fill-color:currentColor;-webkit-background-clip:border-box;background-clip:border-box;}
  header.sg-pagehead .sg-sub{margin:.3rem 0 0;color:var(--c-muted,var(--c-muted));
    font-size:.9rem;font-weight:400;line-height:1.5;text-align:center;}
  .sg-secnav .sg-sl,.sg-secsub .sg-tl{flex-shrink:0;}
  .sg-topnav a:focus-visible,.sg-topnav button:focus-visible,
  .sg-secnav a:focus-visible,.sg-secsub a:focus-visible{
    outline:2px solid var(--c-accent);outline-offset:-3px;
  }
  @media(prefers-reduced-motion:reduce){
    .sg-secnav .sg-sl{transition:none;}
  }
