/* LemonClub blog (index + article + author) — ported design styles */

  body { background: radial-gradient(900px 460px at 8% -6%, rgba(255,180,143,.16), transparent 60%), radial-gradient(820px 520px at 98% 4%, rgba(208,128,255,.13), transparent 58%), radial-gradient(760px 520px at 4% 102%, rgba(208,128,255,.1), transparent 60%), var(--canvas); background-attachment: fixed; }
  .blg-tools { display:flex; align-items:center; gap:14px; }
  .blg-perlbl { font-size:13.5px; color:var(--ink-secondary); display:inline-flex; align-items:center; gap:6px; }
  .blg-perlbl select { border:1px solid var(--border-subtle); border-radius:9px; padding:7px 9px; font-family:inherit; font-size:13.5px; font-weight:600; color:var(--ink); background:#fff; cursor:pointer; }
  .blg-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; position: relative; }
  .blg-deco { position:absolute; inset:0 0 auto 0; height:520px; pointer-events:none; overflow:hidden; z-index:0; }
  .blg-deco > * { position:absolute; }
  .blg-orbit { border:1.5px dashed; border-radius:50%; }
  .blg-orbit--a { width:520px; height:520px; top:-200px; left:-160px; border-color:rgba(234,83,53,.25); }
  .blg-orbit--b { width:560px; height:560px; top:-220px; right:-200px; border-color:rgba(208,128,255,.3); }
  .blg-star { width:26px; height:26px; }
  .blg-star--1 { top:120px; left:6%; }
  .blg-star--2 { top:300px; right:9%; width:18px; height:18px; opacity:.8; }
  .blg-pill { display:inline-flex; align-items:center; gap:7px; background:#fff; border:1px solid var(--border-subtle); border-radius:999px; padding:8px 14px; font-size:12.5px; font-weight:700; color:var(--ink); box-shadow:0 8px 18px -8px rgba(30,2,53,.22); white-space:nowrap; }
  .blg-pill i { width:7px; height:7px; border-radius:50%; }
  .blg-pill--1 { top:200px; left:3%; transform:rotate(-5deg); }
  .blg-pill--2 { top:90px; right:5%; transform:rotate(4deg); }
  .blg-pill--3 { top:330px; right:4%; transform:rotate(-4deg); }
  .blg-head, .blg-feat { position:relative; z-index:1; }
  @media (max-width:900px){ .blg-deco { display:none; } }
  .blg-head { text-align: center; padding: 56px 0 8px; }
  .blg-head h1 { font-size: clamp(34px,4.6vw,52px); font-weight: 800; letter-spacing: -0.03em; }
  .blg-head p { font-size: 16.5px; color: var(--ink-secondary); margin-top: 12px; }
  .blg-feat { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; border: 1px solid var(--border-subtle); border-radius: 24px; overflow: hidden; margin: 30px 0 12px; background: #fff; box-shadow: 0 1px 3px rgba(30,2,53,.05); }
  .blg-feat__art { min-height: 340px; background: linear-gradient(135deg,#1E0235 0%,#3A1660 50%,#FFE3D4 100%); display: grid; place-items: center; }
  .blg-feat__art img { max-width: 60%; }
  .blg-feat__body { padding: 36px; display: flex; flex-direction: column; }
  .blg-tag { align-self: flex-start; font-size: 12px; font-weight: 700; background: #F1E7FB; color: #8B33C7; border-radius: 999px; padding: 6px 13px; }
  .blg-feat__body h2 { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; margin-top: 16px; line-height: 1.2; }
  .blg-feat__body p { font-size: 15px; color: var(--ink-secondary); margin-top: 12px; line-height: 1.6; }
  .blg-author { display: flex; align-items: center; gap: 11px; margin-top: auto; padding-top: 28px; }
  .blg-author img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
  .blg-author b { font-size: 14px; font-weight: 700; color: var(--ink); display: block; }
  .blg-author span { font-size: 12.5px; color: var(--gray-500); }
  .blg-author a { color: inherit; }
  .blg-browse { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin: 48px 0 8px; }
  .blg-browse h2 { font-size: 30px; font-weight: 800; letter-spacing: -0.025em; }
  .blg-browse p { font-size: 14.5px; color: var(--ink-secondary); margin-top: 6px; }
  .blg-search { position: relative; }
  .blg-search input { border: 1px solid var(--border-subtle); border-radius: 999px; padding: 11px 42px 11px 16px; font-family: inherit; font-size: 14px; width: 240px; }
  .blg-search input:focus { outline: none; border-color: var(--coral); box-shadow: 0 0 0 3px rgba(234,83,53,.12); }
  .blg-search svg { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--gray-500); }
  .blg-cats { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 28px; }
  .blg-cat { border: 1.5px solid var(--border-subtle); background: #fff; border-radius: 999px; padding: 10px 18px; font-family: inherit; font-size: 14px; font-weight: 600; color: var(--ink); cursor: pointer; transition: border-color .15s, color .15s, background .15s; }
  .blg-cat:hover { border-color: #CDB8E0; }
  .blg-cat.on { border-color: var(--coral); color: var(--coral); background: #FFF4EF; }
  .blg-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; padding-bottom: 80px; }
  .blg-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--border-subtle); border-radius: 20px; overflow: hidden; box-shadow: 0 1px 2px rgba(30,2,53,.04); transition: transform .18s, box-shadow .18s, border-color .18s; }
  .blg-card:hover { transform: translateY(-5px); border-color: #CDB8E0; box-shadow: 0 24px 44px -22px rgba(30,2,53,.22); }
  .blg-card__art { height: 188px; display: grid; place-items: center; }
  .blg-card__art svg { width: 72px; height: 72px; }
  .blg-card__body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
  .blg-card__body .blg-tag { margin-bottom: 12px; }
  .blg-card h3 { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; }
  .blg-card p { font-size: 13.5px; color: var(--ink-secondary); margin-top: 9px; line-height: 1.55; flex: 1; }
  .blg-empty { grid-column: 1/-1; text-align: center; padding: 60px 0; color: var(--gray-500); }
  /* author page */
  .blg-authhero { position: relative; overflow: hidden; border-radius: 24px; background: radial-gradient(700px 300px at 80% 20%, #3A1660, #1E0235); color: #fff; text-align: center; padding: 48px 32px; margin: 24px 0 8px; }
  .blg-authhero img.av { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255,255,255,.2); }
  .blg-authhero h1 { font-size: 30px; font-weight: 800; margin-top: 16px; }
  .blg-authhero .role { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #FFB48F; margin-top: 6px; }
  .blg-authhero .bio { font-size: 14.5px; color: rgba(244,244,244,.75); margin-top: 12px; max-width: 60ch; margin-inline: auto; }
  .blg-authhero .soc { display: flex; gap: 10px; justify-content: center; margin-top: 18px; }
  .blg-authhero .soc a { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.1); display: grid; place-items: center; color: #fff; }
  .blg-authhero .soc svg { width: 17px; height: 17px; }
  .blg-authtitle { font-size: 28px; font-weight: 800; letter-spacing: -0.025em; margin: 40px 0 24px; }
  .blg-pager { display:flex; justify-content:center; gap:8px; padding-bottom:80px; }
  .blg-pg { min-width:40px; height:40px; border:1px solid var(--border-subtle); background:#fff; border-radius:10px; font-family:inherit; font-size:14px; font-weight:600; color:var(--ink); cursor:pointer; transition:border-color .15s,color .15s,background .15s; }
  .blg-pg:hover:not([disabled]){ border-color:var(--coral); color:var(--coral); }
  .blg-pg.on { background:var(--coral); border-color:var(--coral); color:#fff; }
  .blg-pg[disabled]{ opacity:.4; cursor:default; }
  .blg-grid { padding-bottom:32px; }
  @media (max-width:900px){ .blg-feat { grid-template-columns: 1fr; } .blg-grid { grid-template-columns: repeat(2,1fr); } }
  @media (max-width:600px){ .blg-grid { grid-template-columns: 1fr; } }


  .blg-tag { display:inline-block; font-size:12px; font-weight:700; background:#F1E7FB; color:#8B33C7; border-radius:999px; padding:6px 13px; }
  body { background: radial-gradient(900px 460px at 8% -6%, rgba(255,180,143,.14), transparent 60%), radial-gradient(820px 520px at 98% 4%, rgba(208,128,255,.12), transparent 58%), var(--canvas); background-attachment: fixed; }
  .art-wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
  .art-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 48px; align-items: start; padding: 24px 0 72px; }
  .art-back { display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:600; color:var(--ink-secondary); margin:18px 0 12px; }
  .art-back:hover { color:var(--coral); } .art-back svg { width:16px; height:16px; }
  .art-main .blg-tag { display:block; width:fit-content; margin-top:14px; }
  .art-main h1 { font-size: clamp(28px,3.6vw,40px); font-weight:800; letter-spacing:-0.025em; line-height:1.15; }
  .art-cover { height: 220px; border-radius:18px; margin:22px 0; background:linear-gradient(135deg,#0C3F45,#06262B); display:grid; place-items:center; }
  .art-cover svg { width:90px; height:90px; }
  .art-meta { display:flex; align-items:center; gap:11px; }
  .art-meta img { width:40px; height:40px; border-radius:50%; }
  .art-meta b { font-size:14px; font-weight:700; color:var(--ink); display:block; } .art-meta span { font-size:12.5px; color:var(--gray-500); }
  .art-key { background:#fff; border:1px solid var(--border-subtle); border-radius:18px; padding:22px 24px; margin:24px 0; box-shadow:0 1px 2px rgba(30,2,53,.04); }
  .art-key h2 { display:flex; align-items:center; gap:9px; font-size:18px; font-weight:800; }
  .art-key h2 svg { width:20px; height:20px; color:var(--coral); }
  .art-key ul { list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:11px; }
  .art-key li { display:flex; gap:10px; font-size:14.5px; line-height:1.55; color:var(--ink); }
  .art-key li svg { width:18px; height:18px; color:var(--success); flex:none; margin-top:2px; }
  .art-body h2 { font-size:24px; font-weight:800; letter-spacing:-0.02em; margin:32px 0 0; scroll-margin-top:88px; }
  .art-body h3 { font-size:18px; font-weight:700; margin:22px 0 0; }
  .art-body p { font-size:15.5px; line-height:1.7; color:var(--ink-secondary); margin-top:12px; }
  .art-body p b, .art-body p strong { color:var(--ink); }
  .art-body a { color:var(--coral); font-weight:600; }
  .art-code { background:#0C2A30; border-radius:12px; padding:18px 20px; margin:18px 0; font-family:ui-monospace,Menlo,monospace; font-size:12.5px; line-height:1.7; color:#CBE6DF; white-space:pre; overflow-x:auto; }
  .art-code .k{color:#7FE3D6} .art-code .s{color:#9CE6B5} .art-code .c{color:#5C8a86}
  .art-faq { border-top:1px solid var(--border-subtle); margin-top:18px; }
  .art-faq__i { border-bottom:1px solid var(--border-subtle); }
  .art-faq__q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px; background:none; border:0; text-align:left; padding:18px 2px; font-family:inherit; font-size:15.5px; font-weight:600; color:var(--ink); cursor:pointer; }
  .art-faq__q svg { width:18px; height:18px; color:var(--gray-500); transition:transform .2s; flex:none; }
  .art-faq__i.open .art-faq__q svg { transform:rotate(180deg); color:var(--coral); }
  .art-faq__a { max-height:0; overflow:hidden; transition:max-height .3s; }
  .art-faq__a p { font-size:14.5px; line-height:1.65; color:var(--ink-secondary); padding:0 2px 18px; }
  .art-authcard { background:#fff; border:1px solid var(--border-subtle); border-radius:18px; padding:22px; margin:30px 0; display:flex; gap:16px; }
  .art-authcard img { width:54px; height:54px; border-radius:50%; flex:none; }
  .art-authcard .r { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--coral); }
  .art-authcard b { font-size:16px; font-weight:800; display:block; } .art-authcard .role { font-size:12.5px; color:var(--gray-500); }
  .art-authcard p { font-size:13.5px; line-height:1.6; color:var(--ink-secondary); margin-top:8px; }
  .art-authcard a { font-size:13px; font-weight:700; color:var(--coral); margin-top:10px; display:inline-block; }
  .art-share { display:flex; align-items:center; gap:12px; margin-top:18px; font-size:13px; font-weight:700; color:var(--ink); }
  .art-share a { width:36px; height:36px; border-radius:50%; border:1px solid var(--border-subtle); display:grid; place-items:center; color:var(--ink); }
  .art-share a:hover { border-color:var(--coral); color:var(--coral); } .art-share svg{width:16px;height:16px}
  /* sticky TOC */
  .art-toc { position:sticky; top:88px; }
  .art-toc__t { font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); margin-bottom:14px; }
  .art-toc__l { list-style:none; margin:0; padding:0; border-left:2px solid var(--border-subtle); }
  .art-toc__l a { display:block; padding:7px 0 7px 14px; margin-left:-2px; border-left:2px solid transparent; font-size:13.5px; color:var(--ink-secondary); }
  .art-toc__l a:hover { color:var(--ink); }
  .art-toc__l a.on { color:var(--coral); border-left-color:var(--coral); font-weight:600; }
  .art-toc__cta { margin-top:22px; background:#E7F6EE; border-radius:16px; padding:18px; }
  .art-toc__cta b { font-size:15px; font-weight:700; display:block; }
  .art-toc__cta .btn { margin-top:12px; width:100%; justify-content:center; }
  /* bnews + rel slider */
  body { background: radial-gradient(900px 460px at 6% -8%, rgba(255,180,143,.16), transparent 60%), radial-gradient(820px 520px at 99% 6%, rgba(208,128,255,.13), transparent 58%), radial-gradient(700px 500px at 50% 118%, rgba(208,128,255,.1), transparent 62%), var(--canvas); background-attachment: fixed; }
  .art-rel-nav { display:flex; gap:9px; }
  .art-rel-nav button { width:42px; height:42px; border-radius:50%; border:1px solid var(--border-subtle); background:#fff; font-size:17px; color:var(--ink); cursor:pointer; transition:border-color .15s,color .15s,opacity .15s; box-shadow:0 1px 2px rgba(30,2,53,.05); }
  .art-rel-nav button:hover{ border-color:var(--coral); color:var(--coral); }
  .art-rel-nav button[disabled]{ opacity:.35; pointer-events:none; }
  .art-rel-row { display:flex; gap:18px; overflow-x:auto;  scroll-behavior:smooth; scrollbar-width:none; padding:4px 2px 8px; }
  .art-rel-row::-webkit-scrollbar{ display:none; }
  .art-rel-row .blg-card { flex:0 0 320px;  display:flex; flex-direction:column; background:#fff; border:1px solid var(--border-subtle); border-radius:20px; overflow:hidden; box-shadow:0 1px 2px rgba(30,2,53,.05), 0 16px 32px -22px rgba(30,2,53,.2); transition:transform .18s,box-shadow .18s,border-color .18s; }
  .art-rel-row .blg-card:hover { transform:translateY(-5px); border-color:#CDB8E0; box-shadow:0 24px 44px -22px rgba(30,2,53,.24); }
  .art-rel-row .blg-card__art { height:168px; display:grid; place-items:center; }
  .art-rel-row .blg-card__art svg { width:64px; height:64px; }
  .art-rel-row .blg-card__body { padding:18px 20px 20px; display:flex; flex-direction:column; }
  .art-rel-row .blg-card h3 { font-size:16.5px; font-weight:700; letter-spacing:-0.01em; line-height:1.3; margin-top:0; }
  .art-rel-row .blg-tag { display:inline-block; width:fit-content; margin:0 0 12px; }
  .bnews { position:relative; overflow:clip; text-align:center; background:#FCFBF8; border:1px solid #ECE9E4; border-radius:28px; padding:56px 32px; margin:52px 0 12px; box-shadow:0 1px 3px rgba(30,2,53,.05), 0 30px 60px -36px rgba(30,2,53,.22); }
  .bnews::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:radial-gradient(rgba(30,2,53,.05) 1.2px, transparent 1.2px); background-size:24px 24px; -webkit-mask-image:radial-gradient(520px 240px at 50% 35%, #000 8%, transparent 74%); mask-image:radial-gradient(520px 240px at 50% 35%, #000 8%, transparent 74%); }
  .bnews > * { position:relative; z-index:1; }
  .bnews__orbit { position:absolute; border:1.5px dashed; border-radius:50%; z-index:0; }
  .bnews__orbit--a { width:360px; height:360px; top:-150px; left:-120px; border-color:rgba(234,83,53,.22); }
  .bnews__orbit--b { width:400px; height:400px; bottom:-200px; right:-150px; border-color:rgba(208,128,255,.3); }
  .bn-star { position:absolute; width:26px; height:26px; z-index:0; top:40px; left:11%; }
  .bn-star.c { width:18px; height:18px; right:13%; left:auto; bottom:46px; top:auto; }
  .bnews__ic { display:inline-grid; place-items:center; width:52px; height:52px; border-radius:14px; background:#FFE9E2; color:var(--coral); margin-bottom:14px; }
  .bnews__ic svg { width:26px; height:26px; }
  .bnews h2 { font-size:30px; font-weight:800; letter-spacing:-0.025em; }
  .bnews p { font-size:15px; color:var(--ink-secondary); margin-top:10px; max-width:52ch; margin-inline:auto; }
  .bnews__form { display:flex; gap:10px; justify-content:center; margin-top:22px; flex-wrap:wrap; }
  .bnews__form input { border:1px solid var(--border-subtle); border-radius:12px; padding:13px 16px; font-family:inherit; font-size:14.5px; min-width:260px; background:#fff; }
  .bnews__form input:focus { outline:none; border-color:var(--coral); box-shadow:0 0 0 3px rgba(234,83,53,.12); }
  .bnews__fine { font-size:12.5px; color:var(--gray-500); margin-top:14px; }
  /* news band */
  .art-divider { height:1px; background:var(--border-subtle); margin:32px 0 0; }
  .art-news { background:linear-gradient(180deg,#E4F7EC,#D2F0DF); border:1px solid #BFE5CF; border-radius:24px; padding:44px 32px; text-align:center; margin:48px 0 12px; }
  .art-news h2 { display:inline-flex; align-items:center; gap:10px; font-size:26px; font-weight:800; letter-spacing:-0.02em; }
  .art-news h2 svg { width:24px; height:24px; color:#0E8C84; }
  .art-news p { font-size:14.5px; color:var(--ink-secondary); margin-top:10px; }
  .art-news__form { display:flex; gap:10px; justify-content:center; margin-top:20px; flex-wrap:wrap; }
  .art-news__form input { border:1px solid var(--border-subtle); border-radius:11px; padding:12px 16px; font-family:inherit; font-size:14.5px; min-width:240px; background:#fff; }
  .art-news__form input:focus { outline:none; border-color:var(--coral); box-shadow:0 0 0 3px rgba(234,83,53,.12); }
  .art-news__fine { font-size:12px; color:var(--gray-500); margin-top:14px; }
  .art-rel-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:22px; }
  .art-rel-head h2 { font-size:26px; font-weight:800; letter-spacing:-0.025em; }
  .art-rel-all { font-size:14px; font-weight:700; color:var(--coral); }
  .art-rel-grid { grid-template-columns:repeat(3,1fr); padding-bottom:0; }
  .art-rel-grid .blg-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--border-subtle); border-radius:20px; overflow:hidden; box-shadow:0 1px 2px rgba(30,2,53,.04); transition:transform .18s,box-shadow .18s,border-color .18s; }
  .art-rel-grid .blg-card:hover { transform:translateY(-5px); border-color:#CDB8E0; box-shadow:0 24px 44px -22px rgba(30,2,53,.22); }
  .art-rel-grid .blg-card__art { height:172px; display:grid; place-items:center; }
  .art-rel-grid .blg-card__art svg { width:64px; height:64px; }
  .art-rel-grid .blg-card__body { padding:18px 20px 20px; display:flex; flex-direction:column; }
  .art-rel-grid .blg-card h3 { font-size:16.5px; font-weight:700; letter-spacing:-0.01em; line-height:1.3; margin-top:0; }
  .art-rel-grid .blg-tag { display:inline-block; width:fit-content; margin:0 0 12px; }
  @media (max-width:900px){ .art-rel-grid { grid-template-columns:repeat(2,1fr); } }
  @media (max-width:600px){ .art-rel-grid { grid-template-columns:1fr; } }
  @media (max-width:980px){ .art-grid { grid-template-columns:1fr; } .art-toc { position:static; } }

/* author page */
  .blg-authhero { position: relative; overflow: hidden; border-radius: 24px; background: linear-gradient(180deg,#FBFAFD,#F2EEF8); border:1px solid #ECE7F1; color: var(--ink); text-align: center; padding: 48px 32px; margin: 24px 0 8px; box-shadow: 0 1px 3px rgba(30,2,53,.05), 0 24px 50px -30px rgba(30,2,53,.2); }
  .blg-authhero img.av { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 8px 20px -8px rgba(30,2,53,.3); }
  .blg-authhero h1 { font-size: 30px; font-weight: 800; margin-top: 16px; }
  .blg-authhero .role { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--coral); margin-top: 6px; }
  .blg-authhero .bio { font-size: 14.5px; color: var(--ink-secondary); margin-top: 12px; max-width: 60ch; margin-inline: auto; }
  .blg-authhero .soc { display: flex; gap: 10px; justify-content: center; margin-top: 18px; }
  .blg-authhero .soc a { width: 38px; height: 38px; border-radius: 50%; background: #fff; border:1px solid var(--border-subtle); display: grid; place-items: center; color: var(--ink); transition:border-color .15s,color .15s; }
  .blg-authhero .soc a:hover { border-color:var(--coral); color:var(--coral); }
  .blg-authhero .soc svg { width: 17px; height: 17px; }
  .blg-authtitle { font-size: 28px; font-weight: 800; letter-spacing: -0.025em; margin: 40px 0 24px; }
  @media (max-width:900px){ .blg-feat { grid-template-columns: 1fr; } .blg-grid { grid-template-columns: repeat(2,1fr); } }
  @media (max-width:600px){ .blg-grid { grid-template-columns: 1fr; } }
