:root {
  --c0: #070b0f;
  --c1: #0e1520;
  --c2: #162033;
  --teal: #3a8fa5;
  --teal2: #5bbdd4;
  --teal3: #7ed4e6;
  --glow: rgba(58,143,165,0.5);
  --sidebar-w: 72px;
  --font-d: 'Syne', sans-serif;
  --font-b: 'DM Sans', sans-serif;
  --font-m: 'JetBrains Mono', monospace;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--c0);color:#fff;font-family:var(--font-b);overflow-x:hidden;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--c0);}
::-webkit-scrollbar-thumb{background:var(--teal);border-radius:2px;}

.sidebar {
  position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);
  background:rgba(7,11,15,0.94);backdrop-filter:blur(24px);
  border-right:1px solid rgba(58,143,165,0.12);
  z-index:1000;display:flex;flex-direction:column;align-items:center;
  padding:22px 0 24px;
}
.sb-logo {
  width:40px;height:40px;
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  text-decoration:none;flex-shrink:0;overflow:hidden;
  margin-bottom: 35px; 
}
.sb-logo img{width:100%;height:100%;object-fit:cover;}
.sb-links {
  display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;width:100%;
}
.sb-link {
  position:relative;width:46px;height:46px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,0.28);text-decoration:none;
  transition:all .22s;cursor:pointer;background:transparent;border:none;
}
.sb-link svg { stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.sb-link:hover,.sb-link.active {
  background:rgba(58,143,165,0.14);color:var(--teal2);
}
.sb-link::after {
  content:attr(data-label);position:absolute;left:calc(100% + 14px);top:50%;
  transform:translateY(-50%);background:rgba(10,16,24,0.97);
  border:1px solid rgba(58,143,165,0.22);color:#fff;
  font-family:var(--font-m);font-size:10px;letter-spacing:1.5px;
  padding:5px 11px;border-radius:6px;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .18s;
}
.sb-link:hover::after{opacity:1;}
.sb-divider{width:30px;height:1px;background:rgba(58,143,165,0.13);margin:6px 0;}
.sb-copy {
  width:46px;height:46px;border-radius:11px;
  background:linear-gradient(135deg,var(--teal),var(--teal2));
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;border:none;transition:all .28s;
  color:#fff;position:relative;
}
.sb-copy svg{stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.sb-copy:hover{transform:translateY(-2px);}
.sb-copy::after {
  content:'COPY IP';position:absolute;left:calc(100% + 14px);top:50%;
  transform:translateY(-50%);background:rgba(58,143,165,0.95);
  color:#fff;font-family:var(--font-m);font-size:10px;letter-spacing:1.5px;
  padding:5px 11px;border-radius:6px;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .18s;
}
.sb-copy:hover::after{opacity:1;}

.bglow{background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;border:none;padding:15px 34px;border-radius:10px;font-family:var(--font-d);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;box-shadow: none !important;transition:all .3s;position:relative;overflow:hidden;}
.bglow::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left .5s;}
.bglow:hover::before{left:100%;}
.bglow:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(58,143,165,0.6);}

.page-wrap{margin-left:var(--sidebar-w);}

