:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f0f4f8;--color-surface:#fff;--color-surface-hover:#f8fafc;--color-text:#0f172a;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-backdrop:#0f172a80;--color-brand:#0e7490;--color-brand-dark:#155e75;--color-brand-light:#22d3ee;--color-brand-text:#155e75;--color-accent-soft:#e0f2fe;--color-accent-soft-border:#7dd3fc;--color-header-from:#0f4c5c;--color-header-to:#0e7490;--color-weekend:#e8f4fc;--color-holiday:#fcd34d;--color-holiday-text:#78350f;--color-bank-hol:#c7d2fe;--color-bank-hol-text:#312e81;--color-provisional:#fef3c7;--color-provisional-hover:#fde68a;--color-provisional-text:var(--color-holiday-text);--color-today-ring:#6366f1;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 8px 24px #0f172a1a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--header-height:56px;--footer-height:44px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1220;--color-surface:#162032;--color-surface-hover:#1e2a3f;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-border:#263247;--color-border-strong:#3b4a63;--color-backdrop:#0009;--color-brand-text:#67e8f9;--color-accent-soft:#10324a;--color-accent-soft-border:#1f6f8b;--color-header-from:#0a3440;--color-header-to:#0c5a6e;--color-weekend:#1a2840;--color-holiday:#b45309;--color-holiday-text:#fff7e6;--color-bank-hol:#4f46e5;--color-bank-hol-text:#eef2ff;--color-provisional:#43260c;--color-provisional-hover:#5e3510;--color-provisional-text:#fdba74;--color-today-ring:#a5b4fc;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 8px 24px #00000073}@media screen and (width>=1440px){:root{--header-height:64px;--footer-height:56px}}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);margin:0;font-size:14px;line-height:1.5}body.modal-open{overflow:hidden}button{font-family:inherit;font-size:inherit}.container{padding:calc(var(--header-height) + .75rem) .5rem calc(var(--footer-height) + 1rem);flex-wrap:wrap;justify-content:center;display:flex}.months{grid-template-columns:repeat(1,auto);justify-content:center;display:grid}@media screen and (width>=700px){.months{grid-template-columns:repeat(2,auto)}}@media screen and (width>=1020px){.months{grid-template-columns:repeat(3,auto)}}@media screen and (width>=1350px){.months{grid-template-columns:repeat(4,auto)}}@media screen and (width>=1440px){.months{grid-template-columns:repeat(6,auto)}}.welcome{text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);max-width:420px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);margin:2rem auto;padding:2rem 1.75rem}.welcome p{color:var(--color-text-muted);margin:0 0 1.25rem;font-size:.9375rem;line-height:1.65}.welcome p:first-child{color:var(--color-text);margin-bottom:1rem;font-size:1.25rem;font-weight:600}.button{justify-content:center;margin-top:.5rem;display:flex}.loader{width:80px;height:80px;display:inline-block}.loader:after{content:" ";border:3px solid var(--color-border);border-top-color:var(--color-brand);border-radius:50%;width:48px;height:48px;margin:16px auto;animation:.8s linear infinite loader;display:block}@keyframes loader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal{z-index:20;background:var(--color-backdrop);-webkit-backdrop-filter:blur(6px);justify-content:center;align-items:flex-start;padding:.75rem;display:flex;position:fixed;inset:0;overflow-y:auto}.controls{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:400px;height:calc(100dvh - 1.5rem);max-height:42rem;box-shadow:var(--shadow-lg);flex-direction:column;margin:auto;display:flex;overflow:hidden}@media screen and (width>=480px){.modal{align-items:flex-start;padding:1.5rem}.controls{height:min(42rem,100dvh - 3rem);max-height:none}}@media screen and (width>=640px){.controls{max-width:560px}}@media screen and (width>=768px){.controls{max-width:700px}}@media screen and (width>=1024px){.controls{max-width:900px}.modal{padding:2rem}}.config-sheet__header{border-bottom:1px solid var(--color-border);background:linear-gradient(180deg, var(--color-surface-hover) 0%, var(--color-surface) 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}@media screen and (width>=768px){.config-sheet__header{padding:1.25rem 2rem 1rem}}.config-sheet__title{letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:1.125rem;font-weight:700}@media screen and (width>=768px){.config-sheet__title{font-size:1.375rem}}.config-sheet__close{width:2.25rem;height:2.25rem;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:1.5rem;line-height:1;transition:color .15s,background-color .15s,border-color .15s;display:flex}.config-sheet__close:hover{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border-strong)}.config-tabs{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.config-tabs__list{background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;margin:0;padding:0 1rem;list-style:none;display:flex}@media screen and (width>=768px){.config-tabs__list{padding:0 1.5rem}}.config-tabs__tab{white-space:nowrap;text-align:center;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:1;margin:0;padding:.875rem .5rem .75rem;font-size:.8125rem;font-weight:600;transition:color .15s,background-color .15s;position:relative}@media screen and (width>=768px){.config-tabs__tab{padding:1rem 1rem .875rem;font-size:.9375rem}}.config-tabs__tab:after{content:"";background:0 0;border-radius:3px 3px 0 0;height:3px;transition:background-color .15s;position:absolute;bottom:-1px;left:.5rem;right:.5rem}.config-tabs__tab:hover,.config-tabs__tab.react-tabs__tab--selected{color:var(--color-brand-text);background:var(--color-surface)}.config-tabs__tab.react-tabs__tab--selected:after{background:var(--color-brand)}.config-tabs__tab:focus{outline:none}.config-tabs__tab:focus-visible{z-index:1;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px var(--color-brand)}.config-tabs__panel{outline:none;flex:1;min-height:calc(100% - 3rem);margin:0;padding:0;display:none;overflow-y:auto}.config-tabs__panel.react-tabs__tab-panel--selected{padding:0;display:block}.config-panel{min-height:100%;padding:1rem 1.25rem 1.5rem}@media screen and (width>=768px){.config-panel{padding:1.5rem 2rem 2rem}}.config-section{border-bottom:1px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:1.5rem}.config-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}@media screen and (width>=768px){.config-section{margin-bottom:2rem;padding-bottom:2rem}}.config-section__title{color:var(--color-text);margin:0 0 .375rem;font-size:.9375rem;font-weight:600}@media screen and (width>=768px){.config-section__title{margin-bottom:.5rem;font-size:1.0625rem}}.config-section__hint{color:var(--color-text-muted);margin:0 0 1rem;font-size:.8125rem;line-height:1.5}@media screen and (width>=768px){.config-section__hint{margin-bottom:1.25rem;font-size:.875rem;line-height:1.6}}.month-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}@media screen and (width>=640px){.month-grid{grid-template-columns:repeat(6,1fr);gap:.625rem}}@media screen and (width>=768px){.month-grid{gap:.75rem}}.month-grid__btn{min-width:0;height:2.5rem;color:var(--color-brand-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none;cursor:pointer;margin:0;padding:0 .25rem;font-size:.8125rem;font-weight:600;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,transform .1s}@media screen and (width>=768px){.month-grid__btn{height:2.75rem;padding:0 .5rem;font-size:.875rem}}.month-grid__btn:hover{background:var(--color-accent-soft);border-color:var(--color-accent-soft-border)}.month-grid__btn--active{color:#fff;background:linear-gradient(135deg, var(--color-header-from) 0%, var(--color-header-to) 100%);box-shadow:var(--shadow-sm);border-color:#0000}.month-grid__btn--active:hover{background:linear-gradient(135deg, var(--color-header-from) 0%, var(--color-header-to) 100%);border-color:#0000}.segmented{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}@media screen and (width>=768px){.segmented{gap:.75rem}}.field-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.field-row:last-child{margin-bottom:0}@media screen and (width>=768px){.field-row{gap:1.5rem;margin-bottom:1rem}}.field-row--stacked{flex-direction:column;align-items:stretch;gap:.375rem;margin-bottom:1rem}@media screen and (width>=768px){.field-row--stacked{gap:.5rem;margin-bottom:1.25rem}}.field-row__label{color:var(--color-text);flex-shrink:0;font-size:.875rem;font-weight:500}@media screen and (width>=768px){.field-row__label{font-size:.9375rem}}.field-row__input{width:5.5rem;min-width:0;color:var(--color-text);text-align:right;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem .75rem;font-size:.875rem;font-weight:500;transition:border-color .15s,box-shadow .15s}@media screen and (width>=768px){.field-row__input{width:6.5rem;padding:.625rem .875rem;font-size:.9375rem}}.field-row__input--grow{text-align:left;width:100%}.field-row__input:focus{border-color:var(--color-brand);outline:none;box-shadow:0 0 0 3px #0e749033}.field-row--stacked .field-row__input{text-align:left;width:100%}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;min-height:2.5rem;margin:0;padding:0 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .15s,box-shadow .15s,transform .1s;display:inline-flex}@media screen and (width>=768px){.btn{min-height:2.75rem;padding:0 1.5rem;font-size:.9375rem}}.btn--block{width:100%}.btn--primary{color:#fff;background:linear-gradient(135deg, var(--color-header-from) 0%, var(--color-header-to) 100%);box-shadow:var(--shadow-sm)}.btn--primary:hover{filter:brightness(1.05);box-shadow:var(--shadow-md)}.btn--secondary{color:var(--color-brand-text);background:var(--color-bg);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-accent-soft);border-color:var(--color-accent-soft-border)}.btn--compact{min-height:2rem;padding:0 .875rem;font-size:.8125rem}@media screen and (width>=768px){.btn--compact{min-height:2.25rem;padding:0 1rem;font-size:.875rem}}.btn:disabled{opacity:.5;cursor:not-allowed}.bh-preset{align-items:center;gap:.5rem;display:flex}@media screen and (width>=768px){.bh-preset{gap:.75rem}}.bh-preset__label{color:var(--color-text);font-size:.875rem;font-weight:600}@media screen and (width>=768px){.bh-preset__label{font-size:.9375rem}}.bh-preset__select{border-color:var(--color-border);background:var(--color-bg);flex:1}.bh-preset__hint{margin:.5rem 0 0}.bh-count{vertical-align:.1em;color:var(--color-text-muted);background:var(--color-bg);border-radius:999px;margin-left:.25rem;padding:.0625rem .4375rem;font-size:.6875rem;font-weight:600}.bh-list{margin:.5rem 0 0;padding:0;list-style:none}.bh-row{border-bottom:1px solid var(--color-border);align-items:center;gap:.25rem;padding:.25rem 0;display:flex}@media screen and (width>=768px){.bh-row{gap:.5rem;padding:.375rem 0}}.bh-row--add{border-bottom:none;margin-top:.5rem}@media screen and (width>=768px){.bh-row--add{margin-top:.75rem}}.bh-row__dow{color:var(--color-text-muted);flex:0 0 2rem;font-size:.75rem;font-weight:600}@media screen and (width>=768px){.bh-row__dow{flex-basis:2.5rem;font-size:.8125rem}}.bh-row--add .bh-row__dow{text-align:center;font-size:.6875rem}.bh-input{min-width:0;height:2rem;font:inherit;color:var(--color-text);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;padding:0 .375rem;font-size:.8125rem;transition:border-color .15s,background-color .15s}@media screen and (width>=768px){.bh-input{height:2.25rem;padding:0 .5rem;font-size:.875rem}}.bh-input:hover{border-color:var(--color-border)}.bh-input:focus{background:var(--color-bg);border-color:var(--color-brand);outline:none}.bh-row--add .bh-input{border-color:var(--color-border)}.bh-row__date{flex:0 0 8.25rem}@media screen and (width>=768px){.bh-row__date{flex-basis:9.5rem}}.bh-row__name{flex:1;font-weight:500}.bh-row__remove{width:1.75rem;height:1.75rem;color:var(--color-text-muted);border-radius:var(--radius-sm);opacity:.6;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;font-size:.6875rem;display:inline-flex}.bh-row:hover .bh-row__remove,.bh-row__remove:focus-visible{opacity:1}.bh-row__remove:hover{color:#dc2626;background:var(--color-bg)}.md-colour{cursor:pointer;appearance:none;background:0 0;border:none;border-radius:50%;flex:none;width:1.75rem;height:1.75rem;margin:0 .25rem 0 .125rem;padding:0}@media screen and (width>=768px){.md-colour{width:2rem;height:2rem;margin:0 .375rem 0 .25rem}}.md-colour::-webkit-color-swatch-wrapper{padding:0}.md-colour::-webkit-color-swatch{border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border-strong);border-radius:50%}.md-colour::-moz-color-swatch{border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border-strong);border-radius:50%}.md-colour:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.md-row{border-bottom:1px solid var(--color-border);padding:.375rem 0}@media screen and (width>=768px){.md-row{padding:.5rem 0}}.md-row--add{border-bottom:none;margin-top:.5rem}@media screen and (width>=768px){.md-row--add{margin-top:.75rem}}.md-row__line{align-items:center;gap:.25rem;display:flex}@media screen and (width>=768px){.md-row__line{gap:.5rem}}.md-row__line--meta{margin-top:.125rem;padding-left:2.25rem}@media screen and (width>=768px){.md-row__line--meta{margin-top:.25rem;padding-left:2.75rem}}.md-row--add .bh-input{border-color:var(--color-border)}.md-row__count{text-align:center;min-width:1.5rem;color:var(--color-text-muted);background:var(--color-bg);border-radius:999px;flex:none;padding:.0625rem .4375rem;font-size:.6875rem;font-weight:600}.md-select-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex;position:relative}.md-select-wrap .md-dot{pointer-events:none;position:absolute;left:.5rem}.md-select-wrap .md-select{width:100%;padding-left:1.5rem}.md-select{min-width:0;color:var(--color-text-muted);cursor:pointer;flex:1 1 0;font-size:.75rem}.md-dot{border-radius:50%;flex:none;width:.625rem;height:.625rem;display:inline-block;box-shadow:0 0 0 1px #0f172a26}.control{display:none}footer{z-index:10;min-height:var(--footer-height);color:#fff;background:linear-gradient(135deg, var(--color-header-from) 0%, var(--color-header-to) 100%);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0f172a14}footer button{height:2rem;color:var(--color-brand-text);background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:none;padding:0 .75rem;font-size:.8125rem;font-weight:600}footer button:hover{background:var(--color-surface-hover)}.footer-name{width:12rem;height:2rem;font:inherit;color:#fff;border-radius:var(--radius-sm);background:#ffffff1f;border:1px solid #ffffff40;padding:0 .625rem;font-weight:600;transition:background-color .15s,border-color .15s}.footer-name::placeholder{color:#fff9;font-weight:500}.footer-name:hover{background:#ffffff2e}.footer-name:focus{background:#ffffff38;border-color:#fff9;outline:none}.footer-form{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}footer button.footer-btn--ghost{color:#fff;box-shadow:none;background:0 0;border:1px solid #fff6}footer button.footer-btn--ghost:hover{background:#ffffff1f}.from,.to,.length,.ytd{margin:0}.from-to{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem 1rem;display:flex}.memorable-list{flex-wrap:wrap;gap:.375rem .5rem;margin:0;padding:0;list-style:none;display:flex}.memorable-item{background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:.375rem;height:2rem;padding:0 .25rem 0 .625rem;display:inline-flex}.memorable-item__dot{border-radius:50%;flex:none;width:.625rem;height:.625rem;box-shadow:0 0 0 1.5px #ffffffe6}.memorable-item__name{white-space:nowrap;font-weight:600}.memorable-item__meta{opacity:.8;white-space:nowrap;font-size:.75rem;font-weight:500}footer button.memorable-item__remove{color:#fff;width:1.5rem;height:1.5rem;box-shadow:none;opacity:.7;background:0 0;border-radius:50%;padding:0;font-size:1rem;line-height:1}footer button.memorable-item__remove:hover{opacity:1;background:#fff3}@media screen and (width<=768px){footer{padding:.375rem .5rem;font-size:.75rem}.from-to{flex-direction:column;align-items:center;gap:.125rem}footer button{height:1.75rem;padding:0 .5rem;font-size:.75rem}.footer-name{width:9rem;height:1.75rem}.memorable-item{height:1.75rem}.memorable-item__meta{display:none}}.day-cell{min-width:0;display:flex;position:relative}.day{height:100%;min-height:26px;color:var(--color-text);background:var(--color-surface);border:none;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);cursor:pointer;flex:auto;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:500;display:flex}.day:focus{outline:none}.day:focus-visible{z-index:1;box-shadow:inset 0 0 0 2px var(--color-today-ring)}.day.day-6,.day.day-0{background-color:var(--color-weekend);color:var(--color-text-muted)}.day.hol{background-color:var(--color-holiday);color:var(--color-holiday-text);font-weight:600}.day.bhol{background-color:var(--color-bank-hol);color:var(--color-bank-hol-text);font-weight:600}.day.provhol,.day.start-of-hol{background-color:var(--color-provisional);color:var(--color-provisional-text)}.day.select-mode:hover:not(.day-0):not(.day-6){background-color:var(--color-provisional-hover)}.day.half-first{background:linear-gradient(to bottom right, var(--color-holiday) 0%, var(--color-holiday) 50%, var(--color-surface) 50%, var(--color-surface) 100%)}.day.half-last,.day.half{background:linear-gradient(to bottom right, var(--color-surface) 0%, var(--color-surface) 50%, var(--color-holiday) 50%, var(--color-holiday) 100%)}.day.today{z-index:1;box-shadow:inset 0 0 0 2px var(--color-today-ring);color:var(--color-today-ring);font-weight:700;position:relative}.day-dots{z-index:2;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:2px;margin:0;padding:2px 4px;transition:transform .12s,background-color .12s;display:flex;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.day-dots:hover,.day-dots:focus-visible,.day-dots--selected{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-border-strong), var(--shadow-sm);transform:translate(-50%)scale(1.25)}.day-dots:focus{outline:none}.day-dot{border-radius:50%;width:5px;height:5px;display:block;box-shadow:0 0 0 1px #ffffffd9}:root[data-theme=dark] .day-dot{box-shadow:0 0 0 1px #0f172a99}.day-cell.day-1{grid-column:1}.day-cell.day-2{grid-column:2}.day-cell.day-3{grid-column:3}.day-cell.day-4{grid-column:4}.day-cell.day-5{grid-column:5}.day-cell.day-6{grid-column:6}.day-cell.day-0{grid-column:7}header{z-index:10;background:0 0;position:fixed;top:0;left:0;right:0}.header-controls{width:100%;height:var(--header-height);color:#fff;background:linear-gradient(135deg, var(--color-header-from) 0%, var(--color-header-to) 100%);box-shadow:var(--shadow-md);letter-spacing:.01em;justify-content:space-between;align-items:center;padding:0 1rem;font-weight:600;display:flex}.year button,.settings button{border-radius:var(--radius-sm);cursor:pointer;background:#ffffff1f;border:1px solid #fff3;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;transition:background-color .15s,border-color .15s;display:inline-flex}.year button:hover,.settings button:hover{background:#ffffff38;border-color:#ffffff59}.settings{flex:0 0 33%;align-items:center;min-height:38px;display:flex}.settings button{margin-left:0}.year{flex:0 0 33%;justify-content:center;align-items:center;gap:.25rem;display:flex}.currentYear{white-space:nowrap;margin:0 .5rem;font-size:1rem;font-weight:600}.stats-group{flex-direction:column;flex:0 0 33%;align-items:flex-end;gap:.125rem;display:flex}.stats-small{opacity:.88;font-size:.75rem;font-weight:500}.stats{font-size:.875rem;font-weight:600}.stat-label:after{content:": "}.stat--wide-only,.stat-editable{display:none}@media only screen and (width>=1200px){.settings{flex:1 1 0}.year{flex:none}.stats-group{flex-direction:row;flex:1 1 0;justify-content:flex-end;align-items:center;gap:.5rem}.stat,.stat--wide-only{border-radius:var(--radius-sm);opacity:1;background:#ffffff1a;border:1px solid #ffffff29;flex-direction:column;align-items:center;min-width:4.5rem;padding:.25rem .625rem;font-size:1rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;opacity:.8;font-size:.6875rem;font-weight:500}.stat-label:after{content:none}.stat-value{font-weight:700;line-height:1.2}.stats{background:#ffffff38;border-color:#ffffff59}.stat-editable{display:block;position:relative}.stat--button{color:inherit;font:inherit;cursor:pointer;font-size:1rem;transition:background-color .15s,border-color .15s}.stat--button:hover,.stat--button[aria-expanded=true]{background:#ffffff38;border-color:#fff6}.stat--button:focus-visible{outline:2px solid var(--color-brand-light);outline-offset:2px}.stat-edit-icon{vertical-align:.05em;opacity:.7;margin-left:.3rem;font-size:.55rem}.stat-popover{z-index:30;width:15rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);letter-spacing:normal;text-align:left;padding:.875rem;font-weight:400;position:absolute;top:calc(100% + .5rem);right:0}.stat-popover:before{content:"";background:var(--color-surface);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);width:10px;height:10px;position:absolute;top:-6px;right:1.5rem;transform:rotate(45deg)}.stat-popover__label{margin-bottom:.375rem;font-size:.8125rem;font-weight:600;display:block}.stat-popover__input{width:100%;font:inherit;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .625rem;font-size:1rem}.stat-popover__input:focus{outline:2px solid var(--color-brand);outline-offset:-1px;border-color:#0000}.stat-popover__hint{color:var(--color-text-muted);margin:.5rem 0 0;font-size:.75rem}.stat-popover__actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.stat-popover__btn{font:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;padding:.375rem .75rem;font-size:.8125rem;font-weight:600}.stat-popover__btn--primary{color:#fff;background:var(--color-brand);border-color:var(--color-brand)}.stat-popover__btn:disabled{opacity:.5;cursor:not-allowed}}@media only screen and (width<=600px){.header-controls{padding:0 .5rem}.stats-group{flex:0 0 26%}.stats{font-size:.75rem}.currentYear{margin:0;font-size:.875rem}.year{flex:0 0 50%}.settings{flex:0 0 15%}}.month{border-radius:var(--radius-lg);background:var(--color-surface);width:300px;box-shadow:var(--shadow-md);border:1px solid var(--color-border);grid-template-rows:auto repeat(7,28px);grid-template-columns:repeat(7,1fr);margin:1rem;display:grid;overflow:hidden}@media screen and (width>=1440px){.month{grid-template-rows:auto repeat(7,26px);width:200px;margin:1rem .625rem}}.month h3{text-align:center;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg, var(--color-brand-dark) 0%, var(--color-brand) 100%);border-radius:0;grid-column:1/span 7;margin:0;padding:.5rem .25rem;font-size:.8125rem;font-weight:600}.month .dow{text-transform:uppercase;letter-spacing:.04em;color:var(--color-brand-text);background:var(--color-accent-soft);border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;margin:0;font-size:.6875rem;font-weight:600;display:flex}.App{min-height:100vh}.App button{cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s}.App button:active:not(:disabled){transform:scale(.98)}.react-icons{vertical-align:middle}
