:root{--color-bg: #fafbfa;--color-surface: #f1f3f1;--color-text: #1d201f;--color-accent: #4c7c9b;--color-accent-2: #6f9c86;--color-divider: rgba(29, 32, 31, .12);--color-neutral-100: #ffffff;--color-neutral-200: #f3f5f3;--color-neutral-300: #e5e8e6;--color-neutral-400: #cbd0cd;--color-neutral-500: #a8aeab;--color-neutral-600: #7f8683;--color-neutral-700: #5e6563;--color-neutral-800: #414644;--color-neutral-900: #292d2b;--color-accent-100: #f0f6fa;--color-accent-200: #dbebf4;--color-accent-300: #b6d6e9;--color-accent-400: #87b8d6;--color-accent-500: #4c7c9b;--color-accent-600: #3d6a86;--color-accent-700: #2f5468;--color-accent-800: #22404f;--color-accent-900: #172c37;--color-accent-2-100: #eff7f2;--color-accent-2-200: #dcebe2;--color-accent-2-300: #bcd8c7;--color-accent-2-400: #93bfa7;--color-accent-2-500: #6f9c86;--color-accent-2-600: #5a836f;--color-accent-2-700: #456657;--color-accent-2-800: #314b3f;--color-accent-2-900: #20322a;--color-danger: #a5484a;--color-danger-tint: #f7ecec;--color-warn: #b07d3a;--color-warn-tint: #f7efe2;--color-warn-ink: #7a5522;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 28px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(29, 32, 31, .07);--shadow-md: 0 4px 14px rgba(29, 32, 31, .08);--shadow-lg: 0 14px 36px rgba(29, 32, 31, .1);--font-heading: "Caprasimo", Georgia, "Times New Roman", serif;--font-body: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}input,textarea,select{outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--color-neutral-500)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}h1,h2,h3{font-family:var(--font-heading);font-weight:400;margin:0}.shell{max-width:1320px;margin:0 auto;padding:36px 28px 72px;display:flex;flex-direction:column;gap:22px}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.kicker{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-600);font-weight:600}.title{font-family:var(--font-heading);font-size:36px;margin-top:6px;line-height:1.1}.top-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pillbar{display:flex;padding:5px;border-radius:var(--radius-pill);background:var(--color-neutral-200);gap:2px}.pill{font-family:var(--font-heading);font-size:13.5px;padding:9px 20px;border-radius:var(--radius-pill);color:var(--color-neutral-700);background:transparent;transition:background .14s ease,color .14s ease;white-space:nowrap}.pill:hover{background:var(--color-neutral-300)}.pill[aria-pressed=true],.pill.is-active{background:var(--color-accent);color:var(--color-neutral-100)}.pill[aria-pressed=true]:hover,.pill.is-active:hover{background:var(--color-accent-600)}.pill.sm{font-size:12.5px;padding:8px 16px}.body-row{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.main-col{flex:1 1 660px;min-width:0}.side-col{flex:0 1 308px;min-width:276px;position:sticky;top:20px}.card{background:var(--color-neutral-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:26px;display:flex;flex-direction:column;gap:20px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.h2{font-family:var(--font-heading);font-size:26px}.sub{font-size:13.5px;color:var(--color-neutral-700)}.hint{font-size:12.5px;color:var(--color-neutral-600)}.ring{width:64px;height:64px;border-radius:var(--radius-pill);position:relative;flex:none}.ring-inner{position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:var(--radius-pill);background:var(--color-neutral-100);display:grid;place-items:center;font-family:var(--font-heading);font-size:14px;color:var(--color-accent-2-700)}.tasklist{display:flex;flex-direction:column;gap:9px;min-height:120px}.row{display:flex;align-items:center;gap:13px;padding:13px 16px;border-radius:var(--radius-md);background:var(--color-bg);outline:1px solid var(--color-divider);outline-offset:-1px;text-align:left;width:100%;transition:outline-color .12s ease,background .12s ease}.row:hover{background:var(--color-neutral-200)}.row.is-selected{outline:2px solid var(--color-accent);outline-offset:-2px}.check{flex:none;border-radius:var(--radius-pill);border:2.75px solid var(--color-accent-2-500);background:transparent;color:transparent;display:grid;place-items:center;font-size:14px;line-height:1;transition:background .14s ease}.check.lg{width:26px;height:26px}.check.md{width:24px;height:24px;font-size:13px}.check.sm{width:20px;height:20px;font-size:11px;border-color:var(--color-accent-2-400)}.check.is-done{background:var(--color-accent-2-500);color:var(--color-neutral-100)}.check.is-doing{border-color:var(--color-accent-500);color:var(--color-accent-500);font-size:10px}.check.is-waiting{border-color:var(--color-warn);color:var(--color-warn);font-size:10px}.check:hover{border-color:var(--color-accent-2-600)}.priobar{width:16px;height:5px;border-radius:var(--radius-pill);flex:none}.priobar.thin{height:4px}.row-text{flex:1;min-width:120px;display:flex;flex-direction:column;gap:2px}.row-title{font-size:15px;overflow-wrap:anywhere}.row-title.md{font-size:14.5px}.row-meta{font-size:12px;color:var(--color-neutral-600)}.is-done-text{color:var(--color-neutral-500);text-decoration:line-through}.tag{padding:4px 11px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;white-space:nowrap;flex:none}.delegated{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-warn-tint);color:var(--color-warn-ink);font-size:11px;font-weight:600;white-space:nowrap;flex:none;max-width:140px;overflow:hidden;text-overflow:ellipsis}.statuschip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;white-space:nowrap;flex:none;transition:filter .14s ease}.statuschip:hover{filter:brightness(.95)}.trashbtn{width:26px;height:26px;flex:none;border-radius:var(--radius-pill);color:var(--color-neutral-500);display:grid;place-items:center;opacity:0;transition:opacity .12s ease,background .14s ease,color .14s ease}.row:hover .trashbtn,.drawer-row:hover .trashbtn,.trashbtn:focus-visible{opacity:1}.trashbtn:hover{background:var(--color-danger-tint);color:var(--color-danger)}@media(hover:none){.trashbtn{opacity:1}}.dot{width:8px;height:8px;border-radius:var(--radius-pill);flex:none}.dot.sm{width:7px;height:7px}.dot.lg{width:10px;height:10px}.time{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--color-neutral-600);min-width:42px;text-align:right;flex:none}.rowdate{font-size:12px;color:var(--color-neutral-600);min-width:74px;text-align:right;flex:none}.rowdate.is-late{color:var(--color-danger);font-weight:600}.empty{padding:28px 16px;background:var(--color-bg);border-radius:var(--radius-md);font-size:14.5px;color:var(--color-neutral-600);text-align:center}.colorpicker{position:relative;display:inline-flex;flex:none}.swatch{border-radius:var(--radius-pill);border:2px solid var(--color-neutral-100);box-shadow:0 0 0 1px var(--color-divider);transition:transform .12s ease,box-shadow .12s ease}.swatch.sm{width:16px;height:16px}.swatch.md{width:22px;height:22px}.swatch:hover{transform:scale(1.12)}.swatch.is-picked{box-shadow:0 0 0 2px var(--color-text)}.swatch.is-inherited{border-style:dashed;border-color:var(--color-neutral-400)}.palette{position:absolute;top:calc(100% + 8px);left:0;z-index:30;display:grid;grid-template-columns:repeat(6,auto);gap:8px;padding:12px;border-radius:var(--radius-md);background:var(--color-neutral-100);box-shadow:var(--shadow-lg);border:1px solid var(--color-divider)}.palette:has(>:nth-child(12)){grid-template-columns:repeat(6,auto)}.panel .palette{left:auto;right:0}.addbtn{display:flex;align-items:center;gap:8px;width:100%;padding:11px 16px;border-radius:var(--radius-md);border:1px dashed var(--color-divider);color:var(--color-neutral-600);font-size:13.5px;text-align:left;transition:background .14s ease,color .14s ease,border-color .14s ease}.addbtn:hover{background:var(--color-accent-100);border-color:var(--color-accent-300);color:var(--color-accent-800)}.addbtn span{font-family:var(--font-heading);font-size:15px;line-height:1}.addbtn.compact{padding:7px 8px;font-size:11.5px;border-radius:13px;gap:5px}.addbtn.compact span{font-size:13px}.addform{display:flex;flex-direction:column;gap:5px}.addinput{width:100%;padding:12px 16px;border-radius:var(--radius-md);border:2px solid var(--color-accent);background:var(--color-neutral-100);font-size:14px}.addform.compact .addinput{padding:8px 9px;font-size:12px;border-radius:13px;border-width:1.5px}.addhints{margin:0;padding:0 4px;font-size:11.5px;color:var(--color-neutral-600)}.addform.compact .addhints{font-size:10.5px}.drawer{border-top:1px solid var(--color-divider);padding-top:16px;display:flex;flex-direction:column;gap:10px}.drawer-head{display:flex;align-items:center;gap:10px;width:100%;font-family:var(--font-heading);font-size:15px}.badge{padding:2px 10px;border-radius:var(--radius-pill);background:var(--color-accent-200);color:var(--color-accent-800);font-size:11.5px;font-weight:600;font-family:var(--font-body)}.drawer-row{display:flex;align-items:center;gap:10px;padding:7px 2px}.drawer-row .grow{flex:1;text-align:left;font-size:14px;min-width:0}.ghostbtn{border:1px solid var(--color-divider);background:var(--color-neutral-100);padding:6px 13px;border-radius:var(--radius-pill);font-family:var(--font-heading);font-size:12px;color:var(--color-accent-700);white-space:nowrap;transition:background .14s ease}.ghostbtn:hover{background:var(--color-accent-100)}.ghostbtn.danger{color:var(--color-danger)}.ghostbtn.danger:hover{background:var(--color-danger-tint)}.late-row{display:flex;align-items:center;gap:8px}.late-main{flex:1;min-width:0}.cal-body{display:flex;gap:18px;align-items:stretch;flex-wrap:wrap}.inbox{flex:none;width:244px;padding:16px;border-radius:var(--radius-md);background:var(--color-accent-100);display:flex;flex-direction:column;gap:10px;transition:box-shadow .12s ease}.inbox.is-over{box-shadow:inset 0 0 0 2px var(--color-accent)}.inbox-head{display:flex;align-items:baseline;justify-content:space-between}.inbox-label{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-800);font-weight:600}.inbox-count{font-family:var(--font-heading);font-size:14px;color:var(--color-accent-800)}.inbox-card{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:14px;background:var(--color-neutral-100);box-shadow:var(--shadow-sm);cursor:grab;font-size:13.5px;text-align:left;width:100%}.inbox-card.is-selected{outline:2px solid var(--color-accent)}.inbox-card:active{cursor:grabbing}.board-wrap{flex:1;min-width:0;overflow-x:auto;padding-bottom:4px}.board{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:9px;min-width:820px}.daycol{padding:12px 9px;border-radius:var(--radius-md);min-height:340px;background:var(--color-bg);border:1px solid var(--color-divider);display:flex;flex-direction:column;gap:8px;transition:box-shadow .12s ease}.daycol.is-today{background:var(--color-accent-100);border:2px solid var(--color-accent-300)}.daycol.is-over{box-shadow:inset 0 0 0 2px var(--color-accent)}.daycol-head{border-bottom:1px solid var(--color-divider);padding-bottom:8px}.daycol-dow{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-600)}.daycol-num{font-family:var(--font-heading);font-size:18px}.daycol.is-today .daycol-num{color:var(--color-accent-800)}.chip{padding:9px 10px;border-radius:13px;background:var(--color-neutral-100);box-shadow:var(--shadow-sm);cursor:grab;display:flex;flex-direction:column;gap:5px;text-align:left;width:100%}.chip{position:relative;overflow:hidden}.chip-color{position:absolute;inset:0 0 auto 0;height:4px;border-radius:13px 13px 0 0}.chip-top{padding-top:3px}.chip.is-selected{outline:2px solid var(--color-accent)}.chip.is-ghost{background:transparent;box-shadow:none;border:1px dashed var(--color-neutral-400);cursor:pointer;opacity:.72}.chip.is-ghost .chip-title{color:var(--color-neutral-700)}.chip.is-ghost:hover{opacity:1;background:var(--color-neutral-100)}.dot.is-ghost-dot{opacity:.45}.chip:active{cursor:grabbing}.chip-top{display:flex;align-items:center;gap:6px}.chip-title{font-size:12.5px;line-height:1.35;overflow-wrap:anywhere}.chip-meta{font-size:11px;color:var(--color-neutral-600);display:flex;gap:6px}.month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-bottom:9px}.month-head span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-600);text-align:center}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:1fr;gap:9px}.mcell{padding:10px;border-radius:var(--radius-md);min-height:64px;background:var(--color-bg);border:1px solid var(--color-divider);display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left}.mcell.is-outside{opacity:.45}.mcell.is-week{background:var(--color-neutral-200)}.mcell.is-today{background:var(--color-accent-100);border:2px solid var(--color-accent-300)}.mcell.is-over{box-shadow:inset 0 0 0 2px var(--color-accent)}.mcell-num{font-family:var(--font-heading);font-size:14px}.mcell.is-today .mcell-num{color:var(--color-accent-800)}.mcell-dots{display:flex;gap:3px;flex-wrap:wrap}.cal-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.navbtn{width:32px;height:32px;border-radius:var(--radius-pill);background:var(--color-neutral-200);color:var(--color-neutral-700);display:grid;place-items:center;font-size:15px;transition:background .14s ease}.navbtn:hover{background:var(--color-neutral-300)}.groups{display:flex;flex-direction:column;gap:22px}.group{display:flex;flex-direction:column;gap:10px}.group-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.group-title{font-family:var(--font-heading);font-size:16px}.group-count{font-size:12px;color:var(--color-neutral-600)}.bar{height:6px;border-radius:var(--radius-pill);background:var(--color-neutral-200);flex:1;max-width:220px;overflow:hidden}.bar>i{display:block;height:100%;border-radius:var(--radius-pill)}.progcell{width:104px;flex:none;display:flex;align-items:center;gap:7px}.progcell .track{height:6px;flex:1;border-radius:var(--radius-pill);background:var(--color-neutral-300);overflow:hidden}.progcell .track>i{display:block;height:100%;background:var(--color-accent-2-500)}.progcell .ratio{font-size:11px;font-variant-numeric:tabular-nums;color:var(--color-neutral-600)}.panel{padding:22px;border-radius:var(--radius-lg);background:var(--color-neutral-100);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:16px}.panel-head{display:flex;align-items:flex-start;gap:12px}.panel-title{flex:1;min-width:0;overflow-wrap:anywhere;font-family:var(--font-heading);font-size:20px;line-height:1.22;border:none;background:transparent;resize:none;overflow:hidden;padding:0}.closebtn{width:28px;height:28px;flex:none;border-radius:var(--radius-pill);background:var(--color-neutral-200);color:var(--color-neutral-700);display:grid;place-items:center;font-size:16px;line-height:1;transition:background .14s ease}.closebtn:hover{background:var(--color-neutral-300)}.field{display:flex;flex-direction:column;gap:8px}.label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-600);font-weight:600}.seg{display:flex;padding:4px;border-radius:var(--radius-pill);background:var(--color-neutral-200);gap:2px}.seg>button{flex:1;padding:7px 0;border-radius:var(--radius-pill);font-family:var(--font-heading);font-size:12.5px;color:var(--color-neutral-700);transition:background .14s ease}.seg>button.is-active{background:var(--color-accent);color:var(--color-neutral-100)}.seg.tight>button{font-size:11px;padding:7px 2px}.chips{display:flex;flex-wrap:wrap;gap:6px}.datechip{padding:7px 13px;border-radius:var(--radius-pill);border:1px solid var(--color-divider);background:var(--color-neutral-100);font-family:var(--font-heading);font-size:12px;color:var(--color-neutral-700);transition:background .14s ease}.datechip:hover{background:var(--color-accent-100)}.datechip.is-active{background:var(--color-accent);color:var(--color-neutral-100);border-color:var(--color-accent)}.inline-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.switch{width:44px;height:26px;border-radius:var(--radius-pill);padding:3px;background:var(--color-neutral-300);flex:none;transition:background .14s ease}.switch.is-on{background:var(--color-accent-2-600)}.switch>i{display:block;width:20px;height:20px;border-radius:var(--radius-pill);background:var(--color-neutral-100);transition:transform .16s ease}.switch.is-on>i{transform:translate(18px)}.daypicker{display:flex;gap:4px;flex-wrap:wrap}.daypicker button{width:30px;height:30px;border-radius:var(--radius-pill);border:1px solid var(--color-divider);background:var(--color-neutral-100);font-size:11.5px;color:var(--color-neutral-700);text-transform:capitalize}.daypicker button.is-active{background:var(--color-accent-2-600);color:var(--color-neutral-100);border-color:var(--color-accent-2-600)}.input,.select,.textarea{padding:9px 12px;border-radius:var(--radius-md);border:1px solid var(--color-divider);background:var(--color-bg);font-size:13.5px;width:100%}.textarea{min-height:88px;resize:vertical;line-height:1.5;padding:12px 14px}.input.time{width:auto;font-variant-numeric:tabular-nums;font-family:var(--font-heading)}.sub-row{display:flex;align-items:flex-start;gap:9px}.sub-row .check{margin-top:1px}.sub-row .grow{flex:1;font-size:13.5px;text-align:left;min-width:0;line-height:1.4;overflow-wrap:anywhere}.sub-row .trashbtn{opacity:.45}.sub-row:hover .trashbtn,.sub-row:focus-within .trashbtn{opacity:1}.link{color:var(--color-accent-700);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.link:hover{color:var(--color-accent);background:var(--color-accent-100)}.panel-foot{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--color-divider);padding-top:14px}.modal{border:none;padding:0;border-radius:var(--radius-lg);background:var(--color-neutral-100);box-shadow:var(--shadow-lg);color:var(--color-text);max-width:420px;width:calc(100vw - 32px)}.modal::backdrop{background:#1d201f61}.modal-body{padding:24px;display:flex;flex-direction:column;gap:16px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-error{margin:0;font-size:12.5px;color:var(--color-danger)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--color-divider);padding-top:16px}.primarybtn{padding:9px 18px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-neutral-100);font-family:var(--font-heading);font-size:12.5px;transition:background .14s ease}.primarybtn:hover:not(:disabled){background:var(--color-accent-600)}.primarybtn:disabled{opacity:.5;cursor:not-allowed}.modal .palette{left:0;right:auto}.projlist{display:flex;flex-direction:column;gap:6px;max-height:58vh;overflow-y:auto}.projrow{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);background:var(--color-bg);outline:1px solid var(--color-divider);outline-offset:-1px;flex-wrap:wrap}.projrow.is-readonly{background:transparent;outline-style:dashed}.projrow .trashbtn{opacity:.45}.projrow:hover .trashbtn{opacity:1}.projname{flex:1 1 0;min-width:0;border:none;background:transparent;font-size:14px;padding:6px 4px;border-radius:8px}.projname:hover{background:var(--color-neutral-200)}.projname:focus{background:var(--color-neutral-100);outline:2px solid var(--color-accent)}.projname-ro{flex:1 1 0;min-width:0;font-size:14px;color:var(--color-neutral-700)}.projcount{font-size:11.5px;color:var(--color-neutral-600);white-space:nowrap;text-align:right}.projhead{display:flex;justify-content:space-between;padding:0 12px 2px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-600);font-weight:600}.visibility{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--color-divider);background:var(--color-neutral-100);font-size:11.5px;font-weight:600;color:var(--color-neutral-700);white-space:nowrap;transition:background .14s ease,border-color .14s ease}.visibility:hover{border-color:var(--color-neutral-400);background:var(--color-neutral-200)}.visibility.is-shared{background:var(--color-accent-2-200);border-color:var(--color-accent-2-300);color:var(--color-accent-2-800)}.visibility.is-shared:hover{background:var(--color-accent-2-300)}.visibility.is-readonly{opacity:.7}.projconfirm{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--color-divider)}.tokenreveal{padding:14px;border-radius:var(--radius-md);background:var(--color-accent-2-100);border:1px solid var(--color-accent-2-300)}.tokenvalue{display:block;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-neutral-900);color:var(--color-neutral-100);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.tokenvalue.small{font-size:11.5px;background:var(--color-neutral-200);color:var(--color-text)}.signin{min-height:100vh;display:grid;place-items:center;padding:24px}.signin-card{width:100%;max-width:420px;padding:36px 32px;border-radius:var(--radius-lg);background:var(--color-neutral-100);box-shadow:var(--shadow-md);text-align:center}.signin-btn{display:inline-block;margin-top:22px;padding:13px 26px;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-neutral-100);font-family:var(--font-heading);font-size:14.5px;text-decoration:none;transition:background .14s ease}.signin-btn:hover{background:var(--color-accent-600);color:var(--color-neutral-100)}.linkbtn{color:var(--color-accent-700);text-decoration:underline;text-underline-offset:2px;font-size:inherit}.linkbtn:hover{color:var(--color-accent)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:var(--radius-pill);background:var(--color-neutral-900);color:var(--color-neutral-100);box-shadow:var(--shadow-lg);font-size:13.5px;max-width:calc(100vw - 32px)}.toast button{color:var(--color-neutral-400);font-size:16px}.toast button:hover{color:var(--color-neutral-100)}.trashpanel{border-top:1px solid var(--color-divider);padding-top:16px;display:flex;flex-direction:column;gap:8px}.trashpanel .drawer-head{color:var(--color-neutral-700)}.toast .undo{color:var(--color-accent-300);font-weight:600;font-family:var(--font-heading);white-space:nowrap}.toast .undo:hover{color:var(--color-neutral-100)}.centered{display:grid;place-items:center;min-height:60vh;color:var(--color-neutral-600)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;background:var(--color-neutral-100);border-top:1px solid var(--color-divider);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 12px #1d201f0f}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;font-size:11px;font-weight:600;color:var(--color-neutral-600);min-height:52px;transition:color .14s ease}.tabbar-item.is-active{color:var(--color-accent)}.tabbar-icon{font-size:17px;line-height:1}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;justify-content:flex-end}.sheet-scrim{flex:1;background:#1d201f66;border:none}.sheet-panel{max-height:88vh;overflow-y:auto;overscroll-behavior:contain;background:var(--color-neutral-100);border-radius:24px 24px 0 0;box-shadow:var(--shadow-lg);padding-bottom:env(safe-area-inset-bottom,0px);animation:sheet-up .22s ease}@keyframes sheet-up{0%{transform:translateY(14px);opacity:.6}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.sheet-panel{animation:none}}.sheet-grip{width:38px;height:4px;border-radius:999px;background:var(--color-neutral-300);margin:10px auto 0}.sheet-panel .panel{box-shadow:none;border-radius:0;padding:16px 18px 24px}.dayagenda{flex:1;min-width:0;width:100%;max-width:100%;display:flex;flex-direction:column;gap:14px}.daystrip{display:flex;gap:4px;max-width:100%;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory;scrollbar-width:none}.daystrip::-webkit-scrollbar{display:none}.daystrip-item{flex:1 0 44px;min-width:0;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:14px;border:1px solid var(--color-divider);background:var(--color-bg);min-height:62px}.daystrip-item.is-today{border-color:var(--color-accent-300)}.daystrip-item.is-active{background:var(--color-accent);border-color:var(--color-accent)}.daystrip-item.is-active .daystrip-dow,.daystrip-item.is-active .daystrip-num,.daystrip-item.is-active .daystrip-count{color:var(--color-neutral-100)}.daystrip-dow{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-600)}.daystrip-num{font-family:var(--font-heading);font-size:16px}.daystrip-count{font-size:10px;color:var(--color-neutral-600);min-height:13px}.row.is-ghost-row{border-style:dashed;background:transparent;opacity:.75}@media(max-width:760px){.shell{padding:18px 14px calc(78px + env(safe-area-inset-bottom,0px));gap:14px}.title{font-size:26px}.kicker{font-size:10.5px}.card{padding:16px 14px;border-radius:20px}.h2{font-size:21px}.top{gap:12px}.top-right{width:100%}.ghostbtn{padding:11px 15px;min-height:40px}.datechip{padding:10px 15px;min-height:40px}.seg>button{padding:11px 0}.pill{padding:11px 14px}.navbtn{width:40px;height:40px}.check.lg,.check.md{width:28px;height:28px}.daypicker button{width:38px;height:38px;font-size:13px}.addbtn{padding:13px 16px}.trashbtn{width:34px;height:34px;opacity:1}.statuschip,.delegated{padding:6px 11px}.swatch.md{width:26px;height:26px}.main-col{flex:1 1 100%}.side-col{display:none}.row{gap:9px;padding:12px;flex-wrap:wrap;row-gap:2px}.row-text{min-width:0;flex:1 1 0}.row .rowdate{flex:1 1 100%;order:9;text-align:left;min-width:0;padding-left:37px;font-size:11.5px}.row .time{min-width:0}.row .tag,.progcell{display:none}.late-row{flex-direction:column;align-items:stretch}.late-row .ghostbtn{align-self:flex-end}.drawer-row{flex-wrap:wrap}.cal-body{flex-direction:column}.dayagenda{order:1}.inbox{width:100%;order:2}.board-wrap{order:1}.hint-drag{display:none}.top>div:first-child .title{margin-top:2px}.card-head>div:first-child .h2{margin-top:2px}.cal-nav{gap:6px;width:100%}.cal-nav .pillbar{padding:4px}.cal-nav .pill.sm{padding:9px 12px;font-size:12px}.cal-nav .ghostbtn{padding:9px 12px;font-size:11.5px}.navbtn{width:36px;height:36px;flex:none}.drawer-row{align-items:center;gap:8px}.drawer-row .grow{flex:1 1 100%;order:1}.drawer-row .ghostbtn,.drawer-row .trashbtn{order:2}.drawer-row .ghostbtn{min-width:44px;padding:10px 14px;text-align:center}.drawer-row .dot{order:0}.month{gap:4px}.mcell{padding:6px;min-height:54px;border-radius:12px}.mcell-num{font-size:13px}.card-head{gap:10px}.card-head input[type=search]{width:100%!important}.toast{bottom:calc(70px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px)}.modal{max-width:none;border-radius:22px}}@media(max-width:380px){.title{font-size:23px}.daystrip-item{flex:1 0 40px}.daystrip-num{font-size:15px}.tabbar-item{font-size:10px}}
