:root{
  --cream:#F9F4EC;
  --sand:#F3E8D9;
  --paper:#FBF7EF;
  --terracotta:#9C2F1F;
  --garnet:#7C2417;
  --gold:#C7962C;
  --gold-soft:#E0BE6E;
  --brown:#3C2F2A;
  --ink:#2B211D;
  --olive:#5A6A4F;
  --footer:#241A16;
  --line: rgba(60,47,42,0.14);
  --shadow: 0 18px 40px -22px rgba(60,30,20,0.35);
  --radius: 2px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
::selection{background:var(--terracotta); color:var(--paper);}
::-webkit-scrollbar{width:11px;}
::-webkit-scrollbar-track{background:var(--cream);}
::-webkit-scrollbar-thumb{background:#d8c5a8; border-radius:20px; border:3px solid var(--cream);}
::-webkit-scrollbar-thumb:hover{background:var(--gold);}
:focus-visible{outline:2px solid var(--terracotta); outline-offset:2px;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  z-index:9999;
  opacity:0.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3,h4{font-family:'Playfair Display', serif; color:var(--brown); font-weight:700; line-height:1.15;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.container{max-width:1200px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--terracotta); font-weight:600; display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--gold);}
.section{padding:96px 0;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head h2{font-size:clamp(30px,3.6vw,42px); margin-top:14px;}
.section-head p{margin-top:14px; color:#5c4c44; font-size:16.5px;}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px; font-family:'Inter'; font-weight:600; font-size:14.5px;
  letter-spacing:.02em; border-radius:var(--radius); cursor:pointer;
  border:1px solid transparent; transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-primary{background:var(--terracotta); color:var(--paper);}
.btn-primary:hover{background:var(--garnet); transform:translateY(-2px); box-shadow:var(--shadow);}
.btn-primary:active{transform:translateY(0) scale(.97);}
.btn-outline{border-color:rgba(60,47,42,.35); color:var(--brown); background:transparent;}
.btn-outline:hover{border-color:var(--terracotta); color:var(--terracotta); transform:translateY(-2px);}
.btn-outline:active{transform:translateY(0) scale(.97);}
.btn-ghost{color:var(--terracotta); font-weight:600; font-size:14px; border-bottom:1px solid rgba(156,47,31,.35); border-radius:0; padding:4px 0; transition:opacity .15s ease;}
.btn-ghost:hover{border-color:var(--terracotta);}
.btn-ghost:active{opacity:.6;}

header{
  position:sticky; top:0; z-index:500;
  background:rgba(249,244,236,.92); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s ease;
}
header.scrolled{box-shadow:0 8px 24px -12px rgba(60,30,20,.25);}
.nav-row{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1240px; margin:0 auto;}
.logo{display:flex; align-items:center; gap:12px;}
.logo-text{font-family:'Playfair Display'; font-weight:700; line-height:1.1;}
.logo-text .tj{font-size:15px; letter-spacing:.03em; color:var(--brown); display:block;}
.logo-text .en{font-size:11px; letter-spacing:.14em; color:var(--terracotta); text-transform:uppercase; display:block; margin-top:2px;}
nav.main-nav{display:flex; gap:34px;}
nav.main-nav a{font-size:14.5px; font-weight:500; color:var(--brown); position:relative; padding:6px 0;}
nav.main-nav a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--terracotta); transition:width .25s ease;}
nav.main-nav a:hover::after, nav.main-nav a.active::after{width:100%;}
nav.main-nav a.active{color:var(--terracotta);}
.header-actions{display:flex; align-items:center; gap:18px;}
.lang-switch{display:flex; border:1px solid rgba(60,47,42,.3); border-radius:20px; overflow:hidden; font-size:12.5px; font-weight:600;}
.lang-switch button{padding:6px 14px; background:transparent; border:none; cursor:pointer; color:var(--brown); font-family:'Inter'; letter-spacing:.03em;}
.lang-switch button.active{background:var(--terracotta); color:var(--paper);}
.icon-btn{background:none; border:none; cursor:pointer; color:var(--brown); padding:4px;}
.burger{display:none; background:none; border:none; cursor:pointer;}
.burger span{display:block; width:24px; height:2px; background:var(--brown); margin:5px 0;}
@media (max-width:920px){
  nav.main-nav{position:fixed; top:70px; left:0; right:0; background:var(--paper); flex-direction:column; padding:20px 32px; gap:18px; border-bottom:1px solid var(--line); transform:translateY(-130%); transition:transform .3s ease; box-shadow:var(--shadow);}
  nav.main-nav.open{transform:translateY(0);}
  .burger{display:block;}
  .header-actions .btn-outline{padding:9px 14px; font-size:13px;}
}
@media (max-width:480px){
  .header-actions .btn-outline span{display:none;}
  .header-actions .btn-outline::after{content:"👤"; font-size:16px;}
}

.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg,var(--sand) 0%, var(--cream) 78%);
  padding-top:64px;
}
.hero-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;
  max-width:1240px; margin:0 auto; padding:64px 32px 90px;
}
.hero-copy .eyebrow{margin-bottom:18px;}
.hero-copy h1{font-size:clamp(42px,5.6vw,68px); letter-spacing:-.01em;}
.hero-copy h1 em{font-style:italic; color:var(--terracotta);}
.hero-copy p.lead{margin-top:22px; font-size:18px; max-width:480px; color:#5c4c44;}
.hero-actions{margin-top:36px; display:flex; gap:16px; flex-wrap:wrap;}
.hero-figure{
  position:relative; border-radius:3px;
  box-shadow:0 30px 60px -20px rgba(60,30,20,.45), 0 8px 20px -10px rgba(60,30,20,.3);
  transform:rotate(1.2deg); border:9px solid var(--paper);
  background:var(--paper); transition:transform .4s ease;
}
.hero-figure:hover{transform:rotate(0deg);}
.hero-figure .slider-viewport{position:relative; overflow:hidden; border-radius:2px;}
.hero-figure .slider-viewport::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 0 40px rgba(0,0,0,.18);
}
.hero-figure .slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:40px; height:40px; border-radius:50%; border:none;
  background:rgba(249,244,236,.9); backdrop-filter:blur(3px); color:var(--brown); font-size:13px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.hero-figure .slider-arrow.prev{left:12px;}
