@keyframes toastSlideIn{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastSlideOut{from{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes toolResultIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes wizardFadeIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.performanceBudgetPage{min-height:100vh;background:var(--color-bg-secondary, #f8fafc);color:var(--color-text-primary, #0f172a);padding:32px 5% 48px;transition:background .3s ease,color .3s ease}.performanceBudget{max-width:1000px;margin:0 auto;padding:0 16px}.performanceBudget__form{background:var(--color-bg-card, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:16px;padding:24px;margin-bottom:24px}.performanceBudget__sectionTitle{font-size:2rem;font-weight:600;color:var(--color-text-primary, #0f172a);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--color-border, #e2e8f0)}.performanceBudget__desc{font-size:1.5rem;color:var(--color-text-secondary, #475569);margin:-8px 0 24px}.performanceBudget__grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px;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;padding:16px;display:flex;flex-direction:column;gap:8px}.performanceBudget__cardHeader{display:flex;align-items:center;gap:8px;margin-bottom:4px}.performanceBudget__cardIcon{font-size:2rem;line-height:1}.performanceBudget__cardTitle{font-size:1.6rem;font-weight:600;color:var(--color-text-primary, #0f172a);margin:0}.performanceBudget__label{display:block;font-size:1.5rem;font-weight:500;color:var(--color-text-secondary, #475569);margin-bottom:4px;margin-top:8px}.performanceBudget__inputRow{display:flex;align-items:center;gap:8px}.performanceBudget__input{width:100%;padding:14px 18px;background:var(--color-bg-input, #f1f5f9);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;color:var(--color-text-primary, #0f172a);font-size:1.6rem;line-height:1.5;transition:border-color .15s cubic-bezier(0.22, 1, 0.36, 1),background .15s cubic-bezier(0.22, 1, 0.36, 1);flex:1;padding:10px 14px}.performanceBudget__input::-moz-placeholder{color:var(--color-text-muted, #94a3b8)}.performanceBudget__input::placeholder{color:var(--color-text-muted, #94a3b8)}.performanceBudget__input:focus{outline:none;border-color:var(--color-accent, #2563eb);box-shadow:0 0 0 1px var(--color-accent, #2563eb)}.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{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:1.4rem;font-weight:600;white-space:nowrap;flex-shrink:0}.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{font-size:1.2rem;color:var(--color-text-muted, #94a3b8);margin:0;line-height:1.4}.performanceBudget__actions{display:flex;gap:8px;flex-wrap:wrap}.performanceBudget__btnPrimary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;min-height:48px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:1.6rem;font-weight:600;cursor:pointer;transition:background .15s cubic-bezier(0.22, 1, 0.36, 1),box-shadow .15s cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none;background:var(--tool-accent, #2563eb)}.performanceBudget__btnPrimary:hover{background:#1d4ed8;box-shadow:0 4px 14px rgba(37,99,235,.15)}.performanceBudget__btnPrimary:active{background:#1555e2}.performanceBudget__btnPrimary:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.performanceBudget__btnPrimary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.performanceBudget__btnPrimary:hover{background:var(--tool-accent-hover, #1350d4);box-shadow:0 4px 14px rgba(var(--tool-accent-rgb, 37, 99, 235), 0.35)}.performanceBudget__btnSecondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;min-height:48px;background:rgba(0,0,0,0);color:var(--color-text-primary, #0f172a);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;font-size:1.6rem;font-weight:600;cursor:pointer;transition:border-color .15s cubic-bezier(0.22, 1, 0.36, 1),color .15s cubic-bezier(0.22, 1, 0.36, 1),background .15s cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none}.performanceBudget__btnSecondary:hover{border-color:#2563eb;color:#2563eb;background:rgba(37,99,235,.08)}.performanceBudget__btnSecondary:active{background:rgba(37,99,235,.12)}.performanceBudget__btnSecondary:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.performanceBudget__btnSecondary:disabled{opacity:.5;cursor:not-allowed}.performanceBudget__output{background:var(--color-bg-card, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:16px;padding:24px;margin-bottom:24px;margin-top:24px}.performanceBudget__outputHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.performanceBudget__outputActions{display:flex;gap:8px}.performanceBudget__btnIcon{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;min-height:48px;background:rgba(0,0,0,0);color:var(--color-text-primary, #0f172a);border:1px solid var(--color-border, #e2e8f0);border-radius:8px;font-size:1.6rem;font-weight:600;cursor:pointer;transition:border-color .15s cubic-bezier(0.22, 1, 0.36, 1),color .15s cubic-bezier(0.22, 1, 0.36, 1),background .15s cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none;padding:8px 16px;font-size:1.5rem}.performanceBudget__btnIcon:hover{border-color:#2563eb;color:#2563eb;background:rgba(37,99,235,.08)}.performanceBudget__btnIcon:active{background:rgba(37,99,235,.12)}.performanceBudget__btnIcon:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.performanceBudget__btnIcon:disabled{opacity:.5;cursor:not-allowed}.performanceBudget__table{overflow-x:auto;margin-bottom:16px;border-radius:12px;border:1px solid var(--color-border, #e2e8f0)}.performanceBudget__tableEl{width:100%;border-collapse:collapse;font-size:1.5rem}.performanceBudget__tableEl th{background:var(--color-bg-secondary, #f8fafc);color:var(--color-text-secondary, #475569);font-weight:600;padding:10px 16px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border, #e2e8f0)}.performanceBudget__tableEl td{padding:10px 16px;color:var(--color-text-primary, #0f172a);border-bottom:1px solid var(--color-border, #e2e8f0)}.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{display:flex;align-items:center;padding:8px 16px;border-bottom:1px solid var(--color-border, #e2e8f0);background:rgba(var(--tool-accent-rgb, 37, 99, 235), 0.06)}.performanceBudget__codeLabel{font-size:1.4rem;font-weight:600;color:var(--tool-accent, #2563eb);font-family:monospace}.performanceBudget__pre{padding:16px;font-family:monospace;font-size:1.5rem;line-height:1.6;color:var(--color-text-primary, #0f172a);overflow-x:auto;margin:0;white-space:pre}.performanceBudget__toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;background:#1e293b;color:#f8fafc;border-radius:8px;font-size:1.5rem;font-weight:500;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;z-index:1000}.performanceBudget__toast_state_visible{opacity:1;transform:translateY(0)}.performanceBudgetMainContent{max-width:1000px;margin:0 auto}