.fom-backdrop{z-index:200;background:#14120e99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fom-modal{background:var(--paper);border:1px solid var(--rule-gold);border-radius:16px;gap:24px;width:100%;max-width:560px;padding:30px 32px 26px;display:flex;position:relative;box-shadow:0 40px 80px -28px #14120e73}.fom-close{width:28px;height:28px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:1.3rem;line-height:1;position:absolute;top:12px;right:14px}.fom-close:hover{background:var(--paper-2);color:var(--ink)}.fom-book-side{text-align:center;flex-direction:column;flex:0 0 120px;align-items:center;gap:10px;display:flex}.fom-cover{object-fit:cover;border-radius:4px;width:110px;height:165px;box-shadow:0 16px 32px -16px #14120e80}.fom-rating{color:var(--ink-2);margin:0;font-size:.68rem;line-height:1.4}.fom-copy-side{flex:auto;min-width:0}.fom-title{font-family:var(--serif);color:var(--ink);margin:0 0 14px;font-size:1.4rem;font-weight:500;line-height:1.25}.fom-mini-counter{margin-bottom:14px}.fom-track{background:var(--track);border-radius:2px;height:4px;margin-bottom:6px}.fom-fill{background:linear-gradient(90deg, var(--gold) 0%, var(--gold-bright) 100%);border-radius:2px;height:100%}.fom-mini-label{font-family:var(--mono);color:var(--gold-bright);font-size:.75rem}.fom-review-line{color:var(--ink-2);margin:0 0 20px;font-size:.82rem;line-height:1.5}.fom-review-line em{color:var(--ink);font-style:italic}.fom-cta{background:var(--gold-bright);color:var(--ink);letter-spacing:.02em;border-radius:999px;padding:12px 24px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.fom-cta:hover{background:var(--gold)}@media (prefers-reduced-motion:reduce){.fom-fill{transition:none}}@media (max-width:640px){.fom-backdrop{align-items:flex-end;padding:0}.fom-modal{border-radius:18px 18px 0 0;flex-direction:row;width:100%;max-width:none;padding:24px 20px 28px;box-shadow:0 -20px 48px -20px #14120e80}.fom-book-side{flex:0 0 90px}.fom-cover{width:80px;height:120px}}
