:root{
  --thn-bg:#F5F8FC;
  --thn-surface:#FFFFFF;
  --thn-ink:#0E2A4A;
  --thn-ink-2:#16395f;
  --thn-teal:#18A999;
  --thn-teal-d:#0f8b7d;
  --thn-amber:#E8B23A;
  --thn-text:#1A2735;
  --thn-muted:#5A6B7B;
  --thn-border:#D5E0EA;
  --thn-line:#C9D6E2;
  --thn-shadow:0 8px 28px rgba(14,42,74,.08);
  --thn-radius:14px;
  --thn-header-h:64px;
  --h2-inset:16px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--thn-text);
  background:var(--thn-bg);
  line-height:1.75;
  font-size:16px;
}
a{color:var(--thn-teal-d);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;}

/* ===== Header ===== */
.thn-header{
  position:fixed;top:0;left:0;right:0;height:var(--thn-header-h);
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--thn-border);
  z-index:100;
}
.thn-header-inner{
  max-width:1180px;margin:0 auto;height:100%;
  display:flex;align-items:center;gap:18px;padding:0 20px;
}
.thn-logo{display:flex;align-items:center;gap:10px;color:var(--thn-ink);font-weight:700;}
.thn-logo:hover{text-decoration:none;}
.thn-logo-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:10px;
  background:linear-gradient(135deg,var(--thn-ink),var(--thn-teal));
  color:#fff;font-weight:800;letter-spacing:.5px;
}
.thn-logo-text{font-size:17px;}
.thn-nav{display:flex;align-items:center;gap:6px;margin-left:auto;}
.thn-nav-group{position:relative;}
.thn-nav-group-btn{
  border:none;background:transparent;cursor:pointer;
  font:inherit;color:var(--thn-ink);padding:10px 14px;border-radius:8px;
}
.thn-nav-group-btn:hover{background:var(--thn-bg);}
.thn-nav-link{
  color:var(--thn-ink);padding:10px 14px;border-radius:8px;
}
.thn-nav-link:hover{background:var(--thn-bg);text-decoration:none;}
.thn-nav-sub{
  display:none;position:absolute;top:100%;left:0;min-width:160px;
  background:var(--thn-surface);border:1px solid var(--thn-border);
  border-radius:10px;box-shadow:var(--thn-shadow);padding:6px;z-index:120;
}
.thn-nav-sub a{display:block;padding:8px 12px;border-radius:8px;color:var(--thn-text);}
.thn-nav-sub a:hover{background:var(--thn-bg);text-decoration:none;}
.thn-nav-group:hover .thn-nav-sub,
.thn-nav-group:focus-within .thn-nav-sub{display:block;}
.thn-nav-toggle{display:none;flex-direction:column;gap:5px;width:42px;height:38px;
  border:none;background:transparent;cursor:pointer;margin-left:auto;}
.thn-nav-toggle span{display:block;height:3px;background:var(--thn-ink);border-radius:3px;}

/* ===== Page shell ===== */
.thn-page{padding-top:var(--thn-header-h);}
.thn-crumb-wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
.thn-crumb-wrap .thn-breadcrumb{padding-left:0;margin:14px 0 0;}
.thn-breadcrumb{font-size:13px;color:var(--thn-muted);margin:18px 0 14px;padding-left:var(--h2-inset);}
.thn-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;}
.thn-breadcrumb li{display:flex;align-items:center;}
.thn-breadcrumb li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--thn-border);}
.thn-breadcrumb a{color:var(--thn-muted);}
.thn-h1{font-size:28px;line-height:1.35;color:var(--thn-ink);margin:0 0 10px;}

