:root{
    --bg:#ffffff;
    --muted:#6b7278;
    --text:#032f3a;
    --primary:#2d9fe9;
    --primary-700:#0b78c9;
    --accent:#4dbff6;
    --surface:#f8fbfd;
    --radius:12px;
    --max-width:1200px;
    --header-height:64px;
}

*{box-sizing:border-box}
html,body{height:100%;width:100%}
body{
    margin:0;
    font-family:Inter, "Helvetica Neue", Arial, sans-serif;
    background:var(--bg);
    color:var(--text);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    line-height:1.5;
    overscroll-behavior-x: contain;
}

.container{
    max-width:var(--max-width);
    margin:0 auto;
    padding:0 20px;
}

img, video, iframe, svg { max-width:100%; height:auto; display:block; }
a, p, h1, h2, li { word-break: break-word; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }

.site-header{
    background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.7));
    position:sticky;
    top:0;
    z-index:90;
    border-bottom:1px solid rgba(5,10,15,0.04);
    backdrop-filter: blur(6px);
}

.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:8px 0;
    gap:16px;
    min-height:var(--header-height);
}

.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.logo img{height:44px;width:auto;border-radius:6px;object-fit:contain}
.logo span{font-weight:600;font-size:16px;white-space:nowrap}

.main-nav{
    display:flex;
    gap:18px;
    align-items:center;
    flex-wrap:wrap;
    max-width:calc(100% - 140px);
}
.main-nav a{text-decoration:none;color:var(--muted);font-weight:500;padding:8px 10px;border-radius:8px;white-space:normal}
.main-nav a:hover{color:var(--text);background:rgba(45,159,233,0.06)}

.btn{display:inline-block;padding:10px 14px;border-radius:10px;text-decoration:none}
.btn-primary{background:var(--primary);color:#fff;font-weight:600}
.btn-primary:hover{background:var(--primary-700)}

.mobile-toggle{display:none;width:44px;height:44px;background:transparent;border:0;cursor:pointer}
.mobile-toggle span{display:block;height:2px;background:var(--text);margin:6px 0;border-radius:2px;transition:all .2s}
.mobile-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.mobile-toggle.open span:nth-child(2){opacity:0}
.mobile-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.article-hero{
    padding:46px 0;
    background:linear-gradient(135deg, var(--accent), var(--primary));
    color:#fff;
    text-align:center;
    border-radius:var(--radius);
    margin:28px auto;
    max-width: calc(100% - 40px);
}

.article-hero .container{padding:0 10px}
.article-hero h1{font-size:32px;margin:0 0 10px;font-weight:700}
.article-hero p{font-size:18px;margin:0;color:rgba(240,249,255,0.95)}

.article{
    padding:50px 20px;
    max-width:820px;
    margin:0 auto 60px;
    background:linear-gradient(180deg, #ffffff, #fcfeff);
    border-radius:10px;
    overflow-x: hidden;
}

.article-cover{width:100%;border-radius:12px;margin:20px 0 30px;display:block;object-fit:cover}
.article h1{font-size:34px;margin-bottom:18px;color:var(--text)}
.article p{font-size:18px;color:var(--muted);margin:14px 0}
.article h2{margin-top:34px;font-size:26px;color:var(--text)}
.article-image{width:100%;border-radius:12px;margin:28px 0;display:block;object-fit:cover}
.article-list{margin:10px 0 20px 20px;color:var(--muted);font-size:17px;line-height:1.6}

.site-footer{background:#f6fbfd;padding:36px 0 20px;border-top:1px solid rgba(5,10,15,0.04)}
.footer-grid{display:grid;grid-template-columns:1fr 220px 240px;gap:24px;align-items:start}
.footer-col .logo{gap:8px}
.footer-col h4{margin:0 0 10px;font-size:16px}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col ul li{margin:6px 0}
.footer-col a{color:var(--muted);text-decoration:none}
.footer-bottom{border-top:1px solid rgba(5,10,15,0.03);padding:12px 0;margin-top:20px}
.site-footer small{color:var(--muted)}

@media (max-width: 900px){
    .container{padding:0 16px}
    .mobile-toggle{display:block}
    .logo span{font-size:15px;white-space:normal}
    .main-nav{
        position:fixed;
        top:var(--header-height);
        right:0;
        left:0;
        background:rgba(255,255,255,0.98);
        flex-direction:column;
        padding:12px 14px;
        gap:12px;
        transform:translateY(-120%);
        transition:transform .25s ease-in-out, visibility .25s;
        z-index:80;
        overflow-y:auto;
        max-height: calc(100vh - var(--header-height));
        box-shadow: 0 6px 18px rgba(9,30,63,0.06);
        visibility:hidden;
        pointer-events:none;
    }
    .main-nav.open{
        transform:translateY(0);
        visibility:visible;
        pointer-events:auto;
    }
    .footer-grid{grid-template-columns:1fr;gap:18px}
    .article{margin:0 12px 40px;padding:28px;max-width: calc(100% - 24px)}
    .article-hero{margin:18px 12px;max-width: calc(100% - 24px)}
}

@media (max-width: 480px){
    .article h1{font-size:28px}
    .article h2{font-size:22px}
    .article p{font-size:16px}
    .header-inner{padding:10px 8px}
    .logo img{height:38px}
    .main-nav a{padding:8px 10px;font-size:15px}
    .article{padding:20px}
    .article-hero{padding:30px 12px}
}

table, pre, code { max-width:100%; overflow-x:auto; display:block; }
button, input, textarea { max-width:100%; }
[style*="width: 100vw"] { width: 100%; max-width:100%; }

@media (prefers-reduced-motion: reduce){
    * { transition: none !important; animation: none !important; }
}
