@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{color:#1f2937;background:#f6f7fb;margin:0;font-family:Segoe UI,Arial,sans-serif}header{color:#0f172a;background:#89cff0;padding:16px 24px}.header-row{align-items:center;gap:12px;display:flex}.logo{object-fit:contain;width:65px}header h1{margin:0;font-size:20px}header p{opacity:.8;margin:0;font-size:13px}main{grid-template-columns:1.15fr .85fr;gap:16px;padding:16px 24px 32px;display:grid}section{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 6px #0f172a14}h2{margin:0 0 12px;font-size:16px}h3{color:#0f172a;margin:16px 0 8px;font-size:14px}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 10px;display:grid}.field{align-items:center;gap:4px;display:flex}label{color:#475569;text-align:right;white-space:nowrap;min-width:110px;font-size:12px}input,select,textarea{border:1px solid #cbd5f5;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-size:13px}.input-narrow{max-width:120px}input[type=number]:not(.allow-spin){appearance:textfield}input[type=number]:not(.allow-spin)::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]:not(.allow-spin)::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}textarea{resize:vertical;min-height:60px}.row{align-items:center;gap:12px;display:flex}.section-title-row{align-items:center;gap:12px;margin-top:16px;display:flex}.section-title-row h3{margin:0}.input-sm{width:60px}.preview{background:#fff;border:1px dashed #cbd5f5;border-radius:10px;margin-bottom:12px;padding:10px}.preview-box{color:#475569;text-align:center;background:#fff;border-radius:8px;justify-content:center;align-items:center;height:140px;margin-bottom:8px;padding:8px;font-size:12px;display:flex}.preview-box img{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%}.preview-text{display:block}.table-wrap{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:6px}th{background:#f8fafc;font-weight:600}.table-scroll{max-height:220px;overflow-y:auto}.super-controls{align-items:center;gap:10px;margin-bottom:8px;display:flex}.super-controls label{min-width:auto}.item-no{width:auto}.row label{margin:0}.actions{gap:12px;margin-top:16px;display:flex}button{cursor:pointer;border:none;border-radius:8px;padding:10px 14px;font-size:13px}button.primary{color:#fff;background:#2563eb}button.secondary{color:#0f172a;background:#e2e8f0}button:disabled{opacity:.5;cursor:not-allowed}.hint{color:#64748b;margin-top:6px;font-size:12px}.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:12px;padding:10px;font-size:12px}.result-card{border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;padding:12px}.result-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.result-card h4{color:#0f172a;margin:0 0 8px;font-size:13px}.result-value{margin:0;font-size:16px;font-weight:600}.speed-result{color:#0f172a;margin-right:10px;font-size:16px;font-weight:700}.speed-sub{color:#475569;font-size:12px;font-weight:400}.tight-row{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.tight-row label{text-align:left;min-width:auto}.muted{color:#64748b;font-size:12px}.report{border-top:1px solid #e2e8f0;padding-top:10px}.report-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.report-actions{gap:8px;display:flex}.btn-inline{padding:6px 10px;font-size:12px}.pill{color:#3730a3;background:#e0e7ff;border-radius:999px;margin-right:6px;padding:4px 8px;font-size:11px;display:inline-block}.tab-pill{color:#3730a3;text-align:center;background:#e0e7ff;border-radius:999px;min-width:120px;margin-right:6px;padding:8px 24px;font-size:13px;text-decoration:none;display:inline-block}@media (max-width:960px){main{grid-template-columns:1fr}}
