
:root{--dv-scale:1.08;--bg:#f6fbf9;--surface:#fff;--surface2:#eef8f5;--text:#17312d;--muted:#667d77;--line:#d9ebe6;--p:#0f766e;--p2:#14b8a6;--shadow:0 18px 50px rgba(18,61,52,.10);--r:22px}
html{font-size:calc(16px * var(--dv-scale))}
body{background:var(--bg);color:var(--text);font-family:Inter,Manrope,system-ui,sans-serif;transition:.25s}
body.dv-dark{--bg:#0c1514;--surface:#13201e;--surface2:#182a27;--text:#edf8f5;--muted:#abc0ba;--line:#29413c;--shadow:0 18px 55px rgba(0,0,0,.3)}
body.dv-skin-emerald{--p:#0f766e;--p2:#14b8a6}body.dv-skin-blue{--p:#155e75;--p2:#38bdf8}body.dv-skin-gold{--p:#a16207;--p2:#f59e0b}body.dv-skin-rose{--p:#9f1239;--p2:#fb7185}
h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1.04}h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}h3{font-size:clamp(1.2rem,2vw,1.55rem)}
p,li,label,input,select,textarea,button,a{line-height:1.65}
.card,.panel,.admin-card,.dv-card{background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important;border-radius:var(--r)!important;box-shadow:var(--shadow)}
input,select,textarea{background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important;min-height:44px}.btn,button{min-height:42px}
.btn-primary{background:linear-gradient(135deg,var(--p),var(--p2))!important;color:#fff!important;border:0!important}
.dv-theme-toggle{position:fixed;right:18px;bottom:18px;z-index:10000;width:54px;height:54px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-size:22px;box-shadow:var(--shadow);cursor:pointer}
.dv-theme-panel{position:fixed;right:18px;bottom:82px;z-index:9999;width:min(330px,calc(100vw - 36px));padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.dv-theme-panel[hidden]{display:none}.dv-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0}.dv-buttons{display:flex;gap:6px;flex-wrap:wrap}
.dv-buttons button{background:var(--surface2);color:var(--text);border:1px solid var(--line);border-radius:11px;padding:7px 10px;font-weight:700;cursor:pointer}.dv-buttons button.active{background:var(--p);color:#fff}.dv-scale{min-width:48px;text-align:center;font-weight:800;color:var(--p)}
.dv-skin{width:32px;height:32px!important;min-height:32px!important;border-radius:50%!important;padding:0!important}.dv-skin[data-skin=emerald]{background:#14b8a6!important}.dv-skin[data-skin=blue]{background:#38bdf8!important}.dv-skin[data-skin=gold]{background:#f59e0b!important}.dv-skin[data-skin=rose]{background:#fb7185!important}
.dv-banner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0}.dv-banner{position:relative;min-height:300px;overflow:hidden;border-radius:28px;color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.16);background:linear-gradient(145deg,var(--p),#0b3b36);isolation:isolate;text-decoration:none}
.dv-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.78));z-index:-1}.dv-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.dv-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:90px;opacity:.22;z-index:-3}.dv-banner-content{position:absolute;left:0;right:0;bottom:0;padding:26px}.dv-kicker{display:inline-flex;background:rgba(255,255,255,.17);padding:7px 11px;border-radius:999px;font-size:.78rem;font-weight:800}.dv-banner h3{color:#fff;margin:12px 0 6px;font-size:1.55rem}.dv-banner p{color:rgba(255,255,255,.9);margin:0}
.dv-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.dv-article-card{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.dv-cover{aspect-ratio:16/10;background:var(--surface2);overflow:hidden}.dv-cover img{width:100%;height:100%;object-fit:cover;transition:.3s}.dv-article-card:hover img{transform:scale(1.04)}.dv-article-body{padding:22px}.dv-meta{font-size:.8rem;color:var(--p);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.dv-article-body p{color:var(--muted)}
@media(max-width:900px){.dv-banner-grid,.dv-article-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.dv-banner-grid,.dv-article-grid{grid-template-columns:1fr}.dv-banner{min-height:250px}}
