:root{--paper:#fbf8f1;--paper-2:#f3eee2;--paper-3:#ece5d5;--ink:#1c1e1a;--ink-soft:#6e6b60;--line:#e3dccb;--line-strong:#d3c9b2;--marigold:#eda92c;--marigold-deep:#b97f14;--marigold-wash:#fcefd4;--pine:#2e6a4c;--pine-wash:#e5efe6;--stone:#9a9384;--stone-wash:#efebe1;--rose:#a6432f;--font-display:"Bricolage Grotesque", "Inter", system-ui, sans-serif;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Space Mono", ui-monospace, "SFMono-Regular", monospace;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #1c1e1a0d, 0 8px 24px -12px #1c1e1a2e;--maxw:42rem}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.12}a{color:var(--marigold-deep);text-underline-offset:3px}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:3px}input[type=text],textarea{font:inherit;width:100%;color:var(--ink);background:var(--paper);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:.6rem .75rem}input[type=text]:focus,textarea:focus{border-color:var(--ink);outline:none}textarea{resize:vertical;min-height:4.5rem}.site-header{border-bottom:1px solid var(--line)}.site-header__inner,.page{max-width:var(--maxw);margin:0 auto;padding-inline:1.25rem}.site-header__inner{align-items:baseline;gap:.5rem;padding-block:1rem;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);font-size:1.15rem;font-weight:700;text-decoration:none}.wordmark__dot{color:var(--marigold-deep)}.site-header__tag{color:var(--ink-soft);font-size:.85rem}.page{padding-block:2.5rem 4rem}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);text-align:center;padding:1.5rem;font-size:.85rem}.site-footer p{margin:0}.site-footer__by{margin-top:.4rem;font-size:.8rem}.lang-switch{border:1px solid var(--line);border-radius:999px;align-self:center;margin-left:auto;display:inline-flex;overflow:hidden}.lang-switch button{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem .7rem;font-size:.78rem;font-weight:600}.lang-switch button+button{border-left:1px solid var(--line)}.lang-switch button.is-active{background:var(--marigold);color:var(--ink)}.lang-switch button:focus-visible{outline:2px solid var(--marigold-deep);outline-offset:-2px}.site-footer__by a,.coming-soon__by a{color:var(--marigold-deep);font-weight:600;text-decoration:none}.site-footer__by a:hover,.coming-soon__by a:hover{text-decoration:underline}.coming-soon__by{color:var(--ink-soft);margin:.6rem 0 0;font-size:.82rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--marigold-deep);margin:0 0 .6rem;font-size:.72rem;font-weight:600}.lede{color:var(--ink-soft);margin:.5rem 0 0;font-size:1.05rem}.btn{border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.95rem;font-weight:600;transition:transform 40ms,background-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--marigold);border-color:var(--marigold-deep);color:#2a1e05}.btn--primary:hover{background:var(--marigold-deep);color:#fff}.btn--ghost{border-color:var(--line-strong);color:var(--ink-soft)}.btn--ghost:hover{border-color:var(--ink);color:var(--ink)}.btn--danger{border-color:var(--rose);color:var(--rose)}.btn--danger:hover{background:var(--rose);color:#fff}.btn--lg{padding:.75rem 1.4rem;font-size:1.05rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;gap:.6rem;display:flex}.field{margin-top:1.5rem}.field>label{margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}.field__hint{color:var(--ink-soft);margin:.3rem 0 0;font-size:.85rem}.form-error{border-left:3px solid var(--rose);color:var(--rose);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#f7e9e5;margin-top:1rem;padding:.7rem .9rem;font-size:.9rem}.calendar{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);padding:1rem}.calendar__head{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.calendar__month{font-family:var(--font-display);text-transform:capitalize;font-size:1.05rem;font-weight:600}.calendar__nav{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);width:2rem;height:2rem;color:var(--ink);place-items:center;font-size:1rem;display:grid}.calendar__nav:hover{border-color:var(--ink)}.calendar__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar__wd{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding-bottom:.35rem;font-size:.7rem;font-weight:600}.calendar__day{border-radius:var(--radius-sm);min-height:2.6rem;color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:1.5px solid #0000;place-items:center;font-size:.95rem;transition:background-color .12s,border-color .12s;display:grid}@media (width>=30rem){.calendar__day{min-height:3rem}}.calendar__day:hover:not(:disabled){border-color:var(--marigold)}.calendar__day.is-outside{color:var(--line-strong)}.calendar__day.is-past{color:var(--line-strong);cursor:not-allowed}.calendar__day.is-today{box-shadow:inset 0 -3px 0 var(--line-strong);font-weight:700}.calendar__day.is-selected{background:var(--marigold);border-color:var(--marigold-deep);color:#2a1e05;font-weight:700}.chips{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.chip{background:var(--paper-2);border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .35rem .25rem .7rem;font-size:.85rem;display:inline-flex}.chip button{color:var(--ink-soft);background:0 0;border:0;padding:0 .15rem;font-size:1rem;line-height:1}.chip button:hover{color:var(--rose)}.chips__empty{color:var(--ink-soft);margin-top:.9rem;font-size:.88rem}.grid-scroll{margin-inline:-1.25rem;padding-inline:1.25rem;overflow-x:auto}.vote-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:auto;min-width:100%}.vote-grid th,.vote-grid td{border-bottom:1px solid var(--line);text-align:center;width:5.25rem;padding:.6rem .5rem}.vote-grid thead th{vertical-align:bottom;border-bottom:2px solid var(--line-strong)}.vote-grid .col-name{text-align:left;z-index:2;background:var(--paper);width:9rem;font-weight:600;position:sticky;left:0}.vote-grid .col-actions{z-index:2;background:var(--paper);white-space:nowrap;width:6.75rem;position:sticky;right:0;box-shadow:-8px 0 10px -10px #1c1e1a4d}.vote-grid thead .col-name,.vote-grid thead .col-actions{background:var(--paper)}.vote-grid .col-actions button{color:var(--ink-soft);text-underline-offset:2px;background:0 0;border:0;padding:.2rem .35rem;font-size:.82rem;font-weight:600;text-decoration:underline}.vote-grid .col-actions button:hover{color:var(--ink)}.vote-grid .col-actions button.is-danger:hover{color:var(--rose)}.vote-grid__empty{color:var(--ink-soft);font-size:.9rem;padding:1.25rem .5rem!important}.vote-block__add{margin-top:1rem}.date-head{min-width:5.5rem;position:relative}.date-head__wd{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:.7rem}.date-head__day{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.date-head__mon{color:var(--ink-soft);font-size:.78rem}.date-head__tally{font-family:var(--font-mono);color:var(--ink-soft);margin-top:.35rem;font-size:.8rem}.date-head.is-best .date-head__tally{color:var(--marigold-deep);font-weight:700}.circle-mark{pointer-events:none;width:calc(100% + 8px);height:calc(100% + 6px);position:absolute;inset:-3px -4px;overflow:visible}.circle-mark path{fill:none;stroke:var(--marigold);stroke-width:2.5px;stroke-linecap:round}@media (prefers-reduced-motion:no-preference){.circle-mark path{stroke-dasharray:620;stroke-dashoffset:620px;animation:.9s .15s forwards draw-circle}}@keyframes draw-circle{to{stroke-dashoffset:0}}.cell{font-size:.9rem;font-weight:600}.cell--yes{background:var(--pine-wash);color:var(--pine)}.cell--no{color:var(--stone)}.cell--unanswered{color:var(--line-strong)}.vote-grid td.is-best-col{background:var(--marigold-wash)}.vote-grid td.is-best-col.cell--yes{background:color-mix(in srgb, var(--marigold-wash) 55%, var(--pine-wash))}.row-editor{border:1.5px solid var(--marigold-deep);border-radius:var(--radius);background:var(--marigold-wash);margin-bottom:1.25rem;padding:1.1rem}.row-editor__head{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.row-editor__title{font-size:.95rem;font-weight:600}.row-editor__head input{background:var(--paper);max-width:20rem}.row-editor__dates{flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:0;list-style:none;display:flex}.row-editor__dates li{background:var(--paper);border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .4rem .3rem .75rem;display:flex}.row-editor__date{white-space:nowrap;font-size:.85rem;font-weight:600}.row-editor__actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.toggle{border:1.5px solid var(--line-strong);border-radius:999px;display:inline-flex;overflow:hidden}.toggle button{background:var(--paper);color:var(--ink-soft);border:0;padding:.3rem .6rem;font-size:.8rem;font-weight:600}.toggle button[aria-pressed=true]{color:#fff}.toggle button.yes[aria-pressed=true]{background:var(--pine)}.toggle button.no[aria-pressed=true]{background:var(--stone)}.best-callout{border:1.5px solid var(--marigold);background:var(--marigold-wash);border-radius:var(--radius);margin:1.5rem 0;padding:1rem 1.1rem}.best-callout strong{font-family:var(--font-display)}.best-callout.is-none{border-color:var(--line-strong);background:var(--paper-2);color:var(--ink-soft)}.share{gap:1rem;margin-bottom:2rem;display:grid}.share__box{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);padding:.9rem 1rem}.share__box.is-admin{border-color:var(--marigold-deep);background:var(--marigold-wash)}.share__label{align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.share__note{color:var(--ink-soft);margin:.2rem 0 .6rem;font-size:.85rem}.share__box.is-admin .share__note{color:#6b4c12}.share__row{gap:.4rem;display:flex}.share__url{font-family:var(--font-mono);border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);white-space:nowrap;flex:1;padding:.5rem .6rem;font-size:.8rem;overflow-x:auto}.copy-btn{border:1.5px solid var(--ink);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);white-space:nowrap;padding:0 .8rem;font-size:.85rem;font-weight:600}.copy-btn.is-done{background:var(--pine);border-color:var(--pine);color:#fff}.closed-banner{background:var(--stone-wash);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink-soft);align-items:center;gap:.5rem;margin:1.5rem 0;padding:.8rem 1rem;font-size:.92rem;display:flex}.event-title{margin-bottom:.4rem;font-size:clamp(1.8rem,5vw,2.6rem)}.event-desc{color:var(--ink-soft);white-space:pre-wrap}.section{margin-top:2.5rem}.section__title{margin-bottom:1rem;font-size:1.2rem}.disclosure{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1.5rem}.disclosure>summary{font-family:var(--font-display);cursor:pointer;font-size:1.1rem;font-weight:600;list-style:none}.disclosure>summary::-webkit-details-marker{display:none}.actions-bar{border-top:1px solid var(--line);flex-wrap:wrap;gap:.6rem;margin-top:2rem;padding-top:1.5rem;display:flex}.disclosure>summary:before{content:"+ ";color:var(--marigold-deep)}.disclosure[open]>summary:before{content:"– "}.spinner-note{color:var(--ink-soft);text-align:center;padding:3rem 0}.coming-soon{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.coming-soon__card{text-align:center;max-width:32rem}.coming-soon__title{margin:0 0 1rem;font-size:clamp(2rem,6vw,3rem)}.coming-soon__intro{color:var(--ink-soft);margin:0 0 1.5rem;font-size:1.05rem}.coming-soon__cal{width:4.5rem;height:4.5rem;margin:0 auto 1.5rem}.coming-soon__foot{color:var(--ink-soft);margin:0;font-size:.9rem}@media (width<=40rem){.page{padding-block:1.75rem 3rem}.site-header__tag{display:none}}
