*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#7c3aed;--primary-dark:#6d28d9;--primary-light:#ede9fe;--success:#047857;--success-bg:#ecfdf5;--warning:#92400e;--warning-bg:#fef3c7;--text:#1f2937;--text-muted:#6b7280;--bg:#f9fafb;--white:#fff;--border:#e5e7eb;--radius:8px;--shadow:0 1px 3px #0000001a}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.container{max-width:720px;margin:0 auto;padding:0 1rem}.header{background:var(--white);border-bottom:1px solid var(--border);text-align:center;padding:1.5rem 0}.logo{color:var(--primary);font-size:1.5rem;font-weight:700}.tagline{color:var(--text-muted);margin-top:.25rem;font-size:.95rem}.wizard{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin:2rem 0;padding:2rem}.step h2{margin-bottom:.25rem;font-size:1.25rem}.step-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.9rem}.field{margin-bottom:1.25rem}.field label{margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}.field-toggle label{cursor:pointer;align-items:center;gap:.5rem;font-weight:500;display:flex}.field-toggle input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--primary)}.input-with-suffix{align-items:center;gap:.5rem;display:flex}.input-with-suffix input{flex:1}.suffix{color:var(--text-muted);white-space:nowrap;font-size:.9rem}input[type=number],select{border:1px solid var(--border);border-radius:var(--radius);background:var(--white);width:100%;padding:.6rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s}input[type=number]:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.help{color:var(--text-muted);margin-top:.25rem;font-size:.8rem;display:block}.wizard-nav{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;display:flex}.wizard-progress{gap:.5rem;display:flex}.dot{background:var(--border);border-radius:50%;width:10px;height:10px;transition:background .2s}.dot.active{background:var(--primary)}.dot.done{background:var(--success)}.btn{border-radius:var(--radius);cursor:pointer;border:none;padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-calculate{padding:.75rem 2rem;font-size:1.05rem}.results{margin:2rem 0}.optimal-highlight{background:var(--success-bg);border:2px solid var(--success);border-radius:var(--radius);text-align:center;margin-bottom:2rem;padding:1.5rem}.optimal-header h2{color:var(--success);margin-bottom:.25rem;font-size:1.1rem}.optimal-amount{color:var(--success);font-size:2.5rem;font-weight:800;line-height:1.2}.optimal-detail{margin-top:1rem;font-size:.9rem}.optimal-comparison{justify-content:center;gap:2rem;margin-top:.75rem;display:flex}.comparison-item{flex-direction:column;display:flex}.comparison-label{color:var(--text-muted);font-size:.8rem}.comparison-value{font-size:1.1rem;font-weight:700}.comparison-value.muted{color:var(--text-muted);text-decoration:line-through}.locked-hint{background:var(--warning-bg);border-radius:var(--radius);color:var(--warning);margin-top:.75rem;padding:.5rem 1rem;font-size:.9rem}.szenarien-table-wrap{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem;overflow-x:auto}.szenarien-table{border-collapse:collapse;width:100%;font-size:.9rem}.szenarien-table th{text-align:left;border-bottom:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding:.6rem .75rem;font-size:.8rem}.szenarien-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:.75rem}.szenarien-table tr.optimal{background:var(--success-bg)}.szenarien-table tr.optimal td{font-weight:600}.szenario-name{align-items:flex-start;gap:.5rem;display:flex}.szenario-badge{background:var(--primary);width:1.5rem;height:1.5rem;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ersparnis .positive{color:var(--success);font-weight:700}.risk-warning{color:#dc2626;margin-top:.25rem;font-size:.8rem;font-style:italic}.erklaerungen{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.erklaerungen h3{margin-bottom:1rem;font-size:1rem}.erklaerung{align-items:flex-start;gap:.75rem;margin-bottom:.75rem;font-size:.85rem;line-height:1.5;display:flex}.erklaerung.optimal{font-weight:600}.erklaerung p{color:var(--text-muted)}.timeline{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem}.timeline h3{margin-bottom:1rem;font-size:1rem}.timeline-steps{padding-left:2rem;position:relative}.timeline-steps:before{content:"";background:var(--border);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.55rem}.timeline-step{margin-bottom:1.25rem;position:relative}.timeline-step:last-child{margin-bottom:0}.timeline-dot{background:var(--primary);border:2px solid var(--white);border-radius:50%;width:12px;height:12px;position:absolute;top:.3rem;left:-1.55rem}.timeline-year{color:var(--primary);margin-bottom:.15rem;font-size:.9rem;font-weight:700}.timeline-action{font-size:.9rem}.timeline-tax{color:var(--text-muted);font-size:.8rem}.timeline-note{color:var(--warning);margin-top:.15rem;font-size:.8rem;font-style:italic}.gift-vs-inherit{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem}.gift-vs-inherit h3{margin-bottom:1rem;font-size:1rem}.comparison-grid{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1rem;display:flex}.comparison-col{text-align:center;flex:1}.comparison-col h4{color:var(--text-muted);margin-bottom:.25rem;font-size:.9rem}.comparison-amount{font-size:1.3rem;font-weight:700}.comparison-vs{color:var(--text-muted);font-size:1.1rem;font-weight:700}.familienheim-note{color:var(--success);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.tradeoffs{color:var(--text-muted);padding-left:1.5rem;font-size:.85rem;list-style:outside}.tradeoffs li{margin-bottom:.25rem}.referral-cta{background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.referral-cta h3{color:var(--primary-dark);margin-bottom:.5rem;font-size:1rem}.referral-cta p{color:var(--text);font-size:.9rem;line-height:1.5}.payment-gate{margin-bottom:2rem}.payment-card{background:var(--white);border:2px solid var(--primary);border-radius:var(--radius);text-align:center;padding:2rem}.payment-card h3{margin-bottom:.5rem;font-size:1.2rem}.payment-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.payment-features{text-align:left;max-width:400px;margin:0 auto 1.5rem;padding:0;list-style:none}.payment-features li{padding:.35rem 0;font-size:.9rem}.payment-features li:before{content:"✓ ";color:var(--success);font-weight:700}.payment-price{margin-bottom:1rem}.price-amount{color:var(--text);font-size:2rem;font-weight:800}.price-note{color:var(--text-muted);font-size:.8rem;display:block}.btn-pay{padding:.85rem 3rem;font-size:1.1rem}.payment-legal{color:var(--text-muted);margin-top:.75rem;font-size:.75rem}.payment-unlocked{text-align:center;margin-bottom:2rem}.btn-download{padding:.85rem 3rem;font-size:1.05rem}.disclaimer{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);margin-bottom:1.5rem;padding:1rem;font-size:.8rem}.results-actions{text-align:center;margin-bottom:2rem}.footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding:1rem 0;font-size:.8rem}.footer-nav{justify-content:center;gap:1.5rem;margin-top:.5rem;display:flex}.link-btn{color:var(--text-muted);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.link-btn:hover{color:var(--primary)}.legal-page{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin:2rem 0;padding:2rem}.legal-page h2{margin-bottom:1rem;font-size:1.3rem}.legal-page h3{margin:1.5rem 0 .5rem;font-size:1.1rem}.legal-page p{color:var(--text-muted);margin-bottom:.75rem;font-size:.9rem;line-height:1.6}.article{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin:2rem 0;padding:2rem}.article h1{margin-bottom:.25rem;font-size:1.5rem}.article-meta{color:var(--text-muted);margin-bottom:1.5rem;font-size:.85rem}.article h2{margin:1.75rem 0 .5rem;font-size:1.15rem}.article h3{margin:1.25rem 0 .5rem;font-size:1rem}.article p{margin-bottom:.75rem;font-size:.95rem;line-height:1.7}.article ul,.article ol{margin:.5rem 0 1rem 1.5rem;font-size:.95rem;line-height:1.7}.article li{margin-bottom:.4rem}.article-intro{background:var(--primary-light);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem 1.25rem}.article-intro p{margin-bottom:0}.article-example{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin:1.25rem 0;padding:1.25rem}.article-table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.9rem}.article-table th,.article-table td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .75rem}.article-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem}.article-note{color:var(--text-muted);margin-top:.5rem;font-size:.85rem;font-style:italic}.article-cta{background:var(--success-bg);border:2px solid var(--success);border-radius:var(--radius);text-align:center;margin:2rem 0 1.5rem;padding:1.5rem}.article-cta h3{color:var(--success);margin-top:0}.article-cta p{margin-bottom:1rem}@media (width<=600px){.wizard{margin:1rem 0;padding:1.25rem}.optimal-amount{font-size:2rem}.optimal-comparison{flex-direction:column;gap:.5rem}.szenarien-table{font-size:.8rem}.szenarien-table td,.szenarien-table th{padding:.5rem}.comparison-grid{flex-direction:column;gap:.75rem}}
