:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--c-bg:#f2f2f7;--c-bg-elevated:#fff;--c-fill:#78788029;--c-label:#000;--c-label-2:#3c3c4399;--c-label-3:#3c3c434d;--c-separator:#3c3c434a;--c-tint:#007aff;--c-red:#ff3b30;--c-on-accent:#fff;--mod-l:.66;--mod-c:.11;--mod-tint-alpha:.1;--mod-tile-alpha:.16;--glass-fill:#fff9;--glass-fill-strong:#ffffffc7;--glass-blur:blur(20px) saturate(180%);--glass-edge:inset 0 1px 0 #ffffffd9, inset 0 0 0 .5px #ffffff80;--glass-shadow:0 8px 28px #0000001a, 0 1px 4px #0000000f;--glass-pill:#78788024;--glass-solid:#f9f9f9;--glass-group:#ffffffb8;--backdrop:#00000040;--font:-apple-system, system-ui, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;--fs-large-title:34px;--fs-title3:20px;--fs-headline:17px;--fs-body:17px;--fs-subhead:15px;--fs-footnote:13px;--fs-caption:12px;--fs-caption2:11px;--radius-s:8px;--radius-l:16px;--radius-xl:20px;--gutter:16px;--block-col:2.3rem;--week-row:96px;--spring:cubic-bezier(.32, 1.25, .5, 1);--ease-out:cubic-bezier(.2, .8, .2, 1);--dur-fast:.18s;--dur:.28s;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--navbar:44px;--tabbar:62px;--tabbar-gap:max(8px, calc(var(--sab) - 18px));--tabbar-space:calc(var(--tabbar) + var(--tabbar-gap))}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[style*=--hue]{--mod-bar:oklch(var(--mod-l) var(--mod-c) var(--hue));--mod-tint:oklch(var(--mod-l) var(--mod-c) var(--hue) / var(--mod-tint-alpha));--mod-tile:oklch(var(--mod-l) var(--mod-c) var(--hue) / var(--mod-tile-alpha))}:root.simulate-insets{--sat:59px;--sab:34px}@media (prefers-color-scheme:dark){:root{--c-bg:#000;--c-bg-elevated:#1c1c1e;--c-fill:#7676803d;--c-label:#fff;--c-label-2:#ebebf599;--c-label-3:#ebebf54d;--c-separator:#54545899;--c-tint:#0a84ff;--c-red:#ff453a;--mod-l:.72;--mod-c:.1;--mod-tint-alpha:.14;--mod-tile-alpha:.2;--glass-fill:#28282c8c;--glass-fill-strong:#242428c7;--glass-edge:inset 0 1px 0 #ffffff24, inset 0 0 0 .5px #ffffff1a;--glass-shadow:0 8px 28px #00000073, 0 1px 4px #0000004d;--glass-pill:#ffffff1f;--glass-solid:#1c1c1e;--glass-group:#ffffff12;--backdrop:#00000073}}@media (prefers-reduced-transparency:reduce){:root{--glass-fill:var(--glass-solid);--glass-fill-strong:var(--glass-solid);--glass-blur:none;--glass-group:var(--c-bg-elevated)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass-fill:var(--glass-solid);--glass-fill-strong:var(--glass-solid)}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s}*,:before,:after{transition:none!important;animation:none!important}}*{box-sizing:border-box}html{overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:100%;overflow:hidden}body{background:var(--c-bg);height:100%;color:var(--c-label);font:var(--fs-body) / 1.3 var(--font);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex;position:relative;overflow:hidden}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.tabular{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--c-tint);outline-offset:2px}:focus:not(:focus-visible){outline:none}.icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;flex:none}.glass{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge), var(--glass-shadow)}.top{z-index:10;height:calc(var(--sat) + var(--navbar));padding:var(--sat) calc(var(--gutter) + var(--sar)) 0 calc(var(--gutter) + var(--sal));pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.top:before{content:"";z-index:-1;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 -.5px 0 var(--c-separator);opacity:0;transition:opacity var(--dur-fast) linear;position:absolute;inset:0}.top.has-bg:before{opacity:1}.compact-title{font-size:var(--fs-headline);opacity:0;transition:opacity var(--dur-fast) linear, transform var(--dur-fast) var(--ease-out);font-weight:600;transform:translateY(4px)}.top.has-title .compact-title{opacity:1;transform:none}.view{overscroll-behavior-y:contain;min-height:0;padding:0 calc(var(--gutter) + var(--sar)) calc(var(--tabbar-space) + 24px) calc(var(--gutter) + var(--sal));flex:1;overflow-y:auto}.view>:first-child{margin-top:calc(var(--sat) + 10px)}.large-title-block{align-items:flex-end;gap:12px;padding:0 4px 14px;display:flex}.large-title-text{flex:1;min-width:0}.large-title-actions{flex:none;padding-bottom:4px}.eyebrow{font-size:var(--fs-footnote);text-transform:uppercase;letter-spacing:.02em;color:var(--c-label-2);font-variant-numeric:tabular-nums;font-weight:600}.large-title{font-size:var(--fs-large-title);letter-spacing:.01em;font-weight:700;line-height:41px}.summary-line{font-size:var(--fs-subhead);color:var(--c-label-2);font-variant-numeric:tabular-nums;margin-top:2px}.summary-link{color:var(--c-tint);font-weight:600;text-decoration:none}.summary-link:active{opacity:.5}.summary-line.summary-practice{color:var(--c-tint);font-weight:600}.view.enter>*{animation:view-in var(--dur) var(--ease-out)}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}}.empty,.hint{color:var(--c-label-2);text-align:center;padding:20px 8px}.hint{font-size:var(--fs-footnote);padding-top:12px}.empty{border-radius:var(--radius-l);background:var(--c-bg-elevated);font-size:var(--fs-subhead);padding:28px 16px}.status{color:var(--c-label-2);text-align:center;font-size:var(--fs-subhead);flex-direction:column;align-items:center;gap:10px;padding:40px 16px;display:flex}.status.error strong{color:var(--c-label);font-size:var(--fs-headline)}.retry{background:var(--c-tint);color:#fff;cursor:pointer;border:0;border-radius:999px;margin-top:8px;padding:12px 22px;font-weight:600}.spinner{border:3px solid var(--c-fill);border-top-color:var(--c-label-2);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.group{border-radius:var(--radius-l);background:var(--c-bg-elevated);margin:0;padding:0;list-style:none;overflow:hidden}.section-header{font-size:var(--fs-footnote);text-transform:uppercase;letter-spacing:.02em;color:var(--c-label-2);font-variant-numeric:tabular-nums;margin:26px 0 7px;padding:0 16px;font-weight:400}.mod-bar{background:var(--mod-bar);border-radius:2px;flex:none;width:4px}.day-list>li{position:relative}.day-list>li+li:before{content:"";background:var(--c-separator);height:.5px;position:absolute;top:0;left:70px;right:0}.day-list>.dl-plain+.dl-plain:before{left:30px}.day-list>.dl-now+li:before{display:none}.dl-slot{grid-template-columns:54px minmax(0,1fr);padding-left:16px;display:grid}.dl-plain{padding-left:16px}.dl-time{font-size:var(--fs-subhead);font-variant-numeric:tabular-nums;flex-direction:column;padding-top:12px;font-weight:600;display:flex}.dl-time small{font-size:var(--fs-footnote);color:var(--c-label-2);font-weight:400}.dl-events{flex-direction:column;min-width:0;display:flex}.dl-event{text-align:left;cursor:pointer;width:100%;transition:background-color var(--dur-fast) linear;background:0 0;border:0;gap:10px;padding:11px 16px 11px 0;display:flex}.dl-event+.dl-event{padding-top:2px}.dl-event:active{background:var(--c-fill)}.dl-body{flex-direction:column;gap:1px;min-width:0;display:flex}.dl-title{font-size:var(--fs-headline);overflow-wrap:anywhere;font-weight:600}.dl-meta{font-size:var(--fs-subhead);color:var(--c-label-2)}.dl-meta.muted{font-style:italic}.dl-note{font-size:var(--fs-footnote);color:var(--c-label-2)}.dl-note.timed{color:var(--c-label);font-weight:600}.cancelled .dl-title,.cancelled .tile-title{text-decoration:line-through}.dl-slot.past .dl-time,.dl-slot.past .dl-title{color:var(--c-label-2)}.dl-slot.past .mod-bar{opacity:.45}.dl-progress{font-size:var(--fs-footnote);color:var(--c-red);font-variant-numeric:tabular-nums;grid-column:2;align-items:center;gap:10px;padding:0 16px 12px 0;font-weight:600;display:flex}.dl-progress .bar{background:linear-gradient(to right, var(--c-red) calc(var(--progress) * 100%), var(--c-fill) 0);border-radius:2px;flex:1;height:4px}.dl-break{font-size:var(--fs-footnote);color:var(--c-label-2);padding:7px 16px 7px 70px}.day-list>.dl-now{z-index:1;height:16px}.dl-now span{background:var(--c-red);color:#fff;font-size:var(--fs-caption2);font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 5px;font-weight:700;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.day-list>.dl-now:before{content:"";background:var(--c-red);height:2px;display:block;position:absolute;top:50%;left:52px;right:0;transform:translateY(-50%)}.next-card{border-radius:var(--radius-l);background:linear-gradient(var(--mod-tint), var(--mod-tint)), var(--c-bg-elevated);text-align:left;cursor:pointer;width:100%;transition:transform var(--dur-fast) var(--ease-out);border:0;align-items:center;gap:12px;margin-bottom:22px;padding:14px 12px 14px 16px;display:flex}.next-card:active{transform:scale(.98)}.next-card .mod-bar{align-self:stretch}.next-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.next-label{font-size:var(--fs-footnote);color:var(--c-tint);font-weight:600}.next-title{font-size:var(--fs-title3);letter-spacing:.01em;font-weight:600;line-height:25px}.next-meta{font-size:var(--fs-subhead);color:var(--c-label-2);font-variant-numeric:tabular-nums}.next-card .chevron{stroke-width:2.4px;width:18px;height:18px;color:var(--c-label-3)}.phase-card{border-radius:var(--radius-l);background:linear-gradient(135deg, color-mix(in oklab, var(--c-tint) 10%, transparent), transparent 70%), var(--c-bg-elevated);flex-direction:column;gap:3px;margin:0 0 12px;padding:16px;display:flex}.phase-label{font-size:var(--fs-footnote);text-transform:uppercase;letter-spacing:.02em;color:var(--c-tint);font-weight:600}.phase-range{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:28px}.phase-detail{font-size:var(--fs-subhead);color:var(--c-label-2)}.view:has(.week){padding-left:calc(6px + var(--sal));padding-right:calc(6px + var(--sar))}.view:has(.week) .large-title-block{padding-inline:14px 10px}.week-nav{align-items:center;gap:8px;display:flex}.nav-capsule{background:var(--c-fill);border-radius:999px;display:flex}.nav-button{width:40px;height:34px;color:var(--c-tint);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.nav-button .icon{stroke-width:2.4px;width:20px;height:20px}.nav-button:active,.today-button:active{opacity:.5}.today-button{background:var(--c-fill);height:34px;color:var(--c-tint);font-size:var(--fs-subhead);cursor:pointer;border:0;border-radius:999px;padding:0 14px;font-weight:600}.today-button[hidden]{display:none}.week-grid{touch-action:pan-y;grid-template-rows:auto;grid-auto-rows:var(--week-row);gap:3px;display:grid}.day-head{font-size:var(--fs-caption2);text-transform:uppercase;color:var(--c-label-2);flex-direction:column;align-items:center;gap:1px;padding:0 0 6px;font-weight:600;display:flex}.day-head .dom{border-radius:var(--radius-s);font-variant-numeric:tabular-nums;color:var(--c-label);flex-direction:column;align-items:center;margin-top:2px;padding:2px 6px;line-height:1.15;display:flex}.day-head .dom-day{font-size:var(--fs-footnote);text-transform:none;font-weight:600}.day-head .dom-year{color:var(--c-label-2);font-size:10.5px;font-weight:400}.day-head.today .dom-year{color:inherit}.day-head.today .dow{color:var(--c-red)}.day-head.today .dom{background:var(--c-red);color:#fff}.block-head{font-size:var(--fs-caption2);font-variant-numeric:tabular-nums;color:var(--c-label-2);flex-direction:column;padding-top:5px;display:flex}.block-start{color:var(--c-label);font-weight:600}.cell{border-radius:var(--radius-s);background:var(--c-bg-elevated);flex-direction:column;gap:3px;min-height:0;display:flex}.tile{border-radius:var(--radius-s);background:var(--mod-tile);min-width:0;min-height:0;box-shadow:inset 3px 0 0 var(--mod-bar);color:var(--c-label);text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);border:0;flex-direction:column;flex:1 1 0;gap:1px;padding:5px 3px 5px 7px;display:flex;overflow:hidden}.tile:active{transform:scale(.96)}.tile.past{opacity:.5}.tile-title{font-size:var(--fs-caption2);letter-spacing:-.01em;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.tile-place{font-size:var(--fs-caption2);color:var(--c-label-2);font-variant-numeric:tabular-nums}.tile-place.none{font-style:italic}.tile-lecturer{min-width:0;color:var(--c-label-2);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;line-height:1.2;overflow:hidden}.tile-note{color:var(--c-label-2);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;font-style:italic;line-height:1.2;display:-webkit-box;overflow:hidden}.tile-note.timed{color:var(--c-label);font-style:normal;font-weight:600}.tile:has(.tile-note) .tile-title{-webkit-line-clamp:2}.cell.multi .tile{padding-block:3px}.cell.multi .tile-title,.cell.multi .tile-place,.cell.multi .tile-note{line-height:1.15}.cell.multi .tile-lecturer{display:none}.cell.multi .tile-note{-webkit-line-clamp:1}.cell.multi .tile:has(.tile-note) .tile-title{-webkit-line-clamp:1}.cell.many .tile{padding-block:2px}.cell.many .tile-title{-webkit-line-clamp:1}.cell.many .tile-place,.cell.many .tile-note{display:none}.slide-from-right{animation:slide-from-right var(--dur) var(--spring)}.slide-from-left{animation:slide-from-left var(--dur) var(--spring)}@keyframes slide-from-right{0%{opacity:.2;transform:translate(28px)}}@keyframes slide-from-left{0%{opacity:.2;transform:translate(-28px)}}.list .phase-card{margin-top:26px}.list>:first-child{margin-top:0}.list-day .section-header{top:calc(var(--sat) + var(--navbar));z-index:2;margin:18px calc(-1 * var(--gutter)) 0;padding:8px calc(var(--gutter) + 16px) 7px;background:var(--c-bg);position:sticky}.list-day:first-child .section-header{margin-top:0}.sheet,.sheet::backdrop{position:absolute}.sheet{width:100%;max-width:100%;max-height:calc(100% - var(--sat) - 10px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;color:var(--c-label);background:var(--glass-fill-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge), var(--glass-shadow);overscroll-behavior:contain;border:0;margin:auto 0 0;padding:0}.sheet[open]{animation:sheet-in var(--dur) var(--ease-out)}.sheet::backdrop{background:var(--backdrop);animation:fade-in var(--dur) linear}.sheet.closing::backdrop{opacity:0;transition:opacity .24s linear}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@media (width>=600px){.sheet{border-radius:var(--radius-xl);max-width:480px;margin:auto}}.sheet-content{padding:6px calc(16px + var(--sar)) calc(20px + var(--sab)) calc(16px + var(--sal))}.sheet-grabber{background:var(--c-label-3);border-radius:3px;width:36px;height:5px;margin:0 auto 12px}.sheet-header{align-items:stretch;gap:12px;padding:0 4px 16px;display:flex}.sheet-header h2{letter-spacing:.01em;flex:1;font-size:22px;font-weight:700;line-height:28px}.sheet-close{background:var(--c-fill);width:30px;height:30px;color:var(--c-label-2);cursor:pointer;border:0;border-radius:50%;flex:none;align-self:flex-start;place-items:center;display:grid}.sheet-close .icon{stroke-width:2.6px;width:16px;height:16px}.sheet .group{background:var(--glass-group)}.detail-rows{margin:0}.detail-row{padding:11px 16px;position:relative}.detail-row+.detail-row:before{content:"";background:var(--c-separator);height:.5px;position:absolute;top:0;left:16px;right:0}.detail-rows dt{font-size:var(--fs-footnote);color:var(--c-label-2)}.detail-rows dd{overflow-wrap:anywhere;margin:2px 0 0}.detail-hint{font-size:var(--fs-footnote);color:var(--c-label-2);margin-top:4px;display:block}.detail-cancelled{color:var(--c-red);font-weight:600}.tabs{z-index:10;left:calc(var(--sal) + 20px);right:calc(var(--sar) + 20px);bottom:var(--tabbar-gap);max-width:420px;height:var(--tabbar);border-radius:999px;margin:0 auto;padding:4px;display:flex;position:absolute}.tab-pill{background:var(--glass-pill);width:calc(25% - 2px);transform:translateX(calc(var(--tab-index,0) * 100%));transition:transform var(--dur) var(--spring);border-radius:999px;position:absolute;top:4px;bottom:4px;left:4px}body[data-view=woche] .tab-pill{--tab-index:1}body[data-view=liste] .tab-pill{--tab-index:2}body[data-view=aufgaben] .tab-pill{--tab-index:3}.tabs a{color:var(--c-label);letter-spacing:0;border-radius:999px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;font-size:10px;font-weight:600;text-decoration:none;display:flex;position:relative}.tabs a[aria-current=page]{color:var(--c-tint)}.tabs .icon{stroke-width:1.9px;width:25px;height:25px;transition:transform var(--dur-fast) var(--ease-out)}.tabs a:active .icon{transform:scale(.88)}.add-button{background:var(--c-fill);width:36px;height:36px;color:var(--c-tint);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.add-button .icon{stroke-width:2.4px;width:20px;height:20px}.add-button:active{opacity:.5}.button-primary{background:var(--c-tint);width:100%;height:50px;color:var(--c-on-accent);font-size:var(--fs-headline);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);border:0;border-radius:14px;font-weight:600}.button-primary:active:not(:disabled){transform:scale(.98)}.button-primary:disabled{opacity:.4;cursor:default}.button-danger{width:100%;height:46px;color:var(--c-red);font-size:var(--fs-body);cursor:pointer;background:0 0;border:0;margin-top:6px}.task-empty{border-radius:var(--radius-l);background:var(--c-bg-elevated);color:var(--c-label-2);text-align:center;font-size:var(--fs-subhead);flex-direction:column;align-items:center;gap:6px;padding:28px 24px 24px;display:flex}.task-empty strong{color:var(--c-label);font-size:var(--fs-headline)}.task-empty .button-primary{border-radius:999px;width:auto;height:44px;margin-top:14px;padding:0 24px}.task-warning{border-radius:var(--radius-l);background:var(--c-bg-elevated);color:var(--c-red);font-size:var(--fs-footnote);margin-bottom:12px;padding:12px 16px;font-weight:600}.task{position:relative;overflow:hidden}.task-delete{background:var(--c-red);width:88px;color:var(--c-on-accent);font-size:var(--fs-subhead);cursor:pointer;visibility:hidden;transition:visibility 0s var(--dur);border:0;font-weight:600;position:absolute;top:0;bottom:0;right:0}.task.swiped .task-delete{visibility:visible;transition-delay:0s}.task-swipe{background:var(--c-bg-elevated);touch-action:pan-y;min-height:52px;transition:transform var(--dur) var(--ease-out);align-items:flex-start;padding-right:16px;display:flex;position:relative}.task-swipe.dragging{transition:none}.task+.task .task-swipe:before{content:"";background:var(--c-separator);height:.5px;position:absolute;top:0;left:48px;right:0}.task-check{cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:48px;height:52px;padding:0;display:grid}.task-circle{width:24px;height:24px;box-shadow:inset 0 0 0 1.5px var(--c-label-3);color:var(--c-on-accent);border-radius:50%;place-items:center;display:grid;position:relative}.task-circle:before{content:"";background:var(--c-tint);opacity:0;transition:transform var(--dur-fast) var(--spring), opacity var(--dur-fast) linear;border-radius:50%;position:absolute;inset:0;transform:scale(.4)}.task-circle .icon{stroke-width:3px;opacity:0;width:14px;height:14px;transition:transform var(--dur-fast) var(--spring), opacity var(--dur-fast) linear;position:relative;transform:scale(.5)}.task.done .task-circle:before,.task.done .task-circle .icon{opacity:1;transform:none}.task.overdue .task-circle{box-shadow:inset 0 0 0 1.5px var(--c-red)}.task.today .task-circle{box-shadow:inset 0 0 0 1.5px var(--c-tint)}.task-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;min-width:0;padding:11px 0 10px;display:flex}.task-text{overflow-wrap:anywhere}.task.done .task-text{color:var(--c-label-2)}.task-meta{font-size:var(--fs-footnote);color:var(--c-label-2);font-variant-numeric:tabular-nums;align-items:center;gap:0 6px;display:flex}.task-module{align-items:center;gap:5px;min-width:0;display:inline-flex}.task-module-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.task-sep,.task-due{flex:none}.mod-dot{background:var(--mod-bar);border-radius:50%;flex:none;width:8px;height:8px}.task-due.overdue{color:var(--c-red);font-weight:600}.task-due.today{color:var(--c-tint);font-weight:600}.done-toggle{color:var(--c-label-2);font-size:var(--fs-footnote);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:24px 0 7px;padding:0 16px;display:flex}.done-toggle .icon{stroke-width:2.6px;width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-out)}.done-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.task-list[hidden]{display:none}.task-form{flex-direction:column;gap:14px;display:flex}.form-group{position:relative}.task-input,.form-select,.date-input{font:inherit;letter-spacing:inherit;color:inherit}.task-input{background:0 0;border:0;width:100%;padding:14px 16px;display:block}.task-input::placeholder{color:var(--c-label-3)}.form-row{justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 16px;display:flex;position:relative}.form-row+.form-row:before,.form-row+.chips:before{content:"";background:var(--c-separator);height:.5px;position:absolute;top:0;left:16px;right:0}.form-label{flex:none}.form-select{min-width:0;max-width:65%;color:var(--c-tint);text-align:right;text-align-last:right;text-overflow:ellipsis;appearance:none;cursor:pointer;background:0 0;border:0;padding:0}.form-end{align-items:center;gap:12px;min-width:0;display:flex}.due-value.empty{color:var(--c-label-2)}.due-clear{color:var(--c-tint);font-size:var(--fs-subhead);cursor:pointer;background:0 0;border:0;padding:4px 0}.due-clear[hidden],.date-row[hidden]{display:none}.chips{gap:8px;padding:10px 12px 12px;display:flex;position:relative}.chip{background:var(--c-fill);min-width:0;min-height:44px;color:var(--c-tint);font-size:var(--fs-footnote);text-align:center;cursor:pointer;border:0;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:1px;padding:4px 6px;font-weight:600;line-height:1.2;display:flex}.chip small{font-size:var(--fs-caption2);font-variant-numeric:tabular-nums;opacity:.85;font-weight:400}.chip small:empty{display:none}.chip[aria-pressed=true]{background:var(--c-tint);color:var(--c-on-accent)}.chip:disabled{opacity:.4;cursor:default}.date-input{border-radius:var(--radius-s);background:var(--c-fill);min-width:0;color:var(--c-tint);border:0;padding:6px 10px}.sync-status{text-align:center;font-size:var(--fs-caption);color:var(--c-label-2);font-variant-numeric:tabular-nums;margin-top:22px}.sync-status.warn{color:var(--c-red);font-weight:600}.ptr{z-index:9;background:var(--c-bg-elevated);width:30px;height:30px;box-shadow:var(--glass-shadow);opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%,-14px)}.ptr .spinner{width:16px;height:16px;transform:rotate(calc(var(--ptr-progress,0) * 270deg));border-width:2.5px;animation:none}.ptr.spinning .spinner{animation:.8s linear infinite spin}.update-banner{left:50%;bottom:calc(var(--tabbar-space) + 12px);z-index:20;color:var(--c-tint);font-size:var(--fs-subhead);white-space:nowrap;cursor:pointer;animation:banner-in var(--dur) var(--spring);border:0;border-radius:999px;padding:10px 18px;font-weight:600;position:absolute;transform:translate(-50%)}.update-banner:disabled{opacity:.6}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,12px)}}
