
*{box-sizing:border-box}

html{
  scroll-behavior:smooth
}

body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:#ffffff;
  color:#111111;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased
}

.orange{color:#15803d}

.topbar{
  width:min(820px,calc(100% - 40px));
  height:74px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

header {
    border-bottom: 1px solid #eeeeee;
    width: 100%;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px
}

.verified{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:#6b6b6b
}

.verified i{
  width:15px;
  height:15px;
  border-radius:50%;
  background:#15803d;
  display:grid;
  place-items:center;
  font-style:normal;
  font-size:10px;
  color:#fff;
  font-weight:700
}

main{
  width:min(820px,calc(100% - 32px));
  margin:auto
}

.hero{
  padding:56px 0 40px;
  border-bottom:1px solid #eeeeee
}

.hero-top{
  display:flex;
  gap:20px;
  align-items:flex-start
}

.icon{
  width:92px;
  height:92px;
  flex:none;
  border-radius:22px;
  padding:5px;
  background:#fafafa;
  border:1px solid #e8e8e8
}

.icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:18px
}

.wordmark-text{
  font-family:'Unbounded',Inter,sans-serif;
  font-weight:800;
  margin:0 0 6px;
  line-height:1;
  letter-spacing:-.02em;
  font-size:clamp(32px,6vw,46px);
  color:#0a0a0a
}

.wordmark-text.small{
  font-size:18px;
  margin:0;
  letter-spacing:-.01em
}

.dev{
  font-size:13px;
  color:#6b6b6b;
  margin-bottom:12px
}

.dev b{
  color:#333333;
  font-weight:600
}

.stars{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  color:#333333
}

.stars .n{
  color:#15803d;
  font-weight:700
}

.trust{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  border-radius:13px;
  background:#effaf2;
  border:1px solid #c6ecd2
}

.trust .check{
  width:20px;
  height:20px;
  flex:none;
  border-radius:50%;
  background:#15803d;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:800
}

.trust strong{
  display:block;
  font-size:13px;
  color:#0a0a0a
}

.trust span{
  display:block;
  font-size:11.5px;
  color:#7a7a7a;
  margin-top:2px
}

.stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:26px;
  border-top:1px solid #eeeeee;
  padding-top:20px
}

.stats div{
  text-align:center;
  border-right:1px solid #eeeeee
}

.stats div:last-child{
  border-right:none
}

.stats strong{
  display:block;
  font-family:'Unbounded',Inter,sans-serif;
  font-size:16px;
  font-weight:700;
  color:#0a0a0a
}

.stats span{
  display:block;
  font-size:10.5px;
  color:#8a8a8a;
  margin-top:5px;
  text-transform:uppercase;
  letter-spacing:.03em
}

.preview-section{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid #eeeeee
}

.preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px
}

.preview-head h2{
  font-family:'Unbounded',Inter,sans-serif;
  font-size:15px;
  font-weight:800;
  margin:0;
  color:#0a0a0a
}

.preview-count{
  font-size:11px;
  color:#999
}

.preview-strip{
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 1px 8px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none
}

.preview-strip::-webkit-scrollbar{
  display:none
}

.preview-card{
  flex:0 0 31.8%;
  height:178px;
  border:1px solid #e9e9e9;
  border-radius:13px;
  background:#f7f7f7;
  overflow:hidden;
  scroll-snap-align:start;
  cursor:zoom-in;
  box-shadow:0 2px 8px rgba(0,0,0,.04)
}

.preview-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .18s ease
}

.preview-card:active img{
  transform:scale(.985)
}

.preview-empty{
  padding:18px 4px;
  color:#999;
  font-size:12px
}

.action-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px
}

.action-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  transition:transform .15s ease,filter .15s ease
}

.action-btn:active{
  transform:scale(.99)
}

.action-btn.telegram{
  background:#229ED9;
  color:#fff;
  box-shadow:0 8px 20px -10px rgba(34,158,217,.55)
}

.action-btn.setup{
  background:#fff;
  color:#111;
  border:1px solid #e5e5e5
}

.action-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  flex:none
}

.action-icon svg{
  width:22px;
  height:22px;
  display:block
}

.preview-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(0,0,0,.94);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px
}

.preview-modal.open{
  display:flex
}

.preview-modal img{
  max-width:94vw;
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:8px;
  user-select:none
}

.preview-close{
  position:absolute;
  top:14px;
  right:16px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer
}

.preview-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:25px;
  cursor:pointer
}

.preview-nav.prev{left:14px}
.preview-nav.next{right:14px}

.preview-position{
  position:absolute;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);
  color:#fff;
  font-size:12px;
  background:rgba(0,0,0,.35);
  padding:6px 10px;
  border-radius:20px
}

@media(max-width:640px){
  .preview-card{
    flex-basis:43%;
    height:210px
  }

  .preview-section{
    margin-top:24px;
    padding-top:20px
  }
}

