:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;background:#07111f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 0,#12345e,#07111f 36%,#020617 100%);min-width:1100px;margin:0}button,input,select{font:inherit}input,select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;padding:9px 10px}input:focus,select:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e92e}input[type=range]{padding:0}.app{max-width:1920px;margin:0 auto;padding:20px}.hero{color:#fff;background:linear-gradient(135deg,#0ea5e940,#22c55e24),#0f172aa6;border:1px solid #ffffff29;border-radius:28px;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex;box-shadow:0 24px 80px #00000059}.hero h1{letter-spacing:-1.8px;margin:7px 0 6px;font-size:clamp(30px,4vw,56px)}.hero p{color:#cbd5e1;margin:0;font-size:17px}.eyebrow{color:#93c5fd;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font-size:12px;font-weight:800;display:inline-flex}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:11px 15px;font-weight:850;display:inline-flex;box-shadow:0 12px 30px #0ea5e947}.btn:hover{transform:translateY(-1px)}.btn.ghost{box-shadow:none;background:#ffffff1f;border:1px solid #fff3}.btn.dark{background:linear-gradient(135deg,#0f172a,#1e293b)}.btn.small{border-radius:11px;padding:8px 11px;font-size:13px}.btn.full{width:100%}.safety-banner{color:#ffedd5;background:#7c2d1261;border:1px solid #fdba7461;border-radius:18px;align-items:center;gap:10px;margin:14px 0;padding:13px 16px;display:flex}.top-metrics{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px;display:grid}.metric{background:#fff;border:1px solid #e2e8f0;border-radius:18px;min-height:72px;padding:14px;box-shadow:0 18px 44px #0000001a}.metric small{color:#64748b;margin-bottom:5px;font-size:12px;display:block}.metric strong{color:#0f172a;font-size:20px;line-height:1.1;display:block}.metric-blue{border-top:4px solid #0ea5e9}.metric-green{border-top:4px solid #22c55e}.metric-amber{border-top:4px solid #f59e0b}.metric-red{border-top:4px solid #ef4444}.metric-slate{border-top:4px solid #64748b}.main-grid{grid-template-columns:430px minmax(640px,1fr) 430px;align-items:start;gap:14px;display:grid}.left-column,.center-column,.right-column{gap:14px;display:grid}.panel{background:#fffffff7;border:1px solid #e2e8f0f2;border-radius:24px;padding:16px;overflow:hidden;box-shadow:0 22px 60px #00000021}.panel-title{color:#0f172a;align-items:center;gap:9px;margin-bottom:13px;display:flex}.panel-title h2{margin:0;font-size:18px}.form-grid,.market-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.field{color:#334155;gap:6px;font-size:13px;font-weight:800;display:grid}.field b{color:#0284c7;font-size:12px}.mini-note{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:12px 0 0;padding:10px 12px;font-size:13px;line-height:1.7}.load-table-wrap{border:1px solid #e2e8f0;border-radius:16px;overflow-x:auto}.load-table{border-collapse:collapse;width:100%;font-size:12px}.load-table th{color:#334155;text-align:start;white-space:nowrap;background:#f1f5f9;padding:8px}.load-table td{border-top:1px solid #e2e8f0;padding:7px}.load-table input,.load-table select{border-radius:8px;min-width:70px;padding:7px;font-size:12px}.load-table td:first-child input{min-width:120px}.button-row{align-items:center;gap:9px;margin-top:12px;display:flex}.button-row.stacked{display:grid}.diagram-panel{padding:16px 16px 20px}.lab-schematic{background:linear-gradient(#ffffffd6,#e0f2fecc),radial-gradient(circle at 70% 15%,#0ea5e940,#0000 30%);border:1px solid #bae6fd;border-radius:22px;height:390px;position:relative;overflow:hidden}.lab-schematic:before{content:"";background-image:linear-gradient(#0ea5e90f 1px,#0000 1px),linear-gradient(90deg,#0ea5e90f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.schematic-lines{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.flow{fill:none;stroke-width:5px;stroke-linecap:round;stroke-dasharray:14 12;filter:drop-shadow(0 2px 2px #00000029);animation:1.4s linear infinite dash}.flow-yellow{stroke:#f59e0b}.dc-flow{stroke:#0ea5e9}.ac-flow{stroke:#22c55e}.signal-flow{stroke:#64748b;stroke-width:3px}.battery-flow{stroke:#ef4444}@keyframes dash{to{stroke-dashoffset:-52px}}.device,.sun-block,.grid-tower,.schematic-label{z-index:3;position:absolute}.sun-block{text-align:center;color:#0f172a;width:150px;top:22px;left:32px}.sun-core{background:radial-gradient(circle,#fef08a,#fbbf24 62%,#f97316);border-radius:50%;place-items:center;width:92px;height:92px;margin:0 auto 7px;animation:2.2s ease-in-out infinite pulse;display:grid;box-shadow:0 0 0 12px #fbbf2438,0 0 55px #fbbf24cc}@keyframes pulse{50%{transform:scale(1.05);box-shadow:0 0 0 17px #fbbf2426,0 0 80px #fbbf24e6}}.sun-block span,.device span,.grid-tower span{color:#334155;font-size:12px;font-weight:800;display:block}.sun-block b,.device strong,.grid-tower strong{color:#0f172a;font-size:13px}.pv-array{width:150px;bottom:55px;left:50px;transform:skewY(-10deg)rotate(-2deg)}.panel-grid{background:linear-gradient(135deg,#075985,#38bdf8);border:5px solid #0369a1;border-radius:10px;width:150px;height:110px;position:relative;box-shadow:0 22px 28px #0284c759}.panel-grid:before{content:"";background-image:linear-gradient(90deg,#ffffffa6 1px,#0000 1px),linear-gradient(#ffffffa6 1px,#0000 1px);background-size:27px 22px;position:absolute;inset:8px}.laptop{text-align:center;color:#0f172a;bottom:56px;left:278px}.rack{background:linear-gradient(#f8fafc,#cbd5e1);border:2px solid #64748b;border-radius:16px;width:235px;height:92px;padding:14px;top:116px;left:390px;box-shadow:inset 0 -16px 28px #0f172a1f,0 20px 40px #0f172a40}.rack-screen{color:#86efac;background:#020617;border-radius:8px;width:112px;padding:9px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.rack-knobs{grid-template-columns:repeat(2,18px);gap:8px;display:grid;position:absolute;top:20px;right:18px}.rack-knobs i{background:#334155;border-radius:4px;width:16px;height:16px;display:block;box-shadow:inset 0 0 0 3px #94a3b8}.battery-bank{text-align:center;background:linear-gradient(135deg,#dcfce7,#86efac);border:1px solid #22c55e;border-radius:18px;width:145px;padding:14px;bottom:47px;left:515px}.inverter3d{text-align:center;color:#fff;background:linear-gradient(135deg,#0369a1,#0ea5e9);border-radius:14px;width:155px;height:92px;padding:13px;top:42px;right:205px;transform:perspective(300px)rotateY(-16deg);box-shadow:0 20px 35px #0284c759}.inverter3d span,.inverter3d strong{color:#fff}.grid-tower{text-align:center;color:#0f172a;background:#fff;border:1px solid #bfdbfe;border-radius:20px;width:135px;padding:12px;top:110px;right:40px;box-shadow:0 18px 34px #0ea5e924}.grid-tower.warn{border-color:#fca5a5}.schematic-label{color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.schematic-label.dc{background:#0284c7;top:212px;left:640px}.schematic-label.ac{background:#16a34a;top:76px;right:100px}.schematic-label.signal{background:#64748b;bottom:86px;left:348px}.protection-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.check-pill{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:800;display:inline-flex}.check-pill input{width:auto}.chart-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chart-card{background:#fbfdff;border:1px solid #e2e8f0;border-radius:18px;padding:12px}.chart-card h3{color:#334155;margin:0 0 8px;font-size:14px}.result-status{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.status-badge{letter-spacing:.05em;color:#fff;border-radius:999px;padding:10px 14px;font-weight:950}.status-badge.pass{background:#16a34a}.status-badge.warning{background:#f59e0b}.status-badge.fail{background:#dc2626}.score-ring{color:#0f172a;background:conic-gradient(#22c55e,#0ea5e9,#e2e8f0);border-radius:50%;place-items:center;width:82px;height:82px;display:grid;position:relative}.score-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:7px}.score-ring strong,.score-ring span{z-index:1;position:relative}.score-ring strong{font-size:25px}.score-ring span{color:#64748b;margin-top:31px;margin-left:-5px;font-size:12px}.metric-list{grid-template-columns:1fr 1fr;gap:9px;display:grid}.metric-list .metric{box-shadow:none;min-height:66px;padding:11px}.metric-list .metric strong{font-size:15px}.checks{gap:9px;max-height:490px;margin-top:12px;padding-right:4px;display:grid;overflow-y:auto}.check{background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;grid-template-columns:24px 1fr;gap:9px;padding:11px;display:grid}.check strong{color:#0f172a;font-size:13px;display:block}.check p{color:#475569;margin:4px 0 0;font-size:12px;line-height:1.55}.check code{color:#dbeafe;direction:ltr;background:#0f172a;border-radius:8px;margin-top:6px;padding:4px 7px;font-size:11px;display:inline-block}.check.pass{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.check.warn{color:#d97706;background:#fffbeb;border-color:#fde68a}.check.fail{color:#dc2626;background:#fef2f2;border-color:#fecaca}.check.info{color:#0ea5e9}.formula-box{gap:8px;display:grid}.formula-box code{color:#e0f2fe;direction:ltr;background:#0f172a;border-radius:12px;padding:10px;font-size:12px;display:block}.recommend-card{background:linear-gradient(135deg,#ecfeff,#f0fdf4);border:1px solid #bae6fd;border-radius:18px;margin-top:12px;padding:13px}.recommend-card h3{margin:0 0 8px}.recommend-card p{color:#334155;margin:5px 0}.truth{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;align-items:start;gap:8px;padding:10px;font-size:12px;line-height:1.6;display:flex}@media (width<=1400px){body{min-width:980px}.main-grid{grid-template-columns:390px 1fr}.right-column{grid-column:1/-1;grid-template-columns:1fr 1fr}}@media print{body{background:#fff;min-width:auto}.hero-actions,.button-row,.btn{display:none!important}.app{padding:0}.panel,.hero,.safety-banner,.metric{box-shadow:none}.main-grid,.right-column{grid-template-columns:1fr}}
