:root{
  --accent:#efab17;
  --accent-light:#0000000d;
  --text-dark:#1c1c1c;
  --text-muted:#6b6b6b;
  --border:#e6e6e6;
  --bg:#ffffff;
  --sidebar-bg:#fafafa;
  --radius:10px;
  --sidebar-width:260px;
  --toc-width:280px;
  --scroll-offset:94px;
  --header-height:70px;
}

*{box-sizing:border-box;}

/* html{scroll-behavior:smooth;} */
html,
body {
    scroll-snap-type: y mandatory;
}

body{
  margin:0;
  width:100%;
  padding:0 20px;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color:var(--text-dark);
  background:var(--bg);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
.toc-list li.active > a {
    background-color: transparent !important;
    border-radius: 0px;
    border-width: 4px;
}
.nav-menu li.active a {
    border: none !important;
    padding: 6px;
    border-radius: 0px;
}
.header-nav {
 font-size: 18px !important;
    
}
.nav-menu a {
    padding-left: 6px !important;
    padding-bottom: 6px !important;
    padding-top: 6px !important;
}
a.branding img {
    height: 50px;
}
.brand {
    display: none;
}
a{color:inherit;text-decoration:none;}

.site-header{
  display:flex;
  position:sticky;
  top:0;
  z-index:100;
  height:var(--header-height);
  margin:0 -20px;
  padding:0 20px;
  background:var(--bg);
  border-bottom:1px solid var(--border);
  align-items:center;
  gap: 120px;
}
.brand{font-weight:700;font-size:1.05rem;}
.brand span{color:var(--accent);}
.header-nav{
  display:flex;
  align-items:center;
  gap:28px;
  color:var(--text-muted);
  font-size:0.95rem;
  font-weight:600;
}
.header-nav a:hover{color:var(--accent);}
.menu-toggle{
  display:none;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  cursor:pointer;
}
.menu-toggle span{
  width:18px;
  height:2px;
  background:var(--text-dark);
  border-radius:2px;
}
.drawer-overlay,
.mobile-drawer{display:none;}
body.nav-open{overflow:hidden;}

.layout{
  display:grid;
  grid-template-columns: var(--sidebar-width) minmax(0,1fr) var(--toc-width);
  width:100%;
  align-items:start;
  gap:0;
}

.sidebar{
  position:sticky;
  top:var(--header-height);
  height:calc(100vh - var(--header-height));
  overflow-y:auto;
  background:var(--sidebar-bg);
  border-right:1px solid var(--border);
  padding:28px 0;
}
.sidebar .brand{
  font-weight:800;
  font-size:1.25rem;
  padding:0 24px 20px;
  color:var(--text-dark);
}
.sidebar .brand span{color:var(--accent);}
.nav-menu{list-style:none;margin:0;padding:0;}
.nav-menu li{margin:2px 0;}
.nav-menu a{
  display:block;
  padding:12px 24px;
  font-size:0.95rem;
  color:var(--text-muted);
  border-left:3px solid transparent;
  border-radius:0 var(--radius) var(--radius) 0;
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.nav-menu a:hover{
  background:rgba(0,0,0,0.03);
  color:var(--text-dark);
}
.nav-menu li.active a{
  background:var(--accent-light);
  color:var(--accent);
  border-left-color:var(--accent);
  font-weight:600;
}

main{
  padding:40px 48px;
  min-width:0;
  border-right:1px solid var(--border);
}
.doc-header{
  margin-bottom:32px;
  border-bottom:1px solid var(--border);
  padding-bottom:24px;
}
.doc-header h1{
  font-size:2rem;
  margin:0 0 8px;
}
.doc-header p{
  color:var(--text-muted);
  margin:0;
  font-size:0.95rem;
}

.service-toggle{
  display:inline-flex;
  gap:6px;
  margin-top:18px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--sidebar-bg);
}
.service-toggle button{
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--text-muted);
  cursor:pointer;
  font:inherit;
  font-size:0.92rem;
  font-weight:600;
  min-height:34px;
  padding:6px 14px;
  transition:background 0.2s ease, color 0.2s ease;
}
.service-toggle button:hover{
  color:var(--text-dark);
  background:rgba(0,0,0,0.03);
}
.service-toggle button.active{
  color:var(--accent);
  background:var(--accent-light);
}

.policy-status{
  margin:0 0 28px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  color:var(--text-muted);
  background:var(--sidebar-bg);
}
.policy-status.error{
  color:var(--accent);
  background:var(--accent-light);
  border-color:var(--accent-light);
}
.mobile-toc-card{display:none;}

section{
  margin-bottom:48px;
  scroll-margin-top:var(--scroll-offset);
}
section h2{
  font-size:1.4rem;
  margin:0 0 16px;
  padding-top:8px;
}
section h3{
  font-size:1.1rem;
  margin:28px 0 12px;
  color:var(--text-dark);
}
section p,
section li{
  color:#3a3a3a;
  font-size:18px;
}
section p{margin:0 0 14px;}
section ul,
section ol{margin:0 0 18px;padding-left:22px;}
.policy-content{
  color:#3a3a3a;
  font-size:18px;
  margin:0 0 14px;
}
.policy-content p{
  margin:0 0 16px;
  line-height:1.8;
}
.policy-content ul{
  margin:16px 0;
  padding-left:24px;
  list-style:disc outside;
}
.policy-content ol{
  margin:16px 0;
  padding-left:24px;
  list-style:decimal outside;
}
.policy-content li{
  margin:0 0 8px;
  padding-left:2px;
  line-height:1.8;
}
.policy-content li > p{
  display:inline;
  margin:0;
  line-height:inherit;
}
.policy-content li > p + p{
  display:block;
  margin-top:8px;
}
.policy-content strong{
  font-weight:700;
  color:var(--text-dark);
}
.policy-content em{
  font-style:italic;
}
.policy-content a{
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:2px;
}
.policy-content table{
  width:100%;
  margin:18px 0;
  border-collapse:collapse;
  font-size:0.95rem;
}
.policy-content th,
.policy-content td{
  border:1px solid var(--border);
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
}
.policy-content th{
  color:var(--text-dark);
  background:var(--sidebar-bg);
  font-weight:700;
}
.policy-content blockquote{
  margin:18px 0;
  padding:12px 16px;
  border-left:3px solid var(--accent);
  background:var(--sidebar-bg);
  color:#3a3a3a;
}
.policy-content br{
  line-height:1.8;
}
.subsection{
  padding-left:18px;
  border-left:2px solid var(--border);
  margin-bottom:24px;
  border-radius:0 var(--radius) var(--radius) 0;
}

