:root{--bg:#f5f5f2;--text:#1a1a1a;--text-muted:#888;--text-light:#aaa;--card-bg:#fff;--border:#e0e0e0;--border-hover:#bbb;--red:#e24b4a;--amber:#ba7517;--red-bg:#fcebeb;--red-fg:#a32d2d;--amber-bg:#faeeda;--amber-fg:#633806;--blue-bg:#e6f1fb;--blue-fg:#185fa5;--green-bg:#eaf3de;--green-fg:#27500a;--gray-bg:#f1efe8;--gray-fg:#5f5e5a;--divider:#f0f0f0;--dot:#ccc}body.dark-mode{--bg:#1a1a1a;--text:#f5f5f5;--text-muted:#a3a3a3;--text-light:#737373;--card-bg:#2d2d2d;--border:#404040;--border-hover:#666;--red:#f472b6;--amber:#fbbf24;--red-bg:#4c1d28;--red-fg:#fbcfe8;--amber-bg:#422a14;--amber-fg:#fde68a;--blue-bg:#1e3a5f;--blue-fg:#bfdbfe;--green-bg:#1c3d25;--green-fg:#bbf7d0;--gray-bg:#3f3f3f;--gray-fg:#d4d4d4;--divider:#404040;--dot:#666}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .2s,color .2s}.header-flex{justify-content:space-between;align-items:flex-start;display:flex}.theme-toggle{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;transition:color .2s}.theme-toggle:hover{color:var(--text)}h1{margin-bottom:.25rem;font-size:18px;font-weight:500}.subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:13px}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);margin:1.75rem 0 .75rem;font-size:11px;font-weight:500}.stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:.5rem;display:grid}.stat{background:var(--card-bg);border:.5px solid var(--border);border-radius:10px;padding:.875rem 1rem;transition:background .2s,border-color .2s}.stat-label{color:var(--text-muted);margin-bottom:4px;font-size:12px}.stat-value{font-size:24px;font-weight:500}.stat-value.red{color:var(--red)}.stat-value.amber{color:var(--amber)}.grid{gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:var(--card-bg);border:.5px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;padding:.875rem 1rem;transition:border-color .15s,background .2s;display:flex;position:relative;overflow:hidden}.card:hover{border-color:var(--border-hover)}.card-image{object-fit:cover;object-position:center 15%;border-bottom:.5px solid var(--border);flex-shrink:0;width:calc(100% + 2rem);height:160px;margin:-.875rem -1rem .875rem;display:block}.card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:5px;display:flex}.card-name{color:var(--text);font-size:13px;font-weight:500;line-height:1.4}.card-notes{color:var(--text-muted);border-top:.5px solid var(--divider);white-space:pre-wrap;margin-top:.75rem;padding-top:.75rem;font-size:12px;line-height:1.5;display:none}.card.expanded .card-notes{display:block}.notes-link{color:var(--blue-fg);border-top:.5px dashed var(--divider);align-items:center;gap:4px;width:100%;margin-top:.5rem;padding-top:.5rem;font-size:11px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.notes-link:hover{opacity:.8}.badge{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:500}.badge-red{background:var(--red-bg);color:var(--red-fg)}.badge-amber{background:var(--amber-bg);color:var(--amber-fg)}.badge-blue{background:var(--blue-bg);color:var(--blue-fg)}.badge-green{background:var(--green-bg);color:var(--green-fg)}.badge-gray{background:var(--gray-bg);color:var(--gray-fg)}.badge-notes{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.05em;cursor:pointer;z-index:2;background:#0006;border:.5px solid #ffffff4d;font-weight:600;text-decoration:none;transition:background .2s;position:absolute;top:12px;right:12px}.badge-notes:hover{color:#fff;background:#0009;border-color:#fff}.card-action{color:var(--text-muted);font-size:12px;line-height:1.5}.task-row{border-bottom:.5px solid var(--divider);align-items:flex-start;gap:10px;padding:.5rem 0;transition:opacity .2s;display:flex}.task-row.completing{opacity:.4;pointer-events:none}.task-checkbox{border:1.5px solid var(--border-hover);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:2px;transition:all .2s;display:flex}.task-checkbox:hover{border-color:var(--text-light)}.task-checkbox svg{opacity:0;width:10px;height:10px;stroke:var(--bg);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.task-checkbox.done{background:var(--green-fg);border-color:var(--green-fg)}.task-checkbox.done svg{opacity:1}.add-task-form{gap:8px;margin-top:1.5rem;display:flex}.add-task-input{border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:8px;outline:none;flex-grow:1;padding:.75rem 1rem;font-size:13px;transition:border-color .2s}.add-task-input:focus{border-color:var(--border-hover)}.add-task-btn{background:var(--text);color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:.75rem 1rem;font-size:13px;font-weight:500;transition:opacity .2s}.add-task-btn:hover{opacity:.9}.add-task-btn:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;color:var(--text-light);padding:3rem;font-size:14px}.error{background:var(--red-bg);color:var(--red-fg);border-radius:8px;margin:1rem 0;padding:1rem;font-size:13px}@media (width<=900px){.grid-3,.grid-4,.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid-3,.grid-4,.stats{grid-template-columns:1fr}body{padding:1rem}}
