:root{--primary-gradient: linear-gradient(90deg, #646cff, #8b5cf6);--bg-dark: linear-gradient(135deg, #1a1a1a 0%, #242424 100%)}html,body,#root{margin:0;padding:0;box-sizing:border-box;width:100%;height:100%;display:flex;justify-content:center;background:var(--bg-dark)}body{background:linear-gradient(135deg,#13151a 0%,#1a1c23 100%);animation:gradientBG 15s ease infinite;background-size:400% 400%;min-height:100vh}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.container{max-width:1400px;width:100%;margin:0 auto;padding:2rem 1rem;color:#f5f5f5;display:flex;flex-direction:column;gap:2rem;box-sizing:border-box}header{text-align:center;margin-bottom:2.5rem;position:relative;padding-bottom:1.5rem;width:100%}header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:4px;background:linear-gradient(90deg,#646cff,#8b5cf6);border-radius:4px}header p{color:#aaa;max-width:600px;margin:0 auto;font-size:1.1rem;line-height:1.6}.controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;gap:1.5rem;flex-wrap:wrap;background:rgba(255,255,255,.03);padding:1.5rem;border-radius:12px;box-shadow:0 4px 24px #0000001a;border:1px solid rgba(255,255,255,.05);width:100%}.visualization-container{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:3rem;position:relative;width:100%}.left-panel,.right-panel{background:linear-gradient(145deg,rgba(30,30,30,.7) 0%,rgba(20,20,20,.8) 100%);border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #00000026;border:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.left-panel:hover,.right-panel:hover{box-shadow:0 12px 48px #0003;transform:translateY(-5px)}.right-panel{display:flex;flex-direction:column;gap:2rem;position:relative;overflow:hidden}footer{text-align:center;margin-top:2rem;padding-top:1.5rem;padding-bottom:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.9rem;color:#888;background:rgba(0,0,0,.2);border-radius:8px;width:100%}footer p{margin-bottom:.5rem;max-width:800px;margin-left:auto;margin-right:auto}@media (max-width: 1024px){.visualization-container{grid-template-columns:1fr 1.5fr}.container{padding:1.5rem 1rem}}@media (max-width: 768px){.container{padding:1rem;gap:1.5rem}.visualization-container{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.controls{flex-direction:column;align-items:stretch;padding:1rem;margin-bottom:1.5rem}header{margin-bottom:2rem}header h1{font-size:1.75rem}header p{font-size:.95rem}.instructions{font-size:.9rem}.right-panel{gap:1.5rem}}@media (max-width: 480px){.container{padding:.75rem;gap:1rem}header{margin-bottom:1.25rem;padding-bottom:1rem}header h1{font-size:1.5rem}.subtitle{font-size:.9rem!important}.instructions{font-size:.85rem}.left-panel,.right-panel{padding:1rem;border-radius:8px}.left-panel:hover,.right-panel:hover{transform:none}footer{font-size:.8rem;padding:.75rem}}.salary-input{display:flex;flex-direction:column;gap:1rem;background:linear-gradient(145deg,rgba(36,36,36,.8) 0%,rgba(28,28,28,.9) 100%);border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;position:relative;overflow:hidden}.input-container{position:relative;display:flex;align-items:center;margin:.5rem 0}.currency{position:absolute;left:16px;font-size:1.2rem;color:#646cff;font-weight:600;pointer-events:none;text-shadow:0 0 10px rgba(100,108,255,.4)}.salary-input input[type=number]{padding:1rem 1rem 1rem 2.5rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);font-size:1.2rem;width:100%;background-color:#0003;color:#fff;font-weight:500;box-shadow:inset 0 2px 4px #0000001a;transition:all .3s ease}.salary-input input[type=number]:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 2px #646cff4d,inset 0 2px 4px #0000001a}.salary-input h3{font-size:1.4rem;font-weight:600;color:#fff;margin-bottom:.5rem;position:relative;padding-bottom:.5rem;text-align:center}.salary-input h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#646cff,#8b5cf6);border-radius:3px}.salary-slider{width:100%;margin-top:1rem;padding:0 .5rem}.salary-slider input[type=range]{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,#3b82f6,#8b5cf6);border-radius:8px;outline:none;box-shadow:0 2px 8px #3b82f64d;cursor:pointer}.salary-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 10px #0000004d;border:2px solid #646cff;transition:all .2s ease}.salary-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 15px #646cff99}.salary-slider input[type=range]::-webkit-slider-thumb:active{transform:scale(1.05);background:#f0f0ff}.range-labels{display:flex;justify-content:space-between;margin-top:.75rem;font-size:.9rem;color:#aaa;padding:0 .25rem}.salary-value-display{text-align:center;font-size:1.8rem;font-weight:700;color:#fff;margin:.5rem 0;text-shadow:0 2px 10px rgba(0,0,0,.2);background:-webkit-linear-gradient(#646cff,#8b5cf6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.salary-input-container{width:100%;margin-bottom:2rem;background-color:#1e293b80;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a}.salary-input-container h3{font-size:1.25rem;margin-bottom:1.25rem;color:#e2e8f0;text-align:center}.salary-options{display:flex;gap:1.5rem;justify-content:center}.salary-option{flex:1;max-width:200px;background-color:#1e293bb3;border:2px solid rgba(59,130,246,.2);border-radius:10px;padding:.55rem;color:#fff;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem}.salary-option:hover{background-color:#3b82f626;border-color:#3b82f680;transform:translateY(-3px)}.salary-option.selected{background-color:#3b82f640;border-color:#3b82f6;box-shadow:0 0 15px #3b82f680}.salary-amount{font-size:1.5rem;font-weight:700}.salary-label{font-size:.85rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.salary-description{margin-top:.5rem;text-align:center;font-size:.9rem;color:#94a3b8;line-height:1.4}.salary-breakdown{display:flex;flex-direction:column;gap:1.5rem;height:100%;position:relative}.take-home-percentage{display:flex;justify-content:center;align-items:center;margin:1.5rem 0}.circle-progress{width:180px;height:180px;border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative;box-shadow:0 0 15px #0000004d;transition:all .8s ease;margin:0 auto}.percentage-value{font-size:2.5rem;font-weight:700;background:-webkit-linear-gradient(#22c55e,#16a34a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.2rem}.percentage-label{font-size:.9rem;color:#aaa;text-transform:uppercase;letter-spacing:1px}.salary-breakdown h3{margin-bottom:1.5rem;font-size:1.4rem;font-weight:600;color:#fff;text-align:center;position:relative;padding-bottom:.5rem}.salary-breakdown h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#646cff,#8b5cf6);border-radius:3px}.salary-breakdown h4{margin-bottom:1rem;font-size:1.1rem;color:#aaa;position:relative;display:inline-block;padding-bottom:.3rem}.salary-breakdown h4:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background:linear-gradient(90deg,#646cff,#8b5cf6);border-radius:2px}.breakdown-item{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.8rem;align-items:center;padding:.8rem 0;transition:all .3s ease;border-radius:8px}.breakdown-item:hover{background-color:#ffffff0d;transform:translate(5px)}.breakdown-item.gross{font-weight:700;border-bottom:1px solid rgba(255,255,255,.1);padding:1rem;margin-bottom:.5rem;background:linear-gradient(90deg,rgba(100,108,255,.15),rgba(139,92,246,.15));border-radius:8px}.breakdown-item.net{font-weight:700;border-top:1px solid rgba(255,255,255,.1);padding:1rem;margin-top:.5rem;background:linear-gradient(90deg,rgba(34,197,94,.15),rgba(34,197,94,.05));border-radius:8px;box-shadow:0 4px 12px #22c55e1a}.deductions{display:flex;flex-direction:column;gap:1rem;padding:1rem;background-color:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.bar-container{grid-column:1 / -1;height:10px;background-color:#ffffff1a;border-radius:6px;overflow:hidden;box-shadow:inset 0 1px 3px #0003;margin-top:.3rem}.bar{height:100%;border-radius:6px;transition:width 1s ease-out;box-shadow:0 1px 3px #0000004d;position:relative;overflow:hidden}.bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.1) 50%,rgba(255,255,255,0) 100%);animation:shine 2s infinite linear}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.bar.income-tax{background:linear-gradient(90deg,#ef4444,#dc2626)}.bar.social-security{background:linear-gradient(90deg,#f97316,#ea580c)}.bar.health-insurance{background:linear-gradient(90deg,#eab308,#ca8a04)}.bar.net-salary{background:linear-gradient(90deg,#22c55e,#16a34a)}.bar.total-deductions{background:linear-gradient(90deg,#ef4444,#dc2626)}.monthly-breakdown{margin-top:1.5rem;padding:1rem;border-top:1px solid rgba(255,255,255,.1);background-color:#ffffff08;border-radius:8px;box-shadow:0 4px 12px #0000001a}.monthly-item{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px dashed rgba(255,255,255,.1)}.monthly-item:last-child{border-bottom:none;font-weight:700}.value{font-weight:600;text-align:right;background:linear-gradient(90deg,#fff,#ccc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.percentage{color:#aaa;text-align:right;font-size:.9rem;font-weight:500}.label{font-size:.95rem}@media (max-width: 1024px){.circle-progress{width:160px;height:160px}.percentage-value{font-size:2.2rem}}@media (max-width: 768px){.salary-breakdown{gap:1rem}.take-home-percentage{margin:1rem 0}.circle-progress{width:140px;height:140px}.percentage-value{font-size:2rem}.percentage-label{font-size:.8rem}.salary-breakdown h3{font-size:1.2rem;margin-bottom:1rem}.breakdown-item{padding:.6rem 0;gap:.5rem}.breakdown-item.gross,.breakdown-item.net{padding:.8rem}.monthly-breakdown{margin-top:1rem;padding:.8rem}.monthly-item{padding:.6rem 0}.label{font-size:.9rem}}@media (max-width: 480px){.salary-breakdown{gap:.8rem}.circle-progress{width:120px;height:120px}.percentage-value{font-size:1.8rem}.percentage-label{font-size:.7rem;letter-spacing:.5px}.salary-breakdown h3{font-size:1.1rem;margin-bottom:.8rem;padding-bottom:.4rem}.salary-breakdown h3:after{width:50px;height:2px}.salary-breakdown h4{font-size:1rem;margin-bottom:.8rem}.breakdown-item{font-size:.9rem;padding:.5rem 0}.breakdown-item.gross,.breakdown-item.net{padding:.7rem;margin-bottom:.3rem;margin-top:.3rem}.deductions{gap:.7rem;padding:.7rem}.monthly-breakdown{padding:.7rem}.monthly-item{padding:.5rem 0}.label{font-size:.85rem}.value{font-size:.9rem}.percentage{font-size:.8rem}}.european-map{display:flex;flex-direction:column;gap:1rem;position:relative;background:linear-gradient(145deg,rgba(36,36,36,.8) 0%,rgba(28,28,28,.9) 100%);border-radius:12px;padding:1.5rem;box-shadow:0 8px 32px #0000001a;overflow:hidden}.european-map h3{margin-bottom:1rem;font-size:1.4rem;font-weight:600;color:#fff;text-align:center;position:relative;padding-bottom:.5rem}.european-map h3:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#646cff,#8b5cf6);border-radius:3px}.map-container{position:relative;height:450px;width:100%;border-radius:8px;overflow:hidden;transition:all .3s ease;margin:0 auto;display:flex;justify-content:center;align-items:center}.map-container svg{overflow:visible!important;width:100%!important;height:auto!important;max-height:450px}.tooltip-container{position:absolute;background-color:#0f172af2;border:1px solid rgba(59,130,246,.5);border-radius:8px;padding:12px;font-size:14px;width:220px;color:#fff;z-index:100;pointer-events:none;box-shadow:0 10px 25px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tooltip{display:flex;flex-direction:column;gap:8px}.tooltip-country{font-size:16px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:6px;margin-bottom:4px}.tooltip-percentage{display:flex;flex-direction:column;margin-bottom:4px}.percentage-value{font-size:22px;font-weight:700;color:#22c55e}.percentage-label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.tooltip-comparison{display:flex;flex-direction:column;margin-bottom:8px}.comparison-value{font-weight:600;font-size:14px}.comparison-value.positive{color:#22c55e}.comparison-value.negative{color:#ef4444}.comparison-label{font-size:12px;color:#94a3b8}.tooltip-salary{font-size:14px;color:#e2e8f0;margin-bottom:6px}.tooltip-cta{font-size:12px;color:#3b82f6;background-color:#3b82f61a;padding:4px 8px;border-radius:4px;text-align:center;margin-top:4px}.selected-country{stroke:#646cff!important;stroke-width:2px!important;stroke-opacity:1!important;filter:drop-shadow(0 0 8px rgba(100,108,255,.8))}.country-net-label{font-size:.8rem!important;font-weight:700!important;fill:#fff!important;letter-spacing:-.5px;pointer-events:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.color-scale{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:1.5rem;background-color:#ffffff0d;padding:12px;border-radius:8px}.scale-gradient{height:10px;width:100%;max-width:200px;background:linear-gradient(to right,#ef4444,#fcd34d,#22c55e);border-radius:5px;box-shadow:0 2px 8px #0003}.scale-label{font-size:.85rem;color:#aaa;font-weight:500}@media (max-width: 1024px){.map-container{height:400px}.tooltip-container{width:200px;font-size:13px}}@media (max-width: 768px){.map-container{height:350px}.european-map h3{font-size:1.2rem}.tooltip-container{width:180px;padding:10px}.tooltip-country{font-size:14px}.percentage-value{font-size:18px}}@media (max-width: 480px){.map-container{height:280px;max-height:60vh}.european-map{padding:1rem}.european-map h3{font-size:1.1rem;margin-bottom:.5rem}.tooltip-container{width:160px;padding:8px;font-size:12px}.tooltip-country{font-size:13px;padding-bottom:4px;margin-bottom:3px}.percentage-value{font-size:16px}.percentage-label,.comparison-label{font-size:10px}.color-scale{padding:8px;margin-top:1rem;flex-wrap:nowrap}.scale-label{font-size:.7rem;white-space:nowrap}.map-container svg{max-height:100%;max-width:100%;height:auto!important}}.country-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.country-modal-content{background:linear-gradient(145deg,rgba(30,30,30,.95) 0%,rgba(20,20,20,.98) 100%);border-radius:16px;padding:1.5rem;width:90%;max-width:400px;box-shadow:0 10px 30px #0000004d;border:1px solid rgba(255,255,255,.1);color:#fff;position:relative;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.country-modal-content h2{text-align:center;margin-bottom:1.5rem;font-size:1.8rem;background:linear-gradient(90deg,#646cff,#8b5cf6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.close-button{position:absolute;top:10px;right:15px;background:none;border:none;color:#aaa;font-size:1.5rem;cursor:pointer;transition:color .2s ease}.close-button:hover{color:#fff}.modal-salary-info{display:flex;flex-direction:column;gap:1.5rem}.salary-amount-container{display:flex;justify-content:space-between;gap:1rem}.gross-salary,.net-salary{display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:10px;flex:1}.gross-salary{background-color:#ef444426;border:1px solid rgba(239,68,68,.3)}.net-salary{background-color:#22c55e26;border:1px solid rgba(34,197,94,.3)}.salary-label{font-size:.9rem;color:#aaa;margin-bottom:.5rem}.salary-value{font-size:1.4rem;font-weight:600}.take-home-circle{display:flex;justify-content:center;margin:1rem 0}.circle-progress{width:150px;height:150px;border-radius:50%;display:flex;justify-content:center;align-items:center;position:relative;box-shadow:0 0 15px #0000004d;transition:all .8s ease}.inner-circle{width:80%;height:80%;background-color:#1c1c1c;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:inset 0 0 10px #00000080}.percentage-value{font-size:2rem;font-weight:700;background:-webkit-linear-gradient(#22c55e,#16a34a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.2rem}.percentage-label{font-size:.85rem;color:#aaa;text-transform:uppercase;letter-spacing:1px}.deduction-info{background-color:#0003;border-radius:10px;padding:1rem}.deduction-item{display:flex;justify-content:space-between;align-items:center}.deduction-label{color:#aaa;font-size:.9rem}.deduction-value{font-weight:600;color:#ef4444}.deduction-percentage{font-size:.9rem;color:#ef4444;opacity:.8}@media (max-width: 480px){.country-modal-content{padding:1.25rem;width:95%}.country-modal-content h2{font-size:1.5rem}.circle-progress{width:130px;height:130px}.percentage-value{font-size:1.7rem}.percentage-label{font-size:.75rem}.salary-value{font-size:1.2rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:2.2em;line-height:1.1;margin-bottom:.5em}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}button{background-color:#f9f9f9}}
