/* ============================================================
   JutuGo shared stylesheet
   Used by: how-it-works, fair-play, for-hosts, help,
            terms, privacy, child-safety, payouts
   ============================================================ */

:root{
  --canvas:#F6F5F9; --card:#FFFFFF; --ink:#16151F; --ink-2:#3D3B4D;
  --muted:#74718A; --faint:#9A97AC; --line:#E8E5F0; --line-2:#D7D3E4;
  --violet:#6B3DF5; --violet-ink:#4A22C4; --violet-wash:#F1ECFE;
  --up:#0E9C74; --up-wash:#E5F6F0; --down:#EF3B69; --down-wash:#FDEBF0;
  --amber:#F2A81D; --amber-wash:#FEF4E2; --sky:#2E86E0; --sky-wash:#E8F2FD;
  --shadow:0 1px 2px rgba(22,21,31,.04), 0 2px 6px rgba(22,21,31,.05);
  --shadow-lg:0 2px 4px rgba(22,21,31,.04), 0 12px 28px rgba(22,21,31,.08);
  --r-lg:16px; --r:12px; --r-sm:9px;
  --font:'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--canvas); color:var(--ink); font-family:var(--font);
  font-size:15px; line-height:1.6; -webkit-font-smoothing:antialiased;}
button{font:inherit; color:inherit; cursor:pointer; border:0; background:none;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 22px;}
:focus-visible{outline:2px solid var(--violet); outline-offset:2px; border-radius:6px;}
h1,h2,h3,h4{font-weight:700; letter-spacing:-0.025em; line-height:1.15;}

/* ---------- app bar ---------- */
.appbar{position:sticky; top:0; z-index:40; background:rgba(246,245,249,.88);
  backdrop-filter:blur(14px); border-bottom:1px solid var(--line); transition:all .2s;}
