/* #######################################################################
 * 🐢 TPL — Base CSS
 * Version: v6.0.2
 * Change: Restore white header/footer surface
 ####################################################################### */
:root{
  --t-green:#1a8f3d;
  --t-green-600:#0e7a31;
  --t-blue:#1b73e8;
  --t-blue-600:#155fc4;
  --t-fg:#202124;
  --t-muted:#5f6368;
  --t-bg:#ffffff;
  --surface:#ffffff; /* white header/footer */
  --ring:0 0 0 3px rgba(26,143,61,.18);
}
html[data-theme="dark"]{
  --t-fg:#e8eaed;
  --t-muted:#a1a6aa;
  --t-bg:#121212;
  --surface:#111315;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--t-fg);
  background:var(--t-bg);
  font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial,Apple Color Emoji,Segoe UI Emoji;
}
a{color:var(--t-green);text-decoration:none;font-weight:400}
a:hover{text-decoration:underline}

/* Topbar */
.tn-topbar{
  position:sticky;top:0;z-index:30;
  display:flex;align-items:center;gap:24px;
  padding:18px 24px;
  background:var(--surface);
  border-bottom:1px solid #e6e6e6;
}
.tn-topbar .brand a{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:700;color:var(--t-fg);text-decoration:none;
}
.tn-nav{display:flex;gap:28px;align-items:center}
.tn-link{
  position:relative;padding:10px 2px;
  color:var(--t-fg);text-decoration:none;font-weight:500;
}
.tn-link::after{
  content:\"\";position:absolute;left:0;right:0;bottom:-10px;height:3px;
  border-radius:3px;background:#1a8f3d;
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
}
.tn-link[aria-current=\"page\"]::after{transform:scaleX(1)}

/* Page container */
.tn-main{display:block}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid transparent;border-radius:24px;padding:10px 16px;cursor:pointer}
.btn-lg{padding:12px 18px}
.btn-green{background:var(--t-green);color:#fff}
.btn-green:hover{background:var(--t-green-600);text-decoration:none}
.btn-ghost{background:transparent;border-color:#dadce0;color:var(--t-fg)}
.btn-ghost:hover{background:#f1f3f4}

/* Footer */
.tn-footer{
  margin-top:72px;
  background:var(--surface);
  border-top:1px solid #e6e6e6;
}
.tn-footer .wrap{
  max-width:1200px;margin:0 auto;padding:36px 20px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:28px;
}
.tn-footer h4{
  margin:0 0 10px 0;font-size:14px;color:var(--t-muted);font-weight:600;
}
.tn-footer a{
  display:block;color:var(--t-green);font-size:14px;margin:6px 0;
}
.tn-footer .sub{
  max-width:1200px;margin:0 auto;padding:14px 20px;
  border-top:1px solid #e6e6e6;
  display:flex;justify-content:space-between;align-items:center;
}
.tn-footer .sub .left a{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--t-fg);
}
.tn-footer .sub .left img{width:20px;height:20px;display:block}
.tn-footer .sub nav{display:flex;align-items:center}
.tn-footer .sub nav a{display:inline-flex;margin-left:16px}

@media (max-width:960px){.tn-footer .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.tn-footer .wrap{grid-template-columns:1fr}}