/* Site-owned navigation, discovery and research surfaces. */
.header-bar .header-actions > .btn { border-radius: 7px; min-height: 36px; }
.home-page { padding-block: 40px; }
.home-hero { min-height: calc(100svh - 205px); display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.home-copy h2 { font-size: clamp(38px, 4.6vw, 62px); line-height: 1.07; letter-spacing: -.05em; margin: 0; }
.home-lead { color: var(--pt-text); max-width: 46ch; font-size: 19px; line-height: 1.6; margin: 28px 0; }
.home-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.home-actions .btn { min-height: 48px; }
.home-routes { display: grid; gap: 10px; margin-top: 34px; }
.home-routes a { color: var(--pt-gold); width: fit-content; font-size: 16px; }
.home-footnote { color: var(--pt-muted); font-size: 13px; line-height: 1.65; margin-top: 36px; }
.home-feature { position: relative; min-height: 540px; border-radius: 20px; overflow: hidden; color: var(--pt-night-text); background: var(--pt-night); border: 1px solid var(--pt-line); isolation: isolate; text-decoration: none; }
#homeArtwork, #homeArtwork img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-feature::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 15%, oklch(.16 .03 260 / .5) 55%, var(--pt-night)); }
#homeArtwork { z-index: -2; }
.home-feature-label { position: absolute; top: 24px; left: 24px; font: 11px var(--pt-mono); letter-spacing: .1em; padding: 8px 12px; border: 1px solid var(--pt-night-muted); border-radius: 5px; background: var(--pt-night); }
.home-feature-copy { position: absolute; inset: auto 32px 32px; }
.home-feature-copy h3 { color: var(--pt-night-text); font-size: 38px; margin: 8px 0; }
.home-feature-copy p { color: var(--pt-night-muted); }
.home-feature-link { display: inline-flex; margin-top: 24px; padding: 10px 16px; color: var(--pt-night); background: var(--pt-amber); border-radius: 6px; font-weight: 600; }
.home-feature:hover .home-feature-link { background: oklch(.87 .12 78); }
[data-page="browse"] .discovery, [data-page="profile"] .discovery { padding-top: 0; }
[data-page="profile"] .stage-tabs, [data-page="profile"] #followingFilter, [data-page="profile"] #historyStatus { display: none; }
.profile-welcome { margin: 0 0 28px; color: var(--pt-text); }
.profile-welcome .btn { margin-top: 16px; }
.maker-combobox { position: relative; }
.maker-combobox input { width: 100%; padding-right: 35px !important; }
#makerToggle { position: absolute; right: 2px; top: 2px; height: 42px; width: 32px; color: var(--pt-text); background: transparent; border: 0; cursor: pointer; font-size: 22px; }
#makerOptions { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; min-width: 100%; width: max-content; max-width: min(320px, 85vw); max-height: 280px; overflow: auto; list-style: none; margin: 0; padding: 6px; border: 1px solid var(--pt-control-line); border-radius: 9px; background: var(--pt-paper); box-shadow: 0 12px 30px oklch(.2 .02 260 / .14); }
#makerOptions li { padding: 9px 12px; border-radius: 5px; cursor: pointer; overflow-wrap: anywhere; }
#makerOptions li:hover, #makerOptions li.is-active { background: var(--pt-soft); color: var(--pt-ink); }
#makerOptions li[aria-selected="true"] { font-weight: 700; color: var(--pt-gold); }
.brand-icon, .ui-icon { display: inline-block; width: 20px; height: 20px; flex: 0 0 20px; vertical-align: middle; }
.brand-icon { background-color: currentColor; mask: var(--brand-mask) center / contain no-repeat; }
.brand-icon--steam { --brand-mask: url('../assets/icons/steam.svg'); }
.brand-icon--itchdotio { --brand-mask: url('../assets/icons/itchdotio.svg'); }
.brand-icon--reddit { --brand-mask: url('../assets/icons/reddit.svg'); }
.brand-icon--github { --brand-mask: url('../assets/icons/github.svg'); }
.brand-action { --brand-color: var(--pt-gold); }
.brand-action[data-brand="reddit"] { --brand-color: oklch(.55 .2 35); }
.brand-action[data-brand="steam"] { --brand-color: oklch(.47 .12 242); }
.brand-action[data-brand="itch"] { --brand-color: oklch(.53 .18 23); }
.brand-action:hover, .brand-action:focus-visible { color: var(--brand-color) !important; border-color: var(--brand-color) !important; background: color-mix(in oklch, var(--brand-color) 9%, var(--pt-paper)); }
.play-link { display: inline-flex; position: relative; overflow: hidden; align-items: center; justify-content: center; gap: 9px; border: 1px solid var(--pt-control-line); border-radius: 7px; color: var(--pt-ink); padding: 10px 14px; font-size: 14px; font-weight: 650; min-height: 42px; text-decoration: none; }
.play-link::after { content: ''; pointer-events: none; position: absolute; inset: 0; transform: translateX(-120%) skewX(-25deg); background: linear-gradient(90deg, transparent, color-mix(in oklch, var(--brand-color) 18%, transparent), transparent); }
.play-link:hover::after { transform: translateX(120%) skewX(-25deg); transition: transform .65s ease-out; }
.card-store { gap: 8px; align-items: center; }
.card-shortcuts { display: flex; gap: 6px; }
.card-shortcut { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--pt-line); border-radius: 8px; color: var(--pt-muted); }
.collection-item .card-shortcut, .collection-item .play-link, .card-favorite, .card-edit { position: relative; z-index: 2; }
.collection-item__preview { position: relative; }
.card-favorite, .card-edit { position: absolute; top: 12px; right: 12px; display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--pt-line); border-radius: 50%; background: var(--pt-paper); color: var(--pt-ink); cursor: pointer; }
.card-edit { right: auto; left: 12px; border-radius: 8px; }
.favorite-star[aria-pressed="true"] { color: var(--pt-gold); }
.favorite-star[aria-pressed="true"] svg { fill: var(--pt-amber); }
.platform-badge { gap: 6px; align-items: center; }
.platform-badge .brand-icon, .platform-badge .ui-icon { width: 14px; height: 14px; flex-basis: 14px; }
.thumbnail-edit { position: absolute; top: 90px; right: 24px; z-index: 4; }
.quick-image-panel { margin: 24px; padding: 24px; background: var(--pt-soft); border: 1px solid var(--pt-line); border-radius: 10px; }
.history-tabs { display: flex; gap: 8px; margin: 20px 0; border-bottom: 1px solid var(--pt-line); }
.history-tabs button { padding: 10px 16px; background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--pt-muted); cursor: pointer; }
.history-tabs button[aria-selected="true"] { color: var(--pt-ink); border-bottom-color: var(--pt-gold); }
.reference-list { display: grid; gap: 12px; }
.reference-link { display: flex; gap: 14px; padding: 16px; border: 1px solid var(--pt-line); border-radius: 8px; color: var(--pt-text); text-decoration: none; }
.reference-link:hover { border-color: var(--pt-gold); }
.reference-link img { width: 88px; height: 60px; object-fit: cover; border-radius: 4px; }
.reference-link strong { display: block; color: var(--pt-ink); }
.reference-link small { color: var(--pt-muted); overflow-wrap: anywhere; }
.rating-control { padding: 12px 0 20px; }
.rating-stars { display: flex; gap: 2px; border: 0; padding: 0; margin: 8px 0; }
.rating-stars button { display: grid; place-items: center; width: 36px; height: 36px; background: transparent; border: 0; color: var(--pt-muted); cursor: pointer; border-radius: 5px; }
.rating-stars button[aria-checked="true"], .rating-stars button.is-filled { color: var(--pt-gold); }
.rating-stars button.is-filled svg { fill: var(--pt-amber); }
.rating-stars button:hover { background: var(--pt-amber-soft); }
.rating-control p { margin: 4px 0; font-size: 13px; color: var(--pt-muted); }
@media (prefers-color-scheme: dark) {
  .brand-action[data-brand="reddit"] { --brand-color: oklch(.77 .14 35); }
  .brand-action[data-brand="steam"] { --brand-color: oklch(.78 .1 242); }
  .brand-action[data-brand="itch"] { --brand-color: oklch(.77 .12 23); }
}
@media (max-width: 800px) {
  .home-hero { gap: 32px; grid-template-columns: 1fr; }
  .home-feature { min-height: 340px; }
  .home-page { padding-top: 28px; }
  .home-copy h2 { font-size: 42px; }
  .home-lead { font-size: 17px; margin-block: 20px; }
  .home-routes { margin-top: 24px; }
  .home-footnote { margin-top: 24px; }
}
@media (max-width: 480px) {
  .home-copy h2 { font-size: 36px; }
  .home-feature { min-height: 310px; }
  .home-feature-copy { inset: auto 22px 22px; }
  .quick-image-panel { padding: 16px; margin: 16px; }
  .thumbnail-edit { top: 70px; right: 16px; }
}
@media (prefers-reduced-motion: reduce) { .play-link::after { display: none; } }
.research-page { max-width: 880px; }
.research-intro { max-width: 65ch; margin-bottom: 32px; }
.research-intro h2 { font-size: 36px; letter-spacing: -.035em; line-height: 1.15; margin: 12px 0 18px; }
.research-intro > p:not(.eyebrow) { font-size: 18px; color: var(--pt-text); }
.research-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-bottom: 24px; }
.research-picker > button { justify-self: start; }
.research-project { display: flex; gap: 20px; align-items: center; padding-bottom: 26px; border-bottom: 1px solid var(--pt-line); margin-bottom: 30px; }
.research-project img { width: 136px; height: 90px; border-radius: 8px; object-fit: cover; }
.research-project h3 { font-size: 23px; line-height: 1.2; margin: 7px 0; }
.question-progress { display: flex; justify-content: space-between; gap: 20px; align-items: center; font: 12px var(--pt-mono); color: var(--pt-muted); margin-bottom: 26px; }
.question-progress progress { width: 160px; height: 6px; accent-color: var(--pt-gold); }
.question-slide { animation: question-enter 200ms ease-out; min-height: 390px; }
.question-slide fieldset { border: 0; padding: 0; margin: 0; }
.question-slide legend { font-family: var(--pt-display); font-size: 25px; font-weight: 650; line-height: 1.25; margin-bottom: 12px; }
.question-slide legend:focus { outline: none; }
.question-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 20px 0; }
.question-options label { display: flex; gap: 12px; align-items: center; border: 1px solid var(--pt-control-line); border-radius: 9px; padding: 16px; background: var(--pt-paper); color: var(--pt-ink); cursor: pointer; font-size: 17px; }
.question-options label:has(input:checked) { border-color: var(--pt-gold); background: var(--pt-amber-soft); box-shadow: inset 0 0 0 1px var(--pt-gold); }
.question-options input { accent-color: var(--pt-gold); width: 18px; height: 18px; flex: 0 0 18px; }
.question-navigation { display: flex; align-items: center; gap: 16px; margin-top: 30px; }
.question-navigation [type="submit"] { margin-left: auto; min-width: 120px; }
.research-session-actions { border-top: 1px solid var(--pt-line); display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; margin-top: 24px; }
.research-privacy { max-width: 76ch; font-size: 13px; color: var(--pt-muted); margin-top: 32px; line-height: 1.6; }
.research-thanks { padding: 40px 0; }
.research-thanks > span { display: block; font-size: 40px; color: var(--pt-green); }
.research-thanks h3 { font-size: 28px; margin: 8px 0; }
.research-thanks p { margin-bottom: 24px; }
.research-embedded .header-bar, .research-embedded .neo-footer, .research-embedded .research-intro, .research-embedded .skip-link { display: none; }
.research-embedded .research-page { padding: 20px; }
.queue-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin: 20px 0; }
.queue-controls .field { min-width: 180px; flex: 1; }
.queue-controls .field:first-child { flex: 1.5; }
#queueCounts { font-size: 13px; color: var(--pt-muted); align-self: center; }
.queue-entry { border-top: 1px solid var(--pt-line); padding: 26px 0; }
.queue-entry h4 { font-family: var(--pt-display); font-size: 20px; margin: 10px 0 16px; }
.queue-entry h4 a { color: var(--pt-ink); }
.queue-entry p { max-width: 75ch; }
.queue-entry .admin-inline { margin-top: 20px; }
.job-status { border: 1px solid var(--pt-line); border-radius: 4px; padding: 3px 8px; }
.job-status--failed, .job-error { color: var(--pt-gold); }
.job-status--ready { color: var(--pt-green); background: var(--pt-green-soft); }
.job-artwork { display: block; max-width: 240px; max-height: 150px; object-fit: cover; margin: 16px 0; border-radius: 7px; }
.job-review { font-size: 17px; line-height: 1.65; }
.job-evidence { padding-left: 22px; }
.job-evidence li { margin: 20px 0; }
.job-evidence p { white-space: pre-wrap; overflow-wrap: anywhere; }
.job-evidence small { color: var(--pt-muted); }
.queue-entry details, .repost-review { margin-top: 20px; }
.queue-entry summary, .repost-review summary { cursor: pointer; font-weight: 600; }
#repostResults { white-space: pre-wrap; overflow-wrap: anywhere; }
.questionnaire-form { margin-block: 26px; }
.builder-question { border: 1px solid var(--pt-line); border-radius: 8px; padding: 20px; display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin: 20px 0; }
.builder-question legend { padding-inline: 8px; font-weight: 600; }
.builder-question .field:has(textarea) { grid-column: 1 / -1; }
.builder-question > button { justify-self: start; }
.research-counts { padding: 0; margin: 12px 0 24px; list-style: none; }
.research-counts li { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; border-bottom: 1px solid var(--pt-line); }
.published-review { border-top: 1px solid var(--pt-line); padding-block: 28px; }
.published-review h3 { margin: 10px 0; }
.published-review blockquote { font-size: 14px; color: var(--pt-text); white-space: pre-wrap; overflow-wrap: anywhere; }
@keyframes question-enter { from { transform: translateX(14px); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .question-slide { animation: none; } }
@media (max-width: 600px) {
  .research-picker, .question-options, .builder-question { grid-template-columns: 1fr; }
  .question-slide legend { font-size: 22px; }
  .research-project img { width: 88px; height: 70px; }
  .research-intro h2 { font-size: 29px; }
  .question-options label { padding: 14px; }
  .research-session-actions { flex-wrap: wrap; }
  .queue-controls { align-items: stretch; }
  .queue-controls .field { min-width: 100%; }
}

.quiz-question { animation: question-enter 200ms ease-out; }
@media (prefers-reduced-motion: reduce) { .quiz-question { animation: none; } }
.project-banner .image-fallback { color: var(--pt-night-text); }
.link-health-note { font-size: 12px; color: var(--pt-gold); }

/* A calm weekly front page, with all five picks visible and no carousel. */
.home-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); }
.weekly-highlights { min-width: 0; }
.weekly-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.weekly-heading .eyebrow { color: var(--pt-muted); margin: 0 0 7px; }
.weekly-heading h2 { font-size: 23px; letter-spacing: -.035em; line-height: 1.2; }
.weekly-picks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; gap: 16px; }
.weekly-picks > li { min-width: 0; }
.weekly-picks > li:first-child { grid-column: 1 / -1; }
.weekly-pick { display: grid; grid-template-columns: minmax(0, 1fr) 24px; text-decoration: none; color: var(--pt-ink); border-radius: 10px; }
.weekly-art { grid-column: 1 / -1; position: relative; overflow: hidden; aspect-ratio: 2.7; border-radius: 8px; background: var(--pt-soft); border: 1px solid var(--pt-line); }
.weekly-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.weekly-art--missing::after { content: 'Explore project ↗'; display: grid; place-items: center; height: 100%; font-size: 13px; color: var(--pt-muted); }
.weekly-pick--lead .weekly-art { aspect-ratio: 2.8; }
.weekly-number { position: absolute; top: 9px; left: 9px; background: var(--pt-night); color: var(--pt-night-text); padding: 3px 6px; font: 11px/1.5 var(--pt-mono); border-radius: 4px; }
.weekly-caption { min-width: 0; padding-top: 9px; }
.weekly-caption h3 { margin: 0; font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.weekly-pick--lead h3 { font-size: 22px; }
.weekly-caption p { color: var(--pt-muted); margin: 3px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.weekly-arrow { align-self: center; color: var(--pt-gold); font-size: 20px; text-align: right; }
.weekly-pick:hover h3 { color: var(--pt-gold); text-decoration: underline; text-underline-offset: 3px; }
.weekly-pick:hover .weekly-art { border-color: var(--pt-control-line); }
.weekly-note { font-size: 12px; color: var(--pt-muted); margin: 20px 0 0; }
.highlights-empty { padding: 36px 20px; color: var(--pt-muted); background: var(--pt-soft); border-radius: 8px; }

/* Consistent cards: the game is the heading; its source headline stays secondary. */
.collection__items[data-view="grid"] { align-items: stretch; }
.collection-item h3 { font-size: 22px; }
.collection-item .card-open { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.collection-item__headline { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 6px; }
.collection-item__body { padding-top: 16px; }
.collection-item__description { -webkit-line-clamp: 2; }
.card-store { margin-top: auto; padding-block: 16px 14px; width: 100%; }
.collection-item__foot { margin-top: 0; }
.collection-item__body > .collection-item__foot:last-child { margin-top: auto; }
.collection-item .play-link { font-size: 13px; min-height: 40px; padding: 8px 12px; }
.card-favorite, .card-edit { box-shadow: 0 2px 8px oklch(.18 .02 260 / .12); }
.card-favorite:hover, .card-edit:hover { background: var(--pt-amber-soft); color: var(--pt-gold); border-color: var(--pt-gold); }
.card-edit { width: auto; padding: 0 10px; gap: 6px; display: inline-flex; font-size: 13px; font-weight: 600; }
[data-view="list"] .collection-item { grid-template-columns: 240px minmax(0, 1fr); }
[data-view="list"] .collection-item__body { min-width: 0; }
[data-view="list"] .collection-item__headline { -webkit-line-clamp: 1; }
[data-view="list"] .collection-item__preview .game-image { min-height: 220px; }
[data-view="list"] .card-store { padding-block: 10px; }
.collection-footer { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 10px 20px; width: 100%; font: 12px/1.5 var(--pt-body); }
.collection-footer > span { margin-right: auto; }
.collection-footer .text-button, .collection-footer .text-link { font-size: 12px; }
[data-page="browse"] .collection, [data-page="profile"] .collection { padding-bottom: 32px; }
.header-bar .header-actions > a[aria-current="page"]:not(.header-quiz-link) { background: var(--pt-soft); border-color: var(--pt-control-line); font-weight: 650; }
.collection .btn:disabled, .dialog .btn:disabled { opacity: .5; cursor: not-allowed; }
.collection .btn, .dialog .btn, .play-link, .card-shortcut { transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out; }
.collection .field input, .collection .field textarea, .collection .field select, .inline-project-editor .input, .inline-project-editor .select { color: var(--pt-ink); background-color: var(--pt-paper); border: 1px solid var(--pt-control-line); border-radius: 8px; min-height: 44px; font: 16px var(--pt-body); }
.inline-project-editor { margin: 24px; padding: 24px; border: 1px solid var(--pt-control-line); border-radius: 10px; background: var(--pt-soft); }
.inline-editor-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.inline-editor-fields { border: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; min-width: 0; }
.inline-editor-fields .field { display: grid; gap: 6px; min-width: 0; }
.inline-editor-fields .field--wide { grid-column: 1/-1; }
.inline-editor-fields label { font-size: 14px; font-weight: 600; }
.inline-editor-fields .input { padding: 10px 12px; width: 100%; }
.inline-editor-fields .select { padding: 10px 12px; width: 100%; }
.inline-editor-fields .admin-inline { flex-wrap: wrap; }
.inline-project-editor [role="status"] { font-size: 14px; margin-top: 16px; }
.inline-project-editor .field__hint { font-size: 13px; }
.project-admin-actions { position: absolute; right: 24px; top: 80px; display: flex; gap: 8px; z-index: 4; }
.project-admin-actions .thumbnail-edit { position: static; }
.project-admin-actions:has(> [hidden]):not(:has(> :not([hidden]))) { display: none; }
@media (max-width: 900px) {
  .home-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .home-copy h2 { font-size: 38px; }
  .weekly-heading h2 { font-size: 20px; }
}
@media (max-width: 700px) {
  .home-hero { grid-template-columns: 1fr; }
  .weekly-highlights { border-top: 1px solid var(--pt-line); padding-top: 28px; }
  .weekly-pick--lead .weekly-art { aspect-ratio: 2.2; }
  .weekly-art { aspect-ratio: 1.8; }
  .weekly-heading { align-items: start; }
  .weekly-heading h2 { font-size: 23px; }
  .collection__meta { flex-wrap: wrap; gap: 8px; }
  .stage-tabs { order: 2; width: 100%; gap: 20px; }
  .collection #followingFilter { margin-right: auto; margin-left: 0; }
  .view-switch { margin-left: auto; }
  .collection-footer { justify-content: flex-start; }
  .collection-footer > span { width: 100%; }
  .inline-project-editor { padding: 16px; margin: 16px; }
  .inline-editor-fields { grid-template-columns: 1fr; }
  .project-admin-actions { top: 66px; right: 16px; }
  .project-admin-actions .btn { font-size: 12px; padding: 8px 10px; min-height: 38px; }
}
@media (max-width: 600px) {
  .collection__items[data-view="list"] .collection-item { grid-template-columns: 112px minmax(0, 1fr); gap: 12px; }
  [data-view="list"] .collection-item__body { padding: 12px 12px 4px 0; }
  [data-view="list"] .collection-item h3 { font-size: 18px; }
  [data-view="list"] .game-meta { gap: 6px; }
  [data-view="list"] .card-edit { top: 58px; left: auto; right: 10px; }
  [data-view="list"] .card-favorite { top: 10px; right: 10px; }
  [data-view="list"] .collection-item__headline { display: none; }
  [data-view="list"] .card-store { flex-wrap: wrap; }
}
.research-intro { max-width: 66ch; }
.research-how { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14px !important; margin-top: 24px; color: var(--pt-muted) !important; }
.research-how span { color: var(--pt-gold); }
.research-picker { display: block; }
.research-picker fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; border: 0; padding: 0; min-width: 0; }
.research-picker .field { display: grid; align-content: start; gap: 6px; min-width: 0; }
.research-picker .field .input, .research-picker .select { padding: 10px 12px; width: 100%; }
.research-picker .field label { font-size: 14px; font-weight: 600; }
.research-topics { grid-column: 1/-1; border-block: 1px solid var(--pt-line); padding-block: 16px; }
.research-topics summary { cursor: pointer; color: var(--pt-muted); font-size: 14px; }
.research-topic-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-top: 16px; }
.research-start { grid-column: 1/-1; display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.research-start > span { color: var(--pt-muted); font-size: 13px; }
.research-choice { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.research-choice p { font-weight: 600; font-size: 20px; }
.research-unavailable { border: 1px solid var(--pt-line); padding: 24px; border-radius: 10px; background: var(--pt-paper); }
.research-unavailable h3 { font-size: 22px; margin-bottom: 12px; }
.research-unavailable p { color: var(--pt-text); margin-bottom: 20px; }
.research-unavailable .admin-inline { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 600px) { .research-picker fieldset, .research-topic-fields { grid-template-columns: 1fr; } }
.highlight-explainer { max-width: 75ch; color: var(--pt-text); margin-block: 16px 24px; }
#highlightCount, #highlightEdition { color: var(--pt-muted); font-size: 14px; }
.highlight-slots { list-style: none; padding: 0; margin: 12px 0 28px; }
.highlight-slots > li { display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--pt-line); padding: 18px 0; }
.highlight-slots img { width: 104px; height: 64px; object-fit: cover; border-radius: 6px; background: var(--pt-soft); }
.highlight-position { font: 12px var(--pt-mono); color: var(--pt-gold); }
.highlight-game { min-width: 0; flex: 1; display: grid; gap: 3px; }
.highlight-game strong { font-size: 19px; color: var(--pt-ink); overflow-wrap: anywhere; }
.highlight-game > span { font-size: 13px; color: var(--pt-muted); }
.highlight-game label { display: flex; align-items: center; gap: 8px; font-size: 14px; margin-top: 4px; }
.highlight-game input { width: 16px; height: 16px; accent-color: var(--pt-gold); }
.highlight-actions { display: flex; gap: 6px; align-items: center; }
.highlight-actions .btn { padding-inline: 12px; }
.highlight-search { max-width: 500px; display: grid; gap: 8px; }
.highlight-matches { padding: 0; list-style: none; margin: 12px 0 24px; }
.highlight-matches li { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--pt-line); padding: 12px 0; }
.highlight-matches small { display: block; font-size: 13px; color: var(--pt-muted); }
.highlight-matches li > span { min-width: 0; overflow-wrap: anywhere; }
#highlightExclusions { margin-bottom: 24px; }
#highlightExclusions summary { cursor: pointer; color: var(--pt-muted); }
#highlightMessage { margin-top: 16px; }
@media (max-width: 600px) {
 .highlight-slots > li { flex-wrap: wrap; gap: 10px; }
 .highlight-slots img { width: 72px; height: 56px; }
 .highlight-game strong { font-size: 17px; }
 .highlight-actions { width: 100%; justify-content: flex-end; }
 .highlight-game label { font-size: 13px; }
}
.collection-item__body:not(:has(.card-store)) .collection-item__foot { margin-top: auto; }
.collection .select { appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23768194' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; background-size: 16px; text-overflow: ellipsis; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .collection .btn, .dialog .btn, .play-link, .card-shortcut { transition: none; } }
