:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f4f0;--surface:#fff;--text:#1c1c1e;--muted:#6b6b70;--border:#e2e0da;--accent:#0063cc;--on-accent:#fff;--selected:#e6effa;--field:#f0efeb;--danger:#c62828;--toast-bg:#1c1c1e;--toast-text:#f2f2f4;--toast-action:#7fb3ff;--switch-off:#8e8e93;--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--header-height:3rem;--radius:.75rem;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.4}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121214;--surface:#1c1c1f;--text:#f2f2f4;--muted:#a0a0a8;--border:#2c2c31;--accent:#5b9dff;--on-accent:#0b1a33;--selected:#1b2a42;--field:#26262a;--toast-bg:#f2f2f4;--toast-text:#1c1c1e;--toast-action:#0063cc;--switch-off:#7c7c80;--check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='%230b1a33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font-size:1.0625rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-header{z-index:1;height:calc(var(--header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(.5rem, env(safe-area-inset-right)) 0 max(.25rem, env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--bg);touch-action:pan-y;align-items:center;gap:.125rem;display:flex;position:sticky;top:0}.week-title{text-align:center;text-wrap:balance;flex:1;min-width:0;margin:0;font-size:clamp(.9375rem,4vw,1.0625rem);font-weight:600;line-height:1.2}.icon-button{width:2.75rem;height:2.75rem;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.today-button{min-height:2.75rem;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;margin-left:auto;padding:0 .5rem;font-size:.9375rem;font-weight:600}.icon-button:focus-visible,.today-button:focus-visible{outline-offset:-2px}.week{padding:.75rem max(.75rem, env(safe-area-inset-right)) .75rem max(.75rem, env(safe-area-inset-left));flex-direction:column;gap:.5rem;display:flex}.settings{margin:0 max(.75rem, env(safe-area-inset-right)) calc(5rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));border-radius:var(--radius);background:var(--surface);padding:.25rem 1rem .5rem}.settings-title{font-size:inherit;margin:.75rem 0 .25rem;font-weight:600}.setting{cursor:pointer;align-items:center;gap:1rem;min-height:2.75rem;padding:.25rem 0;display:flex}.setting-label{flex:1}.switch{appearance:none;background:var(--switch-off);cursor:pointer;border-radius:999px;flex:none;width:3.1875rem;height:1.9375rem;margin:0;transition:background-color .2s;position:relative}.switch:before{content:"";background:#fff;border-radius:50%;width:1.6875rem;height:1.6875rem;transition:transform .2s;position:absolute;top:.125rem;left:.125rem;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--accent)}.switch:checked:before{transform:translate(1.25rem)}.switch:disabled{opacity:.5}.setting-actions{flex-wrap:wrap;gap:.5rem;padding:.5rem 0 .25rem;display:flex}.settings-button{border:1px solid var(--border);min-height:2.75rem;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 1rem;font-weight:600}.setting-note{color:var(--muted);margin:.5rem 0;font-size:.9375rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.day{border-radius:var(--radius);background:var(--surface);scroll-margin-top:calc(var(--header-height) + env(safe-area-inset-top) + .75rem)}.day[data-today]{box-shadow:inset 0 0 0 2px var(--accent)}.day-head{align-items:center;display:flex}.day-header{min-width:0;font-size:inherit;flex:1;margin:0;font-weight:600}.day-toggle{border-radius:var(--radius);width:100%;min-height:3rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0 .5rem 0 .75rem;display:flex}.day-toggle:focus-visible{outline-offset:-2px}.day-toggle:before{content:"";border:solid var(--muted);border-width:0 2px 2px 0;flex:none;width:.5rem;height:.5rem;margin:0 .375rem 0 .25rem;transition:transform .15s;transform:rotate(-45deg)}.day-toggle[aria-expanded=true]:before{transform:rotate(45deg)}.day-label{flex:1;align-items:baseline;gap:.5rem;min-width:0;display:flex}.day[data-today] .day-title{color:var(--accent)}.day-subtitle{color:var(--muted);font-weight:400}.today-badge{background:var(--accent);color:var(--on-accent);border-radius:999px;align-self:center;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.dot{background:var(--accent);border-radius:50%;flex:none;width:.5rem;height:.5rem}.day-add{width:2.75rem;height:2.75rem;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin-right:.25rem;display:grid}.day-add:focus-visible{outline-offset:-2px}.day-add svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1.25rem;height:1.25rem}.tasks{margin:0;padding:0 .5rem;list-style:none}.task{border-radius:.5rem;position:relative;overflow:hidden}.task:focus{outline:none}.task-delete{background:var(--danger);color:#fff;justify-content:flex-end;align-items:center;padding:0 1rem;font-weight:600;display:flex;position:absolute;inset:0}.task-row{background:var(--surface);touch-action:pan-y;align-items:flex-start;min-height:2.75rem;transition:transform .2s;display:flex;position:relative}.task-row[data-dragging]{transition:none}.task-check-area{cursor:pointer;flex:none;justify-content:center;width:2.75rem;height:2.75rem;display:flex}.task-check{border:2px solid var(--muted);appearance:none;cursor:pointer;background:0 0;border-radius:50%;flex:none;width:1.375rem;height:1.375rem;margin:.6875rem 0 0}.task-check:checked{border-color:var(--accent);background:var(--accent) var(--check) center / .875rem no-repeat}.task-title,.task-field{min-width:0;color:inherit;font:inherit;text-align:left;overflow-wrap:anywhere;border:0;border-radius:.375rem;flex:1;margin:0;padding:.625rem .5rem .625rem .25rem}.task-title{cursor:text;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0}.task-title:focus-visible{outline-offset:-2px}.task-field{resize:none;background:var(--field);box-shadow:inset 0 0 0 2px var(--accent);outline:none;display:block;overflow:hidden}.task[data-done] .task-title{color:var(--muted);text-decoration:line-through}.task-menu{width:2.75rem;height:2.75rem;color:var(--muted);border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid;position:relative}.task-menu svg{fill:currentColor;width:1.25rem;height:1.25rem}.task-menu select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:1rem;position:absolute;inset:0}.task-menu:has(select:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}.task-ghost{opacity:.4}.task-chosen .task-row{background:var(--selected)}.task-drag{box-shadow:0 8px 24px #0003;opacity:1!important}.day-head.drop-target{border-radius:var(--radius);background:var(--selected)}body.sorting{cursor:grabbing;-webkit-user-select:none;user-select:none}.add-task{padding:0 .5rem .5rem;position:relative}.add-task:before{content:"+";width:2.75rem;color:var(--muted);text-align:center;pointer-events:none;font-size:1.25rem;line-height:2.75rem;position:absolute;top:0;left:.5rem}.add-task-input{width:100%;height:2.75rem;color:inherit;font:inherit;background:0 0;border:0;border-radius:.375rem;padding:0 .5rem 0 3rem;display:block}.add-task-input::placeholder{color:var(--muted);opacity:1}.add-task-input:focus{background:var(--field);box-shadow:inset 0 0 0 2px var(--accent);outline:none}@media (pointer:coarse){.task-field,.add-task-input{font-size:max(1rem,1em)}}@media (hover:hover) and (pointer:fine){.task-title{flex:0 auto}.task:focus .task-row{background:var(--selected)}.task-menu{opacity:0}.task:hover .task-menu,.task:focus-within .task-menu{opacity:1}}.overlays{right:0;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:2;padding:0 max(1rem, env(safe-area-inset-right)) 0 max(1rem, env(safe-area-inset-left));pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:fixed;left:0}.toast-region{justify-content:center;display:flex}.install-hint{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);pointer-events:auto;align-items:flex-start;gap:.25rem;width:100%;max-width:30rem;padding:.25rem .25rem .25rem 1rem;display:flex;box-shadow:0 4px 16px #00000026}.install-hint p{flex:1;margin:.625rem 0}.share-icon{vertical-align:-.2em;fill:none;width:1.15em;height:1.15em;stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.toast{border-radius:var(--radius);background:var(--toast-bg);color:var(--toast-text);pointer-events:auto;align-items:center;gap:.75rem;padding:.25rem .25rem .25rem 1rem;display:flex;box-shadow:0 4px 16px #00000040}.toast button{min-height:2.75rem;color:var(--toast-action);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:0 .75rem;font-weight:600}@media (width>=768px){body{font-size:.9375rem}.week{min-height:calc(100dvh - var(--header-height) - env(safe-area-inset-top));padding:1rem max(1rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:.75rem;display:grid}.day-header{padding:.75rem 1rem .5rem}.day-label{flex-direction:column;gap:0}.day-subtitle{font-size:.875rem}.day[data-today] .day-subtitle{color:var(--accent)}.today-badge{display:none}.tasks,.add-task{padding-inline:.25rem}.add-task:before{left:.25rem}.task-check{margin-top:.59375rem}.week-title{flex:0 0 16rem}.settings{max-width:40rem;margin:0 max(1rem, env(safe-area-inset-right)) 1.5rem max(1rem, env(safe-area-inset-left))}}@media (prefers-reduced-motion:reduce){.day-toggle:before,.task-row,.switch,.switch:before{transition:none}}
