:root{--r-serif:var(--font-serif), Georgia, serif;--r-mono:var(--font-code), ui-monospace, Menlo, monospace}body{-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}::selection{background:var(--r-marker-soft);color:var(--r-ink)}.topbar{border-bottom-color:var(--r-line)}.brand{font-family:var(--r-serif);letter-spacing:-.02em;font-variation-settings:"opsz" 72;font-size:21px;font-weight:500}.brand-my{color:var(--r-ink-3);font-style:italic;font-weight:340}.search{background:var(--r-surface-2);border-color:var(--r-line);border-radius:8px}.search:focus-within{border-color:var(--r-border-focus)}.primary-button{background:var(--r-ink);color:var(--r-bg);letter-spacing:-.005em;border-radius:8px;font-weight:600;transition:background .15s,transform .15s}.primary-button:hover:not(:disabled){background:color-mix(in srgb, var(--r-ink) 86%, var(--r-bg))}.primary-button:active:not(:disabled){transform:translateY(1px)}.ghost-button,.icon-button,.icon-button.bordered{border-radius:8px}.chip-button{border-color:var(--r-border-strong);background:var(--r-surface);color:var(--r-ink);border-radius:7px;font-weight:550}.chip-button:hover:not(:disabled){background:var(--r-surface-2);border-color:var(--r-ink-3)}.text-button{color:var(--r-ink);text-decoration:underline;-webkit-text-decoration-color:var(--r-marker);text-decoration-color:var(--r-marker);text-underline-offset:4px;font-weight:600;text-decoration-thickness:2px}.text-button:hover{text-decoration-thickness:3px}.fab{background:var(--r-ink);color:var(--r-bg);border-radius:16px;box-shadow:0 10px 28px -10px #00000059}kbd,.quick-add-kbd{font-family:var(--r-mono)!important;border-radius:4px!important;font-weight:500!important}.view-bar .view-tabs button{letter-spacing:-.005em;font-weight:550}.view-bar .view-tabs button[aria-selected=true]:after,.view-bar .view-tabs .tab-habits[aria-selected=true]:after,.view-bar .view-tabs .tab-dates[aria-selected=true]:after,.view-bar .view-tabs .tab-people[aria-selected=true]:after{background:var(--r-marker);border-radius:0;height:3px;left:12px;right:12px}@media (max-width:640px){.view-bar{box-shadow:none}.view-bar .view-tabs button[aria-selected=true],.view-bar .view-tabs .tab-habits[aria-selected=true],.view-bar .view-tabs .tab-dates[aria-selected=true]{color:var(--r-ink)}.view-bar .view-tabs button[aria-selected=true] svg{filter:drop-shadow(0 -5px #0000)}.view-bar .view-tabs button[aria-selected=true]:before{content:"";background:var(--r-marker);height:3px;position:absolute;top:0;left:30%;right:30%}}.greeting h1{font-family:var(--r-serif);letter-spacing:-.03em;font-variation-settings:"opsz" 144, "SOFT" 30;font-size:38px;font-weight:400;line-height:1.05}.greeting p{font-weight:450}@media (max-width:640px){.greeting h1{font-size:32px}}.greeting .day-line{border:0;border-left:3px solid var(--r-marker);color:var(--r-ink-2);background:0 0;border-radius:0;padding:2px 0 2px 14px;font-size:16.5px}.day-line b,.day-line-link{color:var(--r-ink);font-weight:650}.day-line-link{background:linear-gradient(transparent 62%, var(--r-marker-soft) 62%, var(--r-marker-soft) 92%, transparent 92%);text-decoration:none}.day-line-link:hover{background:linear-gradient(transparent 55%, var(--r-marker) 55%, var(--r-marker) 92%, transparent 92%)}.day-line-icon{color:var(--r-ink-3)}:root[data-theme=dark] .day-line-link{background:linear-gradient(transparent 82%, var(--r-marker) 82%, var(--r-marker) 94%, transparent 94%)}.quick-add-bar{border-color:var(--r-border-strong);box-shadow:none;border-radius:10px}.quick-add-bar:focus-within{border-color:var(--r-ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--r-marker) 45%, transparent)}.area-filter{background:var(--r-line-2);border-radius:8px}.area-filter button{border-radius:6px;font-weight:550}.area-filter button[aria-checked=true]{box-shadow:0 0 0 1px var(--r-line)}.panel,.stat{box-shadow:none}.panel-head h2{letter-spacing:-.01em;font-size:15px;font-weight:650}.board-card{box-shadow:none;border-radius:8px}.board-card-wrap:hover .board-card{border-color:var(--r-border-hover)}.focus-panel{border-color:var(--r-line)}.count{font-weight:600}.fu-row{border-radius:6px}.fu-row.overdue{background:0 0}.fu-why:before{font-family:var(--r-mono);letter-spacing:.06em;color:var(--r-ink-3);font-size:10.5px;font-weight:500}.due-chip,.priority-chip,.status-pill{border-radius:4px}.overdue-bar{border:0;border-radius:8px}.calendar-day.today .calendar-date{background:var(--r-marker);color:#161616}.calendar-day.today.overdue .calendar-date{color:#161616}.sheet-title{font-family:var(--r-serif);letter-spacing:-.02em;font-variation-settings:"opsz" 72;font-size:20px;font-weight:450}.toast{border-radius:8px}.greeting .stat-bit b,.greeting .stat-bit.warn b,.greeting .stat-bit.info b,.greeting .stat-bit.neutral b,.greeting .stat-bit.idea b,:root[data-theme=dark] .greeting .stat-bit.idea b{min-width:0;color:var(--r-ink);background:0 0;padding:0;font-weight:650}.greeting .stat-bit.danger b{color:var(--r-danger);background:0 0}.greeting .stat-bit.zero b{color:var(--r-ink-3);background:0 0}.greeting .stat-bit{gap:5px}.greeting .stat-bit+.stat-bit:before{content:"";background:var(--r-line);width:1px;height:12px;margin:0 12px 0 4px}.greeting .stat-bit:hover{color:var(--r-ink);text-decoration:underline;-webkit-text-decoration-color:var(--r-marker);text-decoration-color:var(--r-marker);text-underline-offset:4px;text-decoration-thickness:2px}.greeting .stat-bit:hover b{filter:none}.board-card-why:before{font-family:var(--r-mono);letter-spacing:.06em;color:var(--r-ink-3);font-size:10px;font-weight:500}.pro-badge{height:17px;color:var(--r-danger);font-family:var(--r-mono);letter-spacing:.08em;background:0 0;border:1px solid;border-radius:3px;padding:0 5px;font-size:9.5px;font-weight:500}.calendar-head h2{font-family:var(--r-serif);letter-spacing:-.02em;font-size:24px;font-weight:400}.kind-head h2{font-family:var(--r-serif);letter-spacing:-.02em;font-variation-settings:"opsz" 72;font-size:26px;font-weight:420}.primary-button:is(.habit-add,.date-add),:root[data-theme=dark] .primary-button:is(.habit-add,.date-add),:root[data-theme=dark] .kind-head .primary-button:is(.habit-add,.date-add){background:var(--r-ink);border-color:var(--r-ink);color:var(--r-bg)}.person-section{font-family:var(--r-mono);letter-spacing:.08em;font-size:11px;font-weight:500}.auth-card{box-shadow:none;border-radius:12px}.auth-brand .brand-name{font-family:var(--r-serif);letter-spacing:-.02em;font-size:21px;font-weight:500}.auth-brand .brand-my{color:var(--r-ink-3);font-style:italic;font-weight:340}.auth-card h1{font-family:var(--r-serif);letter-spacing:-.025em;font-size:30px;font-weight:400}.auth-field input,.auth-callout{border-radius:8px}:root[data-theme=dark] ::selection{color:#111}:root[data-theme=dark]{--primary:#ededed;--primary-foreground:#111}:root[data-theme=dark] :is(.admin-count,.join-link:hover,.weekday-toggles button[aria-pressed=true],.review-pick.on .review-pick-box),.admin-count,.join-link:hover,.weekday-toggles button[aria-pressed=true]{color:var(--r-bg)}.sched{--gutter:58px;border:1px solid var(--r-line);border-radius:var(--r-radius);background:var(--r-surface);max-height:min(78vh,900px);position:relative;overflow:auto}.sched-head,.sched-strip,.sched-body{grid-template-columns:var(--gutter) repeat(var(--days), minmax(128px, 1fr));min-width:calc(var(--gutter) + var(--days) * 128px);display:grid}.sched-head{z-index:5;background:var(--r-surface);border-bottom:1px solid var(--r-line);height:42px;position:sticky;top:0}.sched-corner{z-index:1;background:var(--r-surface);justify-content:center;align-items:center;gap:2px;display:flex;position:sticky;left:0}.sched-corner button{border:1px solid var(--r-line);width:22px;height:22px;color:var(--r-ink-2);background:var(--r-surface);border-radius:5px;place-items:center;display:grid}.sched-corner button:hover:not(:disabled){background:var(--r-line-2);color:var(--r-ink)}.sched-corner button:disabled{opacity:.35}.sched-day-head{border-left:1px solid var(--r-line-2);letter-spacing:.06em;text-transform:uppercase;color:var(--r-ink-3);text-align:left;align-items:center;gap:8px;padding:0 10px;font-size:12px;font-weight:650;display:flex}.sched-day-head .calendar-date{letter-spacing:0;color:var(--r-ink);font-size:14px}.sched-day-head.today{color:var(--r-ink)}.sched-day-head.today .calendar-date{background:var(--r-marker);color:#161616}.sched-day-head.selected{box-shadow:inset 0 -2px 0 var(--r-ink)}.sched-strip{z-index:4;border-bottom:1px solid var(--r-line);background:var(--r-surface-2);position:sticky;top:42px;box-shadow:0 6px 12px -10px #00000040}.sched-gutter-label{z-index:2;font-family:var(--r-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--r-ink-3);background:var(--r-surface-2);padding:10px 6px;font-size:9.5px;position:sticky;left:0}.sched-anytime{border-left:1px solid var(--r-line-2);flex-direction:column;gap:3px;min-width:0;padding:6px;display:flex}.sched-anytime.is-over{background:var(--r-brand-soft)}.sched-anytime>*{min-width:0}.sched-strip.expanded{position:static}.sched-more{color:var(--r-ink-3);align-self:flex-start;padding:2px 4px;font-size:12px;font-weight:600}.sched-more:hover{color:var(--r-ink);text-decoration:underline;-webkit-text-decoration-color:var(--r-marker);text-decoration-color:var(--r-marker)}.sched-body{position:relative}.sched-gutter{z-index:3;background:var(--r-surface);border-right:1px solid var(--r-line-2);position:sticky;left:0}.sched-gutter span{color:var(--r-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;position:absolute;right:8px;transform:translateY(-50%)}.sched-gutter span:first-child{transform:none}.sched-col{border-left:1px solid var(--r-line-2);min-width:0;position:relative}.sched-col.today{background:color-mix(in srgb, var(--r-marker) 5%, transparent)}.sched-col.past{background:color-mix(in srgb, var(--r-ink) 2.5%, transparent)}.sched-line{border-top:1px solid var(--r-line-2);height:0;position:absolute;left:0;right:0}.sched-free{border:0;border-left:2px dashed color-mix(in srgb, var(--r-ok) 55%, transparent);background:color-mix(in srgb, var(--r-ok) 4%, transparent);color:var(--r-ok);text-align:left;border-radius:0 6px 6px 0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1px;padding:5px 8px;font-size:12px;font-weight:700;display:flex;position:absolute;left:4px;right:4px;overflow:hidden}.sched-free small{opacity:.85;font-size:11px;font-weight:500}.sched-free{line-height:1.2}.sched-free:hover{background:color-mix(in srgb, var(--r-ok) 12%, transparent)}.sched-block{z-index:1;text-align:left;border-radius:6px;flex-direction:column;gap:1px;padding:4px 7px;font-size:12.5px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.sched-block.event{background:color-mix(in srgb, var(--ev,var(--r-ink-3)) 16%, var(--r-surface));border-left:3px solid var(--ev,var(--r-ink-3));color:var(--r-ink)}.sched-block.task{background:var(--r-surface);border:1px solid var(--r-border-strong);border-left:3px solid var(--r-ink);color:var(--r-ink)}.sched-block.task[data-priority="3"]{border-left-color:var(--r-danger)}.sched-block.task[data-priority="2"]{border-left-color:var(--r-warn)}.sched-block.task.projected{color:var(--r-ink-2);border-style:dashed}.sched-block.is-finished{opacity:.55}.sched-block:hover{filter:brightness(.97);z-index:2}.sched-title{text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:650;display:-webkit-box;overflow:hidden}.sched-title svg{vertical-align:-1px;display:inline}.sched-time{color:var(--r-ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.sched-block.tight{flex-direction:row;align-items:center;gap:6px;padding-top:1px;padding-bottom:1px}.sched-block.tight .sched-title{-webkit-line-clamp:1;flex:1;min-width:0}.sched-now{z-index:3;background:var(--r-danger);pointer-events:none;height:2px;position:absolute;left:-4px;right:0}.sched-now:before{content:"";background:var(--r-danger);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:0}.sched.narrow{--gutter:46px;max-height:none;overflow:visible}.sched.narrow .sched-head,.sched.narrow .sched-strip,.sched.narrow .sched-body{grid-template-columns:var(--gutter) minmax(0, 1fr);min-width:0}.sched.narrow .sched-head{display:none}.sched.narrow .sched-strip{border-radius:var(--r-radius) var(--r-radius) 0 0;position:static}.sched.narrow .sched-body{touch-action:pan-y}.sched.narrow .sched-gutter span{font-size:10px;right:5px}.sched.narrow .sched-block{font-size:13.5px}.sched-picker{grid-template-columns:repeat(7,minmax(0,1fr)) auto;align-items:center;gap:2px;margin-bottom:8px;display:grid}.sched-picker>button{color:var(--r-ink-3);text-transform:uppercase;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 0 8px;font-size:11px;font-weight:600;display:flex;position:relative}.sched-picker>button b{width:30px;height:30px;color:var(--r-ink);border-radius:50%;place-items:center;font-size:15px;font-weight:650;display:grid}.sched-picker>button.today b{box-shadow:inset 0 0 0 2px var(--r-marker)}.sched-picker>button[aria-selected=true] b{background:var(--r-ink);color:var(--r-bg);box-shadow:none}.sched-picker>button i{background:var(--r-ink-3);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px}.sched-picker-zoom{flex-direction:column;gap:3px;padding-left:4px;display:flex}.sched-picker-zoom button{border:1px solid var(--r-line);width:26px;height:22px;color:var(--r-ink-2);background:var(--r-surface);border-radius:5px;place-items:center;display:grid}.sched-picker-zoom button:disabled{opacity:.35}@media (max-width:700px){.calendar-nav{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.calendar-nav .calendar-views{flex:100%;order:-1;grid-template-columns:repeat(4,1fr);display:grid}.calendar-nav .calendar-views button{text-align:center;justify-content:center;align-items:center;width:100%;padding:0 4px;display:flex}.calendar-nav>.chip-button,.calendar-nav>.icon-button{height:36px}.calendar-nav>.icon-button:first-of-type{margin-left:auto}.calendar-nav>.icon-button{width:36px;padding:0}}.sched.narrow .sched-strip,.sched.narrow .sched-body{grid-template-columns:var(--gutter) minmax(0, 1fr)}.sched.narrow .sched-strip{grid-template-columns:minmax(0,1fr)}.sched.narrow .sched-gutter-label{display:none}:root[data-theme=dark] .segmented button[aria-selected=true],:root[data-theme=dark] .area-filter button[aria-checked=true]{color:var(--r-ink);background:#363636;box-shadow:0 1px #00000060}.free-picker{z-index:60;border:1px solid var(--r-line);background:var(--r-surface);width:min(320px,100vw - 24px);max-height:min(460px,70vh);box-shadow:var(--r-shadow-lg);border-radius:12px;flex-direction:column;padding:12px;display:flex}.free-picker-title{color:var(--r-ink);flex-direction:column;gap:2px;margin-bottom:10px;font-size:14.5px;font-weight:650;display:flex}.free-picker-title small{color:var(--r-ink-3);font-size:12px;font-weight:500}.free-picker-search{border:1px solid var(--r-border-strong);background:var(--r-surface-2);height:36px;color:var(--r-ink);font:inherit;border-radius:8px;margin-bottom:8px;padding:0 10px;font-size:14px}.free-picker-list{flex:1;min-height:0;margin:0 -4px;overflow-y:auto}.free-picker-group{font-family:var(--r-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--r-ink-3);padding:8px 6px 4px;font-size:10.5px;font-weight:500}.free-picker-list button{width:100%;color:var(--r-ink);text-align:left;border-left:3px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:8px 6px;font-size:14px;display:flex}.free-picker-list button span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.free-picker-list button small{color:var(--r-ink-3);flex:none;font-size:12px}.free-picker-list button:hover{background:var(--r-line-2)}.free-picker-list button[data-priority="3"]{border-left-color:var(--r-danger)}.free-picker-list button[data-priority="2"]{border-left-color:var(--r-warn)}.free-picker-empty{color:var(--r-ink-3);padding:14px 6px;font-size:13.5px}.free-picker-new{border-top:1px solid var(--r-line-2);color:var(--r-ink);align-items:center;gap:6px;margin-top:8px;padding:9px 6px 2px;font-size:13.5px;font-weight:600;display:flex}.weather-now{border-left:1px solid var(--r-line);color:var(--r-ink-2);white-space:nowrap;align-items:center;gap:5px;margin-left:10px;padding-left:12px;display:inline-flex}.weather-now svg{color:var(--r-ink-3)}.weather-now b{color:var(--r-ink);font-variant-numeric:tabular-nums;font-weight:650}@media (max-width:640px){.weather-now{border-left:0;margin-left:0;padding-left:0}}.free-picker.is-sheet{width:100%;max-height:72vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-bottom:0;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0}.free-picker.is-sheet .free-picker-list button{padding:11px 6px;font-size:15px}.waiting-person+.waiting-person{border-top:1px solid var(--r-line-2);margin-top:14px;padding-top:12px}.waiting-who{color:var(--r-ink);align-items:center;gap:8px;margin-bottom:4px;font-size:13.5px;font-weight:650;display:flex}.waiting-panel ul{grid-template-columns:minmax(0,1fr);display:grid}.waiting-person{min-width:0}.waiting-panel li{align-items:center;gap:10px;padding:7px 0 7px 30px;display:flex}.waiting-open{text-align:left;flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.waiting-title{text-overflow:ellipsis;white-space:nowrap;color:var(--r-ink);font-size:14.5px;overflow:hidden}.waiting-open:hover .waiting-title{text-decoration:underline;-webkit-text-decoration-color:var(--r-line);text-decoration-color:var(--r-line);text-underline-offset:3px}.waiting-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--r-ink-3);font-size:12.5px;overflow:hidden}.waiting-meta.late{color:var(--r-danger)}.waiting-nudge{flex:none;gap:5px;height:28px;padding:0 10px;font-size:12.5px}.waiting-nudged{color:var(--r-ink-3);flex:none;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.waiting-more{color:var(--r-ink-3);font-size:12.5px}.team-meta{color:var(--r-ink-3);align-items:center;gap:10px;margin:-4px 0 8px;font-size:13.5px;display:flex}.team-role{border:1px solid var(--r-line);color:var(--r-ink-2);vertical-align:1px;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:600}.team-late{color:var(--r-danger);font-weight:600}.team-role-pick{border:1px solid var(--r-border-strong);background:var(--r-surface);height:30px;color:var(--r-ink);font:inherit;border-radius:7px;padding:0 6px;font-size:13px}.team-areas{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.team-areas li{border:1px solid var(--r-line);height:32px;color:var(--r-ink);border-radius:999px;align-items:center;gap:2px;padding:0 4px 0 12px;font-size:14px;font-weight:550;display:inline-flex}.team-areas .icon-button{width:26px;height:26px}.team-sheet .sheet-subhead:first-of-type{margin-top:12px}.team-foot{border-top:1px solid var(--r-line-2);color:var(--r-ink-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:14px;font-size:13.5px;display:flex}.team-foot>span{flex:100%}.danger-button{background:var(--r-danger);color:#fff;border-radius:8px;height:34px;padding:0 14px;font-size:13.5px;font-weight:600}.team-areas li:not(:has(button)){padding-right:12px}.team-plan{border:1px solid var(--r-line);background:var(--r-surface-2);border-radius:12px;margin:6px 0 4px;padding:14px}.team-plan p{color:var(--r-ink-2);flex-direction:column;gap:3px;font-size:13.5px;line-height:1.45;display:flex}.team-plan p b{color:var(--r-ink);font-size:15px}.team-plan-prices{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.team-plan-prices a{text-decoration:none}.team-plan.paid{color:var(--r-ink-2);align-items:center;gap:10px;font-size:13.5px;display:flex}.team-plan.paid svg{color:var(--r-ink);flex:none}.team-plan.paid span{flex:1}.team-plan.paid b{color:var(--r-ink)}