.appbar .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; height:64px;}
.appbar-left{display:flex; align-items:center; flex-shrink:0;}
.logo{display:flex; align-items:center; gap:9px; font-weight:800; font-size:18px; letter-spacing:-0.03em; font-family:'Outfit', sans-serif;}
.logo img, .logo .logo-icon{width:28px; height:28px; border-radius:8px; object-fit:contain; flex-shrink:0; display:block;}
.logo i{width:28px; height:28px; border-radius:8px; background:var(--violet); display:grid;
  place-items:center; color:#fff; font-style:normal; font-size:14px; font-weight:800;}
.navlinks{display:flex; align-items:center; justify-content:center; gap:3px; margin:0 auto;}
.navlinks a{font-size:14px; font-weight:500; color:var(--muted); padding:7px 12px; border-radius:8px; transition:background .15s, color .15s; white-space:nowrap;}
.navlinks a:hover{background:#EDEBF4; color:var(--ink);}
.navlinks a.on{background:#EDEBF4; color:var(--ink); font-weight:600;}
.appbar .right{display:flex; align-items:center; gap:9px; flex-shrink:0;}

/* ---------- nav dropdown menu ---------- */
.nav-dropdown{position:relative; display:inline-flex; align-items:center;}
.nav-dropdown-trigger{display:inline-flex; align-items:center; gap:5px; font-size:14px; font-weight:500; color:var(--muted); padding:7px 12px; border-radius:8px; transition:background .15s, color .15s; white-space:nowrap; cursor:pointer;}
.nav-dropdown:hover .nav-dropdown-trigger, .nav-dropdown.active .nav-dropdown-trigger{background:#EDEBF4; color:var(--ink);}
.nav-caret{font-size:9px; transition:transform .2s ease; opacity:0.7;}
.nav-dropdown:hover .nav-caret{transform:rotate(180deg);}

.nav-dropdown-menu{
  position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%) translateY(6px);
  width:530px; background:#FFFFFF; border:1px solid var(--line); border-radius:16px;
  box-shadow:0 14px 40px -6px rgba(22,21,31,0.14), 0 4px 12px rgba(22,21,31,0.06);
  padding:14px 16px 16px; opacity:0; visibility:hidden; pointer-events:none;
  transition:all .2s cubic-bezier(0.16, 1, 0.3, 1); z-index:100;
}
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.nav-dropdown-menu::before{
  content:''; position:absolute; top:-6px; left:50%; transform:translateX(-50%) rotate(45deg);
  width:12px; height:12px; background:#fff; border-left:1px solid var(--line); border-top:1px solid var(--line);
}
.nav-dropdown-header{
  display:flex; justify-content:space-between; align-items:center; padding-bottom:10px; margin-bottom:10px;
  border-bottom:1px solid var(--line); font-size:11px; font-weight:700; color:var(--faint); letter-spacing:0.04em;
}
.nav-dropdown-header a{font-size:11.5px; color:var(--violet); font-weight:600;}
.nav-dropdown-header a:hover{text-decoration:underline;}

.nav-dropdown-grid{display:grid; grid-template-columns:1fr 1fr; gap:6px;}
.nav-dropdown-item{
  display:flex; align-items:center; gap:10px; padding:7px 9px; border-radius:10px;
  transition:all .14s; text-decoration:none;
}
.nav-dropdown-item:hover{background:var(--canvas); transform:translateX(2px);}
.nav-item-icon{
  width:32px; height:32px; border-radius:9px; background:var(--canvas); border:1px solid var(--line);
  display:grid; place-items:center; font-size:16px; flex-shrink:0;
}
.nav-dropdown-item:hover .nav-item-icon{background:var(--violet-wash); border-color:var(--violet);}
.nav-item-text{display:flex; flex-direction:column; overflow:hidden;}
.nav-item-title{font-size:13px; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-family:'Outfit', sans-serif;}
.nav-item-sub{font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.nav-dropdown-item--all{background:var(--violet-wash); border:1px dashed rgba(107,61,245,0.4);}
.nav-dropdown-item--all .nav-item-title{color:var(--violet-ink);}
.nav-dropdown-item--all .nav-item-icon{background:#fff;}

/* ---------- profile dropdown ---------- */
.profile-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.profile-trigger{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
  text-decoration:none;
}
.avatar, .profile-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  background:linear-gradient(135deg, #6B3DF5, #EC4899);
  color:#fff;
  display:inline-grid;
  place-items:center;
  font-weight:700;
  font-size:13px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  border:2px solid rgba(255,255,255,0.9);
  box-shadow:0 2px 8px rgba(107,61,245,0.25);
  transition:transform .15s ease, box-shadow .15s ease;
  flex-shrink:0;
  text-decoration:none;
}
.profile-trigger:hover .avatar,
.profile-trigger:hover .profile-avatar,
.avatar:hover{
  transform:scale(1.06);
  box-shadow:0 4px 14px rgba(107,61,245,0.4);
}
.profile-dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:260px;
  background:#FFFFFF;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 16px 40px -8px rgba(22,21,31,0.18), 0 4px 12px rgba(22,21,31,0.06);
  padding:8px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(6px) scale(0.98);
  transition:all .18s cubic-bezier(0.16, 1, 0.3, 1);
  z-index:120;
}
.profile-dropdown-menu::before{
  content:'';
  position:absolute;
  top:-6px;
  right:14px;
  width:12px;
  height:12px;
  background:#fff;
  border-left:1px solid var(--line);
  border-top:1px solid var(--line);
  transform:rotate(45deg);
}
.profile-dropdown:hover .profile-dropdown-menu,
.profile-dropdown:focus-within .profile-dropdown-menu,
.profile-dropdown.open .profile-dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.profile-dropdown-head{
  padding:10px 12px 12px;
  border-bottom:1px solid var(--line);
  margin-bottom:4px;
}
.profile-dropdown-name{
  font-size:13.5px;
  font-weight:700;
  color:var(--ink);
  font-family:'Outfit', sans-serif;
  line-height:1.2;
}
.profile-dropdown-email{
  font-size:11.5px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-top:2px;
}
.profile-dropdown-wallet-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:8px;
  padding:3px 8px;
  background:var(--violet-wash);
  border:1px solid rgba(107,61,245,0.25);
  border-radius:6px;
  font-size:11px;
  font-weight:700;
  color:var(--violet-ink);
}
.profile-menu-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border-radius:10px;
  text-decoration:none;
  color:var(--ink-2);
  font-size:13px;
  font-weight:600;
  transition:all .12s ease;
  cursor:pointer;
  background:transparent;
  border:0;
  width:100%;
  text-align:left;
  font-family:inherit;
}
.profile-menu-item:hover{
  background:var(--violet-wash);
  color:var(--violet-ink);
}
.profile-menu-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  background:var(--canvas);
  border:1px solid var(--line);
  display:inline-grid;
  place-items:center;
  font-size:13px;
  flex-shrink:0;
  transition:all .12s;
}
.profile-menu-item:hover .profile-menu-icon{
  background:#ffffff;
  border-color:var(--violet);
  box-shadow:0 2px 6px rgba(107,61,245,0.15);
}
.profile-menu-badge{
  margin-left:auto;
  font-size:11.5px;
  font-weight:700;
  color:var(--up);
  background:var(--up-wash);
  padding:2px 7px;
  border-radius:6px;
}
.profile-divider{
  height:1px;
  background:var(--line);
  margin:4px 0;
}
.profile-menu-item--logout{
  color:var(--down);
}
.profile-menu-item--logout:hover{
  background:var(--down-wash);
  color:var(--down);
}
.profile-menu-item--logout .profile-menu-icon{
  background:var(--down-wash);
  border-color:rgba(239,59,105,0.3);
  color:var(--down);
}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:7px; font-weight:600;
  font-size:14px; padding:10px 18px; border-radius:var(--r-sm); border:1px solid var(--line-2);
  background:var(--card); color:var(--ink); transition:background .14s, border-color .14s, transform .08s;
  box-shadow:var(--shadow);}
