.reader-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.reader-heading h1{font-size:34px}.reader-actions{display:flex;gap:10px;flex-wrap:wrap}.reader-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);background:var(--line);border-radius:14px;overflow:hidden;margin:22px 0}.reader-summary>div{background:white;padding:21px}.reader-summary b{display:block;color:var(--green);font-size:28px}.reader-summary span{font-size:11px;color:#778477}.reader-alert{padding:17px 20px;border:1px solid #eac8ba;background:#fff1e9;border-radius:12px;color:#93472c}.reader-alert strong,.reader-alert span{display:block}.reader-alert span{font-size:12px;line-height:1.7;margin-top:6px}.reading-week{padding:28px!important}.featured-week{border:1px solid #c9d9bf;background:#fff}.week-top{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:20px}.week-top p{margin-top:7px;font-size:11px}.reading-status{display:inline-flex;align-items:center;padding:7px 10px;border-radius:8px;background:#f0f2e9;color:#7b866d;font-size:10px;line-height:1.4;white-space:nowrap}.reading-status.completed{background:#e5f0e7;color:#306448}.reading-status.completed_late{background:#f9ecd6;color:#906019}.reading-status.overdue{background:#fbe4db;color:#9b462e}.reading-status.in_progress{background:#eaf0f8;color:#4c6b8b}.planned-books{display:grid;gap:10px;margin:16px 0 22px}.planned-book{display:flex;gap:12px;align-items:center;border:1px solid #e8eddf;border-radius:10px;padding:15px;background:#f9faf4}.book-symbol{display:grid;place-items:center;background:#e9efdf;color:#648350;width:36px;height:42px;border-radius:6px;flex-shrink:0;font-size:21px}.planned-book>div{flex:1;min-width:0}.planned-book strong{display:block;font-size:14px;overflow-wrap:anywhere}.planned-book small{display:block;font-size:11px;color:#839177;margin-top:7px}.planned-book>b{font-size:20px;color:var(--green);flex-shrink:0}.planned-book>b small{display:inline;font-size:10px}.compact-books .planned-book{padding:11px}.compact-books strong{font-size:12px}.no-books{padding:16px 0;font-size:12px}.weekly-progress{display:flex;align-items:center;justify-content:space-between}.weekly-progress strong{font-size:26px;color:var(--green)}.weekly-progress strong small{font-size:13px;font-weight:400;color:#849077}.weekly-progress>span{font-size:12px;color:#869578}.week-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin:23px 0 18px}.week-numbers>div{padding:0 15px;border-left:1px solid var(--line)}.week-numbers>div:first-child{padding-left:0;border-left:0}.week-numbers b{font-size:23px;color:#466943;display:block}.week-numbers small{font-size:10px;color:#7f8c76;display:block;margin-top:6px;line-height:1.5}.week-note{font-size:12px;line-height:1.8;margin:16px 0}.late-note{color:#a45b3b}.complete-plan-button{width:100%;min-height:50px;font-size:14px;margin-top:12px}.reader-extra{margin:18px 0 30px}.reader-extra button{width:100%}.reader-other-weeks{margin:25px 0}.week-detail{border:1px solid var(--line);background:#fff;border-radius:12px;margin:12px 0;overflow:hidden}.week-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px;font-size:13px}.week-detail>summary>span:first-child small{display:block;font-size:10px;margin-top:7px;color:#87927b}.week-detail>summary>span:nth-child(2){font-size:11px;color:#718663}.week-detail .reading-week{border:0;border-top:1px solid var(--line);border-radius:0;margin:0;box-shadow:none}.mobile-reading-action{display:none}.plan-books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.book-plan-card{padding:21px!important;margin:0!important}.book-plan-card .week-top{margin-bottom:12px}.book-plan-card .week-top>strong{font-size:21px;color:var(--green)}.book-plan-card .week-top>strong small{font-size:11px}.book-plan-card .outline{width:100%}.book-plan-card .planned-book>b{font-size:13px}.book-plan-card .book-symbol{display:none}.plan-book-row{display:grid;grid-template-columns:1fr 1fr 35px;gap:10px;background:#f5f7ee;padding:16px;border:1px solid var(--line);border-radius:10px;margin:18px 0}.plan-book-row .book-name{grid-column:1/-1}.plan-book-row label{margin:0}.plan-book-row button{align-self:end;min-height:42px;font-size:24px;color:#9c664a}.plan-book-row input{min-width:0;width:100%}.plan-book-row input[readonly]{background:#eff3e7}.day-quick-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.day-quick-buttons button{min-width:42px;min-height:44px;padding:10px}.auto-days{display:flex;align-items:center;gap:10px;font-size:12px!important;margin:20px 0!important}.auto-days input{width:20px;height:20px;flex-shrink:0}.form-feedback{color:#a14932;font-size:12px;min-height:18px;margin:14px 0}.overview-books{margin:0 0 20px}.overview-books summary{font-size:12px;color:var(--green);cursor:pointer}.overview-books .planned-books{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:0}#complete-week-form>.primary,#book-plan-form>.primary{width:100%;min-height:48px}#completion-calculation{font-size:12px;line-height:1.8}#complete-week-form input[name=days]{font-size:24px;min-height:56px;text-align:center}.form-feedback:empty{margin:0;min-height:0}
@media(max-width:1100px){.plan-books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reader-heading{align-items:start;flex-direction:column;gap:14px}.reader-heading h1{font-size:27px;overflow-wrap:anywhere}.reader-heading .eyebrow{margin-bottom:7px}.reader-heading p{font-size:12px}.reader-actions{width:100%}.reader-actions button{min-height:44px}.reader-summary>div{padding:16px 12px}.reader-summary b{font-size:25px}.reader-summary span{font-size:10px}.reading-week{padding:20px!important}.week-top{gap:8px;flex-wrap:wrap}.week-top h2{font-size:23px}.reading-status{font-size:11px;padding:8px 10px}.planned-book strong{font-size:15px}.planned-book small{font-size:12px}.week-numbers>div{padding:0 10px}.week-numbers b{font-size:22px}.week-numbers small{font-size:10px}.week-note{font-size:12px}.reader-other-weeks>.section-title{flex-wrap:wrap;gap:10px}.week-detail>summary{padding:15px;flex-wrap:wrap}.week-detail>summary>span:first-child{flex:1}.week-detail>summary .reading-status{font-size:10px}.plan-books-grid{grid-template-columns:1fr}.reader-alert{padding:14px}.mobile-reading-action{display:block;position:sticky;bottom:12px;padding:10px 0 calc(8px + env(safe-area-inset-bottom));z-index:10;pointer-events:none}.mobile-reading-action button{width:100%;min-height:52px;font-size:15px;box-shadow:0 6px 22px #27422d40;pointer-events:auto}dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:25px 20px 20px;overflow-y:auto}dialog input,dialog select,dialog textarea{font-size:16px;min-height:46px}dialog h2{font-size:24px}.day-quick-buttons{gap:6px}.day-quick-buttons button{flex:1;padding:10px 8px;min-width:32px}.auto-days{font-size:13px!important}body:has(.mobile-reading-action) #toast{bottom:85px}.book-plan-card .planned-book strong{font-size:13px}}
.edit-week-result{width:100%;min-height:46px;margin-top:12px}.manual-result-note{font-size:11px;color:#7a886e;line-height:1.7;margin:15px 0}.reset-week-result{display:block;width:100%;margin-top:15px;color:#a2553e;min-height:44px}.danger-button{background:#a2553e!important}#personal-week-form>.primary,#clear-personal-week-form>.primary{width:100%;min-height:48px}#personal-week-form .form-grid{grid-template-columns:1fr 1fr}
.auto-days input{padding:0!important;margin:0;min-height:20px!important;min-width:20px;accent-color:var(--green)}
.danger-button{color:#fff!important;border:0;border-radius:8px;padding:12px 18px;min-height:44px}#account-form>.primary,#account-form>.danger-button{display:block;width:100%;margin-top:12px}.archived-account{padding:16px 0;border-bottom:1px solid var(--line)}

.weekly-repeat-summary{margin-top:20px;padding-top:18px;border-top:1px solid #e5e9e3}.weekly-repeat-summary p{margin:10px 0;font-size:13px}.weekly-repeat-summary .outline{margin-top:14px;width:100%}.weekly-repeat-summary summary{cursor:pointer;color:#315c49}.weekly-current-progress{margin-bottom:22px}.weekly-current-progress p{margin-bottom:12px}

/* Audit filters and expanded changes remain readable on small screens. */
.audit-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin-bottom:18px}
.audit-filters label{display:grid;gap:8px;flex:1;min-width:150px}
.audit-filters select{min-height:44px;width:100%;border:1px solid var(--line);border-radius:8px;background:white;padding:10px}
.audit-details{margin-top:8px;overflow-wrap:anywhere;white-space:pre-wrap}
.audit-details summary{cursor:pointer;min-height:36px;display:flex;align-items:center;color:var(--green)}
.audit-details ul{padding-left:18px;font-size:13px;line-height:1.8}
.audit-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.audit-row>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.audit-filters label{flex-basis:100%}.audit-filters button{width:100%}.audit-row{flex-wrap:wrap}.audit-row time{width:100%;padding-left:36px}.audit-nav button{flex:1;min-height:44px}}

/* Telegram client controls and device safe areas must not overlap reading actions. */
body.miniapp{padding-top:var(--miniapp-safe-top,0px);padding-left:var(--miniapp-safe-left,0px);padding-right:var(--miniapp-safe-right,0px);padding-bottom:var(--miniapp-safe-bottom,0px)}
.miniapp .mobile-reading-action{padding-bottom:calc(12px + var(--miniapp-safe-bottom,0px))}
.miniapp input,.miniapp textarea,.miniapp select{font-size:16px}
