/* ==========================================================================
   Legal pages (Terms, Privacy, Refund, Acceptable use, Report abuse)
   Shared by these pages only.
   ========================================================================== */
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 92px)}
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;font-weight:600;color:var(--mut);margin-bottom:16px;position:static;margin-left:0;padding:0;border:0;background:none;flex-direction:row;align-items:baseline}
.crumb a{padding:0;text-decoration:none}
.draftbar{background:#FFF3D6;color:#6B4600;border-bottom:1px solid #F0DDA8;text-align:center;font-weight:600;font-size:.9rem;padding:10px 20px}
:root[data-theme="dark"] .draftbar{background:#3A2E10;color:#FFE3A0;border-color:#5A4718}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .draftbar{background:#3A2E10;color:#FFE3A0;border-color:#5A4718}
}
.lh{padding:48px 0 36px;background:linear-gradient(var(--soft),var(--bg))}
.lh h1{font-size:clamp(2.1rem,5vw,3.2rem);max-width:16em}
.lh .lead{margin-top:14px;font-size:1.05rem}
.meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin:22px 0 0;align-items:flex-end}
.meta div{display:grid}
.meta dt{font-size:.78rem;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.meta dd{margin:0;font-weight:700}
.meta .btn{margin-left:auto}
@media(max-width:600px){
  .meta .btn{margin-left:0}
}
.lg{display:grid;gap:24px;grid-template-columns:minmax(0,1fr);align-items:start;padding:12px 20px 72px}
@media(min-width:960px){
  .lg{grid-template-columns:250px minmax(0,720px);gap:64px;justify-content:center}
}
.toc{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:0 18px}
.toc summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:800;min-height:48px;display:flex;justify-content:space-between;align-items:center}
.toc summary::-webkit-details-marker{display:none}
.toc summary:after{content:"+";font-size:1.4rem;line-height:1;transition:transform .2s}
.toc[open] summary:after{transform:rotate(45deg)}
.toc ol{counter-reset:t;display:grid;gap:2px;padding:0 0 14px}
.toc li{counter-increment:t}
.toc a{display:flex;gap:8px;padding:7px 10px;border-radius:8px;text-decoration:none;color:var(--mut);font-weight:600;font-size:.92rem;line-height:1.35;border-left:2px solid transparent}
.toc a:before{content:counter(t) ".";flex:none;min-width:1.5em;color:var(--mut);opacity:.8}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-left-color:var(--b2);background:var(--soft)}
@media(min-width:960px){
  .toc{position:sticky;top:92px;max-height:calc(100vh - 112px);overflow:auto;border:0;background:none;padding:0}
  .toc summary{pointer-events:none;cursor:default;padding:0 0 10px;min-height:0}
  .toc summary:after{display:none}
}
.policy{counter-reset:s;min-width:0}
.policy section{counter-increment:s;padding:30px 0;border-top:1px solid var(--line)}
.policy section:first-child{border-top:0;padding-top:4px}
.policy h2{font-size:1.5rem;margin-bottom:14px;line-height:1.2}
.policy h2:before{content:counter(s) ". ";color:var(--brand)}
.policy h3{font-size:1.1rem;margin:22px 0 8px}
.policy p,.policy li{font-size:1.03rem;line-height:1.75}
.policy p+p,.policy p+ul,.policy p+ol,.policy ul+p,.policy ol+p{margin-top:14px}
.policy ul,.policy ol{display:grid;gap:8px;padding-left:1.3em}
.policy ul{list-style:disc}
.policy ol{list-style:decimal}
.policy a{color:var(--brand);font-weight:700}
.policy table{width:100%;border-collapse:collapse;font-size:.96rem;margin-top:14px}
.policy th,.policy td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.policy th{font-weight:800}
.ph{border:1.5px dashed var(--dot);border-radius:14px;background:var(--soft);padding:16px 18px;color:var(--mut);font-size:.95rem;line-height:1.6}
.ph b{color:var(--ink)}
.checks{display:grid;gap:10px;list-style:none!important;padding:0!important}
.checks li{display:flex;gap:10px;font-weight:600}
.checks li:before{content:"";flex:none;width:20px;height:20px;margin-top:3px;border-radius:50%;background:var(--b2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.rel-pol{padding:56px 0;background:var(--soft);border-top:1px solid var(--line)}
.rel-pol h2{font-size:1.4rem;margin-bottom:18px}
.rp{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.rp a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;font-weight:700;transition:border-color .2s,transform .2s}
.rp a:hover{border-color:var(--b2);transform:translateY(-2px)}
.rp small{display:block;margin-top:2px;color:var(--mut);font-weight:600}
@media(max-width:600px){
  .lh{padding:32px 0 24px}
  .policy section{padding:24px 0}
  .policy h2{font-size:1.3rem}
  .rel-pol{padding:40px 0}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
  header,footer,.draftbar,.toc,.rel-pol,.meta .btn,#toast,.prog{display:none!important}
  .lg{display:block}
  body{background:#fff;color:#000}
  .policy a{color:#000;text-decoration:underline}
  .ph{border-color:#999;background:#fff}
}
