:root{--bg:#f5f3ff;--bg-tint-1:#ffe6f2;--bg-tint-2:#dff5ff;--surface:#fff;--surface-sunken:#f3f2fb;--fg:#1f2033;--fg-muted:#5c5d78;--fg-subtle:#7c7d99;--accent:#6d5bff;--accent-2:#ff5fa2;--accent-3:#16bfa6;--accent-fg:#fff;--grad-work-a:#6d5bff;--grad-work-b:#ff5fa2;--grad-private-a:#ff5fa2;--grad-private-b:#ff9f6e;--grad-settings-a:#16bfa6;--grad-settings-b:#6d5bff;--grad-brand-a:#6d5bff;--grad-brand-b:#ff5fa2;--border:#e2def5;--border-strong:#cbc4ec;--danger:#d43a5a;--danger-bg:#ffeef1;--success:#0f8a63;--success-bg:#e2f8ee;--warning:#9a5a06;--warning-bg:#fff2dc;--input-bg:#fff;--focus-ring:#6d5bff;--shadow-sm:0 1px 2px #1f20330f, 0 2px 8px #1f20330f;--shadow-md:0 2px 4px #1f20330f, 0 10px 24px #1f203314;--shadow-accent:0 6px 18px #6d5bff59;--radius-sm:.6rem;--radius-md:.95rem;--radius-lg:1.35rem;--radius-pill:999px;--tabbar-height:4.25rem;--header-glass:#ffffffb8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}@media (prefers-color-scheme:dark){:root{--bg:#0e151d;--bg-tint-1:#12232c;--bg-tint-2:#141c2b;--surface:#172029;--surface-sunken:#131b23;--fg:#e7edf3;--fg-muted:#a2b1bf;--fg-subtle:#7c8b99;--accent:#58a6d8;--accent-2:#3fb3a6;--accent-3:#7f9ed4;--accent-fg:#08141c;--border:#253340;--border-strong:#384a5b;--danger:#e78d95;--danger-bg:#2c1c20;--success:#62c9a2;--success-bg:#102a24;--warning:#d9b47c;--warning-bg:#2a2317;--input-bg:#101922;--focus-ring:#58a6d8;--grad-work-a:#4d94cc;--grad-work-b:#3fa9b4;--grad-private-a:#3fb0a3;--grad-private-b:#63b98a;--grad-settings-a:#6f8fc4;--grad-settings-b:#4d94cc;--grad-brand-a:#6fb6de;--grad-brand-b:#4fbfae;--shadow-sm:0 1px 2px #0006, 0 2px 8px #0000004d;--shadow-md:0 2px 6px #0000006b, 0 12px 28px #00000061;--shadow-accent:0 6px 18px #0c2e428c;--header-glass:#0e151db8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--fg);background-color:var(--bg);background-image:radial-gradient(70rem 40rem at 110% -10%, var(--bg-tint-1) 0%, transparent 60%), radial-gradient(60rem 36rem at -20% 0%, var(--bg-tint-2) 0%, transparent 55%);background-attachment:fixed;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Yu Gothic,sans-serif;line-height:1.55}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:15;padding:calc(env(safe-area-inset-top) + .5rem) 1.15rem .5rem;padding-left:max(1.15rem, env(safe-area-inset-left));padding-right:max(1.15rem, env(safe-area-inset-right));background-color:var(--header-glass);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);align-items:center;gap:.6rem;display:flex;position:sticky;top:0}.app-header h1{letter-spacing:.005em;align-items:center;gap:.5rem;min-width:0;margin:0;font-size:1.28rem;font-weight:800;display:flex}.app-wordmark{background-image:linear-gradient(100deg, var(--grad-brand-a), var(--grad-brand-b));color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-logo{width:1.8rem;height:1.8rem;color:var(--accent-fg);background-image:linear-gradient(135deg, var(--grad-brand-a), var(--grad-brand-b));box-shadow:var(--shadow-accent);border-radius:.6rem;flex-shrink:0;place-items:center;font-size:1rem;font-weight:900;display:grid}.app-today{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--fg-muted);background-color:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--border);border-radius:var(--radius-pill);flex-shrink:0;margin-left:auto;padding:.2rem .7rem;font-size:.78rem;font-weight:800}.tab-content{padding:.5rem 1.15rem calc(var(--tabbar-height) + 1.75rem);padding-left:max(1.15rem, env(safe-area-inset-left));padding-right:max(1.15rem, env(safe-area-inset-right));flex:1;width:100%;max-width:40rem;margin-inline:auto}.tab-bar{z-index:20;padding:.4rem max(.5rem, env(safe-area-inset-left)) calc(env(safe-area-inset-bottom) + .4rem) max(.5rem, env(safe-area-inset-right));background-color:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);border-top:1px solid var(--border);justify-content:center;gap:.25rem;display:flex;position:fixed;inset:auto 0 0}.tab-button{border-radius:var(--radius-md);max-width:9rem;min-height:3.3rem;color:var(--fg-subtle);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.15rem;padding:.35rem .25rem;font-size:.72rem;font-weight:700;line-height:1.2;transition:color .15s,background-color .15s,transform .12s;display:flex}.tab-button:active{transform:scale(.94)}.tab-icon{width:1.45rem;height:1.45rem}.tab-button--active{color:var(--accent-fg);background-image:linear-gradient(135deg, var(--grad-work-a), var(--grad-work-b));box-shadow:var(--shadow-accent)}.tab-button--private.tab-button--active{background-image:linear-gradient(135deg, var(--grad-private-a), var(--grad-private-b))}.tab-button--settings.tab-button--active{background-image:linear-gradient(135deg, var(--grad-settings-a), var(--grad-settings-b))}input,select,button,textarea{font:inherit;color:var(--fg)}input[type=text],input[type=date],select{width:100%;min-width:0;max-width:100%;min-height:2.9rem;color:var(--fg);background-color:var(--input-bg);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);padding:.6rem .85rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}input[type=text]::placeholder{color:var(--fg-subtle)}input[type=text]:focus,input[type=date]:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 1.15rem) calc(50% + .1rem),calc(100% - .8rem) calc(50% + .1rem);background-repeat:no-repeat;background-size:.35rem .35rem;padding-right:2.25rem}input[type=date]{appearance:none;white-space:nowrap;text-align:left;display:block;overflow:hidden}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-datetime-edit{padding:0;overflow:hidden}input[type=color]{background:var(--input-bg);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;width:2.9rem;height:2.9rem;padding:.18rem}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:.55rem}input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--accent);flex-shrink:0}button{min-width:2.9rem;min-height:2.9rem;color:var(--fg);background-color:var(--surface);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;padding:.6rem .95rem;font-weight:600;transition:transform .12s,box-shadow .15s,background-color .15s}button:not(:disabled):active{transform:translateY(1px)scale(.98)}button:disabled{opacity:.42;cursor:default}.submit-button{letter-spacing:.03em;width:100%;min-height:3.1rem;color:var(--accent-fg);background-color:var(--accent);background-image:linear-gradient(135deg, var(--grad-work-a), var(--grad-work-b));border-radius:var(--radius-pill);box-shadow:var(--shadow-accent);border:none;font-size:1.02rem;font-weight:800}.delete-button{color:var(--danger);background-color:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.tab-panel{flex-direction:column;gap:1.35rem;display:flex}.task-form{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:.85rem;padding:1.15rem;display:flex}.form-field{min-width:0;color:var(--fg-muted);flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:700;display:flex}.title-preview{border-radius:var(--radius-md);background-image:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, var(--surface)), color-mix(in srgb, var(--accent-2) 12%, var(--surface)));border:1.5px dashed color-mix(in srgb, var(--accent) 45%, transparent);flex-direction:column;gap:.25rem;margin:.15rem 0 0;padding:.85rem 1rem;display:flex}.title-preview-label{letter-spacing:.08em;color:var(--accent);font-size:.7rem;font-weight:800}.title-preview-value{color:var(--fg);word-break:break-word;min-height:1.6rem;font-size:1.05rem;font-weight:700}.task-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.task-item{--task-color:var(--accent);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .95rem .85rem 1.2rem;display:flex;position:relative;overflow:hidden}.task-item:before{content:"";background-color:var(--task-color);width:.42rem;position:absolute;inset:0 auto 0 0}.task-item--private{--task-color:var(--accent-2)}.task-item-main{flex-direction:column;gap:.25rem;min-width:0;display:flex}.task-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.task-date{color:var(--fg-muted);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:800}.task-chip{border-radius:var(--radius-pill);color:var(--task-color);background-color:color-mix(in srgb, var(--task-color) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--task-color) 40%, transparent);white-space:nowrap;padding:.08rem .5rem;font-size:.7rem;font-weight:800}.task-title{overflow-wrap:break-word;font-size:.98rem;font-weight:600}.task-item .delete-button{flex-shrink:0;padding:.5rem .7rem;font-size:.85rem}.task-empty,.empty-state,.placeholder{text-align:center;color:var(--fg-muted);background-color:color-mix(in srgb, var(--surface) 60%, transparent);border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:.4rem;margin:0;padding:1.6rem 1.2rem;font-size:.92rem;display:flex}.empty-state-emoji{font-size:1.7rem}.settings-panel{gap:1.1rem}.settings-section{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:.75rem;padding:1.15rem;display:flex}.settings-section h3{color:var(--fg);align-items:center;gap:.5rem;margin:0;font-size:1.02rem;font-weight:800;display:flex}.settings-section h3:before{content:"";border-radius:var(--radius-pill);background-image:linear-gradient(180deg, var(--grad-settings-a), var(--grad-settings-b));width:.35rem;height:1.15rem}.project-list,.preset-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.project-item,.preset-item{background-color:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.55rem;padding:.6rem;display:flex}.preset-list{position:relative}.preset-item--draggable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;will-change:transform;transition:transform .16s,box-shadow .16s,background-color .16s}.preset-item--draggable input{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.preset-item--dragging{z-index:5;background-color:var(--surface);border-color:var(--accent);box-shadow:0 10px 24px #00000038, 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent);transition:box-shadow .16s}.preset-item--dragging input,.preset-item--dragging button{pointer-events:none}.drag-handle{width:1.9rem;height:2.4rem;color:var(--fg-subtle);cursor:grab;flex-shrink:0;place-items:center;margin:-.2rem -.15rem -.2rem -.1rem;font-size:1.05rem;line-height:1;display:grid}.preset-item--dragging .drag-handle{color:var(--accent);cursor:grabbing}body.is-reordering{-webkit-user-select:none;user-select:none}.project-item input[type=text],.preset-item input[type=text]{flex:1;min-width:7rem}.archived-text{opacity:.55;text-decoration:line-through}.project-item-actions,.preset-item-actions{flex-wrap:wrap;gap:.4rem;display:flex}.project-item-actions button,.preset-item-actions button{padding:.5rem .6rem;font-size:.85rem}.add-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.add-row input[type=text]{flex:1;min-width:8rem}.notice{border-radius:var(--radius-md);border:1.5px solid var(--border-strong);background-color:var(--surface-sunken);color:var(--fg-muted);margin:0;padding:.7rem .9rem;font-size:.85rem;line-height:1.55}.notice--error{color:var(--danger);background-color:var(--danger-bg);border-color:color-mix(in srgb, var(--danger) 45%, transparent);font-weight:600}.notice--info{color:var(--fg-muted)}.task-badge{white-space:nowrap;border-radius:var(--radius-pill);color:var(--warning);background-color:var(--warning-bg);border:1px solid color-mix(in srgb, var(--warning) 40%, transparent);padding:.08rem .5rem;font-size:.68rem;font-weight:800}.auth-status{border-radius:var(--radius-pill);color:var(--fg-muted);background-color:var(--surface-sunken);border:1.5px solid var(--border-strong);align-self:flex-start;align-items:center;gap:.4rem;margin:0;padding:.3rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.auth-status:before{content:"";background-color:currentColor;border-radius:50%;width:.55rem;height:.55rem}.auth-status--ok{color:var(--success);background-color:var(--success-bg);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.settings-help{color:var(--fg-muted);margin:0;font-size:.8rem;line-height:1.7}.radio-row{flex-direction:column;gap:.35rem;display:flex}.radio-row label{border-radius:var(--radius-md);background-color:var(--surface-sunken);border:1.5px solid var(--border);cursor:pointer;align-items:center;gap:.6rem;min-height:2.75rem;padding:.35rem .7rem;font-size:.9rem;display:flex}.radio-row label:has(input:checked){color:var(--fg);border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 12%, var(--surface));font-weight:700}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
