/* B6 legal family r3: Terms, Privacy, DMCA, Game systems, Contact, 404 and error.
   Source: Design/redo/r3/pages/b6 (b6-r3.html). Builds on the .xp kit in explore-r3.css and is
   scoped under .xp.lg. Type is on the #125 tokens; pixel icons at 16, 32 or 64 only. */
.xp.lg{max-width:1160px}
.xp.lg .seg a img,.xp.lg .chip img,.xp.lg .chip.sm img{width:16px;height:16px}
.xp.lg .tile img{width:16px;height:16px}
.xp.lg .tile.lg{width:52px;height:52px;border-radius:14px}.xp.lg .tile.lg img{width:32px;height:32px}
.xp.lg .tile.xl{width:88px;height:88px;border-radius:22px;margin:0 auto}.xp.lg .tile.xl img{width:64px;height:64px}
.xp.lg .btn{font:var(--t-label)}
.xp.lg .btn img{width:16px;height:16px}
.xp.lg .chip{font:var(--t-small);font-weight:600}
.xp.lg .seg a{font:var(--t-label)}

/* head */
.xp.lg .lhead{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.xp.lg .eyeb{font:var(--t-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.xp.lg .lhead h1{margin:0;font:var(--t-display);color:var(--gold-l)}
.xp.lg .lhead .lede{margin:0;font:var(--t-lede);color:#d6d0ea;max-width:760px}
.xp.lg .metas{display:flex;gap:8px;flex-wrap:wrap}
.xp.lg .metas:empty{display:none}
.xp.lg .lsw{margin-bottom:22px}

/* reading layout */
.xp.lg .lg-grid{display:grid;grid-template-columns:290px minmax(0,780px);gap:32px;justify-content:start;align-items:start}
.xp.lg .toc{position:sticky;top:88px;background:rgba(23,18,42,.92);border:1px solid var(--line);border-radius:16px;padding:16px 10px 12px;max-height:calc(100vh - 110px);overflow-y:auto}
.xp.lg .toc h2,.xp.lg .sheet-h h2{margin:0 10px 10px;font:var(--t-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.xp.lg .toc a,.xp.lg .sheet a{display:flex;gap:10px;padding:7px 10px;border-radius:9px;font:var(--t-ui);color:#cfc9e4}
.xp.lg .toc a i,.xp.lg .sheet a i{font-style:normal;color:var(--dim);width:20px;flex:none;font-weight:600}
.xp.lg .toc a:hover{background:rgba(255,255,255,.04)}
.xp.lg .toc a.on,.xp.lg .sheet a.on{background:rgba(212,175,55,.1);color:var(--gold-l);box-shadow:inset 3px 0 0 var(--gold)}
.xp.lg .toc a.on i,.xp.lg .sheet a.on i{color:var(--gold)}
.xp.lg .toc .tf{margin:10px 10px 0;padding-top:10px;border-top:1px solid var(--line);font:var(--t-small);color:var(--dim)}
.xp.lg .art{background:rgba(23,18,42,.94);border:1px solid var(--line);border-radius:18px;padding:34px 40px 30px;min-width:0}
.xp.lg .art p,.xp.lg .art li{font:var(--t-story);color:#dcd7ec;margin:0 0 14px}
.xp.lg .art p strong,.xp.lg .art li strong{color:#fff;font-weight:600}
.xp.lg .art a{color:var(--gold-l)}
.xp.lg .art ul{margin:0 0 14px;padding-left:20px}.xp.lg .art li{margin-bottom:6px}
.xp.lg .art h2{display:flex;align-items:center;gap:12px;margin:30px 0 12px;font:var(--t-h2);color:var(--gold-l);scroll-margin-top:88px}
.xp.lg .art h2 .n{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font:var(--t-label);color:var(--gold-l);background:rgba(212,175,55,.1);box-shadow:inset 0 0 0 1px var(--gold-d);flex:none}
.xp.lg .art h3{margin:22px 0 8px;font:var(--t-h3);color:#fff;scroll-margin-top:88px}
.xp.lg .art table{width:100%;border-collapse:collapse;margin:0 0 16px;font:var(--t-ui)}
.xp.lg .art th,.xp.lg .art td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);color:#dcd7ec;vertical-align:top}
.xp.lg .art th{font:var(--t-label);color:#fff;background:rgba(10,8,18,.45)}
.xp.lg .art .tbl{overflow-x:auto}

/* callouts */
.xp.lg .call{display:flex;gap:16px;border-radius:14px;padding:18px 20px;background:color-mix(in srgb,var(--c) 9%,#15112a);border:1px solid color-mix(in srgb,var(--c) 40%,transparent);margin:0 0 14px}
.xp.lg .call h3{margin:2px 0 6px;font:var(--t-h3);color:var(--c)}
.xp.lg .call p,.xp.lg .call li{font:var(--t-story);margin:0 0 8px;color:#e1dcf0}
.xp.lg .call p:last-child{margin-bottom:0}
.xp.lg .call ul{margin:0 0 8px;padding-left:18px}
.xp.lg .call > div{min-width:0}
.xp.lg .consp{border:1px solid var(--line2);border-left:3px solid var(--gold-d);border-radius:10px;padding:14px 16px;background:rgba(10,8,18,.5);margin:0 0 14px}
.xp.lg .consp h3{margin:0 0 8px;font:var(--t-label);letter-spacing:.06em;color:var(--gold-l)}
.xp.lg .art .consp p{font:var(--t-ui);font-weight:600;letter-spacing:.01em;color:#e5e1f3;margin:0 0 10px}
.xp.lg .art .consp p:last-child{margin-bottom:0}
.xp.lg .tofoot{display:flex;align-items:center;gap:14px;margin-top:26px;padding:16px 18px;border-radius:14px;background:#15112a;border:1px solid var(--line)}
.xp.lg .tofoot .tx{flex:1;font:var(--t-ui);color:#cfc9e4}
.xp.lg .tofoot .tx b{display:block;color:#fff;font:var(--t-h3);margin-bottom:2px}
.xp.lg .totop{position:fixed;right:26px;bottom:26px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#1f1a33;border:1px solid var(--line2);z-index:30;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s}
.xp.lg .totop.show{opacity:1;pointer-events:auto}
.xp.lg .chev{width:18px;height:18px;stroke:#e5e1f3;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* phone: jump bar and sheet */
.xp.lg .jump{display:none}
.xp.lg .sheet,.xp.lg .scrim{display:none}
@media (max-width:900px){
  .xp.lg{padding:14px 16px 32px}
  .xp.lg .lg-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .xp.lg .toc{display:none}
  .xp.lg .lsw{margin-bottom:14px}
  .xp.lg .jump{position:sticky;top:84px;z-index:20;display:flex;align-items:center;gap:10px;width:100%;height:48px;padding:0 14px;border-radius:12px;background:rgba(23,18,42,.97);border:1px solid var(--line2);margin:0 0 12px;font:var(--t-label);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.35);cursor:pointer;text-align:left}
  .xp.lg .jump small{font:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:none}
  .xp.lg .jump span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .xp.lg .art{padding:20px 18px 18px;border-radius:16px}
  .xp.lg .art h2{margin-top:24px}
  /* under the site navbar (76px) and the jump bar */
  .xp.lg .art h2,.xp.lg .art h3,.xp.lg .art [data-toc]{scroll-margin-top:148px}
  .xp.lg .call{padding:14px;gap:12px}
  .xp.lg .tofoot{flex-wrap:wrap}
  .xp.lg .tofoot .btn{width:100%}
  .xp.lg .scrim.open{display:block;position:fixed;inset:0;background:rgba(5,4,10,.6);z-index:40}
  .xp.lg .sheet.open{display:block;position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:80vh;overflow-y:auto;background:#15112a;border-top:1px solid var(--line2);border-radius:22px 22px 0 0;padding:10px 12px calc(80px + env(safe-area-inset-bottom));box-shadow:0 -20px 40px rgba(0,0,0,.55)}
  .xp.lg .sheet .grab{width:44px;height:5px;border-radius:9px;background:#3a3160;margin:0 auto 12px}
  .xp.lg .sheet-h{display:flex;align-items:center;margin:0 0 8px}
  .xp.lg .sheet-h h2{flex:1;margin:0 6px;font:var(--t-h3);letter-spacing:0;text-transform:none;color:#fff}
  .xp.lg .sheet a{height:44px;align-items:center;padding:0 10px}
  .xp.lg .totop{right:16px;bottom:16px}
}
body.lg-sheet-open{overflow:hidden}

/* contact */
.xp.lg .cgrid{display:grid;grid-template-columns:minmax(0,640px) 380px;gap:28px;justify-content:start;align-items:start}
.xp.lg .form{background:rgba(23,18,42,.95);border:1px solid var(--line);border-radius:18px;padding:26px 28px}
.xp.lg .form h2{margin:0 0 10px;font:var(--t-h3);color:#fff}
.xp.lg .lbl{display:block;font:var(--t-label);color:#e5e1f3;margin:18px 0 7px}
.xp.lg .lbl i{font:var(--t-small);font-style:normal;color:var(--muted);margin-left:6px}
.xp.lg .inp{width:100%;height:46px;border-radius:11px;background:#0f0c1b;border:1px solid var(--line2);padding:0 14px;font:var(--t-ui);color:#fff}
.xp.lg .inp:focus{outline:none;border-color:var(--gold-d);box-shadow:0 0 0 2px rgba(212,175,55,.2)}
.xp.lg .inp::placeholder{color:#6b6789}
.xp.lg textarea.inp{height:150px;padding-top:12px;resize:vertical}
.xp.lg .inp[readonly]{background:#141024;color:#cfc9e4}
.xp.lg .lockw{position:relative}
.xp.lg .lockw small{position:absolute;right:14px;top:50%;transform:translateY(-50%);font:var(--t-small);color:var(--dim);pointer-events:none}
.xp.lg .lockw .inp{padding-right:130px}
.xp.lg .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.xp.lg .help{font:var(--t-small);color:var(--dim);margin-top:6px;display:flex;justify-content:space-between;gap:10px}
.xp.lg .topics{display:flex;flex-wrap:wrap;gap:8px}
.xp.lg .topics button{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:99px;border:1px solid var(--line2);background:#15112a;font:var(--t-label);color:#cfc9e4;cursor:pointer}
.xp.lg .topics button img{width:16px;height:16px}
.xp.lg .topics button.on{border-color:var(--c);color:var(--c);background:color-mix(in srgb,var(--c) 14%,#15112a);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 25%,transparent)}
.xp.lg .hint{display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:11px;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.3);font:var(--t-ui);color:#cfe0fb}
.xp.lg .hint[hidden]{display:none}
.xp.lg .hint img{width:16px;height:16px;flex:none}
.xp.lg .hint b{color:#fff}
.xp.lg .hint a{color:#93c5fd;font-weight:600;margin-left:auto;white-space:nowrap}
.xp.lg .fend{display:flex;justify-content:flex-end;margin-top:18px}
.xp.lg .err{margin:0 0 14px;padding:10px 12px;border-radius:11px;background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.35);font:var(--t-ui);color:#f5d0d0}
.xp.lg .side{display:flex;flex-direction:column;gap:14px}
.xp.lg .box{background:rgba(23,18,42,.95);border:1px solid var(--line);border-radius:16px;padding:16px}
.xp.lg .box h2{margin:0 0 10px;font:var(--t-h3);color:#fff}
.xp.lg .rt{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);color:inherit}
.xp.lg .rt:first-of-type{border-top:0;padding-top:2px}
.xp.lg .rt .m{flex:1;min-width:0}
.xp.lg .rt .m b{display:block;font:var(--t-ui);font-weight:600;color:#fff;overflow-wrap:anywhere}
.xp.lg .rt .m small{font:var(--t-small);color:var(--muted)}
.xp.lg .gt{color:var(--gold-l);font:var(--t-label)}
.xp.lg .sent{text-align:center;padding:30px 20px}
.xp.lg .sent h2{margin:14px 0 6px;font:var(--t-stat);color:#fff}
.xp.lg .sent p{font:var(--t-story);color:#dcd7ec;margin:0 0 16px}
.xp.lg .recap{text-align:left;background:#0f0c1b;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 16px;font:var(--t-ui);color:#cfc9e4}
.xp.lg .recap b{color:#fff}
.xp.lg .sent .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.xp.lg .agent{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;margin:4px 0 16px;padding:18px;border-radius:14px;background:#15112a;border:1px solid var(--line2)}
.xp.lg .agent h3{margin:0 0 8px;font:var(--t-h3);color:#fff}
.xp.lg .agent dl{margin:0;display:grid;grid-template-columns:110px 1fr;gap:6px 12px;font:var(--t-ui)}
.xp.lg .agent dt{color:var(--muted)}.xp.lg .agent dd{margin:0;color:#fff;overflow-wrap:anywhere}
.xp.lg .art .agent p{font:var(--t-small);color:var(--muted);margin:10px 0 0}
.xp.lg .art ul.steps{counter-reset:s;list-style:none;padding:0}
.xp.lg .art ul.steps li{position:relative;padding-left:40px}
.xp.lg .art ul.steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font:var(--t-label);color:var(--gold-l);background:rgba(212,175,55,.1);box-shadow:inset 0 0 0 1px var(--gold-d)}
@media (max-width:900px){
  .xp.lg .cgrid{grid-template-columns:minmax(0,1fr);gap:14px}
  .xp.lg .form{padding:20px 16px}
  .xp.lg .two{grid-template-columns:1fr;gap:0}
  .xp.lg .fend .btn,.xp.lg .sent .acts .btn{width:100%}
  .xp.lg .side .box.direct{display:none}
  .xp.lg .agent{grid-template-columns:1fr}
  .xp.lg .agent dl{grid-template-columns:80px 1fr}
}

/* game systems */
.xp.lg .agrid{display:grid;grid-template-columns:260px minmax(0,820px);gap:30px;justify-content:start;align-items:start}
.xp.lg .rail .dt{width:8px;height:8px;border-radius:50%;background:var(--c);flex:none;margin-top:6px}
.xp.lg .sys{background:rgba(23,18,42,.95);border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-bottom:16px;scroll-margin-top:88px}
.xp.lg .sys .hd{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.xp.lg .sys h2{margin:0;font:var(--t-h2);color:#fff}
.xp.lg .sys .pub{font:var(--t-small);color:var(--muted);margin-top:3px}
.xp.lg .sys .chips{display:flex;gap:6px;margin-left:auto;align-self:flex-start;flex-wrap:wrap;justify-content:flex-end}
.xp.lg .sys p{font:var(--t-story);color:#dcd7ec;margin:0 0 12px}
.xp.lg .notice{border-left:3px solid var(--line2);background:rgba(10,8,18,.55);border-radius:0 10px 10px 0;padding:12px 14px;font:var(--t-small);line-height:1.6;color:#b9b3cf;margin-top:8px}
.xp.lg .notice a{color:var(--gold-l);overflow-wrap:anywhere}
.xp.lg .notice .nh{display:block;font:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.xp.lg .lics{padding:4px 0;scroll-margin-top:88px}
.xp.lg .lics > h2{margin:12px 16px 4px;font:var(--t-h3);color:#fff}
.xp.lg .lic{border-top:1px solid var(--line);scroll-margin-top:88px}
.xp.lg .lic:first-of-type{border-top:0}
.xp.lg .lic summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 16px;font:var(--t-ui);font-weight:600;color:#e5e1f3;cursor:pointer;list-style:none}
.xp.lg .lic summary::-webkit-details-marker{display:none}
.xp.lg .lic summary span{flex:1}
.xp.lg .lic[open] summary .chev{transform:rotate(180deg)}
.xp.lg .lic .body{padding:0 16px 16px}
.xp.lg .lic .body p{font:var(--t-small);color:var(--muted);margin:0 0 8px}
.xp.lg .lic pre{margin:0;white-space:pre-wrap;font:var(--t-small);line-height:1.6;color:#b9b3cf;background:rgba(10,8,18,.55);border-radius:10px;padding:12px 14px}
.xp.lg .disc{margin-top:16px;font:var(--t-small);line-height:1.6;color:var(--muted)}
@media (max-width:900px){
  .xp.lg .agrid{grid-template-columns:minmax(0,1fr);gap:0}
  .xp.lg .agrid .rail{display:none}
  .xp.lg .sys{padding:18px 16px}
  .xp.lg .sys .hd .chips{display:none}
  .xp.lg .sys .chips.ph{display:flex;margin:0 0 12px;justify-content:flex-start}
}
@media (min-width:901px){.xp.lg .sys .chips.ph{display:none}}

/* 404 and error */
.xp.lg.err-pg{padding-top:56px}
.xp.lg .ecard{position:relative;max-width:620px;margin:0 auto;text-align:center;background:rgba(17,13,30,.9);border:1px solid var(--line2);border-radius:22px;padding:34px 38px 30px;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.xp.lg .ecard .code{display:flex;justify-content:center;margin:16px 0 8px}
.xp.lg .ecard h1{margin:0 0 10px;font:var(--t-h1);color:var(--gold-l)}
.xp.lg .ecard > p{font:var(--t-story);color:#dcd7ec;margin:0 auto 20px;max-width:470px}
.xp.lg .ecard .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.xp.lg .ecard .sm2{margin-top:16px;font:var(--t-ui);color:var(--muted)}
.xp.lg .ecard .sm2 a{color:var(--gold-l);font-weight:600}
.xp.lg .what{text-align:left;display:flex;gap:12px;align-items:flex-start;background:rgba(248,113,113,.07);border:1px solid rgba(248,113,113,.3);border-radius:12px;padding:12px 14px;margin:0 0 16px;font:var(--t-ui);color:#f5d0d0}
.xp.lg .what b{display:block;color:#fff;font-weight:700}
.xp.lg .bugp{text-align:left;margin-top:18px;border:1px solid var(--line2);border-radius:14px;background:#120e22}
.xp.lg .bugp summary{display:flex;align-items:center;gap:8px;padding:14px 16px;font:var(--t-h3);color:#fff;cursor:pointer;list-style:none}
.xp.lg .bugp summary::-webkit-details-marker{display:none}
.xp.lg .bugp summary img{width:16px;height:16px}
.xp.lg .bugp summary span{flex:1}
.xp.lg .bugp:not([open]) summary .chev{transform:rotate(180deg)}
.xp.lg .bugp form{padding:0 16px 14px}
.xp.lg .bugp .topics{margin-bottom:10px}
.xp.lg .bugp .topics button{height:32px;padding:0 11px;font:var(--t-small);font-weight:600}
.xp.lg .bugp textarea.inp{height:84px}
.xp.lg .bugp .row2{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}
.xp.lg .bugp .res{margin-top:10px;font:var(--t-ui)}
.xp.lg .bugp .res.ok{color:#86efac}.xp.lg .bugp .res.bad{color:#fca5a5}
.xp.lg .bugp .signin{padding:0 16px 14px;font:var(--t-ui);color:var(--muted)}
.xp.lg .bugp .signin a{color:var(--gold-l);font-weight:600}
@media (max-width:900px){
  .xp.lg.err-pg{padding-top:24px}
  .xp.lg .ecard{padding:24px 18px 20px;border-radius:18px}
  .xp.lg .ecard .acts .btn{width:100%}
  .xp.lg .bugp .row2{flex-direction:column;align-items:stretch}
}
.footer a.on{color:var(--gold-light);font-weight:600}