.dlwrap{
  margin-top:28px
}

.download{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:17px;
  border-radius:14px;
  text-decoration:none;
  color:#ffffff;
  background:#15803d;
  font-family:Inter,sans-serif;
  font-weight:700;
  font-size:15.5px;
  box-shadow:0 10px 24px -10px rgba(21,128,61,.55);
  transition:transform .15s ease,background .15s ease
}

.download:hover{
  background:#22a55a;
  transform:translateY(-1px)
}

.download:active{
  transform:translateY(0) scale(.99)
}

.note{
  text-align:center;
  font-size:11.5px;
  color:#8a8a8a;
  margin-top:12px
}

.team-block{
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid #eeeeee
}

.team-title{
  font-family:'Unbounded',Inter,sans-serif;
  font-size:14px;
  font-weight:800;
  color:#0a0a0a;
  letter-spacing:-.01em;
  margin:0 0 10px;
  display:flex;
  align-items:center;
  gap:7px
}

.team-title .dot{
  width:7px;
  height:7px;
  border-radius:2px;
  background:#15803d;
  flex:none
}

.team-list{
  display:flex;
  flex-direction:column
}

.team-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 2px;
  border-bottom:1px solid #f2f2f2
}

.team-row:last-child{
  border-bottom:none
}

.team-avatar{
  width:30px;
  height:30px;
  border-radius:50%;
  object-fit:cover;
  flex:none;
  background:#f0f0f0;
  border:1px solid #e5e5e5
}

.team-avatar-fallback{
  width:30px;
  height:30px;
  border-radius:50%;
  flex:none;
  background:#111111;
  color:#ffffff;
  display:grid;
  place-items:center;
  font-family:'Unbounded',Inter,sans-serif;
  font-size:11px;
  font-weight:700
}

.team-info{
  flex:1;
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:6px
}

.team-name{
  font-size:13px;
  font-weight:700;
  color:#0a0a0a;
  white-space:nowrap
}

.team-role{
  font-size:11px;
  color:#9a9a9a;
  white-space:nowrap
}

.team-links{
  display:flex;
  gap:6px;
  flex:none
}

.team-links a,
.team-links span.disabled{
  width:28px;
  height:28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:#ffffff;
  border:1px solid #e5e5e5;
  text-decoration:none;
  transition:border-color .15s ease;
  overflow:hidden
}

.team-links a:hover{
  border-color:#15803d
}

.team-links span.disabled{
  background:#fafafa
}

.team-links svg{
  width:16px;
  height:16px
}

.team-links img{
  width:100%;
  height:100%;
  object-fit:cover
}

.section{
  padding:36px 0;
  border-bottom:1px solid #eeeeee
}

.section h2{
  font-family:'Unbounded',Inter,sans-serif;
  font-size:16px;
  font-weight:700;
  margin:0 0 18px;
  color:#0a0a0a
}

.section .intro{
  margin:0 0 16px;
  font-size:13.5px;
  line-height:1.65;
  color:#444444
}

.section .intro b{
  color:#0a0a0a;
  font-weight:600
}

.lines{
  display:flex;
  flex-direction:column;
  gap:0
}

.line{
  display:flex;
  gap:12px;
  padding:13px 0;
  border-top:1px solid #f2f2f2
}

.line:first-child{
  border-top:none
}

.line .dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#15803d;
  margin-top:7px;
  flex:none
}

.line p{
  margin:0;
  font-size:13.5px;
  line-height:1.55;
  color:#444444
}

.line p b{
  color:#0a0a0a;
  font-weight:600
}

.grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px
}

.grid2 div{
  background:#fafafa;
  border:1px solid #ececec;
  border-radius:12px;
  padding:14px 16px
}

.grid2 span{
  display:block;
  font-size:10.5px;
  color:#8a8a8a;
  margin-bottom:5px;
  text-transform:uppercase;
  letter-spacing:.03em
}

.grid2 strong{
  display:block;
  font-size:13.5px;
  color:#0a0a0a;
  font-weight:600
}

.steps{
  display:flex;
  flex-direction:column;
  gap:10px
}

.step{
  display:flex;
  gap:14px;
  align-items:flex-start
}

.step>b{
  width:26px;
  height:26px;
  flex:none;
  border-radius:50%;
  background:#effaf2;
  border:1px solid #c6ecd2;
  color:#15803d;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:700
}

.step span{
  font-size:13.5px;
  color:#444444;
  line-height:1.55;
  padding-top:3px
}

.step span b{
  color:#0a0a0a
}

/* ================= FAQ ================= */

.faq{
  display:flex;
  flex-direction:column
}

.faq details{
  border-top:1px solid #f2f2f2;
  padding:0
}

.faq details:first-child{
  border-top:none
}

