/* Tuvezo / Nitro Troopers: shared look (the two landing pages and the legal pages). Dark on purpose, whatever the system theme is.
   Self-hosted: no external font, image or script. Lilita One: SIL OFL (static/fonts/OFL.txt). */
@font-face{font-family:"Lilita One";src:url(/static/fonts/LilitaOne-Regular.ttf?v=3a4f50ed35) format("truetype");font-weight:400;font-style:normal;font-display:swap}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}

:root{
  color-scheme:dark;
  /* THE TUVEZO LOGO'S COLOURS: orange-red > hot pink > magenta > violet > deep violet, on near-black navy */
  --bg:#0b0d17;--bg2:#141726;--ink:#e9e6f7;--mute:#a7a3c4;--dim:#8f8bb0;
  --c1:#ff4d3d;--c2:#fb2492;--c3:#d4029b;--c4:#710efc;--c5:#580df4;--c6:#2d10b4;
  --grad:linear-gradient(135deg,#ff4d3d,#fb2492 34%,#d4029b 56%,#710efc 82%,#580df4);
  --gradh:linear-gradient(90deg,#ff4d3d,#fb2492 30%,#d4029b 52%,#710efc 78%,#580df4);
  --tp:#ff86c4;--tv:#b7a5ff;--to:#ff8a78;            /* light tints of pink, violet, orange for text on dark (AA) */
  --panel:rgba(20,23,38,.68);--panel2:rgba(26,30,50,.86);--line:rgba(140,110,255,.24);--line2:rgba(255,255,255,.09);
  --display:"Lilita One","Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --r:18px;--gut:clamp(16px,4vw,40px);--wrap:1180px;--hd:64px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hd) + 12px);background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg,canvas,picture{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:var(--tp);text-underline-offset:3px}
a:hover{color:#ffb8dc}
:focus{outline:none}
:focus-visible{outline:3px solid var(--tp);outline-offset:3px;border-radius:6px}
::selection{background:rgba(251,36,146,.45);color:#fff}
html{scrollbar-color:#710efc #0b0d17;scrollbar-width:thin}
::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#0b0d17}::-webkit-scrollbar-thumb{background:linear-gradient(#fb2492,#710efc);border-radius:8px;border:3px solid #0b0d17}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--tp);color:#160510;font-weight:700;padding:10px 16px;border-radius:10px;text-decoration:none;transition:top .2s}
.skip:focus{top:10px}
.wrap{width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto}

/* ---- header (glass) ---- */
.hd{position:sticky;top:0;z-index:50;height:var(--hd);display:flex;align-items:center;background:rgba(11,13,23,.62);
  -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--line2);transition:background .3s,border-color .3s}
.hd::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;transform:scaleX(var(--p,0));transform-origin:0 50%;background:var(--gradh);pointer-events:none}
.hd.solid{background:rgba(11,13,23,.86);border-bottom-color:var(--line)}
.brands{display:flex;align-items:center;gap:14px;min-width:0}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;font:400 22px/1 var(--display);letter-spacing:.06em;color:#fff;text-decoration:none;white-space:nowrap}
.brand .gi{width:32px;height:32px;border-radius:9px;flex:none}
.bm{display:block;width:auto;height:28px;flex:none}
.bw{display:block;width:auto;height:15px;flex:none}
.by{display:inline-flex;align-items:center;gap:8px;color:var(--mute);font-size:13px;font-weight:600;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.by .bm{height:20px}.by .bw{height:11px}
.by:hover{color:#fff}
.nav a.by{padding:6px 12px}
.lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.ft .lockup .bm{height:36px}.ft .lockup .bw{height:19px}
.ft .by{margin-top:14px}
.printlogo{display:none}
.nf{text-align:center;padding:30px 0}.nflogo{margin:10px auto 26px;width:min(300px,70%);height:auto}.nf .links{justify-content:center}
.brand b{font-weight:400;color:var(--to)}
.brand:hover{color:#fff}
.nav{display:flex;align-items:center;gap:6px}
.nav a{white-space:nowrap;color:var(--mute);text-decoration:none;font-size:15px;font-weight:600;padding:8px 12px;border-radius:999px;transition:color .2s,background .2s}
.nav a:hover,.nav a[aria-current="true"]{color:#fff;background:rgba(255,255,255,.07)}
.nav .btn{margin-left:8px;padding:9px 18px;color:#160510}
.nav .btn:hover{color:#160510}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line2);border-radius:12px;background:rgba(255,255,255,.04);color:#fff;cursor:pointer;place-items:center;padding:0}
.burger span,.burger span::before,.burger span::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s,background .2s}
.burger span{position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* ---- buttons ---- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 26px;border-radius:999px;border:0;
  font:400 18px/1 var(--display);letter-spacing:.04em;text-decoration:none;color:#160510;cursor:pointer;background:linear-gradient(135deg,#ff6a3d,#ff4d3d 25%,#fb2492);
  box-shadow:0 8px 28px rgba(251,36,146,.4),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .2s,box-shadow .2s,filter .2s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 12px 36px rgba(251,36,146,.6),inset 0 1px 0 rgba(255,255,255,.55);color:#160510}
.btn:active{transform:translateY(0)}
.btn.hot{color:#160510}
.btn.ghost{background:rgba(255,255,255,.06);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.22);font-size:17px}
.btn.ghost:hover{background:rgba(113,14,252,.12);box-shadow:inset 0 0 0 1.5px var(--c2),0 0 26px rgba(251,36,146,.35);color:#fff}
.btn.vio{background:linear-gradient(135deg,#8a3dff,#710efc 55%,#580df4);color:#fff;box-shadow:0 8px 28px rgba(113,14,252,.45),inset 0 1px 0 rgba(255,255,255,.35)}
.btn.vio:hover{box-shadow:0 12px 36px rgba(113,14,252,.7);color:#fff}
.btn svg{width:22px;height:22px;flex:none}

/* ---- footer ---- */
.hazard{height:10px;background:repeating-linear-gradient(-45deg,transparent 0 14px,#0b0d17 14px 28px),var(--gradh)}
.ft{background:linear-gradient(#0b0d17,#07080f);border-top:1px solid var(--line2);padding:56px 0 34px;color:var(--mute);font-size:15px}
.ft-grid{display:grid;gap:36px;grid-template-columns:1.5fr repeat(3,1fr)}
.ft h3{margin:0 0 12px;font:400 15px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ft a{color:var(--mute);text-decoration:none}
.ft .brand{color:#fff}
.ft a:hover{color:var(--tp)}
.ft p{margin:10px 0 0;max-width:36ch}
.ft-bottom{margin-top:38px;padding-top:22px;border-top:1px solid var(--line2);font-size:13px;color:var(--dim);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

/* ---- legal pages (pages.py: Privacy policy, Terms, Community rules, Support, Delete account) ---- */
.legal-page{background:radial-gradient(1000px 500px at 80% -10%,rgba(113,14,252,.10),transparent 60%),radial-gradient(800px 500px at -10% 10%,rgba(251,36,146,.07),transparent 60%),var(--bg)}
.lp-hd .brands{flex-wrap:wrap}
.lp-hd .nav{gap:2px;flex-wrap:wrap;justify-content:flex-end}
.lp-hd .nav a{font-size:14px;padding:6px 10px}
.lp-hd{height:auto;min-height:var(--hd);padding-block:8px}
main{display:block}
.legal-page main,.legal-page .lp-hd,.legal-page .lp-ft{max-width:none;margin:0;padding-inline:0}
.legal{width:min(100% - 2*var(--gut),820px);margin:0 auto;padding:40px 0 64px}
.legal h1{margin:0 0 6px;font:400 clamp(34px,6vw,52px)/1.08 var(--display);letter-spacing:.01em;background:linear-gradient(90deg,#fff,#ffc2e2 55%,#c3b3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.legal h2{margin:38px 0 8px;font:400 clamp(22px,3.4vw,28px)/1.2 var(--display);color:#fff;letter-spacing:.01em;display:flex;align-items:center;gap:12px}
.legal h2::before{content:"";flex:none;width:6px;height:1.1em;border-radius:3px;background:linear-gradient(var(--c1),var(--c2) 50%,var(--c4))}
.legal h3{margin:22px 0 4px;font:700 17px/1.4 var(--sans);color:var(--tv)}
.legal p,.legal li{overflow-wrap:anywhere;color:#d3cfe8}
.legal ul,.legal ol{padding-left:22px}
.legal li{margin:5px 0}
.legal li::marker{color:var(--c2)}
.legal b,.legal strong{color:#fff}
.legal code{background:rgba(255,255,255,.08);padding:2px 7px;border-radius:6px;font-size:.92em;color:#ffc2e0}
.legal .meta{color:var(--dim);margin:0 0 20px;font-size:14px}
.legal .lead{font-size:19px;color:var(--mute);margin:6px 0 26px}
.legal .box{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin:20px 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.legal .box p{margin:6px 0}.legal .box h2{margin:4px 0 6px}
.legal .links{display:flex;flex-wrap:wrap;gap:8px 12px;margin:12px 0 2px}
.legal .links a{display:inline-block;padding:8px 16px;border-radius:999px;background:rgba(113,14,252,.1);border:1px solid var(--line);text-decoration:none;font-weight:600;font-size:15px}
.legal .links a:hover{background:rgba(113,14,252,.2);color:#fff}
.legal table{width:100%;border-collapse:collapse;margin:12px 0;font-size:15px;display:block;overflow-x:auto}
.legal th,.legal td{border-bottom:1px solid var(--line2);padding:8px 10px;text-align:left;vertical-align:top}
.legal th{color:#fff}
.lp-ft{padding-block:28px 36px;border-top:1px solid var(--line2);color:var(--dim);font-size:13.5px}
.lp-ft .wrap{width:min(100% - 2*var(--gut),820px)}
.lp-ft a{color:var(--mute)}

@media (max-width:1120px){.nav a{padding:8px 9px;font-size:14px}.nav .btn{padding:8px 14px}.nav a.by span{display:none}}
@media (max-width:860px) and (scripting:enabled){
  .hd:not(.lp-hd) .burger{display:inline-grid}
  .hd:not(.lp-hd) .nav{position:fixed;inset:var(--hd) 0 auto 0;flex-direction:column;align-items:stretch;gap:4px;padding:14px var(--gut) 22px;background:rgba(11,13,23,.96);
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transform:translateY(-12px);opacity:0;visibility:hidden;transition:transform .25s,opacity .25s,visibility .25s}
  .hd:not(.lp-hd) .nav[data-open="true"]{transform:none;opacity:1;visibility:visible}
  .hd:not(.lp-hd) .nav a{padding:14px 12px;font-size:18px;border-radius:12px}
  .hd:not(.lp-hd) .nav .btn{margin:8px 0 0;padding:14px 18px}
}
@media (max-width:860px) and (scripting:none){.hd:not(.lp-hd){height:auto;padding:8px 0}.hd:not(.lp-hd) .wrap,.nav{flex-wrap:wrap}}
@media (max-width:860px){.ft-grid{grid-template-columns:1fr 1fr}.ft-grid>:first-child{grid-column:1/-1}}
@media (max-width:520px){.lp-hd .wrap{flex-direction:column;align-items:flex-start;gap:6px}.lp-hd .nav{justify-content:flex-start;margin-left:-10px}.ft-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{
  :root{color-scheme:light}
  body,.legal-page{background:#fff!important;color:#000!important}
  .hd,.hazard,.ft,.lp-ft .nav,.skip{display:none!important}
  .lp-hd{display:block!important;position:static;background:none!important;border:0!important;height:auto;padding:0 0 10px}
  .lp-hd .brands,.lp-hd .nav{display:none!important}
  .printlogo{display:block!important;width:150px;height:82px;background:url(/static/img/tuvezo-logo-light-480.webp?v=e201216f54) left center/contain no-repeat;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .legal{width:100%;padding:0}
  .legal h1{background:none;-webkit-background-clip:initial;color:#000}
  .legal h2,.legal h3,.legal b,.legal strong{color:#000}
  .legal p,.legal li{color:#111}
  .legal .box{background:none;border:1px solid #999;-webkit-backdrop-filter:none;backdrop-filter:none}
  .legal a{color:#000}
  .legal code{background:#eee;color:#000}
  .lp-ft{border-color:#999;color:#333}.lp-ft a{color:#000}
}
