/* Voltline legal pages (Terms of Use, Privacy Policy), from the Terms and Privacy boards. Flat, readable, no gradients. */
:root{
  --bg:#FFFFFF; --bg-subtle:#F7F7F5; --line:#E8E8E4; --line-strong:#D4D4CF;
  --ink:#0B0B0C; --ink-2:#3F3F46; --ink-3:#62626B;
  --volt:#22C55E; --volt-ink:#15803D; --volt-tint:#ECFDF3;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
}
*{box-sizing:border-box}
body{margin:0;background:#fff}
a{color:var(--ink-2)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.lg{font-family:'Geist',system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:clip}
.mono{font-family:'Geist Mono',ui-monospace,monospace}
.wrap{max-width:1200px;margin:0 auto;padding-left:clamp(16px,5vw,24px);padding-right:clamp(16px,5vw,24px)}
.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,0.8);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(0,0,0,0.06)}
@media (prefers-reduced-transparency:reduce){.nav{background:#fff;backdrop-filter:none}}
.nav-bar{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600;font-size:17px;letter-spacing:-0.02em;text-decoration:none}
.btn{appearance:none;border:0;cursor:pointer;font:inherit;font-size:14px;font-weight:500;height:36px;padding:0 14px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;user-select:none;touch-action:manipulation;transition:transform 160ms var(--ease-out),background-color 150ms ease}
@media (pointer:coarse){.btn{height:44px}}
.btn:active{transform:scale(0.97)}
.btn-primary{background:var(--ink);color:#fff}
.btn-secondary{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}
.btn:focus-visible,.toc a:focus-visible,.toc-m a:focus-visible,.toc-m summary:focus-visible,.doc a:focus-visible,.switcher a:focus-visible,.brand:focus-visible,.foot a:focus-visible{outline:2px solid #2563EB;outline-offset:2px}

/* Reading progress: scroll-driven, runs off the main thread; hidden where unsupported */
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:30;background:var(--volt);transform-origin:left;transform:scaleX(0);display:none}
@supports (animation-timeline: scroll()){
  .progress{display:block;animation:readprog linear both;animation-timeline:scroll(root)}
  @keyframes readprog{to{transform:scaleX(1)}}
}

.page{padding-top:clamp(36px,6vw,56px);padding-bottom:96px}
.page h1{font-size:clamp(36px,5vw,56px);letter-spacing:-0.035em;line-height:1.02;margin:0;font-weight:600}

/* Document switcher (two real links between the pages) */
.switcher{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--bg-subtle);border-radius:10px;padding:3px;box-shadow:inset 0 0 0 1px var(--line)}
.switcher a{display:flex;align-items:center;justify-content:center;height:32px;padding:0 16px;border-radius:7px;font-size:14px;font-weight:500;color:var(--ink-3);text-decoration:none;white-space:nowrap}
@media (pointer:coarse){.switcher a{height:38px}}
.switcher a[aria-current="page"]{background:#fff;color:var(--ink);box-shadow:0 0 0 1px var(--line-strong),0 1px 2px rgba(0,0,0,0.06)}

/* Table of contents: scroll-spy state changes instantly (it fires constantly while scrolling) */
.cols{display:flex;gap:56px;margin-top:48px;align-items:flex-start}
.toc{position:sticky;top:88px;align-self:flex-start;flex:0 0 240px;max-height:calc(100vh - 112px);overflow-y:auto}
.toc-title{font-size:12px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-3);text-decoration:none;font-size:14px;line-height:1.4}
.toc a[aria-current="true"]{color:var(--ink);border-left-color:var(--ink);font-weight:500}

/* Phones and tablets: the contents fold into one row above the text */
.toc-m{display:none;margin-top:32px;border-radius:14px;background:var(--bg-subtle);box-shadow:inset 0 0 0 1px var(--line)}
.toc-m summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 18px;font-size:15px;font-weight:600;border-radius:14px}
.toc-m summary::-webkit-details-marker{display:none}
.toc-m summary svg{transition:transform 200ms var(--ease-out)}
.toc-m[open] summary svg{transform:rotate(180deg)}
.toc-m ol{list-style:none;margin:0;padding:0 8px 10px}
.toc-m a{display:flex;align-items:center;min-height:44px;padding:0 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:15px}

.doc{flex:1 1 560px;min-width:0;max-width:720px}
.doc section{scroll-margin-top:88px;padding:8px 0 28px;border-bottom:1px solid var(--line)}
.doc section:last-of-type{border-bottom:0}
.doc h2{font-size:clamp(20px,2.4vw,22px);letter-spacing:-0.015em;line-height:1.3;margin:24px 0 12px;font-weight:600}
.doc h2 .n{color:var(--ink-3);font-weight:500;margin-right:8px;font-variant-numeric:tabular-nums}
.doc p,.doc li{font-size:16px;line-height:1.7;color:var(--ink-2)}
.doc p{margin:0 0 12px}
.doc ul{margin:0 0 12px;padding-left:20px}
.doc li{margin:4px 0}
.doc strong{color:var(--ink);font-weight:600}
.doc a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.tablewrap{overflow-x:auto;border-radius:12px;box-shadow:0 0 0 1px var(--line);margin:8px 0 16px}
.doc table{width:100%;border-collapse:collapse;min-width:560px}
.doc th{text-align:left;font-size:13px;font-weight:500;color:var(--ink-3);padding:10px 14px;background:var(--bg-subtle);border-bottom:1px solid var(--line)}
.doc td{font-size:14px;line-height:1.55;color:var(--ink-2);padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.doc tr:last-child td{border-bottom:0}
.doc td:first-child{color:var(--ink);font-weight:500;width:28%}

.summary{margin-top:40px;max-width:960px;border-radius:16px;background:var(--bg-subtle);box-shadow:inset 0 0 0 1px var(--line);padding:clamp(20px,3vw,24px) clamp(20px,3vw,28px)}
.summary ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.summary li{display:flex;gap:10px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.summary svg{flex:none;margin-top:3px}

.foot{border-top:1px solid var(--line)}
.foot .wrap{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;align-items:center;font-size:14px;color:var(--ink-3)}
.foot-links{display:flex;gap:4px 20px;flex-wrap:wrap}
.foot-links a{display:inline-flex;align-items:center;min-height:36px}

@media (hover:hover) and (pointer:fine){
  a:hover,.toc a:hover,.switcher a:hover{color:var(--ink)}
  .btn-primary:hover{background:#2A2A2E;color:#fff}
  .btn-secondary:hover{background:var(--bg-subtle)}
  .toc-m a:hover{background:#fff;color:var(--ink)}
}
@media (max-width:900px){
  .toc{display:none}
  .toc-m{display:block}
  .cols{margin-top:24px}
}
@media print{.nav,.toc,.toc-m,.progress,.noprint{display:none !important}.doc{max-width:none}}
