/* A compact book-and-counter header; the denominator comes from live content. */
.mastery-overview{display:flex;align-items:center;gap:23px;max-width:1200px;margin:0 0 30px;padding:23px 27px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.mastery-book{width:82px;height:112px;flex:none;position:relative;overflow:hidden;padding:12px 10px;background:#38694f;color:#fffaf0;border-radius:3px 9px 9px 3px;border-left:5px solid #28543b;box-shadow:3px 4px 0 #ccd5be}
.mastery-book b{font:700 17px var(--sans);letter-spacing:1px;display:block}.mastery-book>span{font-size:10px;display:block;margin-top:2px}
.mastery-book i{position:absolute;bottom:-20px;right:-10px;width:95px;height:69px;border-radius:60% 0 0;background:#e2c46e;color:#395b42;display:block;text-align:center;font:40px var(--serif);padding-top:5px;transform:rotate(-10deg)}
.mastery-main{flex:1;min-width:0}.mastery-topline,.mastery-bottomline{display:flex;align-items:center;justify-content:space-between;gap:15px}.mastery-topline>span{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--muted)}
.mastery-topline .text-button{font-size:11px;gap:5px;min-height:24px}.mastery-topline svg{width:14px;height:14px}
.mastery-numbers{display:flex;align-items:baseline;gap:11px;margin:3px 0 9px;line-height:1.35;font-variant-numeric:tabular-nums}.mastery-numbers>span:first-child{font-size:15px;font-weight:700}.mastery-numbers>strong{font:700 40px/1.2 var(--latin);color:var(--green)}
.mastery-denominator{font:26px var(--latin);color:var(--muted)}.mastery-denominator small{font:12px var(--sans)}
.mastery-track{height:8px;background:#e9ece2;border-radius:20px;overflow:hidden}.mastery-track>i{height:100%;display:block;background:#a77832;border-radius:20px;transition:width .2s}
.mastery-bottomline{margin-top:9px;font-size:11px;color:var(--muted)}.mastery-bottomline b{font-variant-numeric:tabular-nums;color:var(--ink)}.mastery-bottomline>a{display:flex;align-items:center;gap:7px;color:var(--green);font-weight:700;min-height:28px}.mastery-bottomline svg{width:15px;height:15px}
.review-heading{margin-bottom:23px}.review-heading h1{font:700 32px/1.5 var(--serif);margin:7px 0}.review-heading p{font-size:12px;color:var(--muted)}
.review-today{display:flex;align-items:center;gap:28px;padding:24px 27px;background:#e2ebd9;border:1px solid #b8cbaa;border-radius:11px}
.review-due-number{display:flex;flex-direction:column;flex:none;min-width:94px}.review-due-number>span{font-size:12px;color:var(--muted);font-weight:700}.review-due-number strong{font:45px/1.25 var(--latin);color:var(--green)}.review-due-number small{font:12px var(--sans);margin-left:8px}
.review-due-copy{flex:1}.review-due-copy>b{font-size:16px}.review-due-copy>p{font-size:11px;line-height:1.9;margin-top:5px;color:var(--muted)}.review-today .button{white-space:nowrap;flex:none;font-size:12px}
.review-schedule{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:17px 3px 23px;font-size:11px;color:var(--muted)}.review-schedule>b{color:var(--ink);font-weight:500}.review-schedule>i{font-style:normal;color:#839279}.review-schedule-end{padding:2px 8px;background:#e0ead7;border-radius:4px;color:var(--green);font-weight:700}.review-schedule>.text-button{margin-left:auto;font-size:11px;min-height:28px}
.review-list .filter-tabs button{font-size:12px;min-height:40px}.review-list .filter-tabs span{margin-left:4px;font-size:10px}.review-word-row{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:83px;border-bottom:1px solid var(--line);padding:16px 24px}.review-word-row:last-child{border-bottom:0}.review-word-row:hover{background:var(--soft)}
.review-word-row>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:15px;min-width:0}.review-word-row strong{font:27px var(--latin);overflow-wrap:anywhere}.review-word-state{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.review-word-state>b{font-size:12px;color:var(--muted);font-weight:500}.review-word-state>b.mastered{color:var(--green);font-weight:700}.review-word-state small{font-size:10px;color:var(--muted)}
.review-empty{padding:32px 24px;text-align:center}.review-empty>b{font-size:15px}.review-empty>p{font-size:12px;color:var(--muted);margin-top:8px}
.review-rules-dialog{width:min(100%,620px)}.review-rules{font-size:13px;line-height:1.9}.review-rules>p{color:var(--muted)}.review-rules ol{padding-left:22px;margin:18px 0}.review-rules li{padding-left:7px;margin-bottom:16px}.review-rules li::marker{color:var(--green);font-weight:700}.review-rules li>b{display:block;font-size:14px;color:var(--green)}.review-rules li>span{display:block;margin-top:4px;color:var(--muted)}.review-rule-note{padding:13px 15px;background:var(--soft);border:1px solid var(--line);border-radius:7px;font-size:11px}
.review-reader-note{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:22px;font-size:11px;color:var(--muted)}.review-reader-note>b{color:var(--green)}
.review-result-bar .mark-button b{font-size:18px}.review-result-bar .mark-button{gap:12px;padding-left:18px;padding-right:18px}.review-result-bar .result-arrow{display:none}.review-finish-note{font-size:13px;color:var(--muted);padding:24px 0;line-height:1.9}
@media(max-width:1100px){.review-today{gap:18px;padding:21px}.review-due-copy>b{font-size:14px}.review-today .button{font-size:11px;padding:11px 15px}.review-result-bar .mark-button b{font-size:16px}}
@media(max-width:760px){
  .mastery-overview{gap:15px;padding:16px;margin-bottom:23px;border-radius:10px}.mastery-book{width:61px;height:88px;padding:10px 6px;border-left-width:4px}.mastery-book b{font-size:13px;letter-spacing:.5px}.mastery-book>span{font-size:8px}.mastery-book i{width:74px;height:56px;font-size:31px;bottom:-17px}
  .mastery-topline{gap:8px}.mastery-topline>span{font-size:10px;letter-spacing:0}.mastery-topline .text-button{font-size:9px;gap:3px}.mastery-topline svg{display:none}.mastery-numbers{gap:7px;margin:4px 0 10px;flex-wrap:wrap}.mastery-numbers>span:first-child{font-size:12px}.mastery-numbers>strong{font-size:30px}.mastery-denominator{font-size:21px}.mastery-denominator small{font-size:10px}.mastery-bottomline{font-size:9px;gap:6px;margin-top:7px}.mastery-bottomline>a{gap:4px}.mastery-bottomline svg{width:12px;height:12px}.mastery-track{height:6px}
  .review-heading{margin-bottom:18px}.review-heading h1{font-size:25px}.review-heading p{font-size:11px;line-height:1.8}.review-today{flex-wrap:wrap;gap:14px;padding:18px}.review-due-number{min-width:74px}.review-due-number>span{font-size:10px}.review-due-number strong{font-size:38px}.review-due-copy{min-width:150px}.review-due-copy>b{font-size:13px}.review-due-copy>p{font-size:10px}.review-today>.button{width:100%;justify-content:center;min-height:44px;font-size:12px}.review-schedule{gap:7px;padding:14px 0 18px;font-size:10px}.review-schedule>.text-button{font-size:10px}.review-schedule>span:first-child{display:none}
  .review-list .list-toolbar{flex-wrap:wrap;gap:10px}.review-list .filter-tabs{flex:1;width:100%;justify-content:space-between;gap:3px}.review-list .filter-tabs button{font-size:11px;padding:6px 8px}.review-list .list-search{max-width:100%;width:100%;font-size:11px}.review-word-row{padding:15px;min-height:84px;gap:12px}.review-word-row>div:first-child{gap:7px;flex-direction:column;align-items:flex-start}.review-word-row strong{font-size:25px}.review-word-state>b{font-size:11px}.review-word-row .method-badge.compact{font-size:10px;min-height:24px;padding:2px 7px;gap:5px}.review-word-row .method-badge-mark{font-size:11px;min-width:14px}.review-empty{padding:28px 15px}.review-empty>b{font-size:13px}.review-empty>p{font-size:11px}
  .review-reader-note{margin-bottom:16px;font-size:10px;gap:5px;line-height:1.8}.review-reader-note>span{display:block;width:100%}.review-result-bar .mark-button{padding:10px 3px;gap:5px}.review-result-bar .mark-button b{font-size:14px;letter-spacing:0}.review-result-bar .mark-button small{font-size:8px}.review-finish-note{font-size:11px}
}
@media(max-width:365px){.mastery-overview{padding:14px 12px;gap:12px}.mastery-book{width:51px}.mastery-numbers{gap:5px}.mastery-numbers>strong{font-size:28px}.mastery-denominator{font-size:19px}.review-result-bar .mark-button b{font-size:13px}.review-schedule{gap:5px}}
