@layer components{.sh-boot{min-height:100svh;background:var(--sh-frame)}.sh-top-end{margin-left:auto;display:flex;align-items:center;gap:8px}@media (max-width:767px){.sh-top-end{display:none}}.sh-switch .nm{display:grid;gap:1px;text-align:left}.sh-switch .nm b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-switch .nm small{font-size:12px;line-height:1.2;color:var(--ui-ink-3)}.sh-nav a .n{margin-left:auto}.onb-card{width:560px;justify-items:stretch}.onb-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:48px}.onb-top .status-lock{margin:0}.onb-tools{display:flex;align-items:center;gap:4px}.onb-me{font-weight:500;color:var(--ui-ink);overflow-wrap:anywhere}.onb-grades{display:grid;gap:16px;margin:28px 0 0;padding:0;border:0}.onb-choices,.onb-row{display:grid;gap:8px}.onb-choices{grid-template-columns:repeat(6,minmax(0,1fr))}.onb-name{margin-top:24px}.onb-foot{margin:24px 0 0;font-size:14px;color:var(--ui-ink-3)}@media (max-width:639px){.onb-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.onb-top{margin-bottom:40px}}.pick{height:44px;padding:0 12px;border:0;border-radius:8px;background:var(--ui-surface);box-shadow:inset 0 0 0 1px var(--ui-rule-strong);font:500 15px/1 var(--ui-font);color:var(--ui-ink);cursor:pointer;outline:none;transition:background-color .15s var(--ease-out),box-shadow .15s var(--ease-out),color .15s var(--ease-out),scale .15s var(--ease-snap)}.pick:hover:not(:disabled){background:var(--ui-out-hover);box-shadow:inset 0 0 0 1px var(--ui-edge-hover)}.pick:active:not(:disabled){scale:.977}.pick.on{background:var(--ui-wash);color:var(--ui-blue-ink);box-shadow:inset 0 0 0 1px var(--ui-blue)}.pick:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-focus),0 0 0 4px var(--ui-halo)}.pick:disabled{background:var(--ui-off);color:var(--ui-off-ink);box-shadow:none;cursor:default}.dash{display:grid;gap:24px}.dash .page-head{margin-bottom:0}.dash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat .fig small{font-size:.56em;font-weight:500;color:var(--ui-ink-3);letter-spacing:0}@media (max-width:767px){.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}.route{list-style:none;margin:0;padding:20px 20px 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.rstep{position:relative;display:grid;align-content:start;gap:2px}.rstep:not(:last-child):after{content:"";position:absolute;left:44px;right:-12px;top:15px;height:2px;border-radius:1px;background:var(--ui-rule)}.rstep.done:not(:last-child):after{background:var(--ui-blue)}.rdot{display:grid;place-items:center;width:32px;height:32px;margin-bottom:12px;border-radius:8px;background:var(--ui-surface);box-shadow:inset 0 0 0 1px var(--ui-rule-strong);font:600 16px/1 var(--ui-num);color:var(--ui-ink-3)}.rstep.done .rdot{background:var(--ui-blue);box-shadow:none;color:#fff}.rstep.now .rdot{background:var(--ui-wash);box-shadow:inset 0 0 0 2px var(--ui-blue);color:var(--ui-blue-ink)}.rstep-t{font-size:15px;font-weight:600;line-height:1.4;color:var(--ui-ink);text-decoration:none;border-radius:4px}.rstep-t:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.rstep-s,.rstep.done .rstep-t{color:var(--ui-ink-3)}.rstep-s{font-size:13px;line-height:1.45}.rstep-go{justify-self:start;margin-top:14px}@media (max-width:767px){.route{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.rstep{grid-template-columns:32px minmax(0,1fr);column-gap:12px}.rstep>:not(.rdot){grid-column:2}.rdot{grid-row:span 3;margin:0}.rstep:not(:last-child):after{left:15px;right:auto;top:38px;bottom:-14px;width:2px;height:auto}}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--ui-ink-3)}.legend li{display:flex;align-items:center;gap:6px}.legend i{width:12px;height:12px;border-radius:3px}.legend .k-new{background:var(--ui-fill);box-shadow:inset 0 0 0 1px var(--ui-rule)}.legend .k-grow{background:color-mix(in oklab,var(--ch-part) 60%,var(--ui-wash))}.legend .k-lit{background:var(--ui-blue)}.legend .k-due{width:8px;height:8px;margin:0 2px;border-radius:2px;background:var(--ui-wait)}@media (max-width:767px){.map-panel .panel-head{flex-wrap:wrap;height:auto;padding-block:12px;gap:8px}}.map{position:relative;grid-auto-flow:column;grid-auto-columns:minmax(124px,1fr);gap:12px;padding:20px;overflow-x:auto;scroll-padding-inline:20px;scrollbar-width:thin}.map,.mcol{display:grid}.mcol{align-content:start;gap:6px}.mcol-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:4px;padding-bottom:8px;border-bottom:2px solid var(--ui-ink)}.mcol-head a{font-weight:600;color:var(--ui-ink);text-decoration:none;border-radius:4px}.mcol-head a:hover{color:var(--ui-link)}.mcol-head span{font:600 14px/1 var(--ui-num);font-variant-numeric:tabular-nums;color:var(--ui-ink-3)}.mcol.mine .mcol-head{border-color:var(--ui-blue)}.mcol.mine .mcol-head a{color:var(--ui-blue-ink)}[data-theme=dark] .mcol.mine .mcol-head a{color:var(--ui-pick)}.mcell{position:relative;display:grid;align-content:space-between;gap:6px;min-height:64px;padding:8px 10px 9px;border-radius:6px;font-size:13px;font-weight:500;line-height:1.35;color:var(--ui-ink);text-decoration:none;outline:none;transition:background-color .6s var(--ease-out),box-shadow .15s var(--ease-out),color .3s var(--ease-out)}.mcell:hover{box-shadow:inset 0 0 0 1px var(--ui-blue)}.mcell:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-focus),0 0 0 4px var(--ui-halo)}.mcell.lit{color:#fff}.mcell .pct{font:600 13px/1 var(--ui-num);font-variant-numeric:tabular-nums;color:var(--ui-ink-3)}.mcell.lit .pct{color:rgb(255 255 255/.78)}.mcell.cur{box-shadow:inset 0 0 0 2px var(--ui-blue)}.mcell.cur:after{content:attr(data-cur);position:absolute;top:-8px;right:6px;padding:2px 6px;border-radius:4px;background:var(--ui-blue);font:600 11px/1.3 var(--ui-font);color:#fff}.mcell .due{position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:2px;background:var(--ui-wait)}.mcell.lit .due{background:#f0b44c}.mcell.pulse{animation:cell-lit .9s var(--ease-snap) both}@keyframes cell-lit{40%{scale:1.06}}.map.fade-r{mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}.map.fade-l{mask-image:linear-gradient(270deg,#000 calc(100% - 40px),transparent)}.map.fade-l.fade-r{mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}}@media (prefers-reduced-motion:reduce){.mcell.pulse{animation:none}}@layer components{.bi .bi-en,.bi .bi-zh{display:block}.bi .bi-zh{margin-top:.15em;font-size:.88em;font-weight:400;color:var(--ui-ink-2)}.qprompt.bi .bi-zh{margin-top:.5em;padding-left:12px;box-shadow:inset 2px 0 0 var(--ui-rule)}.topic{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.topic .page-head{margin-bottom:0}.topic-mastery{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:end;column-gap:10px;row-gap:8px;min-width:168px}.topic-mastery .figure{font-size:32px;line-height:1;letter-spacing:-.01em}.topic-mastery .figure small{font-size:.5em;color:var(--ui-ink-3)}.topic-mastery .pbar{grid-column:1/-1}.pbar{display:block;height:6px;min-width:80px;border-radius:3px;background:var(--ui-fill-2);overflow:hidden}.pbar>span{display:block;height:100%;border-radius:inherit;background:var(--ui-blue);transition:width .6s var(--ease-out)}.topic-tabs{margin-top:-4px}.lesson-wrap{display:grid;grid-template-columns:minmax(0,720px) 280px;justify-content:space-between;gap:48px;align-items:start}.lesson{display:grid;gap:20px;font-size:17px;line-height:1.7;min-width:0}.lesson .lb-text{margin:0}.goals{padding:16px 20px 18px;border-radius:12px;background:var(--ui-fill)}.goals h2{margin:0 0 10px}.goals ul{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:15px;line-height:1.55}.goals li{display:flex;gap:10px;align-items:baseline}.goals li .ic{flex:none;width:16px;height:16px;color:var(--ui-blue);translate:0 3px}.lb-key{padding:16px 20px 18px;border-radius:12px;background:var(--ui-wash-1);box-shadow:inset 3px 0 0 var(--ui-blue)}.lb-key-title{margin-bottom:8px;color:var(--ui-blue-ink)}[data-theme=dark] .lb-key-title{color:var(--ui-pick)}.lb-pitfall{font-size:15px}.lb-figure{margin:0;display:grid;gap:10px;justify-items:center}.lb-figure figcaption{font-size:15px;color:var(--ui-ink-3)}.lb-example{border-radius:12px;box-shadow:inset 0 0 0 1px var(--ui-rule);overflow:hidden}.lb-example-title{padding:14px 20px 0}.lb-example-body{display:grid;gap:12px;padding:8px 20px 20px}.lb-example-q{font-weight:500}.msteps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:step}.msteps>li{position:relative;padding-left:34px;counter-increment:step}.msteps>li:before{content:counter(step);position:absolute;left:0;top:.15em;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--ui-wash);font:600 14px/1 var(--ui-num);color:var(--ui-blue-ink)}[data-theme=dark] .msteps>li:before{color:var(--ui-pick)}.step-in{animation:m-rise6 .3s var(--ease-out) both}.ex-acts{display:flex;gap:8px}.lesson-end{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:12px;padding-top:24px;border-top:1px solid var(--ui-rule)}.lesson-aside{position:sticky;top:20px;display:grid;gap:12px}.terms-card>summary{list-style:none;cursor:pointer}.terms-card>summary::-webkit-details-marker{display:none}.terms-card .sum-chev{width:16px;height:16px;color:var(--ui-ink-3);transition:rotate .2s var(--ease-out)}.terms-card[open] .sum-chev{rotate:180deg}.terms{display:grid;margin:0;padding:6px 0}.term{display:flex;justify-content:space-between;gap:12px;padding:8px 20px;font-size:14px}.term+.term{border-top:1px solid var(--ui-rule)}.term dt{font-weight:500}.term dd{margin:0;color:var(--ui-ink-2);text-align:right}.aside-go{display:grid;gap:4px;padding:12px}.aside-go .btn{justify-content:flex-start}.aside-go .btn .mk{margin-left:auto}@media (max-width:1100px){.lesson-wrap{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-aside{position:static;grid-row:1}.aside-go{display:none}}@media (max-width:767px){.topic-mastery{min-width:0;justify-content:start}.lesson{font-size:16px}}.mfig{--f-ink:#0e0f11;--f-ink-2:#4a4f57;--f-ink-3:#676c75;--f-blue:#196db6;--f-shape:#e8f1fa;--f-shade:#cfe0f3;--f-shade-2:#b6cfeb;--f-mid:#7fb0de;--f-grid:#e3e5e8;box-sizing:border-box;display:block;width:100%;padding:20px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--ui-rule);color:var(--f-ink)}[data-theme=dark] .mfig{box-shadow:none}.mfig>svg{display:block;width:100%;height:auto;margin-inline:auto;overflow:visible}.fig-shape{fill:var(--f-shape);stroke:var(--f-ink);stroke-width:2;stroke-linejoin:round}.fig-shade{fill:var(--f-shade)}.fig-shade2{fill:var(--f-shade-2)}.fig-fill{fill:var(--f-mid)}.fig-cube{fill:var(--f-shape);stroke:var(--f-ink);stroke-width:1}.fig-line{stroke:var(--f-ink);stroke-width:2;fill:none}.fig-thin{stroke:var(--f-ink);stroke-width:1.3;fill:none}.fig-dash{stroke:var(--f-ink-2);stroke-width:1.5;stroke-dasharray:5 4;fill:none}.fig-grid{stroke:var(--f-grid);stroke-width:1}.fig-dot,.fig-solid{fill:var(--f-ink)}.fig-accent,.fig-accent-fill,.fig-bar{fill:var(--f-blue)}.fig-accent-stroke{stroke:var(--f-blue);stroke-width:2.5}.fig-label{font:600 15px var(--font-sans);fill:var(--f-ink)}.fig-small{font:400 12.5px var(--font-sans);fill:var(--f-ink-2)}.fig-tiny{font:400 10px var(--font-sans);fill:var(--f-ink-3)}.fig-dim{font-size:13px;fill:var(--f-ink-2)}.fig-italic{font-style:italic;font-family:Georgia,serif}.practice-bar{flex-wrap:wrap;justify-content:space-between;max-width:800px}.practice-bar,.session{display:flex;align-items:center;gap:12px}.session{color:var(--ui-ink-3)}.session .figure{font-size:20px;color:var(--ui-ink)}.session .figure small{font-size:.7em;color:var(--ui-ink-3)}.session-dots{display:flex;gap:4px}.session-dots i{width:14px;height:6px;border-radius:2px;background:var(--ui-fill-2);transition:background-color .3s var(--ease-out)}.session-dots i.ok{background:var(--ui-blue)}.session-dots i.bad{background:var(--ui-risk)}.practice-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;max-width:800px;font-size:13px;color:var(--ui-ink-3)}.qcard{position:relative;display:grid;gap:20px;max-width:800px;padding:24px 28px 28px;border-radius:12px;background:var(--ui-surface);box-shadow:inset 0 0 0 1px var(--ui-rule),0 1px 2px rgb(14 15 17/.04)}.qcard-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}.qcard-badge{font-family:var(--font-label);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-blue-ink)}[data-theme=dark] .qcard-badge{color:var(--ui-pick)}.qcard-tools{display:flex;gap:4px}.btn.is-on{border-color:var(--ui-blue);background:var(--ui-wash);color:var(--ui-blue-ink)}.qprompt{font-size:20px;line-height:1.7;color:var(--ui-ink);overflow-wrap:anywhere}.qanswer{display:grid;gap:12px}.qcard.is-scratch{padding-bottom:300px;box-shadow:inset 0 0 0 1px var(--ui-blue),0 0 0 4px var(--ui-halo)}.scratch{position:absolute;inset:0;z-index:5;width:100%;height:100%;border-radius:inherit;pointer-events:none;opacity:.5}.scratch.on{pointer-events:auto;touch-action:none;cursor:crosshair;opacity:1}.scratch-tools{position:sticky;z-index:6;bottom:16px;justify-self:center;display:flex;align-items:center;gap:4px;padding:6px;border-radius:12px;background:var(--ov-surface);box-shadow:var(--ov-shadow);animation:m-rise6 .2s var(--ease-out) both}.scratch-tools .sw{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer}.scratch-tools .sw:before{content:"";width:18px;height:18px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgb(255 255 255/.25)}.scratch-tools .sw:hover{background:var(--ui-fill)}.scratch-tools .sw.on{background:var(--ui-wash);box-shadow:inset 0 0 0 1px var(--ui-blue)}.scratch-tools .sw:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--ui-focus),0 0 0 4px var(--ui-halo)}.scratch-tools .sep{width:1px;height:20px;margin:0 4px;background:var(--ui-rule)}.scratch-tools .btn.primary{margin-left:4px}@media (max-width:767px){.scratch-tools{bottom:calc(76px + env(safe-area-inset-bottom))}}.choices{display:grid;gap:8px}.choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 14px 8px 8px;border:0;border-radius:8px;background:var(--ui-surface);box-shadow:inset 0 0 0 1px var(--ui-rule-strong);font:400 17px/1.5 var(--ui-font);color:var(--ui-ink);text-align:left;cursor:pointer;outline:none;transition:background-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.choice:hover:not(:disabled){background:var(--ui-out-hover);box-shadow:inset 0 0 0 1px var(--ui-edge-hover)}.choice:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-focus),0 0 0 4px var(--ui-halo)}.choice-key{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--ui-fill);font:600 16px/1 var(--ui-num);color:var(--ui-ink-2)}.choice-text{flex:1;min-width:0}.choice.picked{background:var(--ui-wash);box-shadow:inset 0 0 0 1px var(--ui-blue)}.choice.picked .choice-key{background:var(--ui-blue);color:#fff}.choice:disabled{cursor:default}.choice.right{background:var(--ui-done-tint);box-shadow:inset 0 0 0 1px var(--ui-done)}.choice.right .choice-key{background:var(--ui-done);color:#fff}.choice.wrong{background:var(--ui-risk-tint);box-shadow:inset 0 0 0 1px var(--ui-risk)}.choice.wrong .choice-key{background:var(--ui-risk);color:#fff}.choice-mark{flex:none;width:18px;height:18px;color:var(--ui-done)}.afield{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.afield input{box-sizing:border-box;width:220px;max-width:100%;height:48px;padding:0 14px;border:0;border-radius:8px;background:var(--ui-surface);box-shadow:inset 0 0 0 1px var(--ui-rule-strong);font:600 20px/1 var(--ui-font);font-variant-numeric:tabular-nums;color:var(--ui-ink);outline:none;transition:box-shadow .15s var(--ease-out)}.afield input::placeholder{font-size:15px;font-weight:400;color:var(--ui-ink-3)}.afield input:hover:not(:disabled,:focus){box-shadow:inset 0 0 0 1px var(--ui-ink-3)}.afield input:focus{box-shadow:inset 0 0 0 2px var(--ui-focus),0 0 0 4px var(--ui-halo)}.afield input:disabled{background:var(--ui-fill);color:var(--ui-ink)}.afield.st-wrong input{box-shadow:inset 0 0 0 2px var(--ui-risk),0 0 0 4px var(--ui-risk-halo)}.afield.st-correct input{background:var(--ui-done-tint);box-shadow:inset 0 0 0 1px var(--ui-done)}.afield-unit{font-size:17px;color:var(--ui-ink-2)}.afield-preview{font-size:17px;color:var(--ui-ink-3)}.afield-keys{display:flex;gap:4px}.kbtn{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:6px;background:var(--ui-fill);font:600 17px/1 var(--ui-num);color:var(--ui-ink-2);cursor:pointer;transition:background-color .15s var(--ease-out)}.kbtn:hover{background:var(--ui-fill-2);color:var(--ui-ink)}.multi{display:grid;gap:10px}.multi-row{display:grid;gap:6px}.multi-label{font-size:15px;color:var(--ui-ink-2)}.qcard .fb{margin:0;font-size:16px;line-height:1.6}.qcard .fb .fb-body{margin-top:4px}.fb-tick path{stroke-dasharray:60;animation:ui-draw .3s var(--ease-out) both}.qcard.is-correct{animation:q-right .5s var(--ease-snap)}@keyframes q-right{30%{scale:1.006}}.hints{display:grid;gap:8px;margin:0;padding:0;list-style:none}.hints .notice,.solution{animation:m-rise6 .3s var(--ease-out) both}.solution{display:grid;gap:12px;padding:16px 20px 20px;border-radius:12px;background:var(--ui-fill)}.solution ol{display:grid;gap:8px;margin:0;padding-left:1.4em;font-size:17px;line-height:1.7}.solution ol li::marker{font:600 15px var(--ui-num);color:var(--ui-blue)}.solution-answer{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding-top:12px;border-top:1px solid var(--ui-rule);font-size:17px;font-weight:600}.solution-answer>span:first-child{font:500 12px/1 var(--font-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ui-ink-3)}.qactions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:767px){.qcard{padding:18px 16px 20px;gap:16px;border-radius:12px}.qprompt{font-size:18px}.afield input{width:100%;flex:1 1 160px}.qactions .btn{flex:1 1 auto}}.quiz-intro{max-width:800px}.quiz-intro .panel-body{display:grid;gap:24px;justify-items:start}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,auto));gap:8px 40px;margin:0}.facts dt{font:500 12px/1.2 var(--font-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ui-ink-3)}.facts dd{margin:6px 0 0;font-size:17px;font-weight:500}.facts dd.figure{font-size:28px;line-height:1}@media (max-width:767px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.quiz-bar{display:flex;align-items:center;gap:16px;max-width:800px}.quiz-bar>.figure{font-size:20px}.quiz-bar>.figure small{font-size:.7em;color:var(--ui-ink-3)}.quiz-dots{flex:1;display:flex;gap:4px}.quiz-dots span{flex:1;height:6px;border-radius:2px;background:var(--ui-fill-2)}.quiz-dots span.done{background:var(--ui-blue)}.quiz-dots span.cur{background:var(--ch-part)}.quiz-time{display:flex;align-items:center;gap:6px;color:var(--ui-ink-3)}.quiz-time .figure{font-size:18px;color:var(--ui-ink)}.quiz-result{display:grid;gap:16px;max-width:800px}.result-head{display:flex;align-items:center;gap:32px;padding:24px 28px}.result-score{font-size:72px;line-height:.9;letter-spacing:-.02em;color:var(--ui-blue)}.result-score small{font-size:.4em;color:var(--ui-ink-3);letter-spacing:0}.result-text h2{margin:0;font:600 24px/1.2 var(--ui-num)}.result-text h2:lang(zh){font:700 20px/1.4 var(--ui-font)}.result-text p{margin:4px 0 16px;color:var(--ui-ink-3)}.result-text .acts{display:flex;flex-wrap:wrap;gap:8px}.result-list{margin:0;padding:0;list-style:none;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ui-rule);overflow:hidden}.result-list>li+li{border-top:1px solid var(--ui-rule)}.result-row{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px 20px;font-size:15px;line-height:1.55;cursor:pointer}.result-row:hover{background:var(--tb-hover)}.result-row:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-focus)}.result-mark{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;translate:0 1px}.result-mark .ic{width:16px;height:16px}.ok .result-mark{background:var(--ui-done-tint);color:var(--ui-done)}.bad .result-mark{background:var(--ui-risk-tint);color:var(--ui-risk)}.result-detail{display:grid;gap:8px;padding:0 20px 18px 54px;font-size:15px}.result-detail p{margin:0}@media (max-width:767px){.result-head{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}}}@layer components{.grade{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.grade-tabs{margin-top:-4px}.grade-tabs .tabs{overflow-x:auto;scrollbar-width:none}.chapters{margin:0;padding:0;list-style:none;max-width:960px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ui-rule)}.chapters>li+li{border-top:1px solid var(--ui-rule)}.chapter{display:grid;grid-template-columns:40px minmax(0,1fr) 200px 20px;align-items:center;gap:16px;min-height:64px;padding:10px 16px 10px 20px;color:var(--ui-ink);text-decoration:none;transition:background-color .15s var(--ease-out)}.chapters>li:first-child .chapter{border-radius:12px 12px 0 0}.chapters>li:last-child .chapter{border-radius:0 0 12px 12px}.chapter:hover{background:var(--tb-hover)}.chapter:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--ui-focus)}.chapter-no{font-size:22px;line-height:1;color:var(--ui-ink-3)}.chapter-main{display:grid;gap:2px;min-width:0}.chapter-t{font-size:16px;font-weight:600;line-height:1.4}.chapter-s{font-size:13px;color:var(--ui-ink-3)}.chapter-p{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px}.chapter-p .tag{justify-self:start}.chapter-go{width:18px;height:18px;color:var(--ui-ink-3);transition:translate .2s var(--ease-out)}.chapter:hover .chapter-go{translate:2px 0;color:var(--ui-ink)}@media (max-width:767px){.chapter{grid-template-columns:28px minmax(0,1fr) 16px;gap:6px 12px;padding:12px 14px}.chapter-no{font-size:18px;align-self:start;translate:0 2px}.chapter-p{grid-column:2;grid-row:2;grid-template-columns:auto 1fr}.chapter-go{grid-column:3;grid-row:1/span 2}}.drill{display:grid;gap:16px;max-width:800px}.ladder{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.rung{box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:4px 10px;width:100%;padding:12px;border:0;border-radius:12px;background:var(--ui-surface);box-shadow:inset 0 0 0 1px var(--ui-rule);font:inherit;color:var(--ui-ink);text-align:left;cursor:pointer;transition:background-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.rung:hover:not(:disabled){background:var(--tb-hover)}.rung:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--ui-focus),0 0 0 4px var(--ui-halo)}.rung-n{grid-row:1/span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ui-fill);font-size:18px;line-height:1;color:var(--ui-ink-2)}.rung-n .ic{width:16px;height:16px}.rung-t{font-size:14px;font-weight:600;line-height:1.2}.rung-b{font-size:14px;line-height:1;color:var(--ui-ink-3)}.rung.done .rung-n{background:var(--ui-blue);color:#fff}.rung.open .rung-n{background:var(--ui-wash);color:var(--ui-blue-ink)}[data-theme=dark] .rung.open .rung-n{color:var(--ui-pick)}.rung.sel{background:var(--ui-wash-1);box-shadow:inset 0 0 0 1.5px var(--ui-blue)}.rung:disabled{cursor:default;background:var(--ui-fill);box-shadow:none}.rung:disabled .rung-t{color:var(--ui-ink-3)}.rung:disabled .rung-n{background:var(--ui-fill-2);color:var(--ui-ink-3)}.rung:disabled .rung-b{visibility:hidden}.drill-card .panel-body{display:grid;gap:24px;justify-items:start;padding:24px 28px 28px}.drill-card .notice{justify-self:stretch}.facts dd small{font-size:.6em;color:var(--ui-ink-3)}.drill-go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.drill-run{display:grid;gap:16px}.quiz-time.over,.quiz-time.over .figure{color:var(--ui-risk)}.quiz-time .figure small{font-size:.75em;color:var(--ui-ink-3)}@media (max-width:767px){.ladder{grid-template-columns:repeat(3,minmax(0,1fr))}.rung{gap:2px 8px;padding:10px}.rung-n{width:28px;height:28px;font-size:16px}.drill-card .panel-body{padding:20px}}}@layer components{.mistakes,.review{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-content:start}.review>.quiz-bar,.review>.result-head{max-width:800px}.seg-n{margin-left:4px;font-family:var(--ui-num);font-weight:600;color:var(--ui-ink-3)}.seg [aria-checked=true] .seg-n{color:inherit}.mistake-groups{display:grid;gap:16px;max-width:960px}.mistake-topic{color:inherit;text-decoration:none}.mistake-topic:hover{color:var(--ui-link)}.mistake-list{margin:0;padding:0;list-style:none}.mistake{display:grid;gap:10px;padding:16px 20px}.mistake+.mistake{border-top:1px solid var(--ui-rule)}.mistake-q{font-size:17px;line-height:1.7;overflow-wrap:anywhere}.mistake-q .mfig{max-width:420px;margin-top:8px}.mistake-meta{align-items:center;justify-content:space-between;gap:8px 16px}.mistake-meta,.mistake-was{display:flex;flex-wrap:wrap}.mistake-was{align-items:baseline;gap:4px 12px;font-size:14px;color:var(--ui-ink-3)}.mistake-was .date{font-family:var(--ui-num);font-weight:600}.mistake-was .was{margin-left:4px;padding:1px 8px;border-radius:6px;background:var(--ui-risk-tint);color:var(--ui-risk);font-weight:600}.mistake-acts{display:flex;align-items:center;gap:4px}.report{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}.report>.page-head{margin-bottom:4px}.progress-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.progress-row{display:grid;gap:16px}.progress-row.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@layer components{@media (max-width:1100px){.progress-row.two{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.progress-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.progress-stats>.wide-stat{display:none}}.report .panel-head .n{font-family:var(--ui-num)}.report .tbl-wrap{padding:0 12px 8px}.progress-tbl .bar-col{width:140px}.progress-tbl .bar-col .pbar{width:120px}.tbl td.num small{font-size:.75em;font-weight:500;color:var(--ui-ink-3)}.heat{display:grid;gap:12px}.heat-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}.heat-days{display:grid;grid-template-rows:repeat(7,1fr);gap:4px;font-size:11px;line-height:1;color:var(--ui-ink-3)}.heat-days span{display:flex;align-items:center}.heat-cells{display:grid;grid-template-rows:repeat(7,auto);grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;max-width:440px}.hm{display:block;aspect-ratio:1;border-radius:3px;background:var(--ui-fill-2)}.hm.l1{background:color-mix(in oklab,var(--ui-blue) 28%,var(--ui-fill-2))}.hm.l2{background:color-mix(in oklab,var(--ui-blue) 52%,var(--ui-fill-2))}.hm.l3{background:color-mix(in oklab,var(--ui-blue) 76%,var(--ui-fill-2))}.hm.l4{background:var(--ui-blue)}.hm.future{background:transparent;box-shadow:inset 0 0 0 1px var(--ui-rule)}.heat-legend{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ui-ink-3)}.heat-legend .hm{width:12px}.heat-legend span:first-child{margin-right:4px}.heat-legend span:last-child{margin-left:4px}.weak-list{margin:0;padding:6px 0;list-style:none}.weak{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:6px 20px;color:var(--ui-ink);text-decoration:none;transition:background-color .15s var(--ease-out)}.weak:hover{background:var(--tb-hover)}.weak:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--ui-focus)}.weak-t{min-width:0;font-weight:500}.weak-n{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.weak-n .figure{font-size:22px;color:var(--ui-wait)}.weak-n .figure small{font-size:.6em}.weak-acc{font-size:13px;color:var(--ui-ink-3)}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:20px 12px;margin:0;padding:0;list-style:none}.badge{display:grid;justify-items:center;align-content:start;gap:4px;text-align:center}.badge .medal{margin-bottom:6px}.badge-name{font-size:14px;font-weight:600;line-height:1.3}.badge-desc{font-size:12px;line-height:1.4}.badge-desc,.badge.is-locked .badge-name{color:var(--ui-ink-3)}.medal{position:relative;display:inline-grid;place-items:center;flex:none}.medal>svg{position:absolute;inset:0}.medal-hex{fill:var(--ui-blue)}.medal-ring{fill:none;stroke:#3bc7ed;stroke-width:2.2}.medal-icon{position:relative;display:grid;color:#fff}.medal.locked .medal-hex{fill:var(--ui-fill-2)}.medal.locked .medal-ring{stroke:var(--ui-rule-strong)}.medal.locked .medal-icon{color:var(--ui-ink-3)}.dlg.celebrate{width:400px;padding:32px 28px 28px;border-radius:24px;text-align:center;justify-items:center;align-items:center}.celebrate-medal{margin-bottom:16px;animation:celebrate-in .6s var(--ease-snap) both}@keyframes celebrate-in{0%{scale:.6;opacity:0;rotate:-12deg}}.celebrate-kicker{color:var(--ui-blue-ink)}[data-theme=dark] .celebrate-kicker{color:var(--ui-pick)}.celebrate-name{margin:6px 0 4px;font:600 26px/1.25 var(--ui-font);color:var(--ui-ink)}.celebrate-desc{margin:0 0 24px;color:var(--ui-ink-2)}.dlg.celebrate .btn{min-width:160px}.weekly-dlg .dlg-body{justify-items:center;background:var(--ui-fill);padding:20px 24px}.weekly-img{display:block;width:100%;max-width:360px;aspect-ratio:4/5;border-radius:12px;box-shadow:0 1px 2px rgb(14 15 17/.08),0 8px 24px -8px rgb(14 15 17/.2)}.weekly-img.loading{background:var(--ui-fill-2)}.weekly-dlg .dlg-acts{align-items:center}.weekly-msg{margin-right:auto;font-size:13px;color:var(--ui-done)}@media print{.report .page-head .acts,.report .weak-list a:after{display:none}.report .panel,.report .stat{break-inside:avoid}}}@layer components{.students{display:grid;grid-template-columns:minmax(0,720px);gap:16px;align-content:start}.student-list{margin:0;padding:6px 0;list-style:none}.student{display:flex;align-items:center;gap:8px;padding:0 12px 0 0}.student+.student{border-top:1px solid var(--ui-rule)}.student-pick{all:unset;box-sizing:border-box;flex:1;min-width:0;display:flex;align-items:center;gap:14px;min-height:68px;padding:12px 8px 12px 20px;cursor:pointer;border-radius:8px;transition:background-color .15s var(--ease-out)}.student-pick:hover{background:var(--tb-hover)}.student-pick:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-focus)}.student-main{flex:1;min-width:0;display:grid;gap:2px}.student-name{font-size:16px;font-weight:600;color:var(--ui-ink)}.student-meta{font-size:13px;color:var(--ui-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-body{display:grid;gap:12px}.backup-line{margin:0;font-size:15px;color:var(--ui-ink-2)}.dlg-form{display:flex;flex-direction:column;flex:1;min-height:0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dlg-acts .dlg-del{margin-right:auto}}@layer components{@media (max-width:767px){.map-panel .panel-head{flex-wrap:wrap;row-gap:6px;padding-block:14px 12px}.map-panel .panel-head .acts,.map-panel .panel-head h2{flex-basis:100%}.map-panel .legend{gap:4px 12px;font-size:12px}}}@layer components{.sh-me .nm:has(.sh-me-name){display:grid;gap:1px}.sh-me-name{overflow:hidden;text-overflow:ellipsis;font-weight:500}.sh-me-sync{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ui-ink-3)}.sh-me-sync:before{content:"";width:6px;height:6px;border-radius:2px;background:var(--ui-done)}.sh-me-sync.syncing:before{background:var(--ui-blue);animation:m-breathe 1.2s var(--ease-out) infinite alternate}.sh-me-sync:is(.offline,.error):before{background:var(--ui-wait)}@keyframes m-breathe{to{opacity:.35}}}@layer components{.map-strands{padding:10px 16px 0;overflow-x:auto;scrollbar-width:none}.map-strands .tab[aria-pressed=true]{background:var(--ui-wash);color:var(--ui-blue-ink);font-weight:500}.map-strands .tab[aria-pressed=true] .n{color:var(--ui-blue)}[data-theme=dark] .map-strands .tab[aria-pressed=true]{color:var(--ui-pick)}.mcell.dim{background:transparent!important;box-shadow:inset 0 0 0 1px var(--ui-rule);color:var(--ui-ink-3)}.mcell.dim :is(.pct,.due),.mcell.dim:after{display:none}}@layer components{.teacher{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.teacher>.page-head{margin-bottom:0}@media (max-width:767px){.teacher>.page-head{margin-bottom:-20px}}.t-tabs{margin-top:-4px}.t-tabs .tabs[data-fade~=r]{mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}.t-tabs .tabs[data-fade~=l]{mask-image:linear-gradient(270deg,#000 calc(100% - 40px),transparent)}.t-tabs .tabs[data-fade~=l][data-fade~=r]{mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}.field>.t-lab{font:500 13px/1.3 var(--ui-font);color:var(--ui-ink-2)}.t-checks{display:grid;gap:6px}.t-check-lb{min-width:0}@media (max-width:639px){.seg.t-grades{display:flex;width:100%}.seg.sm.t-grades>button{flex:1;min-width:0;padding:0 2px}}.t-grades .t-mark{position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:1.5px;background:var(--ui-blue)}[data-theme=dark] .t-grades .t-mark{background:var(--ui-pick)}.t-stepper{flex:none;display:inline-flex;align-items:center;height:32px;border-radius:6px;background:var(--ui-surface);box-shadow:inset 0 0 0 1px var(--ui-rule-strong)}.t-stepper button{all:unset;box-sizing:border-box;display:grid;place-items:center;width:32px;height:32px;border-radius:6px;color:var(--ui-ink-2);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s var(--ease-out),color .15s var(--ease-out)}.t-stepper button:hover:not(:disabled){background:var(--ui-fill);color:var(--ui-ink)}.t-stepper button:active:not(:disabled){background:var(--ui-fill-2)}.t-stepper button:focus-visible{box-shadow:inset 0 0 0 2px var(--ui-focus),0 0 0 4px var(--ui-halo)}.t-stepper button:disabled{color:var(--ui-off-ink);cursor:default}.t-stepper .ic{width:16px;height:16px}.t-stepper output{min-width:26px;text-align:center;font-size:18px;line-height:1;color:var(--ui-ink)}@media (pointer:coarse){.t-stepper,.t-stepper button{height:44px;border-radius:8px}.t-stepper button{width:44px}}.t-strip{padding:12px 20px;box-shadow:inset 0 -1px 0 var(--ui-rule)}@media (max-width:639px){.t-strip{padding:12px 16px}}.t-rows{list-style:none;margin:0;padding:0}.t-row{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 8px 0 20px;box-shadow:inset 0 -1px 0 var(--ui-rule);transition:background-color .15s var(--ease-out)}.t-row:last-child{box-shadow:none}.t-row:hover{background:var(--tb-hover)}.t-row.on{background:var(--ui-wash)}.t-row>.check{flex:1;align-self:stretch;align-items:center;min-width:0;padding-block:12px}.t-row>.check>.box{margin-top:0}.t-row>.check>input{top:50%;translate:0 -50%}.t-row.on .t-check-lb{font-weight:500}@media (max-width:639px){.t-row{padding-left:16px}}.ws-builder{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}@media (max-width:1099px){.ws-builder{grid-template-columns:minmax(0,1fr)}}.ws-set,.ws-topics{overflow:hidden}.ws-set .seg.fill>button{padding:0 6px}.ws-sum{display:grid;gap:14px;padding:16px 20px 18px;box-shadow:inset 0 1px 0 var(--ui-rule)}.ws-lines{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ws-lines li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:baseline;gap:8px;font-size:14px;line-height:1.45}.ws-line-g{font:500 12px/1 var(--ui-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ui-ink-3)}.ws-lines .figure{font-size:17px;line-height:1}.ws-none{margin:0;font-size:14px;color:var(--ui-ink-3)}.ws-total{display:flex;align-items:baseline;justify-content:space-between;padding-top:12px;box-shadow:inset 0 1px 0 var(--ui-rule);font-size:13px;color:var(--ui-ink-2)}.ws-total .figure{font-size:32px;line-height:1;letter-spacing:-.01em;color:var(--ui-ink)}.panel-foot.ws-foot{display:grid;justify-content:stretch;gap:10px;padding:16px 20px 20px}.ws-foot .btn{width:100%}.ws-note{margin:0;font-size:13px;line-height:1.45;color:var(--ui-ink-3);text-align:center}.pv{display:grid;gap:16px}.t-bar{flex-wrap:wrap;justify-content:space-between;gap:12px}.t-bar,.t-bar-end{display:flex;align-items:center}.t-bar-end{gap:8px}.pv-topic{width:240px}@media (max-width:639px){.t-bar-end{width:100%}.pv-topic{flex:1;width:auto}}.pv-topic-panel,.pv-wait{overflow:hidden}.pv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pv-q{display:grid;align-content:start;gap:12px;min-width:0;padding:18px 20px 12px}.pv-q+.pv-q{box-shadow:inset 1px 0 0 var(--ui-rule)}@media (max-width:899px){.pv-grid{grid-template-columns:minmax(0,1fr)}.pv-q+.pv-q{box-shadow:inset 0 1px 0 var(--ui-rule)}}.pv-lvl{font:500 12px/1 var(--ui-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ui-blue-ink)}.pv-prompt{font-size:15px;line-height:1.65;overflow-wrap:anywhere}.pv-fig.mfig{max-width:300px;padding:14px}.pv-choices{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px;line-height:1.5}.pv-choices li{display:flex;align-items:baseline;gap:10px}.pv-choices .k{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--ui-fill);font-size:14px;line-height:1;color:var(--ui-ink-2);translate:0 1px}.pv-choices li.ok{font-weight:500}.pv-choices li.ok .k{background:var(--ui-blue);color:#fff}.pv-choices li>.ic{flex:none;align-self:center;color:var(--ui-blue)}[data-theme=dark] .pv-choices li>.ic{color:var(--ui-pick)}.pv-ans{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding-top:12px;box-shadow:inset 0 1px 0 var(--ui-rule)}.pv-ans-v{font-size:15px;font-weight:600}.pv-sol>summary{min-height:36px;font-size:14px}.pv-sol>.in{padding:4px 0 8px;font-size:14px;line-height:1.6}.t-steps{display:grid;gap:6px;margin:0;padding:0;list-style:none;counter-reset:t-step}.t-steps>li{position:relative;min-width:0;padding-left:30px;counter-increment:t-step;overflow-wrap:anywhere}.t-steps>li:before{content:counter(t-step);position:absolute;left:0;top:.2em;display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--ui-wash);font:600 13px/1 var(--ui-num);color:var(--ui-blue-ink)}.pv-wait .m-skel{display:block}.q-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}@media (max-width:1099px){.q-grid{grid-template-columns:minmax(0,1fr)}}.q-edit{scroll-margin-top:24px}.q-where{grid-template-columns:128px minmax(0,1fr)}.q-pair,.q-where{display:grid;gap:12px}.q-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.q-frac{display:grid;grid-template-columns:104px auto 104px minmax(0,1fr);align-items:end;gap:12px 8px}.q-slash{display:grid;place-items:center;height:36px;font-size:24px;line-height:1;color:var(--ui-ink-3)}@media (pointer:coarse){.q-slash{height:44px}}.q-two{display:grid;gap:8px}.field .hint code{padding:1px 6px;border-radius:4px;background:var(--ui-fill);font:400 12px/1.5 ui-monospace,SF Mono,Menlo,monospace;color:var(--ui-ink-2);white-space:nowrap}.q-live{display:grid;gap:8px;padding:12px 16px 14px;border-radius:8px;background:var(--ui-fill);font-size:17px;line-height:1.7;overflow-wrap:anywhere}.q-kinds{max-width:100%;overflow-x:auto;scrollbar-width:none}.q-opts{display:grid;gap:8px}.q-opts>.hint{margin:2px 0 0;font-size:13px;line-height:1.55;color:var(--ui-ink-3)}.q-opt{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;padding:12px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--ui-rule);transition:background-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.q-opt.on{background:var(--ui-wash-1);box-shadow:inset 0 0 0 1px var(--ui-blue)}.q-opt-key.radio{align-items:center;align-self:start;gap:10px;height:36px;padding:0}.q-opt-key>.box{margin-top:0}.q-opt-key>input{top:50%;translate:0 -50%}.q-opt-key .figure{font-size:18px;line-height:1;color:var(--ui-ink-2)}.q-opt.on .q-opt-key .figure{color:var(--ui-blue-ink)}@media (pointer:coarse){.q-opt-key.radio{height:44px}}.q-opt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.q-opt-fields>.q-why,.q-opt-ok{grid-column:1/-1}.q-opt-ok{display:flex;align-items:center;min-height:28px}@media (max-width:639px){.q-opt-fields,.q-pair,.q-where{grid-template-columns:minmax(0,1fr)}.q-frac{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.q-frac-unit{grid-column:1/-1}.q-opt{grid-template-columns:44px minmax(0,1fr)}}.q-edit .panel-foot{flex-wrap:wrap;padding-block:12px}.q-side{display:grid;gap:20px;align-content:start;min-width:0}.q-try{display:grid;gap:8px;scroll-margin:24px;animation:m-rise6 .3s var(--ease-out) both}.q-try-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px}.q-try-head h2{margin:0}.q-side>.panel{overflow:hidden}.q-list{list-style:none;margin:0;padding:0}.q-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:14px 12px 14px 20px;box-shadow:inset 0 -1px 0 var(--ui-rule);transition:background-color .15s var(--ease-out)}.q-row:last-child{box-shadow:none}.q-row:hover{background:var(--tb-hover)}.q-row.on{background:var(--ui-wash)}.q-row-main{display:grid;gap:4px;min-width:0}.q-row-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;line-height:1.45;color:var(--ui-ink-3)}.q-row-prompt{font-size:15px;line-height:1.6;overflow-wrap:anywhere}.q-row-ans{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:14px;color:var(--ui-ink-2)}.q-row-acts{display:flex;align-items:center;gap:4px}@media (max-width:639px){.q-row{grid-template-columns:minmax(0,1fr);gap:10px;padding-left:16px}}.st-view{display:grid;gap:24px}.st-view>.panel{overflow:hidden}.st-who{all:unset;display:inline-flex;align-items:center;gap:10px;min-width:0;font-weight:500;color:var(--ui-ink);cursor:pointer}.st-who:after{content:"";position:absolute;inset:0}.st-name{overflow:hidden;text-overflow:ellipsis}.st-tbl tr.link-row:has(.st-who:focus-visible){box-shadow:inset 0 0 0 2px var(--ui-focus)}.st-tbl .st-who:focus-visible{box-shadow:none}.st-tbl td.st-year{color:var(--ui-ink-2)}.st-tbl .st-last{width:1%;text-align:right}.st-tbl td.st-last{font-variant-numeric:tabular-nums;color:var(--ui-ink-2)}@container tbl (max-width: 639px){.st-tbl td.st-last,.st-tbl td.st-year{width:auto;font-size:13px;color:var(--ui-ink-3)}}.st-report{display:grid;gap:16px;animation:m-rise6 .3s var(--ease-out) both}.st-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;box-shadow:inset 0 -1px 0 var(--ui-rule)}.st-report-head h2{margin:0;font:600 22px/1.2 var(--ui-num);letter-spacing:-.005em}.t-guide{max-width:800px}.t-tips{list-style:none;margin:0;padding:0}.t-tips>li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;padding:16px 0;box-shadow:inset 0 -1px 0 var(--ui-rule)}.t-tips>li:first-child{padding-top:0}.t-tips>li:last-child{box-shadow:none}.t-tip-n{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--ui-wash);font-size:16px;line-height:1;color:var(--ui-blue-ink)}.t-tips b{display:block;font-size:15px;font-weight:600;line-height:1.55;color:var(--ui-ink)}.t-tips p{margin:2px 0 0;font-size:15px;line-height:1.7;color:var(--ui-ink-2)}.ws-page{min-height:100svh;background:var(--sh-frame);color:var(--ui-ink)}.ws-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;height:56px;padding:0 16px 0 10px;background:var(--ui-surface);box-shadow:inset 0 -1px 0 var(--ui-rule)}.ws-bar-t{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px}.ws-bar-t b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600}.ws-bar-t .figure{flex:none;font-size:17px;line-height:1;color:var(--ui-ink-3)}.ws-bar-acts{display:flex;align-items:center;gap:8px}.ws-stage{display:grid;justify-items:center;gap:32px;padding:32px}@media (max-width:639px){.ws-bar{padding:0 12px 0 6px;gap:8px}.ws-stage{gap:16px;padding:16px}}.ws-paper{--p-acc:#196db6;--p-ink:#0e0f11;--p-2:#4a4f57;--p-3:#6b7079;--p-rule:#d9dce0;--ui-ink:var(--p-ink);--ui-ink-2:var(--p-2);--ui-ink-3:var(--p-3);--ui-rule:var(--p-rule);color-scheme:light;box-sizing:border-box;width:210mm;min-height:297mm;padding:16mm 16mm 14mm;background:#fff;color:var(--p-ink);font:400 10pt/1.55 var(--font-sans);zoom:var(--ws-k,1);box-shadow:0 1px 2px rgb(14 15 17/.06),0 14px 40px -14px rgb(14 15 17/.3);print-color-adjust:exact;-webkit-print-color-adjust:exact}.ws-paper .lab{font:500 6.8pt/1.2 var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--p-3)}.ws-paper .fig{font-family:var(--font-display);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em}.ws-top{display:flex;align-items:center;justify-content:space-between;gap:10mm}.ws-top .logo-lockup{color:var(--p-ink)}[data-theme=dark] .ws-paper .logo-cells{fill:#196db6}.ws-meta{display:flex;gap:7mm;margin:0}.ws-meta>div{display:grid;gap:.8mm;text-align:right}.ws-meta dd{margin:0;font:600 10.5pt/1.15 var(--font-display)}.ws-title{display:flex;align-items:flex-end;justify-content:space-between;gap:8mm;margin:8mm 0 5mm;padding-bottom:3mm;border-bottom:1.5pt solid var(--p-acc)}.ws-title h1{margin:0;min-width:0;font:600 24pt/1.1 var(--font-display);letter-spacing:-.01em;color:var(--p-ink);overflow-wrap:anywhere}.ws-title .lab{flex:none;padding-bottom:1mm}.ws-fields{display:grid;grid-template-columns:2.4fr 1fr 1.4fr 1.1fr;gap:6mm}.ws-fields>div{display:flex;align-items:flex-end;justify-content:space-between;gap:2mm;height:9mm;padding-bottom:1.2mm;border-bottom:.75pt solid var(--p-ink)}.ws-score .fig{font-size:13pt;line-height:1;color:var(--p-ink)}.ws-subj{display:flex;align-items:baseline;gap:3mm;margin:4mm 0 0;padding-bottom:3mm;border-bottom:.5pt solid var(--p-rule);font-size:9pt;line-height:1.5;color:var(--p-2)}.ws-subj .lab{flex:none}.ws-qs{list-style:none;margin:0;padding:0}.ws-q{display:grid;grid-template-columns:8mm minmax(0,1fr);align-items:baseline;padding:4.5mm 0 4mm;border-bottom:.5pt solid var(--p-rule);break-inside:avoid}.ws-q:last-child{border-bottom:0}.ws-n{font-size:12pt;line-height:1;color:var(--p-ink)}.ws-q-body{display:grid;gap:3mm;min-width:0}.ws-q-body:has(>.ws-fig){grid-template-columns:auto minmax(0,1fr);column-gap:8mm}.ws-q-body>:is(.ws-prompt,.ws-choices){grid-column:1/-1}.ws-q-body>.ws-fig+.ws-work{align-self:end}.ws-prompt{font-size:11.5pt;line-height:1.6;overflow-wrap:anywhere}.ws-paper .ws-fig.mfig{width:auto;max-width:64mm;padding:0;border-radius:0;background:none;box-shadow:none}.ws-choices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5mm 8mm;font-size:11pt;line-height:1.5}.ws-choices li{display:flex;align-items:baseline;gap:2.5mm;min-width:0}.ws-key{flex:none;display:inline-grid;place-items:center;width:5mm;height:5mm;box-sizing:border-box;border:.75pt solid var(--p-ink);border-radius:1.2mm;font-size:9.5pt;line-height:1;translate:0 .6mm}.ws-work{display:flex;align-items:flex-end;justify-content:flex-end;min-height:15mm}.ws-ans{display:inline-flex;align-items:baseline;gap:2.5mm;font-size:11pt}.ws-unit.bi :is(.bi-en,.bi-zh){display:inline}.ws-unit.bi .bi-zh{margin-left:1.5mm;font-size:inherit}.ws-blank{display:inline-block;width:40mm;height:1em;border-bottom:.75pt solid var(--p-ink)}.ws-keys{list-style:none;margin:0;padding:0;column-count:3;column-gap:8mm}.ws-keys.sol{column-count:1}.ws-keys>li{display:grid;grid-template-columns:8mm minmax(0,1fr);align-items:baseline;padding:2.2mm 0;border-bottom:.5pt solid var(--p-rule);break-inside:avoid;font-size:10.5pt;line-height:1.5}.ws-keys.sol>li{padding:3mm 0}.ws-keys .ws-n{font-size:11pt}.ws-key-a{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:2mm;font-weight:600}.ws-key-a .ws-key{border-color:var(--p-acc);color:var(--p-acc)}.ws-sol{display:grid;gap:1mm;margin-top:1.5mm;font-size:9.5pt;line-height:1.55;color:var(--p-2)}@media print{@page{size:A4;margin:16mm 16mm 14mm}body:has(.ws-page),html:has(.ws-page){background:#fff;color-scheme:light!important}.ws-page{min-height:0;background:none}.ws-page .ws-bar,body:has(.ws-page) .toasts{display:none}.ws-stage{display:block;justify-items:normal;padding:0}.ws-paper{width:auto;min-height:0;padding:0;box-shadow:none;zoom:1}.ws-answers{break-before:page}}@media (prefers-reduced-motion:reduce){.q-try,.st-report{animation:none}}}