.btn:hover{border-color:var(--faint);}
.btn:active{transform:translateY(1px);}
.btn--primary{background:var(--violet); border-color:var(--violet); color:#fff;
  box-shadow:0 1px 2px rgba(107,61,245,.28), 0 6px 16px rgba(107,61,245,.22);}
.btn--primary:hover{background:var(--violet-ink); border-color:var(--violet-ink);}
.btn--lg{padding:13px 24px; font-size:15px; border-radius:11px;}
.btn--sm{padding:7px 13px; font-size:13px;}
.btn--wide{width:100%;}

/* ---------- pills ---------- */
.pill{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600;
  padding:4px 10px; border-radius:999px; background:#EFEDF6; color:var(--ink-2);}
.pill--violet{background:var(--violet-wash); color:var(--violet-ink);}
.pill--live{background:var(--up-wash); color:var(--up);}
.pill--guard{background:var(--sky-wash); color:#1B5FA8;}
.pill--warn{background:var(--amber-wash); color:#946008;}

/* ---------- page header ---------- */
.pagehead{padding:44px 0 34px; border-bottom:1px solid var(--line);}
.crumbs{font-size:13px; color:var(--faint); display:flex; gap:7px; align-items:center; margin-bottom:14px;}
.crumbs a:hover{color:var(--ink);}
.pagehead h1{font-size:clamp(30px,4.2vw,44px); letter-spacing:-0.042em; max-width:17ch; margin-bottom:14px;}
.pagehead .lede{font-size:16.5px; color:var(--muted); max-width:60ch;}
.stamp{margin-top:18px; font-size:12.5px; color:var(--faint);
  display:flex; gap:16px; flex-wrap:wrap;}
.stamp b{color:var(--ink-2); font-weight:600;}

/* ---------- doc layout ---------- */
.doc{display:grid; grid-template-columns:236px minmax(0,1fr); gap:44px; padding:38px 0 70px; align-items:start;}
.toc{position:sticky; top:80px;}
.toc h4{font-size:11.5px; font-weight:700; color:var(--faint); margin-bottom:11px;}
.toc a{display:block; font-size:13.5px; color:var(--muted); padding:6px 11px; border-radius:7px;
  border-left:2px solid var(--line); margin-bottom:1px;}
.toc a:hover{color:var(--ink); background:var(--card); border-left-color:var(--violet);}

.body h2{font-size:23px; letter-spacing:-0.03em; margin:0 0 12px; scroll-margin-top:84px;}
.body section{background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:26px 28px; box-shadow:var(--shadow); margin-bottom:18px;}
.body p{color:var(--ink-2); margin-bottom:12px;}
.body p:last-child{margin-bottom:0;}
.body p.muted{color:var(--muted); font-size:14px;}
.body h3{font-size:15.5px; margin:20px 0 8px;}
.body ul, .body ol{margin:0 0 12px 0; padding-left:0; list-style:none;}
.body ul li{position:relative; padding-left:22px; margin-bottom:9px; color:var(--ink-2);}
.body ul li::before{content:''; position:absolute; left:6px; top:10px; width:5px; height:5px;
  border-radius:50%; background:var(--violet);}
.body ol{counter-reset:n;}
.body ol li{position:relative; padding-left:30px; margin-bottom:9px; color:var(--ink-2); counter-increment:n;}
.body ol li::before{content:counter(n); position:absolute; left:0; top:1px; width:20px; height:20px;
  border-radius:6px; background:var(--violet-wash); color:var(--violet-ink);
  font-size:11px; font-weight:800; display:grid; place-items:center;}
.body li b{color:var(--ink); font-weight:600;}
.body a.inline{color:var(--violet-ink); font-weight:600; border-bottom:1px solid rgba(107,61,245,.3);}
.body a.inline:hover{border-bottom-color:var(--violet);}
.body strong{font-weight:700; color:var(--ink);}

/* callouts */
.note{border-radius:var(--r); padding:15px 18px; margin:14px 0; font-size:14px; border:1px solid;}
.note b{font-weight:700;}
.note--info{background:var(--violet-wash); border-color:rgba(107,61,245,.2); color:var(--violet-ink);}
.note--good{background:var(--up-wash); border-color:rgba(14,156,116,.22); color:#0A6B50;}
.note--warn{background:var(--amber-wash); border-color:rgba(242,168,29,.28); color:#7A4F06;}
.note--kid{background:var(--sky-wash); border-color:rgba(46,134,224,.22); color:#154C86;}
.note p{color:inherit; margin-bottom:8px;}
.note p:last-child{margin-bottom:0;}

/* key-value table */
.kv{width:100%; border-collapse:collapse; margin:6px 0 12px;}
.kv th, .kv td{text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); font-size:14px;}
.kv thead th{font-size:11.5px; font-weight:700; color:var(--muted); background:var(--canvas);
  border-bottom:1px solid var(--line-2);}
.kv tbody tr:last-child td{border-bottom:0;}
.kv td:first-child{font-weight:600; color:var(--ink); width:38%;}
.kv td{color:var(--ink-2);}
.kvwrap{border:1px solid var(--line); border-radius:var(--r); overflow:hidden; overflow-x:auto; margin:6px 0 14px;}

/* step / feature grids */
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:6px 0 12px;}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin:6px 0 12px;}
.tileb{background:var(--canvas); border:1px solid var(--line); border-radius:var(--r); padding:16px 18px;}
.tileb h3{margin:0 0 5px; font-size:14.5px;}
.tileb p{font-size:13.5px; color:var(--muted); margin:0;}
.tileb .n{width:25px; height:25px; border-radius:7px; background:var(--card); border:1px solid var(--line-2);
  display:grid; place-items:center; font-size:12px; font-weight:800; color:var(--violet); margin-bottom:11px;}
.tileb .pc{font-size:25px; font-weight:800; letter-spacing:-0.04em; line-height:1; color:var(--violet-ink);}

/* formula block */
.formula{background:var(--ink); color:#EDEBF6; border-radius:var(--r); padding:16px 18px;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:13px; line-height:1.8;
  margin:12px 0; overflow-x:auto;}
.formula b{color:#B9A4FF; font-weight:600;}

/* checklist */
.checks{list-style:none; display:grid; gap:10px; margin:6px 0 12px;}
.checks li{display:flex; gap:11px; font-size:14px; color:var(--ink-2); padding-left:0 !important;}
.checks li::before{display:none !important;}
.tick{width:18px; height:18px; border-radius:50%; background:var(--up-wash); color:var(--up);
  display:grid; place-items:center; font-size:10px; font-weight:800; flex:none; margin-top:3px;}
.cross{width:18px; height:18px; border-radius:50%; background:var(--down-wash); color:var(--down);
  display:grid; place-items:center; font-size:10px; font-weight:800; flex:none; margin-top:3px;}

/* faq accordions */
details{border:1px solid var(--line); border-radius:var(--r); padding:15px 17px; margin-bottom:10px; background:var(--canvas);}
details[open]{background:var(--card); border-color:var(--line-2);}
summary{list-style:none; cursor:pointer; font-weight:600; font-size:14.5px;
  display:flex; justify-content:space-between; gap:18px; align-items:center;}
summary::-webkit-details-marker{display:none;}
summary::after{content:'+'; color:var(--violet); font-size:19px; font-weight:600; flex:none; line-height:1;}
details[open] summary::after{content:'\2013';}
details p{color:var(--muted); font-size:14px; margin-top:9px;}

/* related pages */
.related{padding:0 0 60px;}
.related h4{font-size:11.5px; font-weight:700; color:var(--faint); margin-bottom:13px;}
.rgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:13px;}
.rcard{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:17px 18px;
  box-shadow:var(--shadow); transition:transform .15s, box-shadow .15s, border-color .15s; display:block;}
.rcard:hover{transform:translateY(-2px); box-shadow:var(--shadow-lg); border-color:var(--line-2);}
.rcard h3{font-size:14.5px; margin-bottom:5px;}
.rcard p{font-size:12.5px; color:var(--muted);}
.rcard .arrow{font-size:12.5px; color:var(--violet-ink); font-weight:700; margin-top:9px; display:block;}

/* cta band */
.ctaband{background:var(--ink); border-radius:var(--r-lg); padding:32px 34px; color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap; margin-bottom:40px;}
.ctaband h2{color:#fff; font-size:24px; margin-bottom:7px;}
.ctaband p{color:rgba(255,255,255,.68); font-size:14.5px; max-width:52ch; margin:0;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line); padding:34px 0 40px; background:var(--card);}
.fgrid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:26px;}
.fgrid h5{font-size:12px; font-weight:700; color:var(--faint); margin-bottom:11px;}
.fgrid a{display:block; font-size:13.5px; color:var(--muted); padding:4px 0;}
.fgrid a:hover{color:var(--ink);}
.fnote{font-size:13px; color:var(--muted); max-width:34ch; margin-top:10px;}
.fbot{margin-top:28px; padding-top:20px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:12.5px; color:var(--faint);}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .doc{grid-template-columns:1fr; gap:24px;}
  .toc{position:static; background:var(--card); border:1px solid var(--line);
    border-radius:var(--r); padding:16px 18px;}
  .toc a{display:inline-block; border-left:0; border:1px solid var(--line); margin:0 5px 5px 0;}
  .rgrid{grid-template-columns:1fr 1fr;}
  .navlinks{display:none;}
  .fgrid{grid-template-columns:1fr 1fr;}
}
@media (max-width:720px){
  .grid2, .grid3, .rgrid{grid-template-columns:1fr;}
  .body section{padding:22px 20px;}
  .pagehead{padding:32px 0 26px;}
  .appbar .right .btn:first-child{display:none;}
  .ctaband{padding:24px 22px;}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;} *{transition:none !important;}}
