:root{--vue-green:#7186b6;--vue-green-dark:#50658f;--vue-slate:#33415c;--vue-ink:#293548;--vue-muted:#6f7d92;--vue-line:#dbe3f0;--page-bg:#eef2f8;--surface:#fbfcff;--shadow:#48577826;--input-border:#b5c3d9;--placeholder:#8b99ae;--quiet:#78869a;--subtle:#8390a4;--check-border:#b5c3d9;--completed:#8492aa;--completed-line:#aebbd1;--delete:#8390a4;--radius-card:24px;--radius-control:12px;color:var(--vue-ink);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--page-bg);min-width:320px}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button,label,.eyebrow,.bankai-banner,.theme-toggle,.filters,.task-count,.list-actions,.dialog-actions,.empty-mark,.storage-note,.app-footer{-webkit-user-select:none;user-select:none}#app{min-height:100vh}.page-shell{background:radial-gradient(circle at 82% 8%, #7186b63d, transparent 27rem), var(--page-bg);place-items:center;min-height:100vh;padding:40px 24px 30px;transition:background .5s,color .5s;display:grid;position:relative;overflow:hidden}.page-shell:before{content:"";pointer-events:none;opacity:.45;background-image:linear-gradient(118deg,#0000 0 48%,#7186b61f 48.2% 48.7%,#0000 49%),linear-gradient(62deg,#0000 0 55%,#7186b614 55.2% 55.7%,#0000 56%);background-size:130px 130px,190px 190px;position:absolute;inset:0}.todo-card{width:min(100%,620px);color:var(--vue-ink);background:var(--surface);border:1px solid var(--vue-line);border-radius:var(--radius-card);box-shadow:0 20px 70px var(--shadow);z-index:1;padding:clamp(34px,7vw,64px);transition:background .5s,border-color .5s,box-shadow .5s;position:relative}.intro{margin-bottom:34px}.theme-toggle{border:1px solid var(--vue-line);min-height:44px;color:var(--vue-slate);background:color-mix(in srgb, var(--surface) 88%, transparent);white-space:nowrap;border-radius:12px;align-items:center;gap:7px;padding:8px 13px;font:700 11px Arial,sans-serif;transition:border-color .2s,color .2s,background .2s,transform .2s;display:inline-flex;position:absolute;top:28px;right:28px;box-shadow:0 5px 16px #35495e14}.theme-toggle:hover,.theme-toggle:focus-visible{border-color:var(--vue-green);color:var(--vue-green-dark);outline:none}.theme-toggle:hover{transform:translateY(-1px)}.theme-toggle span{font-size:15px;line-height:1}.eyebrow{color:var(--vue-green-dark);letter-spacing:.16em;text-transform:uppercase;font:700 11px/1.2 Arial,sans-serif}.eyebrow-dot{background:var(--vue-green);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.bankai-banner{border:1px solid var(--vue-line);border-left:3px solid var(--vue-green);border-radius:var(--radius-control);background:color-mix(in srgb, var(--vue-green) 7%, transparent);align-items:center;gap:12px;max-width:410px;margin:22px 0 26px;padding:12px 14px;display:flex}.bankai-symbol{border:1px solid var(--vue-green);width:30px;height:30px;color:var(--vue-green-dark);border-radius:50%;flex:0 0 30px;place-items:center;font-size:19px;display:grid}.bankai-copy{gap:3px;min-width:0;display:grid}.bankai-copy strong{color:var(--vue-slate);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font:700 11px Arial,sans-serif;overflow:hidden}.bankai-copy small{color:var(--subtle);letter-spacing:.04em;font:10px Arial,sans-serif}.bankai-mark{color:var(--vue-green);opacity:.65;margin-left:auto;font-size:21px}.character-art{border:1px solid var(--vue-line);border-radius:var(--radius-control);background:linear-gradient(145deg,#dbe7f9cc,#ffffff1a);width:100%;height:190px;margin:4px 0 8px;position:relative;overflow:hidden}.character-art:before{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff73 45%,#0000 60%) 0 0/220% 100%;animation:1.4s linear infinite image-shimmer;position:absolute;inset:0}.character-art.image-ready:before,.character-art.image-failed:before{display:none}.character-image{object-fit:contain;object-position:center;opacity:0;mix-blend-mode:multiply;width:100%;height:100%;transition:opacity .25s;display:block}.image-ready .character-image{opacity:1}h1{color:var(--vue-slate);letter-spacing:-.045em;margin:10px 0 16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,8vw,67px);font-weight:400;line-height:.98}h1 em{color:var(--vue-green-dark);font-style:italic}.subtitle{max-width:370px;color:var(--vue-muted);font:15px/1.55 Arial,sans-serif}.task-form{border:1px solid var(--vue-line);border-radius:var(--radius-control);background:color-mix(in srgb, var(--vue-green) 5%, transparent);gap:12px;padding:8px 8px 8px 16px;display:flex}.task-form input{min-width:0;color:var(--vue-ink);background:0 0;border:0;outline:0;flex:1;padding:10px 0;font-size:16px}.task-form:focus-within{border-color:var(--vue-green);box-shadow:0 0 0 3px color-mix(in srgb, var(--vue-green) 18%, transparent)}.task-form input:focus{outline:none}.task-form input::placeholder{color:var(--placeholder)}.task-form button{color:#fff;background:var(--vue-green);border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 17px;font:700 13px Arial,sans-serif;display:inline-flex}.task-form button:hover{background:var(--vue-green-dark)}.task-form button:focus-visible{outline-offset:3px;outline:3px solid #42b88359}.task-form button span{font-size:20px;font-weight:400;line-height:.7}.toolbar{justify-content:space-between;align-items:center;padding:25px 0 13px;display:flex}.filters{border:1px solid var(--vue-line);border-radius:9px;gap:2px;padding:3px;display:flex}.filters button,.card-footer button{min-height:30px;color:var(--quiet);text-transform:capitalize;background:0 0;border:0;border-radius:6px;padding:0 10px;font:11px Arial,sans-serif}.filters button:focus-visible,.list-actions button:focus-visible{outline:3px solid color-mix(in srgb, var(--vue-green) 35%, transparent);outline-offset:2px}.filters button.selected{color:var(--vue-slate);background:var(--surface);font-weight:700;box-shadow:0 1px 3px #35495e1f}.task-count,.card-footer{color:var(--subtle);font:11px Arial,sans-serif}.list-actions{justify-content:flex-end;gap:16px;padding:0 0 12px;display:flex}.list-actions button,.edit-actions button{color:var(--subtle);background:0 0;border:0;padding:0;font:11px Arial,sans-serif}.list-actions button:hover,.edit-actions button:hover{color:var(--vue-green-dark)}.task-list{border-top:1px solid var(--vue-line)}.task-row{border-bottom:1px solid var(--vue-line);align-items:center;gap:12px;min-height:74px;padding:8px 0;animation:.25s both appear;display:flex}.task-check{flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:44px;display:flex}.task-check input{opacity:0;position:absolute}.checkmark{border:1px solid var(--check-border);color:#0000;background:0 0;border-radius:6px;place-items:center;width:22px;height:22px;font:700 13px Arial,sans-serif;transition:all .2s;display:grid}.task-check input:focus-visible+.checkmark{outline:3px solid color-mix(in srgb, var(--vue-green) 35%, transparent);outline-offset:2px}.task-check input:checked+.checkmark{border-color:var(--vue-green);color:#fff;background:var(--vue-green)}.task-copy{flex:1;min-width:0}.task-title{font-size:16px;line-height:1.4;display:block}.task-date{color:var(--subtle);letter-spacing:.02em;margin-top:4px;font:10px/1.3 Arial,sans-serif;display:block}.edit-input{border:1px solid var(--vue-green);min-width:0;min-height:44px;color:var(--vue-ink);background:color-mix(in srgb, var(--vue-green) 5%, var(--surface));border-radius:8px;outline:0;flex:1;padding:9px 11px;font-size:16px}.completed .task-title{color:var(--completed);text-decoration:line-through;-webkit-text-decoration-color:var(--completed-line);text-decoration-color:var(--completed-line)}.task-actions,.edit-actions{flex:none;align-items:center;gap:8px;display:flex}.edit-button,.delete-button{border:1px solid var(--vue-line);width:44px;height:44px;color:var(--delete);background:0 0;border-radius:8px;place-items:center;padding:0;display:grid}.edit-button{font:17px Arial,sans-serif}.delete-button{font:20px Arial,sans-serif}.edit-button:hover,.edit-button:focus-visible,.delete-button:hover,.delete-button:focus-visible{border-color:var(--vue-green);color:var(--vue-green-dark);background:color-mix(in srgb, var(--vue-green) 8%, transparent);outline:none}.edit-actions button{border:1px solid var(--vue-line);width:44px;height:44px;color:var(--subtle);background:0 0;border-radius:8px;place-items:center;padding:0;font:18px Arial,sans-serif;display:grid}.edit-actions button:first-child{border-color:var(--vue-green);color:var(--vue-green-dark)}.edit-actions button:hover,.edit-actions button:focus-visible{border-color:var(--vue-green);color:var(--vue-green-dark);background:color-mix(in srgb, var(--vue-green) 8%, transparent);outline:none}.app-dialog{border:1px solid var(--vue-line);border-top:3px solid var(--vue-green);width:min(100% - 32px,430px);color:var(--vue-ink);background:linear-gradient(155deg, color-mix(in srgb, var(--vue-green) 5%, var(--surface)), var(--surface) 42%);border-radius:18px;padding:0;animation:.18s ease-out both dialog-in}.app-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1016247a;animation:.18s ease-out both backdrop-in}.app-dialog.is-closing{animation:.18s ease-in both dialog-out}.app-dialog.is-closing::backdrop{animation:.18s ease-in both backdrop-out}.dialog-card{padding:26px}.dialog-heading{align-items:flex-start;gap:14px;display:flex}.dialog-heading>div{min-width:0}.dialog-mark{border:1px solid color-mix(in srgb, var(--vue-green) 50%, var(--vue-line));width:38px;height:38px;color:var(--vue-green-dark);background:color-mix(in srgb, var(--vue-green) 12%, transparent);border-radius:11px;flex:0 0 38px;place-items:center;font-size:17px;display:grid}.dialog-heading h2{color:var(--vue-slate);letter-spacing:-.01em;margin:1px 0 0;font:700 19px/1.2 Arial,sans-serif}.dialog-heading p{color:var(--vue-muted);margin:8px 0 0;font:13px/1.55 Arial,sans-serif}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:26px;display:flex}.dialog-actions button{border-radius:9px;min-height:44px;padding:10px 16px;font:700 12px Arial,sans-serif;transition:border-color .2s,color .2s,background .2s,transform .2s}.dialog-cancel{border:1px solid var(--vue-line);color:var(--vue-slate);background:0 0}.dialog-confirm{border:1px solid var(--vue-green);color:#fff;background:var(--vue-green)}.dialog-actions button:hover,.dialog-actions button:focus-visible{border-color:var(--vue-green-dark);outline:3px solid color-mix(in srgb, var(--vue-green) 25%, transparent);outline-offset:2px;transform:translateY(-1px)}.dialog-cancel:hover{color:var(--vue-green-dark);background:color-mix(in srgb, var(--vue-green) 8%, transparent)}.dialog-confirm:hover{background:var(--vue-green-dark)}.empty-state{text-align:center;border-top:1px solid var(--vue-line);border-bottom:1px solid var(--vue-line);padding:48px 0 44px}.empty-mark{color:var(--vue-green);margin-bottom:14px;font-size:24px;display:block}.empty-state p{margin:0 0 6px;font-size:18px}.empty-state small{color:var(--subtle);font:12px Arial,sans-serif}.card-footer{justify-content:space-between;padding-top:20px;display:flex}.card-footer button:hover{color:var(--vue-green-dark)}.storage-note{color:var(--subtle);letter-spacing:.03em;margin:24px 0 0;font:11px Arial,sans-serif}.storage-note span{color:var(--vue-green);font-size:15px}.app-footer{color:var(--subtle);letter-spacing:.05em;text-align:center;margin-top:10px;font:11px Arial,sans-serif}.app-footer strong{color:var(--vue-green-dark);font-weight:700}.dark-mode{--vue-green:#d3a4c8;--vue-green-dark:#b980af;--vue-ink:#f7f4fb;--vue-slate:#f0eafb;--vue-muted:#bcb4ce;--vue-line:#3d3850;--page-bg:#131522;--surface:#1c2031;--shadow:#0708126b;--input-border:#655a78;--placeholder:#9b91ad;--quiet:#aaa0ba;--subtle:#aa9fb7;--check-border:#806e89;--completed:#958aa4;--completed-line:#b887aa;--delete:#9e91ad;color:var(--vue-ink);background:radial-gradient(circle at 82% 8%, #d3a4c838, transparent 27rem), var(--page-bg)}.dark-mode:before{opacity:.5;background-image:linear-gradient(124deg,#0000 0 42%,#d3a4c829 42.2% 42.8%,#0000 43%),linear-gradient(56deg,#0000 0 64%,#d3a4c81a 64.2% 64.8%,#0000 65%);background-size:90px 90px,150px 150px}.byakuya-banner{border-left-color:var(--vue-green);background:linear-gradient(100deg,#d3a4c821,#0000)}.byakuya-art{background:#eee7f2}.high-contrast{--vue-green:#ff3131;--vue-green-dark:#d41414;--vue-ink:#fff;--vue-slate:#fff;--vue-muted:#f1f1f1;--vue-line:#fff;--page-bg:#050505;--surface:#111;--shadow:#000000a6;--input-border:#fff;--placeholder:#d6d6d6;--quiet:#fff;--subtle:#dedede;--check-border:#fff;--completed:#bdbdbd;--completed-line:#ff3131;--delete:#fff;color:var(--vue-ink);background:linear-gradient(135deg,#050505 0 68%,#280909 68% 100%)}.high-contrast:before{opacity:.35;background-image:linear-gradient(112deg,#0000 0 48%,#ff313180 48.2% 49%,#0000 49.2%),linear-gradient(68deg,#0000 0 55%,#ffffff40 55.2% 55.8%,#0000 56%);background-size:120px 120px,180px 180px}.high-contrast .todo-card{border-color:#fff}.ichigo-banner{border-left-color:var(--vue-green);background:linear-gradient(100deg,#ff313133,#0000)}.ichigo-art .character-image{object-fit:cover;object-position:center center;width:100%;height:100%;margin:0 -1.5rem 0 auto}.ichigo-art{background:#f5f5f5}.high-contrast .character-image{mix-blend-mode:normal}.high-contrast .bankai-symbol{border-radius:5px}.task-check input:checked+.checkmark{animation:.3s ease-out complete-pop}@keyframes appear{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes complete-pop{0%{transform:scale(.7)}75%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialog-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes image-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@media (width<=480px){.page-shell{align-items:start;padding:16px 12px 24px}.todo-card{border-radius:18px;padding:28px 18px 22px}.intro{margin-bottom:30px;padding-top:48px}.theme-toggle{min-height:44px;padding-inline:11px;top:14px;right:14px}h1{margin-top:24px;font-size:clamp(38px,12vw,54px)}.subtitle{max-width:290px;font-size:14px}.bankai-banner{margin-top:20px}.bankai-copy strong{font-size:10px}.task-form{gap:8px;padding-left:12px}.task-form button{padding-inline:13px}.toolbar{flex-direction:column;align-items:flex-start;gap:14px}.filters{flex-wrap:wrap;width:100%}.task-count{align-self:flex-end;margin-top:-4px}.list-actions{padding-bottom:8px}.task-row{gap:8px}.task-copy{overflow-wrap:anywhere}.task-actions,.edit-actions{gap:6px}.app-dialog{border-radius:16px;width:calc(100% - 24px)}.dialog-card{padding:22px 20px 20px}.dialog-actions{margin-top:20px}.dialog-actions button{flex:1}.character-art{border-radius:12px;height:170px;margin:18px 0 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
