:root{--background-color:#fff;--text-color:#444;--hint-color:#595959;--primary-bg:#002d72;--primary-text:#fff;--input-bg:#fff;--input-border:#ccc;--tooltip-bg:#0072ce;--tooltip-text:#fff;--chart-bg:#fff;--sidebar-color:#002d72;--warning-color:#b45309;--warning-bg:#fef3c7;--error-color:#b91c1c;--error-bg:#fee2e2}[data-theme=dark]{--background-color:#1a1a1a;--text-color:#e0e0e0;--hint-color:#a0a0a0;--primary-bg:#1f3d77;--primary-text:#fff;--input-bg:#222;--input-border:#404040;--tooltip-bg:#2c5282;--tooltip-text:#fff;--chart-bg:#2d2d2d;--sidebar-color:#509e2f;--warning-color:#fbbf24;--warning-bg:#451a03;--error-color:#f87171;--error-bg:#7f1d1d4d}[data-theme=dark] .theme-toggle-icon .sun{transform:scale(1)}[data-theme=dark] .theme-toggle-icon .moon,[data-theme=light] .theme-toggle-icon .sun{transform:scale(0)}[data-theme=light] .theme-toggle-icon .moon{transform:scale(1)}.skip-link{background:var(--primary-bg);color:var(--primary-text);z-index:1001;border-radius:0 0 4px;padding:8px 16px;text-decoration:none;transition:top .2s ease-in-out;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}body{background-color:var(--background-color);color:var(--text-color);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;transition:background .2s linear}#esop-calculator{max-width:min(800px,100%);height:auto;margin:0 auto;padding:0 1rem}@media (width>=768px){#esop-calculator{flex-direction:row;min-height:550px;padding:0;display:flex}}#inputs{float:none;text-align:center;width:100%;max-width:300px;margin:0 auto 2rem;padding:0;font-size:14px}@media (width>=768px){#inputs{float:none;flex-shrink:0;width:min(197px,100%);max-width:none;height:auto;min-height:550px;margin-bottom:0;padding:0}}#esopform{padding:0 10px 0 0}@media (width<768px){#esopform{padding:0}}#graph{background-color:var(--chart-bg);width:100%;height:max(300px,40vh);min-height:300px;position:relative;overflow:hidden}@media (width>=768px){#graph{flex-grow:1;width:calc(100% - min(197px,100%));height:550px;min-height:auto}}#graph canvas{width:100%!important;height:100%!important}.chart-loading{height:100%;color:var(--text-color);flex-direction:column;justify-content:center;align-items:center;gap:1rem;transition:opacity .3s ease-out;display:flex}.chart-loading.fade-out{opacity:0}.loading-spinner{border:3px solid var(--input-border);border-top-color:var(--sidebar-color);will-change:transform;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{border-top-color:var(--input-border);border-right-color:var(--sidebar-color);animation:none}}.chart-empty-state{background-color:var(--chart-bg);color:var(--text-color);text-align:center;z-index:10;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.chart-empty-state p{margin:.25rem 0}.chart-empty-state .chart-empty-hint{opacity:.7;font-size:.875rem}header,#disclaimer{background-color:var(--primary-bg);width:100%;max-width:min(800px,100%);color:var(--primary-text);text-align:center;box-sizing:border-box;margin:0 auto;padding:1rem}header{margin-bottom:10px}#disclaimer{margin-top:10px;font-size:14px;line-height:1.5}label{color:var(--text-color)}#ytd{color:var(--sidebar-color);font-weight:bolder}fieldset{border:1px solid var(--sidebar-color);text-align:center;border-radius:5px;margin:0}legend{color:var(--sidebar-color);white-space:nowrap;margin:0 auto;font-size:.75rem}div.vertjust{flex-flow:column;align-items:center;gap:1rem;padding:1rem;display:flex}@media (width>=768px){div.vertjust{justify-content:space-between;gap:.5rem;height:auto;min-height:100%;padding:8px}}div.vjitem{flex:1;width:100%;max-width:300px}input{width:100%;max-width:100%;font:inherit;color:inherit;padding:0}input.autonumeric-red,input[type=text].autonumeric-red,input[type=date].autonumeric-red{background:var(--background-color);border:2px solid var(--error-color);color:var(--error-color)}input.autonumeric-yellow,input[type=text].autonumeric-yellow,input[type=date].autonumeric-yellow{background:var(--background-color);border:2px solid var(--warning-color);color:var(--warning-color)}input[type=text],input[type=date]{background-color:var(--input-bg);border:1.5px solid var(--input-border);width:100%;max-width:300px;color:var(--text-color);cursor:text;box-sizing:border-box;border-radius:6px;margin:.5rem 0;padding:.625rem .75rem;font-size:1rem;transition:all .2s ease-in-out;display:block;box-shadow:0 1px 2px #0000000d}@media (width>=768px){input[type=text],input[type=date]{max-width:none}}input[type=date]{appearance:none;min-width:0}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-calendar-picker-indicator{color:#0000;cursor:pointer;background:0 0;width:100%;height:100%;position:absolute;top:0;bottom:0;right:0}input[type=date]:disabled{opacity:.6;cursor:not-allowed}input[type=date]:focus{border-color:var(--sidebar-color);outline:none;box-shadow:0 0 0 3px #509e2f1a,0 2px 6px #0000001a}input[type=date]:hover:not(:disabled):not(:focus){border-color:#b4b4b4;box-shadow:0 2px 4px #00000014}#years{text-align:center;color:var(--sidebar-color);margin-top:.25rem;font-size:.9rem;font-weight:700;line-height:1;display:block}input[type=range]{appearance:none;cursor:pointer;background-color:#0000;width:100%;margin:15px 0;padding:12px 0}@media (pointer:fine) and (width>=768px){input[type=range]{margin:10px 0;padding:0}}input[type=range]:focus{outline:2px solid var(--sidebar-color);outline-offset:2px}input[type=range]:focus:not(:focus-visible){outline:none}input[type=range]::-webkit-slider-runnable-track{background:var(--sidebar-color);cursor:pointer;border:none;border-radius:4px;width:100%;height:6px;box-shadow:inset 0 1px 2px #0000001a}input[type=range]::-webkit-slider-thumb{border:2px solid var(--sidebar-color);cursor:pointer;appearance:none;background:#fff;border-radius:50%;width:28px;height:28px;margin-top:-11px;transition:all .2s ease-in-out;box-shadow:0 2px 4px #00000026}@media (pointer:fine) and (width>=768px){input[type=range]::-webkit-slider-thumb{width:18px;height:18px;margin-top:-6px}}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 6px #0003}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.05)}input[type=range]:focus::-webkit-slider-runnable-track{background:var(--sidebar-color)}input[type=range]::-moz-range-track{background:var(--sidebar-color);cursor:pointer;border:none;border-radius:4px;width:100%;height:6px;box-shadow:inset 0 1px 2px #0000001a}input[type=range]::-moz-range-thumb{border:2px solid var(--sidebar-color);cursor:pointer;background:#fff;border-radius:50%;width:28px;height:28px;transition:all .2s ease-in-out;box-shadow:0 2px 4px #00000026}@media (pointer:fine) and (width>=768px){input[type=range]::-moz-range-thumb{width:18px;height:18px}}input[type=range]::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 3px 6px #0003}input[type=range]::-moz-range-thumb:active{transform:scale(1.05)}input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--sidebar-color);outline-offset:2px;box-shadow:0 0 0 4px #509e2f4d}input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--sidebar-color);outline-offset:2px;box-shadow:0 0 0 4px #509e2f4d}.tooltip{position:relative}.tooltip[data-tooltip]:before,.input-error:before,.input-warning:before{content:"ⓘ";color:var(--sidebar-color);cursor:help;z-index:1;pointer-events:none;font-size:14px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.input-error,.input-warning{position:relative}.input-error input,.input-warning input{border-width:2px}.input-error input{border-color:var(--error-color)!important}.input-warning input{border-color:var(--warning-color)!important}.tooltip.input-error:before,.input-error:before{color:var(--error-color)}.tooltip.input-warning:before,.input-warning:before{color:var(--warning-color)}.input-error:after,.input-warning:after,.has-error-tooltip:after,.has-warning-tooltip:after{background-color:var(--tooltip-bg);color:var(--tooltip-text);text-align:center;z-index:999;content:attr(data-error);pointer-events:none;white-space:normal;border-radius:10px;width:max-content;max-width:250px;padding:10px 15px;display:none;position:absolute}@media (width>=768px){.input-error:after,.input-warning:after,.has-error-tooltip:after,.has-warning-tooltip:after{top:0;right:0;transform:translate(calc(100% + 10px))}}@media (width<768px){.input-error:after,.input-warning:after,.has-error-tooltip:after,.has-warning-tooltip:after{width:calc(100vw - 4rem);max-width:280px;margin-bottom:8px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}}.input-warning:after,.has-warning-tooltip:after{content:attr(data-warning)}.tooltip.input-error:after{content:attr(data-error)}.tooltip.input-warning:after{content:attr(data-warning)}.input-error:hover:after,.input-warning:hover:after,.has-error-tooltip:hover:after,.has-warning-tooltip:hover:after,.input-error:focus-within:after,.input-warning:focus-within:after,.has-error-tooltip:focus-within:after,.has-warning-tooltip:focus-within:after{display:block}@media (prefers-reduced-motion:reduce){.input-error:hover:after,.input-warning:hover:after,.has-error-tooltip:hover:after,.has-warning-tooltip:hover:after,.input-error:focus-within:after,.input-warning:focus-within:after,.has-error-tooltip:focus-within:after,.has-warning-tooltip:focus-within:after{transition:none}}.tooltip:after{background-color:var(--tooltip-bg);color:var(--tooltip-text);text-align:center;z-index:999;content:attr(data-tooltip);pointer-events:none;white-space:normal;border-radius:10px;width:max-content;max-width:250px;padding:10px 15px;display:none;position:absolute}@media (width>=768px){.tooltip:after{top:0;right:0;transform:translate(calc(100% + 10px))}}@media (width<768px){.tooltip:after{width:calc(100vw - 4rem);max-width:280px;margin-bottom:8px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}}.tooltip[data-tooltip]:hover:after,.tooltip[data-tooltip]:focus-within:after{display:block}@media (prefers-reduced-motion:reduce){.tooltip[data-tooltip]:hover:after,.tooltip[data-tooltip]:focus-within:after{transition:none}}.sr-only{white-space:nowrap;clip:rect(0, 0, 0, 0);clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-hint{color:var(--hint-color);text-align:center;margin-top:.25rem;font-size:.75rem}.chart-noscript{text-align:center;height:100%;color:var(--text-color);justify-content:center;align-items:center;padding:2rem;display:flex}.container{max-width:min(800px,100%);margin:0 auto;padding:0 1rem}@media (width>=768px){.container{padding:0}}.theme-toggle{color:var(--primary-text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:8px;font-size:1.2rem;transition:background-color .3s;display:flex}.theme-toggle:hover{background-color:#fff3}.theme-toggle:focus{outline:2px solid var(--primary-text);outline-offset:2px}.theme-toggle:focus:not(:focus-visible){outline:none}.theme-toggle:focus-visible{outline:2px solid var(--primary-text);outline-offset:2px}.theme-toggle .theme-toggle-icon{fill:currentColor;transition:transform .3s}.theme-toggle .theme-toggle-icon .sun,.theme-toggle .theme-toggle-icon .moon{transform-origin:50%;transition:transform .2s}.header-container{justify-content:center;align-items:center;min-height:60px;display:flex;position:relative}.header-container h1{text-align:center;margin:0;padding:0;font-size:1.2rem}@media (width>=768px){.header-container h1{font-size:1.5rem}}.header-container .logo{width:80px;height:auto;position:absolute;left:0}@media (width>=768px){.header-container .logo{width:100px}}.header-container .theme-toggle{width:44px;height:44px;position:absolute;right:0}@media (pointer:fine) and (width>=768px){.header-container .theme-toggle{width:40px;height:40px}}@media (width<=400px){.header-container .logo{width:60px}.header-container h1{margin:0 70px;font-size:1rem}}.validation-messages{width:100%;margin:1rem 0;display:none}.validation-message{border-radius:4px;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.4}.validation-error{background-color:var(--error-bg);color:var(--error-color);border-left:4px solid var(--error-color)}.validation-warning{background-color:var(--warning-bg);color:var(--warning-color);border-left:4px solid var(--warning-color)}.toast-notification{z-index:1000;will-change:transform, opacity;border-radius:8px;max-width:400px;padding:1rem 2.5rem 1rem 1.5rem;font-size:.9rem;animation:.3s ease-out toast-slide-in;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 12px #00000026}@media (width<768px){.toast-notification{max-width:none;bottom:1rem;left:1rem;right:1rem}}.toast-dismiss{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.75rem;font-size:1.25rem;line-height:1;display:flex;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.toast-dismiss:hover{opacity:1}.toast-dismiss:focus{outline-offset:2px;outline:2px solid}.toast-error{color:#fff;background-color:#dc2626}.toast-warning{color:#451a03;background-color:#fbbf24}.toast-info{color:#fff;background-color:#3b82f6}.toast-success{color:#fff;background-color:#22c55e}.toast-fade-out{animation:.3s ease-out forwards toast-fade-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.toast-notification{animation:none}.toast-fade-out{animation:.01ms ease-out forwards toast-fade-out}}@media (forced-colors:active){input.autonumeric-red,input.autonumeric-yellow{forced-color-adjust:none;border-style:solid}.toast-notification{border:2px solid}.theme-toggle{border:1px solid}input[type=range]::-webkit-slider-thumb{border:2px solid}input[type=range]::-moz-range-thumb{border:2px solid}}
