:root{--bg-primary:#050f0a;--bg-secondary:#0a1a10;--bg-card:#0d2018;--bg-card-hover:#123023;--green-primary:#00e676;--green-secondary:#00c853;--green-dim:#1a4d35;--green-glow:rgba(0,230,118,.12);--text-primary:#e8f5e9;--text-secondary:#81c784;--text-muted:#4caf50;--btn-text:#04140b;--header-bg:rgba(5,15,10,.88);--border:rgba(0,230,118,.18);--shadow:0 4px 30px rgba(0,0,0,.5);--shadow-sm:0 2px 12px rgba(0,0,0,.35);--white:#fff;--danger:#ff5252;--star:#ffc107;--radius:20px;--radius-sm:12px;--radius-lg:28px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--container-w:1200px;--transition:.25s cubic-bezier(.4,0,.2,1);--transition-fast:.15s ease;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
[data-theme="light"]{--bg-primary:#f5faf7;--bg-secondary:#eaf4ee;--bg-card:#fff;--bg-card-hover:#f2f9f4;--green-primary:#00a152;--green-secondary:#008f47;--green-dim:#d7ecdf;--green-glow:rgba(0,200,83,.10);--text-primary:#0d2018;--text-secondary:#1a4d35;--text-muted:#2e7d52;--btn-text:#fff;--header-bg:rgba(245,250,247,.9);--border:rgba(0,180,90,.2);--shadow:0 4px 30px rgba(13,32,24,.08);--shadow-sm:0 2px 8px rgba(13,32,24,.06)}
*{box-sizing:border-box;margin:0}
body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.65}
a{color:var(--green-primary);text-decoration:none}
.wrap{max-width:var(--container-w);margin:auto;padding:0 var(--space-4)}
.site-header{position:sticky;top:0;z-index:10;background:var(--header-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.bar{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{font-weight:800;font-size:1.15rem;color:var(--text-primary)}.logo em{color:var(--green-primary);font-style:normal}
nav{display:flex;gap:var(--space-4);align-items:center}nav a{color:var(--text-secondary);font-weight:600;font-size:.95rem}
#theme{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-pill);width:38px;height:38px;cursor:pointer}
.hero{text-align:center;padding:var(--space-7) 0 var(--space-5)}
.hero h1{font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.2}.hero h1 span{color:var(--green-primary)}
.hero p{color:var(--text-secondary);max-width:640px;margin:var(--space-3) auto 0}
.tool{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:var(--space-5);align-items:start}
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}
.card h2,.card h3{font-size:1.05rem;margin-bottom:var(--space-3)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
label{display:block;font-size:.82rem;color:var(--text-secondary);margin:var(--space-3) 0 4px;font-weight:600}
input,select{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem}
input:focus,select:focus{outline:2px solid var(--green-primary)}
details{border-top:1px solid var(--border);margin-top:var(--space-4);padding-top:var(--space-3)}summary{cursor:pointer;font-weight:700;color:var(--green-primary)}
.chk{display:flex;gap:8px;align-items:center;margin-top:var(--space-4)}.chk input{width:auto}.chk label{margin:0}
.big{text-align:center;padding:var(--space-4) 0}.big small{color:var(--text-secondary)}
.big strong{display:block;font-size:clamp(2.2rem,6vw,3.2rem);color:var(--green-primary)}
.charts{display:grid;grid-template-columns:200px 1fr;gap:var(--space-4);align-items:center}
canvas{max-width:100%}
table{width:100%;border-collapse:collapse;font-size:.95rem}td,th{padding:7px 4px;border-bottom:1px solid var(--border);text-align:left}td:last-child,th:last-child{text-align:right}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.tot td{font-weight:800;color:var(--green-primary)}
.stats{display:flex;gap:var(--space-3);margin:var(--space-4) 0}.stats div{flex:1;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:var(--space-3);text-align:center;font-size:.8rem;color:var(--text-secondary)}.stats b{display:block;font-size:1.2rem;color:var(--text-primary)}
.acts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}
.btn{background:var(--green-primary);color:var(--btn-text);border:0;border-radius:var(--radius-pill);padding:10px 18px;font-weight:700;cursor:pointer;font-size:.9rem}
.btn.alt{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}
.section{margin-top:var(--space-7)}
.site-footer{margin-top:var(--space-8);background:var(--bg-secondary);border-top:1px solid var(--border);padding:var(--space-7) 0 var(--space-5)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-6)}
.f-grid p{color:var(--text-secondary);font-size:.92rem;margin-top:var(--space-3)}
.f-col h4{color:var(--green-primary);text-transform:uppercase;font-size:.78rem;letter-spacing:.1em;margin-bottom:var(--space-3)}
.f-col ul{list-style:none;padding:0}.f-col li{margin-bottom:8px}.f-col a{color:var(--text-secondary);font-size:.93rem}
.f-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);border-top:1px solid var(--border);margin-top:var(--space-6);padding-top:var(--space-4);color:var(--text-muted);font-size:.88rem}
.f-links{display:flex;gap:var(--space-4)}.f-note{margin-top:var(--space-4);font-size:.8rem;color:var(--text-muted)}
@media(max-width:860px){.tool,.charts{grid-template-columns:1fr}.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.f-grid{grid-template-columns:1fr}nav a{display:none}}
.stack{display:grid;gap:var(--space-4)}
#card{display:grid;gap:var(--space-4);padding:var(--space-2);background:var(--bg-primary)}
.chart-wrap{display:grid;grid-template-columns:200px 1fr;gap:var(--space-5);align-items:center}
#donut svg{display:block;margin:auto}
.bar-row{display:grid;grid-template-columns:140px 1fr 78px;gap:var(--space-2);align-items:center;font-size:.85rem;margin:6px 0}
.bar-row span{color:var(--text-secondary)}.bar-row b{text-align:right}
.track{height:12px;background:var(--bg-secondary);border-radius:var(--radius-pill);overflow:hidden}.track i{display:block;height:100%;border-radius:var(--radius-pill)}
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-3);margin:var(--space-4) 0}
.icard{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4)}
.icard h4{color:var(--green-primary);font-size:.95rem;margin-bottom:4px}.icard p{font-size:.9rem;color:var(--text-secondary)}
.article h2{margin:var(--space-6) 0 var(--space-2);font-size:1.4rem}.article h2:first-child{margin-top:0}
.article p{color:var(--text-secondary);margin-bottom:var(--space-3)}
.faq details{border-top:1px solid var(--border);padding:var(--space-3) 0}.faq p{margin-top:var(--space-2);color:var(--text-secondary)}
@media(max-width:860px){.chart-wrap{grid-template-columns:1fr}}
@media(max-width:520px){.bar-row{grid-template-columns:100px 1fr 64px}}
.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3)}
.acard{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4)}
.acard h3{color:var(--green-primary);font-size:1.02rem;margin-bottom:var(--space-2)}
.acard p,.acard li{font-size:.93rem;color:var(--text-secondary);margin-bottom:var(--space-2)}
.acard ul{padding-left:18px}.acard b{color:var(--text-primary)}
.drow{display:grid;grid-template-columns:1.3fr 1fr .9fr;gap:6px;align-items:center;margin-bottom:var(--space-3)}
.drow span{grid-column:1/-1;font-size:.82rem;color:var(--text-secondary);font-weight:600}
.drow b{text-align:right;font-size:.9rem}
.dtot{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:var(--space-2);font-size:.9rem;font-weight:700}
.dtot b{color:var(--green-primary)}
#notes p{font-size:.88rem;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}
#notes .ok{background:var(--green-glow);color:var(--text-primary)}#notes .warn{background:rgba(255,82,82,.12);color:var(--danger)}