/* ===== Detail layout ===== */
.thn-layout{
  max-width:1180px;margin:0 auto;padding:0 20px 60px;
  display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:36px;align-items:start;
}
.thn-content-main{padding-left:var(--h2-inset);min-width:0;}
.thn-article-head,.thn-product-head{
  background:var(--thn-surface);border:1px solid var(--thn-border);
  border-left:4px solid var(--thn-teal);border-radius:12px;
  padding:22px 22px 18px;margin-bottom:22px;box-shadow:var(--thn-shadow);
}
.thn-summary{color:var(--thn-muted);margin:6px 0 12px;font-size:15px;}
.thn-article-meta,.thn-product-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--thn-muted);}
.thn-keywords{color:var(--thn-teal-d);}
.thn-product-cat,.thn-product-sku,.thn-product-status{background:var(--thn-bg);border-radius:999px;padding:3px 12px;}

/* ===== Body typography ===== */
.thn-body{font-size:16px;color:var(--thn-text);}
.thn-body h2{
  font-size:21px;color:var(--thn-ink);margin:30px 0 12px;padding-bottom:8px;
  border-bottom:2px solid var(--thn-teal);scroll-margin-top:80px;
}
.thn-body h3{font-size:18px;color:var(--thn-ink-2);margin:22px 0 10px;scroll-margin-top:80px;}
.thn-body p{margin:0 0 14px;}
.thn-body ul,.thn-body ol{padding-left:22px;margin:0 0 14px;}
.thn-body li{margin:0 0 8px;}
.thn-body blockquote{
  margin:14px 0;padding:14px 18px;background:#EAF7F4;border-left:4px solid var(--thn-teal);
  border-radius:0 10px 10px 0;color:var(--thn-ink-2);
}
.thn-body strong{color:var(--thn-ink);}
.thn-body table{
  width:100%;border-collapse:collapse;margin:16px 0;font-size:14px;
  border:1px solid var(--thn-line);background:var(--thn-surface);
}
.thn-body table.thn-spec{border:1px solid var(--thn-line);}
.thn-body th,.thn-body td{
  border:1px solid var(--thn-line);padding:9px 12px;text-align:left;
}
.thn-body thead th{background:var(--thn-ink);color:#fff;font-weight:600;}
.thn-body tbody tr:nth-child(even){background:#F2F7FB;}

/* ===== TOC ===== */
.thn-toc-aside{position:sticky;top:calc(var(--thn-header-h) + 16px);max-height:calc(100vh - 100px);overflow:auto;}
.thn-toc-panel,.thn-cat-panel{
  background:var(--thn-surface);border:1px solid var(--thn-border);border-radius:12px;
  padding:12px 14px;box-shadow:var(--thn-shadow);
}
.thn-toc-panel summary,.thn-cat-panel summary{
  cursor:pointer;font-weight:700;color:var(--thn-ink);list-style:none;
  display:flex;align-items:center;justify-content:space-between;
}
.thn-toc-panel summary::after,.thn-cat-panel summary::after{content:"▾";color:var(--thn-teal);transition:transform .2s;}
.thn-toc-panel[open] summary::after,.thn-cat-panel[open] summary::after{transform:rotate(180deg);}
.thn-toc-list{list-style:none;margin:10px 0 0;padding:0;}
.thn-toc-list li{margin:0;}
.thn-toc-list a{display:block;padding:5px 0;color:var(--thn-muted);font-size:14px;border-left:2px solid transparent;padding-left:10px;}
.thn-toc-list a:hover{border-left-color:var(--thn-teal);color:var(--thn-ink);text-decoration:none;}
.thn-toc-l3 a{padding-left:24px;font-size:13px;}

/* ===== List / category ===== */
.thn-list-layout{
  max-width:1180px;margin:0 auto;padding:0 20px 60px;
  display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:start;
}
.thn-cat-side{position:sticky;top:calc(var(--thn-header-h) + 16px);}
.thn-cat-list{list-style:none;margin:10px 0 0;padding:0;}
.thn-cat-list a{display:block;padding:8px 12px;border-radius:8px;color:var(--thn-text);}
.thn-cat-list a:hover{background:var(--thn-bg);text-decoration:none;}
.thn-cat-list a.is-active{background:var(--thn-teal);color:#fff;font-weight:600;}
.thn-cat-content{padding-left:var(--h2-inset);min-width:0;}
.thn-list-desc{color:var(--thn-muted);margin:0 0 22px;}
.thn-item-list{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
.thn-item{background:var(--thn-surface);border:1px solid var(--thn-border);border-radius:12px;padding:16px 18px;box-shadow:var(--thn-shadow);}
.thn-item-title{font-size:18px;font-weight:700;color:var(--thn-ink);}
.thn-item-cat{display:inline-block;font-size:12px;color:var(--thn-teal-d);background:#EAF7F4;border-radius:999px;padding:2px 10px;margin:6px 0;}
.thn-item-sum{margin:6px 0 0;color:var(--thn-muted);font-size:14px;}

/* ===== FAQ ===== */
.thn-faq{margin:24px 0;}
.thn-faq details{
  background:var(--thn-surface);border:1px solid var(--thn-border);border-radius:10px;
  margin-bottom:10px;padding:0 14px;
}
.thn-faq summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--thn-ink);}
.thn-faq-a{padding:0 0 12px;color:var(--thn-text);}

/* ===== Page plain ===== */
.thn-page-wrap{max-width:900px;margin:0 auto;padding:0 20px 60px;}
.thn-page-main{
  background:var(--thn-surface);border:1px solid var(--thn-border);border-radius:14px;
  padding:48px;box-shadow:var(--thn-shadow);--h2-inset:48px;
}
.thn-page-main .thn-breadcrumb{padding-left:0;}

/* ===== Home ===== */
.thn-hero{
  background:linear-gradient(135deg,var(--thn-ink),var(--thn-ink-2) 60%,var(--thn-teal-d));
  color:#fff;padding:72px 20px 64px;
}
.thn-hero-inner{max-width:1180px;margin:0 auto;text-align:center;}
.thn-hero-title{font-size:42px;margin:0 0 14px;letter-spacing:.5px;}
.thn-hero-sub{font-size:18px;opacity:.9;margin:0 0 28px;}
.thn-hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.thn-btn{display:inline-block;padding:12px 26px;border-radius:999px;font-weight:600;}
.thn-btn-primary{background:var(--thn-amber);color:var(--thn-ink);}
.thn-btn-primary:hover{text-decoration:none;filter:brightness(1.05);}
.thn-btn-ghost{border:1px solid rgba(255,255,255,.6);color:#fff;}
.thn-btn-ghost:hover{text-decoration:none;background:rgba(255,255,255,.12);}
.thn-section{padding:54px 20px;}
.thn-section-alt{background:var(--thn-surface);}
.thn-section-inner{max-width:1180px;margin:0 auto;}
.thn-section-title{font-size:26px;color:var(--thn-ink);margin:0 0 10px;}
.thn-section-lead{color:var(--thn-muted);margin:0 0 26px;}
.thn-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.thn-card{background:var(--thn-surface);border:1px solid var(--thn-border);border-radius:14px;padding:22px;box-shadow:var(--thn-shadow);transition:transform .2s,border-color .2s;}
.thn-card:hover{transform:translateY(-4px);border-color:var(--thn-teal);text-decoration:none;}
.thn-card-title{font-size:18px;color:var(--thn-ink);margin:0 0 8px;}
.thn-card-text{color:var(--thn-muted);font-size:14px;margin:0;}
.thn-chip-row{display:flex;flex-wrap:wrap;gap:12px;}
.thn-chip{background:linear-gradient(135deg,var(--thn-teal),var(--thn-teal-d));color:#fff;padding:8px 18px;border-radius:999px;font-size:14px;font-weight:600;}
.thn-baseline-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.thn-baseline-item{background:var(--thn-surface);border:1px solid var(--thn-border);border-radius:12px;padding:18px 20px;}
.thn-baseline-title{color:var(--thn-ink);font-size:17px;margin:0 0 6px;}
.thn-baseline-text{color:var(--thn-muted);margin:0;font-size:14px;}
.thn-scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.thn-scene-item{background:var(--thn-bg);border:1px solid var(--thn-border);border-radius:12px;padding:18px 20px;}
.thn-scene-title{color:var(--thn-ink);font-size:16px;margin:0 0 6px;}
.thn-scene-text{color:var(--thn-muted);margin:0;font-size:14px;}
.thn-teaser-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.thn-teaser{background:var(--thn-surface);border:1px solid var(--thn-border);border-radius:12px;padding:16px 20px;}
.thn-teaser a{font-size:17px;font-weight:700;color:var(--thn-ink);}
.thn-teaser p{margin:6px 0 0;color:var(--thn-muted);font-size:14px;}

/* ===== Archive ===== */
.thn-archive-block{margin-bottom:34px;}
.thn-archive-h2{font-size:22px;color:var(--thn-ink);border-left:4px solid var(--thn-teal);padding-left:12px;}
.thn-archive-cat{font-size:17px;color:var(--thn-teal-d);margin:18px 0 8px;}
.thn-archive-list{columns:2;list-style:none;padding:0;margin:0;}
.thn-archive-list li{margin:0 0 8px;break-inside:avoid;}

/* ===== Float capsule ===== */
.thn-float{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:12px;}
.thn-float-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  width:58px;height:58px;border:none;border-radius:999px;cursor:pointer;color:#fff;
  font-size:11px;font-weight:600;box-shadow:var(--thn-shadow);transition:transform .15s;
}
.thn-float-btn:hover{transform:scale(1.06);}
.thn-float-btn[data-float="top"]{background:linear-gradient(135deg,var(--thn-ink),var(--thn-ink-2));}
.thn-float-btn[data-float="card"]{background:linear-gradient(135deg,var(--thn-teal),var(--thn-teal-d));}
.thn-float-btn[data-float="mail"]{background:linear-gradient(135deg,var(--thn-amber),#d99a1f);color:var(--thn-ink);}
.thn-float-ico{font-size:20px;line-height:1;}
.thn-card-pop{position:fixed;inset:0;background:rgba(14,42,74,.55);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;}
.thn-card-pop[hidden]{display:none;}
.thn-card-pop-inner{position:relative;background:#fff;border-radius:14px;padding:12px;box-shadow:var(--thn-shadow);}
.thn-card-pop img{max-width:300px;max-height:500px;width:auto;height:auto;display:block;border-radius:8px;}
.thn-card-close{position:absolute;top:-14px;right:-14px;width:34px;height:34px;border-radius:50%;border:none;background:var(--thn-ink);color:#fff;font-size:20px;cursor:pointer;}

/* ===== Footer ===== */
.thn-footer{background:var(--thn-ink);color:#cfe0ee;padding:34px 20px;}
.thn-footer-inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;}
.thn-footer-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:#fff;}
.thn-footer-nav{display:flex;flex-wrap:wrap;gap:14px;}
.thn-footer-nav a{color:#cfe0ee;font-size:14px;}
.thn-footer-copy{width:100%;text-align:center;margin:10px 0 0;font-size:13px;color:#9fb6c9;}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .thn-nav{display:none;position:absolute;top:var(--thn-header-h);left:0;right:0;flex-direction:column;align-items:stretch;background:var(--thn-surface);border-bottom:1px solid var(--thn-border);padding:10px;gap:4px;}
  .thn-nav.is-open{display:flex;}
  .thn-nav-group{position:static;}
  .thn-nav-sub{display:none;position:static;box-shadow:none;border:none;padding-left:12px;}
  .thn-nav-group.is-open .thn-nav-sub{display:block;}
  .thn-nav-group-btn{width:100%;text-align:left;}
  .thn-nav-toggle{display:flex;}
  .thn-layout{grid-template-columns:1fr;}
  .thn-toc-aside{position:static;max-height:none;margin-top:24px;}
  .thn-list-layout{grid-template-columns:1fr;}
  .thn-cat-side{position:static;margin-bottom:20px;}
  .thn-card-grid,.thn-scene-grid{grid-template-columns:repeat(2,1fr);}
  .thn-baseline-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .thn-hero-title{font-size:30px;}
  .thn-card-grid,.thn-scene-grid{grid-template-columns:1fr;}
  .thn-page-main{padding:24px;}
  .thn-archive-list{columns:1;}
  .thn-float-btn{width:50px;height:50px;}
}