.hero-figure .slider-arrow.next{right:12px;}
.hero-figure .slider-arrow:hover{background:var(--terracotta); color:var(--paper); transform:translateY(-50%) scale(1.08);}
.hero-figure .slider-dots{padding:12px 0 2px; gap:7px;}
.hero-figure .slider-dots button{width:5px; height:5px;}
.hero-figure .slider-dots button.active{width:16px; border-radius:4px;}
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr; padding-top:36px;}
  .hero-figure{order:-1; transform:none; max-width:360px; margin:0 auto 20px;}
}

.issue-spot{background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.issue-card{
  display:grid; grid-template-columns:280px 1fr; gap:56px; align-items:center;
  background:linear-gradient(120deg,#fff, var(--sand));
  border:1px solid var(--line); border-radius:2px; padding:44px; box-shadow:var(--shadow);
}
.issue-cover{position:relative;}
.issue-cover img{box-shadow:0 24px 40px -18px rgba(60,30,20,.45); border:6px solid var(--paper);}
.issue-cover .ribbon{
  position:absolute; top:14px; right:-10px; background:var(--gold); color:var(--footer);
  font-size:11px; font-weight:700; letter-spacing:.08em; padding:5px 12px; text-transform:uppercase;
  box-shadow:0 6px 14px rgba(0,0,0,.2);
}
.issue-info .eyebrow{margin-bottom:12px;}
.issue-info h3{font-size:30px; margin-bottom:10px;}
.issue-info p{color:#5c4c44; max-width:520px; margin-bottom:26px;}
.issue-actions{display:flex; gap:14px; flex-wrap:wrap;}
@media (max-width:760px){.issue-card{grid-template-columns:1fr; text-align:center;} .issue-cover img{margin:0 auto;} .issue-info p{margin-left:auto;margin-right:auto;} .issue-actions{justify-content:center;}}

.about{display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:center;}
.about-portrait{
  position:relative; background:var(--sand); padding:18px; box-shadow:var(--shadow); transform:rotate(-1deg);
}
.about-portrait img{filter:sepia(.25) contrast(1.02);}
.about-portrait figcaption{font-family:'Playfair Display'; font-style:italic; font-size:14px; color:var(--brown); margin-top:12px; text-align:center;}
.about-copy p{color:#5c4c44; margin-bottom:16px; max-width:560px;}
.about-copy .quote{
  border-left:2px solid var(--gold); padding-left:22px; margin:26px 0; font-family:'Playfair Display'; font-style:italic; font-size:19px; color:var(--brown);
}
@media (max-width:860px){.about{grid-template-columns:1fr;} .about-portrait{max-width:320px; margin:0 auto;}}

.almanac-slider{display:flex; align-items:center; gap:14px;}
.grid-3{
  display:flex; gap:26px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding:4px 2px 18px;
  -ms-overflow-style:none; scrollbar-width:thin;
}
.grid-3 > .card-issue{
  flex:0 0 calc(33.333% - 18px); min-width:240px; scroll-snap-align:start;
}
@media (max-width:920px){.grid-3 > .card-issue{flex:0 0 calc(50% - 13px);}}
@media (max-width:600px){.grid-3 > .card-issue{flex:0 0 82%;}}
.grid-3::-webkit-scrollbar{height:6px;}
.grid-3::-webkit-scrollbar-track{background:transparent;}
.grid-3::-webkit-scrollbar-thumb{background:rgba(60,47,42,.2); border-radius:10px;}
.grid-3::-webkit-scrollbar-thumb:hover{background:rgba(60,47,42,.35);}
.card-issue{background:var(--paper); border:1px solid var(--line); transition:transform .3s ease, box-shadow .3s ease;}
.card-issue:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.card-issue .cover{aspect-ratio:3/4; overflow:hidden;}
.card-issue .cover img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.card-issue:hover .cover img{transform:scale(1.06);}
.card-issue .body{padding:20px 22px 24px;}
.card-issue .year{font-size:12px; letter-spacing:.1em; color:var(--gold); font-weight:700; text-transform:uppercase;}
.card-issue h4{font-size:19px; margin:6px 0 16px;}
.card-issue .actions{display:flex; gap:14px; align-items:center; flex-wrap:wrap;}

.genres{background:var(--sand);}
.filter-tabs{display:flex; gap:10px; margin-bottom:36px; flex-wrap:wrap;}
.filter-tabs button{
  padding:9px 20px; border-radius:20px; border:1px solid rgba(60,47,42,.3);
  background:transparent; font-family:'Inter'; font-size:13.5px; font-weight:600; color:var(--brown); cursor:pointer;
  transition:all .2s ease;
}
.filter-tabs button.active{background:var(--brown); border-color:var(--brown); color:var(--paper);}
.work-row{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.work-card{background:var(--paper); border:1px solid var(--line); position:relative; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;}
.work-card:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.work-card .thumb{aspect-ratio:16/10; overflow:hidden;}
.work-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.work-card:hover .thumb img{transform:scale(1.06);}
.work-card .wbody{padding:20px 22px 24px;}
.work-card .genre-dot{width:8px; height:8px; border-radius:50%; background:var(--olive); display:inline-block; margin-right:8px;}
.work-card .g-label{font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--olive); font-weight:700;}
.work-card h4{font-size:17px; margin:10px 0 4px;}
.work-card .author{font-size:13.5px; color:#7a6a61; margin-bottom:14px;}
@media (max-width:920px){.work-row{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.work-row{grid-template-columns:1fr;}}

.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.testi-card{
  background:var(--paper); border:1px solid var(--line); padding:28px 26px; position:relative;
}
.testi-card::before{content:"\201C"; font-family:'Playfair Display'; font-size:60px; color:var(--gold-soft); position:absolute; top:6px; right:18px; line-height:1;}
.testi-card p{color:#5c4c44; margin-bottom:20px; font-size:15px;}
.testi-person{display:flex; align-items:center; gap:12px;}
.avatar{width:42px; height:42px; border-radius:50%; background:var(--olive); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display'; font-weight:700;}
.testi-person .name{font-weight:700; font-size:14.5px; color:var(--brown);}
.testi-person .role{font-size:12.5px; color:#7a6a61;}
@media (max-width:920px){.testi-grid{grid-template-columns:1fr;}}

.comments-wrap{max-width:760px;}
.comment{display:flex; gap:16px; padding:22px 0; border-bottom:1px solid var(--line);}
.comment .avatar{flex-shrink:0;}
.comment-body{flex:1;}
.comment-head{display:flex; align-items:center; gap:10px; margin-bottom:6px;}
.comment-head .name{font-weight:700; font-size:14.5px; color:var(--brown);}
.comment-head .date{font-size:12.5px; color:#9a8a80;}
.comment-body p{font-size:14.5px; color:#5c4c44;}
.comment-actions{display:flex; gap:8px; margin-top:8px; font-size:12.5px; color:var(--terracotta); font-weight:600;}
.comment-actions span{cursor:pointer; padding:6px 4px; display:inline-block;}
.comment.reply{margin-left:56px;}
.comment-form{margin-top:32px; background:var(--paper); border:1px solid var(--line); padding:24px;}
.comment-form textarea{
  width:100%; min-height:90px; border:1px solid rgba(60,47,42,.25); background:var(--cream); padding:14px; font-family:'Inter'; font-size:16px; resize:vertical; border-radius:2px;
}
.comment-form textarea:focus{outline:2px solid var(--gold-soft); outline-offset:2px;}
.comment-form .row{display:flex; justify-content:space-between; align-items:center; margin-top:14px;}
.comment-form small{color:#9a8a80; font-size:12.5px;}

footer{background:var(--footer); color:#e8ddd0; padding:70px 0 26px;}
.footer-grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; margin-bottom:50px;}
footer .logo-text .tj{color:#f3eadb;}
footer .logo-text .en{color:var(--gold-soft);}
.footer-desc{margin-top:16px; font-size:14px; color:#b8a998; max-width:280px;}
.footer-col h5{font-family:'Playfair Display'; font-size:15px; color:#f3eadb; margin-bottom:16px;}
.footer-col a{display:block; font-size:14px; color:#b8a998; margin-bottom:10px; transition:color .2s;}
.footer-col a:hover{color:var(--gold-soft);}
.social-row{display:flex; gap:12px; margin-top:16px;}
.social-row a{width:36px; height:36px; border:1px solid rgba(255,255,255,.2); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.social-row a:hover{border-color:var(--gold-soft);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:22px; display:flex; justify-content:space-between; font-size:12.5px; color:#8a7a6e; flex-wrap:wrap; gap:10px;}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}

.slider-track{display:flex; transition:transform .65s cubic-bezier(.65,0,.35,1);}
.slide{flex:0 0 100%; position:relative; overflow:hidden;}
.slide img{
  width:100%; aspect-ratio:4/5; object-fit:cover; display:block;
  transition:transform .6s ease;
}
.slide:hover img{transform:scale(1.04);}
.slide figcaption{
  position:absolute; left:0; right:0; bottom:0;
  background:linear-gradient(0deg, rgba(36,26,22,.88) 0%, rgba(36,26,22,.6) 45%, rgba(36,26,22,0) 100%);
  color:var(--paper); padding:44px 20px 16px;
  font-family:'Playfair Display'; font-style:italic; font-size:13px; line-height:1.5;
}
.slide figcaption::before{
  content:"\201C"; position:absolute; left:14px; bottom:100%; margin-bottom:-6px;
  font-family:'Playfair Display'; font-size:34px; color:var(--gold-soft); opacity:.85; font-style:normal;
}
.slider-dots{display:flex; justify-content:center; gap:6px; margin-top:0;}
.slider-dots button{
  width:6px; height:6px; border-radius:50%; border:none; background:rgba(60,47,42,.25); cursor:pointer; padding:0;
  transition:background .25s ease, width .25s ease, transform .2s ease;
}
.slider-dots button.active{background:var(--terracotta); transform:scale(1.1);}
.slider-arrow{
  flex-shrink:0; width:44px; height:44px; border-radius:50%; border:1px solid rgba(60,47,42,.25);
  background:var(--paper); color:var(--brown); font-size:15px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:all .2s ease;
}
.slider-arrow:hover{background:var(--terracotta); color:var(--paper); border-color:var(--terracotta);}
@media (max-width:640px){
  .slide figcaption{font-size:12px; padding:36px 16px 12px;}
}

.slide-edit{
  position:absolute; top:12px; right:12px; z-index:6;
  display:flex; gap:6px; opacity:0; transform:translateY(-4px);
  transition:opacity .2s ease, transform .2s ease;
}
.slide:hover .slide-edit, .story-slide:hover .slide-edit, .slide-edit:focus-within{
  opacity:1; transform:translateY(0);
}
.slide-edit .upload-btn{
  padding:7px 9px; font-size:13px; background:rgba(249,244,236,.92); backdrop-filter:blur(3px);
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}

.news-section{background:var(--sand);}
.story-card{
  position:relative; max-width:380px; margin:0 auto; aspect-ratio:3/4;
  border-radius:10px; overflow:hidden;
  box-shadow:0 30px 60px -20px rgba(60,30,20,.5), 0 0 0 6px var(--paper), 0 0 0 7px rgba(60,47,42,.12);
  background:#111;
}
.story-progress{
  position:absolute; top:14px; left:14px; right:14px; z-index:6;
  display:flex; gap:5px;
}
.story-progress .seg{flex:1; height:3px; background:rgba(255,255,255,.32); border-radius:3px; overflow:hidden;}
.story-progress .seg .fill{display:block; height:100%; width:0%; background:var(--gold-soft); box-shadow:0 0 6px rgba(224,190,110,.7);}
@keyframes storyfill{from{width:0%;} to{width:100%;}}
.story-track{display:flex; height:100%; transition:transform .5s cubic-bezier(.65,0,.35,1);}
.story-slide{flex:0 0 100%; position:relative; height:100%; margin:0; overflow:hidden;}
.story-slide img{width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform .6s ease;}
.story-card:hover .story-slide img{transform:scale(1.03);}
.story-overlay{
  position:absolute; left:0; right:0; bottom:0; padding:26px 20px 22px;
  background:linear-gradient(0deg, rgba(10,8,7,.92) 0%, rgba(10,8,7,.6) 50%, rgba(10,8,7,0) 100%);
  color:var(--paper);
}
.story-meta{
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-soft);
  margin-bottom:9px; display:flex; align-items:center; gap:8px;
}
.story-meta::before{content:""; width:16px; height:1px; background:var(--gold-soft); opacity:.8;}
.story-headline{font-family:'Playfair Display'; font-weight:700; font-style:italic; font-size:20px; line-height:1.35; text-shadow:0 2px 12px rgba(0,0,0,.4);}
.story-zone{position:absolute; top:0; bottom:0; width:50%; background:none; border:none; cursor:pointer; z-index:5; padding:0;}
.story-zone.prev{left:0;}
.story-zone.next{right:0;}
.story-card::after{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:10px;
  box-shadow:inset 0 0 50px rgba(0,0,0,.2); z-index:4;
}
@media (max-width:480px){
  .story-card{max-width:100%;}
  .story-headline{font-size:18px;}
}

.uploader{
  position:absolute; left:0; right:0; bottom:0;
  display:flex; gap:8px; justify-content:center; padding:10px;
  background:linear-gradient(180deg, transparent, rgba(36,26,22,.72) 40%);
  opacity:0; transform:translateY(6px);
  transition:opacity .25s ease, transform .25s ease;
}
.issue-cover, .cover{position:relative;}
.issue-cover:hover .uploader, .cover:hover .uploader, .uploader:focus-within{opacity:1; transform:translateY(0);}
@media (hover:none){
  .uploader{opacity:1; transform:translateY(0); background:linear-gradient(180deg, transparent, rgba(36,26,22,.6) 55%);}
  .slide-edit{opacity:1; transform:translateY(0);}
}
.upload-btn{
  display:inline-flex; align-items:center; gap:6px; cursor:pointer;
  background:rgba(249,244,236,.94); color:var(--brown); font-size:12px; font-weight:600;
  padding:7px 12px; border-radius:20px; border:1px solid rgba(60,47,42,.15);
  transition:background .2s ease, transform .2s ease; font-family:inherit;
}
.upload-btn:hover{background:var(--paper); transform:translateY(-1px);}
.uploader.small .upload-btn{padding:6px 9px; font-size:14px;}
.add-issue-row{display:flex; justify-content:center; margin-top:38px;}
.upload-note{
  font-size:12.5px; color:#9a8a80; text-align:center; max-width:520px; margin:14px auto 0;
}

.uploader, .slide-edit, .add-issue-row, .upload-note{display:none !important;}
body.is-admin .uploader{display:flex !important;}
body.is-admin .slide-edit{display:flex !important; opacity:1 !important; transform:translateY(0) !important;}
body.is-admin .add-issue-row{display:flex !important;}
body.is-admin .upload-note{display:block !important;}
body.is-admin .uploader{opacity:1 !important; transform:translateY(0) !important;}

.admin-bar{
  display:none !important;
  position:fixed; bottom:0; left:0; right:0; z-index:900;
  background:var(--footer); color:var(--paper);
  padding:12px 20px; align-items:center; justify-content:center; gap:16px;
  font-size:13px; box-shadow:0 -8px 24px rgba(0,0,0,.25);
}
body.is-admin .admin-bar{display:flex !important;}
.admin-bar button{
  background:var(--terracotta); color:var(--paper); border:none; padding:7px 16px;
  border-radius:20px; font-size:12.5px; font-weight:600; cursor:pointer;
}
.admin-bar button:hover{background:var(--garnet);}
body.is-admin{padding-bottom:52px;}
.reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  *{scroll-behavior:auto !important;}
}

.modal-overlay{
  position:fixed; inset:0; z-index:1000;
  background:rgba(20,14,11,.65); backdrop-filter:blur(4px);
  display:none; align-items:center; justify-content:center; padding:20px;
  animation:fadeIn .2s ease;
}
.modal-overlay.open{display:flex;}
@keyframes fadeIn{from{opacity:0;} to{opacity:1;}}
@keyframes popIn{from{opacity:0; transform:translateY(10px) scale(.97);} to{opacity:1; transform:translateY(0) scale(1);}}
.modal-box{
  position:relative; width:100%; max-width:370px;
  background:var(--paper); border-radius:16px; box-shadow:0 25px 60px -15px rgba(0,0,0,.4);
  padding:38px 28px 28px;
  animation:popIn .25s cubic-bezier(.2,.9,.3,1.2);
}
.modal-close{
  position:absolute; top:16px; right:16px; width:30px; height:30px; border-radius:50%;
  background:rgba(60,47,42,.06); border:none;
  font-size:18px; line-height:1; color:var(--brown); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .15s ease;
}
.modal-close:hover{background:rgba(60,47,42,.14);}
.modal-brand{
  text-align:center; font-family:'Playfair Display'; font-weight:700; font-size:24px;
  color:var(--terracotta); margin-bottom:26px; letter-spacing:.01em;
}
.auth-tabs{display:flex; gap:4px; margin-bottom:22px; background:var(--sand); border-radius:10px; padding:4px;}
.auth-tab{
  flex:1; background:none; border:none; padding:9px 0; font-family:'Inter'; font-weight:600;
  font-size:13.5px; color:#8a7a70; cursor:pointer; border-radius:8px; transition:all .2s ease;
}
.auth-tab.active{color:var(--terracotta); background:var(--paper); box-shadow:0 1px 4px rgba(0,0,0,.08);}
.auth-form{display:flex; flex-direction:column; gap:12px;}
.auth-form[hidden]{display:none !important;}
.auth-form:not([hidden]){animation:formFadeIn .25s ease;}
@keyframes formFadeIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
.auth-form label{display:flex; flex-direction:column; gap:5px; font-size:12.5px; font-weight:600; color:#7a6a61;}
.auth-form input{
  padding:13px 14px; border:1.5px solid transparent; background:var(--sand);
  font-family:'Inter'; font-size:16px; border-radius:10px; transition:border-color .15s ease, background .15s ease;
}
.auth-form input:focus{outline:none; border-color:var(--terracotta); background:var(--paper);}
.auth-form .btn{width:100%; justify-content:center; border-radius:10px; padding:13px 0; font-size:14.5px; margin-top:4px;}
.auth-error{color:var(--terracotta); font-size:13px; margin:0; min-height:16px; text-align:center;}
.auth-form .btn-ghost{
  border:none; background:none; font-size:13px; font-weight:600; color:var(--terracotta);
  padding:2px 0; text-decoration:none;
}
.auth-form .btn-ghost:hover{text-decoration:underline;}
.account-greeting{font-size:14.5px; color:var(--brown); margin-bottom:18px; text-align:center;}
.account-greeting strong{display:block; font-family:'Playfair Display'; font-size:19px; margin-top:4px;}


.scroll-slider{display:flex; align-items:center; gap:14px;}
.almanac-grid-full{
  display:flex; gap:26px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding:4px 2px 18px;
  -ms-overflow-style:none; scrollbar-width:thin;
}
.almanac-grid-full .card-issue{flex:0 0 calc(33.333% - 18px); min-width:230px; scroll-snap-align:start;}
@media (max-width:920px){.almanac-grid-full .card-issue{flex:0 0 calc(50% - 13px);}}
@media (max-width:600px){.almanac-grid-full .card-issue{flex:0 0 82%;}}
.almanac-grid-full::-webkit-scrollbar{height:6px;}
.almanac-grid-full::-webkit-scrollbar-track{background:transparent;}
.almanac-grid-full::-webkit-scrollbar-thumb{background:rgba(60,47,42,.2); border-radius:10px;}

.genre-page-grid{
  display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding:4px 2px 18px;
  -ms-overflow-style:none; scrollbar-width:thin;
}
.genre-page-grid .work-card{flex:0 0 calc(25% - 18px); min-width:220px; scroll-snap-align:start;}
@media (max-width:920px){.genre-page-grid .work-card{flex:0 0 calc(50% - 12px);}}
@media (max-width:600px){.genre-page-grid .work-card{flex:0 0 82%;}}
.genre-page-grid::-webkit-scrollbar{height:6px;}
.genre-page-grid::-webkit-scrollbar-track{background:transparent;}
.genre-page-grid::-webkit-scrollbar-thumb{background:rgba(60,47,42,.2); border-radius:10px;}

.icon-btn{display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; transition:background .2s ease;}
.icon-btn:hover{background:rgba(60,47,42,.08);}
.search-result-row{display:flex; flex-direction:column; padding:12px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit;}
.search-result-row:last-child{border-bottom:none;}
.search-result-row:hover{color:var(--terracotta);}
.search-result-row .sr-title{font-weight:600; font-size:14.5px;}
.search-result-row .sr-meta{font-size:12.5px; color:#9a8a80; margin-top:2px;}

.newsletter-bar{background:var(--garnet); color:var(--paper); padding:44px 0;}
.newsletter-inner{
  display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
}
.newsletter-text h3{font-family:'Playfair Display'; font-size:22px; margin-bottom:6px;}
.newsletter-text p{font-size:14px; color:rgba(251,247,239,.8);}
.newsletter-form{display:flex; gap:10px; flex-wrap:wrap; flex-shrink:0;}
.newsletter-form input{
  padding:13px 16px; border:1.5px solid rgba(251,247,239,.3); background:rgba(251,247,239,.08);
  color:var(--paper); font-family:'Inter'; font-size:16px; border-radius:10px; min-width:240px;
}
.newsletter-form input::placeholder{color:rgba(251,247,239,.55);}
.newsletter-form input:focus{outline:none; border-color:var(--gold-soft); background:rgba(251,247,239,.14);}
.newsletter-form .btn{border-radius:10px; background:var(--gold); color:var(--ink); white-space:nowrap;}
.newsletter-form .btn:hover{background:var(--gold-soft);}
.newsletter-msg{max-width:1240px; margin:14px auto 0; padding:0 32px; font-size:13.5px; color:var(--gold-soft); min-height:0;}
@media (max-width:720px){
  .newsletter-inner{flex-direction:column; align-items:flex-start;}
  .newsletter-form{width:100%;}
  .newsletter-form input{flex:1; min-width:0;}
}

.read-actions{display:flex; gap:12px; margin-top:16px;}
.read-actions .btn-ghost{
  border-bottom:none; font-size:13.5px; padding:9px 14px;
  background:var(--sand); border-radius:20px;
}
.read-actions .btn-ghost:hover{background:var(--gold-soft);}

@media print{
  header, footer, .newsletter-bar, .admin-bar, .modal-overlay, .no-print{display:none !important;}
  body{background:#fff; color:#000;}
  main{padding-top:0 !important;}
  #readTextBlock{color:#000; font-size:13pt;}
  a{color:#000; text-decoration:none;}
}
