@font-face{font-family:manrope;src:url(../media/Manrope-s.p.3rjk17h6oms_8.ttf)format("truetype");font-display:swap;font-weight:400 700}@font-face{font-family:manrope Fallback;src:local(Arial);ascent-override:106.45%;descent-override:29.96%;line-gap-override:0.0%;size-adjust:100.14%}._4hsiuG_className{font-family:manrope,manrope Fallback}._4hsiuG_variable{--font-manrope:"manrope", "manrope Fallback"}
:root{--color-background:#f6f6f6;--color-surface:#fff;--color-ink:#272725;--color-muted:#62625e;--color-neutral:#f1f1f1;--color-common:#d0e8b8;--color-solo:#aaa0d0;--color-travel:#f4d4b8;--color-border:#d3d3ce;--color-error:#9d2929;--radius-card:24px;--radius-field:16px;--radius-pill:999px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--color-background);scroll-padding-block:24px 130px}body{color:var(--color-ink);font-family:var(--font-manrope), sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}::selection{background:var(--color-common);color:var(--color-ink)}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:4px;outline:3px solid #62528e}[id]{scroll-margin-bottom:130px}h1,h2,h3,p,ul,ol{margin:0}h1,h2,h3{text-wrap:balance;overflow-wrap:anywhere;line-height:1.25}h1{letter-spacing:-.035em;margin-bottom:20px;font-size:28px;font-weight:700}h2{letter-spacing:-.025em;margin:32px 0 14px;font-size:21px;font-weight:650}h3{margin:24px 0 12px;font-size:18px}p{overflow-wrap:anywhere;margin:14px 0}ul,ol{padding-left:24px}li{overflow-wrap:anywhere;margin:8px 0}hr{border:0;border-top:1px solid var(--color-border);margin:24px 0}.app-shell{background:var(--color-surface);max-width:480px;min-height:100dvh;margin-inline:auto}.app-shell.has-navigation{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.app-header{padding:28px 24px 24px}.brand{letter-spacing:-.04em;align-items:center;gap:12px;min-height:44px;font-size:22px;font-weight:700;line-height:1.15;text-decoration:none;display:inline-flex}.brand-name{letter-spacing:0;margin-top:5px;font-size:11px;font-weight:500;display:block}.brand-mark{grid-template-columns:repeat(2,8px);gap:3px;display:grid;transform:rotate(-8deg)}.brand-mark i{border:1.6px solid;border-radius:3px;height:8px}.brand-mark i:last-child{background:var(--color-solo)}.brand-button{color:var(--color-ink);text-align:left;background:0 0;border:0;border-radius:8px;padding:0}.brand-button:hover:not(:disabled),.brand-button:active:not(:disabled){background:0 0}.brand-chevron{flex:0 0 16px;margin-left:8px}.account-menu{width:min(384px,100vw - 32px);max-height:calc(100dvh - 120px);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);margin:0;padding:20px;position:fixed;inset:88px auto auto max(16px,50vw - 216px);overflow:auto}.account-menu .account{margin-top:0}.account-menu .account-actions{flex-direction:column;align-items:stretch;gap:8px;margin-top:16px}.account-menu .account-actions a{border-radius:var(--radius-pill);background:var(--color-neutral);padding:10px 14px;font-size:14px;text-decoration:none}.account-menu .account-actions a:hover{background:var(--color-common)}.account-menu .account-actions button{font-size:14px}.account{margin-top:22px}.account p{margin:0;font-size:14px;line-height:1.5}.account p span{color:var(--color-muted);font-size:12px;display:block}.account-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.account-actions a,.account-actions button{align-items:center;min-height:44px;font-size:12px;display:inline-flex}.account-actions button{border-color:var(--color-border);color:var(--color-ink);background:0 0;padding:8px 14px}.guest-nav{margin-top:20px}.guest-nav a{background:var(--color-neutral);border-radius:var(--radius-pill);align-items:center;min-height:44px;padding:8px 18px;font-size:14px;text-decoration:none;display:inline-flex}main{min-width:0;padding:8px 24px 24px}.app-footer{color:var(--color-muted);padding:12px 24px 24px;font-size:12px}.app-footer p{border-top:1px solid var(--color-neutral);padding-top:20px}.skip-link{z-index:20;background:var(--color-ink);color:#fff;border-radius:var(--radius-pill);padding:12px 20px;position:fixed;top:8px;left:50%;transform:translate(-50%,-180%)}.skip-link:focus{transform:translate(-50%)}.bottom-nav{z-index:10;width:min(100%,480px);padding:14px 12px calc(14px + env(safe-area-inset-bottom));background:var(--color-ink);color:#e8e8e3;border-radius:28px 28px 0 0;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:58px;padding:8px 4px;font-size:11px;font-weight:600;text-decoration:none;transition:color .18s ease-out;display:flex;position:relative}.nav-pill{z-index:-1;background:var(--color-surface);border-radius:24px;position:absolute;inset:0}.bottom-nav a:hover{background:#41413e}.bottom-nav a[aria-current=page]{color:var(--color-ink)}.bottom-nav a:focus-visible{outline-color:var(--color-common);outline-offset:1px}.bottom-nav a{min-width:0;height:62px}.bottom-nav svg{aspect-ratio:1;flex:0 0 22px;width:22px;height:22px}button,.button-link{border-radius:var(--radius-pill);background:var(--color-ink);color:#fff;text-align:center;cursor:pointer;overflow-wrap:anywhere;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:48px;padding:12px 20px;font-size:14px;font-weight:600;line-height:1.45;text-decoration:none;transition:background-color .18s ease-out;display:inline-flex}button.button-secondary,.button-link.button-secondary{background:var(--color-neutral);color:var(--color-ink);border-color:var(--color-border)}button.button-secondary:hover:not(:disabled),button.button-secondary:active:not(:disabled),.button-link.button-secondary:hover,.button-link.button-secondary:active{background:#e4e4e1}.consent-actions{flex-wrap:wrap;gap:12px;display:flex}button.button-danger{color:var(--color-error);border-color:var(--color-error);background:0 0}button.button-danger:hover:not(:disabled),button.button-danger:active:not(:disabled){background:#fceeee}button:hover:not(:disabled),.button-link:hover{background:#42423e}button:active:not(:disabled),.button-link:active{background:#171716}.account-actions button:hover:not(:disabled),.account-actions button:active:not(:disabled){background:var(--color-neutral)}button:disabled{opacity:.55;cursor:not-allowed}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-field);min-width:0;margin:22px 0;padding:16px}legend{padding:0 6px;font-size:14px;font-weight:700}form>fieldset{border:0;border-radius:0;margin:0;padding:0}form>fieldset>legend{margin-bottom:8px;padding:0}form{margin:20px 0 28px}form p{margin:18px 0}label{font-size:14px;font-weight:500;display:block}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select{border-radius:var(--radius-field);background:var(--color-surface);caret-color:#62528e;border:1px solid #92928c;width:100%;min-width:0;min-height:48px;margin-top:8px;padding:12px 14px;line-height:1.5;display:block}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}input[readonly]{background:var(--color-neutral)!important}input[type=radio],input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-ink);flex:0 0 20px;margin:2px 0 0}:is(label:has(input[type=radio]),label:has(input[type=checkbox])){align-items:flex-start;gap:10px;min-height:44px;padding-block:10px;display:flex}input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed}label:has(input:disabled){color:var(--color-muted)}[aria-busy=true]{cursor:progress}[role=alert]{color:var(--color-error);border-radius:var(--radius-field);background:#fceeee;padding:14px}[role=status]:not(:empty),[aria-live]>p:not([role=alert]){background:var(--color-neutral);border-radius:var(--radius-field);padding:14px}details{border-block:1px solid var(--color-border);margin-block:20px;padding-block:12px}summary{cursor:pointer;min-height:44px;font-size:14px;font-weight:600}section+section{margin-top:32px}section>section{border-top:1px solid var(--color-border);padding-top:4px}.page-intro{color:var(--color-muted);margin-bottom:28px;font-size:14px}.event-list{gap:12px;padding:0;list-style:none;display:grid}.event-card{background:var(--color-common);border-radius:var(--radius-card);margin:0;padding:16px;position:relative}.event-card[data-visibility=solo]{background:var(--color-solo)}.event-time{font-variant-numeric:tabular-nums;margin:0 0 4px;font-size:14px;font-weight:700}.event-title{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:19px;font-weight:600;line-height:1.35;text-decoration:none;display:block}.event-title:after{content:"";border-radius:inherit;position:absolute;inset:0}.event-title:hover{text-underline-offset:4px;text-decoration:underline}.event-title:focus-visible{outline:none}.event-title:focus-visible:after{outline-offset:3px;outline:3px solid #62528e}.event-meta{margin:6px 0 0;font-size:13px}.event-visibility{font-weight:700}.event-tags{border-top:1px solid #27272540;margin:10px 0 0;padding-top:10px;font-size:13px}.empty-state{border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-muted);padding:24px}.day-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.day-heading h2{margin-block:24px 16px}.day-add{flex-shrink:0;min-height:44px;padding:8px 18px}.month-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.month-toolbar h2{text-wrap:balance;min-width:0;margin:0;font-size:18px}.month-nav{flex-shrink:0;align-items:center;gap:2px;display:flex}.month-nav a{border-radius:var(--radius-pill);text-align:center;background:0 0;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px;font-size:13px;text-decoration:none;display:flex}.month-nav a:nth-child(2){background:var(--color-neutral);padding-inline:10px}.month-nav a:hover{background:#e4e4e1}.month-swipe{touch-action:pan-y pinch-zoom;transition:opacity .12s ease-out}.month-swipe[aria-busy=true]{opacity:.6}.notice{margin-top:0}.skeleton{gap:12px;margin-top:24px;display:grid}.skeleton i{border-radius:var(--radius-card);background:var(--color-neutral);height:72px;animation:1.2s ease-in-out infinite skeleton-pulse;display:block}@keyframes skeleton-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton i{animation:none}}.calendar-grid{table-layout:fixed;border-spacing:4px 8px;font-variant-numeric:tabular-nums;width:100%}.calendar-grid caption{text-align:left;margin-bottom:18px;font-size:20px;font-weight:650}.calendar-grid th{padding-bottom:6px;font-size:13px;font-weight:500}.calendar-grid td{text-align:center;padding:0}.calendar-grid a{aspect-ratio:1;background:var(--color-neutral);border-radius:50%;place-items:center;width:100%;max-width:48px;margin-inline:auto;font-size:14px;text-decoration:none;display:grid;position:relative}.day-dots{justify-content:center;align-items:center;gap:3px;line-height:1;display:flex;position:absolute;bottom:14%;left:0;right:0}.day-dots i,.day-dot{background:#4f7d2c;border-radius:50%;width:6px;height:6px;display:inline-block}.day-dots i[data-visibility=solo],.day-dot[data-visibility=solo]{background:0 0;box-shadow:inset 0 0 0 2px #62528e}.grid-legend{color:var(--color-muted);gap:16px;margin:4px 0 0;font-size:13px;display:flex}.grid-legend span{align-items:center;gap:6px;display:inline-flex}.day-dots b{font-size:9px;font-weight:700}.calendar-grid a[aria-current=date] .day-dots i{background:var(--color-common)}.calendar-grid a[aria-current=date] .day-dots i[data-visibility=solo]{box-shadow:inset 0 0 0 2px var(--color-solo);background:0 0}.calendar-grid a:hover{background:var(--color-common)}.calendar-grid a[data-today=true]{box-shadow:inset 0 0 0 2px #62528e}.calendar-grid a[aria-current=date]{background:var(--color-ink);color:#fff}.calendar-grid a[aria-current=date][data-today=true]{box-shadow:inset 0 0 0 2px var(--color-solo)}.travel-form{margin-block:16px 24px}.travel-menu{margin-top:32px}.travel-actions{flex-wrap:wrap;gap:10px;display:flex}.travel-toggle{align-items:center;gap:10px;display:flex}.travel-legend{align-items:center;gap:8px;font-size:13px;display:flex}.travel-legend span{background:var(--color-travel);border-radius:50%;width:16px;height:16px}.travel-calendar[data-show-travel=false] .travel-detail{display:none}.travel-calendar[data-show-travel=true] .calendar-grid a[data-travel=true]{background:var(--color-travel);color:var(--color-ink)}.travel-calendar[data-show-travel=true] .calendar-grid a[data-travel=true][aria-current=date]{outline:2px solid var(--color-ink);outline-offset:1px}.travel-calendar[data-show-travel=true] .calendar-grid a[data-travel=true]:focus-visible{outline-offset:4px;outline:3px solid #62528e}.travel-person{background:var(--color-travel);border-radius:var(--radius-field);padding:8px 14px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visibility-field{border:0;padding:0}.visibility-field legend{margin-bottom:14px;padding:0}.visibility-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.visibility-option:has(input[type=radio]){background:var(--color-neutral);cursor:pointer;border:2px solid #0000;border-radius:20px;justify-content:center;align-items:center;gap:10px;min-height:72px;padding:16px 12px;font-size:17px;font-weight:650;transition:background-color .18s ease-out,border-color .18s ease-out;display:flex;position:relative}.visibility-option input[type=radio]{opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.visibility-option:has(input:checked){border-color:var(--color-ink)}.visibility-solo:has(input:checked){background:var(--color-solo)}.visibility-solo:hover:not(:has(input:disabled)){background:var(--color-solo)}.visibility-common:has(input:checked){background:var(--color-common)}.visibility-common:hover:not(:has(input:disabled)){background:var(--color-common)}.visibility-option:has(input:user-invalid){border-color:var(--color-error)}.visibility-option:has(input:focus-visible){outline-offset:4px;outline:3px solid #62528e}.visibility-option:has(input:disabled){cursor:not-allowed;color:var(--color-muted);background:var(--color-neutral);border-color:var(--color-border)}.visibility-check{flex-shrink:0;display:none}.visibility-check circle{fill:var(--color-ink)}.visibility-check path{fill:none;stroke:#fff;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.visibility-option:has(input:checked) .visibility-check{display:block}.visibility-field>p{color:var(--color-muted);font-size:13px}.sticky-submit{bottom:calc(16px + env(safe-area-inset-bottom));z-index:5;background:linear-gradient(transparent, var(--color-surface) 30%);margin:24px 0 0;padding-block:12px;position:sticky}.sticky-submit button{width:100%}.field-help{color:var(--color-muted);font-size:13px}.reminder-delay{grid-template-columns:minmax(0,1fr) minmax(100px,.8fr);align-items:end;gap:12px;display:grid}.todo-add>summary{border-radius:var(--radius-pill);background:var(--color-ink);color:#fff;align-items:center;padding:10px 18px;display:flex}.todo-add[open]>summary{margin-bottom:20px}.todo-list{padding:0;list-style:none}.todo-item{border-bottom:1px solid var(--color-border);margin:0;padding:20px 0}.todo-item-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.todo-item h3{margin:0;font-size:18px}.todo-visibility{border-radius:var(--radius-pill);flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600}.todo-common{background:var(--color-common)}.todo-solo{background:var(--color-solo)}.todo-item[data-completed=true] h3{text-decoration:line-through}.todo-overdue{color:var(--color-error);font-size:13px;font-weight:600}.todo-item>form{margin-block:12px}.todo-check{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:14px;font-weight:600;display:flex}.todo-check input{width:24px;height:24px;min-height:0;accent-color:var(--color-ink);flex:none;margin:0}.todo-item[data-completed=true]{opacity:.75}.todo-item button{min-height:44px;padding:10px 16px;font-size:12px}.todo-edit{border:0;margin:0;padding:0}.todo-edit>summary{min-height:44px;color:var(--color-muted);padding-top:10px;font-size:12px;display:list-item}.todo-count{color:var(--color-muted);font-size:14px;font-weight:500}@media (max-width:359px){.bottom-nav a{padding-inline:2px;font-size:10px}}@media (min-width:520px){.app-shell{border-radius:32px;min-height:calc(100dvh - 56px);margin-block:28px}.bottom-nav{border-radius:28px;width:456px;bottom:16px}.account-menu{top:116px}}@media (max-width:359px){main,.app-header{padding-inline:16px}.event-card{padding:14px}.month-toolbar h2{font-size:16px}.calendar-grid{border-spacing:2px 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}::view-transition-group(*){animation-duration:.24s;animation-timing-function:cubic-bezier(.3,0,0,1)}::view-transition-old(.vt-fade-out){animation:.16s ease-in both vt-fade-out}::view-transition-new(.vt-fade-in){animation:.2s ease-out both vt-fade-in}::view-transition-old(.vt-slide-out-next){animation:.24s cubic-bezier(.3,0,0,1) both vt-slide-out-left}::view-transition-new(.vt-slide-in-next){animation:.24s cubic-bezier(.3,0,0,1) both vt-slide-in-right}::view-transition-old(.vt-slide-out-prev){animation:.24s cubic-bezier(.3,0,0,1) both vt-slide-out-right}::view-transition-new(.vt-slide-in-prev){animation:.24s cubic-bezier(.3,0,0,1) both vt-slide-in-left}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-slide-out-left{to{opacity:0;transform:translate(-16px)}}@keyframes vt-slide-in-right{0%{opacity:0;transform:translate(16px)}}@keyframes vt-slide-out-right{to{opacity:0;transform:translate(16px)}}@keyframes vt-slide-in-left{0%{opacity:0;transform:translate(-16px)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.type-options{flex-wrap:wrap;gap:8px;display:flex}.type-option{border:2px solid var(--color-border);background:var(--color-neutral);cursor:pointer;border-radius:22px;align-items:center;min-height:44px;padding:8px 14px;display:inline-flex}.type-option input{opacity:0;position:absolute}.type-option:has(input:checked){border-color:var(--color-ink);font-weight:650}.type-option:has(input:focus-visible){outline-offset:3px;outline:3px solid #62528e}.event-type{font-size:12px;font-weight:700}.event-join{align-items:center;min-height:44px;margin-top:8px;display:inline-flex}.type-filter{flex-wrap:wrap;gap:8px;margin-block:12px;display:flex}.type-filter a{border:2px solid var(--color-border);border-radius:22px;align-items:center;min-height:44px;padding:8px 14px;display:inline-flex}.type-filter a[aria-current=true]{border-color:var(--color-ink);font-weight:650}.tickets ul{gap:16px;padding:0;list-style:none;display:grid}.tickets img{border-radius:12px;max-width:100%;max-height:360px;display:block}.password-field{gap:8px;display:grid}.password-field button{justify-self:start;min-height:44px}fieldset:has(input[name=reminderMode][value=all]:checked) input[name=selectedTags]{opacity:.45}
