.cal-wrapper.svelte-13luymz{max-width:900px;margin:0 auto;padding:2rem 1rem 3rem}.cal-header.svelte-13luymz{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.cal-nav.svelte-13luymz{display:flex;align-items:center;gap:.75rem}.cal-nav-btn.svelte-13luymz{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--panel-br);color:var(--ink);background:var(--panel);font-size:1.2rem;line-height:1;text-decoration:none;transition:background .15s}.cal-nav-btn.svelte-13luymz:hover{background:#1f6b3b1a}.cal-month-label.svelte-13luymz{font-family:Prompt,Sarabun,sans-serif;font-size:1.1rem;font-weight:600;color:var(--ink);min-width:12rem;text-align:center}.cal-grid.svelte-13luymz{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--panel-br);border-radius:14px;overflow:hidden;background:var(--panel)}.cal-day-header.svelte-13luymz{text-align:center;padding:.5rem .25rem;font-size:12px;font-weight:700;color:var(--muted);background:#1f6b3b0f;border-bottom:1px solid var(--panel-br)}.cal-cell.svelte-13luymz{min-height:5rem;min-width:0;padding:.35rem .4rem;border-right:1px solid var(--panel-br);border-bottom:1px solid var(--panel-br);vertical-align:top;position:relative;display:flex;flex-direction:column;gap:2px}.cal-cell.svelte-13luymz:nth-child(7n){border-right:none}.cal-cell--empty.svelte-13luymz{background:#00000005}.cal-cell.has-events.svelte-13luymz{background:#1f6b3b0a}.cal-day-num.svelte-13luymz{font-size:13px;font-weight:600;color:var(--muted);line-height:1.2;margin-bottom:2px;align-self:flex-start}.cal-event-dot.svelte-13luymz{display:block;width:100%;background:var(--emer);color:#fff;border:none;border-radius:4px;font-size:10px;padding:2px 4px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Sarabun,sans-serif;line-height:1.4}.cal-event-dot.svelte-13luymz:hover{opacity:.85}.cal-more.svelte-13luymz{font-size:10px;color:var(--muted);padding:1px 3px}.cal-detail-card.svelte-13luymz{position:relative;margin:1rem 0;background:var(--panel);border:1px solid var(--panel-br);border-left:4px solid var(--emer);border-radius:14px;padding:1rem 1.25rem}.cal-detail-close.svelte-13luymz{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:.9rem;cursor:pointer;color:var(--muted)}.cal-detail-title.svelte-13luymz{font-family:Prompt,sans-serif;font-size:1.1rem;font-weight:600;color:var(--ink);margin:0 0 .4rem;padding-right:1.5rem}.cal-detail-meta.svelte-13luymz{font-size:13px;color:var(--muted);margin-bottom:.5rem;display:flex;flex-wrap:wrap;gap:.25rem}.cal-detail-cat.svelte-13luymz{display:inline-block;background:var(--field-50, #eaf1e9);color:var(--emer);font-size:11px;font-weight:600;padding:1px 8px;border-radius:100px;margin-left:.5rem}.cal-detail-desc.svelte-13luymz{font-size:14px;color:var(--ink);margin:0;line-height:1.6}.upcoming-section.svelte-13luymz{margin-top:2.5rem}.upcoming-title.svelte-13luymz{font-family:Prompt,sans-serif;font-size:1.2rem;font-weight:600;color:var(--ink);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}.upcoming-title.svelte-13luymz:after{content:"";flex:1;height:1px;background:var(--panel-br)}.upcoming-empty.svelte-13luymz{color:var(--muted);font-size:14px;padding:1rem 0}.upcoming-list.svelte-13luymz{display:flex;flex-direction:column;gap:.75rem}.upcoming-item.svelte-13luymz{display:flex;gap:1rem;background:var(--panel);border:1px solid var(--panel-br);border-radius:14px;padding:.75rem 1rem}.upcoming-date.svelte-13luymz{font-size:12.5px;font-weight:600;color:var(--emer);min-width:7rem;line-height:1.4}.upcoming-body.svelte-13luymz{flex:1;min-width:0}.upcoming-name.svelte-13luymz{font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:2px}.upcoming-loc.svelte-13luymz{font-size:12px;color:var(--muted);margin-bottom:4px}.upcoming-cat.svelte-13luymz{display:inline-block;background:var(--field-50, #eaf1e9);color:var(--emer);font-size:11px;font-weight:600;padding:1px 8px;border-radius:100px}@media (max-width: 600px){.cal-cell.svelte-13luymz{min-height:3.5rem}.cal-event-dot.svelte-13luymz{font-size:9px}.cal-month-label.svelte-13luymz{min-width:8rem;font-size:.95rem}.upcoming-item.svelte-13luymz{flex-direction:column;gap:.25rem}.upcoming-date.svelte-13luymz{min-width:auto}}
