:root{--pine:#16352a;--pine-2:#1e4636;--ink:#1b1e19;--paper:#e7ebdf;--card:#fbfcf7;--citron:#c6d64f;--citron-deep:#a6b93b;--sage:#6b7062;--line:#d3d8c7;--mist:#dde4d1;--mist-2:#e9eedd;--danger:#b3261e;--shadow:0 1px 2px #1828200f, 0 14px 32px -22px #18282073;--r-card:18px;--r-btn:12px;--disp:"Bricolage Grotesque", "Hanken Grotesk", Georgia, serif;--body:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.45}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font-family:inherit}p{margin:0}.app{max-width:560px;min-height:100dvh;margin:0 auto}.inner{padding:16px 16px 64px}.signin{padding-top:14vh}.topbar{z-index:10;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.brand{font-family:var(--disp);letter-spacing:-.02em;color:var(--pine);font-size:20px;font-weight:700}.brand__dot{color:var(--citron-deep)}.topbar__user{min-width:0;color:var(--sage);align-items:center;gap:10px;font-size:13px;display:flex}.topbar__email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tabs{flex-wrap:wrap;gap:8px;padding:14px 16px 0;display:flex}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--citron-deep);margin-bottom:6px;font-size:11px;font-weight:600}.h-title{font-family:var(--disp);letter-spacing:-.025em;margin:8px 0 4px;font-size:30px;font-weight:600;line-height:1.05}.h-sub{color:var(--sage);margin-bottom:18px;font-size:14.5px}.count{font-family:var(--mono);color:var(--sage);letter-spacing:0;font-size:14px}.kicker{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin-bottom:8px;font-size:11px;font-weight:600}.kicker--sm{margin:16px 0 4px}.kicker--section{margin:32px 0 6px}.back{margin-bottom:14px;font-size:14px;text-decoration:none;display:inline-block}.muted{color:var(--sage)}.error{color:var(--danger);margin:12px 0;font-size:14px}.btn{background:var(--pine);color:var(--paper);border-radius:var(--r-btn);cursor:pointer;border:0;width:100%;padding:13px 18px;font-size:15px;font-weight:600;transition:filter .15s}.btn:hover{filter:brightness(1.08)}.btn:focus-visible{outline:2px solid var(--citron-deep);outline-offset:2px}.btn--ghost{color:var(--pine);border:1.5px solid var(--pine);background:0 0}.btn--ghost:hover{filter:none;background:var(--mist)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-sm{cursor:pointer;white-space:nowrap;border:0;border-radius:999px;flex:none;padding:7px 14px;font-size:12.5px;font-weight:600}.btn-sm--go{background:var(--pine);color:var(--paper)}.btn-sm--ghost{background:var(--mist);color:var(--pine)}.btn-sm--ghost:hover{background:var(--mist-2)}.linkbtn{color:var(--pine);font-weight:600;font-size:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.small-link{color:var(--sage);font-size:12.5px;font-weight:500}.small-link:hover{color:var(--pine)}.small-link[disabled]{opacity:.6;cursor:default}.actions{gap:10px;margin-top:16px;display:flex}.chip{background:var(--mist);color:var(--pine);cursor:pointer;border:0;border-radius:999px;align-items:center;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.chip.is-on{background:var(--pine);color:var(--paper)}.chip:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.chipwrap{flex-wrap:wrap;gap:8px;display:flex}.badge{font-family:var(--mono);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600}.badge--open{background:var(--citron);color:var(--pine)}.badge--full{background:var(--mist);color:var(--sage)}.ctag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px;font-weight:600}.ctag--pri{color:#6e5d3a;background:#eae1ce}.tag,.mrow__you{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600}.tag{background:var(--mist);color:var(--pine)}.mrow__you{background:var(--citron);color:var(--pine)}.stack-form{flex-direction:column;gap:12px;display:flex}.inp{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);border-radius:10px;padding:12px 13px;font-size:15px}.inp:focus{outline:2px solid var(--pine);outline-offset:0;border-color:#0000}.inp--mono{font-family:var(--mono)}textarea.inp{resize:vertical;min-height:80px;line-height:1.4}.field{margin-top:16px;display:block}.field__label{color:var(--sage);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:12.5px;font-weight:600;display:block}.inline{gap:10px;display:flex}.inline>.field{flex:1;min-width:0}.inline>.field.grow{flex:2}.search{margin-bottom:14px}.rows{margin:0;padding:0;list-style:none}.frow{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.frow--link{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.frow--link:hover{background:var(--mist-2)}.frow--link:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.chevron{color:var(--sage);font-size:22px;line-height:1}.frow__main{flex:1;min-width:0}.frow__name{font-size:14.5px;font-weight:600;display:block}.frow__sub{font-family:var(--mono);color:var(--sage);margin-top:1px;font-size:12px;display:block}.picker{margin-top:8px}.picker__opt{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.picker__opt:hover{background:var(--mist-2)}.picker__opt:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.picker__none{padding:8px 2px;font-size:14px}.saved{color:var(--pine);margin-top:12px;font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);margin-bottom:14px}.card__body{padding:14px 16px 16px}.card__title{font-family:var(--disp);letter-spacing:-.02em;margin:0;font-size:19px;font-weight:600;line-height:1.15}.card__meta{font-family:var(--mono);color:var(--sage);margin-top:4px;font-size:11.5px}.card--link{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;padding:0;display:block}.card--link:hover{border-color:var(--citron-deep)}.card--link:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.card.is-focused{border-color:var(--citron-deep);box-shadow:0 0 0 3px color-mix(in srgb, var(--citron) 55%, transparent), var(--shadow)}.round__head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.round__notes{white-space:pre-wrap;margin-top:10px;font-size:14px}.roster{margin:0;padding:0;list-style:none}.roster__row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:7px 0;display:flex}.roster__row:last-child{border-bottom:0}.roster__name{font-size:14.5px;font-weight:600}.namelink{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.namelink:hover{color:var(--pine);text-underline-offset:2px;text-decoration:underline}.namelink:focus-visible{outline:2px solid var(--pine);outline-offset:2px;border-radius:4px}.roster__main{flex:1;min-width:0}.roster__end{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.av{color:#fff;width:30px;height:30px;font-family:var(--disp);border-radius:999px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.av--lg{width:66px;height:66px;font-size:23px}.member__head{align-items:center;gap:16px;display:flex}.member__head .h-title{margin:0}.stats{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.stat{background:var(--mist);border-radius:8px;align-items:baseline;gap:6px;padding:5px 10px;display:inline-flex}.stat__k{color:var(--sage);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:600}.stat__v{font-family:var(--mono);color:var(--pine);font-size:13px;font-weight:600}.small{margin-top:10px;font-size:13px}.private{font-family:var(--mono);letter-spacing:.04em;color:#6e5d3a;background:#eae1ce;border-radius:999px;align-items:center;gap:5px;margin-bottom:4px;padding:4px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.stars{gap:2px;display:inline-flex}.star{color:var(--line);cursor:pointer;background:0 0;border:0;padding:2px;font-size:22px;line-height:1}.stars--static .star{cursor:default;padding:0;font-size:15px}.star.is-on{color:var(--citron-deep)}.star:focus-visible{outline:2px solid var(--pine);outline-offset:1px;border-radius:4px}.review-block{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;margin-top:10px;padding:12px;display:flex}.review-block__who{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.review-block__who>:last-child{margin-left:auto}.review-note{white-space:pre-wrap;font-size:14px}.tag--cta{background:var(--citron)}.note-add{margin-top:10px}.view-toggle{gap:8px;margin:4px 0 16px;display:flex}.cal__head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal__title{font-family:var(--disp);letter-spacing:-.02em;margin:0;font-size:19px;font-weight:600}.cal__nav{border:1px solid var(--line);background:var(--card);width:36px;height:36px;color:var(--pine);cursor:pointer;border-radius:999px;font-size:20px;line-height:1}.cal__nav:hover{background:var(--mist-2)}.cal__nav:focus-visible{outline:2px solid var(--pine);outline-offset:2px}.cal{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:8px;transition:opacity .15s;display:grid}.cal.is-loading{opacity:.55}.cal__dow{text-align:center;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sage);padding:2px 0 6px;font-size:10.5px;font-weight:600}.cal__day{aspect-ratio:1;min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;display:flex}.cal__day:hover{background:var(--mist-2)}.cal__day:focus-visible{outline:2px solid var(--pine);outline-offset:1px}.cal__day.is-past{color:var(--sage)}.cal__day.is-today .cal__num{color:var(--pine);text-underline-offset:3px;font-weight:700;text-decoration:underline}.cal__day.is-selected{background:var(--pine);color:var(--paper)}.cal__day.is-selected .cal__num{color:var(--paper)}.cal__num{font-size:14px;line-height:1}.cal__dots{align-items:center;gap:2px;height:6px;display:flex}.cal__dot{background:var(--sage);border-radius:999px;width:6px;height:6px;display:inline-block}.cal__dot.is-mine{background:var(--citron-deep)}.cal__day.is-selected .cal__dot{background:var(--paper)}.cal__day.is-selected .cal__dot.is-mine{background:var(--citron)}.cal__more{font-family:var(--mono);font-size:9px;line-height:1}.cal__legend{color:var(--sage);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.cal__legend .cal__dot.is-mine{margin-left:8px}.chat-toggle{margin-top:14px;font-size:14px}.chat{border:1px solid var(--line);background:var(--mist-2);border-radius:12px;margin-top:10px;overflow:hidden}.chat__list{flex-direction:column;gap:6px;max-height:260px;padding:10px;display:flex;overflow-y:auto}.msg{background:var(--card);border:1px solid var(--line);border-radius:12px 12px 12px 4px;flex-direction:column;align-self:flex-start;max-width:85%;padding:6px 10px;display:flex}.msg--mine{background:var(--pine);border-color:var(--pine);color:var(--paper);border-radius:12px 12px 4px;align-self:flex-end}.msg__who{color:var(--pine);font-size:11.5px;font-weight:600}.msg__body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.msg__time{font-family:var(--mono);opacity:.65;align-self:flex-end;font-size:10px}.chat__form{border-top:1px solid var(--line);background:var(--card);gap:8px;padding:8px;display:flex}.chat__form .inp{padding:9px 11px;font-size:14px}.invite{align-items:center;margin-top:10px}.invite .inp{font-size:13px}.pending-label{margin-top:16px}.empty{background:var(--mist-2);border:1px dashed var(--line);text-align:center;color:var(--sage);border-radius:14px;padding:18px;font-size:14px}
