:root {
  color-scheme: dark;
  --bg: #090b10;
  --panel: #10131b;
  --panel-soft: #0d1017;
  --line: #ffffff14;
  --line-strong: #ffffff22;
  --muted: #9397a5;
  --text: #f3f3f6;
  --lime: #08a9e8;
  --lime-dark: #2850e8;
  --brand-cyan: #08a9e8;
  --brand-blue: #294ce8;
  --star: #35bafa;
  --glass: linear-gradient(145deg, #ffffff0c, #ffffff04);
  --glass-strong: linear-gradient(145deg, #171b25e8, #10131bdc);
  --shadow-soft: 0 18px 55px #0005;
  --radius-card: 16px;
  --content-gutter: clamp(18px, 4vw, 30px);
  --font-body: "DM Sans", sans-serif;
  --font-display: "Manrope", sans-serif;
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 98px; }
body { position: relative; isolation: isolate; margin: 0; min-width: 360px; background: var(--bg); }
body::before { position: fixed; z-index: -1; inset: 0; background: radial-gradient(ellipse at 12% 6%, #08a9e814, transparent 32%), radial-gradient(ellipse at 90% 26%, #294ce812, transparent 34%), linear-gradient(180deg, #0b0d13 0%, var(--bg) 48%); content: ""; pointer-events: none; }
button, input, textarea, select { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-header { position: sticky; top: 0; z-index: 10; height: 78px; max-width: 1240px; padding: 0 var(--content-gutter); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; border: 1px solid #ffffff0a; border-top: 0; border-radius: 0 0 18px 18px; background: #0c0f16c9; box-shadow: 0 12px 35px #0002; backdrop-filter: blur(22px) saturate(145%); -webkit-backdrop-filter: blur(22px) saturate(145%); }
.brand { display: inline-flex; align-items: center; }
.brand-logo { display: block; width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; }
.header-nav { display: flex; align-items: center; gap: 36px; margin-left: 70px; color: #aeb0bb; font-size: 13px; }
.header-nav a:hover, .text-link:hover { color: var(--lime); }
.header-actions { display: flex; align-items: center; gap: 13px; }
.button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 10px; padding: 0 18px; border: 1px solid transparent; border-radius: 10px; font-size: 12px; font-weight: 700; cursor: pointer; transition: background .18s, border-color .18s, transform .18s, box-shadow .18s; }
.button:hover { transform: translateY(-1px); }
.button-primary { background: linear-gradient(115deg, var(--brand-cyan), var(--brand-blue)); color: #fff; box-shadow: 0 8px 25px #087fe833, inset 0 1px #ffffff45; }
.button-primary:hover { background: linear-gradient(115deg, #25bdf2, #4167f4); box-shadow: 0 10px 30px #087fe84d, inset 0 1px #ffffff60; }
.button-quiet { background: transparent; color: #dddde3; }
.button-quiet:hover { background: #ffffff0a; }
.button-outline { background: #ffffff06; border-color: var(--line-strong); color: #eeeeF2; }
.button-outline:hover { border-color: #08a9e880; background: #08a9e812; }
.button-large { min-height: 48px; padding: 0 20px; }
.button-full { width: 100%; margin-top: 4px; }
.user-menu { display: flex; align-items: center; gap: 9px; padding: 5px 12px 5px 5px; border: 1px solid var(--line-strong); border-radius: 30px; background: #ffffff08; font-size: 12px; cursor: pointer; transition: border-color .18s, background .18s; }
.user-menu:hover { border-color: #08a9e866; background: #08a9e80b; }
.user-avatar { position: relative; display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; overflow: hidden; border-radius: 50%; background: #123145; color: #56c8fa; font-weight: 700; }
.user-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.user-avatar #user-initial { display: grid; place-items: center; }
.user-signout { padding-left: 8px; border-left: 1px solid #343843; color: #c0c2ca; font-size: 10px; }

.hero { position: relative; isolation: isolate; overflow: hidden; max-width: 1240px; min-height: 570px; padding: 88px var(--content-gutter) 76px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 340px; align-items: center; gap: clamp(42px, 7vw, 92px); }
.hero::before { content: ""; position: absolute; z-index: -2; inset: 0 -5vw; background: radial-gradient(ellipse at 17% 12%, #08a9e81c, transparent 42%), radial-gradient(ellipse at 78% 42%, #294ce814, transparent 38%), linear-gradient(180deg, #0c0f16d9, #090b1000 92%); }
.hero-glow { position: absolute; z-index: -1; width: 650px; height: 380px; top: 80px; left: -270px; background: #08a9e812; filter: blur(100px); border-radius: 50%; }
.hero-content { max-width: 640px; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: var(--lime); font-size: 10px; letter-spacing: 1.55px; font-weight: 700; }
.eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--brand-cyan); box-shadow: 0 0 12px #08a9e887; }
h1, h2, p { margin-top: 0; }
h1, h2 { font-family: var(--font-display); letter-spacing: -2.5px; }
.hero h1 { margin: 24px 0 18px; font-size: clamp(44px, 5.3vw, 68px); line-height: 1.06; font-weight: 800; }
.hero h1 .hero-title-accent, .section-heading h2 span { color: var(--brand-cyan); text-shadow: 0 0 32px #08a9e82e; }
.hero-title-line.is-typing::after { display: inline-block; width: 2px; height: .82em; margin-left: .12em; background: currentColor; content: ""; vertical-align: -.04em; animation: hero-caret-blink .8s steps(2, start) infinite; }
@keyframes hero-caret-blink { to { visibility: hidden; } }
.hero-copy { max-width: 480px; margin-bottom: 32px; color: #b0b3c0; font-size: 14px; line-height: 1.9; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.text-link { color: #dadce3; font-size: 12px; font-weight: 600; transition: color .18s, gap .18s; }
.text-link:hover { color: var(--lime); }
.community-proof { display: flex; align-items: center; gap: 13px; margin-top: 44px; color: #9699a5; font-size: 11px; }
.community-proof strong { color: #e7e8ec; }
.proof-divider { width: 1px; height: 15px; margin: 0 3px; background: #333641; }
.rating-card { position: relative; z-index: 1; padding: 27px 26px 25px; border: 1px solid #ffffff20; border-radius: var(--radius-card); background: var(--glass-strong); box-shadow: 0 24px 80px #0006, inset 0 1px #ffffff0c; backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); }
.rating-card-top { display: flex; align-items: center; justify-content: space-between; }
.rating-label { color: #a7aab7; font-size: 9px; letter-spacing: 1.2px; font-weight: 700; }
.rating-live { display: flex; align-items: center; gap: 5px; color: #b4b7c2; font-size: 8px; letter-spacing: 1px; }
.rating-live i { width: 5px; height: 5px; border-radius: 50%; background: #35c6ff; box-shadow: 0 0 8px #08a9e8; }
.rating-score { display: flex; align-items: baseline; gap: 7px; margin-top: 26px; font: 800 59px var(--font-display); letter-spacing: -3px; }
.rating-out-of { color: #9da0ad; font: 500 15px var(--font-body); letter-spacing: 0; }
.star-row { display: flex; gap: 5px; margin-top: 9px; color: var(--star); font-size: 14px; }
.trustpilot-stars { display: inline-flex; align-items: center; gap: 4px; line-height: 1; }
.trustpilot-star { position: relative; display: inline-block; width: 1em; height: 1em; font-size: inherit; line-height: 1; color: rgba(255, 255, 255, .18); }
.trustpilot-star::before { content: "★"; position: absolute; inset: 0; display: grid; place-items: center; font-size: inherit; line-height: 1; color: rgba(255, 255, 255, .18); }
.trustpilot-star.filled::before { color: var(--star); text-shadow: 0 0 12px rgba(53, 186, 250, .45); }
.trustpilot-star.half::before { background: linear-gradient(90deg, var(--star) 0%, var(--star) calc(var(--fill) * 100%), rgba(255, 255, 255, .18) calc(var(--fill) * 100%), rgba(255, 255, 255, .18) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.rating-card-foot { display: flex; gap: 5px; margin-top: 8px; color: #9295a2; font-size: 10px; }
.rating-card-foot strong { color: #d6d7de; font-weight: 600; }
.rating-rule { height: 1px; margin: 24px 0 17px; background: linear-gradient(90deg, #ffffff1c, #ffffff08); }
.rating-bars { display: grid; gap: 10px; }
.rating-bar-row { display: grid; width: 100%; grid-template-columns: 25px 1fr 25px; align-items: center; gap: 9px; padding: 0; border: 0; background: transparent; color: #a3a5b1; font-size: 9px; text-align: left; }
.rating-bar-label { display: inline-flex; align-items: center; gap: 4px; }
.rating-bar-number { display: inline-block; width: 8px; flex: 0 0 8px; text-align: right; }
.rating-bar-label .fa-star { color: var(--brand-cyan); font-size: 8px; }
.rating-bar-row .bar-track { height: 5px; overflow: hidden; border-radius: 4px; background: #292d36; }
.rating-bar-row .bar-fill { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--lime); transition: width .65s cubic-bezier(.2, .8, .2, 1); }
.rating-bar-row .bar-count { text-align: right; font-variant-numeric: tabular-nums; }
.hero-orb { position: absolute; z-index: -1; border: 1px solid #08a9e818; border-radius: 50%; pointer-events: none; }
.orb-one { width: 560px; height: 560px; top: -230px; right: 90px; box-shadow: inset 0 0 90px #08a9e80a; }
.orb-two { width: 440px; height: 440px; top: -168px; right: 150px; }

.review-section { max-width: 1180px; padding: 104px var(--content-gutter) 88px; margin: 0 auto; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 52px; }
.section-eyebrow { margin-bottom: 15px; font-size: 9px; }
.section-heading h2 { margin: 0; font-size: clamp(38px, 4vw, 46px); line-height: 1.16; font-weight: 800; }
.section-aside { max-width: 360px; padding-bottom: 4px; }
.section-aside p { color: #aeb1bd; font-size: 12px; line-height: 1.85; }
.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 13px; margin-top: 37px; border: 1px solid #ffffff12; border-radius: 14px; background: #ffffff05; box-shadow: inset 0 1px #ffffff06; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.filter-pills, .toolbar-controls { display: flex; align-items: center; gap: 7px; }
.filter-pill { min-height: 37px; padding: 0 13px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #a2a5b1; font-size: 10px; cursor: pointer; transition: color .18s, background .18s, border-color .18s; }
.filter-pill:hover, .filter-pill.active { border-color: #ffffff18; background: #ffffff0b; color: #f0f1f5; }
.filter-pill.active { box-shadow: inset 0 1px #ffffff0a; }
.filter-pill > i { color: var(--brand-cyan); font-size: 9px; }
.filter-pill span { color: #56c8fa; }
.search-field { display: flex; align-items: center; width: 205px; height: 39px; gap: 9px; padding: 0 12px; border: 1px solid #ffffff16; border-radius: 9px; background: #07090e66; transition: border-color .18s, background .18s; }
.search-field:focus-within { border-color: #08a9e870; background: #07090e9c; }
.search-field svg { width: 15px; flex: 0 0 15px; fill: none; stroke: #9094a1; stroke-width: 1.6; }
.search-field input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 10px; }
.search-field input::placeholder { color: #777b88; }
.sort-select select { height: 39px; padding: 0 30px 0 12px; border: 1px solid #ffffff16; border-radius: 9px; outline: 0; background: #10131ad9; color: #d7d8e0; font-size: 10px; cursor: pointer; }
.review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding-top: 22px; }
.review-card { position: relative; min-height: 225px; padding: 24px 25px 21px; border: 1px solid #ffffff14; border-radius: 14px; background: var(--glass); box-shadow: inset 0 1px #ffffff08; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: border-color .2s, transform .2s, background .2s, box-shadow .2s; }
.review-card:hover { transform: translateY(-3px); border-color: #08a9e84a; background: linear-gradient(145deg, #ffffff10, #ffffff05); box-shadow: 0 16px 36px #0003, inset 0 1px #ffffff0b; }
.review-card-top { display: flex; justify-content: space-between; align-items: center; }
.review-stars { display: inline-flex; align-items: center; gap: 3px; color: var(--star); font-size: 11px; }
.review-stars .trustpilot-star { font-size: 11px; }
.review-stars .trustpilot-star.half::before, .review-stars .trustpilot-star.filled::before { filter: drop-shadow(0 0 4px #08a9e833); }
.review-date { color: #7c808d; font-size: 9px; }
.review-card h3 { margin: 18px 0 9px; font: 700 15px var(--font-display); letter-spacing: -.2px; }
.review-body { display: -webkit-box; overflow: hidden; margin: 0; color: #b2b4bf; font-size: 12px; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 3; white-space: pre-line; overflow-wrap: anywhere; }
.review-card-bottom { display: flex; justify-content: space-between; align-items: center; margin-top: 21px; }
.review-author { display: flex; align-items: center; gap: 9px; color: #d7d8de; font-size: 10px; font-weight: 600; }
.review-avatar { position: relative; display: grid; place-items: center; width: 27px; height: 27px; overflow: hidden; border-radius: 50%; background: #123145; color: #56c8fa; font-size: 10px; font-weight: 700; }
.review-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.review-card:nth-child(4n+2) .review-avatar { background: #28213a; color: #c8adff; }
.review-card:nth-child(4n+3) .review-avatar { background: #1e3035; color: #91e1dc; }
.review-card:nth-child(4n+4) .review-avatar { background: #38252a; color: #ff9e9e; }
.review-verified { display: inline-flex; align-items: center; gap: 4px; color: #b6cf77; font-size: 8px; }
.review-verified i { display: grid; place-items: center; width: 13px; height: 13px; border-radius: 50%; background: #123145; color: #56c8fa; font-size: 7px; }
.review-edit-actions { display: flex; align-items: center; gap: 8px; }
.review-edit-actions button { padding: 3px 0 3px 8px; border: 0; background: transparent; color: #a2a5b1; font-size: 9px; cursor: pointer; }
.review-edit-actions button:hover { color: var(--lime); }
.empty-state { grid-column: 1 / -1; padding: 64px 24px; border: 1px dashed #ffffff26; border-radius: 14px; background: #ffffff03; color: #a2a5b0; text-align: center; font-size: 12px; }
.empty-state strong { display: block; margin-bottom: 8px; color: #e7e8ec; font: 700 17px var(--font-display); }
.skeleton { height: 225px; border: 1px solid #ffffff12; border-radius: 14px; background: linear-gradient(100deg, #ffffff03, #ffffff0b, #ffffff03); background-size: 200% 100%; animation: shimmer 1.4s infinite linear; }
@keyframes shimmer { to { background-position: -200% 0; } }
.reviews-footer { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; color: #878b97; font-size: 10px; }
.pagination { display: flex; gap: 5px; }
.page-button { display: grid; place-items: center; min-width: 34px; height: 34px; border: 1px solid #ffffff16; border-radius: 9px; background: #ffffff06; color: #bdc0ca; font-size: 10px; cursor: pointer; transition: border-color .18s, background .18s, color .18s; }
.page-button.active, .page-button:hover { border-color: #08a9e866; background: #08a9e814; color: #56c8fa; }
.page-button:disabled { opacity: .38; cursor: not-allowed; }

.closing-cta { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 30px; max-width: 1180px; min-height: 200px; overflow: hidden; padding: 40px 50px; margin: 10px auto 88px; border: 1px solid #08a9e830; border-radius: 18px; background: linear-gradient(115deg, #08a9e814, #ffffff07 48%, #294ce814); box-shadow: 0 22px 70px #0003, inset 0 1px #ffffff0b; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.closing-cta .eyebrow { font-size: 8px; letter-spacing: 1.5px; }
.closing-cta h2 { margin: 12px 0 8px; font-size: 27px; letter-spacing: -.7px; }
.closing-cta p { margin: 0; color: #b3b5a9; font-size: 12px; line-height: 1.7; }
.cta-icon { display: grid; place-items: center; width: 54px; height: 54px; flex: 0 0 54px; border: 1px solid #08a9e866; border-radius: 14px; background: linear-gradient(135deg, #08a9e81c, #294ce81c); color: #56c8fa; font-size: 25px; }
.cta-icon + div { margin-right: auto; }
.cta-glow { position: absolute; z-index: -1; width: 430px; height: 230px; left: 35%; top: -90px; border-radius: 50%; background: linear-gradient(90deg, #08a9e81c, #294ce81c); filter: blur(45px); }
.site-footer { max-width: 1240px; padding: 27px var(--content-gutter) 24px; margin: 0 auto; border-top: 1px solid #ffffff12; color: #858995; }
.footer-nav { display: flex; align-items: center; gap: 27px; padding-bottom: 20px; }
.footer-nav a, .footer-nav button { padding: 0; border: 0; background: transparent; color: #b4b6c0; font-size: 10px; transition: color .18s; }
.footer-nav button { cursor: pointer; }
.footer-nav a:hover, .footer-nav button:hover { color: var(--lime); }
.footer-nav button span { padding-left: 4px; color: var(--lime); }
.footer-bottom { padding-top: 17px; border-top: 1px solid #1c1f27; color: #777b87; font-size: 9px; }
.modal-brand .brand-logo { width: 62px; height: 62px; }

.modal { width: min(440px, calc(100% - 28px)); max-height: min(90vh, 750px); overflow: auto; padding: 34px; border: 1px solid #ffffff24; border-radius: 18px; background: linear-gradient(145deg, #171b25f5, #0f121af2); color: var(--text); box-shadow: 0 30px 110px #000b, inset 0 1px #ffffff0d; backdrop-filter: blur(28px) saturate(140%); }
.modal::backdrop { background: #050609c9; backdrop-filter: blur(9px); }
.modal-dismiss { position: absolute; top: 13px; right: 13px; }
.modal-close { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #ffffff18; border-radius: 50%; background: #ffffff08; color: #b8bac4; font-size: 13px; cursor: pointer; transition: background .18s, color .18s; }
.modal-close:hover { background: #ffffff12; color: #fff; }
.modal-brand { margin-bottom: 18px; }
.modal-eyebrow { font-size: 8px; }
.modal h2 { margin: 10px 0 5px; font-size: 27px; letter-spacing: -1px; }
.modal-description { margin-bottom: 19px; color: #a2a5b1; font-size: 11px; line-height: 1.7; }
.auth-providers { display: grid; gap: 8px; }
.provider-button { display: flex; align-items: center; justify-content: center; gap: 10px; height: 42px; border: 1px solid #30343e; border-radius: 7px; background: #151821; font-size: 11px; font-weight: 600; transition: border-color .2s, background .2s; }
.provider-button:hover { border-color: #08a9e866; background: #131b28; }
.provider-icon { width: 18px; text-align: center; font-size: 14px; }
.discord-icon { color: #9eafff; }
.google-icon { color: #eee; }
.github-icon { color: #f1f1f1; font-size: 17px; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: #858995; font-size: 9px; }
.auth-divider::before, .auth-divider::after { content: ""; height: 1px; flex: 1; background: #2a2d36; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin-bottom: 17px; border-radius: 7px; background: #0b0d12; }
.auth-tab { min-height: 31px; border: 0; border-radius: 5px; background: transparent; color: #999ca8; font-size: 10px; cursor: pointer; }
.auth-tab.active { background: #242730; color: #f4f4f5; }
.auth-form, .review-form, .signup-field, .auth-field { display: grid; gap: 8px; }
.signup-field.hidden { display: none; }
.signup-name-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.auth-form label, .review-form > label, .star-picker legend { margin-top: 4px; color: #d8dae1; font-size: 10px; font-weight: 600; }
.auth-form input, .review-form input, .review-form textarea { width: 100%; padding: 0 12px; border: 1px solid #30343e; border-radius: 6px; outline: none; background: #0c0e14; color: var(--text); font-size: 11px; }
.auth-form input, .review-form input { height: 41px; }
.review-form textarea { min-height: 120px; padding: 11px 12px; resize: vertical; line-height: 1.6; }
.auth-form input:focus, .review-form input:focus, .review-form textarea:focus { border-color: #08a9e8; }
.auth-credentials { display: grid; gap: 8px; }
.field-hint { margin: -3px 0 0; color: #898d99; font-size: 9px; }
.form-error { min-height: 0; margin: 0; color: #ff9e9e; font-size: 10px; line-height: 1.5; }
.form-error:not(:empty) { margin: 3px 0; }
.auth-footnote { margin: 17px 0 0; color: #777b87; font-size: 9px; line-height: 1.6; text-align: center; }
.auth-otp-field { display: grid; gap: 8px; }
.auth-otp-field label { margin-top: 4px; color: #d8dae1; font-size: 10px; font-weight: 600; }
.auth-otp-field input { width: 100%; height: 48px; padding: 0 12px; border: 1px solid #30343e; border-radius: 6px; outline: none; background: #0c0e14; color: var(--text); font-size: 20px; font-variant-numeric: tabular-nums; letter-spacing: 8px; text-align: center; }
.auth-otp-field input:focus { border-color: #08a9e8; }
.dashboard-content { display: grid; gap: 14px; }
.dashboard-profile, .dashboard-review { padding: 20px; border: 1px solid #ffffff16; border-radius: 12px; background: #ffffff06; box-shadow: inset 0 1px #ffffff06; }
.dashboard-profile h3, .dashboard-review h3 { margin: 0 0 8px; font-size: 16px; }
.dashboard-profile p, .dashboard-review > p { margin: 0 0 10px; color: #a2a5b1; font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }
.dashboard-role { display: inline-flex; padding: 4px 8px; border: 1px solid #08a9e84d; border-radius: 20px; color: #56c8fa; font-size: 9px; text-transform: capitalize; }
.dashboard-review .review-stars { margin: 3px 0 8px; color: var(--lime); }
.dashboard-review > strong { display: block; margin-bottom: 7px; }
.dashboard-review .dashboard-review-body { margin: 0 0 12px; color: #b9bbc4; font-size: 11px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-tabs { display: flex; gap: 6px; padding: 4px; margin: 0 0 14px; border-radius: 7px; background: #0b0d12; }
.admin-tab { min-height: 34px; padding: 0 15px; border: 0; border-radius: 5px; background: transparent; color: #999ca8; font-size: 10px; cursor: pointer; }
.admin-tab.active { background: #242730; color: #f4f4f5; }
.admin-user-list { display: grid; gap: 8px; max-height: 55vh; overflow: auto; }
.admin-user-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid #ffffff16; border-radius: 10px; background: #ffffff05; }
.admin-user-details { display: grid; gap: 4px; min-width: 0; }
.admin-user-details strong { overflow: hidden; text-overflow: ellipsis; }
.admin-user-details span, .admin-role { color: #a2a5b1; font-size: 10px; overflow-wrap: anywhere; }
.admin-role { text-transform: capitalize; }
.admin-user-row .button { min-height: 34px; padding: 0 10px; font-size: 10px; }
.admin-user-row .button:disabled { opacity: .45; cursor: not-allowed; }
.admin-review-list { display: grid; gap: 8px; max-height: 55vh; overflow: auto; }
.admin-review-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 14px; border: 1px solid #ffffff16; border-radius: 10px; background: #ffffff05; }
.admin-review-details { display: grid; gap: 6px; min-width: 0; }
.admin-review-details > span { color: #a2a5b1; font-size: 10px; overflow-wrap: anywhere; }
.admin-review-details p { margin: 0; color: #b9bbc4; font-size: 11px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-review-row .button { min-height: 34px; padding: 0 10px; font-size: 10px; }
.dashboard-main { width: min(940px, 100%); min-height: calc(100vh - 193px); padding: 68px var(--content-gutter) 88px; margin: 0 auto; }
.dashboard-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 30px; }
.dashboard-page-heading h1 { margin: 13px 0 8px; font-size: clamp(38px, 6vw, 54px); line-height: 1.1; font-weight: 800; }
.dashboard-page-heading h1 span { color: var(--brand-cyan); }
.dashboard-page-heading p, .dashboard-management-heading p { margin: 0; color: #a2a5b1; font-size: 12px; line-height: 1.7; }
.dashboard-page-error:empty { display: none; }
.dashboard-page .dashboard-profile h2, .dashboard-page .dashboard-review h2 { margin: 0 0 9px; font: 700 18px var(--font-display); letter-spacing: -.3px; }
.dashboard-page .dashboard-content { gap: 14px; }
.dashboard-page .dashboard-profile, .dashboard-page .dashboard-review { padding: clamp(20px, 4vw, 28px); border-color: #ffffff1c; border-radius: 14px; background: var(--glass); }
.dashboard-profile p, .dashboard-review > p { color: #a2a5b1; font-size: 12px; line-height: 1.7; }
.profile-name-form { display: grid; gap: 9px; max-width: 460px; margin-top: 16px; }
.profile-name-form label { color: #d8dae1; font-size: 11px; font-weight: 600; }
.profile-name-form input { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid #30343e; border-radius: 6px; outline: none; background: #0c0e14; color: var(--text); font: inherit; }
.profile-name-form input:focus { border-color: #08a9e8; }
.profile-avatar-form { max-width: 520px; margin-top: 18px; }
.profile-avatar-layout { display: flex; align-items: center; gap: 18px; }
.profile-avatar-controls { display: grid; flex: 1; justify-items: start; gap: 9px; min-width: 0; }
.profile-avatar-controls > label { color: #d8dae1; font-size: 11px; font-weight: 700; }
.profile-avatar-preview { position: relative; display: grid; place-items: center; width: 82px; height: 82px; flex: 0 0 82px; overflow: hidden; border: 1px solid #08a9e84d; border-radius: 50%; background: radial-gradient(circle at 35% 25%, #174057, #101923 70%); color: #70d1ff; font-size: 28px; font-weight: 700; box-shadow: 0 0 0 5px #08a9e80a, 0 8px 24px #0005; }
.profile-avatar-preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.profile-avatar-picker { display: flex; width: min(100%, 350px); min-height: 66px; align-items: center; gap: 11px; padding: 10px 13px; border: 1px dashed #ffffff30; border-radius: 10px; background: linear-gradient(120deg, #ffffff08, #ffffff03); color: var(--text); cursor: pointer; transition: border-color .18s, background .18s, box-shadow .18s; }
.profile-avatar-picker:hover, .profile-avatar-picker:focus-within { border-color: #08a9e8a6; background: #08a9e80b; box-shadow: 0 0 0 3px #08a9e80c; }
.profile-avatar-picker-icon { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border: 1px solid #08a9e840; border-radius: 9px; background: linear-gradient(145deg, #08a9e822, #294ce81c); color: #70d1ff; font-size: 15px; }
.profile-avatar-picker-copy { display: grid; gap: 4px; min-width: 0; }
.profile-avatar-picker-copy strong { font-size: 11px; font-weight: 700; }
.profile-avatar-picker-copy > span { color: var(--muted); font-size: 9px; line-height: 1.4; }
.profile-avatar-file-name { max-width: 100%; overflow: hidden; color: #70d1ff; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.profile-avatar-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.profile-avatar-actions .button { min-height: 37px; padding: 0 13px; font-size: 10px; }
.profile-avatar-actions button:disabled { opacity: .45; cursor: not-allowed; }
.trusted-customer-form { display: grid; gap: 9px; max-width: 460px; margin-top: 16px; }
.trusted-customer-form label { color: #d8dae1; font-size: 11px; font-weight: 600; }
.trusted-customer-form input, .trusted-customer-form select { width: 100%; min-height: 42px; padding: 0 12px; border: 1px solid #30343e; border-radius: 6px; outline: none; background: #0c0e14; color: var(--text); font: inherit; }
.trusted-customer-form input:focus, .trusted-customer-form select:focus { border-color: #08a9e8; }
.trusted-customer-form input[hidden], .trusted-customer-form select[hidden], .trusted-customer-form label[hidden] { display: none; }
.trusted-customer-message, .trusted-customer-status { color: #70d1ff !important; }
.dashboard-management { margin-top: 34px; padding: clamp(20px, 4vw, 28px); border: 1px solid #ffffff1c; border-radius: 14px; background: var(--glass); }
.dashboard-management-heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.dashboard-management-heading h2 { margin: 9px 0 7px; font: 700 20px var(--font-display); letter-spacing: -.4px; }
.dashboard-management-panel { padding-top: 24px; }
.dashboard-management-panel.hidden { display: none; }
.dashboard-page .admin-user-list, .dashboard-page .admin-review-list { max-height: 560px; }
.review-modal { width: min(500px, calc(100% - 28px));   .dashboard-main { min-height: calc(100vh - 180px); padding: 48px 17px 62px; }
  .dashboard-page-heading, .dashboard-management-heading { align-items: start; flex-direction: column; }
  .dashboard-page-heading { margin-bottom: 24px; }
}
.review-modal .modal-description { margin-bottom: 17px; }
.star-picker { display: flex; align-items: center; gap: 13px; padding: 0; margin: 0 0 8px; border: 0; }
.star-picker legend { float: left; }
.star-picker-buttons { display: flex; gap: 3px; }
.star-picker-buttons button { padding: 5px 3px; border: 0; background: none; color: #4c505c; font-size: 21px; cursor: pointer; transition: color .16s, transform .16s; }
.star-picker-buttons button:hover { transform: translateY(-1px) scale(1.08); }
.star-picker-buttons button.selected, .star-picker-buttons button:hover { color: var(--lime); }
.button > i { font-size: 10px; }
.text-link > i { margin-left: 3px; font-size: 10px; }
.cta-icon i { font-size: 21px; }
.rating-hint { color: #9295a2; font-size: 9px; }
.character-count { color: #858995; font-size: 9px; text-align: right; }
.toast { position: fixed; z-index: 15; right: 24px; bottom: 24px; max-width: min(380px, calc(100vw - 48px)); padding: 14px 18px; border: 1px solid #08a9e84d; border-radius: 12px; background: #101b2be8; color: #d8f3ff; font-size: 11px; opacity: 0; transform: translateY(12px); pointer-events: none; box-shadow: 0 14px 40px #0006; backdrop-filter: blur(18px); transition: opacity .2s, transform .2s; }
.toast.visible { opacity: 1; transform: translateY(0); }

.not-found-page { display: flex; min-height: 100vh; flex-direction: column; }
.not-found-page .site-header, .not-found-page .site-footer { width: 100%; }
.not-found-main { position: relative; isolation: isolate; display: grid; flex: 1; place-items: center; overflow: hidden; padding: 48px 20px 80px; }
.not-found-glow { position: absolute; z-index: -1; width: min(720px, 90vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #08a9e81c, #294ce80a 42%, transparent 70%); filter: blur(12px); }
.not-found-card { width: min(620px, 100%); padding: clamp(32px, 7vw, 66px); border: 1px solid #ffffff1c; border-radius: 22px; background: var(--glass-strong); box-shadow: 0 30px 100px #0007, inset 0 1px #ffffff0c; text-align: center; backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); }
.not-found-code { display: block; margin-bottom: 8px; background: linear-gradient(120deg, #35c6ff, #294ce8); background-clip: text; color: transparent; font: 800 clamp(88px, 20vw, 150px)/.95 var(--font-display); letter-spacing: -.09em; -webkit-background-clip: text; }
.not-found-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 16px 0 22px; color: #aeb0bb; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; }
.not-found-card h1 { margin-bottom: 16px; font-size: clamp(34px, 7vw, 52px); line-height: 1.12; font-weight: 800; }
.not-found-card h1 span { color: var(--brand-cyan); text-shadow: 0 0 32px #08a9e82e; }
.not-found-card p { max-width: 390px; margin: 0 auto 28px; color: #aeb0bb; font-size: 13px; line-height: 1.8; }
.not-found-card .button { gap: 12px; }
.not-found-card .button span { font-size: 17px; transition: transform .18s; }
.not-found-card .button:hover span { transform: translateX(3px); }

@media (max-width: 850px) {
  .site-header { padding: 0 22px; }
  .header-nav { margin-left: 0; gap: 20px; }
  .hero { grid-template-columns: minmax(0, 1fr) 285px; gap: 30px; padding-right: 22px; padding-left: 22px; }
  .review-section { padding-right: 22px; padding-left: 22px; }
  .closing-cta { margin-right: 22px; margin-left: 22px; padding: 32px; }
  .review-list { gap: 11px; }
}
@media (max-width: 650px) {
  body { min-width: 320px; }
  html { scroll-padding-top: 82px; }
  .site-header { height: 67px; padding: 0 17px; }
  .site-header { border-radius: 0 0 14px 14px; }
  .site-header > .brand .brand-logo { width: 54px; height: 54px; flex-basis: 54px; }
  .header-nav { display: none; }
  .header-actions { gap: 4px; }
  .header-actions .button { min-height: 37px; padding: 0 10px; font-size: 10px; }
  .hero { min-height: auto; grid-template-columns: 1fr; gap: 34px; padding: 66px 21px 58px; }
  .hero h1 { font-size: clamp(42px, 11vw, 57px); letter-spacing: -2px; }
  .hero-copy { font-size: 13px; }
  .community-proof { flex-wrap: wrap; gap: 8px; margin-top: 28px; font-size: 9px; }
  .rating-card { width: 100%; max-width: 400px; padding: 24px 22px 22px; }
  .orb-one { right: -310px; }
  .orb-two { right: -255px; }
  .review-section { padding: 76px 17px 64px; }
  .section-heading { align-items: start; flex-direction: column; gap: 14px; }
  .section-heading h2 { font-size: 38px; }
  .section-aside { display: flex; align-items: center; justify-content: space-between; gap: 14px; max-width: none; }
  .section-aside p { max-width: 250px; margin: 0; }
  .section-aside .button { flex: 0 0 auto; padding: 0 10px; font-size: 9px; }
  .toolbar { align-items: stretch; flex-direction: column; gap: 11px; padding: 11px; margin-top: 25px; }
  .filter-pills { overflow-x: auto; padding-bottom: 2px; }
  .filter-pill { flex: 0 0 auto; padding: 0 9px; font-size: 9px; }
  .toolbar-controls { width: 100%; }
  .search-field { flex: 1; width: auto; }
  .review-list { grid-template-columns: 1fr; }
  .review-card { min-height: 205px; padding: 21px; }
  .reviews-footer { gap: 10px; font-size: 9px; }
  .closing-cta { align-items: start; flex-wrap: wrap; gap: 15px; min-height: 0; padding: 25px 20px; margin: 0 17px 58px; border-radius: 15px; }
  .cta-icon { width: 43px; height: 43px; flex-basis: 43px; }
  .cta-icon + div { max-width: calc(100% - 60px); }
  .closing-cta h2 { font-size: 21px; }
  .closing-cta p { font-size: 10px; line-height: 1.6; }
  .closing-cta .button { margin-left: 58px; }
  .site-footer { padding: 27px 17px 20px; }
  .footer-nav { flex-wrap: wrap; gap: 14px 22px; }
  .modal { padding: 29px 22px 24px; }
  .admin-user-row { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-role { grid-column: 1; }
  .admin-user-row .button { grid-column: 2; grid-row: 1 / span 2; }
  .not-found-main { padding: 30px 17px 54px; }
  .not-found-card { border-radius: 18px; }
  .profile-avatar-layout { align-items: flex-start; flex-direction: column; gap: 13px; }
  .profile-avatar-controls, .profile-avatar-picker { width: 100%; }
  .profile-avatar-picker { max-width: 350px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
