/* ============================================================
   KiTuVui theme — main stylesheet
   Tái hiện giao diện demo KiTuVui-v6 (pastel, cute).
   Không dùng Bootstrap / jQuery.
   ============================================================ */

:root{
  --bg:#f1f0f6; --ink:#2a2440; --muted:#6b6480; --muted2:#8a82a0; --muted3:#a39bb2;
  --pink:#ff5fa2; --orange:#ff8a3d; --yellow:#ffce3a;
  --brand:linear-gradient(135deg,#ff8a3d,#ff5fa2);
  --brand2:linear-gradient(120deg,#ff7a3d,#ff5fa2);
  --card:#fff; --radius:24px;
  --shadow-sm:0 10px 28px rgba(40,30,60,.06);
  --shadow:0 12px 32px rgba(40,30,60,.07);
  --shadow-lg:0 16px 44px rgba(40,30,60,.1);
  --mono:'Roboto Mono',ui-monospace,monospace;
}

*{box-sizing:border-box;}
.kt-skip-link{ color:#2a2440; font-weight:800; text-decoration:none; }
.kt-skip-link:focus{ position:fixed !important; left:12px !important; top:12px !important; width:auto !important; height:auto !important; padding:10px 16px !important; margin:0 !important; clip:auto !important; overflow:visible !important; z-index:9999; background:#fff; border-radius:0 0 12px 0; box-shadow:0 6px 16px rgba(40,30,60,.12); }
#kt-main:focus{ outline:none; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;
  -webkit-font-smoothing:antialiased;
}
::selection{ background:var(--yellow); color:var(--ink); }
a{ color:inherit; }
img{ max-width:100%; height:auto; display:block; }
button{ font-family:inherit; }

/* layout helpers */
.kt-page{ position:relative; overflow:hidden; }
.kt-z{ position:relative; z-index:1; }
.kt-wrap{ max-width:1120px; margin:0 auto; padding:0 clamp(14px,3vw,28px); }
.kt-narrow{ max-width:820px; }
.kt-article-w{ max-width:760px; }
.kt-section{ padding-top:clamp(28px,4vw,52px); }

/* soft pastel blobs background */
.kt-blobs{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.kt-blobs span{ position:absolute; border-radius:50%; filter:blur(110px); opacity:.5; display:block; }
.kt-blob-1{ top:-8%; left:-6%; width:40vw; height:40vw; background:#ffd9e8; }
.kt-blob-2{ top:-4%; right:-8%; width:38vw; height:38vw; background:#d8e6ff; }
.kt-blob-3{ bottom:-10%; left:30%; width:38vw; height:34vw; background:#fff0cf; opacity:.45; filter:blur(120px); }

/* scrollbar */
.kt-scroll::-webkit-scrollbar{ width:8px; height:8px; }
.kt-scroll::-webkit-scrollbar-thumb{ background:#dcd9e6; border-radius:99px; }
.kt-scroll::-webkit-scrollbar-track{ background:transparent; }

/* ---------------- header ---------------- */
.kt-header{
  position:sticky; top:0; z-index:50;
  background:rgba(241,240,246,.8); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.kt-header-in{ display:flex; align-items:center; gap:14px; padding-top:12px; padding-bottom:12px; }
.kt-logo{ display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.kt-logo-badge{ width:36px; height:36px; border-radius:12px; background:var(--brand); display:grid; place-items:center; font-weight:900; font-size:22.8px; color:#fff; }
.kt-logo-text{ font-weight:900; font-size:25.2px; color:var(--ink); letter-spacing:-.5px; }
.kt-logo-text i{ color:var(--pink); font-style:normal; }
.kt-nav{ display:flex; align-items:center; gap:2px; margin-left:12px; flex-wrap:wrap; }
.kt-nav ul.kt-menu{ list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:2px; flex-wrap:wrap; }
.kt-nav li{ margin:0; }
.kt-nav a{ padding:8px 13px; border-radius:99px; color:#5b5470; text-decoration:none; font-weight:700; font-size:16.8px; white-space:nowrap; transition:background .15s,color .15s; display:inline-block; }
.kt-nav a:hover{ background:#fff; color:var(--ink); }
.kt-nav .current-menu-item>a,.kt-nav a.current{ background:#fff; color:var(--ink); font-weight:800; }
.kt-cta{ margin-left:auto; flex-shrink:0; padding:10px 20px; border-radius:99px; background:var(--brand); color:#fff; text-decoration:none; font-weight:800; font-size:16.8px; box-shadow:0 8px 18px rgba(255,95,162,.32); }
.kt-burger{ display:none; }

/* ---------------- generic bits ---------------- */
.kt-pill{ display:inline-flex; align-items:center; gap:8px; font-size:15.6px; font-weight:800; padding:7px 16px; border-radius:99px; }
.kt-pill-pink{ color:#d8417e; background:#ffe2ee; }
.kt-pill-green{ color:#2bb673; background:#e0f6ec; }
.kt-dot{ width:7px; height:7px; border-radius:50%; background:#2bb673; }
.kt-h1{ font-size:clamp(39.6px,6.72vw,67.2px); font-weight:900; line-height:1.04; margin:0 0 16px; letter-spacing:-1.4px; }
.kt-grad-text{ background:var(--brand2); -webkit-background-clip:text; background-clip:text; color:transparent; }
.kt-lead{ font-size:clamp(19.2px,2.4vw,22.8px); line-height:1.6; color:var(--muted); margin:0; font-weight:600; }
.kt-h2{ font-size:clamp(30px,4.32vw,43.2px); font-weight:900; margin:0; letter-spacing:-.7px; }
.kt-card{ background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow-sm); }

/* ---------------- hero / generator ---------------- */
.kt-hero{ text-align:center; max-width:780px; margin:0 auto 22px; }
.kt-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:9px; max-width:740px; margin:0 auto 26px; }
.kt-chip{ padding:10px 17px; border-radius:99px; border:none; font-size:18px; font-weight:800; cursor:pointer; box-shadow:0 4px 12px rgba(40,30,60,.06); }
.kt-chip:hover{ filter:brightness(.97); }

.kt-gen{ max-width:780px; margin:0 auto; background:#fff; border-radius:30px; padding:clamp(16px,3vw,26px); box-shadow:var(--shadow-lg); }
.kt-gen-strip{ display:flex; align-items:center; gap:13px; padding:14px 16px; border-radius:22px; background:linear-gradient(120deg,#fff1e6,#ffe7f1); margin-bottom:16px; }
.kt-mascot{ position:relative; width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,#ffb13d,#ff5fa2); flex-shrink:0; display:block; }
.kt-mascot .e1{ position:absolute; top:17px; left:13px; width:6px; height:6px; border-radius:50%; background:var(--ink); }
.kt-mascot .e2{ position:absolute; top:17px; right:13px; width:6px; height:6px; border-radius:50%; background:var(--ink); }
.kt-mascot .m{ position:absolute; bottom:12px; left:50%; transform:translateX(-50%); width:14px; height:7px; border:2px solid var(--ink); border-top:none; border-radius:0 0 12px 12px; }
.kt-gen-title{ font-weight:900; font-size:19.2px; }
.kt-gen-sub{ font-size:15px; color:var(--muted2); font-weight:600; }
.kt-gen-count{ font-family:var(--mono); font-size:14.4px; color:var(--muted2); font-weight:700; }
.kt-input{ width:100%; padding:15px 18px; border-radius:16px; border:2px solid #ffd9e2; background:#fffafb; color:var(--ink); font-size:21.6px; font-weight:800; font-family:Nunito,sans-serif; outline:none; }
.kt-input:focus{ border-color:var(--pink); }
.kt-hint{ font-size:15px; color:var(--muted3); margin:9px 4px 18px; font-weight:600; }
.kt-variants{ display:grid; gap:9px; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); }
.kt-variant{ display:flex; align-items:center; gap:10px; padding:11px 13px; border-radius:16px; }
.kt-variant .v-main{ flex:1; min-width:0; overflow:hidden; }
.kt-variant .v-label{ display:block; font-size:13.2px; font-weight:800; text-transform:uppercase; letter-spacing:.3px; margin-bottom:1px; }
.kt-variant .v-value{ display:block; font-size:20.4px; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kt-variant .v-btn{ flex-shrink:0; padding:8px 15px; border-radius:99px; font-size:15px; font-weight:800; color:#fff; border:none; cursor:pointer; }

/* palette tiles */
.kt-tiles{ max-width:780px; margin:16px auto 0; display:grid; gap:13px; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.kt-tile{ background:#fff; border-radius:var(--radius); padding:18px; box-shadow:var(--shadow-sm); }
.kt-tile-head{ display:flex; align-items:center; gap:11px; margin-bottom:13px; }
.kt-tile-ic{ width:40px; height:40px; border-radius:13px; display:grid; place-items:center; font-size:22.8px; }
.kt-tile-name{ font-weight:900; font-size:18px; }
.kt-glyphs{ display:flex; flex-wrap:wrap; gap:7px; }
.kt-glyph{ width:44px; height:44px; border-radius:13px; border:none; font-size:22.8px; cursor:pointer; }
.kt-blank-big{ width:100%; padding:12px; border-radius:13px; border:2px dashed #8fd9b3; background:#f1fbf6; color:#138a5a; font-weight:800; font-size:15.6px; cursor:pointer; }
.kt-blank-big:hover{ background:#e6f7ef; }
.kt-tile-note{ font-size:13.8px; color:#5d8a74; margin-top:9px; font-weight:600; }

/* ---------------- trending + colors ---------------- */
.kt-grid-2{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.kt-panel{ background:#fff; border-radius:var(--radius); padding:clamp(18px,3vw,24px); box-shadow:var(--shadow); }
.kt-panel h3{ font-size:21.6px; font-weight:900; margin:0; }
.kt-panel-sub{ font-size:15.6px; color:var(--muted2); margin:5px 0 14px; font-weight:600; }
.kt-badge{ font-size:14.4px; font-weight:800; color:#fff; background:var(--brand); padding:4px 12px; border-radius:99px; }
.kt-trend-row{ display:flex; align-items:center; gap:12px; padding:9px 8px; border-radius:13px; }
.kt-trend-row:hover{ background:#faf8fc; }
.kt-trend-rank{ font-size:19.2px; width:28px; text-align:center; }
.kt-trend-name{ flex:1; min-width:0; font-size:19.2px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kt-trend-copies{ font-family:var(--mono); font-size:14.4px; color:var(--muted3); }
.kt-trend-pct{ display:inline-flex; align-items:center; gap:3px; font-family:var(--mono); font-size:15px; font-weight:700; width:56px; justify-content:flex-end; }
.kt-up{ color:#2bb673; } .kt-down{ color:#e0412a; }
.kt-colors{ display:grid; gap:9px; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); }
.kt-color{ display:flex; align-items:center; gap:10px; padding:9px 11px; border-radius:14px; border:none; background:#f6f5fa; cursor:pointer; text-align:left; }
.kt-color:hover{ background:#efeef5; }
.kt-color .sw{ width:28px; height:28px; border-radius:9px; flex-shrink:0; }
.kt-color .code{ display:block; font-family:var(--mono); font-size:15px; font-weight:700; color:var(--ink); }
.kt-color .cname{ display:block; font-size:13.2px; color:var(--muted2); font-weight:600; }
.kt-syntax{ font-family:var(--mono); font-size:13.8px; color:var(--muted3); margin-top:14px; }

/* ---------------- top 100 ---------------- */
.kt-top-box{ background:#fff; border-radius:var(--radius); padding:10px; max-height:560px; overflow-y:auto; box-shadow:var(--shadow); }
.kt-top-grid{ display:grid; gap:2px; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); }
.kt-top-row{ display:flex; align-items:center; gap:12px; padding:10px 11px; border-radius:13px; border:none; background:transparent; cursor:pointer; text-align:left; width:100%; }
.kt-top-row:hover{ background:#faf8fc; }
.kt-top-row.top3{ background:#fff4f8; }
.kt-top-rank{ font-size:15.6px; font-weight:900; width:30px; text-align:center; font-family:var(--mono); color:#c2bbcf; }
.kt-top-row.top3 .kt-top-rank{ color:var(--pink); }
.kt-top-name{ flex:1; min-width:0; font-size:18px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kt-top-copies{ font-family:var(--mono); font-size:13.8px; color:var(--muted3); flex-shrink:0; }
.kt-top-tag{ font-size:12.6px; font-weight:900; flex-shrink:0; width:38px; text-align:right; }
.kt-tag-hot{ color:#ff5a7d; } .kt-tag-new{ color:#2bb673; }

/* ---------------- invite ---------------- */
.kt-invite{ position:relative; overflow:hidden; background:var(--brand); border-radius:28px; padding:clamp(24px,4vw,40px); text-align:center; box-shadow:0 18px 40px rgba(255,95,162,.28); }
.kt-invite h2{ font-size:clamp(26.4px,4.08vw,38.4px); font-weight:900; color:#fff; margin:0 0 10px; letter-spacing:-.5px; }
.kt-invite p{ font-size:clamp(18px,2.4vw,20.4px); color:#fff; opacity:.92; margin:0 auto 22px; max-width:520px; font-weight:600; }
.kt-invite .deco{ position:absolute; }
.kt-invite-btn{ display:inline-block; padding:13px 28px; border-radius:99px; background:#fff; color:#ff5a7d; text-decoration:none; font-weight:900; font-size:18px; box-shadow:0 8px 18px rgba(0,0,0,.12); }
.kt-invite-btn:hover{ background:#fff5f8; }

/* ---------------- SEO prose + author ---------------- */
.kt-prose{ background:#fff; border-radius:26px; padding:clamp(20px,4vw,38px); box-shadow:var(--shadow); }
.kt-prose h2{ font-size:clamp(28.8px,4.08vw,38.4px); font-weight:900; margin:0 0 18px; line-height:1.15; letter-spacing:-.7px; }
.kt-prose h3{ font-size:25.2px; font-weight:800; margin:30px 0 10px; }
.kt-prose p{ font-size:19.8px; line-height:1.75; color:#44405a; margin:0 0 20px; }
.kt-prose p:last-child{ margin-bottom:0; }
.kt-prose b{ color:var(--ink); }
.kt-author{ margin-top:16px; background:linear-gradient(120deg,#fff1e6,#ffe7f1); border-radius:var(--radius); padding:clamp(18px,3vw,24px); display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.kt-author-av{ width:62px; height:62px; border-radius:50%; flex-shrink:0; background:var(--brand); display:grid; place-items:center; font-weight:900; font-size:24px; color:#fff; }
.kt-author-role{ font-size:13.8px; font-weight:800; color:#d8417e; letter-spacing:.4px; margin-bottom:3px; }
.kt-author-name{ font-size:22.8px; font-weight:900; }
.kt-author-bio{ color:var(--muted); font-size:16.8px; line-height:1.5; font-weight:600; }

/* ---------------- footer ---------------- */
.kt-footer{ margin-top:clamp(36px,5vw,64px); }
.kt-footer-in{ background:var(--ink); border-radius:28px; padding:clamp(24px,4vw,36px); }
.kt-footer-brand{ display:flex; align-items:center; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.kt-footer-badge{ width:32px; height:32px; border-radius:10px; background:var(--brand); display:grid; place-items:center; font-weight:900; color:#fff; font-size:19.2px; }
.kt-footer-name{ font-weight:900; font-size:22.8px; color:#fff; }
.kt-footer-name i{ color:var(--yellow); font-style:normal; }
.kt-footer-tag{ font-size:15.6px; color:#9a92ab; font-weight:600; }
.kt-footer-links{ display:flex; flex-wrap:wrap; gap:8px 22px; padding:16px 0; align-items:center; border-top:1px solid rgba(255,255,255,.12); }
.kt-footer-links a{ font-size:15.6px; color:#c4bdd2; text-decoration:none; font-weight:700; }
.kt-footer-links a:hover{ color:var(--yellow); }
.kt-footer-copy{ margin-left:auto; font-size:15px; color:#7c748f; }
.kt-footer-note{ font-size:14.4px; color:#7c748f; line-height:1.6; padding-top:4px; }

/* ---------------- archive ---------------- */
.kt-cats{ display:flex; flex-wrap:wrap; justify-content:center; gap:9px; }
.kt-cat{ padding:9px 17px; border-radius:99px; border:none; cursor:pointer; font-weight:800; font-size:16.8px; background:#fff; color:#5b5470; text-decoration:none; display:inline-block; }
.kt-cat.active{ background:var(--brand); color:#fff; }
.kt-feature{ display:grid; gap:0; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); background:#fff; border-radius:28px; overflow:hidden; text-decoration:none; box-shadow:0 16px 40px rgba(40,30,60,.09); }
.kt-feature-img{ position:relative; min-height:240px; display:grid; place-items:center; }
.kt-feature-img .big{ font-size:105.6px; }
.kt-feature-body{ padding:clamp(20px,3vw,32px); display:flex; flex-direction:column; justify-content:center; }
.kt-cat-tag{ align-self:flex-start; font-size:14.4px; font-weight:800; padding:5px 12px; border-radius:99px; margin-bottom:12px; }
.kt-feature-body h2{ font-size:clamp(26.4px,3.12vw,33.6px); font-weight:900; margin:0 0 10px; line-height:1.2; letter-spacing:-.5px; }
.kt-feature-body p{ font-size:18px; line-height:1.6; color:var(--muted); margin:0 0 16px; font-weight:600; }
.kt-meta{ display:flex; align-items:center; gap:10px; }
.kt-avatar{ width:34px; height:34px; border-radius:50%; background:var(--brand); display:grid; place-items:center; font-weight:900; font-size:14.4px; color:#fff; flex-shrink:0; }
.kt-avatar.sm{ width:26px; height:26px; font-size:10.8px; }
.kt-meta-name{ font-size:15.6px; font-weight:700; color:var(--ink); }
.kt-meta-sub{ font-size:15.6px; color:var(--muted3); font-weight:600; }
.kt-badge-feat{ position:absolute; top:14px; right:16px; font-size:14.4px; font-weight:800; color:#fff; background:rgba(0,0,0,.22); padding:5px 12px; border-radius:99px; }
.kt-img-alt{ position:absolute; bottom:10px; left:12px; font-family:var(--mono); font-size:10.8px; color:rgba(255,255,255,.85); background:rgba(0,0,0,.18); padding:3px 7px; border-radius:6px; }
.kt-feature-img .kt-img-alt{ top:14px; left:16px; bottom:auto; font-size:12px; padding:4px 9px; border-radius:7px; }

.kt-post-grid{ display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); }
.kt-post-card{ display:flex; flex-direction:column; background:#fff; border-radius:22px; overflow:hidden; text-decoration:none; box-shadow:var(--shadow-sm); transition:transform .15s,box-shadow .15s; }
.kt-post-card:hover{ transform:translateY(-3px); box-shadow:0 18px 38px rgba(40,30,60,.1); }
.kt-post-img{ position:relative; height:150px; display:grid; place-items:center; }
.kt-post-img .big{ font-size:64.8px; }
.kt-post-body{ padding:16px; display:flex; flex-direction:column; flex:1; }
.kt-post-body h3{ font-size:20.4px; font-weight:900; margin:0 0 8px; line-height:1.3; letter-spacing:-.3px; }
.kt-post-body p{ font-size:16.2px; line-height:1.55; color:var(--muted); margin:0 0 14px; font-weight:600; }
.kt-post-meta{ margin-top:auto; display:flex; align-items:center; gap:8px; font-size:14.4px; color:var(--muted3); font-weight:700; }
.kt-post-meta .nm{ color:var(--ink); }

/* pagination */
.kt-pager{ display:flex; justify-content:center; align-items:center; gap:8px; margin-top:32px; flex-wrap:wrap; }
.kt-pager a,.kt-pager span{ min-width:38px; height:38px; padding:0 10px; border-radius:12px; display:grid; place-items:center; font-weight:800; font-size:16.8px; text-decoration:none; background:#fff; color:var(--ink); box-shadow:var(--shadow-sm); }
.kt-pager .current{ background:var(--brand); color:#fff; }
.kt-pager .dots{ box-shadow:none; background:transparent; }

/* ---------------- single ---------------- */
.kt-crumb{ display:flex; align-items:center; gap:7px; font-size:15.6px; font-weight:700; color:var(--muted3); margin-bottom:18px; flex-wrap:wrap; }
.kt-crumb a{ color:var(--muted); text-decoration:none; }
.kt-crumb .cur{ color:var(--ink); }
.kt-single-cat{ display:inline-block; font-size:14.4px; font-weight:800; padding:5px 13px; border-radius:99px; margin-bottom:14px; }
.kt-single-h1{ font-size:clamp(32.4px,5.28vw,50.4px); font-weight:900; line-height:1.12; margin:0 0 16px; letter-spacing:-1px; }
.kt-single-meta{ display:flex; align-items:center; gap:11px; margin-bottom:24px; flex-wrap:wrap; }
.kt-single-meta .avatar{ width:42px; height:42px; border-radius:50%; background:var(--brand); display:grid; place-items:center; font-weight:900; font-size:15.6px; color:#fff; }
.kt-single-author{ font-size:16.8px; font-weight:800; }
.kt-single-sub{ font-size:15px; color:var(--muted3); font-weight:600; }
.kt-hero-img{ position:relative; height:clamp(200px,34vw,300px); border-radius:var(--radius); display:grid; place-items:center; margin-bottom:24px; overflow:hidden; }
.kt-hero-img .big{ font-size:108px; }
.kt-hero-img .kt-img-alt{ bottom:12px; left:14px; font-size:12px; padding:4px 9px; border-radius:7px; }
.kt-toc{ background:#fff; border-radius:18px; padding:18px 20px; margin:0 0 26px; box-shadow:0 8px 22px rgba(40,30,60,.05); }
.kt-toc-title{ font-size:15.6px; font-weight:900; margin-bottom:10px; }
.kt-toc-list{ display:grid; gap:7px; }
.kt-toc-list a{ font-size:16.8px; color:#5b5470; text-decoration:none; font-weight:700; }
.kt-toc-list a:hover{ color:var(--pink); }

.kt-content{ font-size:19.8px; line-height:1.8; color:#3a3654; }
.kt-content p{ margin:0 0 20px; }
.kt-content b,.kt-content strong{ color:var(--ink); }
.kt-content h2{ font-size:27.6px; font-weight:900; color:var(--ink); margin:30px 0 12px; letter-spacing:-.4px; scroll-margin-top:80px; }
.kt-content h3{ font-size:22.8px; font-weight:800; color:var(--ink); margin:26px 0 10px; scroll-margin-top:80px; }
.kt-content ul,.kt-content ol{ margin:0 0 20px; padding-left:20px; display:grid; gap:10px; }
.kt-content li{ font-size:18.6px; line-height:1.6; }
.kt-content img{ border-radius:16px; margin:0 0 20px; }
.kt-content a{ color:#d8417e; text-decoration:underline; }

/* in-content copy tools (shortcodes) */
.kt-copy{ cursor:pointer; }
.kt-copy-btn{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 16px; border-radius:14px; border:none; background:#fff; text-align:left; box-shadow:0 6px 16px rgba(40,30,60,.05); width:100%; margin:0 0 8px; }
.kt-copy-btn:hover{ background:#faf8fc; }
.kt-copy-val{ display:block; font-size:19.2px; font-weight:800; color:var(--ink); }
.kt-copy-note{ display:block; font-size:14.4px; color:var(--muted2); font-weight:600; }
.kt-copy-label{ flex-shrink:0; font-size:15px; font-weight:800; color:#ff5a7d; }
.kt-blank-btn{ width:100%; padding:16px; border-radius:14px; border:2px dashed #8fb4ff; background:#fff; color:#2b6fd6; font-weight:800; font-size:18px; margin:0 0 12px; }

/* FAQ */
.kt-faq{ display:grid; gap:10px; margin:0 0 26px; }
.kt-faq-item{ background:#fff; border-radius:16px; padding:4px 18px; box-shadow:0 6px 16px rgba(40,30,60,.05); }
.kt-faq-q{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:15px 0; border:none; background:none; cursor:pointer; text-align:left; }
.kt-faq-q span:first-child{ font-size:19.2px; font-weight:800; color:var(--ink); }
.kt-faq-sign{ flex-shrink:0; font-size:21.6px; font-weight:900; color:var(--pink); }
.kt-faq-a{ font-size:18.6px; line-height:1.7; color:#3a3654; margin:0 0 16px; font-weight:600; }
.kt-faq-a[hidden]{ display:none; }

.kt-disclaimer{ background:#f6f5fa; border-radius:14px; padding:14px 16px; margin:0 0 30px; font-size:15px; line-height:1.6; color:var(--muted2); font-weight:600; }
.kt-bio{ background:linear-gradient(120deg,#fff1e6,#ffe7f1); border-radius:22px; padding:22px; display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:30px; }

/* related */
.kt-related-h2{ font-size:clamp(26.4px,3.6vw,33.6px); font-weight:900; margin:0 0 18px; letter-spacing:-.5px; }

/* 404 / page */
.kt-center{ text-align:center; }
.kt-404{ font-size:clamp(84px,19.2vw,180px); font-weight:900; line-height:1; letter-spacing:-4px; }
.kt-btn{ display:inline-block; padding:13px 28px; border-radius:99px; background:var(--brand); color:#fff; text-decoration:none; font-weight:900; font-size:18px; box-shadow:0 8px 18px rgba(255,95,162,.32); }

/* copied toast state */
.kt-copied{ filter:none !important; }

/* search form */
.kt-searchform{ display:flex; gap:8px; max-width:420px; margin:0 auto; }
.kt-searchform input[type=search]{ flex:1; padding:13px 16px; border-radius:14px; border:2px solid #ffd9e2; background:#fff; font-size:18px; font-weight:700; outline:none; font-family:inherit; }
.kt-searchform button{ padding:13px 20px; border-radius:14px; border:none; background:var(--brand); color:#fff; font-weight:800; cursor:pointer; }

/* responsive */
@media (max-width:720px){
  .kt-nav{ display:none; }
  .kt-cta{ margin-left:auto; }
}
