:root{color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;--bg:#ece8df;--ink:#3a3f38;--muted:#6a7268;--sage:#6a7d70;--sage-deep:#4f6257;--lotus:#9a7a6d;--paper:#f8f5ee;--line:#d8d4c8;--moss:#5a6e61;--mist:#f3eee4;--wash:#e4ebe4;font-family:"Source Sans 3",Noto Sans Sinhala,sans-serif;font-weight:400;line-height:1.65}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;margin:0}body{color:var(--ink);background:radial-gradient(ellipse 70% 38% at 50% -12%, #f7f0e4 0%, transparent 70%), radial-gradient(ellipse 40% 28% at 100% 8%, #e5eee6 0%, transparent 58%), radial-gradient(ellipse 36% 24% at 0% 18%, #f3e8dc 0%, transparent 50%), var(--bg)}#root{min-height:100%}.page{width:min(1080px,100% - 40px);margin:0 auto;padding:28px 0 72px}.hero{text-align:left;align-items:center;gap:14px;padding-bottom:0;display:flex}.add-sermon-btn{flex-shrink:0;width:auto;margin-left:auto}.brand-mark{border-radius:11px;flex-shrink:0;width:40px;height:40px}.hero-copy{min-width:0}.hero h1{letter-spacing:-.024em;flex-wrap:wrap;align-items:baseline;gap:0 .55rem;margin:0;font-family:Newsreader,Noto Serif Sinhala,serif;font-size:clamp(1.55rem,3.2vw,2rem);font-weight:450;line-height:1.15;display:flex}.hero h1 [lang=si]{color:var(--sage-deep);font-family:Noto Serif Sinhala,Newsreader,serif;font-weight:500}.lede,.status,.count,.empty,.meta,.notes,.site-footer{color:var(--muted)}.site-footer{border-top:1px solid var(--line);text-align:center;margin-top:48px;padding-top:20px;font-size:.9rem}.site-footer a{color:var(--sage-deep);text-underline-offset:.18em;text-decoration:underline}.site-footer a:hover{color:var(--moss)}.lede{max-width:40rem;margin:4px 0 0;font-size:.95rem;font-weight:370;line-height:1.45}.banner{background:var(--mist);border:1px solid var(--line);color:var(--sage-deep);border-radius:14px;margin:28px 0 0;padding:14px 16px}.banner.error{color:#7a5348;background:#f4ece8}.card{background:var(--paper);border:1px solid color-mix(in srgb, var(--line) 80%, white);border-radius:20px;box-shadow:0 16px 36px -28px #3a3f3873}.card-top{flex-wrap:wrap;gap:12px;display:flex}.filters{background:linear-gradient(180deg, #fbf8f1 0%, var(--paper) 100%);border:1px solid color-mix(in srgb, var(--line) 80%, white);border-radius:20px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin-top:20px;padding:14px 16px 12px;display:grid;box-shadow:0 16px 36px -28px #3a3f3866}.filters>*{min-width:0;max-width:100%}.select{gap:7px;min-width:0;display:grid}.select span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.74rem}select,input,.ghost{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fcfdfb;border-radius:12px;width:100%;min-width:0;max-width:100%;padding:11px 13px}select{appearance:none;text-overflow:ellipsis;white-space:nowrap;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' stroke='%236d776f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px;overflow:hidden}select:focus,input:focus,.ghost:focus-visible,.view-toggle button:focus-visible,.cal-day:focus-visible,.listen-more:focus-visible,.video-card:focus-visible{outline:2px solid color-mix(in srgb, var(--sage) 45%, white);outline-offset:2px}.ghost{cursor:pointer;width:auto;min-height:40px}.ghost:hover{border-color:var(--sage);color:var(--sage-deep)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.view-toggle{border:1px solid var(--line);background:#fcfdfb;border-radius:999px;padding:3px;display:flex;overflow:hidden}.view-toggle button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 18px}.view-toggle button.active{background:var(--sage);color:#f7f8f4}.month-cal{background:linear-gradient(180deg, #fbf8f1 0%, var(--paper) 48%);border:1px solid color-mix(in srgb, var(--line) 80%, white);border-radius:24px;margin-top:18px;padding:22px 20px 18px;box-shadow:0 18px 40px -30px #3a3f3880}.month-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.cal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.range-toggle button{padding:7px 14px}.month-shift{align-items:center;gap:8px;display:flex}.month-nav h2{letter-spacing:-.02em;text-align:center;min-width:12rem;margin:0;font-family:Newsreader,Noto Serif Sinhala,serif;font-size:1.55rem;font-weight:500}.icon-btn{border-radius:999px;width:40px;min-width:40px;padding:0;font-size:1.45rem;line-height:1}.today-btn{width:auto}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.month-weekdays span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center;padding:2px 0 10px;font-size:.72rem}.cal-day{text-align:left;min-height:118px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;align-items:stretch;gap:6px;margin:0;padding:7px 6px 8px;display:flex;container-type:inline-size}.cal-day:not(.empty-day):hover{background:color-mix(in srgb, var(--paper) 72%, transparent)}.cal-day.empty-day{cursor:default}.cal-day.has-events{background:color-mix(in srgb, var(--paper) 70%, white);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--line) 85%, white)}.cal-day.has-events:hover{background:#fbf8f1}.cal-day.today .cal-num{background:var(--sage);color:#f7f8f4}.cal-day.selected,.cal-day.selected:hover{background:var(--wash);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--sage) 70%, white)}.cal-label{align-items:center;gap:8px;min-height:26px;display:flex}.cal-dow{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.cal-num{width:26px;height:26px;color:var(--muted);border-radius:50%;place-items:center;font-size:.84rem;font-weight:500;display:grid}.cal-events{gap:4px;display:grid}.chip{min-width:0;color:var(--sage-deep);background:var(--mist);border-radius:8px;align-items:baseline;gap:5px;padding:4px 6px;font-size:.7rem;line-height:1.25;display:flex;overflow:hidden}.chip.upcoming{color:#3f6b4a;background:#e4efe6}.chip.live{color:#9b2c20;background:#f8e4e1}.chip-live{letter-spacing:.05em;text-transform:uppercase;color:#c02718;flex-shrink:0;font-size:.62rem;font-weight:700}.chip.ended{color:#3d4d6b;background:#e6eaf3}.chip-ended{letter-spacing:.04em;text-transform:uppercase;color:#4a5c7a;flex-shrink:0;font-size:.62rem;font-weight:600}.chip-time{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.chip-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip.more{color:var(--muted);background:0 0;padding-left:2px}@container (width<=118px){.month-cal:not(.week-cal) .chip-title{display:none}.month-cal:not(.week-cal) .chip{justify-content:center;padding-inline:4px}}.week-scroller .month-weekdays,.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:8px;display:grid}@media (width<=900px){.week-scroller{padding-bottom:6px;overflow-x:auto}.week-scroller .month-weekdays,.week-grid{min-width:52rem}}.week-cal .chip-title{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.day-panel{margin-top:28px}.day-heading{letter-spacing:-.02em;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 18px;margin:0 4px 4px;font-family:Newsreader,Noto Serif Sinhala,serif;font-size:1.45rem;font-weight:500;line-height:1.25;display:flex}.day-names{gap:2px;display:grid}.day-names [lang=si]{color:var(--sage-deep);font-family:Noto Serif Sinhala,Newsreader,serif;font-size:.78em}.day-count{letter-spacing:.01em;color:var(--muted);font-family:"Source Sans 3",Noto Sans Sinhala,sans-serif;font-size:.92rem;font-weight:500}.day-list{margin-top:14px}.card-split{grid-template-columns:1fr 1fr;gap:10px 32px;margin-top:12px;display:grid}.copy-en{border-right:1px solid var(--line);padding-right:32px}.copy h2,.copy h3,.card h3{margin:0 0 8px;font-family:Newsreader,Noto Serif Sinhala,serif;font-size:1.28rem;font-weight:500;line-height:1.3}.copy h2{font-size:1.55rem}.copy-si h2,.copy-si h3{font-family:Noto Serif Sinhala,Newsreader,serif;font-weight:500}.when{gap:8px;display:grid}.when time{color:var(--lotus);font-size:.92rem}.attendance{flex-wrap:wrap;gap:8px;margin:0;display:flex}.attendance-tag{color:var(--moss);background:#e7eee8;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:.8rem;line-height:1.2;text-decoration:none;display:inline-flex}a.attendance-tag:hover{color:var(--sage-deep);background:#dce6de}.on-air{color:#9b2c20;background:#f8e4e1;font-weight:600}a.on-air:hover{color:#7f2118;background:#f0d4d0}.upcoming{color:#3f6b4a;background:#e4efe6;font-weight:600}.ended{color:#3d4d6b;background:#e6eaf3;font-weight:600}.live-pip{background:#c02718;border-radius:50%;width:7px;height:7px;animation:1.6s ease-out infinite live-pulse;box-shadow:0 0 #c027188c}@keyframes live-pulse{70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.card.is-live{box-shadow:0 16px 36px -28px #3a3f3873,inset 0 0 0 1.5px #ebbab5}.card.is-ended{box-shadow:0 16px 36px -28px #3a3f3873,inset 0 0 0 1.5px #d7dbe2}.attendance-tag svg{flex-shrink:0;width:15px;height:15px}.card{padding:20px 22px}.card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-top.has-photos{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;display:grid}.card-top.has-photos .distance-badge,.card-top.has-photos button.distance-badge{justify-self:end}.speaker-photos{justify-content:center;align-items:center;display:flex}.speaker-photo{object-fit:cover;background:var(--mist);border:2px solid var(--paper);border-radius:50%;flex-shrink:0;width:48px;height:48px}.speaker-photo+.speaker-photo{margin-left:-10px}.count{letter-spacing:.02em;margin:0}.list{gap:16px;margin:18px 0 0;padding:0;list-style:none;display:grid}.distance-badge{font-variant-numeric:tabular-nums;color:var(--moss);white-space:nowrap;margin:0;font-size:1.2rem;font-weight:700}button.distance-badge{appearance:none;cursor:pointer;color:var(--lotus);text-underline-offset:3px;font:inherit;background:0 0;border:0;padding:0;font-size:1rem;font-weight:600;text-decoration:underline}.meta,.notes{margin:0 0 5px}.notes{margin-top:10px;line-height:1.7}.empty{margin-top:8px}.monk-card{gap:14px;display:grid}.monk-top{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.monk-top:has(.speaker-photos){grid-template-columns:auto minmax(0,1fr)}.monk-top .card-split{margin-top:0}.monk-card .copy h3{margin:0}.monk-photos{padding-top:2px}.listen-more{font:inherit;cursor:pointer;color:#f7f8f4;background:var(--sage);border:0;border-radius:999px;justify-self:start;padding:8px 14px;font-size:.9rem;font-weight:600}.listen-more:hover{color:#f7f8f4;background:var(--sage-deep)}.listen-videos{margin-top:8px}.listen-head{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:8px;display:flex}.listen-back{width:auto}.listen-heading{letter-spacing:-.02em;gap:2px;margin:0;font-family:Newsreader,Noto Serif Sinhala,serif;font-size:1.35rem;font-weight:500;line-height:1.25;display:grid}.listen-heading [lang=si]{color:var(--sage-deep);font-family:Noto Serif Sinhala,Newsreader,serif;font-size:.78em}.video-card{color:inherit;grid-template-columns:168px minmax(0,1fr);align-items:center;gap:16px;padding:14px;text-decoration:none;display:grid}.video-card:hover{background:#fbf8f1}.video-thumb{aspect-ratio:16/9;object-fit:cover;background:var(--mist);border-radius:12px;width:100%}.video-copy h3{margin-bottom:6px;font-size:1.08rem}.video-copy .meta{margin-bottom:2px}.search-select,.search-select-control{position:relative}.search-select-control.disabled{opacity:.65}.search-select-list{z-index:30;border:1px solid var(--line);background:#fcfdfb;border-radius:12px;max-height:240px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 18px 36px -24px #3a3f388c}.search-select-option{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:9px 10px;display:flex}.search-select-option:hover,.search-select-option.active{background:var(--wash)}.search-select-option.selected{color:var(--sage-deep);font-weight:600}.search-select-option-label{min-width:0}.search-select-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex-shrink:0;font-size:.72rem}.search-select-empty{color:var(--muted);padding:10px;font-size:.92rem}.field-hint{color:var(--muted);margin:6px 2px 0;font-size:.86rem}.add-overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#3a3f386b;place-items:start center;padding:28px 16px 40px;display:grid;position:fixed;inset:0;overflow:auto}.add-panel{background:linear-gradient(180deg, #fbf8f1 0%, var(--paper) 100%);border:1px solid color-mix(in srgb, var(--line) 80%, white);border-radius:24px;width:min(720px,100%);margin-top:24px;padding:22px 22px 18px;box-shadow:0 24px 60px -28px #3a3f38a6}.add-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.add-head h2{letter-spacing:-.02em;margin:0;font-family:Newsreader,Noto Serif Sinhala,serif;font-size:1.35rem;font-weight:500}.add-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.add-span{grid-column:1/-1}.add-grid textarea{font:inherit;color:var(--ink);border:1px solid var(--line);resize:vertical;background:#fcfdfb;border-radius:12px;width:100%;padding:11px 13px}.primary-action{font:inherit;cursor:pointer;color:#f7f8f4;background:var(--sage);border:0;border-radius:12px;padding:11px 18px;font-weight:600}.primary-action:hover{background:var(--sage-deep)}.primary-action:disabled{opacity:.7;cursor:wait}.add-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.banner.ok{color:#3f6b4a;background:#e4efe6}@media (width<=640px){.page{width:min(100% - 24px,1080px);padding-top:18px}.filters{grid-template-columns:1fr}.select,.ghost{width:100%}.filters{padding:14px}.month-cal{border-radius:20px;padding:16px 12px 12px}.month-nav h2{min-width:0;font-size:1.2rem}.month-nav .ghost,.cal-actions .ghost{width:auto}.month-weekdays,.month-grid{gap:4px}.month-cal:not(.week-cal) .cal-day{border-radius:12px;min-height:72px;padding:5px 3px 6px}.cal-num{width:22px;height:22px;font-size:.76rem}.chip{padding:2px 4px;font-size:.62rem}.month-cal:not(.week-cal) .chip-title{display:none}.week-scroller{margin-inline:-4px;padding-bottom:6px;overflow-x:auto}.week-scroller .month-weekdays,.week-grid{gap:6px;min-width:52rem}.week-cal .chip-title{display:-webkit-box}.day-heading{font-size:1.2rem}.card-split{grid-template-columns:1fr}.copy-en{border-right:none;border-bottom:1px solid var(--line);padding-bottom:14px;padding-right:0}.view-toggle button{padding:8px 12px}.video-card{grid-template-columns:1fr;gap:12px}:is(.monk-top,.monk-top:has(.speaker-photos)){grid-template-columns:minmax(0,1fr)}.add-sermon-btn{width:auto}.hero{flex-wrap:wrap}.add-grid{grid-template-columns:1fr}.add-panel{margin-top:8px;padding:16px}}
