.card,.today-card{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-1);color:var(--text)}.card{padding:var(--sp-4);gap:var(--sp-3)}.card-head,.today-card-head{display:flex;align-items:center;gap:var(--sp-2);min-height:24px;margin:0;padding:0;border:0}.card-title,.today-card-title{margin:0;font-size:var(--fs-card);font-weight:600;line-height:1.4;letter-spacing:0;color:var(--text)}.card-title-sm{font-size:var(--fs-meta);font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.card-meta,.today-card-meta{font-size:var(--fs-meta);color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-actions,.today-card-actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-1)}.card-action,.today-icon-btn{display:inline-flex;align-items:center;justify-content:center;height:28px;min-width:28px;padding:0 var(--sp-2);font-family:var(--font);font-size:var(--fs-meta);color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--r-control);cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card-action:hover,.today-icon-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border)}.card-action:active,.today-icon-btn:active{background:var(--bg-soft)}.card-action:focus-visible,.today-icon-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.card-foot,.today-card-foot{margin-top:auto;padding-top:var(--sp-2);font-size:var(--fs-meta);line-height:1.5;color:var(--text-faint);border-top:1px solid var(--border)}.card-empty,.todo-empty,.recent-empty,.rss-empty,.weather-error,.cal-selected-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);min-height:88px;padding:var(--sp-4) var(--sp-3);font-size:var(--fs-meta);line-height:1.6;text-align:center;color:var(--text-faint);background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--r-control)}.card-empty__title{font-size:var(--fs-body);font-weight:600;color:var(--text-secondary)}.card-empty__hint{max-width:36em}.card-empty__action{margin-top:var(--sp-2);display:inline-flex;align-items:center;height:30px;padding:0 var(--sp-3);font-size:var(--fs-meta);color:var(--accent);background:var(--accent-soft);border:1px solid transparent;border-radius:var(--r-control);cursor:pointer;text-decoration:none}.card-empty__action:hover{border-color:var(--accent)}.card-empty__action:focus-visible{outline:none;box-shadow:var(--focus-ring)}.card-scroll{max-height:260px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.card-scroll::-webkit-scrollbar{width:8px}.card-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill)}.card--compact{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2)}
