/* One-row card rails at every screen size. */
.participation-rail{position:relative;min-width:0}
@media(min-width:761px){
 .participation-rail{padding:0 54px}
 .participation-rail .opportunity-grid{scrollbar-width:none;cursor:grab}
 .participation-rail .opportunity-grid::-webkit-scrollbar{display:none}
 .participation-rail .rail-side-controls{position:absolute;inset:0;pointer-events:none;margin:0;display:block}
 .participation-rail .rail-side-controls .button{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;padding:0;pointer-events:auto;background:#1b2632;border-color:#4a6988;font-size:26px;border-radius:10px}
 .participation-rail .rail-side-controls .button:first-child{left:0}
 .participation-rail .rail-side-controls .button:last-child{right:0}
 .participation-rail .rail-side-controls .button:disabled{opacity:.3;cursor:default}
 .participation-rail .opportunity-grid.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
 .participation-rail .opportunity-grid.is-dragging *{cursor:grabbing;user-select:none}
}
@media(max-width:760px){.participation-rail .rail-side-controls{display:none}}
.kind-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:8px;margin:16px 0}
.kind-icons button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:76px;padding:10px 6px;background:#181d23;border:1px solid #343e49;border-radius:8px;color:#a2a9b3;font:inherit;font-size:12px;cursor:pointer}
.kind-icons button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.kind-icons button[aria-pressed=true]{background:#16304d;border-color:#5aa5ff;color:#b9ddff;box-shadow:inset 0 -3px #5aa5ff}
.kind-icons button:hover{border-color:#78b7ff}.kind-icons button:focus-visible{outline:2px solid #66bfff;outline-offset:3px}
@media(max-width:760px){.kind-icons{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.kind-icons button{min-height:70px}}
.stock-live-list,.threads-live-list,.today-participation .opportunity-grid{display:flex;flex-wrap:nowrap;gap:16px;overflow-x:auto;overflow-y:hidden;max-height:none;padding:2px 2px 12px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#5987b5 #17222e;align-items:flex-start}
.stock-live-list>.stock-live-card,.threads-live-list>.threads-live-item,.today-participation .opportunity-grid>.opportunity-card{flex:0 0 clamp(290px,31%,370px);min-width:0;grid-column:auto;scroll-snap-align:start;scroll-snap-stop:always}
.threads-live-list>.threads-live-item{flex-basis:360px}
.stock-live-list:focus-visible,.threads-live-list:focus-visible,.today-participation .opportunity-grid:focus-visible{outline:2px solid #66bfff;outline-offset:4px}
.stock-live-card{padding:16px}.stock-live-card h3{font-size:16px;line-height:1.5;margin:10px 0 8px}.stock-card-bottom strong{font-size:20px}.stock-teaser h3.stock-teaser-blur{margin:10px 0 8px}.stock-teaser-prompt{margin-top:12px;padding:12px 0 0;gap:8px}.stock-teaser-prompt>strong{font-size:14px}.stock-teaser-prompt .stock-follow{font-size:13px;padding:10px 12px}.stock-follow-break{display:block}
.rail-controls{display:flex;justify-content:flex-end;gap:6px;margin:0 0 8px}.rail-controls .button{min-width:44px;min-height:36px;padding:4px 12px;font-size:18px}
.threads-official-frame{height:380px;max-height:380px}.threads-live-meta{padding:10px 12px;font-size:12px}.threads-more{margin-top:10px}
:root .threads-live{margin:24px 0 30px}.stock-live{margin:20px 0 28px;padding:20px}.today-participation{padding-bottom:20px;margin-bottom:20px}.today-participation .opportunity-card{padding:16px}.today-participation .opportunity-card h3{font-size:17px;line-height:1.45;margin:8px 0}.today-participation .participation-info{gap:5px}.today-participation .participation-info p{font-size:13px;line-height:1.6}.today-participation .opportunity-links{gap:8px;font-size:12px;flex-wrap:wrap}
.main-column .info-card{padding:12px 0;gap:14px;min-height:0}.main-column .info-card h3{font-size:17px;margin:4px 0;line-height:1.4}.main-column .card-content{padding:0}.main-column .card-summary{font-size:13px;line-height:1.5;margin:4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.main-column .card-summary:empty{display:none}.main-column .card-meta{margin-top:6px;font-size:11px;line-height:1.5}.main-column .tags{font-size:11px;gap:6px}.main-column .media-cover.cover-text{width:32px}.feed-more{width:100%;justify-content:center;margin-top:14px;min-height:44px}.feed-progress{text-align:center;color:#a2a9b3;font-size:12px;margin:10px 0}
@media(max-width:760px){
 .stock-live{padding:16px}.stock-live-list,.threads-live-list,.today-participation .opportunity-grid{gap:12px}
 .stock-live-list>.stock-live-card,.today-participation .opportunity-grid>.opportunity-card{flex-basis:92%}.threads-live-list>.threads-live-item{flex-basis:94%}
 .rail-controls .button{min-height:44px}.main-column .info-card h3{font-size:16px}.main-column .card-meta{font-size:12px}.main-column .card-summary{font-size:14px}
}

/* Match card heights without clipping titles or enlarging a separate teaser row. */
.stock-live-list,.threads-live-list,.today-participation .opportunity-grid{align-items:stretch}
.stock-live-list>.stock-live-card{display:flex;flex-direction:column}
.stock-live-card>.stock-card-bottom{margin-top:auto;padding-top:12px}
.stock-teaser-body{display:flex;flex-direction:column;flex:1}
.stock-teaser-body .stock-card-bottom{margin-top:auto;padding-top:12px;flex-wrap:wrap;gap:12px}
.stock-teaser-prompt{margin-top:0;padding:0;border:0}
.stock-teaser-prompt .stock-follow{min-height:44px;display:flex;align-items:center;text-align:center;justify-content:center;font-size:13px;padding:10px 12px}
.today-participation .opportunity-card{display:flex;flex-direction:column}
.today-participation .opportunity-links{margin-top:auto;padding-top:8px}
.opportunity-card{display:flex;flex-direction:column}
.opportunity-card h3,.today-participation .opportunity-card h3{line-height:1.45;min-height:2.9em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.opportunity-card .participation-info{grid-template-rows:auto minmax(3.2em,auto) auto auto;gap:6px}
.opportunity-card .participation-info p{margin:0;line-height:1.6}
.opportunity-card .participation-info small{min-height:2.8em;line-height:1.4}
.opportunity-card .participation-info .apply-link{width:100%;min-height:46px;justify-self:stretch;justify-content:center;background:#408ce7;color:#fff;border-color:#408ce7;margin:8px 0}
.opportunity-card .opportunity-links{margin-top:auto;padding-top:8px}

/* Supplied artwork identifies the game; adjacent text identifies the event type. */
.game-identity{display:inline-flex;align-items:center;gap:8px;color:#dae8f8;font-weight:600;vertical-align:middle}
.game-identity[data-game=pokemon]{--game-image:url('/assets/game-pokemon.png')}
.game-identity[data-game=onepiece]{--game-image:url('/assets/game-onepiece.png')}
.game-identity[data-game=riftbound]{--game-image:url('/assets/game-riftbound.png')}
.game-identity[data-game=pokemon]::before,.game-identity[data-game=onepiece]::before,.game-identity[data-game=riftbound]::before{content:"";display:block;flex:none;width:36px;height:36px;border-radius:9px;background-image:var(--game-image);background-size:cover;background-position:center;border:1px solid #506071}
.today-participation .tags,.opportunity-card .tags,.agenda-meta,.main-column .tags{align-items:center}
.opportunity-card .tags{gap:12px;font-size:13px}.opportunity-card .game-identity::before{width:44px;height:44px}
.main-column .tags .game-identity{font-size:12px}.main-column .tags .game-identity::before{width:28px;height:28px;border-radius:7px}
@media(max-width:760px){.opportunity-card .game-identity::before{width:38px;height:38px}.game-identity{gap:6px}}
.amazon-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin:18px 0;border:1px solid #345269;border-radius:12px;background:#10202d;color:#8fe8f4;text-decoration:none}
.amazon-entry strong{display:block;font-size:16px}.amazon-entry small{display:block;color:#a9bac9;margin-top:4px;font-size:13px}.amazon-entry:hover{border-color:#6ddfee}.amazon-entry:focus-visible{outline:2px solid #6ddfee;outline-offset:3px}

.calendar-event-bar.calendar-closed{background:#292d32;border-color:#555c65;color:#9ca3ad}.calendar-closed .event-bar-title,.month-summary-row.calendar-closed strong,.agenda-event.calendar-closed h3{text-decoration:line-through;text-decoration-thickness:1px;color:#9ca3ad}.month-summary-row.calendar-closed,.agenda-event.calendar-closed{color:#9ca3ad}.calendar-closed .event-kind{color:#9ca3ad;background:#292d32}

/* Calendar event details */
.calendar-event-dialog{width:min(640px,calc(100vw - 32px));max-width:640px;max-height:85dvh;padding:24px;border:1px solid #394450;border-radius:16px;background:#171c22;color:#e6edf5;overflow:auto;box-sizing:border-box;box-shadow:0 24px 80px #0008}
.calendar-event-dialog::backdrop{background:#000a}
.calendar-popup-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.calendar-popup-heading h2{font-size:18px;margin:0}
.calendar-popup-heading button{min-height:44px}
.calendar-event-dialog .agenda-event{border:0;padding:0;margin:0;background:transparent}
.calendar-event-dialog .agenda-event h3{font-size:22px;line-height:1.45;margin:16px 0}
.calendar-event-dialog .event-note{white-space:pre-wrap;overflow-wrap:anywhere}
.calendar-event-dialog .apply-link{display:flex;justify-content:center;margin-top:16px}
.calendar-event-dialog .save-event{margin-top:16px}
body:has(.calendar-event-dialog[open]){overflow:hidden}
@media(max-width:600px){.calendar-event-dialog{padding:20px}.calendar-event-dialog .agenda-event h3{font-size:20px}}

.opportunity-card .tags .amazon-new{background:#173e30;color:#8ceab7;border:1px solid #327351;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.04em;padding:2px 6px;margin-left:auto}