.tos-content {
  padding: 100px 48px 80px;
  max-width: 800px;
  margin: 0 auto;
  min-height: calc(100vh - 200px);
}
.tos-title {
  font-family: var(--font-d);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 800;
  letter-spacing: -1px;
  margin-bottom: 8px;
  text-align: center;
}
.tos-title span {
  background: linear-gradient(135deg, var(--teal), var(--teal3));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.tos-date {
  font-size: 12px;
  color: rgba(255,255,255,0.35);
  letter-spacing: 2px;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 48px;
}

.tos-section {
  margin-bottom: 32px;
}
.tos-section h2 {
  font-family: var(--font-d);
  font-size: 18px;
  font-weight: 500;
  color: rgba(255,255,255,0.9);
  margin-bottom: 12px;
}
.tos-section p {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  line-height: 1.75;
}
.tos-section ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tos-section li {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  line-height: 1.6;
  padding-left: 18px;
  position: relative;
}
.tos-section li::before {
  content: '•';
  position: absolute;
  left: 0;
}
.tos-section li strong {
  font-weight: 500;
  color: rgba(255,255,255,0.95);
}

footer{background:var(--c0);border-top:1px solid rgba(58,143,165,.09);padding:60px 48px 28px;}
.fin{max-width:1200px;margin:0 auto;}
.ftop{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px;}
.fbrand p{font-size:13px;color:rgba(255,255,255,.32);line-height:1.7;margin-top:14px;max-width:270px;}
.fsoc{display:flex;gap:8px;margin-top:20px;}
.fsb{width:38px;height:38px;border-radius:9px;background:rgba(58,143,165,.07);border:1px solid rgba(58,143,165,.13);display:flex;align-items:center;justify-content:center;text-decoration:none;color:rgba(255,255,255,.4);transition:all .3s;}
.fsb svg{width:17px;height:17px;fill:currentColor;}
.fsb:hover{background:rgba(58,143,165,.18);border-color:rgba(91,189,212,.28);color:#fff;transform:translateY(-2px);}
.fcol h4{font-family:var(--font-d);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.42);margin-bottom:18px;}
.fcol ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.fcol a{font-size:13px;color:rgba(255,255,255,.3);text-decoration:none;transition:color .3s;}
.fcol a:hover{color:var(--teal2);}
.fbot{border-top:1px solid rgba(58,143,165,.07);padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.fbot p{font-size:12px;color:rgba(255,255,255,0.5);}
.flang{padding:0 48px;margin-top:16px;}

.fip{font-family:var(--font-m);font-size:12px;color:var(--teal2);cursor:pointer;padding:5px 12px;background:rgba(58,143,165,.07);border:1px solid rgba(58,143,165,.18);border-radius:6px;transition:all .3s;}
.fip:hover{background:rgba(58,143,165,.14);}

#toast{position:fixed;bottom:28px;right:28px;z-index:5000;background:rgba(14,21,32,.96);border:1px solid rgba(58,143,165,.28);border-radius:11px;padding:14px 22px;display:flex;align-items:center;gap:10px;backdrop-filter:blur(20px);transform:translateY(90px);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);font-family:var(--font-d);font-size:13px;font-weight:600;}
#toast.show{transform:translateY(0);opacity:1;}
.ti{color:var(--teal2);font-size:16px;}

.mobile-header {
  display:none;position:fixed;top:0;left:0;right:0;z-index:999;
  padding:13px 20px;background:rgba(7,11,15,0.93);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(58,143,165,0.12);
  align-items:center;justify-content:space-between;
}
.mh-logo {
  display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;
  font-family:var(--font-d);font-size:18px;font-weight:800;letter-spacing:2px;
}
.mh-logo-icon {
  width:32px;height:32px;border-radius:8px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.mh-logo-icon img{width:100%;height:100%;object-fit:cover;}

.mobile-quick-nav {
  display: none;
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background: rgba(7, 11, 15, 0.95);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(58, 143, 165, 0.25);
  border-radius: 50px;
  padding: 8px 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  gap: 4px;
}
.mq-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 12px 16px;
  border-radius: 24px;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.5);
  transition: all 0.25s ease;
  min-width: 60px;
}
.mq-btn svg {
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mq-btn span {
  font-family: var(--font-m);
  font-size: 8px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.mq-btn:hover {
  color: var(--teal2);
  background: rgba(58, 143, 165, 0.15);
}
.mq-btn:active {
  transform: scale(0.95);
}
.mq-ip {
  background: linear-gradient(135deg, var(--teal), var(--teal2));
  color: #fff !important;
}
.mq-ip:hover {
  transform: translateY(-2px);
}
.mq-btn.bglow {
  background: linear-gradient(135deg, var(--teal), var(--teal2));
  color: #fff;
  border: none;
}

@media(max-width:1024px){
  :root{--sidebar-w:0px;}
  .sidebar{display:none;}
  .mobile-header{display:flex;}
  .mobile-quick-nav{display:flex;}
  .page-wrap{margin-left:0;padding-top:60px;padding-bottom:80px;}
  .tos-content{padding:80px 20px 60px;}
  footer{padding:40px 20px 22px;}
  .ftop{grid-template-columns:1fr 1fr;gap:28px;}
  .fbrand{grid-column:span 2;display:flex;flex-direction:column;align-items:center;text-align:center;}
  .fbrand p{max-width:100%;}
  .fsoc{justify-content:center;}
  #toast{bottom:100px;right:16px;left:16px;}
}

@media(max-width:640px){
  .ftop{grid-template-columns: 1fr 1fr;gap:20px;}
  .fbrand{grid-column:span 2;display:flex;flex-direction:column;align-items:center;text-align:center;}
  .fbot{flex-direction:column;text-align:center;}
  .fcol{text-align:center;}
  .fcol:last-child{grid-column:span 2;text-align:center;margin-top:10px;}
}