@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--ink:#17212b;--muted:#64748b;--navy:#0c2945;--navy2:#123e61;--green:#59ad32;--green2:#86c95b;--paper:#fff;--soft:#f4f7f5;--line:#dfe7e3;--shadow:0 18px 50px rgba(16,38,55,.10)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f7faf8 0,#fff 420px);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif}.journal-nav{background:rgba(9,35,57,.97);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(7,27,44,.16)}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--green),#3d8f1e);display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:-.08em;box-shadow:0 8px 20px rgba(89,173,50,.28)}.brand-title{font-weight:700;line-height:1.05}.brand-sub{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#b9c9d5}.nav-link{font-weight:500}.nav-link:hover{color:#fff!important}.page-wrap{min-height:65vh}.hero-home{position:relative;overflow:hidden;border-radius:30px;background:radial-gradient(circle at 85% 20%,rgba(89,173,50,.22),transparent 30%),linear-gradient(135deg,#092d4b,#174e74 65%,#1f6b48);color:#fff;box-shadow:var(--shadow);padding:clamp(2rem,5vw,5rem)}.hero-home:after{content:'';position:absolute;width:360px;height:360px;border-radius:50%;right:-100px;bottom:-150px;border:70px solid rgba(255,255,255,.06)}.hero-content{position:relative;z-index:2}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--green2)}.hero-home h1{font-family:'Playfair Display',serif;font-size:clamp(2.7rem,6vw,5.2rem);line-height:.98;max-width:800px;letter-spacing:-.04em}.hero-home .lead{color:#e4eef5;max-width:720px;font-size:1.15rem}.cover-frame{position:relative;z-index:2;max-width:330px;margin:auto;padding:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:24px;box-shadow:0 25px 55px rgba(0,0,0,.22);transform:rotate(2deg)}.cover-frame img{display:block;width:100%;border-radius:15px}.section-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:800}.section-title{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:-.02em}.stat-strip{margin-top:-35px;position:relative;z-index:3}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem 1.4rem;box-shadow:0 12px 30px rgba(16,38,55,.07)}.stat-value{font-size:1.55rem;font-weight:800;color:var(--navy)}.stat-label{font-size:.78rem;color:var(--muted)}.article-card,.issue-card,.author-card,.search-result,.info-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(16,38,55,.055);transition:.22s ease}.article-card:hover,.issue-card:hover,.author-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(16,38,55,.11);border-color:#c8d9cf}.article-card{height:100%;padding:1.45rem}.article-card .article-no{width:42px;height:42px;border-radius:12px;background:#eef7ea;color:#3d8f1e;display:grid;place-items:center;font-weight:800}.article-card h3{font-size:1.18rem;line-height:1.3}.article-card a,.search-result a{color:var(--navy);text-decoration:none}.article-card a:hover,.search-result a:hover{color:#3d8f1e}.badge-type{background:#eef7ea;color:#3d8f1e;border:1px solid #d8edce;border-radius:999px;padding:.45rem .7rem;font-weight:700}.btn-primary{background:var(--green);border-color:var(--green);font-weight:700}.btn-primary:hover{background:#468f27;border-color:#468f27}.btn-darkblue{background:var(--navy);color:#fff;border:0}.btn-darkblue:hover{background:#174e74;color:#fff}.outline-green{border:1px solid #b9dca9;color:#3d8f1e;background:#fff}.outline-green:hover{background:#eef7ea;color:#2e7318}.issue-hero{background:linear-gradient(135deg,#edf5f0,#fff);border:1px solid var(--line);border-radius:28px;padding:clamp(1.5rem,4vw,3rem)}.issue-cover{border-radius:18px;box-shadow:0 18px 40px rgba(16,38,55,.15);border:8px solid #fff}.issue-list{border:0}.issue-list .list-group-item{border:1px solid var(--line)!important;border-radius:18px!important;margin-bottom:.8rem;padding:1.25rem 1.4rem;background:#fff;transition:.2s}.issue-list .list-group-item:hover{transform:translateX(4px);border-color:#c8d9cf!important}.article-header{padding:clamp(1.5rem,4vw,3.5rem);background:linear-gradient(135deg,#f2f7f4,#fff);border:1px solid var(--line);border-radius:28px}.article-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,4rem);line-height:1.08;letter-spacing:-.035em}.author-chip{display:inline-block;margin:.2rem .35rem .2rem 0;padding:.55rem .75rem;background:#fff;border:1px solid var(--line);border-radius:12px}.abstract-box{background:#0d304d;color:#f2f7fa;border-radius:22px;padding:1.5rem 1.7rem;box-shadow:var(--shadow)}.abstract-box h2{color:#fff}.abstract{font-size:1.04rem;line-height:1.85}.keywords span{display:inline-block;background:#eef7ea;color:#326f1d;border-radius:999px;padding:.4rem .65rem;margin:.15rem;font-size:.82rem;font-weight:600}.citation-box{background:#f6f8f7;border:1px solid var(--line);border-radius:16px}.article-body{line-height:1.9}.article-body p{margin-bottom:1rem}.issue-year{font-family:'Playfair Display',serif;font-size:3rem;font-weight:800;color:var(--navy)}.archive-cover{aspect-ratio:3/4;object-fit:cover;border-radius:14px;box-shadow:0 12px 25px rgba(16,38,55,.14)}.search-result{padding:1.35rem;margin-bottom:.8rem}.search-result h2{font-family:'Playfair Display',serif}.footer{background:#0a263f;color:#cbd8e2}.footer a{color:#fff}.footer-title{color:#fff;font-weight:800}.smallcaps{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.form-control,.form-select{border-color:#d7e2dc;border-radius:12px;padding:.7rem .85rem}.form-control:focus,.form-select:focus{border-color:#73b85a;box-shadow:0 0 0 .2rem rgba(89,173,50,.12)}
/* Admin */.admin-shell{background:#f4f7f6;min-height:calc(100vh - 64px)}.admin-top{background:#092d4b}.admin-sidebar{background:#0b2a43!important;min-height:calc(100vh - 64px);padding:1rem .75rem!important}.admin-sidebar a{border-radius:11px;margin:.15rem 0;padding:.72rem .85rem;color:#dce8ef!important}.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(89,173,50,.16);color:#fff!important}.admin-main{background:#f4f7f6}.admin-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(16,38,55,.05)}.admin-stat{border-radius:18px;padding:1.2rem 1.35rem;background:#fff;border:1px solid var(--line)}.admin-stat .icon{width:42px;height:42px;border-radius:12px;background:#eef7ea;color:#3d8f1e;display:grid;place-items:center;font-weight:800}.table-modern{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.table-modern table{margin:0}.table-modern thead th{background:#f5f8f6;color:#526271;border-bottom:1px solid var(--line);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.login-bg{min-height:100vh;background:radial-gradient(circle at 80% 20%,rgba(89,173,50,.22),transparent 30%),linear-gradient(135deg,#092d4b,#123e61)}.login-card{max-width:440px;border:0;border-radius:24px;box-shadow:0 25px 70px rgba(0,0,0,.25)}
@media(max-width:767px){.hero-home h1{font-size:2.8rem}.stat-strip{margin-top:20px}.cover-frame{max-width:280px}.admin-sidebar{min-height:auto}.article-title{font-size:2.2rem}}
/* Advertisements */
.ad-slot{margin-left:auto;margin-right:auto}.ad-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:#84919b;font-weight:800;text-align:center;margin-bottom:.55rem}.ad-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.ad-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 25px rgba(16,38,55,.055)}.ad-card picture,.ad-card img{display:block;width:100%}.ad-card img{height:auto;max-height:520px;object-fit:contain;background:#f7faf8}.ad-card a{display:block;text-decoration:none}.ad-card a:hover img{opacity:.96}.ad-caption{padding:.65rem .9rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#fff}.ad-caption strong{font-size:.78rem;color:var(--navy)}.ad-caption span{font-size:.7rem;color:var(--muted)}.ad-table-thumb{display:block;width:110px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#f6f8f7}.ad-admin-preview{max-width:360px;padding:.5rem;border:1px solid var(--line);border-radius:14px;background:#f7faf8}.ad-admin-preview img{display:block;width:100%;max-height:180px;object-fit:contain;border-radius:10px}.ad-slot + .ad-slot{margin-top:2rem}
@media(max-width:767px){.ad-grid{grid-template-columns:1fr}.ad-card img{max-height:none}.ad-caption{display:block}.ad-caption span{display:block;margin-top:.2rem}}

.issue-artworks{margin-top:2rem}.artwork-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.artwork-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 25px rgba(16,38,55,.055)}.artwork-card img{display:block;width:100%;height:360px;object-fit:contain;background:#f7faf8}.artwork-caption{padding:.7rem .9rem;display:flex;justify-content:space-between;gap:1rem}.artwork-caption strong{font-size:.8rem;color:var(--navy)}.artwork-caption span{font-size:.7rem;color:var(--muted)}

/* Archive / admin enhancements */
.admin-nav-scroll{position:sticky;top:0;padding:0 .75rem 1rem;max-height:calc(100vh - 64px);overflow:auto}.admin-sidebar .smallcaps{font-size:.65rem;letter-spacing:.12em}.issue-admin-cover{display:block;width:150px;max-height:210px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#f7faf8}.admin-inline-file{background:#f6f9f7;border:1px solid var(--line);border-radius:14px;padding:1rem;width:100%}.year-pills{display:flex;flex-wrap:wrap;gap:.65rem}.year-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.65rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:var(--navy);box-shadow:0 5px 16px rgba(16,38,55,.04)}.year-pill strong{font-size:1rem}.year-pill span{font-size:.75rem;color:var(--muted)}.year-pill:hover{border-color:#63a94a;transform:translateY(-1px)}.archive-mini{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:0 8px 24px rgba(16,38,55,.05)}.archive-mini-cover{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:11px;border:1px solid var(--line)}
@media(max-width:767px){.admin-nav-scroll{position:static;max-height:none}.issue-admin-cover{width:120px}.year-pills{gap:.45rem}.year-pill{padding:.55rem .75rem}}
