.exam-clock-launch{position:fixed;right:22px;bottom:22px;z-index:1450;width:58px;height:58px;border:0;border-radius:50%;background:linear-gradient(145deg,#3e5fc7,#223e98);color:#fff;font-size:25px;cursor:pointer;box-shadow:0 14px 35px rgba(34,59,132,.35);transition:transform .2s ease,box-shadow .2s ease}
.exam-clock-launch:hover{transform:translateY(-3px) rotate(-5deg);box-shadow:0 19px 42px rgba(34,59,132,.42)}
.exam-clock-launch.is-running{background:linear-gradient(145deg,#243960,#162745)}
.exam-clock{position:fixed;right:20px;bottom:88px;z-index:1440;width:min(340px,calc(100vw - 24px));padding:16px;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:rgba(250,252,255,.94);box-shadow:0 24px 70px rgba(25,39,78,.24);backdrop-filter:blur(14px);font-family:"Songti SC","SimSun",serif;transform:translateY(14px) scale(.96);opacity:0;pointer-events:none;transition:.25s ease}
.exam-clock.is-open{transform:none;opacity:1;pointer-events:auto}
.exam-clock-head{display:flex;align-items:center;gap:12px}.exam-clock-face{flex:1}.exam-clock-label{margin:0 0 3px;color:#71809d;font:700 11px/1.2 "Times New Roman",serif;letter-spacing:.14em;text-transform:uppercase}.exam-clock-time{font:900 36px/1 "Times New Roman",serif;color:#17233f;font-variant-numeric:tabular-nums}.exam-clock-pet{width:62px;height:72px;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(36,50,83,.15));animation:clock-pet-breathe 3.2s ease-in-out infinite}.exam-clock-message{position:relative;margin:13px 0 11px;padding:10px 12px;border-radius:14px;background:#edf3ff;color:#344664;font-weight:700;font-size:13px;line-height:1.55}.exam-clock-message:after{content:"";position:absolute;right:28px;top:-7px;border-width:0 7px 8px;border-style:solid;border-color:transparent transparent #edf3ff}.exam-clock-progress{height:7px;border-radius:99px;background:#e4e9f2;overflow:hidden}.exam-clock-progress>i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4566d1,#ee806c);transform-origin:left center;transition:transform .5s linear}.exam-clock-actions{display:flex;gap:8px;margin-top:12px}.exam-clock-actions button{flex:1;border:1px solid #d7deeb;border-radius:10px;background:#fff;color:#46536c;padding:8px;cursor:pointer;font-weight:700}.exam-clock-actions button:hover{background:#f2f5fb}.exam-clock-actions .clock-reset{color:#a2493c}
.clock-test{margin-top:12px;border-top:1px dashed #d5dcea;padding-top:10px}.clock-test summary{list-style:none;cursor:pointer;color:#3d56a4;font:800 12px/1.4 "Songti SC","SimSun",serif;letter-spacing:.03em}.clock-test summary::-webkit-details-marker{display:none}.clock-test summary:after{content:"＋";float:right;color:#7e8ba5}.clock-test[open] summary:after{content:"－"}.clock-test p{margin:7px 0 8px;color:#8993a7;font:12px/1.45 "Songti SC","SimSun",serif}.clock-test-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.clock-test-grid button{border:1px solid #f0c2b8;border-radius:10px;background:#fff7f4;color:#a24838;padding:7px 6px;cursor:pointer;font:800 12px/1.3 "Songti SC","SimSun",serif;transition:.18s ease}.clock-test-grid button:hover{transform:translateY(-1px);background:#ffe9e2;box-shadow:0 6px 13px rgba(191,76,54,.12)}
.time-warning{position:fixed;inset:14% 12% auto;z-index:1900;display:grid;place-items:center;text-align:center;padding:28px 18px;border:4px solid #f44336;border-radius:28px;background:rgba(134,11,10,.93);color:#fff;box-shadow:0 0 0 10px rgba(244,67,54,.13),0 30px 90px rgba(95,5,5,.42);opacity:0;pointer-events:none;transform:scale(.8);font-family:"Songti SC","SimSun",serif}.time-warning.show{animation:time-warning-in 5.2s ease both}.time-warning strong{font-size:clamp(34px,8vw,82px);letter-spacing:.08em}.time-warning span{font-size:clamp(15px,2.6vw,23px);margin-top:6px}.time-warning.critical{background:rgba(105,4,5,.96);animation-duration:7s}
@keyframes time-warning-in{0%{opacity:0;transform:scale(.78)}8%,72%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1.015);box-shadow:0 0 0 22px rgba(244,67,54,.05),0 30px 90px rgba(95,5,5,.42)}100%{opacity:0;transform:scale(.96)}}
@keyframes clock-pet-breathe{50%{transform:translateY(-4px) rotate(1.5deg)}}
@media(max-width:620px){.exam-clock-launch{right:12px;bottom:12px;width:52px;height:52px}.exam-clock{right:12px;bottom:72px}.time-warning{inset:18% 14px auto}.exam-clock-time{font-size:32px}}
@media(prefers-reduced-motion:reduce){.exam-clock-pet{animation:none}.time-warning.show{animation:time-warning-fade 4s ease both}@keyframes time-warning-fade{10%,80%{opacity:1;transform:none}0%,100%{opacity:0;transform:none}}}
@media print{.exam-clock-launch,.exam-clock,.time-warning{display:none!important}}
