@font-face{font-family:Tide Sans;src:url(/fonts/TideSans-300LilKahuna.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Tide Sans;src:url(/fonts/TideSans-400LilDude.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Tide Sans;src:url(/fonts/TideSans-500Dudette.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Open Sans;src:url(/fonts/OpenSans-Variable.woff2) format("woff2-variations");font-weight:300 800;font-style:normal;font-display:swap}:root{--brand-green:#8dbe2b;--brand-green-hover:#a3d635;--brand-green-tint:#e8efe4;--brand-cyan:#77c5d5;--brand-cyan-hover:#7ed4e5;--brand-cyan-tint:#e2f0f4;--brand-yellow:#d8c300;--brand-yellow-tint:#efefe4;--ink:#171e2a;--ink-active:#2a303b;--text:#3c4b64;--page:#f4f6f1;--surface:#ffffff;--line:#e2e6dd;--line-strong:#b9c2ad;--muted:#5d6a7d;--state-lunch:var(--brand-green);--state-own:var(--brand-cyan);--state-away:#aeb8a8;--past-tint:#f1f3ee;--edge-lunch:#5f811c;--edge-own:#3f8e9e;--edge-away:#6c7767;--edge-unset:#8b9785;--radius:24px;--radius-sm:12px;--radius-pill:40px;--shadow-low:0 5px 17px rgba(0,0,0,0.075);--shadow-high:0 8px 32px rgba(0,0,0,0.12);--ease:cubic-bezier(0.65,0.05,0,1);--fast:140ms;--base:200ms;--sans:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--display:"Tide Sans",var(--sans);--gutter:1.5rem;--max:1360px}@media (min-width:992px){:root{--gutter:2.5rem}}@media (min-width:1440px){:root{--gutter:5rem}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--page);color:var(--text);font-family:var(--sans);font-size:.9375rem;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-family:var(--display);font-weight:300;color:var(--ink)}h1{font-size:2rem;line-height:1.15;letter-spacing:-.03em}h2{font-size:1.375rem;line-height:1.2;letter-spacing:-.025em}h3{font-size:1.0625rem;line-height:1.3;letter-spacing:-.02em;font-weight:400}p,ul{margin:0}ul{padding:0;list-style:none}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:.75rem 1.25rem;border-radius:0 0 var(--radius-sm) 0}.skip:focus{left:0}.shell{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}.vh{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}.header__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}.wordmark{font-family:var(--display);font-weight:500;font-size:1.125rem;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.wordmark span{color:var(--brand-green)}.lang{display:flex;align-items:center;gap:.25rem}.lang__btn{font:inherit;font-size:.8125rem;font-weight:600;padding:.375rem .75rem;border-radius:var(--radius-pill);border:1px solid transparent;background:none;color:var(--muted);cursor:pointer;text-decoration:none;transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.lang__btn:hover{background:var(--page);color:var(--ink)}.lang__btn[aria-current=true]{background:var(--ink);color:#fff}.sample{background:var(--brand-yellow-tint);border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--ink)}.sample__in{display:flex;align-items:baseline;gap:.625rem;padding-block:.5rem}.sample__dot{width:8px;height:8px;border-radius:50%;background:var(--brand-yellow);flex:none}.envbadge{position:fixed;z-index:10;margin:0;left:calc(.75rem + env(safe-area-inset-left));bottom:calc(.75rem + env(safe-area-inset-bottom));padding:.25rem .625rem;border-radius:var(--radius-pill);background:var(--ink);color:var(--page);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;box-shadow:var(--shadow-low);pointer-events:none}.page{position:relative;overflow-x:clip}.page:before{content:"";position:absolute;z-index:0;pointer-events:none;top:-22vh;left:50%;width:min(1500px,130vw);aspect-ratio:1.4/1;transform:translateX(-52%);background:radial-gradient(42% 46% at 32% 40%,rgba(141,190,43,.22),transparent 70%),radial-gradient(40% 44% at 68% 52%,rgba(119,197,213,.2),transparent 72%);filter:blur(12px)}main{position:relative;z-index:1}.section{padding-block:2.5rem 1.5rem}.section__head{display:flex;align-items:baseline;gap:.875rem;flex-wrap:wrap}.section__head p{color:var(--muted);font-size:.875rem}.section__hint{flex-basis:100%}@media (min-width:720px){.section__hint{flex-basis:auto}}.week{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-low);margin-top:1.25rem}.week__head{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap;padding:1rem 1.25rem .75rem}.week__weeks{display:flex;gap:.25rem}.wtab{font:inherit;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.wtab:hover{border-color:var(--line-strong);color:var(--ink)}.wtab[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.grid{--label:150px;display:grid;grid-template-columns:var(--label) repeat(5,1fr) 1.5rem repeat(5,1fr);align-items:stretch;padding:.25rem 1.25rem 1.25rem;grid-column-gap:.25rem;column-gap:.25rem}.seamcell{grid-column:span 1}.rowlead{grid-column:1}.grid__weeklabel{grid-column:span 5;font-family:var(--display);font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.75rem 0 .375rem;align-self:end}.grid__weeklabel,.grid__weeklabel--next{color:var(--muted)}.rowspacer--head{align-self:stretch}.dayhead,.rowspacer--head{position:-webkit-sticky;position:sticky;top:69px;z-index:3;background:var(--surface)}.dayhead{align-self:start;box-shadow:-3px 0 0 var(--surface),3px 0 0 var(--surface);padding:.5rem .25rem .625rem;border-bottom:1px solid var(--line);min-width:0}.dayhead__abbr,.dayhead__long{display:block;font-family:var(--display);font-weight:500;font-size:.8125rem;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dayhead__abbr{display:none}.dayhead__date{display:block;font-size:.6875rem;color:var(--muted);line-height:1.4}.dayhead__count{display:block;margin-top:.3125rem;font-family:var(--display);font-size:1.5rem;font-weight:300;line-height:1.05;color:var(--ink);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color var(--base) var(--ease)}.dayhead__lunch{display:block;font-size:.6875rem;color:var(--muted);line-height:1.4}.dayhead__lunch--short{display:none}.dayhead--past{box-shadow:-3px 0 0 var(--past-tint),3px 0 0 var(--past-tint)}.dayhead--today{border-bottom:2px solid var(--brand-green)}.dayhead--today .dayhead__abbr,.dayhead--today .dayhead__long{color:#4e6b12}.dayhead--past .dayhead__count{color:var(--muted)}.row__label{display:flex;align-items:center;gap:.625rem;padding:.3125rem .75rem .3125rem 0;min-width:0}.avatar{width:32px;height:32px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;font-family:var(--display);font-size:.6875rem;font-weight:500;background:var(--brand-green-tint);color:var(--ink)}.avatar--you{background:var(--ink);color:#fff}.row__name{font-size:.875rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row__name--you{font-weight:700;color:var(--ink)}.row__label--you{padding-block:.5rem}.rowsplit{grid-column:1/-1;height:1px;background:var(--line);margin:.5rem 0}.cellwrap{display:flex;align-items:center;padding:.3125rem .125rem}.mark{width:100%;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--state-away);border:1px solid var(--edge-away);transition:background-color var(--base) var(--ease)}.mark--lunch{background:var(--state-lunch);border-color:var(--edge-lunch)}.mark--own{background:var(--state-own);border-color:var(--edge-own)}.mark--unset{background:transparent;border:1px dashed var(--edge-unset)}.mark--away:after{content:"";width:10px;height:2px;border-radius:1px;background:#fff}.mark svg{width:13px;height:13px;color:#fff}.cell{width:100%;min-height:50px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;grid-gap:3px;gap:3px;cursor:pointer;font:inherit;color:var(--muted);padding:.25rem;transition:background-color var(--base) var(--ease),border-color var(--base) var(--ease),color var(--base) var(--ease),transform var(--fast) var(--ease)}.cell--unset{background:var(--page);border-style:dashed;border-color:var(--edge-unset)}.cell:hover{border-color:var(--muted)}.cell--lunch:hover{border-color:var(--edge-lunch)}.cell--own:hover{border-color:var(--edge-own)}.cell--away:hover{border-color:var(--edge-away)}.cell:active{transform:scale(.97)}.cell__mark{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--state-away);border:1px solid var(--edge-away);transition:background-color var(--base) var(--ease),transform var(--base) var(--ease)}.cell__mark svg{width:13px;height:13px;color:#fff}.cell__mark--away:after{content:"";width:10px;height:2px;border-radius:1px;background:#fff}.cell__mark--unset{background:transparent;border:1px dashed var(--edge-unset)}.cell__txt{font-size:.625rem;font-weight:600;letter-spacing:.02em}.cell--lunch{background:var(--brand-green-tint);border-color:var(--brand-green);color:#3f5a0e}.cell--lunch .cell__mark{background:var(--state-lunch);border-color:var(--edge-lunch);transform:scale(1.08)}.cell--own{background:var(--brand-cyan-tint);border-color:var(--brand-cyan);color:#1d5865}.cell--own .cell__mark{background:var(--state-own);border-color:var(--edge-own);transform:scale(1.08)}.cell:disabled{cursor:default;opacity:.5}.cellwrap--past,.dayhead--past{background:var(--past-tint)}.cellwrap--past .cell--unset{background:#e8ece3}.holiday{width:100%;height:26px;border-radius:8px;background:repeating-linear-gradient(-45deg,var(--line) 0 4px,transparent 4px 8px)}.week__empty{padding:.875rem 1rem;margin:0 1.25rem 1.25rem;border-radius:var(--radius-sm);background:var(--brand-green-tint);color:var(--ink);font-size:.875rem}.week__foot{padding:0 1.25rem 1.25rem;min-height:1.25rem}.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.legend li{display:flex;align-items:center;gap:.4375rem}.legend i{width:14px;height:14px;border-radius:5px;flex:none;display:grid;place-items:center;background:var(--state-away);border:1px solid var(--edge-away)}.legend i.is-away:after{content:"";width:7px;height:2px;border-radius:1px;background:#fff}.legend i.is-lunch{background:var(--state-lunch);border-color:var(--edge-lunch)}.legend i.is-own{background:var(--state-own);border-color:var(--edge-own)}.legend i.is-unset{background:transparent;border:1px dashed var(--edge-unset)}.savestate{font-size:.75rem;color:var(--muted)}.savestate--error{color:#a8321f;font-weight:600}.savestate button{font:inherit;font-size:.75rem;font-weight:600;text-decoration:underline;background:none;border:0;color:inherit;cursor:pointer;padding:0 0 0 .375rem}.feet{display:grid;grid-gap:2.5rem;gap:2.5rem;padding-block:1.5rem 4rem;grid-template-columns:minmax(0,1fr);max-width:calc(940px + var(--gutter) * 2)}@media (min-width:1100px){.feet{grid-template-columns:minmax(0,1fr) 300px;gap:3.5rem}}.news{display:flex;flex-direction:column;gap:1.75rem;margin-top:1.25rem}.post{max-width:72ch}.post+.post{border-top:1px solid var(--line);padding-top:1.75rem}.post__date{font-size:.75rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.post h3{margin:.375rem 0 .5rem}.post h3 a{text-decoration:none}.post h3 a:hover{color:#4e6b12}.post p{color:var(--text)}.post__more{display:inline-flex;align-items:center;gap:.375rem;margin-top:.625rem;font-size:.8125rem;font-weight:600;color:var(--ink);text-decoration:none}.post__more:hover{color:#4e6b12}.post__more svg{width:12px;height:12px}.empty{padding:1.5rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);font-size:.875rem}.empty,.links{margin-top:1.25rem}.links{display:flex;flex-direction:column;gap:1.5rem}.links__group h3{padding-inline:.75rem;font-family:var(--sans);font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}.links__list{display:flex;flex-direction:column}.links__list a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5625rem .75rem;border-radius:10px;font-size:.875rem;color:var(--ink);text-decoration:none;transition:background-color var(--fast) var(--ease)}.links__list a:hover{background:var(--brand-green-tint)}.links__pending{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5625rem .75rem;font-size:.875rem;color:var(--muted)}.links__list svg{width:12px;height:12px;color:var(--muted);flex:none}.links__list a:hover svg{color:var(--ink)}@media (max-width:991px){h1{font-size:1.625rem}.grid{--label:150px;grid-template-columns:var(--label) repeat(5,1fr)}.dayhead__long,.grid__weeklabel,.seamcell{display:none}.dayhead__abbr{display:block}.grid[data-week="0"] .is-next,.grid[data-week="1"] .is-this{display:none}.dayhead__count{font-size:1.25rem}.dayhead__lunch{font-size:.6875rem}.cell__txt{display:none}.cell{min-height:52px}}@media (min-width:992px){.week__weeks{display:none}}@media (max-width:560px){.grid{grid-template-columns:repeat(5,1fr);padding-inline:.875rem;column-gap:.375rem}.rowspacer{display:none}.week__foot,.week__head{padding-inline:.875rem}.week__empty{margin-inline:.875rem}.row__label{grid-column:1/-1;display:flex;padding:.875rem 0 .25rem}.row__label--you{padding-top:.5rem}.dayhead{padding-inline:.125rem}.dayhead__long{display:none}.dayhead__abbr{display:block;font-size:.8125rem}.dayhead__count{font-size:1.25rem}.dayhead__lunch--long{display:none}.dayhead__lunch--short{display:block}.row__name{font-size:.8125rem}.avatar{width:26px;height:26px;font-size:.5rem;letter-spacing:-.02em}.week__head{gap:.75rem 1rem;padding-bottom:.5rem}.legend{gap:.375rem .875rem;font-size:.6875rem}.mark{height:26px}.cell{min-height:52px}.rowsplit{margin:.75rem 0 0}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:1ms!important;animation-duration:1ms!important}}