[data-theme=forest]{--bg:#FAFAF5;--accent:#388E3C;--event-bg:#C8E6C9;--event-radius:14px;--font-display:'Noto Sans JP', sans-serif;--color-gold:#388E3C;--color-ink:#0D1F0D;--font-serif:'Noto Sans JP', sans-serif;--bg-surface:#F1F8F1;--bg-hover:#DCEDC8;--accent-dark:#2E7D32;--accent-light:#81C784;--accent-glow:rgba(56, 142, 60, 0.25);--text:#0D1F0D;--text-muted:#4A6741;--border:rgba(56, 142, 60, 0.28);--shadow:0 2px 12px rgba(27, 94, 32, 0.12);--shadow-hover:0 6px 24px rgba(27, 94, 32, 0.22);--today-bg:#388E3C;--today-border:#2E7D32;--header-bg:#1B5E20;--header-fg:#FFFFFF}[data-theme=forest] body{background:var(--bg);color:var(--text);font-family:var(--font-display)}[data-theme=forest] .site-header{background:rgba(27,94,32,.96);border-bottom-color:rgba(56,142,60,.3)}[data-theme=forest] .site-brand{color:#fff}[data-theme=forest] .theme-btn{color:rgba(255,255,255,.75)}[data-theme=forest] .theme-btn.active{background:var(--accent);color:#fff}[data-theme=forest] .theme-btn:not(.active):hover{background:rgba(255,255,255,.12);color:#fff}[data-theme=forest] .nav-btn{border-color:var(--border);background:var(--bg-surface);color:var(--accent-dark)}[data-theme=forest] .nav-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=forest] .cal-nav h2{font-family:var(--font-display);color:var(--accent-dark)}[data-theme=forest] .cal-grid{background:var(--bg-surface);border-color:var(--border)}[data-theme=forest] .cal-weekdays{background:var(--accent-dark)}[data-theme=forest] .cal-cell{background:var(--bg);border-color:var(--border)}[data-theme=forest] .cal-cell:hover{background:var(--bg-hover)}[data-theme=forest] .cal-cell.today{background:rgba(56,142,60,.15)}[data-theme=forest] .cal-cell.today .day-num{background:var(--today-bg);color:#fff}[data-theme=forest] .ev{border-radius:var(--event-radius)}[data-theme=forest] .ev.bear{background:#b8894f}[data-theme=forest] .ev.cat{background:#9b72b0}[data-theme=forest] .ev.cub{background:#5b9bd5}[data-theme=forest] .ev.family{background:#558b2f}[data-theme=forest] .modal{background:var(--bg-surface)}[data-theme=forest] .modal h3{font-family:var(--font-display);color:var(--accent-dark)}[data-theme=forest] .modal-close{background:var(--accent)}[data-theme=forest] .modal-close:hover{background:var(--accent-dark)}[data-theme=forest-light]{--bg:#F1F8F1;--accent:#66BB6A;--event-bg:#C8E6C9;--event-radius:14px;--font-display:'Noto Sans JP', sans-serif;--color-gold:#66BB6A;--color-ink:#1B3A1B;--font-serif:'Noto Sans JP', sans-serif;--bg-surface:#E8F5E9;--bg-hover:#DCEDC8;--accent-dark:#43A047;--accent-light:#A5D6A7;--accent-glow:rgba(102, 187, 106, 0.25);--text:#1B3A1B;--text-muted:#4A7A4A;--border:rgba(102, 187, 106, 0.28);--shadow:0 2px 12px rgba(67, 160, 71, 0.10);--shadow-hover:0 6px 24px rgba(67, 160, 71, 0.20);--today-bg:#66BB6A;--today-border:#43A047;--header-bg:#388E3C;--header-fg:#FFFFFF}[data-theme=forest-light] body{background:var(--bg);color:var(--text);font-family:var(--font-display)}[data-theme=forest-light] .site-header{background:rgba(56,142,60,.96);border-bottom-color:rgba(102,187,106,.3)}[data-theme=forest-light] .site-brand{color:#fff}[data-theme=forest-light] .theme-btn{color:rgba(255,255,255,.75)}[data-theme=forest-light] .theme-btn.active{background:var(--accent);color:#fff}[data-theme=forest-light] .theme-btn:not(.active):hover{background:rgba(255,255,255,.12);color:#fff}[data-theme=forest-light] .nav-btn{border-color:var(--border);background:var(--bg-surface);color:var(--accent-dark)}[data-theme=forest-light] .nav-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=forest-light] .cal-nav h2{color:var(--accent-dark)}[data-theme=forest-light] .cal-weekdays{background:var(--accent-dark)}[data-theme=forest-light] .cal-cell{background:var(--bg);border-color:var(--border)}[data-theme=forest-light] .cal-cell:hover{background:var(--bg-hover)}[data-theme=forest-light] .cal-cell.today{background:rgba(102,187,106,.18)}[data-theme=forest-light] .cal-cell.today .day-num{background:var(--today-bg);color:#fff}[data-theme=forest-light] .ev{border-radius:var(--event-radius)}[data-theme=forest-light] .ev.bear{background:#5d4037}[data-theme=forest-light] .ev.cat{background:#9b72b0}[data-theme=forest-light] .ev.cub{background:#5b9bd5}[data-theme=forest-light] .ev.family{background:#43a047}[data-theme=forest-light] .modal{background:var(--bg-surface)}[data-theme=forest-light] .modal-close{background:var(--accent)}[data-theme=forest-light] .modal-close:hover{background:var(--accent-dark)}