:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;--primary:#4f46e5;--actual:#10b981;--error:#e11d48;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--surface:#fff;--surface-soft:#f8fafc;--shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a08;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;color:var(--text);font-variant-numeric:tabular-nums;background:#f8fafc;margin:0}button,input{font:inherit}.page{width:min(100%,1140px);margin:0 auto;padding:40px 24px 64px;animation:.24s ease-out both page-enter}header{margin-bottom:28px}header h1{color:var(--text);letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(1.75rem,3vw,2rem);font-weight:650;line-height:1.2}header p{max-width:680px;color:var(--muted);margin:0;font-size:.95rem;line-height:1.6}h2{color:var(--text);letter-spacing:-.015em;margin:32px 0 12px;font-size:1.05rem;font-weight:620;line-height:1.4}.controls{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;align-items:end;gap:16px;margin:0 0 12px;padding:16px;display:flex}.controls label{color:#475569;letter-spacing:.01em;flex-direction:column;gap:7px;min-width:180px;font-size:.76rem;font-weight:600;display:flex}.controls input{width:100%;height:40px;color:var(--text);background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:0 11px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.controls input:hover{border-color:#94a3b8}.controls input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e524}.tabs{border:1px solid var(--border);background:#f1f5f9;border-radius:10px;gap:3px;margin-left:auto;padding:3px;display:flex}.tabs button{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;min-height:34px;padding:0 13px;font-size:.84rem;font-weight:550;transition:color .15s,background-color .15s,box-shadow .15s}.tabs button:hover{color:var(--text);background:#ffffffb3}.tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.tabs button.active{color:var(--primary);background:#fff;border-color:#e2e8f0;box-shadow:0 1px 2px #0f172a14}.banner{border:1px solid #dbeafe;border-left:3px solid var(--primary);color:#334155;background:#f5f7ff;border-radius:12px;margin:20px 0;padding:16px 18px 16px 20px;font-size:.9rem;line-height:1.7;position:relative;overflow:hidden}.banner-icon{flex:none;width:18px;height:18px;margin:0 7px -4px 0}.banner strong{color:#1e293b;font-weight:650}.published-time{color:#3730a3;white-space:nowrap;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;margin:0 2px;padding:1px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;font-weight:650;display:inline-block}.chart{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow);border-radius:14px;padding:14px 14px 10px;transition:box-shadow .15s,transform .15s}.chart:hover,.card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0f172a0d,0 14px 30px #0f172a0f}.chart .recharts-cartesian-grid-horizontal line,.chart .recharts-cartesian-grid-vertical line{stroke:#e9eef5;stroke-dasharray:3 5}.chart .recharts-cartesian-axis-line,.chart .recharts-cartesian-axis-tick-line{stroke:#dbe2ea}.chart .recharts-text{fill:#64748b;font-family:inherit;font-size:11px}.chart .recharts-legend-item-text{font-size:12px;color:#475569!important}.chart .recharts-default-tooltip{border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:0 8px 24px #0f172a1f!important}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,165px),1fr));gap:14px;display:grid}.card{border:1px solid var(--border);background:var(--surface);min-height:118px;box-shadow:var(--shadow);border-radius:13px;padding:17px 18px;transition:box-shadow .15s,transform .15s;position:relative;overflow:hidden}.card:before{background:var(--primary);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:20px;left:18px}.card-label{color:var(--muted);letter-spacing:.075em;text-transform:uppercase;padding-left:15px;font-size:.7rem;font-weight:650}.card-value{color:var(--text);letter-spacing:-.035em;overflow-wrap:anywhere;margin:15px 0 5px;font-size:clamp(1.35rem,2.4vw,1.65rem);font-weight:650;line-height:1.2}.card-hint{color:var(--muted);font-size:.76rem;line-height:1.45}.note{color:var(--muted);margin:8px 2px 0;font-size:.78rem;line-height:1.55}.status{border:1px solid var(--border);color:#475569;background:#fff;border-radius:11px;align-items:center;gap:10px;margin:18px 0;padding:13px 15px;font-size:.9rem;display:flex}.status.loading:before{border:2px solid #c7d2fe;border-top-color:var(--primary);content:"";border-radius:50%;width:16px;height:16px;animation:.75s linear infinite spin}.status.error{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.status.error svg{flex:none;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=680px){.page{padding:28px 16px 44px}header{margin-bottom:22px}.controls{align-items:stretch;gap:13px;padding:14px}.controls label{flex:calc(50% - 8px);min-width:min(100%,200px)}.tabs{width:100%;margin-left:0}.tabs button{flex:1}h2{margin-top:27px}.chart{padding:10px 6px 6px}}@media (width<=420px){.page{padding-left:12px;padding-right:12px}.controls label{flex-basis:100%}.banner{padding:13px 14px 13px 16px;font-size:.85rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{min-height:110px;padding:14px 12px}.card:before{top:17px;left:12px}.card-label{font-size:.65rem}.card-value{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
