:root{--bg:#f4f1ea;--surface:#fffdf8;--surface-2:#ece8de;--ink:#1c1b18;--ink-2:#5d5950;--ink-3:#969186;--line:#e3ddd0;--line-2:#d6cfc0;--accent:#d9542b;--good:#4f8a3c;--warn:#c98a12;--bad:#c2412d;--shadow:0 1px 2px #281e0a0d, 0 8px 24px -12px #281e0a2e;--shadow-lg:0 24px 60px -20px #1e140559;--r:12px;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--sans:"Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--top:env(safe-area-inset-top);--bottom:env(safe-area-inset-bottom);--tabbar:calc(62px + var(--bottom));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141311;--surface:#1c1b18;--surface-2:#262420;--ink:#f0ece3;--ink-2:#b1ab9f;--ink-3:#7a756b;--line:#2e2c27;--line-2:#3a3731;--accent:#ef7449;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #0009;--shadow-lg:0 24px 60px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141311;--surface:#1c1b18;--surface-2:#262420;--ink:#f0ece3;--ink-2:#b1ab9f;--ink-3:#7a756b;--line:#2e2c27;--line-2:#3a3731;--accent:#ef7449;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #0009;--shadow-lg:0 24px 60px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:15px/1.45 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3,p{margin:0}em{font-family:var(--serif);letter-spacing:-.01em;font-style:italic;font-weight:400}small{color:var(--ink-3)}a{color:inherit}ul{margin:0;padding:0;list-style:none}[hidden]{display:none!important}.muted{color:var(--ink-3)}.splash{background:var(--bg);place-items:center;min-height:100dvh;display:grid}.splash .brand{opacity:.35;animation:1s fade}.btn{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 14px;font-weight:500;transition:background .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover:not(:disabled){background:var(--ink);opacity:.88}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.danger-btn{background:var(--bad)!important;color:#fff!important;border-color:var(--bad)!important}.icon-btn{width:38px;height:38px;color:var(--ink-2);border-radius:10px;place-items:center;transition:background .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.icon-btn.primary{background:var(--ink);color:var(--bg)}.link{color:var(--ink);align-items:center;gap:6px;padding:4px 0;font-weight:500;display:inline-flex}.link.muted{color:var(--ink-3);font-weight:400}.link:hover{text-underline-offset:3px;text-decoration:underline}.danger-link{color:var(--bad)}.input{background:var(--surface);border:1px solid var(--line);border-radius:10px;outline:none;width:100%;min-width:0;height:44px;padding:0 12px;font-size:16px;transition:border-color .15s,box-shadow .15s}textarea.input{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.input:focus{border-color:var(--ink-3);box-shadow:0 0 0 3px color-mix(in oklab, var(--ink) 8%, transparent)}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--ink-3)}select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(-45deg, transparent 50%, var(--ink-3) 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>.input{flex:1}.stack{gap:10px;display:grid}.error{color:var(--bad);font-size:14px}.notice{background:var(--surface-2);color:var(--ink-2);border-radius:10px;padding:10px 12px;font-size:14px}.empty{color:var(--ink-3);text-align:center;padding:32px 4px}.meta{color:var(--ink-3);margin-top:20px;font-size:13px}.sk{gap:8px;display:grid}.sk span,.sk-pill,.sk-dot,.sk-title{background:linear-gradient(90deg, var(--surface-2) 0%, color-mix(in oklab, var(--surface-2) 40%, var(--surface)) 50%, var(--surface-2) 100%);animation:1.3s linear infinite shimmer;animation-delay:calc(var(--i,0) * 90ms);background-size:200% 100%;border-radius:12px;display:block}.sk-row span{height:58px}.sk-line span{border-radius:10px;height:38px}.sk-card{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.sk-card span{border-radius:14px;height:140px}.sk-card span:nth-child(3n+2){height:190px}.sk-pill{border-radius:8px;width:140px;height:28px}.sk-dot{border-radius:50%;width:32px;height:32px}.sk-title{border-radius:10px;width:220px;height:40px}.rail .sk{margin-top:8px}.offline{z-index:40;padding:calc(var(--top) + 6px) 12px 6px;background:var(--ink);color:var(--bg);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:sticky;top:0}.skeleton{border-radius:var(--r);background:linear-gradient(90deg, var(--surface-2), var(--surface), var(--surface-2));background-size:200% 100%;height:64px;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.avatar{background:var(--c);color:#fff;letter-spacing:.02em;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.seg{background:var(--surface-2);border-radius:10px;padding:3px;display:inline-flex}.seg button{white-space:nowrap;height:32px;color:var(--ink-2);border-radius:8px;padding:0 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.switch{appearance:none;background:var(--line-2);cursor:pointer;border-radius:99px;flex:none;width:44px;height:26px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--ink)}.switch:checked:after{transform:translate(18px)}.toast{z-index:100;left:50%;bottom:calc(var(--tabbar) + 16px);background:var(--ink);max-width:calc(100vw - 32px);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:16px;padding:12px 16px;font-size:14px;animation:.25s cubic-bezier(.2,.9,.3,1.2) toast;display:flex;position:fixed;transform:translate(-50%)}.toast button{color:var(--accent);font-weight:600}@keyframes toast{0%{opacity:0;transform:translate(-50%,12px)}}.sheet{color:inherit;background:0 0;border:0;align-items:flex-end;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;display:flex}.sheet::backdrop{background:#14110c6b;animation:.2s fade}.sheet-body{width:100%;max-height:calc(100dvh - var(--top) - 24px);background:var(--surface);box-shadow:var(--shadow-lg);border-radius:20px 20px 0 0;flex-direction:column;transition:transform .2s;animation:.32s cubic-bezier(.2,.9,.25,1) up;display:flex;overflow:hidden}.sheet.full .sheet-body{height:calc(100dvh - var(--top) - 12px)}.sheet-head{touch-action:none;align-items:center;gap:8px;min-height:60px;padding:18px 12px 6px 20px;display:flex;position:relative}.sheet-head h2{flex:1;font-size:17px;font-weight:600}.sheet-actions{gap:2px;display:flex}.grip{background:var(--line-2);border-radius:4px;width:36px;height:4px;margin-left:-18px;position:absolute;top:7px;left:50%}.sheet-body:focus{outline:none}.sheet-content{padding:4px 20px calc(24px + var(--bottom));overscroll-behavior:contain;flex:1;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;gap:18px;display:grid;overflow-y:auto}@keyframes up{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.field{gap:8px;display:grid}.field>span:first-child{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.field-value{font-size:16px}.danger{border-top:1px solid var(--line);padding-top:14px}.danger .row span{color:var(--ink-2);flex:1;font-size:14px}.confirm{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.confirm span{flex:1 0 100%;font-size:14px;font-weight:500}.brand{font-family:var(--serif);letter-spacing:-.01em;font-size:26px}.login{min-height:100dvh;padding:calc(var(--top) + 24px) 16px calc(var(--bottom) + 24px);place-items:center;display:grid}.login-card{width:min(400px,100%)}.login-card .brand{text-align:center;margin-bottom:4px;font-size:30px}.login-title{text-align:center;color:var(--ink-2);margin-top:-8px;font-size:15px!important;font-weight:500!important}.login-hero h1,.onboard h1{font-size:clamp(40px,9vw,72px);font-weight:400;line-height:.98;font-family:var(--serif);letter-spacing:-.02em;margin:20px 0 16px}.login-hero h1 em,.onboard h1 em{color:var(--accent)}.login-hero p,.onboard p{color:var(--ink-2);max-width:30em;font-size:17px}.login-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;gap:14px;padding:24px;display:grid}.btn.google{height:48px;font-weight:600}.login-title{letter-spacing:-.01em;font-size:20px;font-weight:600}.pass{position:relative}.pass .input{padding-right:48px}.pass .icon-btn{position:absolute;top:3px;right:3px}.login-preview{display:none}@media (width>=900px){.login-preview{background:var(--surface);border:1px solid var(--line);max-width:420px;box-shadow:var(--shadow);border-radius:18px;gap:8px;margin-top:36px;padding:18px;display:grid;transform:rotate(-1.5deg)}.lp-head{justify-content:space-between;align-items:baseline;padding:0 4px 6px;display:flex}.lp-head em{font-size:24px}.lp-head span{color:var(--ink-3);font-size:13px}.lp-row{background:var(--bg);border-radius:12px;align-items:stretch;gap:12px;padding:10px 12px;display:flex}.lp-day{width:34px;color:var(--ink-2);align-self:center;font-size:13px;font-weight:600}.lp-main{display:grid}.lp-main small{font-size:12.5px}}.or{color:var(--ink-3);align-items:center;gap:12px;font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.login .btn.primary{height:48px}.login-foot{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:14px;display:flex}.onboard{max-width:560px;min-height:100dvh;padding:calc(var(--top) + 40px) 20px 40px;align-content:center;gap:20px;margin:0 auto;display:grid}.onboard h1{margin:0}.onboard form .input,.onboard form .btn{height:48px}.app{min-height:100dvh}.rail{display:none}.topbar{z-index:20;padding:calc(var(--top) + 6px) 12px 6px 8px;background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.group-btn{border-radius:10px;align-items:center;gap:8px;min-width:0;height:40px;padding:0 10px;font-weight:600;display:flex}.group-btn:hover{background:var(--surface-2)}.group-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-btn svg{color:var(--ink-3);flex:none}.group-dot{background:var(--accent);border-radius:3px;flex:none;width:10px;height:10px}.me-btn{border-radius:99px;align-items:center;gap:10px;display:flex}.me-name{display:none}.main{padding:0 16px calc(var(--tabbar) + 96px);min-width:0;max-width:1280px;margin:0 auto}.tabbar{z-index:30;height:var(--tabbar);padding-bottom:var(--bottom);background:color-mix(in oklab, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--ink-3);align-content:center;place-items:center;gap:3px;font-size:11px;font-weight:500;display:grid;position:relative}.tabbar button.on{color:var(--ink)}.badge{background:var(--accent);color:#fff;min-width:18px;height:18px;font:600 11px/18px var(--sans);text-align:center;border-radius:9px;padding:0 5px;position:absolute;top:6px;left:calc(50% + 6px)}.fab{z-index:25;right:16px;bottom:calc(var(--tabbar) + 16px);background:var(--ink);width:56px;height:56px;color:var(--bg);box-shadow:var(--shadow-lg);border-radius:18px;place-items:center;transition:transform .15s;display:grid;position:fixed}.fab:active{transform:scale(.94)}.add-desktop{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;padding:8px 0 16px;display:flex}.page-head h1{letter-spacing:-.02em;font-size:40px;font-weight:400;line-height:1}.head-tools{align-items:center;gap:8px;display:flex}@media (width>=900px){.app{grid-template-columns:248px 1fr;display:grid}.topbar,.tabbar,.fab{display:none}.add-desktop{display:inline-flex}.rail{border-right:1px solid var(--line);flex-direction:column;gap:18px;height:100dvh;padding:24px 14px;display:flex;position:sticky;top:0}.rail .brand{padding:0 10px}.rail .group-btn{background:var(--surface);border:1px solid var(--line);width:100%}.rail .group-btn .group-name{text-align:left;flex:1}.rail-nav{gap:2px;display:grid}.rail-nav button{height:42px;color:var(--ink-2);border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-weight:500;display:flex;position:relative}.rail-nav button:hover{background:var(--surface-2)}.rail-nav button.on{background:var(--surface-2);color:var(--ink)}.rail-nav .badge{margin-left:auto;position:static}.rail-foot{margin-top:auto}.rail .me-btn{border-radius:12px;width:100%;padding:6px}.rail .me-btn:hover{background:var(--surface-2)}.me-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.main{width:100%;padding:28px 36px 48px}.page-head{padding-top:0;padding-bottom:24px}.page-head h1{font-size:52px}.toast{bottom:24px}.sheet{justify-content:center;align-items:center;padding:24px}.sheet-body{border-radius:20px;width:min(540px,100%);max-height:min(86dvh,820px);animation:.22s cubic-bezier(.2,.9,.3,1.1) pop}.sheet.full .sheet-body{width:min(760px,100%);height:min(86dvh,900px)}.grip{display:none}.sheet-head{padding-top:14px}@keyframes pop{0%{opacity:0;transform:scale(.97)translateY(8px)}}}.month-title{align-items:baseline;gap:10px;display:flex}.month-title em{text-transform:capitalize}.month-title span{font-family:var(--sans);color:var(--ink-3);letter-spacing:0;font-size:18px;font-weight:500}.pager{display:flex}@media (width>=900px){.view-toggle{display:none!important}}.upcoming{margin-top:24px}.upcoming h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-size:12.5px;font-weight:600}.ev-list.compact .ev-row{padding:9px 12px}.ev-list.compact .ev-time b{font-size:13px;font-weight:500}.today-btn{height:38px}@media (width<=899px){.cal .page-head{flex-wrap:nowrap}.cal .page-head h1{font-size:34px}.cal .seg{display:none}.cal .today-btn{padding:0 10px}.cal .head-tools{gap:0}}.cal-layout{gap:20px;display:grid}.month{-webkit-user-select:none;user-select:none;touch-action:pan-y}.weekdays{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:repeat(7,1fr);padding-bottom:8px;font-size:12px;font-weight:600;display:grid}.weekdays span{padding-left:6px}.weekdays span:nth-child(n+6){color:color-mix(in oklab, var(--accent) 60%, var(--ink-3))}.grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(64px,auto);animation:.25s fade;display:grid}.cell{cursor:pointer;border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:3px;min-width:0;padding:4px 3px 5px;transition:background .12s;display:flex;position:relative}.cell:hover{background:color-mix(in oklab, var(--surface) 60%, transparent)}.cell.out{background:color-mix(in oklab, var(--surface-2) 45%, transparent)}.cell.out .num{color:var(--ink-3)}.cell.sel{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--ink);z-index:1}.num{font-variant-numeric:tabular-nums;border-radius:12px;align-self:flex-start;place-items:center;min-width:24px;height:24px;padding:0 4px;font-size:13px;font-weight:600;display:grid}.cell.today .num{background:var(--accent);color:#fff}.chips{gap:2px;min-width:0;display:grid}.chip{text-align:left;white-space:nowrap;text-overflow:ellipsis;background:color-mix(in oklab, var(--c) 16%, var(--surface));min-width:0;color:color-mix(in oklab, var(--c) 72%, var(--ink));pointer-events:none;border-radius:4px;padding:0 4px;font-size:10.5px;font-weight:500;line-height:15px;display:block;overflow:hidden}.chip.solid{background:var(--c);color:#fff}.chip.l{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-4px;padding-left:7px}.chip.r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-4px}.chip.tail{color:#0000}.cell.out .chip{opacity:.55}.cell.past .chip{opacity:.6}.chip:nth-child(n+3){display:none}.more{color:var(--ink-3);padding-left:4px;font-size:10px;line-height:1}@media (width>=900px){.cal-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:28px}.grid{border:1px solid var(--line);background:var(--surface);border-radius:14px;grid-auto-rows:minmax(112px,1fr);overflow:hidden}.cell{padding:6px}.cell:nth-child(7n){border-right:0}.cell:nth-last-child(-n+7){border-bottom:0}.cell.out{background:color-mix(in oklab, var(--surface-2) 40%, var(--surface))}.cell:hover{background:color-mix(in oklab, var(--surface-2) 50%, var(--surface))}.cell.sel{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ink)}.chip{pointer-events:auto;cursor:pointer;border-radius:5px;padding:0 6px;font-size:12px;line-height:20px}.chip:hover{filter:brightness(.96)}.chip.l{margin-left:-7px;padding-left:13px}.chip.r{margin-right:-7px}.chip:nth-child(n+3){display:block}.more{padding-left:6px;font-size:11.5px}.day-panel{position:sticky;top:28px}}.day-panel header{flex-direction:column;margin-bottom:12px;display:flex}.day-panel h2{font-family:var(--serif);letter-spacing:-.01em;font-size:28px;font-weight:400}.day-panel h2:first-letter{text-transform:uppercase}.empty-day{border:1.5px dashed var(--line-2);border-radius:var(--r);width:100%;color:var(--ink-3);justify-content:center;align-items:center;gap:8px;padding:22px;transition:border-color .15s,color .15s;display:flex}.empty-day:hover{border-color:var(--ink-3);color:var(--ink-2)}.ev-list{gap:6px;display:grid}.ev-row{text-align:left;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);align-items:stretch;gap:12px;width:100%;padding:12px 12px 12px 14px;transition:transform .1s,box-shadow .15s;display:flex}.ev-row:hover{box-shadow:var(--shadow)}.ev-row:active{transform:scale(.99)}.ev-row.done{opacity:.55}.ev-time{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;width:46px;display:flex}.ev-time b{font-size:14px;font-weight:600}.ev-time small{font-size:12.5px}.ev-bar{background:var(--c);border-radius:3px;flex:none;width:3px}.ev-main{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.ev-main strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ev-main small{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;display:flex;overflow:hidden}.stack-avatars{flex:none;align-items:center;display:flex}.stack-avatars .avatar{position:relative}.stack-avatars .avatar+.avatar{margin-left:-7px}.stack-avatars .avatar:first-child{z-index:3}.stack-avatars .avatar:nth-child(2){z-index:2}.stack-avatars small{margin-left:4px;font-size:12px}.agenda{gap:22px;max-width:760px;display:grid}.agenda-day h3{align-items:baseline;gap:10px;margin-bottom:10px;font-weight:500;display:flex}.agenda-day h3 b{font-family:var(--serif);min-width:40px;font-size:34px;font-weight:400;line-height:1}.agenda-day h3 span{font-weight:600}.agenda-day h3 small{margin-left:auto;font-size:13px}.agenda-day h3.today b,.agenda-day h3.today span{color:var(--accent)}.ev-head{gap:14px;display:flex}.ev-swatch{background:var(--c);border-radius:5px;flex:none;width:5px}.ev-head h2{letter-spacing:-.01em;overflow-wrap:anywhere;margin-bottom:8px;font-size:24px;font-weight:600;line-height:1.2}.ev-when{color:var(--ink-2);align-items:center;gap:8px;margin-top:4px;font-size:14.5px;text-decoration:none;display:flex}.ev-when:first-letter{text-transform:uppercase}.ev-when svg{color:var(--ink-3);flex:none}a.ev-when:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.ev-notes{white-space:pre-wrap;color:var(--ink-2);background:var(--surface-2);overflow-wrap:anywhere;border-radius:12px;padding:12px 14px}.rsvp{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.rsvp-btn{border:1px solid var(--line);border-radius:12px;justify-content:center;align-items:center;gap:6px;height:44px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.rsvp-btn b{color:var(--ink-3);font-weight:600}.rsvp-btn:hover{background:var(--surface-2)}.rsvp-btn.on{color:#fff;border-color:#0000}.rsvp-btn.on b{color:#fffc}.rsvp-btn.yes.on{background:var(--good)}.rsvp-btn.maybe.on{background:var(--warn)}.rsvp-btn.no.on{background:var(--ink-2)}@media (width<=380px){.rsvp-btn{font-size:13px}}.rsvp-list{flex-wrap:wrap;gap:6px;margin-top:-8px;display:flex}.rsvp-list li{background:var(--surface-2);border-radius:99px;align-items:center;gap:6px;padding:3px 10px 3px 3px;font-size:13px;display:flex}.rsvp-list small{font-size:12px}.rsvp-list li.no{opacity:.6}.comments{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.comments h3{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:12.5px;font-weight:600}.comment{gap:10px;display:flex}.comment p{overflow-wrap:anywhere;white-space:pre-wrap;font-size:14.5px}.comment small{font-size:12px}.comment .link{padding:0;font-size:12px}.comment-form{gap:8px;display:flex}.comment-form .icon-btn{flex:none;width:44px;height:44px}.ev-form{gap:14px;display:grid}.title-input{height:52px;font-weight:600;font-size:20px!important}textarea.title-input{height:auto}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatches button{background:var(--c);border-radius:50%;width:28px;height:28px;transition:transform .12s}.swatches button.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--c);transform:scale(1.05)}.switch-row{justify-content:space-between;align-items:center;font-weight:500;display:flex}.when-grid{grid-template-columns:76px 1fr 108px;align-items:center;gap:8px;display:grid}.when-grid>span{color:var(--ink-2);font-size:14px}.when-grid>.input:only-of-type,.when-grid>span+.input:last-child{grid-column:span 2}.when-grid select+.input{grid-column:auto}.when-grid .span2{grid-column:span 2}.form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.form-actions .btn{min-width:96px;height:46px}@media (width<=899px){.form-actions .btn.primary{flex:1}}.todos,.notes{max-width:760px}.notes{max-width:none}.quick-add{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;height:54px;margin-bottom:14px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.quick-add:focus-within{border-color:var(--ink-3);box-shadow:var(--shadow)}.quick-add input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:16px}.todo-list{display:grid}.todo-list.dragging{touch-action:none;-webkit-user-select:none;user-select:none}.todo-wrap{position:relative;overflow:hidden}.todo-wrap .todo{background:var(--bg);transition:transform .2s;position:relative}.swipe-bg{color:#fff;align-items:center;padding:0 20px;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}.todo-wrap.swipe-r .swipe-bg{background:var(--good)}.todo-wrap.swipe-l .swipe-bg{background:var(--bad);justify-content:flex-end}.todo-wrap:not(.swipe-r):not(.swipe-l) .swipe-bg{display:none}.todo-wrap.lifted{z-index:5;box-shadow:var(--shadow-lg);border-radius:12px;overflow:visible}.todo-wrap.lifted .todo{background:var(--surface);border-radius:12px}.grip-btn{width:28px;height:40px;color:var(--ink-3);cursor:grab;touch-action:none;place-items:center;margin-left:-8px;display:grid}.drop-line{background:var(--accent);border-radius:2px;height:2px;margin:-1px 0}.sort-select{width:auto;height:38px;font-size:14px}@media (width<=899px){.todos .page-head .head-tools{width:100%}.sort-select{margin-left:auto}}.day-tasks{gap:4px;display:grid}.day-tasks li{border-radius:var(--r);background:var(--surface);border:1px dashed var(--line-2);align-items:center;gap:10px;padding:8px 12px;display:flex}.day-tasks li span{overflow-wrap:anywhere;flex:1;min-width:0}.chip.task{border:1px dashed var(--ink-3);color:var(--ink-2);background:0 0;line-height:13px}@media (width>=900px){.chip.task{line-height:18px}}.cal-search{flex:1;max-width:420px;height:44px}.cal-search input{flex:1;width:auto}.cal-search .icon-btn{width:30px;height:30px;margin-right:-6px}button.month-title{text-align:left;letter-spacing:-.02em;font-size:52px;line-height:1}@media (width<=899px){button.month-title{font-size:34px}.cal .today-btn{display:none}}@media (width<=360px){button.month-title{font-size:28px}.cal .head-tools .icon-btn{width:34px}}.todo{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:54px;padding:0 4px 0 14px;animation:.2s fade;display:flex}.check{border:1.75px solid var(--line-2);color:#0000;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;transition:all .18s;display:grid}.check.ghost{border-style:dashed}.check:hover{border-color:var(--ink-2)}.todo.done .check{background:var(--ink);border-color:var(--ink);color:var(--bg);animation:.3s pop-check}@keyframes pop-check{50%{transform:scale(1.18)}}.todo-body{text-align:left;flex:1;gap:3px;min-width:0;padding:12px 0;display:grid}.todo-text{overflow-wrap:anywhere}.todo.done .todo-text{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.todo-meta{color:var(--ink-3);flex-wrap:wrap;gap:10px;font-size:12.5px;display:flex}.due{align-items:center;gap:4px;display:inline-flex}.due.soon{color:var(--warn);font-weight:500}.due.late{color:var(--bad);font-weight:500}.done-section{margin-top:18px}.done-head{justify-content:space-between;align-items:center;padding:0 4px 6px;display:flex}.done-head .link svg{transition:transform .2s}.done-head .link svg.rot{transform:rotate(-90deg)}.pick-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pick{border:1px solid var(--line);border-radius:99px;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:14px;transition:all .15s;display:inline-flex}.pick:has(.avatar){padding-left:4px}.pick:hover{background:var(--surface-2)}.pick.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pick-date{border-radius:99px;width:auto;height:36px}.list-chips{scrollbar-width:none;gap:6px;margin:-4px -16px 14px;padding:4px 16px;display:flex;overflow-x:auto}.list-chips::-webkit-scrollbar{display:none}.list-chips .pick{flex:none}.list-chips .pick small{color:inherit;opacity:.6;font-size:12px;font-weight:600}.list-chips .pick.add{color:var(--ink-3);border-style:dashed}.todo-meta span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.parse-hint{background:color-mix(in oklab, var(--accent) 10%, var(--surface));color:var(--ink-2);border-radius:10px;align-items:center;gap:8px;padding:4px 4px 4px 12px;font-size:13.5px;animation:.2s fade;display:flex}.parse-hint svg{color:var(--accent);flex:none}.parse-hint span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.parse-hint b{color:var(--ink);font-weight:600}.parse-hint b:first-letter{text-transform:uppercase}.parse-hint .icon-btn{width:30px;height:30px}.parse-hint.inline{margin:-6px 0 12px;padding:8px 12px}@media (width>=900px){.list-chips{margin-left:0;margin-right:0;padding-left:0}}.todo-text .flag{color:var(--accent);vertical-align:-1px;margin-right:6px}.todo.prio .check{border-color:var(--accent)}.icon-btn.flag-on{color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, transparent)}.mention-row{flex-wrap:wrap;gap:6px;margin:-6px 0 12px;display:flex}.quick-tip{color:var(--ink-3);margin:-6px 4px 12px;font-size:12.5px}.quick-tip b{color:var(--ink-2);font-weight:600}.subtasks{display:grid}.subtasks li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:40px;display:flex}.subtasks li span{overflow-wrap:anywhere;flex:1}.subtasks li.done span{color:var(--ink-3);text-decoration:line-through}.subtasks .icon-btn{width:32px;height:32px;color:var(--ink-3)}.check.sm{width:20px;height:20px}.subtasks li.done .check,.check[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.sub-add{min-height:42px;color:var(--ink-3);align-items:center;gap:10px;display:flex}.sub-add input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:16px}.search{background:var(--surface);border:1px solid var(--line);height:40px;color:var(--ink-3);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{width:130px;color:var(--ink);background:0 0;border:0;outline:0;font-size:16px}.search input::-webkit-search-cancel-button{display:none}.note-grid{columns:2 160px;column-gap:10px}@media (width>=900px){.note-grid{columns:4 220px;column-gap:14px}}.note-card{vertical-align:top;break-inside:avoid;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;gap:6px;width:100%;margin-bottom:10px;padding:16px;transition:box-shadow .15s,transform .1s;display:inline-grid;position:relative}.note-card:hover{box-shadow:var(--shadow)}.note-card:focus-visible{outline-offset:-2px}.note-card:active{transform:scale(.985)}.note-card.pinned{border-color:var(--line-2);background:color-mix(in oklab, var(--accent) 5%, var(--surface))}.note-card h3{overflow-wrap:anywhere;padding-right:16px;font-size:16px;font-weight:600}.note-card p{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:8;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.note-card p:empty{display:none}.note-card small{margin-top:4px;font-size:12px}.note-card{cursor:pointer}.note-card.tinted{background:color-mix(in oklab, var(--c) 13%, var(--surface));border-color:color-mix(in oklab, var(--c) 30%, var(--line))}.note-card .md{color:var(--ink-2);max-height:15em;font-size:14px;overflow:hidden}.note-card small{align-items:center;gap:8px;display:flex}.note-progress{color:var(--ink-2);align-items:center;gap:3px;font-weight:600;display:inline-flex}.note-progress.full{color:var(--good)}.md{overflow-wrap:anywhere;gap:2px;display:grid}.md p{min-height:1.45em}.md .md-gap{min-height:.6em}.md-h1{font-family:var(--serif);color:var(--ink);margin-top:.3em;font-size:1.6em;line-height:1.15}.md-h2{color:var(--ink);margin-top:.3em;font-size:1.15em;font-weight:600}.md-h3{color:var(--ink);font-weight:600}.md-li{padding-left:1.1em;position:relative}.md-li:before{content:"";background:var(--ink-3);border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:.3em}.md a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.md hr{border:0;border-top:1px solid var(--line);width:100%;margin:8px 0}.md-check{cursor:pointer;align-items:flex-start;gap:8px;padding:2px 0;display:flex}.md-check input{appearance:none;border:1.75px solid var(--line-2);cursor:pointer;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;margin:.12em 0 0;transition:all .15s;display:grid}.md-check input:checked{background:var(--ink);border-color:var(--ink)}.md-check input:checked:after{content:"";border:solid var(--bg);border-width:0 2px 2px 0;width:5px;height:9px;transform:translateY(-1px)rotate(45deg)}.to-task{width:28px;height:24px;color:var(--ink-3);opacity:.55;border-radius:6px;flex:none;place-items:center;margin-left:auto;display:grid}.to-task:hover{opacity:1;background:var(--surface-2);color:var(--ink)}@media (hover:hover){.to-task{opacity:0}.md-check:hover .to-task{opacity:.7}}.md-check.done span{color:var(--ink-3);text-decoration:line-through}.note-view{cursor:text;align-content:start;gap:16px;min-height:40dvh;font-size:16px;line-height:1.6;display:grid}.note-view .md{color:var(--ink)}.note-edit-hint{justify-self:start}.note-tools{z-index:2;background:var(--surface);scrollbar-width:none;gap:4px;padding:6px 0;display:flex;position:sticky;top:-4px;overflow-x:auto}.note-tools button{border:1px solid var(--line);height:34px;color:var(--ink-2);border-radius:99px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;display:inline-flex}.note-tools button:hover{background:var(--surface-2);color:var(--ink)}.note-colors button{width:26px;height:26px}.pin{color:var(--accent);position:absolute;top:14px;right:12px}.note-title{font-family:var(--serif);letter-spacing:-.01em;background:0 0;border:0;outline:0;width:100%;padding:0;font-size:34px;line-height:1.1}.note-meta{color:var(--ink-3);margin-top:-10px;font-size:13px}.note-body{resize:none;background:0 0;border:0;outline:0;width:100%;min-height:50dvh;padding:0;font-size:16px;line-height:1.6;overflow:hidden}.group-list{gap:4px;display:grid}.group-item{text-align:left;border-radius:12px;align-items:center;gap:10px;height:48px;padding:0 12px;display:flex}.group-item span:nth-child(2){flex:1;font-weight:500}.group-item.on,.group-item:hover{background:var(--surface-2)}.invite{gap:10px;display:grid}.invite code{background:var(--surface-2);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;padding:10px 12px;font-size:13px;display:block;overflow:hidden}.hint{color:var(--ink-2);font-size:13.5px}.prefs{gap:2px;padding:4px 0 0;display:grid}.pref{cursor:pointer;align-items:center;gap:10px;min-height:38px;font-size:14.5px;display:flex}.pref input{width:18px;height:18px;accent-color:var(--ink)}.sub-btn{justify-content:flex-start}.members{gap:2px;display:grid}.members li{align-items:center;gap:10px;min-height:44px;display:flex}.members .member-name{flex:1;min-width:0}.me-card{align-items:center;gap:14px;display:flex}.me-card div{display:grid}.me-card strong{font-size:18px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.today-head h1{font-size:40px}.today-date{color:var(--ink-3);margin-top:6px}.today-date:first-letter{text-transform:uppercase}.today-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (width>=900px){.today-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.today-head h1{font-size:52px}}.today-card{background:color-mix(in oklab, var(--surface) 55%, transparent);border:1px solid var(--line);border-radius:18px;grid-template-columns:minmax(0,1fr);gap:12px;padding:18px;display:grid}.today-card h2{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:13px;font-weight:600}.today-card h2 small{text-transform:none;letter-spacing:0;font-weight:500}.today-card h3{color:var(--ink-2);margin-top:4px;font-size:13px;font-weight:600}.today-card .soft{color:var(--ink-3);font-size:14px}.more-link{justify-self:start;font-size:13.5px}.day-tasks .due{font-size:12px;font-weight:600}.activity{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.activity li{align-items:center;gap:10px;display:flex}.activity p{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.activity p span{color:var(--ink-2)}.activity small{white-space:nowrap;font-size:12px}
