.ri-page{padding-bottom:30px}.ri-scope{display:flex;gap:24px;align-items:center;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.ri-scope strong{font-weight:500}.ri-scope>span{color:var(--muted)}.ri-scope a{margin-left:auto;color:var(--blue)}.ri-toolbar{display:grid;grid-template-columns:1.4fr 1fr .65fr;gap:25px;padding:28px 0 20px}.ri-toolbar label{display:flex;flex-direction:column;gap:9px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.ri-toolbar input,.ri-toolbar select{width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid #b8bcb0;border-radius:0;padding:12px 0;font:13px Inter,sans-serif;color:var(--ink)}.ri-filter-row{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:2px 0 23px}.ri-filter-buttons{display:flex;gap:8px;flex-wrap:wrap}.ri-filter-buttons button{font:11px Inter,sans-serif;padding:9px 13px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer}.ri-filter-buttons button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ri-result-count{font-size:11px;color:var(--muted);margin-bottom:24px}.ri-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ri-card{border:1px solid var(--line);padding:23px;display:flex;flex-direction:column;min-width:0;background:transparent}.ri-card-top{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);align-items:center}.ri-status{font-size:8px!important;letter-spacing:.3px;display:inline-block;padding:5px 7px;background:#eee9de;color:#6e6145;white-space:normal}.ri-status.reviewed{background:#e7eedf;color:#4c6542}.ri-pattern-name{font-size:11px;line-height:1.65;color:var(--blue);margin:23px 0 12px}.ri-excerpt-link{display:block}.ri-card blockquote{font:25px/1.28 var(--serif);letter-spacing:-.4px;overflow-wrap:anywhere}.ri-reading{font-size:12px;color:var(--muted);line-height:1.8;margin:19px 0 25px}.ri-book{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--line);margin-top:auto}.ri-book-image{width:44px;height:65px;flex-shrink:0;background:#ececdf;display:flex;align-items:center;justify-content:center}.ri-book-image img{width:100%;height:100%;object-fit:contain}.ri-book>div{min-width:0}.ri-book strong{font-size:11px;line-height:1.4;display:block;font-weight:500}.ri-book span,.ri-book small{font-size:9px;color:var(--muted);display:block;margin-top:5px;line-height:1.4}.ri-mini-title{display:grid;place-items:center;text-align:center;font:10px/1.1 var(--serif);overflow:hidden;max-height:100%;padding:5px;color:#46543c}.ri-card-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:20px;font-size:9px;line-height:1.5;color:var(--muted)}.ri-card-bottom a{color:var(--blue)}.ri-toc p{padding:13px 0;border-bottom:1px solid var(--line)}.ri-toc span{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:7px}.ri-toc strong{font:22px/1.25 var(--serif)}.ri-more{text-align:center;padding:32px 0}.ri-more p{font-size:11px;color:var(--muted);margin-bottom:15px}.ri-method-note{border-top:1px solid var(--line);padding:25px 0;margin-top:40px;max-width:1000px;font-size:12px;line-height:1.85;color:var(--muted)}.ri-method-note>strong{font-size:12px;font-weight:500;color:var(--ink)}.ri-method-note>p{margin-top:9px}.ri-method-note>a{display:inline-block;margin-top:16px}.ri-empty{grid-column:1/-1;padding:55px 0}.ri-empty h2{font:38px var(--serif);margin-bottom:15px}.ri-empty p{font-size:14px;color:var(--muted);max-width:560px;line-height:1.8}.ri-empty button{margin-top:22px}.ri-active-book{font-size:12px;color:var(--blue);display:flex;gap:9px;align-items:center;background:#e9eefb;padding:12px;margin-bottom:20px}.ri-active-book button{margin-left:auto;background:none;border:0;font-size:22px;cursor:pointer}.ri-discovery{margin-top:50px;padding-top:12px;border-top:1px solid var(--line)}.ri-candidate-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.ri-candidate-card{border:1px solid var(--line);padding:28px;min-width:0}.ri-candidate-card h3{font:34px/1.07 var(--serif);letter-spacing:-.8px;margin:23px 0 15px;max-width:450px}.ri-candidate-card>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:490px}.ri-candidate-books{display:flex;align-items:center;margin:28px 0;gap:9px}.ri-candidate-books>a{width:45px;height:65px;background:#edeee5;display:grid;place-items:center;overflow:hidden}.ri-candidate-books img{max-width:100%;max-height:100%;object-fit:contain}.ri-candidate-books>span{font-size:10px;line-height:1.6;color:var(--muted);margin-left:8px}.ri-candidate-card>.text-link{font-size:11px}.ri-discovery-note{font-size:11px;line-height:1.85;color:var(--muted);margin-top:20px;max-width:1000px}.ri-candidate-rule{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding:30px;background:#edf0e7}.ri-candidate-rule h2{font:33px/1.15 var(--serif);margin-top:16px}.ri-candidate-rule p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:16px}.ri-rule{margin-top:35px}.ri-rule p{font-size:12px;line-height:1.8;color:var(--muted)}.ri-detail-head{display:grid;grid-template-columns:1fr 220px;gap:8%;padding:30px 0 40px;align-items:center}.ri-detail-head h1{font-size:clamp(40px,4.2vw,62px);margin:20px 0 25px;line-height:1.05;max-width:830px}.ri-detail-head .intro{font-size:17px;line-height:1.75;max-width:800px;margin-bottom:25px}.ri-detail-book{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;background:#eff0e8}.ri-detail-book img{width:115px;height:165px;object-fit:contain;filter:drop-shadow(4px 7px 6px #0002);margin-bottom:15px}.ri-detail-book strong{font:24px/1.15 var(--serif);margin:12px 0}.ri-detail-book>span{font-size:10px;line-height:1.7;color:var(--muted)}.ri-source-sheet{background:#edf0e7;border:1px solid #d8ddcf;padding:35px 45px}.ri-source-sheet blockquote{font:36px/1.35 var(--serif);letter-spacing:-.5px;margin:25px 0;max-width:1040px;overflow-wrap:anywhere}.ri-source-label{font-size:11px;line-height:1.8;color:var(--muted);margin-top:25px}.ri-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:40px}.ri-context-grid p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:15px}.ri-detail-next{display:flex;justify-content:space-between;gap:20px;margin-top:35px}.ri-occurrences{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.ri-occurrences span{font-size:11px;border:1px solid var(--line);padding:7px 10px}.ri-hash{overflow-wrap:anywhere;font-family:monospace}.ri-progress-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px}.ri-progress-grid>div{padding:28px 25px;border-left:1px solid var(--line)}.ri-progress-grid>div:first-child{border-left:0;padding-left:0}.ri-progress-grid strong{font:65px/1 var(--serif);color:var(--blue)}.ri-progress-grid h3{font:26px/1.15 var(--serif);margin:18px 0 13px}.ri-progress-grid p{font-size:12px;line-height:1.8;color:var(--muted)}.ri-research-copy{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:50px 0}.ri-research-copy h2{font:35px/1.13 var(--serif);margin:18px 0 25px}.ri-research-copy p,.ri-research-copy li{font-size:13px;line-height:1.85;color:var(--muted);margin:15px 0}.ri-research-copy ol{padding-left:18px}.ri-research-copy>a{margin-top:18px}.ri-image-unavailable{display:block;font-size:8px;color:var(--muted);text-align:center}.ri-page :focus-visible,.ri-discovery :focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:1100px){.ri-grid{grid-template-columns:1fr 1fr}.ri-card blockquote{font-size:24px}.ri-toolbar{grid-template-columns:1fr 1fr}.ri-search{grid-column:1/-1}.ri-progress-grid{grid-template-columns:1fr 1fr}.ri-progress-grid>div:nth-child(3){border-left:0;padding-left:0}.ri-progress-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:650px){.ri-scope{gap:12px 20px;font-size:10px}.ri-scope a{margin-left:0}.ri-toolbar{gap:18px}.ri-toolbar select,.ri-toolbar input{font-size:12px}.ri-grid,.ri-candidate-grid{grid-template-columns:1fr}.ri-card{padding:23px}.ri-card blockquote{font-size:28px}.ri-card-top{font-size:8px}.ri-reading{font-size:13px}.ri-status{font-size:8px!important}.ri-filter-row{align-items:flex-start}.ri-filter-buttons{gap:5px}.ri-filter-buttons button{padding:8px 10px;font-size:10px}.ri-filter-row>.text-link{font-size:10px;white-space:nowrap}.ri-candidate-card{padding:24px}.ri-candidate-card h3{font-size:32px}.ri-candidate-rule{grid-template-columns:1fr;gap:28px;padding:25px}.ri-detail-head{grid-template-columns:1fr;gap:30px}.ri-detail-head h1{font-size:42px}.ri-detail-head .intro{font-size:15px}.ri-detail-book{max-width:260px;justify-self:center}.ri-source-sheet{padding:25px}.ri-source-sheet blockquote{font-size:28px}.ri-context-grid,.ri-research-copy{grid-template-columns:1fr;gap:30px}.ri-detail-next{flex-direction:column;gap:18px}.ri-progress-grid{margin-top:25px}.ri-progress-grid>div{padding:22px 13px}.ri-progress-grid strong{font-size:48px}.ri-progress-grid h3{font-size:23px}.ri-progress-grid p{font-size:11px}.ri-research-copy{padding-top:35px}.ri-research-copy h2{font-size:33px}.ri-active-book{align-items:flex-start;flex-wrap:wrap;font-size:11px}.ri-active-book strong{max-width:75%}}

.ri-live-reading{display:grid;grid-template-columns:1fr 160px;gap:40px;padding:30px;background:#e9eef9;margin-top:35px}.ri-live-reading h2{font:35px/1.1 var(--serif);margin:18px 0}.ri-live-reading p{font-size:13px;line-height:1.8;color:var(--muted)}.ri-live-reading .ri-live-note{font-size:11px;margin-top:15px;max-width:800px}.ri-live-number{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #c8d2e8;padding-left:35px}.ri-live-number strong{font:75px/1 var(--serif);color:var(--blue)}.ri-live-number span{font-size:12px;line-height:1.6;margin:10px 0}.ri-live-number small{font-size:10px;color:var(--muted)}@media(max-width:600px){.ri-live-reading{grid-template-columns:1fr;gap:20px;padding:24px}.ri-live-reading h2{font-size:31px}.ri-live-number{padding:20px 0 0;border-left:0;border-top:1px solid #c8d2e8}.ri-live-number strong{font-size:55px}}
