.calendar-entry a, .calendar-entry a:visited { display:inline-flex; align-items:center; min-height:44px; max-width:100%; color:var(--mint,#83e6cf); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; touch-action:manipulation; }
.calendar-subscriptions { box-sizing:border-box; min-width:0; max-width:100%; margin:32px 0; padding:24px; border:1px solid var(--line,#29424f); border-radius:12px; background:#0b1c29; overflow-wrap:anywhere; color-scheme:dark; scroll-margin-top:110px; }
.calendar-subscriptions h2 { margin:0 0 16px; font:400 clamp(1.55rem,4vw,2.1rem)/1.25 Georgia,serif; color:var(--ink,#e4f0f2); }
.calendar-subscriptions p, .calendar-subscriptions li { font-size:1rem; line-height:1.6; color:#c6d8de; }
.calendar-subscriptions .calendar-coverage, .calendar-subscriptions .data-note { font-size:.88rem; color:#b1c2c7; }
.calendar-subscriptions label { display:block; margin:16px 0 8px; font-size:1rem; font-weight:700; }
.calendar-subscriptions select, .calendar-subscriptions input { box-sizing:border-box; width:100%; min-width:0; max-width:100%; min-height:48px; padding:10px 12px; border:1px solid #527d85; border-radius:7px; background:#071521; color:var(--ink,#e4f0f2); font-size:16px; }
.calendar-subscriptions input { user-select:text; -webkit-user-select:text; }
.subscription-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.subscription-actions a, .subscription-actions a:visited, .subscription-actions button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; min-height:48px; min-width:0; padding:12px; border:1px solid var(--mint,#83e6cf); border-radius:8px; background:#102d39; color:var(--mint,#83e6cf); font:700 .95rem/1.4 system-ui,sans-serif; text-align:center; text-decoration:none; white-space:normal; overflow-wrap:anywhere; cursor:pointer; touch-action:manipulation; user-select:none; -webkit-user-select:none; }
.calendar-subscriptions .calendar-copy-status { min-height:1.5em; margin:8px 0; font-size:.9rem; color:var(--mint,#83e6cf); }
.subscription-actions button:disabled, .calendar-subscriptions select:disabled { opacity:.6; cursor:not-allowed; }
.calendar-subscriptions summary { box-sizing:border-box; display:list-item; list-style-position:inside; min-height:44px; padding:10px 0; color:var(--mint,#83e6cf); cursor:pointer; touch-action:manipulation; }
.calendar-subscriptions details { margin-top:12px; border-top:1px solid var(--line,#29424f); }
.calendar-subscriptions details ol { padding-left:24px; }
.calendar-subscriptions details li + li { margin-top:10px; }
.calendar-subscriptions details a, .calendar-subscriptions details a:visited { color:var(--mint,#83e6cf); text-decoration:underline; text-underline-offset:4px; }
.calendar-subscriptions :focus-visible, .calendar-entry a:focus-visible { outline:3px solid var(--yellow,#f0d477); outline-offset:3px; }
.calendar-subscriptions-compact { padding:16px; }
.calendar-entry.calendar-subscriptions-compact { padding:0; }
.calendar-kind-card { min-width:0; scroll-margin-top:110px; padding:16px 0; }
.calendar-kind-card + .calendar-kind-card { border-top:1px solid var(--line,#29424f); }
.calendar-kind-card h3 { margin:0 0 12px; font-size:1.15rem; }
.calendar-subscriptions-compact .calendar-compact-title { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 12px; }
.calendar-subscriptions-compact .calendar-topic-label { margin:0; font-size:.9rem; font-weight:400; }
.calendar-subscriptions-compact select { width:auto; flex:1 1 220px; min-height:44px; }
.calendar-subscriptions-compact input:not([hidden]) { display:block; margin-top:12px; }
.calendar-subscriptions-compact .calendar-copy-status:empty { display:none; }
.calendar-subscriptions-compact .calendar-copy-status:not(:empty) { display:block; margin-top:8px; }
.calendar-subscriptions-compact .data-note { margin:12px 0 0; }
.calendar-subscriptions-compact .data-note a, .calendar-subscriptions-compact .data-note a:visited { display:inline-flex; align-items:center; min-height:44px; color:var(--mint,#83e6cf); text-decoration:underline; text-underline-offset:4px; }
.subscription-actions a:active, .subscription-actions button:active, .calendar-entry a:active { background:#1d4c54; }
@media (hover:hover) and (pointer:fine) { .subscription-actions a:hover, .subscription-actions button:hover { background:#1d4c54; } }
@media (max-width:600px) { .calendar-subscriptions { padding:18px; } .subscription-actions { grid-template-columns:minmax(0,1fr); } }