hr.divider{
  border:none;
  border-top:1px solid var(--border);
  margin:40px 0;
}

.footnote{
  color:var(--text-muted);
  font-size:0.85rem;
}

.toc{
  position:sticky;
  top:var(--header-height);
  height:calc(100vh - var(--header-height));
  overflow-y:auto;
  padding:40px 24px;
}
.toc h4{
  text-transform:uppercase;
  letter-spacing:0.05em;
  font-size:0.78rem;
  color:var(--text-muted);
  margin:0 0 14px;
}
.toc-list{list-style:none;margin:0;padding:0;}
.toc-list li{margin:2px 0;}
.toc-list a{
  display:block;
  padding:7px 12px;
  font-size:0.88rem;
  color:var(--text-muted);
  border-radius:6px;
  border-left:2px solid transparent;
  transition:background 0.2s ease, color 0.2s ease;
}
.toc-list a:hover{
  background:rgba(0,0,0,0.03);
  color:var(--text-dark);
}
.toc-list li.active > a{
  background:var(--accent-light);
  color:var(--accent);
  border-left-color:var(--accent);
  font-weight:600;
}

.sidebar,
.subsection{
  box-shadow:0 1px 2px rgba(0,0,0,0.02);
}

.sidebar::-webkit-scrollbar,
.toc::-webkit-scrollbar{width:6px;}
.sidebar::-webkit-scrollbar-thumb,
.toc::-webkit-scrollbar-thumb{
  background:#d8d8d8;
  border-radius:10px;
}

@media (max-width: 1180px){
  .layout{grid-template-columns: var(--sidebar-width) minmax(0,1fr);}
  .toc{display:none;}
}
@media (max-width: 768px){

  a.branding img {
    height: 30px;
}
}
@media (max-width: 860px){
  :root{--scroll-offset:94px;}
  .header-nav{display:none;}
  .menu-toggle{display:flex;}
  .layout{grid-template-columns: 1fr;}
  .sidebar{
    display:none;
  }
  .toc{display:none;}
  .drawer-overlay{
    display:block;
    position:fixed;
    inset:0;
    top:var(--header-height);
    background:rgba(0,0,0,0.35);
    opacity:0;
    pointer-events:none;
    transition:opacity 0.3s ease;
    z-index:80;
  }
  .drawer-overlay.show{
    opacity:1;
    pointer-events:auto;
  }
  .site-header {
    justify-content: space-between;
}
  .mobile-drawer{
    display:block;
    position:fixed;
    left:0;
    top:var(--header-height);
    width:320px;
    max-width:calc(100vw - 32px);
    height:calc(100vh - var(--header-height));
    overflow:hidden;
    background:var(--bg);
    border-right:1px solid var(--border);
    box-shadow:2px 0 12px rgba(0,0,0,0.08);
    transform:translateX(-100%);
    transition:transform 0.3s ease;
    z-index:90;
  }
  .mobile-drawer.open{transform:translateX(0);}
  .page-toc-drawer{
    left:auto;
    right:0;
    border-right:0;
    border-left:1px solid var(--border);
    box-shadow:-2px 0 12px rgba(0,0,0,0.08);
    transform:translateX(100%);
  }
  .page-toc-drawer.open{transform:translateX(0);}
  .drawer-level{
    height:100%;
    overflow-y:auto;
    padding:22px 20px;
  }
  .drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:22px;
  }
  .drawer-close,
  .drawer-back{
    border:0;
    background:transparent;
    color:var(--text-dark);
    cursor:pointer;
    font:inherit;
  }
  .drawer-close{
    width:40px;
    height:40px;
    font-size:1.8rem;
    line-height:1;
  }
  .drawer-menu{
    list-style:none;
    margin:0;
    padding:0;
  }
  .drawer-menu a,
  .drawer-back{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    min-height:44px;
    padding:10px 0;
    color:var(--text-muted);
    font-size:0.98rem;
    font-weight:600;
    text-align:left;
    border-bottom:1px solid var(--border);
  }
  .drawer-back{
    justify-content:flex-start;
    margin-bottom:16px;
    color:var(--text-dark);
  }
  .drawer-menu a:hover,
  .drawer-back:hover{color:var(--text-dark);}
  .drawer-toc-list a,
  .drawer-page-toc-list a{padding:9px 12px;}
  .mobile-toc-card{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    margin:0 0 28px;
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--sidebar-bg);
    color:var(--text-dark);
    cursor:pointer;
    font:inherit;
    font-size:0.95rem;
    font-weight:600;
    text-align:left;
  }
  main{padding:28px 0;border-right:none;}
  .doc-header h1{font-size:1.5rem;}
  .service-toggle{display:flex;width:100%;}
  .service-toggle button{flex:1;padding-inline:8px;}
}
