/* ---------- header ---------- */
.lpr-header{
  position:sticky; top:0; z-index:50;
  background:rgba(241,236,221,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.lpr-nav-wrap{
  max-width:1180px; margin:0 auto; padding:14px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.lpr-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.lpr-brand .lpr-logo-img{ height:40px; width:auto; display:block; }
.lpr-links{ display:flex; gap:28px; font-family:'IBM Plex Mono', monospace; font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; }
.lpr-links a{ text-decoration:none; position:relative; padding-bottom:3px; }
.lpr-links a::after{ content:""; position:absolute; left:0; bottom:0; height:1.5px; width:0; background:var(--rouge); transition:width 0.25s ease; }
.lpr-links a:hover::after, .lpr-links a:focus-visible::after{ width:100%; }
@media (max-width:720px){ .lpr-links{ display:none; } }

/* ---------- hero ---------- */
.lpr-hero{
  max-width:1180px; margin:0 auto; padding:64px 28px 40px;
  display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center;
}
.lpr-hero-copy .lpr-eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--rouge-deep); display:flex; align-items:center; gap:10px;
}
.lpr-eyebrow .lpr-dot{ width:6px; height:6px; border-radius:50%; background:var(--mousse); display:inline-block; }
.lpr-hero h1{
  font-family:'Fraunces', serif; font-weight:650; font-size:clamp(2.2rem, 4.2vw, 3.4rem);
  line-height:1.03; margin:14px 0 20px; letter-spacing:-0.01em;
}
.lpr-hero h1 em{ font-style:italic; color:var(--rouge); font-weight:500; }
.lpr-hero p.lpr-lede{ font-size:1.1rem; color:#3a3730; max-width:46ch; }
.lpr-facts{ display:flex; gap:26px; margin-top:28px; flex-wrap:wrap; }
.lpr-facts div{ font-family:'IBM Plex Mono', monospace; }
.lpr-facts .lpr-num{ font-family:'Fraunces', serif; font-size:1.6rem; font-weight:650; color:var(--rouge-deep); display:block; line-height:1; }
.lpr-facts .lpr-lab{ font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:#6b675c; }
.lpr-cta-row{ margin-top:32px; display:flex; gap:14px; flex-wrap:wrap; }
.lpr-btn{
  font-family:'IBM Plex Mono', monospace; font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase;
  text-decoration:none; padding:12px 22px; border-radius:3px; display:inline-block; border:1px solid var(--ink);
  background:none; cursor:pointer;
}
.lpr-btn.lpr-solid{ background:var(--ink); color:var(--paper); }
.lpr-btn.lpr-solid:hover{ background:var(--rouge-deep); border-color:var(--rouge-deep); }
.lpr-btn.lpr-ghost{ color:var(--ink); }
.lpr-btn.lpr-ghost:hover{ background:var(--ink); color:var(--paper); }

.lpr-featured-wrap{ position:relative; display:flex; justify-content:center; }
.lpr-postcard{
  background:var(--card); border-radius:6px;
  box-shadow:0 18px 34px var(--shadow), 0 2px 6px rgba(33,31,26,0.10);
  padding:14px 14px 18px; position:relative; transform:rotate(-2.2deg);
  transition:transform 0.35s ease, box-shadow 0.35s ease;
}
.lpr-postcard.lpr-big{ width:280px; }
.lpr-postcard:hover{ transform:rotate(0deg) translateY(-4px); box-shadow:0 24px 40px var(--shadow); }
.lpr-postcard .lpr-perf{
  position:absolute; left:0; right:0; top:-1px; height:10px;
  background-image: radial-gradient(circle, var(--paper) 2.6px, transparent 2.7px);
  background-size:14px 14px; background-position:6px 0; background-repeat:repeat-x;
}
.lpr-postcard img{ width:100%; display:block; border-radius:2px; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.06); }
.lpr-postmark{
  position:absolute; top:-14px; right:-14px; width:66px; height:66px; border-radius:50%;
  border:2px solid var(--oeuf); display:flex; align-items:center; justify-content:center; flex-direction:column;
  background:var(--paper); color:var(--oeuf); font-family:'IBM Plex Mono', monospace;
  transform:rotate(8deg); box-shadow:0 4px 10px rgba(33,31,26,0.15);
}
.lpr-postmark .lpr-q{ font-size:0.62rem; }
.lpr-postmark .lpr-y{ font-size:0.72rem; font-weight:600; }
.lpr-postcard .lpr-cap{
  font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color:#5a5748;
  margin-top:10px; display:flex; justify-content:space-between; align-items:baseline;
}
@media (max-width:900px){
  .lpr-hero{ grid-template-columns:1fr; padding-top:40px; }
  .lpr-featured-wrap{ justify-content:flex-start; margin-top:12px; }
}

/* ---------- archives ---------- */
.lpr-archives{ max-width:1180px; margin:0 auto; padding:20px 28px 100px; }
.lpr-section-head{ display:flex; align-items:baseline; gap:16px; margin:70px 0 26px; }
.lpr-section-head h2{ font-family:'Fraunces', serif; font-weight:650; font-size:1.9rem; margin:0; letter-spacing:-0.01em; }
.lpr-section-head .lpr-rule{ flex:1; height:1px; background:var(--line); }
.lpr-section-head .lpr-count{ font-family:'IBM Plex Mono', monospace; font-size:0.75rem; color:#8a8578; }

.lpr-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:34px 24px; }
.lpr-card{
  background:var(--card); border-radius:5px; padding:10px 10px 12px;
  box-shadow:0 8px 16px rgba(33,31,26,0.09); position:relative;
  transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.lpr-card:nth-child(3n+1){ transform:rotate(-1.1deg); }
.lpr-card:nth-child(3n+2){ transform:rotate(0.8deg); }
.lpr-card:nth-child(3n){ transform:rotate(-0.4deg); }
.lpr-card:hover, .lpr-card:focus-within{ transform:rotate(0deg) translateY(-3px); box-shadow:0 14px 22px rgba(33,31,26,0.16); z-index:2; }
.lpr-card .lpr-perf{
  position:absolute; left:0; right:0; top:-1px; height:8px;
  background-image: radial-gradient(circle, var(--paper) 2.2px, transparent 2.3px);
  background-size:11px 11px; background-position:5px 0; background-repeat:repeat-x;
}
.lpr-card img{ width:100%; display:block; border-radius:2px; }
.lpr-card .lpr-stamp{
  position:absolute; top:-10px; right:-10px; width:38px; height:38px; border-radius:50%;
  border:1.5px solid var(--oeuf); background:var(--paper); color:var(--oeuf);
  display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono', monospace;
  font-size:0.58rem; font-weight:600; transform:rotate(6deg);
}
.lpr-card .lpr-meta{ margin-top:8px; font-family:'IBM Plex Mono', monospace; font-size:0.68rem; color:#6b675c; }
.lpr-card .lpr-no{ font-family:'Fraunces', serif; font-weight:600; font-size:0.95rem; color:var(--ink); display:block; margin-top:8px; }

.lpr-read-btn{ font:inherit; background:none; border:none; padding:0; margin:0; cursor:pointer; color:var(--rouge-deep); text-decoration:none; }
.lpr-read-btn:hover{ text-decoration:underline; }

/* ---------- about strip ---------- */
.lpr-about{ background:var(--ink); color:var(--paper); padding:70px 28px; }
.lpr-about-in{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.lpr-about h3{ font-family:'Fraunces', serif; font-weight:650; font-size:1.7rem; margin:0 0 14px; }
.lpr-about p{ color:#d9d4c4; max-width:52ch; }
.lpr-about .lpr-contact{ font-family:'IBM Plex Mono', monospace; font-size:0.85rem; line-height:2; color:#c8c2ad; }
.lpr-about .lpr-contact a{ color:var(--paper); text-decoration:none; border-bottom:1px solid var(--mousse); }
@media (max-width:800px){ .lpr-about-in{ grid-template-columns:1fr; } }

.lpr-footer{ padding:22px 28px; text-align:center; font-family:'IBM Plex Mono', monospace; font-size:0.7rem; color:#8a8578; letter-spacing:0.04em; }

/* ---------- reader modal ---------- */
.lpr-reader-modal{
  position:fixed; inset:0; z-index:1000; background:rgba(15,14,11,0.94);
  display:none; flex-direction:column; opacity:0; transition:opacity 0.28s ease;
}
.lpr-reader-modal.lpr-open{ display:flex; opacity:1; }
.lpr-reader-top{ display:flex; align-items:center; justify-content:space-between; padding:16px 22px; color:var(--paper); flex-shrink:0; }
.lpr-reader-title{ font-family:'Fraunces', serif; font-weight:600; font-size:1.05rem; }
.lpr-reader-pageno{ font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:#b7b1a0; }
.lpr-reader-close{
  background:none; border:1px solid rgba(241,236,221,0.35); color:var(--paper);
  width:36px; height:36px; border-radius:50%; font-size:1.3rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background 0.2s ease, transform 0.2s ease;
}
.lpr-reader-close:hover{ background:rgba(241,236,221,0.14); transform:rotate(90deg); }
.lpr-reader-stage{ flex:1; position:relative; display:flex; align-items:center; justify-content:center; min-height:0; padding:10px 70px 34px; }
.lpr-reader-book{ visibility:hidden; position:relative; perspective:2200px; }
.lpr-flip-page{
  position:absolute; inset:0; background:#fdfcf8; overflow:hidden;
  box-shadow:0 20px 45px rgba(0,0,0,0.35), inset 0 0 24px rgba(0,0,0,0.06);
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  transform-style:preserve-3d; transition:transform 0.62s cubic-bezier(.45,.05,.15,1);
}
.lpr-flip-page.lpr-back{ z-index:1; }
.lpr-flip-page.lpr-front{ z-index:6; }
.lpr-flip-page canvas{ width:100%; height:100%; display:block; }
.lpr-page-loading{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#b9b39f; font-family:'IBM Plex Mono', monospace; font-size:0.75rem; }
.lpr-reader-status{ position:absolute; color:var(--paper); font-family:'IBM Plex Mono', monospace; font-size:0.85rem; display:flex; align-items:center; gap:12px; }
.lpr-reader-status::before{
  content:""; width:16px; height:16px; border-radius:50%;
  border:2px solid rgba(241,236,221,0.3); border-top-color:var(--paper); animation:lpr-spin 0.8s linear infinite;
}
@keyframes lpr-spin{ to{ transform:rotate(360deg); } }
.lpr-reader-fallback{ display:none; flex-direction:column; align-items:center; gap:16px; color:var(--paper); text-align:center; max-width:320px; }
.lpr-reader-fallback p{ font-family:'Newsreader', serif; color:#d9d4c4; }
.lpr-reader-fallback a{ color:var(--paper); }
.lpr-reader-preview{ display:none; max-height:68vh; max-width:56vw; border-radius:3px; box-shadow:0 24px 50px rgba(0,0,0,0.55); filter:brightness(0.5) saturate(0.9); }
.lpr-reader-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(241,236,221,0.3); background:rgba(241,236,221,0.06); color:var(--paper);
  font-size:1.5rem; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:20;
  transition:background 0.2s ease, opacity 0.2s ease;
}
.lpr-reader-nav:hover{ background:rgba(241,236,221,0.18); }
.lpr-reader-nav:disabled{ opacity:0.3; cursor:default; }
.lpr-reader-nav.lpr-prev{ left:14px; }
.lpr-reader-nav.lpr-next{ right:14px; }
@media (max-width:760px){
  .lpr-reader-stage{ padding:6px 14px 20px; }
  .lpr-reader-nav{ width:38px; height:38px; font-size:1.2rem; }
  .lpr-reader-nav.lpr-prev{ left:4px; }
  .lpr-reader-nav.lpr-next{ right:4px; }
  .lpr-reader-title{ font-size:0.9rem; max-width:60vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
