.pcal{display:grid;grid-template-columns:minmax(0,356px) minmax(0,1fr);gap:24px 30px;align-items:start}.pcal-aside{position:sticky;top:0;display:flex;flex-direction:column;gap:16px}.pcal-month{margin:0}.pcal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.pcal-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:21px;font-weight:500;line-height:1.2;text-align:center;color:var(--ink)}.pcal-nav{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--burgundy-dark);cursor:pointer;touch-action:manipulation}.pcal-nav:hover{background:var(--cream-2)}.pcal-grid{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed}.pcal-grid th{padding:4px 0 4px;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;text-align:center;color:var(--muted)}.pcal-grid abbr{text-decoration:none}.pcal-grid td{padding:0;text-align:center}.pcal-day{position:relative;display:grid;place-items:center;width:100%;min-width:38px;height:44px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:15px;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;transition:background-color 0.18s ease,color 0.18s ease,border-color 0.18s ease}@media (hover:hover){.pcal-day:hover{background:var(--white);border-color:var(--line)}}.pcal-day.has-events{background:var(--cream-2);font-weight:600;color:var(--burgundy-dark)}@media (hover:hover){.pcal-day.has-events:hover{background:var(--cream-2);border-color:var(--gold)}}.pcal-day.is-today{border:1.5px solid var(--burgundy)}.pcal-day[aria-pressed="true"]{background:var(--burgundy);border-color:var(--burgundy);color:var(--white)}.pcal-dots{position:absolute;left:0;right:0;bottom:5px;display:flex;justify-content:center;gap:3px}.pcal-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--cat,var(--gold))}.pcal-day[aria-pressed="true"] .pcal-dot{background:var(--white)}.pcal-day .pcal-num{margin-top:-6px}.pcal-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;margin-top:8px}.pcal-legend{display:flex;flex:1 1 100%;flex-wrap:wrap;align-items:center;gap:4px 7px;margin:0;padding:0;list-style:none;font-size:11.5px;color:var(--muted)}.pcal-legend li{white-space:nowrap}.pcal-today-key{display:inline-block;width:12px;height:12px;border:1.5px solid var(--burgundy);border-radius:3px}.pcal-day[aria-pressed="true"]:focus-visible{outline-color:var(--gold);outline-offset:2px}.pcal-follow{padding:14px 14px 12px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.pcal-follow-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:500;line-height:1.25;color:var(--ink)}.pcal-follow-text{margin:2px 0 10px;font-size:13.5px;line-height:1.45;color:var(--muted)}.pcal-follow-list{display:flex;flex-wrap:wrap;gap:8px}.pcal-sub{position:relative}.pcal-sub-toggle,.pcal-add-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border:1px solid rgba(125,66,39,0.32);border-radius:999px;background:var(--white);color:var(--burgundy-dark);font-size:13.5px;font-weight:600;list-style:none;cursor:pointer;touch-action:manipulation;transition:background-color 0.18s ease,color 0.18s ease,border-color 0.18s ease}.pcal-sub-toggle::-webkit-details-marker,.pcal-add-toggle::-webkit-details-marker{display:none}.pcal-add-toggle::after{content:"";width:6px;height:6px;margin:-3px 0 0 2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}.pcal-add[open] .pcal-add-toggle::after{margin-top:3px;transform:rotate(-135deg)}.pcal-sub-toggle:hover,.pcal-sub[open] .pcal-sub-toggle,.pcal-add-toggle:hover,.pcal-add[open] .pcal-add-toggle{background:var(--burgundy);border-color:var(--burgundy);color:var(--white)}.pcal-note{margin:10px 0 0;font-size:12.5px;color:var(--muted)}.pcal-sub-panel,.pcal-add-panel{position:absolute;z-index:5;width:270px;max-width:calc(100vw - 48px);padding:10px 8px 8px;border:1px solid rgba(181,138,58,0.4);border-radius:12px;background:var(--white);box-shadow:0 16px 36px rgba(44,34,23,0.18)}.pcal-sub-panel{bottom:calc(100% + 8px);left:0}.pcal-follow-list .pcal-sub:last-child:not(:first-child) .pcal-sub-panel{left:auto;right:0}.pcal-add{position:relative}.pcal-add-panel{top:calc(100% + 6px);left:0}.pcal-add.opens-up .pcal-add-panel{top:auto;bottom:calc(100% + 6px)}.pcal-sub-title{margin:0 10px 4px;font-size:12px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-text)}.pcal-add-list{margin:0;padding:0;list-style:none}.pcal-add-list a{display:flex;align-items:center;min-height:42px;padding:6px 10px;border-radius:8px;color:var(--burgundy-dark);font-size:14.5px;font-weight:500;text-decoration:none}.pcal-add-list a:hover{background:var(--cream-2)}.pcal-add-note{margin:6px 10px 2px;font-size:12.5px;line-height:1.45;color:var(--muted)}.pcal-sub--all .pcal-sub-toggle{background:var(--burgundy);border-color:var(--burgundy);color:var(--white)}.pcal-sub--all .pcal-sub-toggle:hover,.pcal-sub--all[open] .pcal-sub-toggle{background:var(--burgundy-dark);border-color:var(--burgundy-dark)}.pcal-sub--all .pcal-sub-panel{width:300px;max-height:min(70vh,520px);overflow-y:auto}.pcal-sub-title--split{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.pcal-details{min-width:0}.pcal-panel-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:500;line-height:1.25;color:var(--ink)}.pcal-panel-count{margin:2px 0 12px;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-text);font-weight:600}.pcal-event{padding:12px 16px 12px 14px;margin:0 0 10px;border:1px solid var(--line);border-left:3px solid var(--cat,var(--gold));border-radius:10px;background:var(--white)}.pcal-event-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 12px;margin-bottom:3px}.pcal-event-source{font-size:11.5px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--cat-text,var(--gold-text))}.pcal-event-time{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.pcal-event-title{margin:0;font-family:"Work Sans",Arial,sans-serif;font-size:16.5px;font-weight:600;line-height:1.35;color:var(--burgundy);overflow-wrap:anywhere}.pcal-event-sub,.pcal-event-dates,.pcal-event-place{margin:2px 0 0;font-size:13.5px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}.pcal-event-sub{font-style:italic}.pcal-desc{margin:8px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink);overflow-wrap:anywhere}.pcal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px}.pcal-more{display:inline-flex;align-items:center;min-height:40px;color:var(--burgundy);font-weight:600;font-size:13.5px;text-decoration:underline;text-underline-offset:3px}.pcal-upnext-title{margin:4px 0 8px;font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted)}.pcal-upnext{display:grid;gap:8px;margin:0;padding:0;list-style:none}.pcal-upnext-row{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;width:100%;padding:11px 14px 11px 13px;border:1px solid var(--line);border-left:3px solid var(--cat,var(--gold));border-radius:10px;background:var(--white);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color 0.15s ease,background-color 0.15s ease}.pcal-upnext-row:hover{background:var(--paper);border-color:var(--gold);border-left-color:var(--cat,var(--gold))}.pcal-upnext-when{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:13px;font-weight:600;color:var(--ink)}.pcal-upnext-time{font-weight:500;color:var(--muted)}.pcal-upnext-what{font-size:15.5px;font-weight:600;line-height:1.35;color:var(--burgundy);overflow-wrap:anywhere}.pcal-upnext-sub{font-size:13px;font-style:italic;color:var(--muted)}.pcal-upnext-source{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.pcal-empty-text{margin:10px 0 0;color:var(--muted)}.pcal-page .pcal{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.pcal-page .pcal-aside{position:static}@media (min-width:769px) and (max-height:820px){.pcal-day{height:38px}.pcal-dots{bottom:3px}.pcal-follow{padding-block:12px 10px}}@media (max-width:768px){.pcal{display:flex;flex-direction:column;gap:20px}.pcal-aside{display:contents}.pcal-month{order:1;width:100%;max-width:440px;margin-inline:auto}.pcal-details{order:2;scroll-margin-top:12px}.pcal-follow{order:3}.pcal-follow-list{position:relative}.pcal-sub{position:static}.pcal-sub-panel,.pcal-follow-list .pcal-sub:last-child:not(:first-child) .pcal-sub-panel{bottom:auto;top:calc(100% + 6px);left:0;right:0;width:auto;max-width:none}.pcal-sub--all .pcal-sub-panel{width:auto;max-height:none}}@media (max-width:560px){.pcal-page .pcal{padding:16px 12px}}@media (max-width:560px){.pcal-grid{border-spacing:2px}}@media (max-width:560px){.pcal-day{min-width:0;height:42px;font-size:14px;border-radius:8px}}@media (max-width:560px){.pcal-event{padding:12px 12px 12px 12px}}@media (prefers-reduced-motion:reduce){.pcal-day,.pcal-sub-toggle,.pcal-add-toggle,.pcal-upnext-row{transition:none}}