/* Uses the Playbook's existing paper / ink / blue and Newsreader / Inter tokens. */
.book-recommendations{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);gap:30px 7%;padding:43px 0 38px;border-bottom:1px solid var(--line);scroll-margin-top:24px}
.book-recommendations [hidden]{display:none!important}
.br-intro{padding-top:2px}
.br-intro h2{font:500 clamp(35px,3.5vw,48px)/1.03 var(--serif);letter-spacing:-1.1px;margin:17px 0 17px;text-wrap:balance}
.br-intro>p{max-width:335px;font:16px/1.7 var(--sans);color:var(--muted);text-wrap:pretty}
.br-text-button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:6px 0;font:14px/1.45 var(--sans);color:var(--blue);text-align:left;touch-action:manipulation}
.br-text-button:hover{text-decoration:underline;text-underline-offset:4px}
.br-intro .br-browse{margin-top:15px}
.br-form{min-width:0}
.br-form>label{display:block;font:500 15px/1.5 var(--sans);margin:0 0 5px}
.br-field-help{font:16px/1.65 var(--sans);color:var(--muted);margin-bottom:12px;max-width:620px}
.br-writing-area{background:var(--white);border:1px solid #a5aca3;transition:border-color 140ms}
.br-writing-area:focus-within{border-color:var(--ink)}
.br-writing-area textarea{display:block;width:100%;min-height:147px;resize:vertical;padding:16px 17px 8px;border:0;border-radius:0;background:transparent;color:var(--ink);font:16px/1.65 var(--sans);max-height:500px}
.br-writing-area textarea::placeholder{color:#71776f;opacity:1}
.br-writing-area textarea:focus-visible{outline:3px solid #ffb451;outline-offset:3px}
.br-writing-area textarea[aria-invalid=true]{box-shadow:inset 3px 0 #a23b24}
.br-input-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:38px;padding:0 17px 5px;font:12px/1.5 var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.br-input-footer .br-clear{min-height:44px;font-size:14px;color:var(--muted)}
.br-prompts{display:flex;flex-wrap:wrap;align-items:center;gap:0 15px;margin:8px 0 9px}
.br-prompts>span{font:12px/1.5 var(--sans);color:var(--muted)}
.br-prompts>button{min-height:44px;padding:5px 0;font:14px/1.5 var(--sans);text-align:left;color:var(--ink);touch-action:manipulation;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.br-prompts>button:hover{color:var(--blue);text-decoration-color:currentColor}
.br-submit-row{display:flex;align-items:center;gap:10px 21px;flex-wrap:wrap}
.br-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:47px;background:var(--ink);color:var(--white);padding:12px 18px;font:500 14px/1.5 var(--sans);touch-action:manipulation}
.br-submit:hover{background:var(--blue);color:var(--white)}
.br-submit:disabled{background:#676e66;color:var(--white);cursor:default}
.br-privacy{font:12px/1.6 var(--sans);color:var(--muted);margin-top:12px!important;max-width:600px}
.br-service{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin-top:8px;font:12px/1.6 var(--sans);color:var(--muted)}
.br-service p{max-width:540px;font-size:16px}
.br-service .br-text-button{font-size:14px;min-height:44px}
.br-error{font:16px/1.6 var(--sans);color:#94371f;border-left:2px solid #94371f;padding-left:11px;margin:8px 0 15px}
.br-results{grid-column:1/-1;min-width:0;padding-top:9px;scroll-margin-top:24px}
.br-results-head{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid var(--ink);padding-top:25px}
.br-results-head h3{font:400 35px/1.1 var(--serif);letter-spacing:-.7px;margin-top:12px;text-wrap:balance}
.br-results-note{font:16px/1.7 var(--sans);color:var(--muted);margin-top:13px!important;max-width:750px}
.br-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 30px;margin-top:27px}
.br-grid[data-count="1"]{grid-template-columns:minmax(0,780px)}
.br-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.br-card{min-width:0;display:flex;flex-direction:column;border-top:1px solid var(--ink);padding-top:14px}
.br-card-top{display:flex;justify-content:space-between;align-items:start;gap:15px;font:12px/1.6 var(--sans);color:var(--muted)}
.br-card-top>span:last-child{font-variant-numeric:tabular-nums}
.br-card h3{font:500 28px/1.15 var(--serif);letter-spacing:-.5px;margin:16px 0 12px;text-wrap:balance;overflow-wrap:anywhere}
.br-card-deck{font:16px/1.65 var(--sans);color:var(--muted)}
.br-fit{border-left:2px solid var(--blue);padding-left:14px;margin:22px 0}
.br-fit>span,.br-small-label{font:12px/1.5 var(--sans);text-transform:uppercase;letter-spacing:1.3px;color:var(--blue)}
.br-fit p{font:16px/1.7 var(--sans);color:var(--muted);margin-top:7px}
.br-examples{margin:0 0 16px}
.br-examples ul{list-style:none;margin:8px 0 0;padding:0}
.br-examples li{margin:8px 0;line-height:1.6}
.br-examples a{display:inline-block;color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line);padding:4px 0}
.br-examples a:hover{text-decoration-color:currentColor}
.br-example-book{display:block;font:12px/1.5 var(--sans);color:var(--muted)}
.br-boundary{border-top:1px solid var(--line);padding:4px 0;margin-top:auto}
.br-boundary summary{font:14px/1.6 var(--sans);padding:12px 0;cursor:pointer;color:var(--muted)}
.br-boundary p{font:16px/1.75 var(--sans);color:var(--muted);margin:0 0 14px}
.br-study{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);font:14px/1.6 var(--sans);color:var(--blue);padding:15px 0;min-height:48px}
.br-sample-brief{margin:17px 0 0;max-width:850px}
.br-sample-disclosure{font:16px/1.6 var(--sans);color:var(--muted)}
.br-sample-brief blockquote{border-left:1px solid var(--line);padding:0 0 0 17px;margin:18px 0 0;font:20px/1.45 var(--serif);color:var(--ink)}
.br-waiting{border-top:1px solid var(--line);padding:23px 0;display:flex;align-items:center;gap:13px;color:var(--muted);font:16px/1.6 var(--sans)}
.br-loading-mark{width:13px;height:13px;flex-shrink:0;border:1px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:br-turn 850ms linear infinite}
.br-empty{padding:25px 0 6px;border-top:1px solid var(--line);max-width:850px}
.br-empty h3{font:400 32px/1.15 var(--serif);margin:12px 0 13px;text-wrap:balance}
.br-empty>p{font:16px/1.7 var(--sans);color:var(--muted);max-width:660px}
.br-empty-actions{display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:12px}
.book-recommendations button:focus-visible,.book-recommendations a:focus-visible,.book-recommendations summary:focus-visible{outline:3px solid #ffb451;outline-offset:4px}
@keyframes br-turn{to{transform:rotate(360deg)}}
@media(max-width:950px){.book-recommendations{grid-template-columns:minmax(190px,.8fr) minmax(0,1.4fr);gap:28px 5%}.br-intro h2{font-size:38px}.br-intro>p{font-size:16px}.br-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.br-prompts{gap:0 12px}.br-prompts>span{width:100%}}
@media(max-width:650px){.book-recommendations{grid-template-columns:1fr;gap:24px;padding:28px 0 30px}.br-intro h2{font-size:38px;margin:13px 0}.br-intro h2 br{display:none}.br-intro>p{max-width:480px;font-size:16px}.br-intro .br-browse{margin-top:5px}.br-field-help{font-size:16px}.br-writing-area textarea{min-height:162px;padding:13px 14px 8px}.br-input-footer{padding:0 14px 5px}.br-prompts{gap:0 15px;margin-top:10px}.br-prompts>button{font-size:14px;min-height:44px}.br-submit-row{gap:8px 20px}.br-submit{min-height:48px}.br-privacy{font-size:14px}.br-results{padding-top:0}.br-results-head{align-items:start;flex-wrap:wrap;gap:8px;padding-top:22px}.br-results-head h3{font-size:32px}.br-grid,.br-grid[data-count="2"]{grid-template-columns:1fr;gap:26px;margin-top:23px}.br-card h3{font-size:29px;max-width:500px}.br-card-deck{font-size:16px}.br-fit p{font-size:16px}.br-examples a{font-size:14px;min-height:36px}.br-boundary summary{font-size:14px}.br-boundary p{font-size:16px}.br-study{font-size:14px}.br-sample-brief blockquote{font-size:21px}.br-error{font-size:16px}}
@media(max-width:360px){.br-intro h2{font-size:34px}.br-submit{width:100%}.br-submit-row{gap:0 20px}}
@media(prefers-reduced-motion:reduce){.br-loading-mark{animation:none}.br-writing-area{transition:none}}
