@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Mono:wght@300;400;500&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}#root{min-height:100vh}:root{--bg:#e8f4fd;--surface:#fff;--ink:#0d2b45;--accent:#2196f3;--accent-light:#bbdefb;--accent-dark:#1565c0;--muted:#78a9c8;--line:#c5dff0;--done:#a0bfd4;--danger:#e53935;--shadow:#2196f31a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--ink);background-image:radial-gradient(circle at 20% 20%,#2196f314 0%,#0000 50%),radial-gradient(circle at 80% 80%,#1565c012 0%,#0000 50%);min-height:100vh;font-family:DM Mono,monospace}.app{justify-content:center;align-items:flex-start;min-height:100vh;padding:60px 20px;display:flex}.container{width:100%;max-width:580px}.header{align-items:baseline;gap:16px;margin-bottom:12px;padding-bottom:12px;display:block}.header-tag{letter-spacing:.2em;color:var(--accent);font-family:DM Mono,monospace;font-size:11px;font-weight:500}.title{letter-spacing:.04em;color:var(--ink);flex:1;font-family:Bebas Neue,sans-serif;font-size:64px;line-height:1}.header-count{color:var(--muted);letter-spacing:.1em;white-space:nowrap;font-size:11px}.header-top{border-bottom:3px solid var(--accent);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.header-bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}:is(.header-buttons button,.settings-buttons button,.tag-filter-toggle){border:1px solid var(--line);letter-spacing:.1em;color:var(--muted);cursor:pointer;background:0 0;border-radius:2px;padding:6px 12px;font-family:DM Mono,monospace;font-size:10px;transition:all .15s}.header-buttons button:hover,.settings-buttons button:hover,.tag-filter-toggle:hover{color:var(--accent);border-color:var(--accent)}.input-form{background:var(--surface);border:2px solid var(--accent-light);box-shadow:0 4px 16px var(--shadow);border-radius:4px;margin-bottom:24px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.input-form:focus-within{border-color:var(--accent);box-shadow:0 4px 24px #2196f32e}.input-row{display:flex}.todo-input{color:var(--ink);letter-spacing:.02em;background:0 0;border:none;outline:none;flex:1;padding:14px 16px;font-family:DM Mono,monospace;font-size:13px}.todo-input::placeholder{color:var(--muted)}.add-btn{background:var(--accent);color:#fff;letter-spacing:.1em;cursor:pointer;border:none;padding:14px 22px;font-family:Bebas Neue,sans-serif;font-size:18px;transition:background .15s}.add-btn:hover{background:var(--accent-dark)}.desc-input{background:var(--bg);border:none;border-top:1px solid var(--line);width:100%;color:var(--ink);letter-spacing:.02em;resize:none;outline:none;padding:10px 16px 14px;font-family:DM Mono,monospace;font-size:11px;line-height:1.6}.desc-input::placeholder{color:var(--muted)}.filter-row{border-bottom:1px solid var(--line);gap:0;margin-bottom:8px;display:flex}.filter-btn{letter-spacing:.15em;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;padding:10px;font-family:DM Mono,monospace;font-size:10px;font-weight:400;transition:all .15s}.filter-btn:hover{color:var(--ink);background:var(--accent-light)}.filter-btn.active{color:#fff;background:var(--accent);border-radius:4px;font-weight:500}.todo-list{flex-direction:column;gap:8px;margin-top:8px;list-style:none;display:flex}.todo-item{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 8px var(--shadow);border-radius:4px;align-items:flex-start;gap:14px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;animation:.2s slideIn;display:flex}.todo-item:hover{border-color:var(--accent-light);box-shadow:0 4px 14px #2196f321}.todo-item.completed{border-color:var(--line);box-shadow:none;background:#f0f8ff}@keyframes slideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.check-btn{border:2px solid var(--accent);cursor:pointer;color:#fff;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;transition:background .15s,border-color .15s;display:flex}.todo-item.completed .check-btn{background:var(--accent);border-color:var(--accent)}.todo-content{flex-direction:column;flex:1;gap:4px;display:flex}.todo-text{letter-spacing:.02em;font-size:13px;line-height:1.5;transition:color .2s}.todo-desc{color:var(--muted);letter-spacing:.01em;font-size:11px;line-height:1.5}.todo-item.completed .todo-text{color:var(--done);text-decoration:line-through;-webkit-text-decoration-color:var(--done);text-decoration-color:var(--done)}.todo-item.completed .todo-desc{color:var(--line)}.delete-btn{color:var(--line);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:20px;line-height:1;transition:color .15s}.delete-btn:hover{color:var(--danger)}.edit-btn{cursor:pointer;background:0 0;border:none;margin-top:.5px}.edit-btn:hover{color:var(--accent)}.todo-item.editing{flex-direction:column;align-items:stretch;padding:16px}.edit-form{flex-direction:column;gap:12px;display:flex}.edit-input,.edit-textarea{background:var(--bg);border:1px solid var(--accent-light);color:var(--ink);letter-spacing:.02em;resize:vertical;border-radius:2px;outline:none;padding:10px 12px;font-family:DM Mono,monospace;font-size:11px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.edit-input{font-size:13px}.edit-input:focus,.edit-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2196f31a}.edit-buttons{justify-content:flex-end;gap:8px;display:flex}.save-btn,.cancel-btn{border:1px solid var(--line);letter-spacing:.1em;cursor:pointer;text-transform:uppercase;border-radius:2px;padding:8px 16px;font-family:DM Mono,monospace;font-size:11px;transition:all .15s}.save-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.save-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.cancel-btn{color:var(--muted);background:0 0}.cancel-btn:hover{color:var(--ink);border-color:var(--muted)}.empty{text-align:center;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;padding:48px 0;font-size:11px}.clear-btn{border:1px solid var(--line);letter-spacing:.15em;color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;border-radius:2px;margin-top:16px;margin-left:auto;padding:8px 16px;font-family:DM Mono,monospace;font-size:10px;transition:border-color .15s,color .15s;display:block}.clear-btn:hover{border-color:var(--danger);color:var(--danger)}.settings-card{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 10px var(--shadow);border-radius:4px;margin-top:24px;padding:20px}.settings-row{justify-content:space-between;align-items:center;display:flex}.settings-buttons{align-items:flex-start;gap:8px;display:flex}.settings-import{align-items:flex-start;display:flex}.settings-modal-overlay{z-index:1100;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.settings-modal{border:1px solid var(--line);background:var(--surface);width:min(100%,420px);box-shadow:0 10px 30px var(--shadow);border-radius:4px;padding:28px 32px}.settings-modal p{color:var(--danger);margin:0;font-family:DM Mono,monospace;font-size:14px;line-height:1.6}.settings-warning-actions{justify-content:center;gap:8px;margin-top:10px;display:flex}.help-fab{background-color:var(--accent,#646cff);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:24px;font-weight:700;transition:transform .2s,background-color .2s;display:flex;position:fixed;bottom:30px;right:30px;box-shadow:0 4px 12px #0003}.help-fab:hover{filter:brightness(1.1);transform:scale(1.1)}.help-fab:active{transform:scale(.95)}@media (width<=600px){.help-fab{width:45px;height:45px;bottom:20px;right:20px}}[data-theme=dark]{--bg:#0a141c;--surface:#0f1f2b;--ink:#e6f1fb;--accent:#5fb3ff;--accent-light:#163a5a;--accent-dark:#8cc8ff;--muted:#5f8aa6;--line:#183246;--done:#3e5f73;--shadow:#00000059}[data-theme=dark] body{background-image:radial-gradient(circle at 20% 20%,#5fb3ff14 0%,#0000 50%),radial-gradient(circle at 80% 80%,#5fb3ff0d 0%,#0000 50%)}[data-theme=dark] .todo-item.completed{background:#0c1822}[data-theme=dark] .edit-input,[data-theme=dark] .edit-textarea{color:#e6f1fb;background:#0f1f2b;border-color:#163a5a}[data-theme=dark] .edit-input:focus,[data-theme=dark] .edit-textarea:focus{border-color:#5fb3ff;box-shadow:0 0 0 3px #5fb3ff1a}.tag-row{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tag{border:1px solid var(--line);color:var(--muted);background:var(--bg);border-radius:2px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:flex}.tag button{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:10px;line-height:1}.tag button:hover{color:var(--danger)}.tag-add-btn,.subtask-add-btn{cursor:pointer;color:var(--line);background:0 0;border:none;margin-top:2px;font-size:16px;line-height:1}.tag-add-btn:hover,.subtask-add-btn:hover{color:var(--danger)}.about-container{max-width:600px;padding:24px;line-height:1.6}.hero-text{color:var(--ink);font-size:14px;font-weight:500}.section-subtitle{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:12px;font-size:13px}.feature-list{padding-bottom:20px;font-size:12px;list-style:none}.feature-list li{border-left:2px solid var(--line);margin-bottom:8px;padding-left:12px}.prereq-section{flex-direction:column;align-items:center;margin-top:20px;display:flex}.badge-group{justify-content:center;gap:12px;margin-top:8px;display:flex}.code-badge{color:#333;background:#f4f4f4;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-family:Courier New,Courier,monospace;font-size:13px;display:inline-block}.divider{border:0;border-top:1px solid var(--line);opacity:.3;margin:20px 0}.team-footer{border-top:1px solid var(--line);margin-top:32px;padding-top:16px}.team-label{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.team-grid{color:var(--muted);gap:4px;font-size:11px;display:grid}.tag-filter-bar{margin:0;position:relative}.tag-dropdown{background:var(--surface);border:1px solid var(--line);min-width:180px;box-shadow:0 4px 14px var(--shadow);z-index:20;border-radius:4px;flex-direction:column;gap:6px;padding:10px;animation:.15s dropdownFade;display:flex;position:absolute;top:36px;left:0}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tag-option{color:var(--ink);cursor:pointer;letter-spacing:.05em;align-items:center;gap:8px;font-size:11px;display:flex}.tag-option input{accent-color:var(--accent);cursor:pointer}.tag-option:hover{color:var(--accent)}.empty-tags{color:var(--muted);letter-spacing:.1em;text-align:center;padding:6px 0;font-size:10px}.subtask-list{flex-direction:column;gap:4px;margin-top:6px;display:flex}.subtask-item{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.subtask-text.done{color:var(--line);text-decoration:line-through}.subtask-delete{cursor:pointer;color:var(--line);background:0 0;border:none;font-size:10px}.subtask-delete:hover{color:var(--danger)}[data-theme=dark] .subtask-delete{color:var(--ink)}[data-theme=dark] .subtask-delete:hover{color:#ff6b6b}.subtask-check{border:1px solid var(--line);cursor:pointer;width:16px;height:16px;color:var(--ink);background:0 0;justify-content:center;align-items:center;font-size:10px;display:flex}
