/* Visual treatment follows the user's screenshot; all tokens are component-scoped. */
.exam-widget{--exam-paper:#f9f8f4;--exam-ink:#282d27;--exam-muted:#68715f;--exam-rule:#d7dacd;--exam-red:#ce4329;container-type:inline-size;width:100%;margin:0 0 26px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.exam-card{color:var(--exam-ink);background:var(--exam-paper);border:1px solid #cfd3c6;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 10px 26px -22px #222a20;min-width:0}
.exam-card a,.exam-card button{color:inherit;-webkit-tap-highlight-color:transparent}
.exam-card .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.exam-card a:focus-visible,.exam-card button:focus-visible{outline:2px solid var(--exam-red);outline-offset:-4px}
.exam-card svg:not(.exam-dot-number){width:20px;height:20px;stroke-width:1.6;flex:none}
.exam-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 32px 24px}
.exam-card-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--exam-muted);font-size:14px;letter-spacing:.04em}
.exam-card-eyebrow>i{width:8px;height:8px;background:var(--exam-red)}
.exam-card-eyebrow>span{margin-left:3px;font-size:11px;letter-spacing:.15em}
.exam-card .exam-card-name{margin:0;font-family:inherit;font-size:clamp(25px,4.5cqi,40px);line-height:1.3;font-weight:700;letter-spacing:.01em;overflow-wrap:anywhere}
.exam-card-tools{display:flex;align-items:center;gap:18px;flex:none}
.exam-card-status{display:flex;align-items:center;gap:6px;color:var(--exam-muted);font-size:12px;white-space:nowrap}
.exam-card-status:before{content:'';width:5px;height:5px;border-radius:50%;background:#768064}
.exam-settings-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--exam-rule);border-radius:50%;text-decoration:none}
.exam-settings-button:hover{background:#eeeee6}
.exam-card-main{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:28px;padding:0 16px 18px}
.exam-count-panel{display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:24px 26px 20px;border-radius:12px;background:#252e25;color:#bcc2ad}
.exam-count-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.exam-signal{height:18px;display:flex;align-items:flex-end;gap:3px;padding-right:6px}
.exam-signal i{width:3px;height:7px;background:#d6997f}
.exam-signal i:nth-child(2){height:11px}.exam-signal i:nth-child(3){height:15px}
.exam-count-value{display:flex;align-items:flex-end;gap:14px;margin:24px 0;min-width:0}
.exam-card .exam-dot-number{display:block;width:min(100%,290px);height:auto;min-width:0;flex:0 1 auto;max-height:180px;stroke:none}
.exam-dot-number .lit{fill:#f1f2d6}.exam-dot-number .dim{fill:#354034}
.exam-count-value>span:not(.sr-only){font-size:18px;line-height:1;padding-bottom:5px}
.exam-count-foot{border-top:1px solid #4b5544;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.exam-count-foot>span:first-child{font-size:11px;letter-spacing:.18em}
.exam-calendar{min-width:0;padding:0 12px 0 0;display:flex;flex-direction:column;justify-content:space-between}
.exam-calendar-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 14px;color:#62695b;font-size:14px}
.exam-calendar-heading strong{font-weight:500;color:var(--exam-ink);font-size:32px;margin-right:4px;letter-spacing:-.04em}
.exam-calendar-heading small{font-size:12px;letter-spacing:.05em}.exam-month-name{font-size:11px;letter-spacing:.12em;color:var(--exam-muted)}
.exam-calendar-weekdays,.exam-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-variant-numeric:tabular-nums}
.exam-calendar-weekdays{padding-bottom:9px;border-bottom:1px solid var(--exam-rule);font-size:12px;color:var(--exam-muted)}
.exam-calendar-grid{padding-top:8px;gap:2px 0}
.exam-day{display:grid;place-items:center;justify-self:center;width:36px;height:36px;max-width:100%;font-size:14px;color:#5c6655;border-radius:50%;line-height:1}
.exam-day.outside{color:#68725c}.exam-day.selected{background:var(--exam-red);color:#fff;font-weight:700}.exam-day.today:not(.selected){outline:1px solid #8c967c;outline-offset:-2px}
.exam-calendar-legend{display:flex;gap:6px;align-items:center;margin:12px 0 0;color:var(--exam-muted);font-size:12px}
.exam-calendar-legend i{width:5px;height:5px;background:var(--exam-red);border-radius:50%}
.exam-card-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px dashed #cbd0bf;padding:22px 32px}
.exam-card-foot:before,.exam-card-foot:after{content:'';position:absolute;top:-7px;width:7px;height:14px;background:var(--surface-2);border:1px solid #cfd3c6}
.exam-card-foot:before{left:0;border-left:0;border-radius:0 8px 8px 0}.exam-card-foot:after{right:0;border-right:0;border-radius:8px 0 0 8px}
.exam-date-line{display:flex;gap:13px;align-items:center;min-width:0}
.exam-date-icon{display:grid;place-items:center;width:36px;height:38px;flex:none;background:#f5eee3;color:var(--exam-red);border:1px solid #e6d4c0;border-radius:6px}
.exam-date-line time{font-size:18px;color:#515d48;letter-spacing:.03em;white-space:nowrap}
.exam-date-line small{display:block;color:var(--exam-muted);font-size:12px;margin-top:5px}
.exam-view-button{display:flex;align-items:center;justify-content:center;gap:18px;min-height:46px;border:1px solid #d6dccb;border-radius:8px;background:#e9edde;padding:0 16px;font-size:14px;white-space:nowrap;text-decoration:none}
.exam-view-button:hover{background:#dee5d0}
.exam-card-pager{display:flex;align-items:center;justify-content:center;gap:16px;border-top:1px solid var(--exam-rule);font-size:11px;color:var(--exam-muted)}
.exam-card-pager button{min-width:44px;min-height:44px;border:0;background:none;cursor:pointer;font-size:18px}.exam-card-pager button:hover{background:#eeeee6}
.exam-card{touch-action:pan-y pinch-zoom}
.exam-card-pager{gap:10px;padding:0 8px;flex-wrap:wrap}
.exam-card-pager .exam-autoplay-button{font-size:12px;padding:0 10px;color:var(--exam-muted)}
.exam-target-row.is-highlighted{outline:2px solid var(--accent);outline-offset:2px;scroll-margin-block:100px}
@container (max-width:600px){
  .exam-card{border-radius:14px}.exam-card-head{padding:20px;gap:12px}.exam-card-eyebrow{font-size:12px}.exam-card-eyebrow>span{display:none}.exam-card-tools{gap:8px}.exam-settings-button{width:44px;height:44px}
  .exam-card-main{grid-template-columns:1fr;padding:0 16px 18px;gap:22px}.exam-count-panel{padding:20px}.exam-count-value{margin:20px 0}.exam-card .exam-dot-number{max-height:150px;width:100%}.exam-calendar{padding:0 4px}.exam-calendar-grid{gap:3px 0}.exam-day{width:32px;height:32px}.exam-calendar-heading{margin-bottom:12px}
  .exam-card-foot{padding:18px;gap:10px}.exam-date-line{gap:9px}.exam-date-line time{font-size:14px}.exam-date-line small{font-size:12px}.exam-view-button{gap:8px;padding:0 10px;font-size:12px}.exam-date-icon{width:30px;height:34px}
}
@container (max-width:350px){.exam-card-status{font-size:11px}.exam-card-head{padding:18px 16px}.exam-card-tools{gap:5px}.exam-card .exam-card-name{font-size:24px}.exam-date-icon{display:none}.exam-count-value{gap:10px}.exam-count-foot{font-size:12px}}

/* Recompose the desktop card at its own container width; never scale text. */
.exam-widget--compact{margin:0}
.exam-widget--compact .exam-card{border-radius:12px;box-shadow:0 2px 7px #222a2005}
.exam-widget--compact .exam-card-eyebrow>span{display:inline;font-size:11px;letter-spacing:0}
@container (min-width:390px){
 .exam-widget--compact .exam-card-head{padding:12px 16px 9px;gap:10px}
 .exam-widget--compact .exam-card-eyebrow{font-size:11px;gap:7px;margin-bottom:7px;letter-spacing:0}
 .exam-widget--compact .exam-card-name{font-size:22px;line-height:1.25}
 .exam-widget--compact .exam-card-tools{gap:9px}.exam-widget--compact .exam-card-status{font-size:11px}
 .exam-widget--compact .exam-settings-button{width:36px;height:36px}
 .exam-widget--compact .exam-card-main{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;padding:0 12px 10px}
 .exam-widget--compact .exam-count-panel{padding:14px;border-radius:8px}
 .exam-widget--compact .exam-count-label{font-size:11px;gap:5px}.exam-widget--compact .exam-signal{display:none}
 .exam-widget--compact .exam-count-value{margin:14px 0;gap:7px}.exam-widget--compact .exam-count-value>span:not(.sr-only){font-size:14px}
 .exam-widget--compact .exam-dot-number{max-height:90px;width:100%}
 .exam-widget--compact .exam-count-foot{font-size:12px;padding-top:10px;justify-content:flex-end}.exam-widget--compact .exam-count-foot>span:first-child{display:none}
 .exam-widget--compact .exam-calendar{padding:0}.exam-widget--compact .exam-calendar-heading{margin:0 0 5px;font-size:12px}
 .exam-widget--compact .exam-calendar-heading strong{font-size:20px}.exam-widget--compact .exam-calendar-heading small{font-size:11px}
 .exam-widget--compact .exam-month-name,.exam-widget--compact .exam-calendar-legend{display:none}
 .exam-widget--compact .exam-calendar-weekdays{font-size:11px;padding-bottom:6px}
 .exam-widget--compact .exam-calendar-grid{padding-top:5px;gap:1px 0}.exam-widget--compact .exam-day{width:20px;height:20px;font-size:12px}
 .exam-widget--compact .exam-card-foot{padding:8px 14px;gap:10px}.exam-widget--compact .exam-date-line{gap:8px}
 .exam-widget--compact .exam-date-line time{font-size:12px;letter-spacing:0}.exam-widget--compact .exam-date-line small{display:none}
 .exam-widget--compact .exam-date-icon{width:27px;height:29px}.exam-widget--compact .exam-date-icon svg{width:16px;height:16px}
 .exam-widget--compact .exam-view-button{padding:0 10px;min-height:38px;gap:8px;font-size:12px}.exam-widget--compact .exam-view-button svg{width:16px;height:16px}
}
@container (max-width:389px){
 .exam-widget--compact .exam-card-head{padding:14px 16px;gap:10px}
 .exam-widget--compact .exam-card-name{font-size:24px}.exam-widget--compact .exam-card-eyebrow{font-size:11px;margin-bottom:6px}
 .exam-widget--compact .exam-card-main{gap:16px;padding:0 12px 14px}
 .exam-widget--compact .exam-count-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:16px;border-radius:8px;align-items:center}
 .exam-widget--compact .exam-count-label{font-size:12px}.exam-widget--compact .exam-signal{display:none}
 .exam-widget--compact .exam-count-value{grid-area:1/2/3/3;margin:0;gap:6px}
 .exam-widget--compact .exam-dot-number{max-height:68px;width:110px}
 .exam-widget--compact .exam-count-value>span:not(.sr-only){font-size:14px}
 .exam-widget--compact .exam-count-foot{border:0;padding:0;justify-content:flex-start;font-size:12px}
 .exam-widget--compact .exam-count-foot>span:first-child{display:none}
 .exam-widget--compact .exam-calendar-heading{margin-bottom:9px;font-size:12px}.exam-widget--compact .exam-calendar-heading strong{font-size:24px}
 .exam-widget--compact .exam-calendar-weekdays{padding-bottom:6px;font-size:12px}
 .exam-widget--compact .exam-calendar-grid{padding-top:6px;gap:1px 0}.exam-widget--compact .exam-day{width:27px;height:27px;font-size:12px}
 .exam-widget--compact .exam-calendar-legend{display:none}
 .exam-widget--compact .exam-card-foot{padding:12px;gap:8px}.exam-widget--compact .exam-date-line time{font-size:12px}
 .exam-widget--compact .exam-date-line small{font-size:11px}.exam-widget--compact .exam-view-button{min-height:44px}
}
