:root{
  --review-ink:var(--card-title,#243252);
  --review-muted:var(--card-muted,#75809a);
  --review-line:var(--card-border,#dfe4ef);
  --review-paper:var(--card-bg,#fff);
  --review-blue:var(--card-accent,var(--theme-main,#4666c7));
  --review-blue-soft:var(--card-accent-soft,#edf2ff);
  --review-coral:#e8795f;
  --review-green:#2e8a65;
}
.weekly-review-card{position:relative;overflow:hidden;margin-bottom:14px;padding:22px;border:1px solid color-mix(in srgb,var(--review-blue) 22%,var(--review-line));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--review-blue-soft) 76%,#fff),var(--review-paper) 58%);color:var(--review-ink);box-shadow:0 16px 36px rgba(42,58,104,.09)}
.weekly-review-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 27px,color-mix(in srgb,var(--review-blue) 8%,transparent) 28px 29px);mask-image:linear-gradient(90deg,#000,transparent 75%)}
.weekly-review-card>*{position:relative}.weekly-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.weekly-review-kicker{margin:0 0 5px;color:var(--review-blue);font:800 10px/1.2 "Times New Roman",serif;letter-spacing:.18em;text-transform:uppercase}.weekly-review-card h3{margin:0;color:var(--review-ink);font:900 22px/1.25 SimSun,"Songti SC",serif}.weekly-review-subtitle{margin:7px 0 0;color:var(--review-muted);font:600 12px/1.65 SimSun,"Songti SC",serif}.weekly-review-seal{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border:2px solid color-mix(in srgb,var(--review-coral) 65%,transparent);border-radius:50%;color:var(--review-coral);font:900 10px/1.15 SimSun,"Songti SC",serif;letter-spacing:.08em;transform:rotate(7deg)}
.weekly-review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:17px}.weekly-review-metric{padding:10px 11px;border:1px solid color-mix(in srgb,var(--review-line) 75%,transparent);border-radius:13px;background:color-mix(in srgb,var(--review-paper) 85%,transparent)}.weekly-review-metric strong{display:block;color:var(--review-ink);font:800 18px/1.1 "Times New Roman",serif}.weekly-review-metric span{display:block;margin-top:4px;color:var(--review-muted);font-size:10px}
.weekly-review-progress{height:7px;margin:16px 0 0;border-radius:999px;background:color-mix(in srgb,var(--review-line) 72%,transparent);overflow:hidden}.weekly-review-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--review-blue),var(--review-coral));transition:width .45s ease}.weekly-review-actions{display:flex;gap:9px;margin-top:14px}.weekly-review-actions button{flex:1;min-height:42px;border:0;border-radius:12px;padding:10px 14px;font:800 12px/1.2 SimSun,"Songti SC",serif;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.weekly-review-actions button:hover{transform:translateY(-1px)}.weekly-review-primary{background:var(--review-blue);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--review-blue) 26%,transparent)}.weekly-review-secondary{background:var(--review-blue-soft);color:var(--review-blue)}.weekly-review-actions button:disabled{cursor:not-allowed;opacity:.5;transform:none}.weekly-review-note{margin:11px 0 0;color:var(--review-muted);font-size:10px;line-height:1.6}.weekly-review-qa{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:8px;background:#fff0cb;color:#8b6115;font-size:10px;font-weight:800}.weekly-review-history{display:grid;gap:6px;margin-top:13px}.weekly-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-top:1px dashed var(--review-line);color:var(--review-muted);font-size:10px}.weekly-history-row a{color:var(--review-blue);font-weight:800;text-decoration:none}.weekly-history-row strong{color:var(--review-ink)}

body.weekly-review-page{min-height:100vh;margin:0;background:radial-gradient(circle at 12% 4%,color-mix(in srgb,var(--theme-main,#4666c7) 13%,transparent),transparent 32%),linear-gradient(180deg,var(--page-bg,#eef1f8),color-mix(in srgb,var(--page-bg,#eef1f8) 72%,#fff));color:var(--review-ink);font-family:SimSun,"Songti SC",serif}.weekly-review-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,42px);border-bottom:1px solid color-mix(in srgb,var(--review-line) 72%,transparent);background:color-mix(in srgb,var(--page-bg,#eef1f8) 78%,transparent);backdrop-filter:blur(18px)}.weekly-review-brand{display:flex;align-items:center;gap:10px;color:var(--review-ink);font-weight:900;text-decoration:none}.weekly-review-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--review-blue);color:#fff;font:700 20px "Times New Roman",serif}.weekly-review-cycle{color:var(--review-muted);font:700 10px/1.2 "Times New Roman",serif;letter-spacing:.08em}
.weekly-review-shell{width:min(980px,calc(100% - 28px));margin:28px auto 70px}.weekly-review-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;margin-bottom:18px}.weekly-review-hero .eyebrow{margin:0 0 7px;color:var(--review-coral);font:800 11px/1.2 "Times New Roman",serif;letter-spacing:.18em}.weekly-review-hero h1{margin:0;font:900 clamp(30px,5vw,54px)/1.05 SimSun,"Songti SC",serif;letter-spacing:-.04em}.weekly-review-hero p{max-width:640px;margin:12px 0 0;color:var(--review-muted);font-size:13px;line-height:1.8}.weekly-review-counter{color:var(--review-blue);font:800 clamp(34px,6vw,70px)/.9 "Times New Roman",serif}.weekly-review-counter small{display:block;margin-top:8px;color:var(--review-muted);font:700 10px/1.2 SimSun,"Songti SC",serif;text-align:right}
.weekly-review-sheet{position:relative;overflow:hidden;border:1px solid var(--review-line);border-radius:28px;background:var(--review-paper);box-shadow:0 28px 70px rgba(31,43,79,.13)}.weekly-review-sheet:before{content:"";position:absolute;top:0;bottom:0;left:54px;width:1px;background:color-mix(in srgb,var(--review-coral) 28%,transparent)}.weekly-review-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 18px 76px;border-bottom:1px solid var(--review-line);background:linear-gradient(90deg,color-mix(in srgb,var(--review-blue-soft) 45%,#fff),#fff)}.weekly-review-tags{display:flex;flex-wrap:wrap;gap:7px}.weekly-review-tag{padding:5px 9px;border:1px solid var(--review-line);border-radius:999px;color:var(--review-muted);font-size:10px;font-weight:800}.weekly-review-tag.type{border-color:color-mix(in srgb,var(--review-blue) 30%,var(--review-line));background:var(--review-blue-soft);color:var(--review-blue)}.weekly-review-tag.reason{border-color:color-mix(in srgb,var(--review-coral) 30%,var(--review-line));color:var(--review-coral)}.weekly-review-position{color:var(--review-muted);font:700 11px "Times New Roman",serif}.weekly-review-content{padding:24px 24px 30px 76px}.weekly-review-reference{margin:0 0 15px;color:var(--review-ink);font-size:13px;font-weight:800}.weekly-review-subs{display:flex;flex-wrap:wrap;gap:6px;margin:-5px 0 15px}.weekly-review-sub{padding:4px 8px;border-radius:8px;background:#fff1ed;color:#b85843;font-size:10px;font-weight:800}.weekly-review-image-stack{display:grid;gap:10px}.weekly-review-image-stack img{display:block;width:100%;height:auto;border:1px solid var(--review-line);border-radius:14px;background:#fff}.weekly-review-html{overflow:auto;padding:16px;border:1px solid var(--review-line);border-radius:14px;font:16px/1.9 "Times New Roman",SimSun,serif}.weekly-review-answer{display:none;margin-top:20px;padding-top:20px;border-top:1px dashed var(--review-line)}.weekly-review-answer.revealed{display:block;animation:reviewReveal .28s ease both}.weekly-review-answer h2{margin:0 0 12px;font-size:16px}.weekly-review-controls{display:grid;gap:12px;margin-top:20px}.weekly-review-reveal,.weekly-review-confirm{min-height:46px;border:0;border-radius:13px;padding:11px 16px;font-weight:900;cursor:pointer}.weekly-review-reveal{background:var(--review-blue);color:#fff}.weekly-review-choices{display:none;grid-template-columns:1fr 1fr;gap:10px}.weekly-review-choices.show{display:grid}.weekly-review-choice{min-height:52px;border:1px solid var(--review-line);border-radius:14px;background:#fff;color:var(--review-ink);font-weight:900;cursor:pointer}.weekly-review-choice[data-result="correct"].selected{border-color:var(--review-green);background:color-mix(in srgb,var(--review-green) 10%,#fff);color:var(--review-green)}.weekly-review-choice[data-result="wrong"].selected{border-color:var(--review-coral);background:color-mix(in srgb,var(--review-coral) 10%,#fff);color:#b9503c}.weekly-review-confirm{background:var(--review-ink);color:#fff}.weekly-review-confirm:disabled{opacity:.35;cursor:not-allowed}.weekly-review-help{margin:0;color:var(--review-muted);font-size:10px;line-height:1.6;text-align:center}.weekly-review-nav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.weekly-review-nav button{border:0;background:transparent;color:var(--review-blue);font-weight:800;cursor:pointer}.weekly-review-nav button:disabled{opacity:.35;cursor:not-allowed}
.weekly-review-summary{padding:34px}.weekly-review-summary h2{margin:0;font-size:30px}.weekly-review-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.weekly-review-summary-grid div{padding:16px;border:1px solid var(--review-line);border-radius:16px;background:var(--review-blue-soft)}.weekly-review-summary-grid strong{display:block;font:800 28px "Times New Roman",serif}.weekly-review-summary-grid span{color:var(--review-muted);font-size:10px}.weekly-review-summary a{display:inline-flex;padding:12px 18px;border-radius:12px;background:var(--review-blue);color:#fff;font-weight:900;text-decoration:none}.weekly-review-empty{padding:46px;text-align:center}.weekly-review-empty h2{margin:0 0 10px;font-size:28px}.weekly-review-empty p{color:var(--review-muted);line-height:1.8}.weekly-review-empty a{color:var(--review-blue);font-weight:900}.weekly-review-unavailable{padding:18px;border:1px dashed var(--review-line);border-radius:14px;color:var(--review-muted);text-align:center}.weekly-review-qa-banner{margin-bottom:12px;padding:9px 12px;border:1px solid #efd28c;border-radius:12px;background:#fff4d6;color:#835b12;font-size:11px;font-weight:800}
@keyframes reviewReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){.weekly-review-metrics{grid-template-columns:repeat(2,1fr)}.weekly-review-actions{flex-direction:column}.weekly-review-shell{width:min(100% - 18px,980px);margin-top:18px}.weekly-review-hero{grid-template-columns:1fr}.weekly-review-counter{display:none}.weekly-review-sheet{border-radius:20px}.weekly-review-sheet:before{left:22px}.weekly-review-sheet-head,.weekly-review-content{padding-left:38px;padding-right:16px}.weekly-review-summary{padding:24px}.weekly-review-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.weekly-review-progress i,.weekly-review-actions button,.weekly-review-answer.revealed{transition:none;animation:none}}
html[data-motion="off"] .weekly-review-progress i,html[data-motion="off"] .weekly-review-actions button,html[data-motion="off"] .weekly-review-answer.revealed{transition:none;animation:none}
