/* Shared visual theme: quiet surfaces, readable type, lavender for interaction. */
:root{--bg:#faf9fc;--paper:#fff;--ink:#302b38;--muted:#726b7d;--line:#e8e4ee;--violet:#765b9b;--light:#efe8f7;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
body{font-family:var(--sans)}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #765b9b;outline-offset:4px}
h1,h2,h3{font-weight:550;letter-spacing:-.55px}
.eyebrow,.content-kicker,.article-byline,.breadcrumbs,.tag,.badge,.detail-note,.text-link,.private-note,.site-footer nav,.site-footer p{font-family:var(--sans)}
.eyebrow{text-transform:none;letter-spacing:.04em;color:#74637f;font-size:12px}
.site-header{background:#fff;border-color:var(--line);gap:20px;padding-block:12px;min-height:68px}
.wordmark{font-family:var(--sans);font-weight:650;letter-spacing:-1.4px;gap:7px;font-size:27px}.wordmark span{font-weight:450;color:#9c86b9}
.header-search{border:0;border-radius:10px;background:#f4f1f8;max-width:340px;padding-left:12px}.header-search input{font-size:14px;height:38px}.header-search>span{color:#74637f}.header-search button{min-height:38px;color:#766587}
.header-favorites{font-size:14px;color:#63546f}.header-favorites span{font-family:var(--sans)}
.button{border-color:transparent;background:#f0ebf6;border-radius:9px;color:#645173;font-family:var(--sans);font-size:14px;line-height:1.4;padding:10px 15px;min-height:42px;gap:9px}.button:hover{background:#e6deef}.button.primary,.button-primary{background:var(--violet);border-color:transparent;color:white}.button.primary:hover,.button-primary:hover{background:#634786}.button.secondary{background:#f3f0f7}.button.danger,.danger{color:#a34760}.button.danger{background:#f8edf0}
.header-pair{font-size:14px;min-height:38px}.age{font:12px var(--sans);color:#74637f}
.library-nav{border:0;border-bottom:1px solid var(--line);background:transparent;gap:8px;margin-bottom:24px;padding-bottom:0}.library-nav a{font:14px/1.5 var(--sans);padding:12px 15px;border:0;border-bottom:2px solid transparent;color:#74637f}.library-nav a:hover{background:#f4f0f8;color:#614d75}.library-nav a[aria-current]{background:transparent;border-color:#8b6daa;color:#654782}
.content-grid{gap:20px}.content-card,.content-card:hover{border:0;border-radius:12px;background:#fff}.content-card{box-shadow:0 1px 0 #e9e4ee}.content-card:hover{box-shadow:0 4px 18px #4026540b}.content-image,.type-cover{border:0;background:#f0eaf5}.content-copy{padding:18px}.content-copy h2{font-size:20px;line-height:1.3;margin-top:10px;letter-spacing:-.35px}.content-copy>p{color:var(--muted);line-height:1.6}.content-kicker,.content-kicker>span:last-child{font-size:12px;color:#74637f}.content-bottom{color:#74637f}.tag{border:0;padding:0;font-size:12px;color:#74637f}.featured-card,.featured-card:hover{background:white}.featured-card .content-image{border:0}.category-grid{border:0;background:transparent;gap:12px}.category-grid>a,.category-grid>a:nth-child(-n+2){border:0;background:#f3eff7;border-radius:10px}.category-grid>a:hover{background:#ece5f3}.category-grid .eyebrow{font-size:12px}.category-grid p{font-size:14px;line-height:1.6}
.panel{border:0;border-radius:12px;background:#fff;box-shadow:0 1px 0 #e8e3ed}.badge{border:0;background:#f1ecf7;border-radius:6px;font-size:12px;color:#806b93;padding:5px 8px}.saved-item,.bookmark,.note{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:18px 0}.saved-item>.muted{font-family:var(--sans);font-size:12px;color:var(--muted)}.saved-item .button{font-size:13px;min-height:40px;border-radius:8px}.saved-item:last-child{border-bottom:0}
.field input:not([type=checkbox]):not([type=radio]),.field textarea,.form-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,.invite-link{border:1px solid #e1dae9;border-radius:8px;background:#fbfafd;min-height:44px}.field label,.form-shell form p>label{font-size:14px}.form-shell.panel{box-shadow:0 4px 28px #46315008}.form-shell .button{font-size:14px;min-height:44px}.form-shell .button.primary{color:#fff}.form-shell form>button.button:not(.danger){background:var(--violet);border-color:transparent;color:#fff}.form-shell .button.danger{background:#f8edf0;border-color:transparent}
.message,.favorites-sync-note{border:0;border-radius:9px;background:#eee7f6;color:#654e7c}.message.error{background:#faecef;color:#9c4057}.breadcrumbs{font-size:12px;color:#74637f}.article-header h1{font-weight:550}.article-summary,.article-body p,.document>p{color:#6c6276}.article-byline{font-size:12px;color:#74637f}.article-image img{border-radius:12px;background:#f4f0f8}.article-image figcaption{font:12px/1.6 var(--sans);color:#74637f}.answer-summary{border-left:2px solid #bdabd1;border-radius:0 10px 10px 0;background:#f2ecf8;color:#665377}.article-sidebar .panel{background:#f2eef7;box-shadow:none}.article-sidebar nav{font-size:14px;color:#776588}.article-sidebar .text-link{font-size:14px}.text-link{color:#775590;font-size:14px}.manufacturer{background:#f3eef8}.sources ul,.material-faq p{color:#776b83}.specifications dl{border:0}.specifications dl>div{border-color:var(--line)}.specifications dt{background:#f2edf7}.specifications dd{background:#fff}.material-faq{border-color:var(--line)}
.quiz,.game{background:#f2edf7}.answer-option{border-color:transparent;border-radius:9px;background:#fff;font-size:16px;padding:14px}.answer-option:has(input:checked){background:#e8dcf3;border-color:#ab8cc5}.answer-option:focus-within{outline:2px solid #765b9b;outline-offset:2px}.game-stage{border:0;border-radius:10px;background:white}.game-prompt{color:#6b527d}.outcome-profile{border:0;border-radius:12px;background:#f0e8f7}.score-explanation{border:0;border-radius:10px;background:#f4f0f8}.outcome-profile blockquote{color:#76508e;border-color:#c0a6d3}
.catalog-filters{border:0;border-radius:12px;background:#f2eef7;padding:16px}.catalog-filters label{font:12px/1.5 var(--sans)}.catalog-filters input,.catalog-filters select{font:14px var(--sans);border-color:#e2d9eb;border-radius:7px;background:#fff;min-height:40px}.catalog-filters .button{height:40px;font-size:14px}.position-card-facts{color:#77698a}.position-card-facts dt,.position-quick-facts dt{color:#8a779a}.position-quick-facts{border-color:var(--line);background:#f5f1f9;border-radius:10px}.position-overview,.position-note{border-color:var(--line);background:#f3edf8;border-radius:10px}
/* Keep the compact discovery geometry and its visible swipe affordances. */
.choice-row{border:0;background:#efebf4;padding:3px}.choice-row :checked+span{background:#fff;color:#644d7e;box-shadow:0 1px 5px #46315012}.choice-row span,.topic-choices span{font-size:14px}.topic-choices span{border-color:transparent;background:transparent;color:#74637f}.topic-choices :checked+span{background:#ede5f6;border-color:transparent;color:#73548e}.discover-mix{color:#74637f}.swipe-card{background:#fff;border-color:#e2d6ed;border-radius:20px;box-shadow:0 10px 38px #48215c09}.swipe-stack:before,.swipe-stack:after{border-color:#dfd0eb;background:#eae0f4}.swipe-stack:after{background:#f2eaf9}.swipe-visual{background:#eee6f5}.swipe-category,.round-panel{background:#fffef6ec;border:0;border-radius:6px;color:#7e668e}.swipe-meta{font-family:var(--sans);font-size:12px;color:#74637f}.swipe-copy h2{font-weight:550}.swipe-copy>p:not(.swipe-meta){color:var(--muted)}.swipe-copy>a{font-weight:500;color:#79578f}.swipe-actions button{border-color:#e0d2eb;box-shadow:0 6px 20px #4c2a6511;background:#fff;color:#74637f}.swipe-actions .swipe-like{background:#8063a1;border-color:#8063a1;transform:none}.swipe-actions .swipe-pass{transform:none}.swipe-actions .swipe-like:hover{background:#70548f;transform:scale(1.04)}.swipe-actions .swipe-pass:hover{background:#f7f2fc;transform:scale(1.04)}.swipe-undo{border:0;background:transparent;color:#74637f}.swipe-help{color:#74637f}.swipe-finish{border:0;background:#eee6f7}.shelf-heading h2,.discover-catalog-heading h2{font-weight:550}.shelf-heading h2 span{border:0;background:#eee7f5;color:#74637f}.shelf-empty{border-color:#ded2e8;background:transparent;border-radius:12px;color:#74637f}.favorite-mini{border:0;border-radius:10px;background:#f2edf7}.favorite-mini p{font-family:var(--sans);font-size:12px}.favorite-tile{border:0;background:white;border-radius:12px;box-shadow:0 1px 0 #e8e3ed}.favorite-guest-prompt{border:0;border-radius:10px;background:#f0e9f7}.shelf-pair{border:0;background:#f0e8f7;border-radius:12px}.shelf-pair p,.shelf-note{color:#74637f}.shelf-pair a{color:#78558d}.header-favorites span{font-size:12px}
/* Challenges share the same quieter surfaces as the library and pair space. */
.challenge-how{border:0;background:#f2ecf8;border-radius:10px}.challenge-tile{border:0;background:#fff;box-shadow:0 1px 0 #e8e3ed;border-radius:14px}.challenge-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px #4227520a}.challenge-tile-top{margin-bottom:20px}.challenge-tile>p{color:var(--muted)}.challenge-emblem{border:0;border-radius:20px}.challenge-reward{border:0;background:#f1eaf8}.challenge-note{border:0;background:#f3eff8}.challenge-invitation{border:0;background:#f0e7f8}.journey-header{border:0}.journey-step{border:0;box-shadow:0 1px 0 #e8e3ed;background:white}.step-toggle{border-color:transparent;border-radius:9px;background:#eee6f7}.step-toggle.is-checked{border-color:transparent;background:#e0eee5}.challenge-celebration{border:0}.achievement,.achievement-locked{border:0}.achievement-locked{background:#f3eff8}.space-challenge-promo,.home-challenge-promo{border:0;background:#f0e8f7;border-radius:12px}.challenge-tile-bottom{color:var(--challenge-dark)}
.site-footer{border-color:var(--line)}.site-footer nav,.site-footer p{font-size:12px;color:#74637f}.site-footer .wordmark{font-size:22px}
@media(max-width:850px){.content-grid{gap:16px}.header-favorites{font-size:14px}}
@media(max-width:600px){.site-header,.discovery-home .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px;padding:10px 4%;min-height:0}.site-header>.wordmark{grid-row:1;grid-column:1;font-size:25px}.site-header .header-favorites{grid-row:1;grid-column:2;margin:0;font-size:14px}.site-header .age{grid-row:1;grid-column:3}.site-header .header-search{grid-row:2;grid-column:1;margin:0;width:100%;max-width:none;min-width:0}.site-header .header-pair{grid-row:2;grid-column:2 / 4;margin:0;font-size:14px;min-height:38px}.header-search input{height:38px;font-size:16px}.catalog-filters input,.catalog-filters select,.field input:not([type=checkbox]):not([type=radio]),.field textarea,.form-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea{font-size:16px}.content-grid{gap:14px}.content-copy{padding:15px}.content-copy h2{font-size:18px}.content-copy>p{font-size:14px;line-height:1.55}.content-kicker,.tag{font-size:12px}.panel{padding:22px}.button{font-size:14px;min-height:44px}.library-nav a{font-size:14px;padding:11px 12px}.library-nav{gap:2px}.breadcrumbs{font-size:12px}.article-byline{font-size:12px}.site-footer nav{font-size:12px}.favorite-tile-copy{padding:15px}.category-grid .eyebrow{font-size:12px}.category-grid p{font-size:14px}.swipe-actions button{font-size:12px}.swipe-actions .swipe-like:hover,.swipe-actions .swipe-pass:hover{transform:none}.saved-item .button{min-height:44px}.step-toggle{min-height:44px}}

/* Form specificity and text contrast are intentional: controls remain easy to find. */
.panel.stack form.stack input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.panel.stack form.stack textarea{border:1px solid #e1dae9;border-radius:8px;background:#fbfafd;min-height:44px}
.panel.stack form.stack input[aria-invalid=true],.panel.stack form.stack textarea[aria-invalid=true],.form-shell input[aria-invalid=true]{border-color:#ae526d;background:#fff7f8}
@media(prefers-reduced-motion:reduce){.challenge-tile:hover,.swipe-actions .swipe-like:hover,.swipe-actions .swipe-pass:hover{transform:none}}

/* A surprise reveal is optional and never changes the saved collection. */
.secret-trigger{color:#674686}.secret-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:32px;border:1px solid #e7dfef;border-radius:24px;background:#fff;color:#342b40;box-shadow:0 28px 90px #33234430;overflow:auto}.secret-dialog::backdrop{background:#25193480;backdrop-filter:blur(5px)}.secret-dialog [hidden]{display:none!important}.secret-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:transparent;font-size:28px;color:#74637f;cursor:pointer}.secret-symbol{display:block;font-size:64px;line-height:1.2;color:#80609e;margin:10px 0 24px}.secret-dialog h2{font-size:28px;line-height:1.2;margin:12px 0 18px;letter-spacing:-.035em}.secret-dialog p{line-height:1.55}.secret-dialog .eyebrow{font-size:11px;color:#74637f}.secret-dialog .button{margin-top:16px;min-height:46px}.secret-dialog img{width:100%;height:180px;object-fit:cover;border-radius:14px;margin:20px 0}.secret-again{display:block;margin-top:16px;padding:10px 0;min-height:44px;background:transparent;border:0;color:#674686;text-decoration:underline;cursor:pointer}.secret-note{font-size:12px;color:#74637f;margin:24px 0 0}.secret-dialog :focus-visible{outline:3px solid #9070ad;outline-offset:4px}@media(max-width:420px){.secret-dialog{padding:25px}.secret-dialog h2{font-size:25px}.secret-dialog img{height:150px}.swipe-under .secret-trigger{font-size:12px}}
