.exam-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;margin-top:25px;border:1px solid #e7d8c0;border-radius:20px;background:#f7ebd9;padding:19px 23px;box-shadow:0 4px 0 #eee4d4}
.exam-label{display:flex;align-items:center;gap:13px}.exam-flower{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#f0dbc0;color:#ac8250;font-size:27px;flex:none;transform:rotate(-8deg)}.exam-label p{font-size:10px;color:#8c7758;margin-bottom:7px}.exam-label h2{font-size:14px;letter-spacing:.01em;line-height:1.7;color:#6f6048;font-weight:550}.exam-label time{margin-left:10px;white-space:nowrap}.exam-countdown{font-size:12px;color:#8a6a49;white-space:nowrap}.exam-countdown strong{font-size:34px;color:#9c6c43;padding:0 6px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.2}.exam-finished{font-size:13px;color:#896c4e}.exam-details{position:relative;flex:none;font-size:9px;color:#8a785d}.exam-details summary{cursor:pointer;padding:10px 0;text-underline-offset:4px;text-decoration:underline}.exam-details>div{position:absolute;right:0;top:37px;z-index:6;background:#fffdf7;border:1px solid #e6dac5;padding:17px;border-radius:15px;box-shadow:0 6px 25px #76634620;width:290px;line-height:2.1;font-size:11px}.exam-details small{display:block;color:#9b8e77;font-size:9px;margin-top:7px}.exam-details a{display:inline-block;color:var(--green);margin-top:7px;text-underline-offset:4px}.progress-ring{border:0;display:block;font:inherit;cursor:pointer;box-shadow:0 3px 0 #e7e3d5}.progress-card>p{line-height:1.7;max-width:150px}.view-tabs{display:flex;gap:6px;align-items:center;width:max-content;background:#eeeade;border:1px solid #e3decf;border-radius:17px;padding:5px;margin-bottom:26px}.view-tabs button{border:0;background:transparent;color:#8d897b;padding:13px 24px;border-radius:12px;font-size:12px;font-weight:550;min-height:44px;line-height:1.5}.view-tabs button>span{margin-right:5px;font-size:15px;vertical-align:-1px}.view-tabs button[aria-pressed=true]{background:#fffefa;color:var(--green);box-shadow:0 2px 4px #a79f8a15}.view-tabs button:disabled{cursor:wait}.history-view{padding-top:5px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.history-heading h2{font-size:26px;letter-spacing:.07em;margin:8px 0 11px;color:#526b4f}.history-heading>div>p:last-child{font-size:11px;color:#8b8c7b}.total-card{flex:none;min-width:177px;text-align:center;background:#f0e5dc;border:1px solid #e6d8ca;border-radius:19px;padding:17px 24px;box-shadow:0 4px 0 #e9ddcf66}.total-card>span{font-size:10px;color:#977e68}.total-card p{font-size:13px;color:#856a50;margin-top:6px}.total-card strong{font-size:32px;color:#97744d;padding-right:5px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:25px;align-items:start}.calendar-card,.day-records{background:#fffefa;border:1px solid #e8e1d3;box-shadow:0 6px 0 #ece5d866;border-radius:25px;padding:25px}.month-navigation{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:23px}.month-navigation h3{font-size:19px;letter-spacing:.05em;color:#57734f;font-weight:550}.month-navigation>div{display:flex;gap:6px;align-items:center}.month-navigation button{min-width:38px;height:40px;background:#f8f4e9;border:1px solid #e8e1d0;border-radius:11px;color:#83785d;font-size:24px;line-height:1}.month-navigation #calendar-today{font-size:11px;padding:0 13px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.weekdays{text-align:center;margin-bottom:11px;font-size:10px;color:#8a8e7b}.weekdays span:first-child{color:#b17d7c}.weekdays span:last-child{color:#8298b1}.calendar-day,.calendar-blank{min-height:64px;min-width:0}.calendar-day{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;background:#f8f6ef;border:1px solid #eeeade;border-radius:13px;color:#7c8171;padding:8px 2px;font-size:12px}.calendar-day .day-number{font-variant-numeric:tabular-nums}.calendar-day .practice-count{display:block;min-width:22px;font-size:9px;line-height:1.7;padding:0 4px;color:#a9ab9a}.calendar-day.has-practice{background:#e9f0df;border-color:#d8e4ca;color:#5e7951}.calendar-day.has-practice .practice-count{background:#ccdbbb;color:#4f6b40;border-radius:7px;font-weight:600}.calendar-day.today .day-number{display:grid;place-items:center;background:#f0d3b9;color:#875d38;border-radius:50%;height:24px;width:24px;margin:-4px 0 -1px}.calendar-day[aria-pressed=true]{outline:2px solid #85a276;outline-offset:1px;background:#eef4e6;border-color:#a7bd96}.calendar-day.exam-day{background:#f8e5e4;border-color:#edccca}.calendar-day .exam-marker{font-size:8px;color:#aa746d;line-height:1.5}.calendar-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;color:#9a9b88;font-size:9px;margin-top:19px}.calendar-legend>span:first-child{display:flex;align-items:center;gap:5px}.calendar-legend i{width:9px;height:9px;background:#d8e5cb;border-radius:3px}.legacy-button{display:block;text-align:left;border:1px dashed #ded2c4;border-radius:11px;padding:11px 13px;margin-top:17px;background:#fbf5ed;color:#8f7b65;width:100%;font-size:10px;line-height:1.8}.legacy-button[aria-pressed=true]{border-style:solid;background:#f3e6d7}.day-records{min-height:293px}.day-records-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px dashed #e7e1d2;padding-bottom:18px}.day-records h3{font-size:17px;margin-top:8px;color:#617851;line-height:1.8}.day-count{font-size:11px;color:#81936d;border-radius:20px;background:#eaf0e1;padding:8px 13px;white-space:nowrap}.history-empty{text-align:center;color:#9d9d88;font-size:12px;line-height:2.1;padding:51px 5px 31px}.history-empty:before{content:'✿';display:block;font-size:30px;color:#d6c7a5;margin-bottom:12px}.legacy-explanation{color:#95846e;font-size:10px;line-height:2;background:#faf4e8;padding:12px;border-radius:10px;margin-top:17px}.record-list{list-style:none;padding:0;margin:0}.record-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #f0ecdf;padding:17px 0}.record-row:last-child{border-bottom:0}.record-topic{font-size:15px;font-weight:550;color:#687c59;line-height:1.8;overflow-wrap:anywhere}.record-time{display:block;font-size:10px;font-weight:400;color:#a3a28d;margin-top:3px}.delete-record{display:flex;align-items:center;gap:5px;justify-content:center;font-size:10px;padding:11px 13px;border-radius:12px;border:1px solid #e5d5cf;background:#fbefea;color:#a17c70;min-height:42px;flex:none}.delete-record svg{width:13px;height:15px}.undo-panel{display:flex;align-items:center;justify-content:space-between;gap:9px;background:#f6ebda;border:1px solid #e8d8be;border-radius:12px;padding:11px 12px;margin-top:13px;font-size:10px;color:#8d7b5d}.undo-panel button{border:0;background:none;color:#677c51;font-size:11px;padding:5px;white-space:nowrap}.undo-panel #dismiss-undo{font-size:18px;color:#a49884}.history-help{font-size:10px;line-height:2;color:#989c88;margin:24px 3px 0}.history-heading+.calendar-layout{scroll-margin-top:20px}.record-save-status{font-size:10px;color:#8e987e}
@media(max-width:850px){.exam-banner{gap:12px;padding:17px}.exam-label{gap:9px}.exam-flower{width:32px;height:35px;font-size:25px}.exam-label h2{font-size:12px}.exam-label p{font-size:9px}.exam-label time{display:block;margin:0}.exam-countdown strong{font-size:29px}.calendar-layout{gap:18px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.calendar-card,.day-records{padding:20px}.weekdays,.calendar-grid{gap:5px}.calendar-day,.calendar-blank{min-height:56px}.calendar-day{border-radius:10px}.month-navigation h3{font-size:16px}.month-navigation button{min-width:32px;height:37px}.month-navigation #calendar-today{padding:0 10px}.history-heading h2{font-size:23px}.day-records h3{font-size:15px}.record-row{gap:8px}.delete-record{padding:10px}.record-topic{font-size:13px}}
@media(max-width:640px){.exam-banner{margin-top:19px;border-radius:17px;display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 14px}.exam-label{gap:8px}.exam-flower{width:25px;height:30px;font-size:23px;border-radius:9px}.exam-label p{font-size:8px;line-height:1.7;margin-bottom:4px}.exam-label h2{font-size:10px;line-height:1.7}.exam-label time{font-size:12px;letter-spacing:.02em}.exam-countdown{font-size:9px;text-align:center;line-height:1.9}.exam-countdown strong{font-size:29px;padding:0 3px}.exam-details{grid-column:1/-1;font-size:8px;text-align:right;margin-top:-6px}.exam-details summary{padding:0}.exam-details>div{top:18px;font-size:10px;text-align:left;max-width:calc(100vw - 65px)}.intro{min-height:236px;padding-top:24px;padding-bottom:24px}.progress-card>p{max-width:105px;font-size:8px}.view-tabs{width:100%;margin-bottom:22px;border-radius:15px;gap:3px;padding:4px}.view-tabs button{flex:1;padding:10px 8px;font-size:11px;min-height:44px;border-radius:11px}.view-tabs button>span{font-size:15px;margin-right:3px}.history-heading{gap:10px;margin-bottom:20px}.history-heading .eyebrow{font-size:8px}.history-heading h2{font-size:19px;margin-top:9px;letter-spacing:.03em}.history-heading>div>p:last-child{font-size:9px;line-height:1.8}.total-card{min-width:117px;padding:13px 12px;border-radius:16px}.total-card>span{font-size:8px}.total-card p{font-size:10px;margin-top:7px}.total-card strong{font-size:28px;padding-right:2px}.calendar-layout{grid-template-columns:minmax(0,1fr);gap:20px}.calendar-card,.day-records{padding:19px 15px;border-radius:21px}.month-navigation{margin-bottom:19px}.month-navigation h3{font-size:18px}.month-navigation button{min-width:36px;height:39px}.month-navigation #calendar-today{font-size:11px;padding:0 13px}.weekdays,.calendar-grid{gap:6px}.weekdays{font-size:10px;margin-bottom:10px}.calendar-day,.calendar-blank{min-height:56px}.calendar-day{font-size:12px;padding:7px 2px;gap:4px;border-radius:11px}.calendar-day .practice-count{font-size:8px;min-width:20px}.calendar-legend{font-size:8px;gap:8px;margin-top:18px}.calendar-day .exam-marker{font-size:7px}.day-records{min-height:230px;padding:21px 18px}.day-records-heading{padding-bottom:16px}.day-records h3{font-size:16px}.day-count{font-size:10px;padding:8px 12px}.history-empty{font-size:11px;padding:29px 5px 20px}.record-topic{font-size:14px}.record-time{font-size:10px}.delete-record{font-size:10px;min-height:44px;padding:11px 14px}.history-help{font-size:9px;line-height:2.1;margin-top:20px}.legacy-button{font-size:9px}.undo-panel{font-size:9px;gap:5px;padding:10px}.undo-panel button{font-size:10px}.question-button small{word-break:keep-all}}
