:root{--bg:#f6f7fb;--text:#1f2937;--card:#ffffff;--muted:#6b7280;--top:#111827;--top-text:#ffffff;--border:#d1d5db;--shadow:0 8px 30px rgba(0,0,0,.08);--chip-text:#111827;--chip-bg:#f8fafc;--chip-hover:#e2e8f0}
:root[data-theme='dark']{--bg:#0f172a;--text:#e5e7eb;--card:#111827;--muted:#9ca3af;--top:#020617;--top-text:#f8fafc;--border:#334155;--shadow:0 8px 30px rgba(0,0,0,.35);--chip-text:#f8fafc;--chip-bg:#1e293b;--chip-hover:#334155}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.wrap{max-width:1100px;margin:0 auto;padding:20px}.topbar{background:var(--top);color:var(--top-text);position:sticky;top:0;z-index:50}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.topbar a{color:var(--top-text);text-decoration:none}.topbar-nav,.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand{font-weight:700}.theme-toggle{padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--top-text);cursor:pointer}.category-menu{position:relative;display:inline-flex}.category-inline-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--top-text);cursor:pointer;padding:0;flex-shrink:0}.burger-lines{display:flex;flex-direction:column;gap:5px}.burger-lines span{display:block;width:18px;height:2px;border-radius:999px;background:currentColor}.category-menu-panel{position:absolute;right:0;top:calc(100% + 10px);min-width:320px;max-width:min(92vw,420px);background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:12px;z-index:60}.category-menu-panel[hidden]{display:none !important}.category-menu-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-weight:700}.category-menu-grid{display:flex;flex-wrap:wrap;gap:8px}.category-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;text-decoration:none;border:1px solid var(--border);background:var(--chip-bg);color:var(--chip-text)}.category-chip:hover{background:var(--chip-hover)}.topbar-badge{margin-left:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cards{display:grid;gap:16px}.card{background:var(--card);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.meta{font-size:12px;color:var(--muted);margin-bottom:8px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.filters input,.filters select,.filters button{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text)}.filters button{background:var(--top);color:var(--top-text);border:none;cursor:pointer}.digest-text{white-space:pre-wrap;line-height:1.6}.scroll-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border:none;border-radius:999px;background:var(--top);color:var(--top-text);font-size:22px;cursor:pointer;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.scroll-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}.calendar-card{margin-bottom:18px}.calendar-list{display:grid;gap:10px}.calendar-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:12px;text-decoration:none;background:var(--card)}.calendar-date{font-weight:700}.calendar-badges{display:flex;gap:8px;align-items:center}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:4px 9px;border-radius:999px;background:#e5e7eb;color:#111827;font-size:12px;font-weight:700}.badge.fire{background:#ffedd5;color:#9a3412}
@media (max-width:640px){.topbar-inner{align-items:flex-start}.topbar-nav{width:100%;order:3}.topbar-actions{margin-left:auto}.category-menu-panel{left:50%;right:auto;transform:translateX(-50%);min-width:min(92vw,340px)}.theme-toggle{padding:9px 12px}}

.compact-calendar summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-weight:700}
.compact-calendar summary::-webkit-details-marker{display:none}
.compact-calendar .calendar-list{margin-top:14px;max-height:320px;overflow:auto}
.compact-calendar:not([open]) .calendar-list{display:none}
