.platform-main { background: #fbf7ef; min-height: 70vh; padding: clamp(44px, 7vw, 100px) 0; }
.platform-shell { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }
.platform-heading { max-width: 720px; margin-bottom: 34px; }
.platform-heading h1 { color: var(--maroon); font: 600 clamp(2.3rem, 5vw, 4.8rem)/1 var(--f-display); letter-spacing: -.04em; margin: 10px 0 14px; }
.platform-heading p { color: #725f56; max-width: 60ch; line-height: 1.7; }
.platform-note { border-left: 3px solid #c6a054; background: #f4ead8; color: #705c4f; padding: 14px 17px; font-size: .88rem; line-height: 1.55; margin: 22px 0; }
.platform-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.platform-card { background: #fffdf8; border: 1px solid #dfd1bc; box-shadow: 0 12px 30px #40232912; padding: 22px; }
.platform-card h2, .platform-card h3 { color: var(--maroon); font-family: var(--f-display); margin: 0 0 10px; }
.platform-card p { color: #76655c; line-height: 1.6; }
.platform-cover { width: 100%; aspect-ratio: 2/3; object-fit: contain; background: #eee4d0; display: block; margin-bottom: 18px; }
.platform-cover--small { width: 104px; aspect-ratio: 2/3; margin: 0; flex: 0 0 auto; }
.platform-book-row { display: flex; align-items: center; gap: 18px; }
.platform-book-row h3 { font-size: 1.45rem; }
.platform-meta { color: #8b704d; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.platform-card-prices { color: #8b6536 !important; font-size: .72rem !important; letter-spacing: .03em; margin: 7px 0 !important; }
.platform-card-prices span { color: #b79b70; padding-inline: 4px; }
.platform-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.platform-actions .btn { cursor: pointer; }
.platform-access { margin-top: 28px; padding: 24px; background: #f6eddf; border: 1px solid #d8c5a7; }
.platform-access h2 { margin-bottom: 16px; }
.platform-access-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.platform-option { background: #fffdf8; border: 1px solid #dfd1bc; padding: 20px; }
.platform-option strong { display: block; color: var(--maroon); font: 600 1.5rem var(--f-display); margin-bottom: 5px; }
.platform-option span { display: block; color: #76655c; font-size: .86rem; }
.platform-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; background: #edf5ed; border: 1px solid #b9d2b9; padding: 16px 18px; color: #315b3b; }
.platform-status.is-expired { background: #fbefec; border-color: #e1b4aa; color: #873f34; }
.platform-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 10px; background: #e9ddc6; color: #76542c; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.platform-pill--active { background: #d9eadb; color: #315b3b; }
.platform-pill--expired { background: #f1d7d1; color: #873f34; }
.platform-empty { text-align: center; padding: 60px 20px; border: 1px dashed #d5c5ad; color: #76655c; }
.platform-empty h2 { color: var(--maroon); font-family: var(--f-display); }
.platform-reader { background: #2b1c25; min-height: 100vh; color: #f9edda; }
.platform-reader-bar { position: sticky; top: 0; z-index: 4; display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 16px clamp(16px, 4vw, 54px); background: #2b1c25ee; border-bottom: 1px solid #c6a05455; backdrop-filter: blur(12px); }
.platform-reader-bar a { color: #f9edda; }
.platform-reader-title { font: 500 clamp(1.1rem, 2vw, 1.7rem) var(--f-display); }
.platform-reader-body { width: min(880px, calc(100% - 32px)); margin: 0 auto; padding: 42px 0 80px; }
.platform-reader-page { background: #fffaf0; color: #38252b; min-height: min(68vh, 760px); padding: clamp(24px, 5vw, 70px); box-shadow: 0 22px 70px #10081066; display: grid; place-items: center; text-align: center; }
.platform-reader-page img { max-width: min(380px, 72vw); max-height: 54vh; width: auto; height: auto; object-fit: contain; box-shadow: 10px 16px 25px #40232925; }
.platform-reader-placeholder { max-width: 54ch; line-height: 1.7; color: #705d54; }
.platform-reader-placeholder h1 { color: var(--maroon); font: 600 clamp(2rem, 5vw, 4rem) var(--f-display); margin-bottom: 16px; }
.platform-reader-controls { display: flex; justify-content: center; align-items: center; gap: 14px; flex-wrap: wrap; padding-top: 22px; }
.platform-reader-progress { height: 5px; background: #6b4e57; margin-top: 24px; }
.platform-reader-progress span { display: block; width: 100%; height: 100%; background: #c6a054; }
.platform-auth-state { margin-top: 18px; color: #76655c; font-size: .86rem; }
@media (max-width: 800px) {
  .platform-grid, .platform-access-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .platform-grid, .platform-access-grid { grid-template-columns: 1fr; }
  .platform-shell { width: min(100% - 28px, 1180px); }
  .platform-card { padding: 17px; }
  .platform-reader-page { min-height: 62vh; padding: 22px; }
  .platform-reader-bar { align-items: flex-start; flex-direction: column; }
}
