body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-primary:#1e3a8a;--color-primary-light:#3b82f6;--color-primary-dark:#1e40af;--color-secondary:#0ea5e9;--color-secondary-light:#38bdf8;--color-neutral-lightest:#f8fafc;--color-neutral-light:#e2e8f0;--color-neutral:#64748b;--color-neutral-dark:#334155;--color-accent:#10b981;--text-primary:#1e293b;--text-secondary:#64748b;--text-light:#94a3b8;--background-primary:#fff;--background-secondary:#f8fafc;--background-tertiary:#f1f5f9;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1}.header{background-color:var(--background-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:var(--spacing-md) 0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-container{justify-content:center;margin:0 auto;max-width:1200px;padding:0 var(--spacing-lg)}.header-container,.header-logo{align-items:center;display:flex}.header-logo{gap:var(--spacing-sm);text-decoration:none}.logo-image{border-radius:var(--radius-md);height:40px;width:40px}.logo-text{color:var(--color-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin:0}.footer{background-color:var(--color-neutral-dark);color:var(--color-neutral-light);margin-top:auto;padding:var(--spacing-lg) 0}.footer-bottom-container{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 var(--spacing-lg)}.footer-copyright{color:var(--color-neutral-light);font-size:.9rem;margin:0}.footer-creators{align-items:center;display:flex;font-size:.9rem;gap:var(--spacing-sm)}.creators-label{color:var(--color-neutral-light);font-weight:500}.creator-link{color:var(--color-secondary-light);font-weight:600;text-decoration:none;transition:color .2s ease}.creator-link:hover{color:var(--color-secondary);text-decoration:underline}.separator{color:var(--color-neutral-light);margin:0 var(--spacing-xs)}@media (max-width:768px){.footer-bottom-container{flex-direction:column;gap:var(--spacing-md);text-align:center}.footer-creators{flex-wrap:wrap;justify-content:center}}.home{min-height:100vh}.input-section{background-color:var(--background-secondary);min-height:calc(100vh - 400px);padding:var(--spacing-2xl) 0}.input-section-container{margin:0 auto;max-width:1200px;padding:var(--spacing-2xl) var(--spacing-lg)}@media (max-width:768px){.input-section{padding:var(--spacing-lg) 0}.input-section-container{max-width:95%;padding:var(--spacing-md) var(--spacing-xs)}}.hero{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:#fff;padding:var(--spacing-2xl) 0}.hero-container{grid-gap:var(--spacing-2xl);align-items:center;display:grid;gap:var(--spacing-2xl);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:var(--spacing-2xl) var(--spacing-lg)}.hero-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.hero-title{font-size:3rem;font-weight:800;line-height:1.2;margin:0}.highlight{color:var(--color-secondary-light)}.hero-subtitle{color:var(--color-neutral-light);font-size:1.25rem;line-height:1.6;margin:0}.hero-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.btn-hero-primary,.btn-hero-secondary{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:1.1rem;font-weight:600;padding:var(--spacing-md) var(--spacing-xl);transition:all .2s ease}.btn-hero-primary{background-color:var(--color-secondary);color:#fff}.btn-hero-primary:hover{background-color:var(--color-secondary-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-hero-secondary{background-color:initial;border:2px solid #fff;color:#fff}.btn-hero-secondary:hover{background-color:#ffffff1a}.hero-image,.placeholder-image{align-items:center;display:flex;justify-content:center}.placeholder-image{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff1a;border-radius:var(--radius-xl);font-size:6rem;height:300px;width:300px}@media (max-width:768px){.hero-container{grid-template-columns:1fr;text-align:center}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-buttons{flex-direction:column;justify-content:center}.placeholder-image{font-size:4rem;height:200px;width:200px}}@media (max-width:1024px) and (min-width:769px){.hero-title{font-size:2.5rem}}.input-component{margin:0 auto;max-width:900px;width:100%}.input-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md)}.input-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.btn-add-block{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:none;border-radius:var(--radius-md);box-shadow:0 2px 8px #1e3a8a33;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:var(--spacing-sm) var(--spacing-lg);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-add-block:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn-add-block:hover:before{left:100%}.btn-add-block:hover{box-shadow:0 4px 16px #1e3a8a4d;transform:translateY(-2px)}.btn-add-block:active{box-shadow:0 2px 8px #1e3a8a33;transform:translateY(0)}.empty-state{background-color:var(--background-secondary);border-radius:var(--radius-lg);color:var(--text-secondary);padding:var(--spacing-2xl);text-align:center}.bloques-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.bloque-card{animation:slideInFromRight .3s ease-out forwards;background-color:var(--background-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000d;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.bloque-card:before{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.bloque-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.bloque-card:hover:before{opacity:1}.bloque-card.has-errors{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.bloque-header{align-items:center;background-color:var(--background-secondary);cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.bloque-header:hover{background-color:var(--background-tertiary)}.bloque-header-left{align-items:center;display:flex;flex:1 1;gap:var(--spacing-md);min-width:0}.color-indicator{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;cursor:pointer;flex-shrink:0;height:24px;transition:all .2s ease;width:24px}.color-indicator:hover{box-shadow:0 0 0 3px #1e3a8a33,0 4px 8px #00000026;transform:scale(1.2)}.bloque-number{background-color:var(--color-primary);border-radius:14px;color:#fff;flex-shrink:0;font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:4px 12px;white-space:nowrap}.bloque-summary{-webkit-overflow-scrolling:touch;align-items:center;display:flex;flex:1 1;flex-wrap:nowrap;gap:var(--spacing-xs);min-width:0;overflow-x:auto;overflow-y:hidden;padding:2px 0;scroll-behavior:smooth;scrollbar-width:none}.bloque-summary::-webkit-scrollbar{display:none}.summary-chip{align-items:center;border-radius:12px;box-shadow:0 1px 3px #00000014;display:inline-flex;flex-shrink:0;font-size:.8rem;font-weight:600;gap:4px;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.summary-chip-info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd;color:#1e40af}.summary-chip-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;color:#065f46}.summary-chip:hover{box-shadow:0 2px 6px #0000001f;transform:translateY(-1px)}.chip-icon{font-size:.9rem}.chip-icon,.chip-label{line-height:1}.bloque-summary-empty{color:var(--text-secondary);font-size:.85rem;font-style:italic;opacity:.7}.bloque-header-right{align-items:center;display:flex;gap:var(--spacing-md)}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:var(--spacing-xs);transition:transform .2s ease}.btn-icon:hover{transform:scale(1.1)}.btn-delete:hover{filter:brightness(.8)}.expand-icon{color:var(--text-secondary);font-size:.8rem;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.bloque-content{border-top:1px solid var(--border-color);padding:var(--spacing-lg)}.validation-errors{background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.error-message{color:#dc2626;font-size:.9rem;margin-bottom:var(--spacing-xs)}.error-message:last-child{margin-bottom:0}.form-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-xl)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{color:var(--text-primary);font-size:.95rem;font-weight:500}.form-input{background-color:var(--background-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1e3a8a1a;outline:none}.form-hint{color:var(--text-secondary);font-size:.85rem}.costes-section{background-color:var(--background-secondary);border-radius:var(--radius-md);margin-top:var(--spacing-lg);padding:var(--spacing-lg)}.costes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.costes-header h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.btn-toggle-custom{background-color:var(--background-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;font-size:.9rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md);transition:all .2s ease}.btn-toggle-custom.active,.btn-toggle-custom:hover{background-color:var(--color-primary);color:#fff}.costes-default{background-color:var(--background-primary);border-radius:var(--radius-md);padding:var(--spacing-md)}.costes-info{color:var(--text-secondary);font-family:Courier New,monospace;font-size:.95rem;margin:0}.costes-custom{background-color:var(--background-primary);border-radius:var(--radius-md);padding:var(--spacing-md)}.consejos-section{background-color:var(--background-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.consejo-item{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:var(--spacing-xs) 0}.consejo-item:first-child{margin-top:0}.consejo-item:last-child{margin-bottom:0}.costes-actions{flex-direction:column;margin-bottom:var(--spacing-md)}.bulk-cost-input,.costes-actions{display:flex;gap:var(--spacing-sm)}.bulk-cost-input{align-items:center;background-color:var(--background-secondary);border:2px solid var(--color-primary);border-radius:var(--radius-sm);padding:var(--spacing-sm)}.bulk-cost-input label{color:var(--text-primary);font-size:.9rem;font-weight:500;white-space:nowrap}.bulk-input{border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9rem;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease;width:100px}.bulk-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #1e3a8a1a;outline:none}.btn-apply-bulk{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md);transition:all .2s ease;white-space:nowrap}.btn-apply-bulk:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.btn-reset-costs{align-self:flex-start;background-color:var(--color-neutral-light);border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-md);transition:all .2s ease}.btn-reset-costs:hover{background-color:var(--color-neutral);color:#fff}.costes-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.cost-input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.cost-input-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.cost-input{border:2px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9rem;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease}.cost-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #1e3a8a1a;outline:none}.output-section{background-color:var(--background-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-top:var(--spacing-2xl);padding:var(--spacing-lg)}.output-section h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.json-output{background-color:var(--color-neutral-dark);border-radius:var(--radius-md);color:#10b981;font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;margin:0;overflow-x:auto;padding:var(--spacing-md)}.analyze-section{display:flex;justify-content:center;margin-top:var(--spacing-xl);padding:var(--spacing-lg) 0}.btn-analyze{background:linear-gradient(135deg,var(--color-accent),#059669);border:none;border-radius:var(--radius-lg);box-shadow:0 4px 12px #10b9814d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:1px;min-width:200px;overflow:hidden;padding:var(--spacing-md) var(--spacing-2xl);position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-analyze:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.btn-analyze:hover:not(:disabled):before{left:100%}.btn-analyze:hover:not(:disabled){box-shadow:0 8px 24px #10b98166;transform:translateY(-3px) scale(1.02)}.btn-analyze:active:not(:disabled){transform:translateY(-1px) scale(1)}.btn-analyze:disabled{background:linear-gradient(135deg,var(--color-neutral),var(--color-neutral-dark));box-shadow:none;cursor:not-allowed;opacity:.6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.btn-analyze:disabled{animation:pulse 1.5s ease-in-out infinite}.analysis-error{background-color:#fef2f2;border:2px solid #fecaca;border-radius:var(--radius-lg);margin-top:var(--spacing-lg);padding:var(--spacing-lg)}.error-text{color:#dc2626;font-size:1rem;font-weight:500;margin:0;text-align:center}.analysis-result{background-color:#f0fdf4;border:2px solid #86efac;border-radius:var(--radius-lg);margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.analysis-result h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 var(--spacing-md) 0;text-align:center}.result-output{background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:Courier New,monospace;font-size:.9rem;line-height:1.5;margin:0;overflow-x:auto;padding:var(--spacing-md)}@media (max-width:768px){.input-component{max-width:100%;padding:0}.input-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.input-title{font-size:1.3rem;text-align:center}.btn-add-block{font-size:1rem;padding:var(--spacing-md);width:100%}.bloques-list{padding:0 var(--spacing-sm)}.bloque-card{border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014}.bloque-card:active{transform:scale(.98)}.bloque-content,.bloque-header{padding:var(--spacing-sm)}.bloque-header{align-items:stretch;flex-direction:column;gap:var(--spacing-xs)}.bloque-header-left{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xs)}.color-indicator{flex-shrink:0;height:18px;margin-top:2px;width:18px}.bloque-number{flex-shrink:0;font-size:.7rem;padding:3px 8px}.bloque-summary{grid-gap:var(--spacing-xs);display:grid!important;flex-basis:100%;gap:var(--spacing-xs);grid-template-columns:1fr 1fr;overflow:visible;padding:0;width:100%}.summary-chip{border-radius:8px;font-size:.7rem;gap:3px;justify-content:center;padding:4px 6px}.chip-icon{font-size:.8rem}.chip-label{font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bloque-header-right{flex-direction:row;gap:var(--spacing-sm);justify-content:flex-end}.btn-icon{font-size:1.1rem;padding:var(--spacing-xs)}.expand-icon{font-size:.9rem}.form-grid{gap:var(--spacing-md);grid-template-columns:1fr}.form-group label{font-size:.9rem}.form-input{font-size:1rem;padding:var(--spacing-md)}.costes-section{padding:var(--spacing-sm)}.costes-header{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.costes-header h5{font-size:.9rem;line-height:1.4}.btn-toggle-custom{padding:var(--spacing-sm) var(--spacing-md);width:100%}.consejos-section{padding:var(--spacing-sm)}.consejo-item{font-size:.85rem}.bulk-cost-input{flex-wrap:wrap;gap:var(--spacing-xs)}.bulk-cost-input label{font-size:.85rem;width:100%}.bulk-input{flex:1 1;min-width:80px}.btn-apply-bulk{padding:var(--spacing-xs) var(--spacing-md)}.costes-grid{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.cost-input-group label{font-size:.75rem}.cost-input{font-size:.85rem;padding:var(--spacing-xs)}.analyze-section{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.btn-analyze{font-size:1.1rem;padding:var(--spacing-lg);width:100%}.analysis-error{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.validation-errors{margin-bottom:var(--spacing-md);padding:var(--spacing-sm)}.error-message{font-size:.85rem}}.output-component{background-color:var(--background-primary);border:2px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:var(--spacing-2xl) auto;max-width:900px;padding:var(--spacing-xl);width:100%}.output-header{border-bottom:2px solid var(--border-color);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md)}.output-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0;text-align:center}.empty-message{background-color:var(--background-secondary);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:1.1rem;line-height:1.6;padding:var(--spacing-2xl);text-align:center}.empty-message p{margin:0}.chart-container{background-color:var(--background-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);overflow:visible;padding:var(--spacing-lg)}.chart-title-container{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-md)}.chart-main-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0;text-align:center}.info-tooltip{-webkit-tap-highlight-color:transparent;align-items:center;cursor:help;display:inline-flex;position:relative}.info-icon{font-size:1.2rem;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.info-tooltip.active .info-icon,.info-tooltip:hover .info-icon{transform:scale(1.2)}.tooltip-content{background-color:var(--color-neutral-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:#fff;font-size:.9rem;left:50%;line-height:1.4;margin-top:var(--spacing-xs);max-width:90vw;opacity:0;padding:var(--spacing-md);pointer-events:none;position:absolute;top:100%;transform:translateX(-50%);transition:opacity .2s ease,visibility .2s ease;visibility:hidden;width:300px;z-index:1000}.info-tooltip.active .tooltip-content,.info-tooltip:hover .tooltip-content{opacity:1;visibility:visible}.tooltip-content:before{border:8px solid #0000;border-bottom:8px solid var(--color-neutral-dark);bottom:100%;content:"";left:50%;position:absolute;transform:translateX(-50%)}.chart-legend{background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);transition:all .3s ease}.legend-item{align-items:center;background-color:var(--background-secondary);border-radius:var(--radius-sm);cursor:default;display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s ease;-webkit-user-select:none;user-select:none}.legend-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.legend-color-box{border:2px solid var(--border-color);border-radius:3px;flex-shrink:0;height:16px;transition:all .2s ease;width:16px}.legend-item:hover .legend-color-box{transform:scale(1.1)}.legend-label{color:var(--text-primary);font-size:.9rem;font-weight:500;white-space:nowrap}.chart-svg{display:block;height:auto;margin:0 auto;touch-action:manipulation;width:100%}.chart-title{fill:var(--text-primary);font-size:16px;font-weight:600}.grid-line{stroke:var(--border-color);stroke-width:1;opacity:.5}.axis-line{stroke:var(--text-primary);stroke-width:2}.axis-label{fill:var(--text-secondary);font-size:12px}.axis-title{fill:var(--text-primary);font-size:14px;font-weight:600}.x-axis-label-container{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center;margin-top:var(--spacing-md);padding-top:var(--spacing-xs)}.x-axis-label{color:var(--text-primary);font-size:14px;font-weight:600}.axis-info-tooltip{align-items:center;display:inline-flex;position:relative}.axis-info-tooltip .tooltip-content{bottom:100%;margin-bottom:var(--spacing-xs);margin-top:0;top:auto;width:220px}.axis-info-tooltip .tooltip-content:before{border:8px solid #0000;border-bottom:none;border-top:8px solid var(--color-neutral-dark);bottom:auto;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.chart-line{stroke:var(--color-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--color-accent);stroke:var(--background-primary);stroke-width:2;-webkit-tap-highlight-color:transparent;cursor:pointer;transition:all .2s ease}.chart-point.active,.chart-point:hover{stroke-width:3;filter:brightness(1.2)}@media (max-width:768px){.chart-point{stroke-width:2.5}}.point-tooltip{pointer-events:none}.tooltip-rect{fill:var(--color-neutral-dark);stroke:var(--color-primary);stroke-width:2;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));opacity:.95}.tooltip-text-title{fill:#fff;font-size:13px;font-weight:700}.tooltip-text{fill:#fff;font-size:12px;font-weight:500}.probability-section{background-color:var(--background-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.probability-section h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 var(--spacing-lg) 0}.stats-container{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{background:linear-gradient(135deg,var(--background-primary),var(--background-secondary));border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;overflow:hidden;padding:var(--spacing-lg);position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:before{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));content:"";height:3px;left:0;position:absolute;right:0;top:0}.stat-card:hover{border-color:var(--color-primary);box-shadow:0 8px 20px #0000001f;transform:translateY(-4px) scale(1.02)}.stat-label{color:var(--text-secondary);font-size:.9rem;font-weight:500;margin-bottom:var(--spacing-xs)}.stat-value{color:var(--color-primary);font-size:2rem;font-weight:700}.threshold-card{display:flex;flex-direction:column;justify-content:space-between;min-height:180px}.threshold-card .stat-label{color:var(--text-primary);font-size:.95rem;line-height:1.5;margin-bottom:var(--spacing-md)}.threshold-values{align-items:center;background-color:var(--background-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:var(--spacing-lg);justify-content:center;padding:var(--spacing-md)}.threshold-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm)}.threshold-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.threshold-number{color:var(--color-accent);font-size:2rem;font-weight:800;line-height:1;text-shadow:0 2px 4px #0000001a}.plan-details{background-color:var(--background-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg)}.plan-details h4{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.plan-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.plan-step{animation:slideInFromLeft .3s ease-out forwards;opacity:0}.plan-step:first-child{animation-delay:.05s}.plan-step:nth-child(2){animation-delay:.1s}.plan-step:nth-child(3){animation-delay:.15s}.plan-step:nth-child(4){animation-delay:.2s}.plan-step:nth-child(5){animation-delay:.25s}.plan-step:nth-child(6){animation-delay:.3s}.plan-step:nth-child(7){animation-delay:.35s}.plan-step:nth-child(8){animation-delay:.4s}.plan-step:nth-child(9){animation-delay:.45s}.plan-step:nth-child(10),.plan-step:nth-child(n+11){animation-delay:.5s}.plan-step{background-color:var(--background-primary);border:1px solid var(--border-color);border-left-width:4px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:var(--spacing-sm);overflow:hidden;padding:var(--spacing-md);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.plan-step:before{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.plan-step:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #0000001a;transform:translateX(8px) translateY(-2px)}.plan-step:hover:before{opacity:1}.step-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.step-number{background-color:var(--color-primary);border-radius:12px;color:var(--color-primary);color:#fff;font-size:.95rem;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:2px 8px}.step-block-theme{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;font-weight:600;gap:var(--spacing-xs)}.step-details{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding-top:var(--spacing-xs)}.step-detail-item{align-items:center;background-color:var(--background-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.85rem;gap:4px;padding:4px 8px}.step-detail-item strong{color:var(--text-primary);font-size:.75rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.step-content{color:var(--text-secondary);font-family:Courier New,monospace;font-size:.9rem;word-break:break-word}@media (max-width:768px){.output-component{margin:var(--spacing-md) 0;max-width:100%;padding:var(--spacing-sm)}.output-title{font-size:1.3rem}.chart-container{overflow:visible;padding:var(--spacing-sm)}.chart-title-container{flex-direction:column;gap:var(--spacing-xs)}.chart-main-title{font-size:1rem;text-align:center}.chart-legend{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:var(--spacing-xs);justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding:var(--spacing-sm) var(--spacing-xs);position:relative;scroll-behavior:smooth;scrollbar-color:var(--color-primary) var(--background-secondary);scrollbar-width:thin}.chart-legend:after{background:linear-gradient(to right,#0000,var(--background-primary));border-radius:var(--radius-sm);bottom:0;content:"";pointer-events:none;position:absolute;right:0;top:0;width:30px}.chart-legend::-webkit-scrollbar{height:4px}.chart-legend::-webkit-scrollbar-track{background:var(--background-secondary);border-radius:2px}.chart-legend::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:2px}.chart-legend::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}.legend-item{background:linear-gradient(135deg,var(--background-secondary),var(--background-primary));border:1px solid var(--border-color);border-radius:16px;box-shadow:0 2px 4px #0000001a;flex-shrink:0;font-size:.8rem;padding:6px 10px}.legend-item:hover{transform:translateY(0) scale(1.05)}.legend-color-box{border-radius:50%;border-width:1.5px;height:12px;width:12px}.legend-label{font-size:.8rem;font-weight:600}.axis-label{font-size:10px}.axis-title{font-size:12px}.x-axis-label{font-size:13px}.stats-container{gap:var(--spacing-md);grid-template-columns:1fr}.stat-card{border-radius:var(--radius-xl);box-shadow:0 4px 12px #00000014;min-height:auto;padding:var(--spacing-lg)}.stat-card:active{transform:scale(.98)}.threshold-card{min-height:160px}.threshold-card .stat-label{font-size:.9rem;line-height:1.4}.threshold-number{font-size:1.8rem}.threshold-values{flex-direction:row;gap:var(--spacing-sm);padding:var(--spacing-sm)}.threshold-item{padding:var(--spacing-xs)}.threshold-label{font-size:.7rem}.plan-details{padding:var(--spacing-sm)}.plan-details h4{font-size:1rem}.plan-step{border-left-width:3px;border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014;padding:var(--spacing-sm)}.plan-step:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.step-header{align-items:center;flex-direction:row;gap:var(--spacing-sm)}.step-number{border-radius:14px;font-size:.75rem;padding:4px 10px;white-space:nowrap}.step-block-theme{flex:1 1;font-size:.85rem}.step-details{gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding-top:var(--spacing-sm)}.step-detail-item{background:linear-gradient(135deg,var(--background-secondary),var(--background-primary));border:1px solid var(--border-color);border-radius:8px;font-size:.75rem;padding:4px 8px}.step-detail-item strong{font-size:.7rem}.probability-section{padding:var(--spacing-sm)}.probability-section h4{font-size:1rem}.tooltip-content{font-size:.85rem;padding:var(--spacing-sm);width:250px}.info-icon{font-size:1.1rem}}
/*# sourceMappingURL=main.13c1db49.css.map*/