.faq summary{
  cursor:pointer;
  list-style:none;
  padding:14px 0;
  font-size:13.5px;
  font-weight:600;
  color:#0a0a0a;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px
}

.faq summary::-webkit-details-marker{
  display:none
}

.faq summary::after{
  content:"+";
  color:#15803d;
  font-size:18px;
  font-weight:700;
  flex:none
}

.faq details[open] summary::after{
  content:"–"
}

.faq details p{
  margin:0 0 14px;
  font-size:13.5px;
  line-height:1.6;
  color:#444444
}

.faq summary:focus-visible{
  outline:2px solid #15803d;
  outline-offset:2px;
  border-radius:4px
}

.site-footer {
  width: min(820px, calc(100% - 32px));
  margin: auto;
  padding: 26px 0 36px;
  color: #9a9a9a;
  font-size: 14px;
}

.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 20px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(154, 154, 154, 0.18);
}

.footer-links a {
  color: #333;
  text-decoration: none;
  transition: color 0.2s ease;
}


.footer-links a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 2px;
}

@media (max-width: 480px) {
  .footer-top {
    justify-content: center;
    text-align: center;
  }

  .footer-links {
    gap: 14px 16px;
  }
}

@media(max-width:640px){

  .topbar{
    height:62px
  }

  .verified span{
    display:none
  }

  .wordmark-text.small{
    font-size:19px
  }

  .hero{
    padding:40px 0 32px
  }

  .hero-top{
    gap:14px
  }

  .icon{
    width:76px;
    height:76px;
    border-radius:19px
  }

  .icon img{
    border-radius:15px
  }

  .stats{
    grid-template-columns:repeat(2,1fr);
    row-gap:16px
  }

  .stats div:nth-child(2){
    border-right:none
  }

  .grid2{
    grid-template-columns:1fr
  }
}


/* ================= ANIMATIONS ================= */

@keyframes eliteRise{
  from{
    opacity:0;
    transform:translateY(10px)
  }

  to{
    opacity:1;
    transform:none
  }
}

@keyframes eliteFade{
  from{opacity:0}
  to{opacity:1}
}

@keyframes elitePop{
  from{
    opacity:0;
    transform:scale(.96)
  }

  to{
    opacity:1;
    transform:none
  }
}

@keyframes eliteShine{
  0%,55%{
    transform:translateX(-120%)
  }

  100%{
    transform:translateX(120%)
  }
}

.trust,
.stats,
.dlwrap,
.team-block{
  animation:eliteRise .55s cubic-bezier(.2,.7,.2,1) backwards
}

.trust{animation-delay:.05s}
.stats{animation-delay:.12s}
.dlwrap{animation-delay:.2s}
.team-block{animation-delay:.28s}

.action-btn{
  animation:eliteRise .45s cubic-bezier(.2,.7,.2,1) backwards
}

.action-btn.setup{
  animation-name:elitePop
}

.download{
  position:relative;
  overflow:hidden
}

.download::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    110deg,
    transparent 35%,
    rgba(255,255,255,.3) 50%,
    transparent 65%
  );
  transform:translateX(-120%);
  animation:eliteShine 3.4s ease-in-out 1.2s 2
}

.team-links a{
  transition:transform .15s ease,border-color .15s ease
}

.team-links a:hover{
  transform:translateY(-1px)
}

.faq details[open] p{
  animation:eliteFade .3s ease
}

.preview-modal.open{
  animation:eliteFade .2s ease
}

.preview-modal.open img{
  animation:elitePop .25s ease
}

@media(hover:hover){
  .preview-card:hover img{
    transform:scale(1.04)
  }
}

@media(prefers-reduced-motion:reduce){

  *,
  *::before,
  *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }

}


/* ================= SCREENSHOT STRIP ================= */

.preview-strip{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  gap:10px!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  scroll-snap-type:x proximity!important
}

.preview-strip::-webkit-scrollbar{
  display:none!important
}

.preview-card{
  flex:0 0 31.8%!important;
  min-width:31.8%!important;
  height:178px!important;
  scroll-snap-align:start!important
}

@media(max-width:640px){

  .preview-card{
    flex:0 0 43%!important;
    min-width:43%!important;
    height:210px!important
  }

}



.article-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 14px 0 24px;
    padding: 12px 16px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    color: #64748b;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
}

