/* TEST990: neutral surfaces, grapefruit actions, expressive test artwork. */
:root {
 --bg:#fff; --surface:#fff; --ink:#25282d; --ink-2:#59616c; --ink-3:#68717d;
 --line:#e6e8eb; --line-strong:#cbd0d7; --accent:#f26b5b; --accent-hover:#eb5d4c;
 --accent-soft:#fff0eb; --accent-ink:#25282d; --danger:#b33224;
 --serif:var(--sans); --glass:#fff; --glass-border:#e6e8eb;
}
html,body { background:#f7f8fa; } body { padding:0; }
body::before,body::after { display:none; }
#app { max-width:720px; background:#fff; border-radius:0; box-shadow:none; }
.page { min-height:100dvh; }
.topbar,.page-landing .topbar { padding:20px; border-bottom:1px solid #f0f1f3; }
.brand { font-family:var(--sans); font-size:23px; font-weight:850; letter-spacing:-.055em; color:var(--ink); gap:5px; }
.brand { gap:9px; min-height:44px; }
.brand-mark { display:block; width:36px; height:36px; flex:0 0 36px; }
.brand::after { content:none; }
.topbar .link-btn { text-decoration:none; font-size:13px; color:var(--ink-2); }
.btn { border-radius:14px; font-weight:700; box-shadow:none; }
.btn-primary { color:var(--accent-ink); background:var(--accent); border:1px solid transparent; box-shadow:none; }
.btn-primary:hover,.btn-primary:active { background:var(--accent-hover); color:var(--accent-ink); }
.btn-secondary,.btn-google,.nav-account { background:#fff; border:1px solid var(--line); box-shadow:none; color:var(--ink); }
.btn[disabled],.btn[aria-disabled="true"] { background:#e9ebee; color:#68717d; border-color:transparent; }
.link-btn { color:#b23e30; }.eyebrow,.section-tag { color:#b23e30; }
:focus-visible { outline-color:#b23e30; }
:is(.auth-box,.charm-visual,.perspective,.preview-section,.preview-paper,.result-cover,.page-report .cards .card,.page-report .charm .card,.page-report .summary-text,.page-report .upsell,.report-contents,.callout,.item-list li,.type-gallery-card,.type-detail-card,.pass-product,.report-block,.checkpoint-result) { background:#fff; border:1px solid var(--line); box-shadow:none; border-radius:20px; }
.hero-tag,.auth .hero::before,.perception,.survey-roadmap li { background:var(--accent-soft); box-shadow:none; border-color:transparent; }
.hero-tag::before,.trait-chip > span,.chip-second > span { background:var(--accent); }
.field input,.auth .field input { background:#f7f8fa; border-color:var(--line); border-radius:12px; }
.field input:focus-visible,.auth .field input:focus-visible { outline-color:#b23e30; }
.check input { accent-color:#b23e30; }
.opt-box { background:#fff; border:1px solid var(--line); box-shadow:none; border-radius:16px; }
.opt-box:hover { background:#fff8f5; border-color:#e9b2a9; }
.opt input:checked + .opt-box { background:var(--accent-soft); border:2px solid #b23e30; }
.opt input:checked + .opt-box .opt-mark { background:#b23e30; border-color:#b23e30; }
.progress { background:#f1f2f4; }.progress > i { background:var(--accent); }
.bar { max-width:720px; background:#fff; border-color:var(--line); border-radius:20px 20px 0 0; box-shadow:0 -4px 18px #25282d06; }
.faq-item,.faq-item[open] { background:#f7f8fa; border:1px solid var(--line); }
.faq-toggle,.faq-item[open] .faq-toggle { background:var(--accent-soft); color:#b23e30; border:0; box-shadow:none; }
.faq-number,.casual-benefits li > span,.survey-roadmap li>span { background:#fff; box-shadow:none; border-color:var(--line); }
.checkpoint-letter,.type-view-switch button[aria-pressed="true"] { background:var(--accent); color:var(--ink); border-color:var(--accent); }
.visual-report { --report-accent:#b23e30; --report-soft:#fff0eb; --report-silver:#f6d8d1; --report-mist:#f7f8fa; }
.visual-report .result-cover { background:#fff7f3; }
.couple-orbits span { background:var(--accent-soft); border-color:#f4c9bf; }.couple-orbits span:last-child { background:var(--accent); color:var(--ink); }
.couple-options input:checked+span { background:var(--accent-soft); color:var(--ink); border-color:#b23e30; }
.couple-score { background:conic-gradient(var(--accent) var(--score),#f0f1f3 0); }.couple-score>div { background:#fff; }
.couple-results meter { accent-color:#b23e30; }.couple-results meter::-webkit-meter-optimum-value { background:#b23e30; }
.footer { background:#f7f8fa; border-color:var(--line); margin-top:40px; }
.shape-back { background:#ffe6dd; border-color:#f8d5ca; box-shadow:none; }.shape-front { border-color:var(--accent); box-shadow:none; }
.trait-chip { background:#fff; border-color:var(--line); box-shadow:none; }
.discover-page { padding:0 20px; }
.discover-heading { padding:32px 0 25px; }.discover-heading .eyebrow { font-size:11px; font-weight:700; letter-spacing:.04em; margin-bottom:10px; }
.discover-heading h1 { font-size:36px; line-height:1.22; font-weight:800; letter-spacing:-.055em; }.discover-heading h1 span { color:var(--accent); display:inline-block; margin-left:12px; font-size:35px; vertical-align:top; }
.discover-heading>p:last-child { font-size:15px; color:var(--ink-2); margin-top:13px; }
.featured-test { overflow:hidden; background:var(--accent-soft); border-radius:24px; }
.featured-copy { padding:22px 22px 0; }.discover-badge { display:inline-block; padding:5px 10px; background:var(--accent); color:var(--ink); font-size:11px; font-weight:750; border-radius:8px; }
.featured-copy h2 { font-size:27px; line-height:1.35; letter-spacing:-.045em; font-weight:800; margin-top:13px; }
.taste-options { display:flex; gap:8px; margin-top:16px; }.taste-options button { flex:1; min-height:44px; border:1px solid #d99e91; border-radius:11px; background:#fff; font-size:12px; color:#a5392d; padding:8px; font-weight:700; cursor:pointer; }
.taste-options button[aria-pressed="true"] { background:#b23e30; color:#fff; border-color:#b23e30; }
.featured-art { width:100%; height:auto; aspect-ratio:1.9; object-fit:cover; object-position:center 45%; margin-top:14px; }
.featured-bottom { padding:14px 16px 17px; }.taste-feedback { font-size:12px; min-height:40px; line-height:1.6; margin-bottom:9px; color:#714c43; }.featured-bottom .btn { font-size:15px; justify-content:space-between; padding:0 16px; }
.featured-note { font-size:10px; color:#785c53; margin-top:10px; text-align:center; line-height:1.6; }
.discover-list { margin-top:34px; }.discover-section-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }.discover-section-heading h2 { font-size:22px; font-weight:800; }.discover-section-heading>span { font-size:11px; color:var(--ink-3); white-space:nowrap; }
.discover-filters { display:flex; gap:7px; margin:17px 0; flex-wrap:wrap; }.discover-filters button { min-height:44px; padding:9px 14px; background:#f4f5f7; border:0; border-radius:24px; cursor:pointer; font-size:12px; font-weight:650; }.discover-filters button[aria-pressed="true"] { background:#ffe2db; color:#a5392d; }
.discover-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.discover-card { border:1px solid var(--line); border-radius:18px; overflow:hidden; min-width:0; background:#fff; }.discover-card[hidden] { display:none; }.discover-card>a { display:block; height:100%; text-decoration:none; }.discover-card>a:hover h3 { color:#a5392d; }
.discover-thumbnail { position:relative; aspect-ratio:1.08; overflow:hidden; }.thumbnail-solo { background:#fff0b4; }.thumbnail-solo img { width:100%; height:100%; object-fit:contain; padding:12px 14px 0; mix-blend-mode:multiply; }.thumbnail-together { background:#fff0eb; }.thumbnail-together img { width:100%; height:100%; object-fit:cover; }
.discover-card-copy { padding:13px 12px 15px; }.discover-category { color:#a5392d; font-size:10px; font-weight:700; }.discover-card h3 { font-size:16px; line-height:1.4; margin:5px 0 7px; letter-spacing:-.055em; }.discover-card p { font-size:12px; line-height:1.65; color:var(--ink-2); }.discover-card small { display:block; font-size:10px; color:var(--ink-3); margin-top:12px; }.discover-link { display:block; color:#a5392d; font-size:12px; font-weight:700; margin-top:10px; }
.discover-invitation { display:flex; align-items:center; gap:12px; margin:26px 0 6px; padding:18px 15px; background:#f3f0fc; border-radius:16px; text-decoration:none; }.invitation-symbol { color:#7960a6; font-size:29px; }.discover-invitation strong { font-size:14px; }.discover-invitation p { color:var(--ink-2); font-size:11px; margin-top:3px; }.discover-invitation>span:last-child { margin-left:auto; }
@media(min-width:600px) { .discover-page { padding:0 32px; }.discover-heading h1 { font-size:44px; }.discover-heading h1 br { display:none; }.featured-test { display:grid; grid-template-columns:1fr 1fr; }.featured-copy { padding:26px 0 0 24px; }.featured-art { height:100%; aspect-ratio:auto; margin:0; object-fit:cover; }.featured-bottom { grid-column:1/-1; padding:14px 24px 20px; }.taste-feedback { min-height:0; }.discover-thumbnail { aspect-ratio:1.5; }.discover-card-copy { padding:18px; }.discover-card h3 { font-size:20px; }.discover-card p { font-size:14px; } }
@media(max-width:359px) { .discover-page { padding:0 16px; }.discover-heading h1 { font-size:32px; }.discover-section-heading h2 { font-size:19px; }.discover-card-copy { padding:11px 9px; }.discover-card h3 { font-size:14px; }.taste-options { flex-direction:column; } }
@media print { html,body,#app { background:#fff; }.bar { display:none; } }
.thumbnail-solo img { object-fit:cover; padding:0; mix-blend-mode:normal; }
/* Transparent mascots keep ears and props intact, including report portraits. */
:is(.type-gallery-card,.type-detail-top,.visual-report,.match-card) img[src*="/type-characters-v2/"] { object-fit:contain; border-radius:0; border:0; background:transparent; }
.checkpoint-mascot { object-fit:contain; border:0; border-radius:0; }
.thumbnail-solo img { object-fit:contain; padding:8px; }
