@charset "UTF-8";:root{--background-color: #fff;--text-color: #444;--hint-color: #595959;--primary-bg: rgb(0, 45, 114);--primary-text: #fff;--input-bg: #fff;--input-border: #ccc;--tooltip-bg: rgb(0, 114, 206);--tooltip-text: #fff;--chart-bg: #fff;--sidebar-color: rgb(0, 45, 114);--warning-color: rgb(180 83 9);--warning-bg: rgb(254 243 199);--error-color: rgb(185 28 28);--error-bg: rgb(254 226 226)}[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: rgb(80, 158, 47);--warning-color: rgb(251 191 36);--warning-bg: rgb(69 26 3);--error-color: rgb(248 113 113);--error-bg: rgb(127 29 29 / 30%)}[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{position:absolute;top:-40px;left:0;background:var(--primary-bg);color:var(--primary-text);padding:8px 16px;z-index:1001;text-decoration:none;border-radius:0 0 4px;transition:top .2s ease-in-out}.skip-link:focus{top:0}body{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";margin:0;padding:0;background-color:var(--background-color);color:var(--text-color);transition:background .2s linear}#esop-calculator{height:auto;max-width:min(800px,100%);margin:0 auto;padding:0 1rem}@media(min-width:768px){#esop-calculator{min-height:550px;padding:0;display:flex;flex-direction:row}}#inputs{width:100%;float:none;text-align:center;font-size:14px;margin:0 auto 2rem;padding:0;max-width:300px}@media(min-width:768px){#inputs{width:min(197px,100%);min-height:550px;height:auto;float:none;margin-bottom:0;flex-shrink:0;padding:0;max-width:none}}#esopform{padding:0 10px 0 0}@media not (min-width:768px){#esopform{padding:0}}#graph{width:100%;height:max(300px,40vh);min-height:300px;overflow:hidden;background-color:var(--chart-bg);position:relative}@media(min-width:768px){#graph{width:calc(100% - min(197px,100%));height:550px;min-height:auto;flex-grow:1}}#graph canvas{width:100%!important;height:100%!important}.chart-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-color);gap:1rem;transition:opacity .3s ease-out}.chart-loading.fade-out{opacity:0}.loading-spinner{width:40px;height:40px;border:3px solid var(--input-border);border-top-color:var(--sidebar-color);border-radius:50%;animation:spin 1s linear infinite;will-change:transform}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-top-color:var(--input-border);border-right-color:var(--sidebar-color)}}.chart-empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--chart-bg);color:var(--text-color);text-align:center;padding:1rem;z-index:10}.chart-empty-state p{margin:.25rem 0}.chart-empty-state .chart-empty-hint{font-size:.875rem;opacity:.7}header,#disclaimer{background-color:var(--primary-bg);width:100%;max-width:min(800px,100%);margin:0 auto;color:var(--primary-text);text-align:center;padding:1rem;box-sizing:border-box}header{margin-bottom:10px}#disclaimer{font-size:14px;line-height:1.5;margin-top:10px}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{font-size:.75rem;color:var(--sidebar-color);margin:0 auto;white-space:nowrap}div.vertjust{display:flex;flex-flow:column nowrap;gap:1rem;padding:1rem;align-items:center}@media(min-width:768px){div.vertjust{min-height:100%;height:auto;justify-content:space-between;padding:8px;gap:.5rem}}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]{width:100%;max-width:300px;margin:.5rem 0;padding:.625rem .75rem;background-color:var(--input-bg);border:1.5px solid var(--input-border);border-radius:6px;color:var(--text-color);display:block;font-size:1rem;transition:all .2s ease-in-out;box-shadow:0 1px 2px #0000000d;cursor:text;box-sizing:border-box}@media(min-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{background:transparent;color:transparent;cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:100%;height:100%}input[type=date]:disabled{opacity:.6;cursor:not-allowed}input[type=date]:focus{outline:none;border-color:var(--sidebar-color);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{display:block;text-align:center;font-weight:700;color:var(--sidebar-color);margin-top:.25rem;font-size:.9rem;line-height:1}input[type=range]{width:100%;margin:15px 0;padding:12px 0;background-color:transparent;appearance:none;cursor:pointer}@media(pointer:fine)and (min-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);border:none;border-radius:4px;width:100%;height:6px;cursor:pointer;box-shadow:inset 0 1px 2px #0000001a}input[type=range]::-webkit-slider-thumb{margin-top:-11px;width:28px;height:28px;background:#fff;border:2px solid var(--sidebar-color);border-radius:50%;cursor:pointer;appearance:none;box-shadow:0 2px 4px #00000026;transition:all .2s ease-in-out}@media(pointer:fine)and (min-width:768px){input[type=range]::-webkit-slider-thumb{margin-top:-6px;width:18px;height:18px}}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);border:none;border-radius:4px;width:100%;height:6px;cursor:pointer;box-shadow:inset 0 1px 2px #0000001a}input[type=range]::-moz-range-thumb{width:28px;height:28px;background:#fff;border:2px solid var(--sidebar-color);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #00000026;transition:all .2s ease-in-out}@media(pointer:fine)and (min-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:"ⓘ";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--sidebar-color);font-size:14px;cursor:help;z-index:1;pointer-events:none}.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);border-radius:10px;display:none;padding:10px 15px;position:absolute;text-align:center;z-index:999;content:attr(data-error);pointer-events:none;white-space:normal;width:max-content;max-width:250px}@media(min-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 not (min-width:768px){.input-error:after,.input-warning:after,.has-error-tooltip:after,.has-warning-tooltip:after{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;width:calc(100vw - 4rem);max-width:280px}}.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);border-radius:10px;display:none;padding:10px 15px;position:absolute;text-align:center;z-index:999;content:attr(data-tooltip);pointer-events:none;white-space:normal;width:max-content;max-width:250px}@media(min-width:768px){.tooltip:after{top:0;right:0;transform:translate(calc(100% + 10px))}}@media not (min-width:768px){.tooltip:after{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;width:calc(100vw - 4rem);max-width:280px}}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0);clip-path:inset(50%)}.field-hint{font-size:.75rem;color:var(--hint-color);margin-top:.25rem;text-align:center}.chart-noscript{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:var(--text-color)}.container{max-width:min(800px,100%);margin:0 auto;padding:0 1rem}@media(min-width:768px){.container{padding:0}}.theme-toggle{background:none;border:none;color:var(--primary-text);cursor:pointer;padding:8px;font-size:1.2rem;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:background-color .3s;-webkit-tap-highlight-color:transparent}.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 ease}.theme-toggle .theme-toggle-icon .sun,.theme-toggle .theme-toggle-icon .moon{transform-origin:center center;transition:transform .2s ease}.header-container{display:flex;justify-content:center;align-items:center;position:relative;min-height:60px}.header-container h1{margin:0;padding:0;font-size:1.2rem;text-align:center}@media(min-width:768px){.header-container h1{font-size:1.5rem}}.header-container .logo{position:absolute;left:0;width:80px;height:auto}@media(min-width:768px){.header-container .logo{width:100px}}.header-container .theme-toggle{position:absolute;right:0;width:44px;height:44px}@media(pointer:fine)and (min-width:768px){.header-container .theme-toggle{width:40px;height:40px}}@media(max-width:400px){.header-container .logo{width:60px}.header-container h1{margin:0 70px;font-size:1rem}}.validation-messages{margin:1rem 0;width:100%;display:none}.validation-message{padding:.75rem 1rem;margin-bottom:.5rem;border-radius:4px;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{position:fixed;bottom:2rem;right:2rem;padding:1rem 2.5rem 1rem 1.5rem;border-radius:8px;font-size:.9rem;box-shadow:0 4px 12px #00000026;max-width:400px;animation:toast-slide-in .3s ease-out;z-index:1000;will-change:transform,opacity}@media not (min-width:768px){.toast-notification{bottom:1rem;right:1rem;left:1rem;max-width:none}}.toast-dismiss{position:absolute;top:50%;right:.25rem;transform:translateY(-50%);background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:.75rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;opacity:.7;line-height:1}.toast-dismiss:hover{opacity:1}.toast-dismiss:focus{outline:2px solid currentcolor;outline-offset:2px}.toast-error{background-color:#dc2626;color:#fff}.toast-warning{background-color:#fbbf24;color:#451a03}.toast-info{background-color:#3b82f6;color:#fff}.toast-success{background-color:#22c55e;color:#fff}.toast-fade-out{animation:toast-fade-out .3s ease-out forwards}@keyframes toast-slide-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.toast-notification{animation:none}.toast-fade-out{animation:toast-fade-out .01ms ease-out forwards}}@media(forced-colors:active){input.autonumeric-red,input.autonumeric-yellow{border-style:solid;forced-color-adjust:none}.toast-notification{border:2px solid currentcolor}.theme-toggle{border:1px solid currentcolor}input[type=range]::-webkit-slider-thumb{border:2px solid currentcolor}input[type=range]::-moz-range-thumb{border:2px solid currentcolor}}
