/* Bitácora GR8 — blog styles (depends on ../../../colors_and_type.css) */
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg-0);color:var(--fg-1);font-family:var(--font-body);
  background-image:
    radial-gradient(54% 36% at 50% 0%,rgba(46,155,255,.14),transparent 60%),
    radial-gradient(46% 28% at 50% 100%,rgba(11,111,212,.08),transparent 60%);
  background-attachment:fixed}
#root{min-height:100vh}
.page{max-width:1140px;margin:0 auto;padding:30px 40px 64px;min-height:100vh;display:flex;flex-direction:column}

/* ---------- masthead ---------- */
.mast{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding-bottom:26px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.back{display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--gr8-blue-glow);
  background:var(--bg-2);padding:8px 13px;border-radius:var(--r-pill);box-shadow:var(--inset-hairline);
  transition:all var(--dur) var(--ease-out);white-space:nowrap}
.back:hover{color:var(--gr8-cyan);box-shadow:inset 0 0 0 1px var(--gr8-blue),var(--glow-blue-sm)}
.mast-r{display:flex;align-items:center;gap:14px}
.back.ghost{color:var(--arqus-glow)}
.back.ghost:hover{box-shadow:inset 0 0 0 1px rgba(245,158,44,.6),var(--glow-amber)}
.back i{width:14px;height:14px}
.mast-id{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}
.mast-id .kick{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--fg-3)}
.mast-id .bita{font-family:var(--font-display);font-weight:700;font-size:30px;letter-spacing:-.02em;margin:0;
  color:var(--fg-1);text-shadow:0 0 22px rgba(46,155,255,.25)}
.mast-id .dot-line{width:42px;height:2px;border-radius:2px;background:var(--gr8-blue);box-shadow:var(--glow-blue-sm)}

/* ---------- shared meta ---------- */
.wrap{flex:1;width:100%;max-width:760px;margin:0 auto}
.tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gr8-blue-glow);background:rgba(46,155,255,.12);padding:4px 9px;border-radius:var(--r-pill)}
.dot{color:var(--fg-3)}

/* ---------- index ---------- */
.intro{font-family:var(--font-body);font-size:16.5px;line-height:1.62;color:var(--fg-2);
  max-width:620px;margin:34px 0 30px;text-wrap:pretty}
.feed{display:flex;flex-direction:column}
.entry{display:flex;gap:22px;padding:26px 4px;border-top:1px solid var(--line);cursor:pointer;
  transition:all var(--dur) var(--ease-out)}
.entry:last-child{border-bottom:1px solid var(--line)}
.entry:hover{background:linear-gradient(90deg,rgba(46,155,255,.06),transparent 70%);padding-left:14px;padding-right:14px;
  border-radius:var(--r-md)}
.ent-no{font-family:var(--font-mono);font-size:12px;color:var(--gr8-blue);padding-top:5px;flex:none;width:24px}
.ent-main{min-width:0;flex:1}
.ent-meta{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11.5px;color:var(--fg-3);margin-bottom:11px;flex-wrap:wrap}
.ent-meta time{font-family:var(--font-mono)}
.ent-title{font-family:var(--font-display);font-weight:600;font-size:24px;line-height:1.18;letter-spacing:-.015em;
  color:var(--fg-1);margin:0 0 8px;text-wrap:balance;transition:color var(--dur)}
.entry:hover .ent-title{color:var(--gr8-cyan)}
.ent-dek{font-size:15px;line-height:1.55;color:var(--fg-2);margin:0 0 14px;max-width:560px;text-wrap:pretty}
.ent-cta{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;
  letter-spacing:.04em;color:var(--gr8-blue-glow)}
.ent-cta i{width:14px;height:14px;transition:transform var(--dur)}
.entry:hover .ent-cta i{transform:translateX(4px)}

/* ---------- reader ---------- */
.back-link{display:inline-flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--fg-3);padding:4px 0;
  margin:34px 0 22px;transition:color var(--dur)}
.back-link:hover{color:var(--gr8-cyan)}
.back-link i{width:15px;height:15px}
.foot-back{margin:40px 0 0;padding-top:26px;border-top:1px solid var(--line);width:100%}
.article{max-width:680px}
.art-meta{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;color:var(--fg-3);flex-wrap:wrap}
.art-title{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,4.4vw,42px);line-height:1.08;
  letter-spacing:-.025em;color:var(--fg-1);margin:18px 0 16px;text-wrap:balance}
.art-dek{font-family:var(--font-body);font-weight:500;font-size:19px;line-height:1.5;color:var(--fg-2);margin:0;text-wrap:pretty}
.art-rule{margin:30px 0 4px}
.art-rule span{display:block;width:54px;height:2px;border-radius:2px;background:var(--gr8-blue);box-shadow:var(--glow-blue-sm)}

.art-body{font-family:var(--font-body);font-size:17.5px;line-height:1.72;color:var(--fg-1)}
.art-body>*{max-width:62ch}
.art-body p{margin:22px 0;color:#dde6f2;text-wrap:pretty}
.art-body p:first-child{margin-top:26px}
.art-body p:first-child::first-letter{font-family:var(--font-display);font-weight:700;font-size:3.1em;line-height:.78;
  float:left;margin:6px 12px 0 0;color:var(--gr8-cyan);text-shadow:var(--text-glow-blue)}
.art-body h2{font-family:var(--font-display);font-weight:600;font-size:23px;letter-spacing:-.01em;color:var(--fg-1);
  margin:42px 0 0}
.art-body blockquote{margin:30px 0;padding:6px 0 6px 24px;border-left:2px solid var(--gr8-blue);
  font-family:var(--font-display);font-weight:500;font-size:21px;line-height:1.4;color:var(--gr8-cyan);
  text-shadow:0 0 18px rgba(46,155,255,.25);font-style:italic}
.art-body ul{margin:22px 0;padding-left:4px;list-style:none}
.art-body li{position:relative;padding-left:24px;margin:12px 0;color:#dde6f2}
.art-body li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:50%;
  background:var(--gr8-blue);box-shadow:var(--glow-blue-sm)}
.art-body .hi{font-weight:700;color:var(--arqus-glow);text-shadow:var(--text-glow-amber)}

.art-end{text-align:center;color:var(--gr8-blue);letter-spacing:.5em;margin:46px 0 26px;font-size:14px}
.art-sign{display:flex;flex-direction:column;gap:3px}
.art-sign .sig-k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-3)}
.art-sign .sig-v{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--fg-1)}

/* ---------- footer ---------- */
.foot{text-align:center;margin-top:48px;padding-top:26px;border-top:1px solid var(--line);
  font-family:var(--font-mono);font-size:11px;color:var(--fg-3);letter-spacing:.05em}
.foot a{color:var(--gr8-blue-glow);text-decoration:none}
.foot a:hover{color:var(--gr8-cyan)}

@media (max-width:680px){
  .page{padding:24px 20px 52px}
  .mast{flex-wrap:wrap;gap:12px;justify-content:center}
  .mast-id{order:-1;width:100%}
  .entry{gap:14px}
  .ent-no{display:none}
}
