/* ================================================================
   LoopReset — Single Post Styles
   ================================================================ */

.progress-bar { position:fixed; top:0; left:0; height:3px; background:var(--grad); z-index:10000; transition:width .1s; width:0%; }

.bc { background:var(--sf); border-bottom:1px solid var(--bd); padding:.85rem 1.5rem; }
.bci { max-width:760px; margin:0 auto; display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:var(--gy); flex-wrap:wrap; }
.bci a { color:var(--mt); transition:color .2s; }
.bci a:hover { color:var(--pr); }
.bci .sep { color:var(--bd); }

.ah { padding:4rem 1.5rem 3rem; background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(155,139,244,.08) 0%,transparent 65%); border-bottom:1px solid var(--bd); }
.ahi { max-width:760px; margin:0 auto; }
.ac-tag { display:inline-block; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--pr); background:var(--prl); border-radius:4px; padding:.25rem .65rem; margin-bottom:1.25rem; }
.ah h1 { font-size:clamp(1.9rem,4vw,2.8rem); font-weight:900; color:#fff; line-height:1.1; margin-bottom:1.25rem; }
.ah .exc { font-size:1.05rem; color:var(--mt); line-height:1.8; margin-bottom:2rem; }
.am { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.aa { display:flex; align-items:center; gap:.75rem; }
.av-wrap { width:36px; height:36px; border-radius:50%; overflow:hidden; border:2px solid rgba(155,139,244,.3); flex-shrink:0; background:var(--grad); display:flex; align-items:center; justify-content:center; font-size:1rem; }
.an { font-size:.875rem; font-weight:600; color:var(--tx); }
.dot { width:4px; height:4px; border-radius:50%; background:var(--bd); flex-shrink:0; }
.mi { font-size:.82rem; color:var(--gy); }

.fi { max-width:760px; margin:0 auto; padding:2.5rem 1.5rem; }
.fi img { width:100%; border-radius:16px; border:1px solid var(--bd); }

.al { max-width:var(--mx); margin:0 auto; padding:0 1.5rem 5rem; display:grid; grid-template-columns:1fr 300px; gap:4rem; align-items:start; }

.acnt { font-size:1rem; color:var(--mt); line-height:1.9; }
.acnt h2 { font-size:1.6rem; font-weight:800; color:#fff; margin:2.5rem 0 1rem; line-height:1.2; }
.acnt h3 { font-size:1.2rem; font-weight:700; color:#fff; margin:2rem 0 .75rem; }
.acnt h4 { font-size:1rem; font-weight:700; color:var(--tx); margin:1.5rem 0 .5rem; }
.acnt p { margin-bottom:1.25rem; }
.acnt p strong { color:var(--tx); }
.acnt a { color:var(--pr); text-decoration:underline; text-underline-offset:3px; }
.acnt a:hover { color:var(--prm); }
.acnt ul, .acnt ol { padding-left:1.5rem; margin-bottom:1.25rem; display:flex; flex-direction:column; gap:.5rem; }
.acnt li { color:var(--mt); line-height:1.75; }
.acnt blockquote { border-left:3px solid var(--pr); padding:1rem 1.5rem; margin:2rem 0; background:var(--sf); border-radius:0 8px 8px 0; }
.acnt blockquote p { color:var(--tx); font-style:italic; margin:0; }
.acnt img { border-radius:10px; margin:1.5rem 0; border:1px solid var(--bd); width:100%; }
.acnt hr { border:none; border-top:1px solid var(--bd); margin:2.5rem 0; }
.acnt code { background:var(--sf2); border:1px solid var(--bd); border-radius:4px; padding:.15rem .4rem; font-size:.875rem; color:var(--prm); font-family:monospace; }
.acnt pre { background:var(--sf); border:1px solid var(--bd); border-radius:10px; padding:1.5rem; overflow-x:auto; margin:1.5rem 0; }
.acnt pre code { background:none; border:none; padding:0; }
.acnt table { width:100%; border-collapse:collapse; margin:1.5rem 0; font-size:.9rem; }
.acnt th { background:var(--sf); color:#fff; font-weight:700; padding:.75rem 1rem; text-align:left; border-bottom:2px solid var(--bd); }
.acnt td { padding:.75rem 1rem; border-bottom:1px solid var(--bd); color:var(--mt); }
.acnt tr:hover td { background:rgba(255,255,255,.02); }

.tgs { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--bd); display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.tgs-lb { font-size:.8rem; font-weight:600; color:var(--gy); }
.tg { font-size:.75rem; font-weight:600; color:var(--mt); background:var(--sf2); border:1px solid var(--bd); border-radius:50px; padding:.3rem .85rem; transition:all .2s; }
.tg:hover { border-color:var(--pr); color:var(--pr); }

.sh { margin-top:2rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.sh-lb { font-size:.82rem; font-weight:600; color:var(--gy); }
.sh-btn { display:inline-flex; align-items:center; gap:.4rem; background:var(--sf); border:1px solid var(--bd); color:var(--mt); padding:.5rem 1rem; border-radius:50px; font-size:.8rem; font-weight:600; transition:all .2s; }
.sh-btn:hover { border-color:var(--pr); color:var(--pr); }

.sb { position:sticky; top:80px; display:flex; flex-direction:column; gap:1.25rem; }
.sb-cta { background:var(--sf); border:1px solid rgba(155,139,244,.3); border-radius:var(--rd); padding:1.5rem; text-align:center; }
.sb-cta h4 { font-size:1rem; font-weight:800; color:#fff; margin-bottom:.5rem; line-height:1.3; }
.sb-cta p { font-size:.8rem; color:var(--mt); margin-bottom:1.25rem; line-height:1.6; }
.sb-price { font-size:1.8rem; font-weight:900; color:#fff; }
.sb-pnote { font-size:.75rem; color:var(--gy); margin:.2rem 0 1rem; }
.sb-btn { display:flex; align-items:center; justify-content:center; gap:.4rem; background:var(--grad); color:#fff; padding:.85rem; border-radius:50px; font-size:.875rem; font-weight:700; transition:all .2s; width:100%; }
.sb-btn:hover { opacity:.85; transform:translateY(-1px); color:#fff; }
.sb-guar { font-size:.72rem; color:var(--gy); margin-top:.6rem; }
.sb-card { background:var(--sf); border:1px solid var(--bd); border-radius:var(--rd); padding:1.5rem; }
.sb-card h4 { font-size:.875rem; font-weight:700; color:#fff; margin-bottom:1rem; }
.sb-av { width:40px; height:40px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; margin-bottom:.75rem; }
.sb-bio { font-size:.8rem; color:var(--mt); line-height:1.65; }
.sb-bio a { color:var(--pr); }
.sb-proto { border-color:rgba(155,139,244,.25); background:rgba(155,139,244,.04); }
.sb-proto h4 { color:var(--pr); }
.sb-proto p { font-size:.82rem; color:var(--mt); line-height:1.65; margin-bottom:.75rem; }
.sb-proto a { font-size:.8rem; color:var(--pr); font-weight:700; }

.rp { background:var(--sf); border-top:1px solid var(--bd); padding:4rem 1.5rem; }
.rpi { max-width:var(--mx); margin:0 auto; }
.rp h2 { font-size:1.5rem; font-weight:800; color:#fff; margin-bottom:2rem; }
.rpg { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.rpc { background:var(--sf2); border:1px solid var(--bd); border-radius:var(--rd); overflow:hidden; transition:border-color .2s,transform .2s; display:flex; flex-direction:column; }
.rpc:hover { border-color:var(--pr); transform:translateY(-3px); }
.rpt { height:140px; background:var(--bg); display:flex; align-items:center; justify-content:center; font-size:2rem; border-bottom:1px solid var(--bd); overflow:hidden; position:relative; }
.rpt img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rpb { padding:1.25rem; flex:1; display:flex; flex-direction:column; }
.rp-cat { display:inline-block; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--pr); background:var(--prl); border-radius:4px; padding:.15rem .5rem; margin-bottom:.6rem; }
.rp-title { font-size:.9rem; font-weight:700; color:#fff; line-height:1.4; margin-bottom:.75rem; flex:1; }
.rp-read { font-size:.78rem; color:var(--pr); font-weight:600; }

@media (max-width:960px) {
  .al { grid-template-columns:1fr; }
  .sb { position:static; }
  .rpg { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .ah h1 { font-size:1.8rem; }
  .al { padding:0 1.25rem 4rem; }
  .rpg { grid-template-columns:1fr; }
}
