@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_2d4f0fd4-module__F8xy9G__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_2d4f0fd4-module__F8xy9G__variable{--font-outfit:"Outfit", "Outfit Fallback"}
:root{--font-sans:var(--font-noto-sans-jp), var(--font-outfit), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-gradient:linear-gradient(135deg, #f4fbf7 0%, #e6f4ea 100%);--card-bg:#ffffffe6;--card-border:#10b9811a;--card-shadow:0 10px 40px 0 #064e3b0d;--text-main:#0f172a;--text-muted:#475569;--text-completed:#94a3b8;--primary:#10b981;--primary-hover:#059669;--primary-light:#10b9811a;--primary-glow:#10b98133;--danger:#f43f5e;--danger-hover:#e11d48;--danger-light:#f43f5e1a;--success:#10b981;--input-bg:#fffffff2;--input-border:#cbd5e1;--input-focus-border:#10b981;--input-focus-shadow:#10b98140;--prio-high-bg:#ef44441a;--prio-high-text:#ef4444;--prio-medium-bg:#f59e0b1a;--prio-medium-text:#d97706;--prio-low-bg:#3b82f61a;--prio-low-text:#2563eb;--cat-work-bg:#6366f11a;--cat-work-text:#4f46e5;--cat-personal-bg:#ec48991a;--cat-personal-text:#db2777;--cat-other-bg:#64748b1a;--cat-other-text:#475569}@media (prefers-color-scheme:dark){:root{--bg-gradient:linear-gradient(135deg, #022c22 0%, #064e3b 50%, #0f172a 100%);--card-bg:#0f172abf;--card-border:#10b98126;--card-shadow:0 10px 40px 0 #0006;--text-main:#f8fafc;--text-muted:#94a3b8;--text-completed:#475569;--primary:#34d399;--primary-hover:#10b981;--primary-light:#34d3991f;--primary-glow:#34d3994d;--danger:#fb7185;--danger-hover:#f43f5e;--danger-light:#fb718526;--success:#34d399;--input-bg:#1e293bb3;--input-border:#ffffff1a;--input-focus-border:#34d399;--input-focus-shadow:#34d3994d;--prio-high-bg:#f8717126;--prio-high-text:#f87171;--prio-medium-bg:#fbbf2426;--prio-medium-text:#fbbf24;--prio-low-bg:#60a5fa26;--prio-low-text:#60a5fa;--cat-work-bg:#818cf826;--cat-work-text:#818cf8;--cat-personal-bg:#f472b626;--cat-personal-text:#f472b6;--cat-other-bg:#94a3b826;--cat-other-text:#94a3b8}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-gradient);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;line-height:1.5;display:flex}.app-container{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);width:100%;max-width:620px;box-shadow:var(--card-shadow);border-radius:28px;padding:36px;transition:all .3s}.app-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.app-title{letter-spacing:-.03em;background:linear-gradient(to right, var(--primary), #3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:10px;font-size:1.9rem;font-weight:800;display:flex}.app-subtitle{color:var(--primary);background:var(--primary-light);border-radius:20px;padding:4px 12px;font-size:.85rem;font-weight:600}.dashboard-summary{border:1px solid var(--card-border);background:#10b98108;border-radius:20px;align-items:center;gap:28px;margin-bottom:32px;padding:20px 24px;display:flex}.progress-circle-container{flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.progress-circle-bg{fill:none;stroke:var(--input-border);opacity:.2}.progress-circle-bar{fill:none;stroke:var(--primary);stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .5s cubic-bezier(.4,0,.2,1);transform:rotate(-90deg)}.progress-text{color:var(--text-main);font-size:1.1rem;font-weight:700;font-family:var(--font-outfit), sans-serif;position:absolute}.stats-info{flex:1;grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat-item{flex-direction:column;display:flex}.stat-label{color:var(--text-muted);margin-bottom:2px;font-size:.75rem;font-weight:500}.stat-val{color:var(--text-main);font-size:1.3rem;font-weight:700;font-family:var(--font-outfit), sans-serif}.todo-form-card{border:1px solid var(--input-border);background:#00000005;border-radius:18px;margin-bottom:28px;padding:20px}@media (prefers-color-scheme:dark){.todo-form-card{background:#ffffff05}}.todo-form-row{gap:12px;margin-bottom:12px;display:flex}.todo-form-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.form-select,.form-date-input{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-main);cursor:pointer;border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:.85rem;transition:all .2s}.form-select:focus,.form-date-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.todo-input{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-main);border-radius:12px;outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:all .2s}.todo-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.add-button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 20px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #10b98133}.add-button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #10b9814d}.add-button:active{transform:translateY(1px)}.filters-container{border-bottom:1px dashed var(--input-border);flex-direction:column;gap:12px;margin-bottom:24px;padding-bottom:16px;display:flex}.filter-row{align-items:center;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row{-ms-overflow-style:none;scrollbar-width:none}.filter-label{color:var(--text-muted);white-space:nowrap;min-width:50px;font-size:.75rem;font-weight:700}.filter-chips{gap:6px;display:flex}.filter-chip{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#00000008;border:1px solid #0000;border-radius:20px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .2s}@media (prefers-color-scheme:dark){.filter-chip{background:#ffffff08}}.filter-chip:hover{background:var(--primary-light);color:var(--primary)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px var(--primary-glow)}.todo-list{flex-direction:column;gap:12px;max-height:420px;padding-right:6px;list-style:none;display:flex;overflow-y:auto}.todo-list::-webkit-scrollbar{width:6px}.todo-list::-webkit-scrollbar-track{background:0 0}.todo-list::-webkit-scrollbar-thumb{background:var(--input-border);border-radius:10px}.todo-item{background:var(--input-bg);border:1px solid var(--input-border);border-radius:16px;justify-content:space-between;align-items:center;padding:16px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn;display:flex}.todo-item:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 20px #0000000a}@keyframes slideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.todo-item.completed{border-color:var(--input-border);opacity:.75;background:#00000004}@media (prefers-color-scheme:dark){.todo-item.completed{background:#ffffff03}}.todo-content-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:flex-start;gap:14px;display:flex}.custom-checkbox{border:2px solid var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;transition:all .2s;display:flex;position:relative}.todo-content-wrapper:hover .custom-checkbox{border-color:var(--primary);background:var(--primary-light)}.checkbox-icon{opacity:0;border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:8px;transition:all .15s;transform:rotate(-45deg)translate(1px,-1px)}.custom-checkbox.checked{background:var(--success);border-color:var(--success);animation:.3s cubic-bezier(.175,.885,.32,1.275) checkboxBounce}@keyframes checkboxBounce{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}.custom-checkbox.checked .checkbox-icon{opacity:1}.todo-main-section{flex-direction:column;flex:1;gap:6px;display:flex}.todo-text{color:var(--text-main);word-break:break-all;font-size:.95rem;font-weight:600;transition:all .25s;display:inline-block;position:relative}.todo-text.completed-text{color:var(--text-completed)}.todo-text.completed-text:after{content:"";background:var(--text-completed);transform-origin:0;width:100%;height:1.5px;animation:.25s cubic-bezier(.4,0,.2,1) forwards strikeThrough;position:absolute;top:50%;left:0;transform:scaleX(0)}@keyframes strikeThrough{to{transform:scaleX(1)}}.todo-meta-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge{border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-prio-high{background:var(--prio-high-bg);color:var(--prio-high-text)}.badge-prio-medium{background:var(--prio-medium-bg);color:var(--prio-medium-text)}.badge-prio-low{background:var(--prio-low-bg);color:var(--prio-low-text)}.badge-cat-work{background:var(--cat-work-bg);color:var(--cat-work-text)}.badge-cat-personal{background:var(--cat-personal-bg);color:var(--cat-personal-text)}.badge-cat-other{background:var(--cat-other-bg);color:var(--cat-other-text)}.badge-due-date{color:var(--text-muted);border:1px solid var(--input-border);background:#0000000a}@media (prefers-color-scheme:dark){.badge-due-date{background:#ffffff0a}}.badge-due-date.overdue{background:var(--danger-light);color:var(--danger);border-color:#f43f5e33}.delete-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;margin-left:12px;padding:8px;transition:all .2s;display:flex}.delete-button:hover{color:var(--danger);background:var(--danger-light);transform:scale(1.05)}.delete-button:active{transform:scale(.95)}.empty-state{text-align:center;color:var(--text-muted);border:1px dashed var(--input-border);background:#00000003;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.empty-icon{opacity:.85;margin-bottom:12px;font-size:2.8rem;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.empty-text{font-size:.95rem;font-weight:600}
