*{box-sizing:border-box}body{margin:0;padding:0}#root{width:100%;margin:0;padding:0}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:#0891b2;--primary-light:#e0f2fe;--primary-dark:#0e7490;--accent-color:#059669;--accent-light:#d1fae5;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#e2e8f0;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-page:#fafbfc;--bg-hover:#f1f5f9;--danger-color:#dc2626;--success-color:#059669;--success-light:#d1fae5;--info-color:#0891b2;--info-light:#e0f2fe;--warning-color:#f59e0b;--warning-light:#fef3c7;--radius:12px;--radius-lg:16px;--radius-sm:8px;--shadow-subtle:0 1px 2px 0 #0000000d;--shadow-card:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-elevated:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background:var(--bg-page);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.app{max-width:680px;margin:0 auto;padding:2rem 1rem 4rem}header{text-align:center;margin-bottom:2.5rem;padding:2rem 1rem}header h1{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.75rem;font-size:2rem;font-weight:600;line-height:1.3}.subtitle{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:1.0625rem;font-weight:400;line-height:1.6}.content,.sidebar,.main-content{flex-direction:column;gap:1.5rem;display:flex}.step-indicator{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.step-number{background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.875rem;font-weight:600;display:inline-flex}.step-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:500}.section{background:var(--bg-primary);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid var(--border-color);padding:2rem;transition:box-shadow .2s}.section:hover{box-shadow:var(--shadow-elevated)}.section h2{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:600;line-height:1.4}.help-text{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem}.plans-container{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.plan-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);padding:1.25rem;transition:all .2s}.plan-input:hover{border-color:var(--primary-color);background:var(--bg-primary)}.input-group{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.input-group:last-child{margin-bottom:0}.input-group label{color:var(--text-primary);font-size:.875rem;font-weight:500}.input-group input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);padding:.75rem 1rem;font-size:1rem;font-weight:400;transition:all .2s}.input-group input:hover{border-color:var(--text-muted)}.input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light);outline:none}.input-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}button{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;transition:all .2s}.add-button{background:var(--primary-color);color:#fff;width:100%}.add-button:hover{background:var(--primary-dark)}.add-button:active{transform:scale(.98)}.remove-button{color:var(--text-secondary);border:1px solid var(--border-color);background:0 0;margin-top:.75rem;padding:.5rem 1rem;font-size:.875rem}.remove-button:hover{border-color:var(--danger-color);color:var(--danger-color)}.remove-button:active{transform:scale(.98)}.chart-container{margin-top:1rem}.chart-placeholder{background:var(--bg-secondary);border-radius:var(--radius);border:2px dashed var(--border-color);justify-content:center;align-items:center;height:400px;display:flex}.chart-placeholder p{color:var(--text-secondary);font-size:1rem}.insights-panel h2{margin-bottom:1rem;font-size:1.25rem}.insight-section{margin-bottom:1.5rem}.insight-section:last-child{margin-bottom:0}.insight-section h3{color:var(--text-primary);margin-bottom:.75rem;font-size:1rem;font-weight:600}.insight-section p{margin-bottom:.5rem;line-height:1.6}.label-hint{color:var(--text-muted);margin-left:.5rem;font-size:.75rem;font-weight:400}.input-hint{color:var(--text-muted);margin-top:.25rem;font-size:.75rem;display:block}.usage-section{background:var(--info-light);border-color:var(--info-color)}.result-card{background:var(--success-light);border:1px solid var(--success-color);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:1.5rem;padding:2rem}.result-header{margin-bottom:.75rem}.result-badge{background:var(--success-color);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.result-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.75rem;font-weight:600;line-height:1.2}.result-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.5}.breakpoints-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.breakpoint-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);transition:all .2s;overflow:hidden}.breakpoint-card:hover{box-shadow:var(--shadow-elevated)}.breakpoint-header{background:var(--primary-color);color:#fff;align-items:baseline;gap:.5rem;padding:.75rem 1.25rem;display:flex}.breakpoint-value{font-size:1.5rem;font-weight:600;line-height:1}.breakpoint-unit{opacity:.9;font-size:.875rem}.breakpoint-body{padding:1.25rem}.breakpoint-body p{color:var(--text-primary);margin-bottom:.5rem;line-height:1.6}.breakpoint-body p:last-child{margin-bottom:0}.breakpoint-body strong{color:var(--text-primary);font-weight:600}.info-note{color:var(--text-secondary);text-align:center;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:1rem;line-height:1.6}footer{text-align:center;border-top:1px solid var(--border-color);margin-top:3rem;padding:1.5rem}footer p{color:var(--text-muted);max-width:520px;margin:0 auto;font-size:.875rem;line-height:1.6}@media (width<=640px){.app{padding:1.5rem 1rem 3rem}header{margin-bottom:2rem;padding:1rem}header h1{font-size:1.5rem}.subtitle{font-size:1rem}.section{padding:1.5rem}.input-row{grid-template-columns:1fr}.result-title{font-size:1.5rem}.breakpoint-header{padding:.625rem 1rem}.breakpoint-value{font-size:1.25rem}.breakpoint-body{padding:1rem}}
