@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes toolResultIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes wizardFadeIn{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.performanceBudgetPage{background:var(--color-bg-secondary,#f8fafc);color:var(--color-text-primary,#0f172a);min-height:100vh;padding:32px 5% 48px;transition:background .3s ease,color .3s ease}.performanceBudget{margin:0 auto;max-width:1000px;padding:0 16px}.performanceBudget__form{background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:16px;margin-bottom:24px;padding:24px}.performanceBudget__sectionTitle{border-bottom:1px solid var(--color-border,#e2e8f0);color:var(--color-text-primary,#0f172a);font-size:2rem;font-weight:600;margin:0 0 16px;padding-bottom:8px}.performanceBudget__desc{color:var(--color-text-secondary,#475569);font-size:1.5rem;margin:-8px 0 24px}.performanceBudget__grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:24px}@media screen and (max-width:768px){.performanceBudget__grid{grid-template-columns:1fr}}.performanceBudget__card{background:var(--color-bg-secondary,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px}.performanceBudget__cardHeader{align-items:center;display:flex;gap:8px;margin-bottom:4px}.performanceBudget__cardIcon{font-size:2rem;line-height:1}.performanceBudget__cardTitle{color:var(--color-text-primary,#0f172a);font-size:1.6rem;font-weight:600;margin:0}.performanceBudget__label{color:var(--color-text-secondary,#475569);display:block;font-size:1.5rem;font-weight:500;margin-bottom:4px;margin-top:8px}.performanceBudget__inputRow{align-items:center;display:flex;gap:8px}.performanceBudget__input{background:var(--color-bg-input,#f1f5f9);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:var(--color-text-primary,#0f172a);flex:1;font-size:1.6rem;line-height:1.5;padding:10px 14px;transition:border-color .15s cubic-bezier(.22,1,.36,1),background .15s cubic-bezier(.22,1,.36,1);width:100%}.performanceBudget__input::-moz-placeholder{color:var(--color-text-muted,#94a3b8)}.performanceBudget__input::placeholder{color:var(--color-text-muted,#94a3b8)}.performanceBudget__input:focus{border-color:var(--color-accent,#2563eb);box-shadow:0 0 0 1px var(--color-accent,#2563eb);outline:none}.performanceBudget__input:focus-visible{outline:none}.performanceBudget__input:focus{border-color:var(--tool-accent,#2563eb);box-shadow:0 0 0 1px var(--tool-accent,#2563eb)}.performanceBudget__badge{align-items:center;border-radius:999px;display:inline-flex;flex-shrink:0;font-size:1.4rem;font-weight:600;padding:4px 10px;white-space:nowrap}.performanceBudget__badge_state_good{background:rgba(34,197,94,.12);color:#16a34a}.performanceBudget__badge_state_warn{background:rgba(234,179,8,.12);color:#a16207}.performanceBudget__badge_state_poor{background:rgba(239,68,68,.12);color:#dc2626}.performanceBudget__hint{color:var(--color-text-muted,#94a3b8);font-size:1.2rem;line-height:1.4;margin:0}.performanceBudget__actions{display:flex;flex-wrap:wrap;gap:8px}.performanceBudget__btnPrimary{align-items:center;background:#2563eb;background:var(--tool-accent,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.6rem;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:14px 28px;text-decoration:none;transition:background .15s cubic-bezier(.22,1,.36,1),box-shadow .15s cubic-bezier(.22,1,.36,1)}.performanceBudget__btnPrimary:hover{background:#1d4ed8;box-shadow:0 4px 14px rgba(37,99,235,.15)}.performanceBudget__btnPrimary:active{background:color-mix(in srgb,#2563eb 90%,#000)}.performanceBudget__btnPrimary:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.performanceBudget__btnPrimary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.performanceBudget__btnPrimary:hover{background:var(--tool-accent-hover,color-mix(in srgb,#2563eb 84%,#000));box-shadow:0 4px 14px rgba(var(--tool-accent-rgb,37,99,235),.35)}.performanceBudget__btnSecondary{align-items:center;background:transparent;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:var(--color-text-primary,#0f172a);cursor:pointer;display:inline-flex;font-size:1.6rem;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:14px 28px;text-decoration:none;transition:border-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1),background .15s cubic-bezier(.22,1,.36,1)}.performanceBudget__btnSecondary:hover{background:rgba(37,99,235,.08);border-color:#2563eb;color:#2563eb}.performanceBudget__btnSecondary:active{background:rgba(37,99,235,.12)}.performanceBudget__btnSecondary:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.performanceBudget__btnSecondary:disabled{cursor:not-allowed;opacity:.5}.performanceBudget__output{background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:16px;margin-bottom:24px;margin-top:24px;padding:24px}.performanceBudget__outputHeader{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:16px}.performanceBudget__outputActions{display:flex;gap:8px}.performanceBudget__btnIcon{align-items:center;background:transparent;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:var(--color-text-primary,#0f172a);cursor:pointer;display:inline-flex;font-size:1.6rem;font-size:1.5rem;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:8px 16px;text-decoration:none;transition:border-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1),background .15s cubic-bezier(.22,1,.36,1)}.performanceBudget__btnIcon:hover{background:rgba(37,99,235,.08);border-color:#2563eb;color:#2563eb}.performanceBudget__btnIcon:active{background:rgba(37,99,235,.12)}.performanceBudget__btnIcon:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.performanceBudget__btnIcon:disabled{cursor:not-allowed;opacity:.5}.performanceBudget__table{border:1px solid var(--color-border,#e2e8f0);border-radius:12px;margin-bottom:16px;overflow-x:auto}.performanceBudget__tableEl{border-collapse:collapse;font-size:1.5rem;width:100%}.performanceBudget__tableEl th{background:var(--color-bg-secondary,#f8fafc);color:var(--color-text-secondary,#475569);font-weight:600;text-align:left;white-space:nowrap}.performanceBudget__tableEl td,.performanceBudget__tableEl th{border-bottom:1px solid var(--color-border,#e2e8f0);padding:10px 16px}.performanceBudget__tableEl td{color:var(--color-text-primary,#0f172a)}.performanceBudget__tableEl td:last-child{font-weight:600}.performanceBudget__tableEl tr:last-child td{border-bottom:none}.performanceBudget__codeBlock{background:var(--color-bg-secondary,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:12px;overflow:hidden}.performanceBudget__codeHeader{align-items:center;background:rgba(var(--tool-accent-rgb,37,99,235),.06);border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;padding:8px 16px}.performanceBudget__codeLabel{color:var(--tool-accent,#2563eb);font-family:monospace;font-size:1.4rem;font-weight:600}.performanceBudget__pre{color:var(--color-text-primary,#0f172a);font-family:monospace;font-size:1.5rem;line-height:1.6;margin:0;overflow-x:auto;padding:16px;white-space:pre}.performanceBudget__toast{background:#1e293b;border-radius:8px;bottom:24px;color:#f8fafc;font-size:1.5rem;font-weight:500;opacity:0;padding:12px 20px;pointer-events:none;position:fixed;right:24px;transform:translateY(8px);transition:opacity .2s,transform .2s;z-index:1000}.performanceBudget__toast_state_visible{opacity:1;transform:translateY(0)}.performanceBudgetMainContent{margin:0 auto;max-width:1000px}