:root{
    --bg:#f6f6f6;
    --card:#ffffff;
    --text:#161616;
    --muted:#666;
    --line:#dedede;
    --accent:#d71920;
    --soft:#f2f2f2;
    --shadow:0 10px 30px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.6;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%;display:block}
.container{width:min(1200px,calc(100% - 32px));margin:0 auto}
.narrow{width:min(920px,calc(100% - 32px))}
.topbar{background:#111;color:#f7f7f7;font-size:.92rem}
.topbar-inner{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 0}
.topbar-links{display:flex;gap:16px;flex-wrap:wrap}
.topbar a{color:#f7f7f7}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.header-branding{padding:24px 0 12px;text-align:center}
.site-logo{height:68px;max-width:min(100%,560px);margin:0 auto}
.footer-logo{height:54px;margin:0 0 12px}
.tagline{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-size:.75rem;margin-top:10px}
.header-ad-wrap{padding:0 0 18px}
.main-nav{border-top:1px solid #111;border-bottom:1px solid #111;background:#fff}
.nav-inner{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:14px 0}
.nav-inner a{font-size:.92rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.search-inline{margin-left:auto}
.search-inline input,.search-page-form input[type=search]{
    border:1px solid var(--line);
    border-radius:999px;
    padding:10px 14px;
    background:#fff;
}
.breaking-strip{background:#fff3f3;border-bottom:1px solid #f3d3d3}
.breaking-inner{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:.96rem}
.breaking-badge{
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--accent);color:#fff;border-radius:999px;
    padding:5px 12px;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em
}
.site-main{padding:28px 0 50px}

.flash{
    margin:20px 0 0;
    padding:14px 16px;
    border-radius:12px;
    font-weight:600;
}
.flash-success{background:#e9f8ee;color:#165b2f;border:1px solid #bfe7cd}
.flash-error{background:#ffefef;color:#8e2323;border:1px solid #efc3c3}

.homepage-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:28px}
.hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.hero-story,.sidebar-box,.panel,.card,.form-card,.admin-panel,.empty-state,.page-content,.comment,.callout{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:22px;
    box-shadow:var(--shadow);
}
.hero-story{padding:0 0 18px;overflow:hidden}
.hero-image{height:400px;width:100%;object-fit:cover}
.eyebrow{
    color:var(--accent);
    text-transform:uppercase;
    font-weight:700;
    font-size:.78rem;
    letter-spacing:.14em;
    margin:16px 18px 0
}
.hero-title{font-family:Georgia,'Times New Roman',serif;font-size:2.4rem;line-height:1.15;margin:12px 18px}
.story-excerpt{font-size:1.06rem;margin:0 18px 12px;color:#444}
.story-meta,.muted{color:var(--muted)}
.story-meta{font-size:.9rem;margin:0 18px}
.small{font-size:.84rem}
.side-stack{display:flex;flex-direction:column;gap:16px}
.compact-story{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:8px 0 16px;box-shadow:var(--shadow)}
.compact-story h2{font-size:1.12rem;line-height:1.35;margin:10px 18px}
.section-block{margin-top:28px}
.section-heading{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:end;
    margin-bottom:14px;
    border-bottom:2px solid #111;
    padding-bottom:8px;
}
.section-heading h1,.section-heading h2,.page-header h1{margin:0;font-family:Georgia,'Times New Roman',serif}
.section-heading h1{font-size:2rem}
.section-heading h2{font-size:1.8rem}
.section-heading a{font-size:.92rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.list-story{
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    gap:18px;
    align-items:center;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    padding:16px;
    margin-bottom:16px;
}
.list-story-content h3,.mini-story h3,.card h2,.card h3,.video-item h3,.article-title,.page-content h2,.page-content h3{
    font-family:Georgia,'Times New Roman',serif;
}
.list-story-content h3{font-size:1.35rem;margin:8px 0}
.list-story-content p{margin:0;color:#444}
.thumb-image,.card-image,.mini-thumb img{height:140px;width:100%;object-fit:cover;border-radius:14px}
.category-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.panel{padding:16px}
.mini-story{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.mini-story:last-child{border-bottom:0;padding-bottom:0}
.mini-thumb img{height:70px}
.cards.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{padding:18px}
.card-story{overflow:hidden;padding:0 0 18px}
.card-story .card-image{height:210px;border-radius:20px 20px 0 0}
.card h2,.card h3{margin:10px 18px 6px;font-size:1.35rem}
.card p{margin:0 18px;color:#444}
.sidebar-column{display:flex;flex-direction:column;gap:18px}
.sidebar-box{padding:18px}
.most-read{margin:0;padding-left:22px}
.most-read li{padding:8px 0;font-weight:700}
.video-item{margin-bottom:16px}
.video-item:last-child{margin-bottom:0}
.video-thumb,.image-link,.thumb-wrap{display:block;position:relative}
.video-thumb img{height:180px;width:100%;object-fit:cover;border-radius:16px}
.video-thumb.large img{height:230px}
.play-badge{
    position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.84);color:#fff;
    width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700
}
.sticky-ad{position:sticky;top:24px}
.ad{
    border:2px dashed #bbb;
    background:#fafafa;
    border-radius:20px;
    padding:22px;
    text-align:center;
    color:#666;
    font-weight:700;
}
.ad-banner{padding:28px 20px}
.ad-box{padding:34px 20px}
.ad-vertical{padding:80px 20px}
.ad-footer{padding:24px 20px}
.article-layout{display:grid;grid-template-columns:minmax(0,2.2fr) 340px;gap:28px}
.article-main,.article-sidebar{min-width:0}
.article-title{font-size:2.8rem;line-height:1.12;margin:10px 0}
.article-meta{color:var(--muted);margin-bottom:18px}
.article-hero{width:100%;height:auto;border-radius:22px;margin:0 0 18px}
.article-excerpt{font-size:1.12rem;color:#444}
.article-content{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:22px;
    padding:22px;
    box-shadow:var(--shadow);
    font-size:1.04rem;
}
.article-content p{margin:0 0 1em}
.article-content h2,.article-content h3,.article-content h4{margin-top:1.4em}
.video-embed{margin-bottom:18px;aspect-ratio:16/9;background:#000;border-radius:22px;overflow:hidden}
.video-embed iframe{width:100%;height:100%;border:0}
.comment-list{display:grid;gap:14px;margin-top:18px}
.comment{padding:16px}
.form-card{padding:22px}
.form-card label,.admin-form label{display:block;font-weight:700;margin:0 0 8px}
input[type=text],input[type=email],input[type=password],input[type=file],select,textarea{
    width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;margin:0 0 16px
}
textarea{resize:vertical}
.btn,.btn-light{
    display:inline-flex;align-items:center;justify-content:center;
    padding:12px 18px;border-radius:999px;font-weight:700;border:0;cursor:pointer
}
.btn{background:#111;color:#fff}
.btn:hover{background:var(--accent);color:#fff}
.btn-light{background:#ececec;color:#111}
.callout{padding:16px}
.page-header{margin-bottom:20px}
.page-header p{color:#555;margin:10px 0 0}
.contact-grid,.account-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.account-grid .full-width{grid-column:1 / -1}
.auth-wrap{display:flex;justify-content:center}
.auth-card{max-width:560px;width:100%}
.story-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pagination{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px}
.pagination a{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff}
.pagination a.active{background:#111;color:#fff;border-color:#111}
.cover-image{background:#ececec}
.empty-state{padding:32px;text-align:center}
.footer-ad-wrap{padding-bottom:18px}
.site-footer{background:#111;color:#e8e8e8;padding:36px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;padding-top:18px}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:8px}
.footer-links a{color:#e8e8e8}
.footer-text{max-width:520px;color:#c9c9c9}
.footer-bottom{border-top:1px solid rgba(255,255,255,.16);margin-top:20px;padding-top:18px;font-size:.92rem;color:#c5c5c5}
.checkbox-inline{display:flex;align-items:center;gap:10px;margin:6px 0 18px}
.checkbox-inline input{width:auto;margin:0}
.inline-form{display:inline}
.link-button{
    background:none;border:0;padding:0;color:#1859c9;cursor:pointer;font:inherit
}
.danger-link{color:#a12727}
.preview-image-wrap{margin-top:10px}
.preview-image{max-width:100%;max-height:240px;border-radius:14px;border:1px solid var(--line)}
.admin-body{background:#f1f3f6}
.admin-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}
.admin-sidebar{background:#111;color:#fff;padding:20px;position:sticky;top:0;height:100vh}
.admin-brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}
.admin-logo-icon{width:54px;height:54px}
.admin-nav{display:grid;gap:8px}
.admin-nav a{padding:11px 14px;border-radius:12px;color:#f5f5f5}
.admin-nav a.active,.admin-nav a:hover{background:#242424;color:#fff}
.admin-content{padding:24px}
.admin-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}
.admin-topbar h1{margin:0;font-family:Georgia,'Times New Roman',serif}
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:18px}
.stat-card,.admin-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.stat-card{padding:20px;display:flex;flex-direction:column;gap:8px}
.stat-card strong{font-size:2rem;font-family:Georgia,'Times New Roman',serif}
.admin-panel{padding:20px;margin-bottom:18px}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.panel-head h2{margin:0;font-family:Georgia,'Times New Roman',serif}
.admin-list{margin:0;padding-left:20px}
.table-wrap{overflow:auto}
.admin-table{width:100%;border-collapse:collapse}
.admin-table th,.admin-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.badge{display:inline-flex;padding:6px 10px;border-radius:999px;background:#efefef;font-size:.82rem;font-weight:700}
.grid-two,.admin-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ad-editor{padding:16px;border:1px solid var(--line);border-radius:16px;margin-bottom:16px;background:#fafafa}
.search-page-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media (max-width: 1080px){
    .homepage-grid,.article-layout,.contact-grid,.account-grid,.footer-grid,.admin-layout,.stats-grid{grid-template-columns:1fr}
    .admin-sidebar{position:relative;height:auto}
    .sticky-ad{position:static}
}
@media (max-width: 800px){
    .hero-grid,.category-panels,.cards.three,.story-grid.two,.grid-two,.admin-columns,.list-story{grid-template-columns:1fr}
    .nav-inner{gap:12px}
    .search-inline{width:100%;margin-left:0}
    .hero-title,.article-title{font-size:2rem}
    .site-logo{height:54px}
    .topbar-inner,.breaking-inner,.admin-topbar{flex-direction:column;align-items:flex-start}
}
