/* Reviews: a readable community feed and a focused writing experience. */
.reviews-page {
  --review-accent: #f4f4f1;
  --review-line: rgba(255,255,255,.13);
  --review-muted: #a1a3a6;
}
.reviews-page.seasonal-mode { --review-accent: var(--ev-accent); }
.reviews-page .nav-container { gap: 1rem; }
.reviews-page .brand-logo { margin-right: .45rem; }
.reviews-page .nav-links { gap: 1.05rem; }
.reviews-page .nav-actions { gap: .7rem; margin-left: .35rem; }
.reviews-page .nav-link.active { color: #fff; }
.reviews-page .mobile-review-action { display: none; }

.reviews-page .hero-content { max-width: 1264px !important; padding-inline: 0 !important; width: calc(100% - clamp(40px, 8vw, 116px)) !important; }
.reviews-page .hero .pulse-dot { background: var(--review-accent) !important; box-shadow: none !important; }
.reviews-page .hero-title .gradient-text { color: #a7b0b5 !important; -webkit-text-fill-color: #a7b0b5 !important; background: none !important; filter: none; }
.reviews-page .btn-primary { box-shadow: none !important; }
.reviews-page .hero-title { max-width: 900px; margin-bottom: 1.3rem; font-size: clamp(2.8rem,5.5vw,4.9rem) !important; font-weight: 500; line-height: 1.05; letter-spacing: -.065em; }
.reviews-page .hero-desc { max-width: 57ch; margin-bottom: 2rem; color: #a7aaad; font-size: 1rem; line-height: 1.8; }
.reviews-page .reviews-hero-card { gap: 2rem; padding: 1.8rem 2rem; margin-bottom: .5rem; border: 1px solid var(--review-line) !important; border-radius: 16px !important; background: linear-gradient(120deg, #171819, #101112) !important; box-shadow: none !important; }
.reviews-page .reviews-hero-card::before { display: none; }
.reviews-page .reviews-score-block { gap: 1.7rem; }
.reviews-page .reviews-score-number { display: flex; gap: .55rem; align-items: baseline; white-space: nowrap; }
.reviews-page .big-rating-number { font-size: 3.8rem; font-weight: 500; line-height: 1; letter-spacing: -.07em; text-shadow: none; }
.reviews-page .reviews-score-scale { color: #797d81; font-size: 1rem; }
.reviews-page .score-stars { gap: .3rem; margin-bottom: .55rem; color: var(--review-accent); filter: none; }
.reviews-page .score-stars svg { width: 17px; height: 17px; }
.reviews-page .score-text { color: #dedfdf; font-size: .83rem; font-weight: 500; }
.reviews-page .score-sub-meta { margin-top: .5rem; color: #93979b; font-size: .72rem; }
.reviews-page .live-pulse-dot { width: 5px; height: 5px; background: var(--review-accent); box-shadow: none; }
.reviews-page .reviews-hero-action .btn { min-height: 46px; gap: .65rem; border-radius: 8px; padding: .8rem 1.25rem; font-size: .8rem; }
.reviews-page .reviews-showcase { padding-block: 1.5rem 3.5rem !important; }
.reviews-page .reviews-feed-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin: 1.5rem 0 1.4rem; }
.reviews-page .reviews-eyebrow { color: var(--review-accent); font-size: .61rem; font-weight: 600; letter-spacing: .15em; }
.reviews-page .reviews-feed-heading h2 { margin: .5rem 0 0; font: 500 clamp(1.5rem,2.7vw,2.1rem)/1.2 var(--font-display); letter-spacing: -.045em; }
.reviews-page .reviews-feed-heading p { margin: 0 0 .1rem; color: #969a9e; font-size: .77rem; }
.reviews-page .reviews-filter-bar { justify-content: flex-start; margin-bottom: 1.6rem; padding: 0; border: 0; background: transparent; }
.reviews-page .filter-pills { justify-content: flex-start; gap: .5rem; }
.reviews-page .filter-pill { padding: .6rem .85rem; border-radius: 7px; font-size: .74rem; background: transparent; border-color: var(--review-line); color: #a2a6aa; box-shadow: none; }
.reviews-page .filter-pill.active { background: #f0f0ed; border-color: #f0f0ed; color: #121314; box-shadow: none; }
.reviews-page .filter-pill .pill-count { padding: 0; margin-left: .25rem; background: none; color: inherit; font-size: inherit; opacity: .6; }
.reviews-page .reviews-grid { gap: 1.1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.reviews-page .review-card { padding: 1.5rem; border: 1px solid var(--review-line) !important; border-radius: 14px !important; background: linear-gradient(145deg,#161718,#101112) !important; box-shadow: none !important; backdrop-filter: none; }
.reviews-page .review-card:hover { border-color: rgba(255,255,255,.26) !important; transform: translateY(-2px) !important; box-shadow: none !important; }
.reviews-page .review-header { margin-bottom: 1.15rem; }
.reviews-page .reviewer-avatar { width: 42px; height: 42px; border: 1px solid var(--review-line); box-shadow: none; }
.reviews-page .reviewer-name { gap: .35rem .5rem; font-size: .9rem; }
.reviews-page .review-role-badge { padding: .2rem .4rem; font-size: .53rem; letter-spacing: .03em; box-shadow: none !important; text-shadow: none !important; }
.reviews-page .reviewer-tagline { margin-top: .25rem; font-size: .69rem; color: #989ca0; }
.reviews-page .review-rating-line { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.1rem; }
.reviews-page .review-stars-row { color: var(--review-accent) !important; margin-left: 0 !important; gap: .2rem; }
.reviews-page .review-stars-row svg { color: var(--review-accent) !important; }
.reviews-page .review-stars-row svg { width: 16px; height: 16px; }
.reviews-page .review-rating-value { color: #a7aaad; font-size: .71rem; }
.reviews-page .review-text { margin: 0 0 1.35rem; color: #d5d7d9; font-size: .89rem; line-height: 1.8; white-space: pre-line; overflow-wrap: anywhere; }
.reviews-page .review-badges-row { order: 3; margin: auto 0 0; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.07); gap: .45rem; }
.reviews-page .review-package-badge { padding: 0; border: 0; border-radius: 0; background: transparent; color: #a7abad; font-size: .67rem; font-weight: 400; gap: .4rem; }
.reviews-page .review-package-badge svg { color: #7e8588; }
.reviews-page .review-bench-pill { border: 1px solid var(--review-line); border-radius: 5px; padding: .25rem .4rem; background: #ffffff06; color: #c2c7c8; font-size: .64rem; font-weight: 500; box-shadow: none; overflow-wrap: anywhere; }
.reviews-page .review-screenshot-wrap { margin: 0 0 1rem; border-radius: 8px; border-color: var(--review-line); max-height: 190px; flex-shrink: 0; }
.reviews-page .review-screenshot-wrap:focus-visible { outline: 2px solid var(--review-accent); outline-offset: 4px; }
.reviews-page .review-role-badge .role-icon,.reviews-page .discord-role-pill .role-icon { display: inline-flex; }
.reviews-page .review-role-badge .role-icon svg { width: .65rem; height: .65rem; }
.reviews-page .review-role-badge.role-member,.reviews-page .discord-role-pill.role-member { color: #c2c7cb; border: 1px solid var(--review-line); background: #ffffff06; }

/* Dialog shell. The form keeps its primary action in view as proof is expanded. */
.reviews-page .review-modal-backdrop { align-items: center; padding: 1.5rem; background: rgba(3,4,5,.78); backdrop-filter: blur(14px); }
.reviews-page .review-modal-card { max-width: 1020px; max-height: calc(100dvh - 3rem); border: 1px solid rgba(255,255,255,.19); border-radius: 20px; background: #111213; box-shadow: 0 32px 120px #000b; }
.reviews-page .review-modal-card::before { display: none; }
.reviews-page .review-modal-header { align-items: flex-start; gap: 1.5rem; padding: 1.8rem 2rem 1.65rem; border-bottom: 1px solid var(--review-line); background: transparent; }
.reviews-page .review-modal-header .dash-badge-brand { display: inline-flex; align-items: center; gap: .4rem; padding: 0; margin-bottom: .8rem !important; border: 0; border-radius: 0; background: transparent; color: var(--review-accent); font-size: .6rem; font-weight: 600; letter-spacing: .14em; box-shadow: none; }
.reviews-page .review-modal-header .dash-badge-brand svg { width: 13px; height: 13px; }
.reviews-page .form-title { margin: 0 0 .5rem !important; color: #f2f3f1; font-size: clamp(1.8rem,3vw,2.25rem) !important; font-weight: 500; line-height: 1.1; letter-spacing: -.055em; }
.reviews-page .review-modal-header p { max-width: 60ch; margin: 0; color: #a2a5a8; font-size: .85rem; line-height: 1.6; }
.reviews-page .form-close-btn { flex-shrink: 0; width: 36px; height: 36px; margin-top: -.15rem; border: 1px solid var(--review-line); border-radius: 50%; color: #b2b6ba; font-size: 23px; background: transparent; }
.reviews-page .form-close-btn:hover { color: #fff; background: #ffffff09; }
.reviews-page .review-modal-body { min-height: 0; padding: 1.5rem 2rem 0; }
.reviews-page .discord-auth-panel { margin-bottom: 1.6rem; }
.reviews-page .discord-auth-box { border: 1px solid var(--review-line); border-radius: 11px; background: #ffffff03; padding: .9rem 1rem; box-shadow: none; backdrop-filter: none; }
.reviews-page .discord-auth-box::before { display: none; }
.reviews-page .discord-authed { align-items: center; flex-wrap: nowrap; gap: .75rem; }
.reviews-page .discord-user-details { min-width: 0; }
.reviews-page .discord-user-badge { flex: 1; gap: .8rem; min-width: 0; }
.reviews-page .discord-avatar-container { width: 40px; height: 40px; }
.reviews-page .discord-display-name { font-size: .88rem; }
.reviews-page .discord-user-title-row { gap: .5rem; flex-wrap: wrap; }
.reviews-page .discord-role-pill { padding: .2rem .45rem; border: 1px solid var(--review-line); background: #ffffff06; color: #b9c1bd; font-size: .58rem; box-shadow: none !important; text-shadow: none !important; }
.reviews-page .discord-role-pill .role-icon svg { width: .65rem; height: .65rem; }
.reviews-page .discord-meta-sub { margin-top: .25rem; color: #9a9fa2; font-size: .68rem; }
.reviews-page .btn-discord-logout { min-height: 34px; padding: .45rem .65rem; border: 1px solid var(--review-line); border-radius: 7px; color: #a9afb2; font-size: .68rem; }
.reviews-page .discord-auth-heading { font-size: .9rem; }
.reviews-page .discord-auth-subtext { max-width: 54ch; font-size: .75rem; line-height: 1.7; }
.reviews-page .discord-unauthed { gap: 1.4rem; }
.reviews-page .discord-unauthed .btn { flex-shrink: 0; padding: .7rem .85rem; font-size: .75rem; }
.reviews-page .discord-auth-badge-icon { width: 38px; height: 38px; border-color: var(--review-line); }
.reviews-page .discord-auth-badge-icon svg { width: 20px; }
.reviews-page .review-composer-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 2rem; align-items: start; padding-bottom: 1.5rem; }
.reviews-page .review-writing-panel,.reviews-page .review-session-panel { min-width: 0; }
.reviews-page .form-group { gap: .6rem; }
.reviews-page .form-label { color: #d8dbdd; font-size: .77rem; font-weight: 500; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.reviews-page .form-label > span[aria-hidden] { color: #6d7478; margin-left: .1rem; }
.reviews-page .review-writing-label { font-size: .95rem; font-weight: 600; }
.reviews-page .review-writing-prompt { margin: -.2rem 0 .15rem; color: #9ca3a6; font-size: .77rem; line-height: 1.7; }
.reviews-page .form-input,.reviews-page .form-select,.reviews-page .form-textarea { width: 100%; min-width: 0; min-height: 46px; padding: .75rem .85rem; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: #0c0d0e; color: #e8ebeb; font-family: inherit; font-size: .8rem; outline: none; transition: border-color 180ms,box-shadow 180ms; }
.reviews-page .form-input:hover,.reviews-page .form-select:hover,.reviews-page .form-textarea:hover { border-color: #ffffff40; }
.reviews-page .form-input:focus,.reviews-page .form-select:focus,.reviews-page .form-textarea:focus { border-color: var(--review-accent); box-shadow: 0 0 0 3px #ffffff08; }
.reviews-page .form-input::placeholder,.reviews-page .form-textarea::placeholder { color: #747c80; }
.reviews-page .form-select { color-scheme: dark; padding-right: 1.6rem; text-overflow: ellipsis; }
.reviews-page .form-textarea { min-height: 190px; line-height: 1.8; resize: vertical; }
.reviews-page .form-hint { color: #969ea2; font-size: .65rem; line-height: 1.6; }
.reviews-page .review-session-panel { display: grid; gap: 1.25rem; padding: 1.25rem; border: 1px solid #ffffff0d; border-radius: 12px; background: #ffffff03; }
.reviews-page .review-optional { float: right; color: #8b9599; font-size: .65rem; font-weight: 400; }
.reviews-page .review-rating-group { gap: .6rem; }
.reviews-page .star-rating-selector { display: flex; gap: .3rem; margin: 0; }
.reviews-page .star-input-btn { display: grid; place-items: center; width: 42px; height: 42px; padding: .4rem; border: 1px solid #ffffff0d; border-radius: 8px; background: #ffffff03; color: #4d555a; cursor: pointer; transition: color 160ms,border-color 160ms,background 160ms,transform 160ms; }
.reviews-page .star-input-btn svg { width: 23px; height: 23px; }
.reviews-page .star-input-btn.filled,.reviews-page .star-input-btn.hover { color: var(--review-accent); filter: none; background: #ffffff06; }
.reviews-page .star-input-btn.hover { border-color: var(--review-accent); }
.reviews-page .star-input-btn:hover { transform: translateY(-2px); }
.reviews-page .star-input-btn:focus-visible { outline: 2px solid var(--review-accent); outline-offset: 3px; }
.reviews-page .rating-caption { display: block; margin: 0; color: #b2babc; font-size: .69rem; }
.reviews-page .review-session-note { display: flex; gap: .6rem; margin: 0; color: #939ea2; font-size: .66rem; line-height: 1.6; }
.reviews-page .review-session-note svg { flex-shrink: 0; margin-top: .1rem; color: #b8c4bd; }
.reviews-page .review-evidence { margin-top: 1.2rem; border: 1px solid var(--review-line); border-radius: 10px; }
.reviews-page .review-evidence summary { display: flex; align-items: center; gap: .8rem; padding: 1rem; cursor: pointer; list-style: none; }
.reviews-page .review-evidence summary::-webkit-details-marker { display: none; }
.reviews-page .review-evidence summary:hover { background: #ffffff03; }
.reviews-page .review-evidence summary:focus-visible { outline: 2px solid var(--review-accent); outline-offset: 3px; border-radius: 8px; }
.reviews-page .review-evidence-icon { display: grid; place-items: center; color: #a8b2b6; }
.reviews-page .review-evidence-copy { flex: 1; color: #d4dcdf; font-size: .77rem; font-weight: 500; }
.reviews-page .review-evidence-copy > span { display: block; margin-top: .25rem; color: #929da2; font-size: .64rem; font-weight: 400; }
.reviews-page .review-evidence-chevron { flex-shrink: 0; color: #8c989e; transition: transform 180ms; }
.reviews-page .review-evidence[open] .review-evidence-chevron { transform: rotate(180deg); }
.reviews-page .review-evidence-body { display: grid; gap: 1.1rem; padding: .25rem 1rem 1rem; }
.reviews-page .upload-dropzone { min-height: 120px; padding: 1.1rem; border: 1px dashed #ffffff29; border-radius: 8px; background: #0c0d0e; }
.reviews-page .upload-dropzone:hover,.reviews-page .upload-dropzone.dragover,.reviews-page .upload-dropzone:focus-within { border-color: var(--review-accent); box-shadow: none; background: #ffffff03; }
.reviews-page .upload-icon { width: 30px; height: 30px; margin-bottom: .5rem; border: 0; background: none; color: #c1cbcd; }
.reviews-page .upload-text-main { margin-bottom: .4rem; color: #d2d9dc; font-size: .73rem; }
.reviews-page .upload-text-main > span { color: #87949c; font-weight: 400; }
.reviews-page .upload-text-sub { color: #929da2; font-size: .63rem; }
.reviews-page .image-preview-container { margin-top: .3rem; gap: .65rem; padding: .65rem; border: 1px solid var(--review-line); border-radius: 8px; background: #0c0d0e; }
.reviews-page .preview-thumb { width: 42px; height: 42px; border: 1px solid var(--review-line); border-radius: 5px; }
.reviews-page .preview-info { min-width: 0; }
.reviews-page .preview-filename { margin: 0 0 .2rem; max-width: 240px; font-size: .68rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.reviews-page .preview-size { color: #949fa3; font-size: .59rem; }
.reviews-page .btn-remove-img { min-height: 32px; padding: .35rem .5rem; border: 1px solid var(--review-line); border-radius: 6px; background: transparent; color: #c1c9cb; font-size: .64rem; }
.reviews-page .review-submit-row { position: sticky; bottom: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem 0 1.35rem; border-top: 1px solid var(--review-line); background: #111213; }
.reviews-page .review-submit-note { color: #969fa3; font-size: .68rem; line-height: 1.7; }
.reviews-page #submitReviewBtn { flex-shrink: 0; justify-content: center; gap: 1rem; min-height: 46px; padding: .8rem 1.2rem; border-radius: 8px; font-size: .78rem; box-shadow: none; }
.reviews-page #submitReviewBtn:disabled { cursor: wait; }
.reviews-page .review-submit-status { margin: 0; color: #b2babc; font-size: .75rem; line-height: 1.7; }
.reviews-page .review-submit-status:not(:empty) { margin: .3rem 0 1rem; padding: .7rem .85rem; border: 1px solid var(--review-line); border-radius: 7px; }
.reviews-page .review-submit-status[data-state="error"] { color: #ffc4bb; border-color: #ff9e8d40; background: #ff927b08; }
.reviews-page .review-form-wrapper.locked .review-form-lock-message { border: 1px solid var(--review-line); border-radius: 12px; background: #111213e0; backdrop-filter: blur(3px); padding: 1.5rem; text-align: center; color: #c2cbce; }
.reviews-page .review-form-wrapper.locked .review-form-lock-message svg { color: #bbc5ca; }

@media (max-width:1120px) {
  .reviews-page .nav-links { display: none; }
  .reviews-page .nav-actions { gap: .5rem; margin-left: 0; }
  .reviews-page .nav-actions > .btn-discord-nav,.reviews-page .nav-actions > .order-btn,.reviews-page .header-social { display: none; }
  .reviews-page .mobile-toggle { display: flex; }
  .reviews-page .mobile-menu { display: flex; }
  .reviews-page .mobile-review-action { display: inline-flex; width: 100%; justify-content: center; }
  .reviews-page .reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .reviews-page .hero-title { font-size: clamp(2.5rem,8vw,3.8rem) !important; }
  .reviews-page .hero-desc { font-size: .88rem; line-height: 1.8; }
  .reviews-page .reviews-hero-card { flex-wrap: wrap; gap: 1.4rem; padding: 1.5rem !important; }
  .reviews-page .reviews-score-block { gap: 1.3rem; }
  .reviews-page .big-rating-number { font-size: 3.1rem; }
  .reviews-page .reviews-feed-heading { align-items: flex-start; flex-direction: column; gap: .7rem; }
  .reviews-page .reviews-feed-heading p { font-size: .73rem; }
  .reviews-page .reviews-grid { grid-template-columns: 1fr; }
  .reviews-page .review-modal-backdrop { padding: .65rem; }
  .reviews-page .review-modal-card { max-height: calc(100dvh - 1.3rem); border-radius: 14px; }
  .reviews-page .review-modal-header { gap: .7rem; padding: 1.35rem 1.15rem 1.1rem; }
  .reviews-page .review-modal-header .dash-badge-brand { margin-bottom: .7rem !important; font-size: .52rem; letter-spacing: .1em; }
  .reviews-page .form-title { font-size: 1.75rem !important; }
  .reviews-page .review-modal-header p { max-width: 34ch; font-size: .75rem; }
  .reviews-page .form-close-btn { width: 32px; height: 32px; }
  .reviews-page .review-modal-body { padding: 1.1rem 1.15rem 0; }
  .reviews-page .discord-auth-panel { margin-bottom: 1.3rem; }
  .reviews-page .discord-auth-box { padding: .8rem; }
  .reviews-page .discord-user-badge { gap: .6rem; }
  .reviews-page .discord-avatar-container { width: 34px; height: 34px; }
  .reviews-page .discord-meta-sub { max-width: 27ch; font-size: .61rem; line-height: 1.5; }
  .reviews-page .discord-display-name { font-size: .8rem; overflow-wrap: anywhere; }
  .reviews-page .discord-role-pill { font-size: .5rem; }
  .reviews-page .btn-discord-logout { margin-left: .4rem; padding: .35rem .5rem; font-size: .62rem; }
  .reviews-page .discord-unauthed { align-items: stretch; flex-direction: column; gap: 1rem; }
  .reviews-page .discord-auth-subtext { font-size: .7rem; }
  .reviews-page .review-composer-grid { grid-template-columns: minmax(0,1fr); gap: 1.3rem; }
  .reviews-page .review-session-panel { order: -1; padding: 1rem; gap: 1.1rem; }
  .reviews-page .form-input,.reviews-page .form-select,.reviews-page .form-textarea { font-size: 16px; }
  .reviews-page .form-select { font-size: .8rem; }
  .reviews-page .form-textarea { min-height: 175px; }
  .reviews-page .review-evidence summary { padding: .9rem .8rem; gap: .65rem; }
  .reviews-page .review-evidence-copy > span { font-size: .61rem; }
  .reviews-page .review-evidence-body { padding-inline: .8rem; }
  .reviews-page .preview-filename { max-width: 135px; }
  .reviews-page .review-submit-row { padding: 1rem 0; gap: .75rem; }
  .reviews-page .review-submit-note { max-width: 20ch; font-size: .58rem; }
  .reviews-page #submitReviewBtn { min-height: 44px; padding: .7rem .8rem; gap: .5rem; font-size: .72rem; }
}
@media (max-width:370px) {
  .reviews-page .review-modal-backdrop { padding: .3rem; }
  .reviews-page .review-modal-card { max-height: calc(100dvh - .6rem); }
  .reviews-page .review-modal-header,.reviews-page .review-modal-body { padding-inline: .9rem; }
  .reviews-page .review-submit-note { display: none; }
  .reviews-page #submitReviewBtn { width: 100%; }
  .reviews-page .star-input-btn { width: 38px; height: 40px; }
}
@media (prefers-reduced-motion:reduce) {
  .reviews-page .review-modal-backdrop,.reviews-page .review-modal-card,.reviews-page .star-input-btn,.reviews-page .review-evidence-chevron { transition: none !important; }
  .reviews-page .review-card:hover { transform: none !important; }
}