.article-author {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.article-author strong {
    color: #111827;
    font-weight: 600;
}

.meta-icon {
    color: #2563eb;
}

.meta-divider {
    color: #cbd5e1;
}

.article-date {
    color: #64748b;
}

@media (max-width: 480px) {
    .article-meta {
        gap: 8px;
        padding: 10px 12px;
        font-size: 12px;
    }
}


.verified a {
    text-decoration: none;
    font-size: 14px;
    color: #333;
}

/* ===== Spin 101 additions ===== */
:root{--gold:#f5b301}
.brand a{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{border-radius:8px;display:block}
nav.verified{gap:18px}
nav.verified a{font-size:14px;color:#333;text-decoration:none;font-weight:500}
nav.verified a:hover,nav.verified a[aria-current]{color:#15803d}
.download{background:linear-gradient(135deg,#15803d,#22a55a);border-bottom:3px solid var(--gold)}
.download:hover{background:linear-gradient(135deg,#16a34a,#34c070)}
.trust .check{background:var(--gold);color:#063b1f}
.line .dot{background:var(--gold)}
.team-title .dot{background:var(--gold)}
.section h2{font-size:16px}
.section h3{font-family:'Unbounded',Inter,sans-serif;font-size:14px}
.section a,.intro a,.post a:not(.download):not(.more){color:#15803d}
.crumbs{font-size:12px;color:#8a8a8a;margin-bottom:14px}
.crumbs a{color:#6b6b6b;text-decoration:none}
.post{padding:36px 0}
.post-title{font-family:'Unbounded',Inter,sans-serif;font-weight:800;font-size:clamp(22px,4.6vw,32px);line-height:1.2;letter-spacing:-.02em;margin:8px 0 6px;color:#0a0a0a}
.lead{font-size:15px!important}
.cat{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:#15803d;background:#effaf2;border:1px solid #c6ecd2;padding:3px 9px;border-radius:20px}
.article-meta{background:#fafafa}
.meta-icon{color:#15803d}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.card{border:1px solid #ececec;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(21,128,61,.5)}
.card-img img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}
.card-body{padding:14px 16px 16px}
.card-body h3{font-size:14px;margin:10px 0 8px;line-height:1.4}
.card-body h3 a{color:#0a0a0a;text-decoration:none}
.card-body p{font-size:12.5px;line-height:1.55;color:#555;margin:0 0 10px}
.more{font-size:12.5px;font-weight:700;color:#15803d;text-decoration:none}
.related{display:flex;flex-direction:column;gap:8px}
.related a{font-size:13.5px;font-weight:600;text-decoration:none;padding:12px 14px;border:1px solid #ececec;border-radius:12px;background:#fafafa}
code{background:#effaf2;padding:1px 6px;border-radius:5px;font-size:12.5px}
.post p,.section p{font-size:13.5px;line-height:1.7;color:#444}
.section h2+p.intro{margin-top:0}
.foot-note{font-size:12px;line-height:1.6;color:#9a9a9a;margin-top:18px;text-align:center}
.footer-top{font-size:13px}
@media(max-width:640px){.cards{grid-template-columns:1fr}nav.verified{gap:12px}nav.verified a{font-size:13px}}

/* ===== Long-form article additions ===== */
.content h2{font-family:'Unbounded',Inter,sans-serif;font-size:17px;font-weight:700;line-height:1.35;margin:38px 0 14px;padding-top:26px;border-top:1px solid #eee;color:#0a0a0a;scroll-margin-top:16px}
.content h3{font-family:'Unbounded',Inter,sans-serif;font-size:14px;font-weight:700;margin:22px 0 8px;color:#0a0a0a}
.content p{font-size:14.5px;line-height:1.75;color:#444;margin:0 0 14px}
.content a,.lead a{color:#15803d;text-decoration:underline;text-underline-offset:2px}
.content b,.content strong{color:#0a0a0a}
.takeaways{background:#effaf2;border:1px solid #c6ecd2;border-radius:14px;padding:16px 18px;margin:18px 0}
.takeaways strong{display:block;font-size:13px;margin-bottom:6px;color:#0a0a0a}
.takeaways ul{margin:0;padding-left:18px}
.takeaways li{font-size:13.5px;line-height:1.6;color:#333;margin:5px 0}
.toc{background:#fafafa;border:1px solid #ececec;border-radius:14px;padding:16px 18px;margin:0 0 8px}
.toc strong{display:block;font-size:13px;margin-bottom:6px}
.toc ol{margin:0;padding-left:20px}
.toc li{font-size:13.5px;line-height:1.7}
.toc a{color:#15803d;text-decoration:none}
.bul,.num{margin:0 0 16px;padding-left:22px}
.bul li,.num li{font-size:14.5px;line-height:1.7;color:#444;margin:6px 0}
.tblwrap{overflow-x:auto;margin:6px 0 18px;border:1px solid #ececec;border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th{background:#effaf2;color:#0a0a0a;text-align:left;font-weight:700}
th,td{padding:11px 14px;border-bottom:1px solid #eee;vertical-align:top;line-height:1.55;color:#444}
tr:last-child td{border-bottom:none}
.content .faq summary{font-size:14.5px}
.content .faq details p{font-size:14px}
.dlwrap .download{text-transform:none}
.content a.download,.post a.download{color:#fff;text-decoration:none;font-weight:700}
