.jr-ritual {--jr-paper: var(--surface,#fffdf8); --jr-ink: var(--ink,#1f2f24); --jr-line: var(--line,#dedbce); --jr-accent: var(--accent,#91632b); background: var(--jr-paper); color: var(--jr-ink); border: 1px solid var(--jr-line); border-radius: 24px; padding: clamp(20px,4vw,48px); font: var(--ds-text-body,14px)/1.7 var(--ds-font-sans,system-ui,sans-serif); max-width: 1040px; margin: auto; box-sizing: border-box; overflow: hidden;}
[data-theme=dark] .jr-ritual {--jr-paper: var(--mds-surface); --jr-ink: var(--mds-ink); --jr-line: var(--mds-line); --jr-accent: var(--mds-gold);}
.jr-ritual * {box-sizing: border-box;}
.jr-ritual [hidden] {display: none;}
.jr-ritual h2 {font: 500 var(--ds-text-h2,32px)/1.2 var(--ds-font-serif,Georgia,serif); max-width: 24ch; margin: 8px 0 16px; text-wrap: balance;}
.jr-ritual h3 {font: 500 var(--ds-text-h2,32px)/1.2 var(--ds-font-serif,Georgia,serif); margin: 0 0 8px; text-wrap: balance;}
.jr-ritual h4 {font-size: var(--ds-text-title,16px); margin: 16px 0 4px;}
.jr-eyebrow {font-size: var(--ds-text-body,14px); font-weight: 700; letter-spacing: .1em; color: var(--jr-accent); margin: 0;}
.jr-intro {max-width: 62ch;}
.jr-moods,.jr-actions {display: flex; flex-wrap: wrap; gap: var(--ds-space-2,8px); margin: 24px 0;}
.jr-button {font: 600 var(--ds-text-cta,14px)/1.5 var(--ds-font-sans,system-ui,sans-serif); min-height: 48px; max-width: 100%; padding: 12px 18px; border: 1px solid var(--jr-line); border-radius: 999px; color: var(--jr-ink); background: transparent; cursor: pointer;}
.jr-button[aria-pressed=true] {border-color: var(--jr-accent); box-shadow: inset 0 0 0 1px var(--jr-accent);}
.jr-primary {color: var(--jr-paper); background: var(--jr-ink); border-color: var(--jr-ink);}
.jr-button:focus-visible,.jr-privacy summary:focus-visible {outline: 3px solid var(--jr-accent); outline-offset: 4px;}
.jr-button:disabled {cursor: default; opacity: .65;}
.jr-stage {text-align: center; padding: 24px 0;}
.jr-fan {display: flex; justify-content: center; align-items: center; min-height: 260px; gap: 12px; transition: transform 600ms ease;}
.jr-fan img {height: 230px; width: min(28%,150px); object-fit: contain; filter: drop-shadow(0 14px 12px #0002);}
.jr-fan img:first-child {transform: rotate(-9deg);}
.jr-fan img:last-child {transform: rotate(9deg);}
.jr-turning {transform: rotate(5deg) scale(.96);}
.jr-promise {font-family: var(--ds-font-serif,Georgia,serif); font-size: var(--ds-text-title,16px); max-width: 36ch; margin: 24px auto 0;}
.jr-status {min-height: 1.7em;}
.jr-result {display: grid; grid-template-columns: minmax(180px,.7fr) minmax(0,1.3fr); gap: clamp(20px,4vw,48px); margin-top: 24px; outline-offset: 8px;}
.jr-cover {display: grid; place-items: center; align-self: start; min-height: 340px; border-radius: 20px; background: radial-gradient(ellipse at 35% 25%,#d7b57a30,transparent 70%); padding: 24px;}
.jr-cover img {max-width: 100%; height: 320px; object-fit: contain; filter: drop-shadow(0 20px 14px #0003);}
.jr-copy {min-width: 0;}
.jr-author {margin: 8px 0 24px;}
.jr-bookmark {padding: 20px 24px; border-left: 3px solid var(--jr-accent); background: color-mix(in srgb,var(--jr-accent) 7%,var(--jr-paper)); border-radius: 0 16px 16px 0;}
.jr-bookmark>p:not(.jr-eyebrow),.jr-bookmark blockquote {font: 400 var(--ds-text-price,24px)/1.5 var(--ds-font-serif,Georgia,serif); margin: 12px 0 0; overflow-wrap: anywhere;}
.jr-caution {border-top: 1px solid var(--jr-line); padding-top: 12px;}
.jr-exercise {margin-top: 20px;}
.jr-consent {display: flex; align-items: center; min-height: 48px; gap: 12px; margin-top: 24px;}
.jr-consent input {width: 22px; height: 22px; flex-shrink: 0; accent-color: var(--jr-accent);}
.jr-privacy {border-top: 1px solid var(--jr-line); margin-top: 16px; padding-top: 8px;}
.jr-privacy summary {display: list-item; min-height: 48px; padding: 12px 0; cursor: pointer;}
.jr-privacy p {max-width: 70ch;}
.jr-ritual p,.jr-ritual h3 {overflow-wrap: anywhere;}
@media (max-width:600px) {.jr-result {grid-template-columns: minmax(0,1fr);}.jr-cover {min-height: 250px; padding: 12px;}.jr-cover img {height: 260px;}.jr-fan {min-height: 200px;}.jr-fan img {height: 170px;}.jr-moods {gap: 8px;}.jr-button {padding: 12px 14px;}.jr-bookmark {padding: 16px 20px;}}
@media (prefers-reduced-motion:reduce) {.jr-fan {transition: none;}.jr-turning {transform: none;}}
.jr-fan {position: relative; width: min(100%,360px); height: 360px; min-height: 0; margin: auto; border-radius: 50%; border: 1px solid var(--jr-line); background: radial-gradient(circle,var(--jr-paper) 20%,color-mix(in srgb,var(--jr-accent) 12%,var(--jr-paper)) 70%); transition: transform 600ms cubic-bezier(.2,.7,.2,1);}
.jr-fan img {position: absolute; left: 50%; top: 50%; width: 94px; height: 130px; margin: -65px 0 0 -47px; object-fit: contain;}
.jr-fan img:first-child {transform: translateY(-94px) rotate(-8deg);}
.jr-fan img:nth-child(2) {transform: translate(86px,54px) rotate(12deg);}
.jr-fan img:last-child {transform: translate(-86px,54px) rotate(-12deg);}
.jr-turning {transform: rotate(360deg) scale(.96);}
.jr-result:not([hidden]) {animation: jr-open 240ms ease-out;}
.jr-bookmark {animation: jr-bookmark 240ms ease-out;}
@keyframes jr-open { 
  from {opacity: 0; transform: translateY(12px);} 
  to {opacity: 1; transform: none;} 
}
@keyframes jr-bookmark { 
  from {opacity: .4; transform: translateX(8px);} 
  to {opacity: 1; transform: none;} 
}
@media (max-width:600px) {.jr-fan {width: 280px; max-width: 100%; height: 280px; min-height: 0;}.jr-fan img {width: 76px; height: 104px; margin: -52px 0 0 -38px;}.jr-fan img:first-child {transform: translateY(-74px) rotate(-8deg);}.jr-fan img:nth-child(2) {transform: translate(66px,40px) rotate(12deg);}.jr-fan img:last-child {transform: translate(-66px,40px) rotate(-12deg);}}
@media (prefers-reduced-motion:reduce) {.jr-fan {transition: none;}.jr-turning {transform: none;}.jr-result:not([hidden]),.jr-bookmark {animation: none;}}
.jr-moods {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 840px;}
.jr-moods .jr-button {border-radius: 16px; text-align: left; min-height: 60px; white-space: normal; text-wrap: balance;}
.jr-need-hint {max-width: 66ch; min-height: 3.4em; margin: 0;}
.jr-ritual h2 {max-width: 28ch;}
@media (max-width:600px) {.jr-moods {grid-template-columns: repeat(2,minmax(0,1fr)); margin: 20px 0 12px;}.jr-moods .jr-button {min-height: 72px; padding: 12px;}.jr-need-hint {min-height: 5.1em;}}
@layer ds-contract {.jr-ritual .jr-moods .jr-button {white-space: normal; min-width: 0; min-height: 64px; height: auto; line-height: 1.45; overflow-wrap: normal; word-break: normal;}@media (max-width:600px) {.jr-ritual .jr-moods .jr-button {min-height: 72px;}}}
.jr-cover {position: relative; isolation: isolate;}
.jr-cover:before {content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit; background: radial-gradient(ellipse,color-mix(in srgb,var(--jr-accent) 24%,transparent),transparent 72%); animation: jr-arrival-light 800ms ease-out 1 both;}
@keyframes jr-light { 
  0% {opacity: 0; transform: scale(.65);} 
  55% {opacity: .85; transform: scale(1.1);} 
  100% {opacity: 0; transform: scale(1.25);} 
}
@keyframes jr-arrival-light { 
  0% {opacity: 0; transform: scale(.85);} 
  40% {opacity: .8; transform: scale(1.08);} 
  100% {opacity: .2; transform: scale(1);} 
}
@media (prefers-reduced-motion:reduce), (forced-colors:active) {.jr-glow {display: none;}.jr-unsealing .jr-glow,.jr-cover:before {animation: none;}.jr-cover:before {opacity: 0;}}
.jr-purpose select {width: 100%; min-height: 48px; padding: 12px;}
.jr-purpose-results,.jr-journal {margin-top: 24px;}
.jr-journal>button {margin: 8px 12px 8px 0;}
.jr-ritual .jr-privacy a {display: inline-flex; align-items: center; min-height: 48px;}
.jr-ritual .jr-result {margin-bottom: 24px;}
.jr-chest {position: relative; isolation: isolate; width: min(100%,340px); height: 260px; margin: 12px auto 28px; perspective: 900px; --wood: #704124; --wood-dark: #351e18; --metal: #d8b36c; --edge: #976e35;}
.jr-chest-shadow {position: absolute; left: 5%; right: 5%; bottom: 6px; height: 28px; border-radius: 50%; background: #1a100c35; filter: blur(12px);}
.jr-chest-body {position: absolute; z-index: 3; left: 6%; right: 6%; top: 112px; height: 119px; border: 2px solid var(--edge); border-radius: 5px 5px 22px 22px; background: linear-gradient(90deg,transparent 12%,#dfbb72 12% 15%,#76501e 15% 16%,transparent 16% 84%,#76501e 84% 85%,#dfbb72 85% 88%,transparent 88%),repeating-linear-gradient(0deg,#0000 0 27px,#27130e66 28px 30px),linear-gradient(110deg,#9e6740,var(--wood) 42%,var(--wood-dark)); box-shadow: inset 0 5px 4px #fff2,inset 0 -12px 18px #170a0844,0 16px 22px #0003;}
.jr-chest-body:after {content: ''; position: absolute; inset: 8px; border: 1px solid #e3b56b44; border-radius: 0 0 14px 14px; pointer-events: none;}
.jr-chest-lid {position: absolute; z-index: 5; left: 6%; right: 6%; top: 47px; height: 77px; border: 2px solid var(--edge); border-bottom: 5px solid #e1b86f; border-radius: 66px 66px 7px 7px; background: linear-gradient(90deg,transparent 12%,#e8c780 12% 15%,#8f672c 15% 16%,transparent 16% 84%,#8f672c 84% 85%,#e8c780 85% 88%,transparent 88%),repeating-linear-gradient(0deg,#0000 0 22px,#25120d55 23px 25px),linear-gradient(170deg,#b47c4e,#754124 65%,#41251b); box-shadow: inset 0 6px 12px #ffe2a640,0 4px 5px #170c0a55; transform-origin: 50% 100%; transition: transform 1000ms cubic-bezier(.2,.65,.25,1); backface-visibility: visible;}
.jr-chest-crest {display: grid; place-items: center; position: absolute; left: calc(50% - 23px); top: 17px; width: 46px; height: 46px; border: 1px solid #f2d58d; border-radius: 50%; color: #fff0be; background: linear-gradient(135deg,#b58a48,#644119); font: italic 26px Georgia,serif; box-shadow: 0 2px 5px #0004,inset 0 0 0 4px #56331855;}
.jr-chest-lock {position: absolute; z-index: 4; left: calc(50% - 13px); top: -8px; width: 26px; height: 35px; border: 2px solid #eac982; border-radius: 3px 3px 9px 9px; background: linear-gradient(100deg,#f0d28c,#ac7b35); box-shadow: 0 3px 4px #0005; transition: transform 250ms ease,opacity 250ms ease;}
.jr-chest-lock:after {content: ''; position: absolute; left: 8px; top: 9px; width: 6px; height: 12px; border-radius: 5px 5px 1px 1px; background: #42291b;}
.jr-chest-inscription {position: absolute; top: 49px; left: 17%; right: 17%; font: 600 11px/1.5 var(--ds-font-sans,system-ui,sans-serif); letter-spacing: .14em; color: #f4d7a5; text-shadow: 0 1px 2px #0008;}
.jr-chest-inner {position: absolute; z-index: 2; top: 99px; left: 7%; right: 7%; height: 40px; border: 5px solid #a67c42; border-radius: 50%; background: radial-gradient(ellipse,#ffe7ad,#f8bb55 45%,#3c231b 75%); opacity: 0; transition: opacity 350ms ease;}
.jr-chest .jr-glow {position: absolute; z-index: 4; left: 0; right: 0; top: -22px; height: 230px; pointer-events: none; opacity: 0; background: radial-gradient(ellipse at 50% 75%,#fff5cfdd, #ffd17a70 30%,#f4b64720 52%,transparent 70%); filter: blur(9px); transform-origin: 50% 90%;}
.jr-chest.jr-unsealing .jr-chest-lid {transform: rotateX(-115deg);}
.jr-chest.jr-unsealing .jr-chest-lock {transform: translateY(8px); opacity: 0;}
.jr-chest.jr-unsealing .jr-chest-inner {opacity: 1;}
.jr-chest.jr-unsealing .jr-glow {animation: jr-chest-light 1250ms ease-out 1 both;}
@keyframes jr-chest-light { 
  0%,15% {opacity: 0; transform: scale(.6);} 
  55%,80% {opacity: 1; transform: scale(1);} 
  100% {opacity: 0; transform: scale(1.12);} 
}
@media (max-width:600px) {.jr-chest {height: 245px;}.jr-chest-inscription {font-size: 13px; letter-spacing: .08em;}}
@media (prefers-reduced-motion:reduce) {.jr-chest * {transition: none; animation: none;}.jr-chest .jr-glow {display: none;}}
@media (forced-colors:active) {.jr-chest-body,.jr-chest-lid,.jr-chest-lock {border-color: CanvasText; background: Canvas;}.jr-chest-crest,.jr-chest-inscription {color: CanvasText;}.jr-chest .jr-glow {display: none;}}

/* Studio candidate: dimensional walnut chest, original JT seal. */
.jr-stage{perspective:1100px;background:radial-gradient(ellipse at 50% 63%,#c5a05912,transparent 66%);border-radius:24px}
.jr-chest{transform-style:preserve-3d;transform:rotateX(5deg) rotateY(-18deg);filter:drop-shadow(0 22px 18px #241c1720);--edge:#b18a4e}
.jr-chest-body{transform:translateZ(27px);background:linear-gradient(90deg,transparent 12%,#e3c78c 12% 14%,#80602f 14% 15%,transparent 15% 85%,#80602f 85% 86%,#e3c78c 86% 88%,transparent 88%),repeating-linear-gradient(2deg,#ffffff04 0 3px,#29190f18 4px 5px),linear-gradient(120deg,#795236,#4b3023 70%,#302019);border-radius:3px 3px 14px 14px;box-shadow:inset 0 2px 2px #ffeac140,inset 0 -10px 18px #160e1750}
.jr-chest-side{position:absolute;left:94%;top:112px;width:54px;height:119px;transform-origin:0 50%;transform:translateZ(27px) rotateY(90deg);border:2px solid #8d693a;border-radius:0 0 9px 0;background:repeating-linear-gradient(0deg,#0000 0 26px,#20140d55 27px 29px),linear-gradient(90deg,#593a28,#281b16)}
.jr-chest-plinth{position:absolute;left:5%;right:5%;top:226px;height:10px;transform:translateZ(30px);border-radius:0 0 8px 8px;background:linear-gradient(#c7a268,#6a482d);box-shadow:0 3px 4px #0003}
.jr-chest-lid{transform:translateZ(27px);background:linear-gradient(90deg,transparent 12%,#e3c78c 12% 14%,#80602f 14% 15%,transparent 15% 85%,#80602f 85% 86%,#e3c78c 86% 88%,transparent 88%),linear-gradient(165deg,#a17a51,#5b3a28 65%,#38251d);box-shadow:inset 0 5px 8px #ffe7ba40,0 3px 3px #170c0a66}
.jr-chest-lid:before{content:'';position:absolute;left:8px;right:8px;top:8px;bottom:8px;border:1px solid #e3c78c55;border-radius:55px 55px 3px 3px}
.jr-chest-crest{width:44px;height:44px;left:calc(50% - 22px);background:linear-gradient(145deg,#fff1c0,#c19a58 47%,#79603b);box-shadow:0 2px 5px #0005,inset 0 0 0 3px #f9e6ae;border-color:#f1d797}
.jr-chest-crest img{width:27px;height:32px;object-fit:contain;filter:brightness(.55);display:block}
.jr-chest-gift{position:absolute;left:calc(50% - 40px);top:75px;width:80px;height:116px;object-fit:contain;opacity:0;transform:translateZ(33px) translateY(15px) scale(.7);pointer-events:none;filter:drop-shadow(0 8px 10px #0004)}
.jr-chest.jr-unsealing .jr-chest-lid{transform:translateZ(27px) rotateX(-115deg)}
.jr-chest.jr-unsealing .jr-chest-gift{animation:jr-gift-rise 1250ms cubic-bezier(.2,.7,.2,1) both}
@keyframes jr-gift-rise{0%,32%{opacity:0;transform:translateZ(33px) translateY(15px) scale(.7)}65%,100%{opacity:1;transform:translateZ(38px) translateY(-80px) scale(1)}}
@media(max-width:600px){.jr-chest{width:min(100%,290px);transform:rotateX(5deg) rotateY(-14deg)}.jr-chest-inscription{font-size:11px}}
@media(prefers-reduced-motion:reduce){.jr-chest{transform:none}.jr-chest.jr-unsealing .jr-chest-gift{animation:none}.jr-chest *{transition:none!important}}
@media(forced-colors:active){.jr-chest-side,.jr-chest-plinth{background:Canvas;border:1px solid CanvasText}.jr-stage{background:Canvas}.jr-chest-crest img{filter:none}}

/* Preserve real face depth: filters/isolation on the 3D root flatten its children. */
.jr-chest{isolation:auto;filter:none;transform:rotateX(7deg) rotateY(-24deg)}
@media(max-width:600px){.jr-chest{transform:rotateX(5deg) rotateY(-18deg)}}
@media(prefers-reduced-motion:reduce){.jr-chest{transform:none}}

.jr-actions small{flex-basis:100%;font-size:12px}.jr-extra-actions .jr-button{margin:8px 8px 8px 0}.jr-actions{align-items:center}.jr-actions .jr-button{white-space:normal}

/* Walnut render v2: replaces rejected CSS toy chest in the local candidate. */
.jr-chest{width:min(100%,520px);height:auto;aspect-ratio:1.667;perspective:none;transform:none;transform-style:flat;filter:none;isolation:isolate;margin:16px auto 24px}
.jr-chest>:not(.jr-render-closed):not(.jr-render-open):not(.jr-render-seal):not(.jr-chest-gift):not(.jr-glow){display:none}
.jr-render-closed,.jr-render-open{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 12px #231b1620);transition:opacity 650ms ease;pointer-events:none}
.jr-render-closed{z-index:2;opacity:1}.jr-render-open{z-index:1;opacity:0}
.jr-render-seal{position:absolute;z-index:4;width:4.5%;height:8%;left:43%;top:52%;transform:translate(-50%,-50%) rotate(-5deg);object-fit:contain;filter:brightness(.6);pointer-events:none;transition:top 650ms ease,left 650ms ease,opacity 300ms ease}
.jr-unsealing .jr-render-closed{opacity:0}.jr-unsealing .jr-render-open{opacity:1}.jr-unsealing .jr-render-seal{left:44.6%;top:62%}
.jr-chest .jr-chest-gift{z-index:3;top:40%;left:calc(50% - 40px);transform:translateY(0) scale(.7)}
.jr-chest.jr-unsealing .jr-chest-gift{animation:jr-render-gift 1250ms cubic-bezier(.2,.7,.2,1) both}
@keyframes jr-render-gift{0%,40%{opacity:0;transform:translateY(0) scale(.65)}75%,100%{opacity:1;transform:translateY(-70px) scale(1)}}
@media(max-width:600px){.jr-chest{width:100%;height:auto;transform:none}.jr-stage{padding:16px 0}.jr-chest .jr-chest-gift{width:64px;height:92px;left:calc(50% - 32px)}}
@media(prefers-reduced-motion:reduce){.jr-render-closed,.jr-render-open,.jr-render-seal{transition:none}.jr-chest.jr-unsealing .jr-chest-gift{animation:none}}

.reading-note-optional>summary{min-height:48px;display:list-item;cursor:pointer;font-weight:600;padding:8px 0}.reading-note-optional[open]>summary{margin-bottom:20px}.jr-exercise.jr-privacy{margin-top:16px}

.book-fit-guide{padding:16px;border-radius:14px;background:var(--bg-subtle,#f5f5f7);margin:16px 0}.book-fit-guide>strong{display:block;font-size:12px;line-height:1.5;color:var(--accent-blue,#0071e3)}.book-fit-guide>p{font-size:14px!important;line-height:1.6!important;margin:6px 0 14px!important;display:block!important;min-height:0!important;-webkit-line-clamp:unset!important;overflow:visible!important}.book-fit-guide>small{display:block;font-size:12px;line-height:1.5;color:var(--text-sub,#666)}

.reading-category-pills{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.reading-category-pills button{white-space:normal;min-height:48px;font-size:13px}.reading-category-pills button[aria-pressed=true]{background:var(--accent-blue,#0071e3);color:white;border-color:transparent}.reading-category-pills button[data-reading-category=discover]{border-color:var(--accent-blue,#0071e3)}.book-fit-guide .book-reading-meta{font-size:12px!important;font-weight:650;border-bottom:1px solid var(--line,#ddd);padding-bottom:10px}

#detail[data-kind=book] #detail-body{display:block}#detail[data-kind=book] .book-detail-sheet{width:100%;min-width:0}.book-detail-heading{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:center}.book-detail-heading>img{width:120px;height:170px;object-fit:contain}.book-edition-facts{display:grid;grid-template-columns:minmax(110px,.5fr) minmax(0,1fr);gap:10px 20px;padding:20px;background:var(--bg-subtle,#f5f5f7);border-radius:16px}.book-edition-facts dt{font-size:13px;color:var(--text-sub,#666)}.book-edition-facts dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}.book-detail-sheet h3{font-size:20px;margin:24px 0 12px}.book-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.book-related-choice{display:flex;flex-direction:column;gap:8px;white-space:normal;text-align:left;padding:16px;border-radius:14px;background:var(--bg-subtle,#f5f5f7)}.book-related-choice small{font-size:12px;line-height:1.5;color:var(--text-sub,#666)}.book-detail-open{margin:8px 0;min-height:48px}.book-detail-sheet p{line-height:1.65}.book-detail-sheet>.primary{display:inline-flex;margin-top:20px}
@media(max-width:600px){.book-detail-heading{grid-template-columns:80px minmax(0,1fr);gap:14px}.book-detail-heading>img{width:80px;height:120px}.book-edition-facts{grid-template-columns:1fr;gap:4px;padding:16px}.book-edition-facts dd{margin-bottom:8px}.book-related-grid{grid-template-columns:1fr}}

@media(max-width:600px){.book-edition-facts{grid-template-columns:minmax(80px,.65fr) minmax(0,1fr);gap:10px 12px}.book-edition-facts dd{margin-bottom:0}.book-detail-heading{align-items:center}}

/* Visual-first shelf: complete profiles stay in the explicit detail dialog. */
.commerce-focus #reading-books .reading-visual-card{padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.commerce-focus .book-cover-open{width:100%;height:245px;min-height:0;background:var(--bg-subtle,#f5f5f7);border:0;border-radius:16px;display:grid;place-items:center;padding:20px;overflow:hidden}
.commerce-focus .book-cover-open img{width:auto!important;height:auto!important;max-height:205px;max-width:100%;object-fit:contain!important;margin:0!important;border-radius:2px;filter:drop-shadow(3px 8px 7px #0002)}
.commerce-focus #reading-books .reading-visual-card h3{font-size:18px;line-height:1.35;margin:4px 0 0;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.commerce-focus .reading-visual-card .book-author-short{font-size:12px;color:var(--text-sub,#666);margin:0;min-height:0}
.book-topic-tags{display:flex;flex-wrap:wrap;gap:6px}.book-topic-tags span{font-size:11px;line-height:1.4;padding:5px 8px;border-radius:7px;background:var(--brand-soft-blue,#edf5ff);color:var(--accent-blue,#0071e3)}
.commerce-focus .reading-visual-card .book-one-line{font-size:13px;line-height:1.5;margin:0;min-height:0}.commerce-focus .reading-visual-card .book-edition-short{font-size:12px;color:var(--text-sub,#666);margin:0;min-height:0}
.book-visual-actions{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px}.book-visual-actions>a{flex:1;font-size:12px!important;padding:12px!important;min-width:0;white-space:normal!important;text-align:center}.book-visual-actions .book-detail-open{font-size:12px;margin:0;padding:10px;min-width:48px}
.book-related-choice{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px}.book-related-choice>img{width:64px;height:92px;object-fit:contain}.book-related-choice>span{display:flex;flex-direction:column;gap:7px;min-width:0}
@media(max-width:600px){.commerce-focus #reading-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.commerce-focus #reading-books .reading-visual-card{padding:12px;gap:8px}.commerce-focus .book-cover-open{height:185px;padding:12px}.commerce-focus .book-cover-open img{max-height:160px}.commerce-focus #reading-books .reading-visual-card h3{font-size:15px}.book-topic-tags span{font-size:11px;padding:4px 6px}.book-visual-actions{flex-wrap:wrap}.book-visual-actions>a{flex-basis:100%}.book-visual-actions .book-detail-open{width:100%}.book-related-choice{grid-template-columns:54px minmax(0,1fr)}.book-related-choice>img{width:54px;height:80px}}

.reading-visual-card{position:relative}.commerce-focus .book-save-heart{position:absolute;top:28px;right:28px;width:48px;min-height:48px;padding:0;border:1px solid var(--line,#ddd);border-radius:50%;font-size:26px;line-height:1;background:#ffffffed;color:var(--text-sub,#666);z-index:1}.commerce-focus .book-save-heart[aria-pressed=true]{color:var(--accent-blue,#0071e3);background:var(--brand-soft-blue,#edf5ff)}@media(max-width:600px){.commerce-focus .book-save-heart{top:16px;right:16px}}

.book-author-work{display:flex;align-items:center;gap:14px;margin:12px 0;min-height:48px}.book-author-work>img{width:64px;height:92px;object-fit:contain}.book-author-work>span{font-size:14px;line-height:1.5}

.book-author-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;list-style:none}.book-author-tile{margin:0;padding:14px;border:1px solid var(--line,#ddd);border-radius:16px;background:var(--bg-subtle,#f5f5f7)}.book-author-tile>a{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;color:inherit;font-size:13px;line-height:1.5}.book-author-tile img{height:160px;width:100%;object-fit:contain;filter:drop-shadow(2px 5px 4px #0002)}@media(max-width:600px){.book-author-tile{padding:10px}.book-author-tile img{height:135px}.book-author-tile>a{font-size:12px}}

.commerce-focus .reading-visual-card .book-audience-short{align-self:flex-start;font-size:11px;font-weight:600;line-height:1.45;padding:6px 8px;margin:0;min-height:0;border-radius:8px;background:var(--brand-soft-blue);color:var(--accent-blue)}.commerce-focus .reading-visual-card .book-observed-price{font-size:23px;line-height:1.2;font-variant-numeric:tabular-nums;margin-top:4px}.commerce-focus .reading-visual-card .book-price-clock{font-size:11px;line-height:1.45;color:var(--text-sub)}@media(max-width:600px){.commerce-focus .reading-visual-card .book-observed-price{font-size:20px}.commerce-focus .reading-visual-card .book-audience-short{font-size:11px}}

/* Shared reading slots keep adjacent prices and actions aligned. */
.commerce-focus #reading-books .reading-visual-card h3{min-height:2.7em}.commerce-focus .reading-visual-card .book-author-short{min-height:1.5em}.commerce-focus .reading-visual-card .book-audience-short{box-sizing:border-box;min-height:41px;display:flex;align-items:center}.commerce-focus .reading-visual-card .book-one-line{min-height:3em}.commerce-focus .reading-visual-card .book-price-clock{min-height:2.9em}.commerce-focus .book-visual-actions>a{height:48px;min-height:48px;line-height:1.2;white-space:nowrap!important;padding:8px!important}
