:root{--ground:#f3f5f0;--surface:#fff;--soft:#eef1eb;--line:#e2e6df;--ink:#17211b;--muted:#5b665e;--accent:#93d6a6;--good:#1e5a34;--bad:#8c2b24;--good-bg:#bde7c8;--bad-bg:#ffc7c1;--bad-line:#ff9f95;--track:#d5dad2;--display:"Bricolage Grotesque", system-ui, sans-serif;--body:"DM Sans", system-ui, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:pan-x pan-y;overscroll-behavior:none;margin:0}button,a,input,textarea{touch-action:manipulation}#root{justify-content:center;min-height:100dvh;display:flex}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}h1,h2,p{margin:0}code{font-size:.9em}.app{width:100%;max-width:440px}.frame{height:100dvh;position:relative;overflow:clip}.screen{flex-direction:column;width:100%;max-width:440px;height:100dvh;display:flex;overflow:hidden}.screen-padded{padding:calc(var(--safe-top) + 48px) 16px calc(var(--safe-bottom) + 28px);gap:20px;overflow-y:auto}.stack-2,.stack-6,.stack-8,.stack-4,.stack-10,.stack-12,.stack-18{flex-direction:column;display:flex}.stack-2{gap:2px}.stack-6{gap:6px}.stack-8{gap:8px}.stack-10{gap:10px}.stack-4{gap:4px}.stack-12{gap:12px}.stack-18{gap:18px}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.row-between.baseline{align-items:baseline}.row-between.end{align-items:flex-end}.grow{flex-grow:1}.display{font-family:var(--display);letter-spacing:-.02em;font-size:38px;font-weight:800;line-height:1.05}.title{font-family:var(--display);letter-spacing:-.02em;font-size:24px;font-weight:800;line-height:1.1}.eyebrow{color:var(--muted);font-size:15px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.body{font-size:16px;line-height:1.45}.center{text-align:center}.num{font-variant-numeric:tabular-nums}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.press{transition:transform .12s}.press:active:not(:disabled){transform:scale(.97)}.btn{border:none;border-radius:28px;justify-content:center;align-items:center;gap:10px;height:56px;font-size:17px;font-weight:700;transition:opacity .15s,transform .12s;display:flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.4}.btn-dark{background:var(--ink);color:#fff}.btn-soft{background:var(--ground);color:var(--ink)}.btn-white{background:var(--surface);color:var(--ink)}.btn-danger{background:var(--bad);color:#fff}.btn-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.btn-row.single{grid-template-columns:1fr}.icon-btn,.round-btn{background:var(--ground);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.round-btn{background:var(--surface);box-shadow:0 1px 2px #17211b14}.pill-btn{background:var(--surface);border:none;border-radius:22px;flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 16px;font-size:15px;font-weight:700;display:flex;box-shadow:0 1px 2px #17211b14}.danger-text{color:var(--bad)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:14px;font-weight:600}.field input,.field textarea{background:var(--ground);border:2px solid #0000;border-radius:18px;outline:none;height:54px;padding:0 16px;font-size:16px}.field textarea{resize:none;border-radius:20px;height:96px;padding:14px 16px;line-height:1.4}.field input:focus,.field textarea:focus{border-color:var(--accent)}.screen-padded>.stack-12 .field input{background:var(--surface)}.password-input{flex-grow:1;min-width:0;display:flex;position:relative}.password-input input{flex-grow:1;min-width:0;padding-right:52px}.password-toggle{width:44px;height:44px;color:var(--muted);background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.input-row{gap:8px;display:flex}.input-row input{flex-grow:1;min-width:0}.input-row .btn{border-radius:18px;height:54px;padding:0 20px}.link-btn{min-height:44px;color:var(--muted);text-underline-offset:3px;background:0 0;border:none;align-self:center;padding:0 12px;font-size:15px;font-weight:600;text-decoration:underline}.account-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.account-card-icon{background:var(--good-bg);width:40px;height:40px;color:var(--good);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.account-card p{flex-direction:column;gap:2px;margin:0;display:flex}.account-card strong{font-size:15px}.form-error{color:var(--bad);font-weight:600}.form-warning{border:1px solid var(--bad-line);background:color-mix(in srgb, var(--bad-bg) 45%, var(--surface));color:var(--bad);border-radius:18px;flex-direction:column;gap:4px;padding:14px 16px 6px;font-size:15px;display:flex}.form-warning .link-btn{color:var(--bad);align-self:flex-start;padding:0}.signin-hero{flex-direction:column;gap:14px;margin-bottom:12px;display:flex}.signin-logo{background:var(--accent);color:#fff;border-radius:22px;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.scrim{background:#17211b73;animation:.2s fade-in;position:absolute;inset:0}.sheet-scrim{z-index:20}.sheet{max-height:calc(100% - var(--safe-top) - 24px);background:var(--surface);padding:10px 16px calc(var(--safe-bottom) + 28px);z-index:21;overscroll-behavior:contain;border-radius:32px 32px 0 0;outline:none;flex-direction:column;gap:16px;animation:.34s cubic-bezier(.2,.9,.25,1) sheet-up;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -12px 40px #17211b2e}.sheet.keyboard-open{height:calc(100% - 12px);max-height:none;padding-bottom:20px}.sheet h2{font-family:var(--display);letter-spacing:-.02em;font-size:28px;font-weight:800}.grabber{background:var(--track);border-radius:3px;align-self:center;width:40px;height:5px}.sheet-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-heading{flex-direction:column;align-items:flex-start;gap:6px;display:flex}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.username-input{background:var(--ground);border:2px solid #0000;border-radius:18px;align-items:center;padding-left:16px;display:flex}.username-input:focus-within{border-color:var(--accent)}.username-input>span{color:var(--muted);font-size:16px;font-weight:700}.field .username-input input{background:0 0;border:none;flex-grow:1;min-width:0;height:50px;padding-left:2px}.screen-padded>.stack-12 .username-input{background:var(--surface)}.screen-padded>.stack-12 .field .username-input input{background:0 0}.field-hint{color:var(--muted);font-size:13px}.field-hint.bad{color:var(--bad);font-weight:600}.field-hint.good{color:var(--good);font-weight:600}.settings-group{background:var(--ground);border-radius:20px;flex-direction:column;padding:4px 14px;display:flex}.settings-group .group-title{padding:12px 0 4px}.group-title{color:var(--muted);margin:0;font-size:14px;font-weight:700}.switch-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.switch-row+.switch-row{border-top:1px solid var(--line)}.switch-text{flex-direction:column;gap:2px;min-width:0;display:flex}.switch-label{align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.switch-row.locked .switch-label{color:var(--muted)}.switch{background:var(--track);border:none;border-radius:15px;flex-shrink:0;width:50px;height:30px;transition:background .2s;position:relative}.switch.on{background:var(--good)}.switch:disabled{opacity:.4}.switch-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #17211b40}.switch.on .switch-knob{transform:translate(20px)}.avatar{letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex;position:relative}.avatar-live{min-width:10px;min-height:10px;box-shadow:0 0 0 2px var(--surface);background:#3fb565;border-radius:50%;position:absolute;bottom:0;right:0}:root{--ground:#f4f3f8;--soft:#eeedf4;--line:#e5e3ec;--ink:#1b1a24;--muted:#64626f;--accent:#a99cf0;--accent-ink:#4b3aa8;--good:#2c6233;--bad:#a3271d;--good-bg:#dcefdc;--bad-bg:#ffd9d4;--bad-line:#f0796b;--track:#dcdae5;--a-bg:#ffe0dc;--a-ink:#a3271d;--a-ring:#ec6a5c;--b-bg:#ffe9cc;--b-ink:#85480c;--b-ring:#ee9f3e;--c-bg:#dde9fb;--c-ink:#1f4f8a;--c-ring:#6a9be0;--shadow-card:0 1px 2px #1b1a240d, 0 4px 16px -8px #1b1a241f}.prio-A{--p-bg:var(--a-bg);--p-ink:var(--a-ink);--p-ring:var(--a-ring)}.prio-B{--p-bg:var(--b-bg);--p-ink:var(--b-ink);--p-ring:var(--b-ring)}.prio-C{--p-bg:var(--c-bg);--p-ink:var(--c-ink);--p-ring:var(--c-ring)}.card{background:var(--surface);box-shadow:var(--shadow-card);border-radius:24px;padding:16px}.card-label{color:var(--muted);font-size:14px;font-weight:600}.section-title{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:19px;font-weight:700}.section-title.overdue{color:var(--a-ink)}.section-head{padding:0 4px}.row-gap{align-items:center;gap:12px;min-width:0;display:flex}.row-gap.tight{gap:6px}.project-badge{font-family:var(--display);flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.avatar-stack{flex-shrink:0;align-items:center;display:inline-flex}.avatar-stack-item{box-shadow:0 0 0 2px var(--surface);border-radius:50%;display:inline-flex}.avatar-stack-item+.avatar-stack-item{margin-left:-8px}.avatar-more{background:var(--soft);color:var(--muted);justify-content:center;align-items:center;font-size:11px;font-weight:800}.chip{background:var(--soft);height:36px;color:var(--ink);white-space:nowrap;border:none;border-radius:18px;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:700;transition:background .15s,color .15s,transform .12s;display:inline-flex;position:relative}.chip:active{transform:scale(.96)}.chip.on{background:var(--ink);color:#fff}.board-controls .chip{background:var(--surface);box-shadow:0 1px 2px #1b1a240f}.board-controls .chip.on{background:var(--ink)}.segmented{background:var(--soft);border-radius:20px;gap:2px;padding:3px;display:inline-flex}.segmented button{height:34px;color:var(--muted);background:0 0;border:none;border-radius:17px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1b1a241f}.icon-btn.small{width:36px;height:36px}.pill-btn.soft{background:var(--ground);box-shadow:none;height:36px;padding:0 14px;font-size:14px}.pill-btn.dark{background:var(--ink);color:#fff;box-shadow:none;height:36px;padding:0 16px;font-size:14px}.pill-btn:disabled{opacity:.5}.small-btn{height:46px;font-size:16px}.skeleton{background:linear-gradient(90deg, var(--soft) 0%, #f8f7fb 50%, var(--soft) 100%);background-size:200% 100%;border-radius:20px;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.home{padding-top:calc(var(--safe-top) + 32px);gap:22px}.home .display{font-size:34px}.home-header{align-items:flex-start}.avatar-btn{padding:0;overflow:hidden}.my-card{text-align:left;color:var(--ink);background:linear-gradient(135deg,#fff 0%,#f1edff 100%);border:none;align-items:flex-end;gap:12px;padding:18px;display:flex}.my-count{font-family:var(--display);letter-spacing:-.02em;font-size:44px;font-weight:800;line-height:1}.my-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.status-chip{border-radius:13px;align-items:center;height:26px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.status-chip.overdue{background:var(--a-bg);color:var(--a-ink)}.status-chip.today{background:var(--b-bg);color:var(--b-ink)}.status-chip.calm{background:var(--good-bg);color:var(--good)}.my-go{background:var(--ink);color:#fff;border-radius:19px;flex-shrink:0;align-items:center;gap:2px;height:38px;padding:0 10px 0 14px;font-size:14px;font-weight:700;display:inline-flex}.invite-card{flex-direction:column;gap:14px;display:flex}.invite-card strong{font-size:16px}.project-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.project-card{text-align:left;width:100%;color:var(--ink);border:none;align-items:center;gap:14px;display:flex}.project-info{flex-direction:column;flex-grow:1;gap:4px;min-width:0;display:flex}.project-name{font-size:17px;font-weight:800}.project-stats{color:var(--muted);flex-wrap:wrap;gap:4px 10px;font-size:13px;font-weight:600;display:flex}.stat.overdue{color:var(--a-ink)}.stat.today{color:var(--b-ink)}.progress{background:var(--soft);border-radius:3px;height:5px;margin-top:4px;display:block;overflow:hidden}.progress>span{border-radius:3px;height:100%;transition:width .4s;display:block;background:currentColor!important}.empty-card{flex-direction:column;gap:12px;padding:22px 20px;display:flex}.screen-layer{background:var(--ground);position:absolute;inset:0}.swiping{will-change:transform;box-shadow:-3px 0 14px #1b1a2417}.swipe-dim{background:rgba(27, 26, 36, var(--dim));pointer-events:none;position:absolute;inset:0}.board-header{padding:calc(var(--safe-top) + 14px) 16px 10px;align-items:center;gap:10px;display:flex}.board-heading{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.board-heading .title{margin:0;font-size:21px}.board-name{min-width:0}.board-subtitle{color:var(--muted);font-size:13px;font-weight:600}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.people-btn{background:var(--surface);border:none;border-radius:22px;align-items:center;gap:6px;height:44px;padding:0 14px 0 12px;font-size:15px;font-weight:800;display:flex;box-shadow:0 1px 2px #1b1a2414}.board-controls{justify-content:space-between;align-items:center;gap:8px;padding:4px 16px 12px;display:flex}.board-scroll{scrollbar-width:none;overscroll-behavior:contain;flex-direction:column;flex:auto;gap:20px;min-height:0;padding:2px 16px 0;display:flex;overflow-y:auto}.board-scroll::-webkit-scrollbar{display:none}.composer-spacer{height:calc(var(--safe-bottom) + 84px);flex-shrink:0}.composer{z-index:5;padding:24px 16px calc(var(--safe-bottom) + 14px);background:linear-gradient(to bottom, #f4f3f800, var(--ground) 45%);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.composer-btn{pointer-events:auto;background:var(--surface);color:#8f8d9a;text-align:left;border:none;border-radius:28px;align-items:center;width:100%;height:56px;padding:0 22px;font-size:17px;font-weight:600;display:flex;box-shadow:0 10px 30px -10px #1b1a2459,0 1px 2px #1b1a2414}.task-card{background:var(--surface);box-shadow:var(--shadow-card);border-radius:22px;margin:0;padding:0 14px;list-style:none}.task-row{align-items:center;gap:12px;min-height:64px;animation:.25s backwards row-in;display:flex}.task-row+.task-row{border-top:1px solid var(--line)}.check{border:2.5px solid var(--p-ring);color:#0000;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .18s,color .18s,transform .15s;display:flex;box-shadow:0 0 0 8px #0000}.check:hover{background:var(--p-bg)}.check:active{transform:scale(.88)}.task-row.done .check{background:var(--p-ring);color:#fff;animation:.3s pop}.task-main{text-align:left;background:0 0;border:none;flex-direction:column;flex-grow:1;gap:5px;min-width:0;padding:11px 0;display:flex}.task-title{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.3;transition:color .2s}.task-row.done .task-title{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1.5px}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.prio-tag{background:var(--p-bg);min-width:20px;height:20px;color:var(--p-ink);border-radius:6px;justify-content:center;align-items:center;padding:0 5px;font-size:12px;font-weight:800;display:inline-flex}.task-row.done .prio-tag{background:var(--soft);color:var(--muted)}.due{background:var(--soft);border-radius:6px;align-items:center;gap:4px;height:20px;padding:0 7px 0 5px;display:inline-flex}.due-overdue{background:var(--a-bg);color:var(--a-ink)}.due-today{background:var(--b-bg);color:var(--b-ink)}.project-tag{align-items:center;gap:5px;max-width:150px;display:inline-flex}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;background:currentColor!important}.has-note{display:inline-flex}.subtask-count{background:var(--soft);font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:3px;height:20px;padding:0 7px 0 5px;display:inline-flex}.subtask-count.all{background:var(--good-bg);color:var(--good)}.task-card .task-row{background:var(--surface);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:relative}.task-row.lifted{z-index:2;background:var(--surface);box-shadow:0 18px 40px -12px #1b1a2480, 0 0 0 2px var(--accent);border-radius:18px}.task-card.reordering .task-row:not(.lifted){opacity:.75}.task-card.reordering .task-row{border-top-color:#0000}.task-assignee{flex-shrink:0;display:inline-flex}.all-clear{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 24px 24px;display:flex}.all-clear-icon{background:var(--good-bg);width:64px;height:64px;color:var(--good);border-radius:22px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.undated-note,.add-row{background:var(--soft);height:40px;color:var(--muted);border:none;border-radius:20px;align-self:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.add-row{border:2px dashed var(--track);background:0 0;border-radius:18px;justify-content:center;align-self:stretch;height:48px}.calendar{flex-direction:column;gap:18px;display:flex}.calendar-card{padding:14px 10px 10px}.calendar-head{justify-content:space-between;align-items:center;padding:0 4px 8px 8px;display:flex}.calendar-month{font-family:var(--display);letter-spacing:-.01em;font-size:20px;font-weight:800}.calendar-grid{touch-action:pan-y;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:2px;display:grid}.calendar-weekday{text-align:center;color:var(--muted);padding:4px 0 6px;font-size:12px;font-weight:700}.calendar-day{background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:4px;height:50px;padding:6px 0 0;transition:background .15s;display:flex}.calendar-num{font-variant-numeric:tabular-nums;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;font-weight:700;display:flex}.calendar-day.outside .calendar-num{color:#b2b0bd}.calendar-day.today .calendar-num{background:var(--accent);color:#fff}.calendar-day.overdue .calendar-num{color:var(--a-ink)}.calendar-day.today.overdue .calendar-num{color:#fff}.calendar-day.selected{background:var(--ink)}.calendar-day.selected .calendar-num{color:#fff}.calendar-day.selected.today .calendar-num{background:var(--accent)}.calendar-dots{align-items:center;gap:3px;height:6px;display:flex}.calendar-dot{background:var(--p-ring);border-radius:50%;width:6px;height:6px}.calendar-plus{color:var(--muted);font-size:10px;font-weight:800;line-height:6px}.calendar-day.selected .calendar-plus{color:#fff}.task-form{flex-direction:column;gap:16px;display:flex}.title-box{background:var(--ground);border:2px solid #0000;border-radius:20px;flex-direction:column;transition:border-color .15s;display:flex}.title-box:focus-within{border-color:var(--accent)}.title-input{background:0 0;border:none;outline:none;height:58px;padding:0 16px;font-size:19px;font-weight:700}.title-input::placeholder{color:#9b99a6;font-weight:600}.details-input{border:none;border-top:1px solid var(--line);resize:none;background:0 0;outline:none;min-height:48px;margin:0 16px 12px;padding:10px 0 0;font-size:15px;line-height:1.45}.subtasks{border-top:1px solid var(--line);flex-direction:column;margin:0 16px 10px;padding:4px 0 0;list-style:none;display:flex}.subtask{align-items:center;gap:10px;min-height:40px;display:flex}.subtask-check{border:2px solid var(--track);color:#0000;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.subtask.done .subtask-check{background:var(--good);border-color:var(--good);color:#fff}.subtask-new .subtask-check{border-style:dashed}.subtask input{background:0 0;border:none;outline:none;flex-grow:1;min-width:0;height:36px;font-size:15px}.subtask-new input::placeholder{color:#9b99a6}.subtask.done .subtask-title{color:var(--muted);text-decoration:line-through}.subtask-remove{width:32px;height:32px;color:var(--muted);background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.field-group{flex-direction:column;gap:8px;min-width:0;display:flex}.field-label{color:var(--muted);padding-left:4px;font-size:14px;font-weight:700}.chip-scroll{scrollbar-width:none;gap:8px;margin:0 -16px;padding:2px 16px;display:flex;overflow-x:auto}.chip-scroll::-webkit-scrollbar{display:none}.person-chip{padding-left:5px}.person-chip .avatar{box-shadow:0 0 0 2px var(--surface)}.chip-wrap{flex-wrap:wrap;gap:8px;display:flex}.chip.open:not(.on){background:var(--track)}.due-note{padding-left:4px}.date-picker{background:var(--ground);border-radius:20px;padding:10px 8px 8px;animation:.15s fade-in}.date-picker-head{justify-content:space-between;align-items:center;padding:0 2px 4px 8px;display:flex}.date-picker-head strong{font-family:var(--display);font-size:17px;font-weight:800}.date-picker-head .icon-btn{background:var(--surface)}.date-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:2px;display:grid}.date-picker-day{font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:12px;height:40px;font-size:15px;font-weight:700}.date-picker-day.outside{color:#b2b0bd}.date-picker-day.today{color:var(--accent-ink);box-shadow:inset 0 0 0 2px var(--accent)}.date-picker-day.on{background:var(--ink);color:#fff;box-shadow:none}.priority-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.priority-opt{background:var(--ground);height:62px;color:var(--muted);border:2px solid #0000;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:1px;transition:background .15s,border-color .15s,transform .12s;display:flex}.priority-opt:active{transform:scale(.97)}.priority-opt strong{font-family:var(--display);color:var(--p-ink);font-size:20px;line-height:1.1}.priority-opt span{font-size:12px;font-weight:700}.priority-opt.on{background:var(--p-bg);border-color:var(--p-ring);color:var(--p-ink)}.done-toggle{background:var(--ground);height:38px;color:var(--ink);border:none;border-radius:19px;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:14px;font-weight:700;display:inline-flex}.done-toggle.on{background:var(--good-bg);color:var(--good)}.task-history{padding:0 4px}.btn svg{flex-shrink:0}.project-preview{align-items:flex-end;gap:14px;display:flex}.project-preview .field input:disabled{color:var(--ink);opacity:1}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch-btn{border:2px solid #0000;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .12s,border-color .15s;display:flex}.swatch-btn.on{border-color:currentColor}.swatch-btn:active{transform:scale(.94)}.danger-zone{padding:4px 14px}.settings-action{text-align:left;background:0 0;border:none;min-height:52px;padding:0;font-size:16px;font-weight:700}.settings-action+.settings-action{border-top:1px solid var(--line)}.confirm-box{padding:12px 0}.search-input{background:var(--ground);height:54px;color:var(--muted);border:2px solid #0000;border-radius:18px;align-items:center;gap:10px;padding:0 16px;display:flex}.search-input:focus-within{border-color:var(--accent)}.search-input input{min-width:0;height:100%;color:var(--ink);background:0 0;border:none;outline:none;flex-grow:1;font-size:16px}.person-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.person-list>li+li{border-top:1px solid var(--line)}.person-row{align-items:center;gap:12px;padding:10px 0;display:flex}.person-who{flex-direction:column;flex-grow:1;gap:1px;min-width:0;display:flex}.person-name{font-size:16px;font-weight:800}.person-state{flex-shrink:0;font-weight:700}.person-actions{justify-content:flex-end;gap:8px;padding:0 0 12px;display:flex}.role-tag{height:24px;color:var(--accent-ink);background:#e8e3fc;border-radius:12px;flex-shrink:0;align-items:center;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.search-empty{padding:12px 8px}.toast{top:calc(var(--safe-top) + 12px);z-index:30;background:var(--bad);color:#fff;border-radius:18px;padding:14px 16px;font-weight:600;animation:.2s fade-in;position:absolute;left:16px;right:16px;box-shadow:0 12px 30px #1b1a2440}.notice{left:16px;right:16px;bottom:calc(var(--safe-bottom) + 86px);z-index:15;background:var(--ink);color:#fff;border-radius:20px;align-items:center;gap:8px;min-height:52px;padding:6px 6px 6px 18px;font-size:15px;font-weight:600;animation:.28s cubic-bezier(.2,.9,.25,1) notice-in;display:flex;position:absolute;box-shadow:0 14px 34px -10px #1b1a248c}.notice-action{color:#fff;background:#ffffff24;border:none;border-radius:14px;flex-shrink:0;height:40px;padding:0 14px;font-size:15px;font-weight:800}.notice-close{color:#ffffffb3;background:0 0;width:40px;height:40px}@keyframes row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes notice-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (width>=700px){.app,.screen{max-width:560px}}.c-violet{color:#4b3aa8;background:#e8e3fc}.c-blue{color:#1f4f8a;background:#dde9fb}.c-teal{color:#1d5c55;background:#d5efeb}.c-green{color:#2c6233;background:#dcefdc}.c-amber{color:#7d4a0e;background:#fbe8c9}.c-coral{color:#9a3324;background:#fde0d8}.c-pink{color:#8e2759;background:#fadcea}.c-slate{color:#3b4553;background:#e3e6eb}
