.avf[data-v-760a17f8]{position:relative;display:inline-grid;place-items:center;flex:none;vertical-align:middle}.avf-art[data-v-760a17f8]{position:absolute;top:-16%;right:-16%;bottom:-16%;left:-16%;pointer-events:none;overflow:visible}.avf-ring[data-v-760a17f8]{fill:none;stroke-width:3.4}.avf-drop .avf-ring[data-v-760a17f8]{stroke:var(--drop)}.avf-drop-shape[data-v-760a17f8]{fill:var(--drop)}.avf-shine[data-v-760a17f8]{fill:none;stroke:var(--paper);stroke-width:.9;stroke-linecap:round}.avf-wave .avf-ring[data-v-760a17f8]{stroke:var(--drop-soft);stroke-width:4.6}.avf-wave-line[data-v-760a17f8]{fill:none;stroke:var(--drop);stroke-width:1.8;stroke-linejoin:round}.avf-bubbles .avf-ring[data-v-760a17f8]{stroke:color-mix(in srgb,var(--drop) 45%,var(--drop-soft));stroke-width:2.6}.avf-bubble[data-v-760a17f8]{fill:var(--paper);stroke:var(--drop);stroke-width:.9}.avf-band[data-v-760a17f8]{fill:none;stroke-width:1.25}.avf-band-1[data-v-760a17f8]{stroke:var(--red)}.avf-band-2[data-v-760a17f8]{stroke:var(--amber)}.avf-band-3[data-v-760a17f8]{stroke:var(--smile-spark)}.avf-band-4[data-v-760a17f8]{stroke:var(--ok)}.avf-band-5[data-v-760a17f8]{stroke:var(--drop)}.avf-band-6[data-v-760a17f8]{stroke:var(--accent)}.rounded .avf-band[data-v-760a17f8]{stroke-width:1.5}.avf-snowflake .avf-ring[data-v-760a17f8]{stroke:color-mix(in srgb,var(--drop) 42%,var(--paper));stroke-width:3}.avf-frost[data-v-760a17f8]{fill:none;stroke:var(--paper);stroke-width:.5;opacity:.8}.avf-flake[data-v-760a17f8]{fill:none;stroke:var(--drop);stroke-width:.9;stroke-linecap:round}.avf-sunbeam .avf-ring[data-v-760a17f8]{stroke:var(--amber);stroke-width:3.2}.avf-ray[data-v-760a17f8]{fill:none;stroke:var(--amber);stroke-width:1.4;stroke-linecap:round}.avf-glint[data-v-760a17f8]{fill:var(--smile-spark);stroke:var(--amber);stroke-width:.4}.avf-whirl:not(.rounded) .avf-ring[data-v-760a17f8]{stroke:var(--drop-soft)}.avf-arc[data-v-760a17f8]{fill:none;stroke-width:3.4;stroke-linecap:round;stroke-dasharray:52 36.38}.avf-arc2[data-v-760a17f8]{fill:none;stroke-width:1.4;stroke-linecap:round;stroke-dasharray:26 69.5;stroke-dashoffset:40;opacity:.6}.avf-whirl .avf-s1[data-v-760a17f8]{stop-color:var(--drop)}.avf-whirl .avf-s2[data-v-760a17f8]{stop-color:color-mix(in srgb,var(--drop) 50%,var(--accent))}.avf-whirl .avf-s3[data-v-760a17f8]{stop-color:var(--accent)}.avf-shimmer .avf-ring[data-v-760a17f8]{stroke-width:3}.avf-shimmer .avf-s1[data-v-760a17f8]{stop-color:var(--accent)}.avf-shimmer .avf-s2[data-v-760a17f8]{stop-color:color-mix(in srgb,var(--accent) 35%,#fff)}.avf-shimmer .avf-s3[data-v-760a17f8]{stop-color:var(--drop)}.avf-spark[data-v-760a17f8]{fill:var(--smile-spark);stroke:var(--amber);stroke-width:.35}.avf-aurora .avf-ring[data-v-760a17f8]{stroke-width:3.2}.avf-glow[data-v-760a17f8]{fill:none;stroke-width:4.6;opacity:.35}.avf-aurora .avf-s1[data-v-760a17f8]{stop-color:var(--ok)}.avf-aurora .avf-s2[data-v-760a17f8]{stop-color:var(--drop)}.avf-aurora .avf-s3[data-v-760a17f8]{stop-color:var(--accent)}.avf-ocean .avf-ring[data-v-760a17f8]{stroke-width:4.2}.avf-ocean .avf-s1[data-v-760a17f8],.avf-ocean .avf-s3[data-v-760a17f8]{stop-color:color-mix(in srgb,var(--drop) 55%,#06284f)}.avf-ocean .avf-s2[data-v-760a17f8]{stop-color:var(--drop)}.avf-crest[data-v-760a17f8]{fill:none;stroke:var(--drop);stroke-width:1.1;stroke-linecap:round}.avf-foam[data-v-760a17f8]{fill:var(--paper)}.rounded .avf-ring[data-v-760a17f8]{stroke-width:3.4}.rounded.avf-wave .avf-ring[data-v-760a17f8]{stroke:var(--drop);stroke-width:2.6;stroke-dasharray:5 2.5}.rounded.avf-bubbles .avf-ring[data-v-760a17f8]{stroke:var(--drop);stroke-width:2.8;stroke-linecap:round;stroke-dasharray:.1 4.2}.rounded.avf-snowflake .avf-ring[data-v-760a17f8]{stroke:var(--drop);stroke-dasharray:7 2.5}.avf.moving.avf-whirl .avf-art[data-v-760a17f8]{animation:avf-spin-760a17f8 9s linear infinite}.avf.moving.avf-aurora .avf-art[data-v-760a17f8]{animation:avf-spin-760a17f8 24s linear infinite}.avf.moving .avf-glow[data-v-760a17f8]{animation:avf-glow-760a17f8 5s ease-in-out infinite}.avf.moving .avf-spark[data-v-760a17f8]{animation:avf-twinkle-760a17f8 2.6s ease-in-out infinite both}@keyframes avf-spin-760a17f8{to{transform:rotate(1turn)}}@keyframes avf-twinkle-760a17f8{0%,to{opacity:.3}50%{opacity:1}}@keyframes avf-glow-760a17f8{0%,to{opacity:.2}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.avf-art[data-v-760a17f8],.avf-art[data-v-760a17f8] *{animation:none!important}}.app-icon.inline{display:inline-block;vertical-align:-.2em}.grade-mark[data-v-23b52fd3]{width:24px;height:24px;display:inline-grid;place-items:center;vertical-align:middle;font:700 12px var(--mono);line-height:1}.grade-mark svg[data-v-23b52fd3]{width:24px;height:24px;display:block}.face[data-v-23b52fd3]{stroke-width:1.4;stroke:var(--smile-ink);stroke-opacity:.25}.eye[data-v-23b52fd3],.mouth[data-v-23b52fd3]{fill:none;stroke:var(--smile-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eye[data-v-23b52fd3]{fill:var(--smile-ink);stroke-width:0}.spark[data-v-23b52fd3]{fill:var(--smile-spark);stroke:var(--smile-spark-line);stroke-width:.55}.smile .face[data-v-23b52fd3]{stroke:var(--smile-face-line);stroke-width:.9}.smile .ring[data-v-23b52fd3]{fill:none;stroke-width:1.6}.band-support .ring[data-v-23b52fd3]{stroke:var(--smile-ring-support)}.band-growing .ring[data-v-23b52fd3]{stroke:var(--smile-ring-growing)}.band-confident .ring[data-v-23b52fd3]{stroke:var(--smile-ring-confident)}.band-excellent .ring[data-v-23b52fd3]{stroke:var(--smile-ring-excellent)}.band-support[data-v-23b52fd3]{--gm-f1:var(--smile-support-1);--gm-f2:var(--smile-support-2);--gm-line:var(--smile-support-line)}.band-growing[data-v-23b52fd3]{--gm-f1:var(--smile-growing-1);--gm-f2:var(--smile-growing-2);--gm-line:var(--smile-growing-line)}.band-confident[data-v-23b52fd3]{--gm-f1:var(--smile-confident-1);--gm-f2:var(--smile-confident-2);--gm-line:var(--smile-confident-line)}.smile .face-1[data-v-23b52fd3]{stop-color:var(--gm-f1,var(--smile-face-1))}.smile .face-2[data-v-23b52fd3]{stop-color:var(--gm-f2,var(--smile-face-2))}.smile .face[data-v-23b52fd3]{stroke:var(--gm-line,var(--smile-face-line))}.smile .eye[data-v-23b52fd3]{fill:var(--smile-ink)}.smile .eye-arc[data-v-23b52fd3]{fill:none;stroke:var(--smile-ink);stroke-width:1.9;stroke-linecap:round}.smile .mouth[data-v-23b52fd3]{fill:none;stroke:var(--smile-ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.smile .mouth.open[data-v-23b52fd3]{fill:var(--smile-mouth);stroke-width:1.4}.smile .cheek[data-v-23b52fd3]{fill:var(--smile-cheek);opacity:.55}.smile .spark[data-v-23b52fd3]{fill:var(--smile-spark);stroke:var(--smile-spark-line);stroke-width:.5}@keyframes gm-pop-23b52fd3{0%{transform:scale(.75);opacity:0}to{transform:scale(1);opacity:1}}@keyframes gm-twinkle-23b52fd3{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.smile[data-v-23b52fd3]{transform-origin:center;animation:gm-pop-23b52fd3 var(--motion-slow,.48s) cubic-bezier(.22,1,.36,1.12) both}.smile .spark[data-v-23b52fd3]{transform-box:fill-box;transform-origin:center;animation:gm-twinkle-23b52fd3 1.6s ease-in-out infinite}.smile .s2[data-v-23b52fd3]{animation-delay:.8s}@media(prefers-reduced-motion:reduce){.smile[data-v-23b52fd3],.smile .spark[data-v-23b52fd3]{animation:none!important}}.status-bg[data-v-23b52fd3]{stroke-width:1.2}.status-line[data-v-23b52fd3]{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.status-line--soft[data-v-23b52fd3]{stroke-width:1.25;opacity:.55}.is-checking[data-v-23b52fd3]{color:var(--cell-check-ink)}.is-checking .status-bg[data-v-23b52fd3]{fill:var(--cell-check);stroke:var(--cell-check-ink);stroke-opacity:.45}.is-ill[data-v-23b52fd3]{color:var(--cell-ill-ink)}.is-ill .status-bg[data-v-23b52fd3]{fill:var(--cell-ill);stroke:var(--cell-ill-ink);stroke-opacity:.45}.is-credited-ok[data-v-23b52fd3]{color:var(--cell-pass-ink)}.is-credited-ok .status-bg[data-v-23b52fd3]{fill:var(--cell-pass);stroke:var(--cell-pass-ink);stroke-opacity:.45}.is-credited-no[data-v-23b52fd3]{color:var(--cell-fail-ink)}.is-credited-no .status-bg[data-v-23b52fd3]{fill:var(--cell-fail);stroke:var(--cell-fail-ink);stroke-opacity:.45}.compact-name[data-v-9c4a3277],.compact-row[data-v-9c4a3277]{height:54px}.compact-row[data-v-9c4a3277]{align-items:stretch}.diary-month[data-v-9c4a3277]{flex:none;position:relative;padding-top:18px;border-right:1px solid var(--line)}.diary-month-label[data-v-9c4a3277]{position:absolute;inset:0 0 auto;height:18px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--ink-3);font-size:var(--cdo-text-xs);text-transform:uppercase;border-bottom:1px solid var(--line)}.diary-month-cells[data-v-9c4a3277]{display:flex;height:35px}.diary-month-cells .dcell[data-v-9c4a3277]{height:35px}.diary-summary[data-v-9c4a3277]{flex:none;width:44px;display:flex;flex-direction:column;border-left:1px solid var(--line)}.diary-summary>span[data-v-9c4a3277]{height:18px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--ink-3);font-size:var(--cdo-text-xs);white-space:nowrap}.diary-summary>.dcell[data-v-9c4a3277]{width:44px;height:35px;border-left:0}.dcell.has-med[data-v-9c4a3277]{position:relative}.dcell.has-med[data-v-9c4a3277]:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-radius:50%;background:var(--cell-ill-ink);box-shadow:0 0 0 1px var(--paper)}.dpop-k[data-v-9c4a3277],.dpop-theme[data-v-9c4a3277]{font-size:var(--cdo-text-sm);color:var(--ink-3)}.dpop b[data-v-9c4a3277],.dpop-theme[data-v-9c4a3277]{overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical}.dpop b[data-v-9c4a3277]{line-height:1.35;-webkit-line-clamp:3}.dpop-theme[data-v-9c4a3277]{-webkit-line-clamp:2}.dpop-st[data-v-9c4a3277]{display:flex;align-items:center;gap:7px}.dpop-docs[data-v-9c4a3277]{display:grid;gap:4px;margin-top:4px;font-size:var(--cdo-text-sm)}.dpop-docs a[data-v-9c4a3277]{color:var(--accent);overflow-wrap:anywhere}.dpop-docs span[data-v-9c4a3277]{color:var(--ink-3)}.drc-col[data-v-9c4a3277]{flex:1;min-width:0;display:flex;flex-direction:column}.dtop[data-v-9c4a3277]{height:27px;flex:none;overflow-x:auto;overflow-y:hidden;background:var(--soft);border-bottom:1px solid var(--line)}.dtop>div[data-v-9c4a3277]{height:1px}.drc-col>.drc[data-v-9c4a3277]{scrollbar-width:none}.drc-col>.drc[data-v-9c4a3277]::-webkit-scrollbar{display:none}.jrow-move[data-v-9c4a3277]{transition:transform var(--motion-slow,.48s) var(--ease-out,cubic-bezier(.22,1,.36,1))}.jrow-enter-active[data-v-9c4a3277]{transition:opacity var(--motion-slow,.48s) var(--ease-out,ease),transform var(--motion-slow,.48s) var(--ease-out,ease)}.jrow-enter-from[data-v-9c4a3277]{opacity:0;transform:translateY(8px)}.jrow-leave-active[data-v-9c4a3277]{display:none}.dcell[data-v-9c4a3277]{animation:cell-in-9c4a3277 var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1)) backwards;animation-delay:var(--d,0ms)}@keyframes cell-in-9c4a3277{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.jrow-move[data-v-9c4a3277],.jrow-enter-active[data-v-9c4a3277]{transition:none}.dcell[data-v-9c4a3277]{animation:none}}.wk-empty[data-v-ffde97e3]{opacity:.62}.wk-empty small[data-v-ffde97e3]{font-style:italic}.diary-controls[data-v-ffde97e3]{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:6px;margin:0 0 16px}.diary-bar[data-v-ffde97e3]{display:flex;align-items:center;gap:12px;flex:none}.diary-bar .seg[data-v-ffde97e3]{margin:0}.diary-nav[data-v-ffde97e3]{display:flex;align-items:center;gap:10px;flex:1 1 380px;min-width:0}.diary-step[data-v-ffde97e3]{width:44px;height:44px;min-height:44px;padding:0;flex:none;border-radius:var(--cdo-radius-card)}.diary-track[data-v-ffde97e3]{position:relative;flex:1;min-width:0;height:44px}.diary-rail[data-v-ffde97e3]{position:absolute;left:0;right:0;top:14px;height:8px;border-radius:999px;background-color:var(--soft);border:1px solid var(--line)}.diary-today[data-v-ffde97e3]{position:absolute;top:-4px;width:2px;height:14px;margin-left:-1px;background:var(--accent);border-radius:2px;opacity:.55}.diary-range[data-v-ffde97e3]{position:absolute;inset:0 0 auto 0;width:100%;height:36px;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.diary-range[data-v-ffde97e3]:focus-visible{outline:none}.diary-range[data-v-ffde97e3]::-webkit-slider-runnable-track{height:36px;background:transparent}.diary-range[data-v-ffde97e3]::-moz-range-track{height:36px;background:transparent}.diary-range[data-v-ffde97e3]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:30px;height:30px;margin-top:3px;border-radius:50%;background:var(--paper);border:2px solid var(--accent);box-shadow:0 2px 8px var(--accent-glow);transition:transform var(--motion-fast,.18s) var(--ease-out,ease)}.diary-range[data-v-ffde97e3]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--paper);border:2px solid var(--accent);box-shadow:0 2px 8px var(--accent-glow)}.diary-range[data-v-ffde97e3]:active::-webkit-slider-thumb,.diary-range[data-v-ffde97e3]:focus-visible::-webkit-slider-thumb{transform:scale(1.12)}.diary-tip[data-v-ffde97e3]{position:absolute;bottom:40px;transform:translate(-50%);white-space:nowrap;background:var(--ink);color:var(--paper);font-size:var(--cdo-text-sm);padding:4px 8px;border-radius:var(--cdo-radius-control);pointer-events:none}.diary-months[data-v-ffde97e3]{position:absolute;left:0;right:0;top:30px;height:14px;pointer-events:none}.diary-months span[data-v-ffde97e3]{position:absolute;transform:translate(-50%);font-family:var(--mono);font-size:var(--cdo-text-xs);color:var(--ink-3)}.wk-grid--open[data-v-ffde97e3]>*{flex-basis:100%;max-width:none}.wk-head[data-v-ffde97e3]{gap:8px}.wk-head small[data-v-ffde97e3]{margin-left:auto}.wk-expand[data-v-ffde97e3]{width:28px;height:28px;align-self:center}.wk-expand[data-v-ffde97e3] svg{width:15px;height:15px}.wk-expand-text[data-v-ffde97e3]{align-self:center;padding:5px 12px;font-size:13px;min-height:0;flex:none}.wk-cards[data-v-ffde97e3]{padding:12px}.wk-vacation[data-v-ffde97e3]{background:var(--amber-soft);border-style:dashed}.wk-vacation .wk-head[data-v-ffde97e3]{background:transparent}.wk-vac[data-v-ffde97e3]{margin:0;padding:14px;display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--ink-2)}.wk-vac span[data-v-ffde97e3]{font-family:var(--mono);font-size:var(--cdo-text-sm);color:var(--ink-3)}.wk-holiday[data-v-ffde97e3]{margin:0;padding:8px 14px;font-size:13px;color:var(--amber-ink);border-bottom:1px solid var(--line)}.wk-online[data-v-ffde97e3]{display:flex;align-items:center;gap:10px;padding:7px 14px;border-bottom:1px solid var(--line);background:var(--accent-soft);font-size:13.5px;color:var(--ink)}.wk-online[data-v-ffde97e3]:hover{filter:brightness(.98)}.wk-time[data-v-ffde97e3]{font-family:var(--mono);font-size:var(--cdo-text-sm);color:var(--accent-ink);flex:none;width:40px}.wk-join[data-v-ffde97e3]{margin-left:auto;background:var(--accent);color:var(--on-accent)}.wk-row .lesson-elements[data-v-ffde97e3]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.wk-move[data-v-ffde97e3],.wk-enter-active[data-v-ffde97e3],.wk-leave-active[data-v-ffde97e3]{transition:transform var(--motion-base,.32s) var(--ease-out,ease),opacity var(--motion-base,.32s) var(--ease-out,ease)}.wk-enter-from[data-v-ffde97e3],.wk-leave-to[data-v-ffde97e3]{opacity:0;transform:translateY(8px)}.wk-leave-active[data-v-ffde97e3]{position:absolute;visibility:hidden}@media(prefers-reduced-motion:reduce){.wk-move[data-v-ffde97e3],.wk-enter-active[data-v-ffde97e3],.wk-leave-active[data-v-ffde97e3]{transition:none}}@media(max-width:640px){.diary-step[data-v-ffde97e3]{width:40px;height:40px;min-height:40px}.diary-bar .seg[data-v-ffde97e3]{width:100%}.diary-bar .seg button[data-v-ffde97e3]{flex:1}}.pay-sheet-head h3[data-v-6bde9860]{margin:0 0 4px}.pay-status[data-v-6bde9860]{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--soft);color:var(--ink-3)}.pay-status.pending[data-v-6bde9860]{background:var(--accent-soft);color:var(--accent-ink)}.pay-status.paid[data-v-6bde9860]{background:#e4f6ea;color:#1b6b3a}.pay-status.expired[data-v-6bde9860],.pay-status.cancelled[data-v-6bde9860]{background:#f6e4e4;color:#8a2a2a}.pay-sheet-body[data-v-6bde9860]{display:flex;flex-direction:column;gap:12px}.pay-amount[data-v-6bde9860]{font-family:var(--font-display);font-size:30px;font-weight:700}.pay-lines[data-v-6bde9860]{margin:0;padding:0 0 0 18px;font-size:14px;color:var(--ink-3)}.pay-qr[data-v-6bde9860]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:#fff}.pay-qr canvas[data-v-6bde9860]{width:232px;height:232px;border-radius:8px}.pay-qr .section-note[data-v-6bde9860]{text-align:center;margin:0}.pay-bank[data-v-6bde9860]{width:100%;justify-content:center;text-decoration:none}.pay-grid[data-v-6bde9860]{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}.pay-grid dt[data-v-6bde9860]{color:var(--ink-3)}.pay-grid dd[data-v-6bde9860]{margin:0;overflow-wrap:anywhere}.pay-copyable[data-v-6bde9860]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pay-mono[data-v-6bde9860]{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.3px}.pay-copyall[data-v-6bde9860]{margin:0}.pay-staff[data-v-6bde9860]{display:grid;gap:10px;padding:12px;border:1px solid var(--accent-line);border-radius:var(--cdo-radius-card);background:var(--accent-soft)}.pay-staff .f[data-v-6bde9860]{font-size:12.5px;color:var(--ink-3)}.pay-actions[data-v-6bde9860]{display:flex;justify-content:flex-end}@media(prefers-color-scheme:dark){.pay-qr[data-v-6bde9860]{background:#fff}}.pay-req[data-v-6732cef7]{margin-top:var(--space-6)}.pay-req h2[data-v-6732cef7]{margin:0 0 var(--space-3);font:600 var(--text-lg)/1.3 var(--font);color:var(--ink)}.pay-grid[data-v-6732cef7]{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:var(--space-2) var(--space-4);margin:0;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.pay-grid dt[data-v-6732cef7]{color:var(--muted);font:400 var(--text-sm)/1.5 var(--font)}.pay-grid dd[data-v-6732cef7]{margin:0;color:var(--ink);font:400 var(--text-sm)/1.5 var(--font);word-break:break-word}.pay-mono[data-v-6732cef7]{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em}.pay-copyable[data-v-6732cef7]{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.pay-note[data-v-6732cef7]{margin-top:var(--space-3)}.pay-links[data-v-6732cef7]{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-3) 0 0}@media(max-width:620px){.pay-grid[data-v-6732cef7]{grid-template-columns:1fr;gap:var(--space-1) 0}.pay-grid dd[data-v-6732cef7]{margin-bottom:var(--space-3)}}.pay-box[data-v-6732cef7]{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}.pay-pending[data-v-6732cef7]{margin:0;font-size:13px;color:var(--accent-ink)}.pay-months[data-v-6732cef7]{display:flex;flex-wrap:wrap;gap:6px}.pay-go[data-v-6732cef7]{width:100%;justify-content:center}.pay-box .section-note[data-v-6732cef7]{margin:0}.pay-orders h2[data-v-6732cef7]{font-size:16px;margin:18px 0 8px}.pay-orders ul[data-v-6732cef7]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pay-order[data-v-6732cef7]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.pay-order[data-v-6732cef7]:hover{background:var(--soft)}.pay-order small[data-v-6732cef7]{margin-left:auto;color:var(--ink-3)}.pay-status[data-v-6732cef7]{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--soft);color:var(--ink-3)}.pay-status.pending[data-v-6732cef7]{background:var(--accent-soft);color:var(--accent-ink)}.pay-status.paid[data-v-6732cef7]{background:#e4f6ea;color:#1b6b3a}.pay-status.expired[data-v-6732cef7],.pay-status.cancelled[data-v-6732cef7]{background:#f6e4e4;color:#8a2a2a}.pay-alert[data-v-810e2b47]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:var(--cdo-radius-card);background:var(--accent-soft)}.pay-toolbar[data-v-810e2b47]{display:flex;gap:8px;margin-bottom:8px}.pay-student[data-v-810e2b47]{margin-bottom:18px}.pay-student h2[data-v-810e2b47]{font-size:17px;margin:0 0 8px}.pay-student h2 small[data-v-810e2b47]{color:var(--ink-3);font-weight:400}.pay-row[data-v-810e2b47]{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;padding:12px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper)}.pay-row.on[data-v-810e2b47]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.pay-pick[data-v-810e2b47]{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.pay-pick input[data-v-810e2b47]{margin-top:4px;width:18px;height:18px}.pay-pick span[data-v-810e2b47]{display:flex;flex-direction:column;gap:2px}.pay-pick small[data-v-810e2b47]{color:var(--ink-3)}.pay-months[data-v-810e2b47]{grid-column:1;display:flex;flex-wrap:wrap;gap:6px}.pay-row-right[data-v-810e2b47]{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.pay-sum[data-v-810e2b47]{font-size:18px}.pay-total[data-v-810e2b47]{position:sticky;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin:8px 0 18px;border:1px solid var(--accent-line);border-radius:var(--cdo-radius-card);background:var(--paper);box-shadow:var(--shadow);opacity:.6}.pay-total.show[data-v-810e2b47]{opacity:1}.pay-orders h2[data-v-810e2b47]{font-size:16px;margin:18px 0 8px}.pay-orders ul[data-v-810e2b47]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pay-order[data-v-810e2b47]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.pay-order[data-v-810e2b47]:hover{background:var(--soft)}.pay-order small[data-v-810e2b47]{margin-left:auto;color:var(--ink-3)}.pay-mono[data-v-810e2b47]{font-family:ui-monospace,Menlo,Consolas,monospace}.pay-status[data-v-810e2b47]{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--soft);color:var(--ink-3)}.pay-status.pending[data-v-810e2b47]{background:var(--accent-soft);color:var(--accent-ink)}.pay-status.paid[data-v-810e2b47]{background:#e4f6ea;color:#1b6b3a}.pay-status.expired[data-v-810e2b47],.pay-status.cancelled[data-v-810e2b47]{background:#f6e4e4;color:#8a2a2a}@media(max-width:720px){.pay-row[data-v-810e2b47]{grid-template-columns:1fr}.pay-row-right[data-v-810e2b47]{grid-column:1;grid-row:auto;flex-direction:row;justify-content:space-between;align-items:center}.pay-months[data-v-810e2b47]{grid-column:1}}.offline-settings .pcb[data-v-a1cf94e3]{display:flex;flex-direction:column;gap:20px}.pref-row.offline-main-toggle[data-v-a1cf94e3]{margin:0;padding:0 0 18px;border-bottom:1px solid var(--line)}.offline-main-toggle b[data-v-a1cf94e3]{font-size:14px;font-weight:600}.offline-main-toggle small[data-v-a1cf94e3]{line-height:1.5;color:var(--muted)}.offline-experimental[data-v-a1cf94e3]{padding:8px 10px;border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--ink-2)}.offline-label[data-v-a1cf94e3]{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.offline-slider[data-v-a1cf94e3]{display:flex;flex-direction:column;gap:6px}.offline-slider.off[data-v-a1cf94e3]{opacity:.5}.offline-slider-head[data-v-a1cf94e3]{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.offline-slider-head .offline-label[data-v-a1cf94e3]{margin:0}.offline-slider input[type=range][data-v-a1cf94e3]{width:100%;accent-color:var(--brand-mark,#5b3a8e)}.offline-cache[data-v-a1cf94e3]{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:var(--cdo-radius-control)}.offline-cache b[data-v-a1cf94e3]{display:block;font-size:16px}.offline-cache .offline-label[data-v-a1cf94e3]{margin-bottom:4px}.offline-actions[data-v-a1cf94e3]{display:flex;gap:10px;flex-wrap:wrap}.social-list[data-v-e48ca1a3]{gap:12px}.social-row[data-v-e48ca1a3]{display:grid;grid-template-columns:1fr 240px;align-items:center;gap:12px}.social-who[data-v-e48ca1a3]{display:flex;flex-direction:column;gap:2px;min-width:0}.social-who small[data-v-e48ca1a3]{color:var(--ink-3);font-size:12.5px}.social-act[data-v-e48ca1a3]{display:flex;justify-content:flex-end;min-height:40px}.social-act .btn[data-v-e48ca1a3]{width:240px;height:40px;justify-content:center}.social-gbox[data-v-e48ca1a3]{min-height:40px}.social-gbox.busy[data-v-e48ca1a3]{opacity:.55;pointer-events:none}@media(max-width:560px){.social-row[data-v-e48ca1a3]{grid-template-columns:1fr}.social-act[data-v-e48ca1a3]{justify-content:flex-start}}.mode-switch[data-v-e48ca1a3]{display:flex;flex-wrap:wrap;gap:8px}.school-events[data-v-4a208c3f]{display:grid;gap:14px}.shot-editor[data-v-3aa4fc72]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0a0c1eeb;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.shot-bar[data-v-3aa4fc72]{flex:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.shot-hint[data-v-3aa4fc72]{flex:1 1 220px;font-size:13px;color:var(--ink-2)}.shot-bar .btn.on[data-v-3aa4fc72]{outline:2px solid var(--accent);outline-offset:1px}.shot-stage[data-v-3aa4fc72]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.shot-canvas[data-v-3aa4fc72]{flex:none;touch-action:none;box-shadow:0 8px 40px #0006}.shot-canvas.select[data-v-3aa4fc72]{cursor:crosshair}.shot-canvas.pen[data-v-3aa4fc72]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23ff2d55'/%3E%3C/svg%3E") 8 8,crosshair}@media(max-width:640px){.shot-bar .btn[data-v-3aa4fc72]{padding:8px 10px;font-size:13px}}.support-panel[data-v-adbbe05c]{position:fixed;right:16px;bottom:16px;z-index:80;width:min(440px,calc(100vw - 32px));height:min(720px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);box-shadow:0 18px 60px #20225647;overflow:hidden}.sup-head[data-v-adbbe05c]{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.support-panel .btn[data-v-adbbe05c],.support-panel .quiet-button[data-v-adbbe05c]{min-height:36px;padding:7px 10px;font-size:var(--cdo-text-sm);line-height:1.25}.sup-thread-bar[data-v-adbbe05c]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--soft);font-size:var(--cdo-text-sm)}.sup-thread-bar>span[data-v-adbbe05c]{min-width:0;overflow-wrap:anywhere}.sup-thread-bar small[data-v-adbbe05c]{display:block;color:var(--ink-3);font-size:var(--cdo-text-xs)}.sup-thread-bar button[data-v-adbbe05c]{flex:none}.sup-head b[data-v-adbbe05c]{flex:1;min-width:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sup-old[data-v-adbbe05c]{font-size:12.5px;color:var(--ink-3)}.sup-seg[data-v-adbbe05c]{flex:1;min-width:0}.sup-seg button[data-v-adbbe05c]{flex:1}.sup-body[data-v-adbbe05c]{flex:1;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}.sup-list-top .btn[data-v-adbbe05c]{display:inline-flex;align-items:center;gap:6px}.sup-empty[data-v-adbbe05c]{margin:24px 0}.sup-list[data-v-adbbe05c]{display:flex;flex-direction:column;gap:8px}.sup-row[data-v-adbbe05c]{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--ink)}.sup-row[data-v-adbbe05c]:hover{border-color:var(--accent)}.sup-row.closed[data-v-adbbe05c]{opacity:.7}.sup-row.answered[data-v-adbbe05c]{border-left:3px solid var(--accent)}.sup-row-main[data-v-adbbe05c]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.sup-row-main b[data-v-adbbe05c]{font-size:14px}.sup-row-main b small[data-v-adbbe05c]{color:var(--ink-3);font-weight:400}.sup-row-main small[data-v-adbbe05c]{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sup-row-text[data-v-adbbe05c]{color:var(--ink-2)!important}.sup-row-side[data-v-adbbe05c]{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.sup-row-side .chip[data-v-adbbe05c]{margin:0}.sup-row-side small[data-v-adbbe05c]{font-size:11.5px;color:var(--muted)}.chip.sup-unread[data-v-adbbe05c],.chip.sup-st-answer[data-v-adbbe05c]{background:var(--accent-soft);color:var(--accent)}.sup-feed[data-v-adbbe05c]{flex:1;min-height:0;height:auto}.sup-text[data-v-adbbe05c]{white-space:pre-wrap}.sup-place[data-v-adbbe05c]{margin:0;padding:6px 10px;border-radius:var(--cdo-radius-control);background:var(--soft);font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;flex:none}.sup-feed .sup-place[data-v-adbbe05c]{align-self:stretch}.sup-thinking[data-v-adbbe05c]{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;color:var(--ink-3);font-size:13px}.sup-dots[data-v-adbbe05c]{display:inline-flex;gap:3px}.sup-dots i[data-v-adbbe05c]{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.35;animation:sup-dot-adbbe05c 1.2s infinite}.sup-dots i[data-v-adbbe05c]:nth-child(2){animation-delay:.2s}.sup-dots i[data-v-adbbe05c]:nth-child(3){animation-delay:.4s}@keyframes sup-dot-adbbe05c{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.sup-closed[data-v-adbbe05c]{margin:4px 0 0;padding:8px 10px;border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--ink-3);font-size:13px;text-align:center}.sup-compose[data-v-adbbe05c]{flex:none;display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--paper)}.sup-compose.grow[data-v-adbbe05c]{flex:1;min-height:0;overflow:auto;border-top:0;padding-top:12px}.sup-topic[data-v-adbbe05c]{display:flex;align-items:center;gap:8px;font-size:var(--cdo-text-label);color:var(--ink-3)}.sup-topic .sel[data-v-adbbe05c]{flex:1;min-width:0}.sup-compose textarea[data-v-adbbe05c]{width:100%;min-height:4.8em;max-height:40dvh;resize:none;border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:10px;font:inherit;font-size:var(--cdo-text-input);line-height:1.45;background:var(--paper);color:var(--ink)}.sup-chips[data-v-adbbe05c]{display:flex;flex-wrap:wrap;gap:6px}.sup-chip[data-v-adbbe05c]{margin:0;display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 6px}.sup-chip img[data-v-adbbe05c]{width:28px;height:28px;object-fit:cover;border-radius:4px}.sup-chip-name[data-v-adbbe05c]{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sup-chip button[data-v-adbbe05c]{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:none;color:var(--ink-3)}.sup-chip button[data-v-adbbe05c]:hover{color:var(--red)}.sup-quota[data-v-adbbe05c]{display:block;margin-top:4px}.sup-note[data-v-adbbe05c]{margin:0;font-size:13px;color:var(--ink-2)}.sup-err[data-v-adbbe05c]{margin:0;font-size:13px;color:var(--bad)}.sup-actions[data-v-adbbe05c]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sup-actions button[type=submit][data-v-adbbe05c]{margin-left:auto}.sup-actions .btn[data-v-adbbe05c]{display:inline-flex;align-items:center;gap:6px}.sup-icon[data-v-adbbe05c]{padding-left:10px;padding-right:10px}.sup-gap[data-v-adbbe05c]{flex:1}.support-panel .chat-error[data-v-adbbe05c]{margin:12px}.support-panel>.loading[data-v-adbbe05c]{padding:16px}@media(max-width:640px){.support-panel .btn[data-v-adbbe05c],.support-panel .quiet-button[data-v-adbbe05c],.support-panel .iconbtn[data-v-adbbe05c]{min-height:40px}.sup-head[data-v-adbbe05c]{gap:6px}.sup-seg button[data-v-adbbe05c]{padding:7px 8px;font-size:var(--cdo-text-sm)}.sup-row[data-v-adbbe05c]{flex-wrap:wrap}.sup-row-main[data-v-adbbe05c]{flex-basis:100%}.sup-row-side[data-v-adbbe05c]{flex:1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}.sup-row-side small[data-v-adbbe05c]{margin-left:auto}.sup-gap[data-v-adbbe05c]{display:none}.support-panel[data-v-adbbe05c]{top:0;right:0;bottom:0;left:0;width:auto;height:auto;border-radius:0;border:0;padding-top:env(safe-area-inset-top)}.sup-compose[data-v-adbbe05c]{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.sup-body[data-v-adbbe05c]{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.sup-compose textarea[data-v-adbbe05c]{font-size:var(--cdo-text-touch)}.sup-feed[data-v-adbbe05c]{padding:10px}}.notebook-overlay[data-v-e291ec68]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f142452;display:flex;align-items:stretch;justify-content:center;padding:64px 20px 20px}.notebook-panel[data-v-e291ec68]{display:flex;flex-direction:column;width:min(1280px,100%);background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);box-shadow:var(--shadow);overflow:hidden;outline:none}.notebook-panel-head[data-v-e291ec68]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 16px;border-bottom:1px solid var(--line)}.notebook-panel-head b[data-v-e291ec68]{display:flex;align-items:center;gap:8px;font-family:var(--cdo-font-display)}.notebook-panel-head .quiet-button[data-v-e291ec68]{display:inline-flex;align-items:center;gap:6px}.notebook-panel-frame[data-v-e291ec68]{flex:1;width:100%;border:0;background:var(--paper)}.notebook-panel .loading[data-v-e291ec68],.notebook-panel .chat-error[data-v-e291ec68]{margin:16px}@media(max-width:640px){.notebook-overlay[data-v-e291ec68]{padding:0}.notebook-panel[data-v-e291ec68]{border-radius:0;border:0}}.prev-attempts[data-v-114f1015]{margin:12px 0;padding:8px 12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper)}.prev-attempts-toggle[data-v-114f1015]{font-weight:600}.prev-attempts-list[data-v-114f1015]{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:10px}.prev-attempts-list li[data-v-114f1015]{padding:8px 10px;border-radius:var(--cdo-radius-control);background:var(--soft)}.prev-attempt-head[data-v-114f1015]{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.prev-attempt-head small[data-v-114f1015]{color:var(--ink-3)}.prev-attempt-comment[data-v-114f1015]{margin-top:6px;overflow-wrap:anywhere}.school-mark[data-v-3b48e02a]{display:block;flex:none}.school-mark-emblem[data-v-3b48e02a]{color:var(--brand-mark)}.school-mark-gap[data-v-3b48e02a]{fill:var(--paper)}.school-mark-plus[data-v-3b48e02a]{fill:var(--brand-plus)}.school-mark-cross[data-v-3b48e02a]{stroke:var(--paper);stroke-linecap:round;fill:none}.stu-tools[data-v-cbbd8ebb]{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:center}.stu-tools input[data-v-cbbd8ebb]{margin-left:auto}.stu-toggle[data-v-cbbd8ebb]{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.stu-toggle button[data-v-cbbd8ebb]{border:0;background:transparent;padding:.3rem .7rem;font:inherit;font-size:.85rem;cursor:pointer;color:inherit}.stu-toggle button.on[data-v-cbbd8ebb]{background:var(--accent);color:var(--on-accent)}.stu-hot .thead[data-v-cbbd8ebb]{background:color-mix(in srgb,var(--red) 10%,transparent)}.stu-unread-total[data-v-cbbd8ebb]{color:var(--red-ink)}.stu[data-v-cbbd8ebb]{cursor:pointer}.stu .avatar[data-v-cbbd8ebb]{position:relative}.stu-dot[data-v-cbbd8ebb]{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--red);color:var(--on-red);font:600 .7rem/18px system-ui,sans-serif;text-align:center;font-style:normal}.stu-actions[data-v-cbbd8ebb]{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.stu-tiles[data-v-cbbd8ebb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:12px}.stu.tile[data-v-cbbd8ebb]{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"av main" "act act";align-items:start;gap:10px 12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.stu.tile .avatar[data-v-cbbd8ebb]{grid-area:av}.stu.tile .stu-main[data-v-cbbd8ebb]{grid-area:main;gap:4px}.stu.tile .stu-name[data-v-cbbd8ebb]{flex-wrap:wrap}.stu.tile .stu-meta[data-v-cbbd8ebb]{white-space:normal;overflow:visible;overflow-wrap:anywhere;line-height:1.4}.stu.tile .stu-note[data-v-cbbd8ebb]{white-space:normal;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.4}.stu.tile .stu-actions[data-v-cbbd8ebb]{grid-area:act;padding-top:10px;border-top:1px solid var(--line)}.stu.tile .stu-actions .quiet-button[data-v-cbbd8ebb]{margin:0}.stu[data-v-cbbd8ebb]{transition:background-color var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1)),box-shadow var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1)),border-radius var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1))}.stu.selected[data-v-cbbd8ebb]{scroll-margin-top:62px;box-shadow:inset 2px 0 var(--accent),inset -2px 0 var(--accent),inset 0 2px var(--accent);border-radius:10px 10px 0 0;border-bottom-color:transparent}.stu-chat[data-v-cbbd8ebb]{grid-column:1/-1;flex:1 1 100%;width:100%;display:grid;grid-template-rows:1fr;scroll-margin:62px 0 16px}.stu-chat-in[data-v-cbbd8ebb]{min-height:0}.stu-chat-enter-active[data-v-cbbd8ebb],.stu-chat-leave-active[data-v-cbbd8ebb]{transition:grid-template-rows var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1)),opacity var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1))}.stu-chat-enter-active>.stu-chat-in[data-v-cbbd8ebb],.stu-chat-leave-active>.stu-chat-in[data-v-cbbd8ebb]{overflow:hidden}.stu-chat-enter-from[data-v-cbbd8ebb],.stu-chat-leave-to[data-v-cbbd8ebb]{grid-template-rows:0fr;opacity:0}.stu-chat-body[data-v-cbbd8ebb]{display:flex;flex-direction:column;min-height:calc(clamp(270px,52dvh,620px) + 190px);padding:2px 8px 8px;background:var(--accent-soft);border-radius:0 0 10px 10px;box-shadow:inset 2px 0 var(--accent),inset -2px 0 var(--accent),inset 0 -2px var(--accent)}.stu-chat-body>.chat-panel[data-v-cbbd8ebb],.stu-chat-wait[data-v-cbbd8ebb]{flex:1 0 auto}.stu-chat-body>.chat-panel[data-v-cbbd8ebb]{display:flex;flex-direction:column}.stu-chat-body>.chat-panel[data-v-cbbd8ebb]>.loading{flex:1}.stu-chat-wait[data-v-cbbd8ebb]{margin:0;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper)}@media(max-width:760px),(max-height:500px){.stu-chat[data-v-cbbd8ebb]{scroll-margin-bottom:96px}.stu-chat-body[data-v-cbbd8ebb]{min-height:calc(48dvh + 290px)}}.stu-tiles[data-v-cbbd8ebb]{grid-auto-flow:row dense;gap:0 12px;padding:12px 12px 0}.stu.tile[data-v-cbbd8ebb]{margin-bottom:12px}.stu.tile.selected[data-v-cbbd8ebb]{position:relative;z-index:1;margin-bottom:-2px;border-color:var(--accent);border-bottom-color:transparent;border-radius:12px 12px 0 0;box-shadow:inset 1px 0 var(--accent),inset -1px 0 var(--accent),inset 0 1px var(--accent)}.stu-tiles .stu-chat-body[data-v-cbbd8ebb]{margin-bottom:12px;border-radius:0 0 12px 12px;box-shadow:inset 0 0 0 2px var(--accent)}.ectl[data-v-a8cddb98]{position:relative}.handle[data-v-a8cddb98]{flex:none;cursor:grab;color:var(--ink-3);font-size:14px;line-height:1;padding:4px 2px;margin-right:2px;-webkit-user-select:none;user-select:none;opacity:.55}.handle[data-v-a8cddb98]:hover{opacity:1;color:var(--accent)}.thead .handle[data-v-a8cddb98]{margin:0 2px 0 -6px}.lrow[data-v-a8cddb98],.item[data-v-a8cddb98]{position:relative}.lrow .handle[data-v-a8cddb98]{position:absolute;left:7px;top:50%;transform:translateY(-50%)}.lrow.has-handle[data-v-a8cddb98]{padding-left:24px}.item .handle[data-v-a8cddb98]{position:absolute;left:22px;top:50%;transform:translateY(-50%)}@media(hover:none){.handle[data-v-a8cddb98]{display:none}}.dragging[data-v-a8cddb98]{opacity:.45}.drop-before[data-v-a8cddb98]{box-shadow:inset 0 2px 0 var(--accent)}.drop-after[data-v-a8cddb98]{box-shadow:inset 0 -2px 0 var(--accent)}.theme.drop-before[data-v-a8cddb98]{box-shadow:0 -3px 0 var(--accent)}.theme.drop-after[data-v-a8cddb98]{box-shadow:0 3px 0 var(--accent)}.omenu[data-v-a8cddb98]{width:auto;min-width:190px}.omenu .jmi[data-v-a8cddb98]{white-space:nowrap}.omenu .jmi[data-v-a8cddb98]:disabled{color:var(--muted);cursor:default;border-color:var(--line);background:var(--bg)}.omenu hr[data-v-a8cddb98]{border:0;border-top:1px solid var(--line);margin:0 2px}.fchips[data-v-a8cddb98]{flex:none;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--cdo-text-sm);color:var(--ink-3);background:var(--soft);border-radius:999px;padding:2px 9px}.thead .fchips[data-v-a8cddb98]{margin-left:8px;font-family:inherit}.items .fchips[data-v-a8cddb98]{background:var(--paper);border:1px solid var(--line)}.thead .ectl[data-v-a8cddb98]{margin-left:auto}.teacher-outline .thead[data-v-a8cddb98]{gap:7px;padding-top:9px;padding-bottom:9px}.teacher-outline .thead b[data-v-a8cddb98]{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-outline .theme-meta[data-v-a8cddb98]{display:flex;align-items:center;gap:4px;min-width:0;margin-left:auto;overflow:hidden}.teacher-outline .theme-meta>span[data-v-a8cddb98]{margin-left:0;font-family:inherit}.teacher-outline .theme-meta .fchips[data-v-a8cddb98]{margin-left:0;max-width:210px}.teacher-outline .thead .ectl[data-v-a8cddb98]{margin-left:0}.teacher-outline .tchip[data-v-a8cddb98],.teacher-outline .fchips[data-v-a8cddb98]{color:var(--ink-2);font-weight:500}.teacher-outline .theme-flag.off[data-v-a8cddb98],.teacher-outline .item-publication.off[data-v-a8cddb98]{color:var(--ink-2);background:var(--paper);border-color:var(--line)}@media(min-width:701px){.teacher-outline .iconbtn[data-v-a8cddb98]{width:32px;height:32px;min-height:32px;border-radius:8px}}.teacher-outline .lrow[data-v-a8cddb98]{gap:5px;padding-top:8px;padding-bottom:8px;font-size:14px}.teacher-outline .lchips[data-v-a8cddb98]{max-width:58%;gap:4px}.teacher-outline .lchips .fchips[data-v-a8cddb98]{max-width:190px}.teacher-outline .lchips .tchip[data-v-a8cddb98]{font-size:var(--cdo-text-xs)}.teacher-outline .tchip.mark-one[data-v-a8cddb98]{color:var(--ink-3);background:var(--paper);border-color:var(--line);font-weight:600}.teacher-outline .items[data-v-a8cddb98]{padding-top:2px}.teacher-outline .item[data-v-a8cddb98]{gap:7px;padding-top:5px;padding-bottom:5px;font-size:13px}.teacher-outline .item-publication[data-v-a8cddb98]{color:var(--ok-ink);background:var(--ok-soft);border-color:transparent;font-family:inherit}.teacher-outline .item .fchips[data-v-a8cddb98]{max-width:190px}.req[data-v-a8cddb98]{flex:none;font-size:var(--cdo-text-xs);color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:2px 8px}.ucw[data-v-a8cddb98]{flex:none;align-self:center;font-size:var(--cdo-text-sm);font-weight:600;color:var(--cell-check-ink);background:var(--cell-check);border-radius:999px;padding:3px 10px;margin-left:6px;text-decoration:none;white-space:nowrap}.ucw[data-v-a8cddb98]:hover{filter:brightness(.96)}.due.quiet[data-v-a8cddb98]{color:var(--ink-3)}@media(max-width:700px){.fchips[data-v-a8cddb98]{max-width:140px}}@media(max-width:700px){.teacher-outline .theme-meta[data-v-a8cddb98]{max-width:44%}.teacher-outline .theme-meta .fchips[data-v-a8cddb98]{max-width:110px}.teacher-outline .lchips[data-v-a8cddb98]{max-width:45%}.teacher-outline .lchips .fchips[data-v-a8cddb98]{max-width:92px}.teacher-outline .item .fchips[data-v-a8cddb98]{max-width:100px}}.install-strip[data-v-10d0437b]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0 0;padding:10px 14px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--soft)}.install-strip-text[data-v-10d0437b]{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13.5px;line-height:1.45}.install-strip-text b[data-v-10d0437b]{font-size:14px}.install-strip-text span[data-v-10d0437b]{color:var(--muted)}.install-strip-actions[data-v-10d0437b]{display:flex;gap:8px;align-items:center;flex-shrink:0}.drops-live[data-v-5f21909f]{position:fixed;right:20px;bottom:20px;z-index:1250;width:min(390px,calc(100vw - 32px));pointer-events:none}.drops-live.inline[data-v-5f21909f]{position:static;width:auto;max-width:390px;pointer-events:auto}.drops-toast[data-v-5f21909f]{position:relative;display:flex;align-items:center;gap:12px;padding:13px 42px 13px 13px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);box-shadow:0 18px 55px #2022562b;color:var(--ink);pointer-events:auto;animation:drops-toast-in-5f21909f .24s ease-out}.inline .drops-toast[data-v-5f21909f]{padding-right:13px;box-shadow:var(--shadow)}.drops-toast-icon[data-v-5f21909f]{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:var(--cdo-radius-card);background:var(--drop-soft);color:var(--drop)}.drops-toast.level .drops-toast-icon[data-v-5f21909f]{background:var(--amber-soft);color:var(--level-ring)}.drops-toast p[data-v-5f21909f]{margin:0;font-size:14px;line-height:1.45;min-width:0;overflow-wrap:anywhere}.drops-toast b[data-v-5f21909f]{color:var(--drop-ink);font-variant-numeric:tabular-nums}.drops-toast-close[data-v-5f21909f]{position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;border-radius:var(--cdo-radius-control);background:transparent;color:var(--muted);font-size:22px;line-height:1}.drops-toast-close[data-v-5f21909f]:hover{background:var(--soft);color:var(--ink)}@keyframes drops-toast-in-5f21909f{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:760px){.drops-live[data-v-5f21909f]:not(.inline){left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));width:auto}}@media(prefers-reduced-motion:reduce){.drops-toast[data-v-5f21909f]{animation:none}}.drops-chip[data-v-0e226b08]{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 11px 0 9px;border-radius:999px;background:var(--drop-soft);color:var(--drop-ink);font-size:14px;line-height:1;white-space:nowrap;flex:none}.drops-chip[data-v-0e226b08]:hover{box-shadow:inset 0 0 0 1px var(--drop)}.drops-chip .app-icon[data-v-0e226b08]{color:var(--drop)}.drops-chip b[data-v-0e226b08]{font-weight:700;font-variant-numeric:tabular-nums}.drops-chip.bump[data-v-0e226b08]{animation:drops-chip-bump-0e226b08 .6s ease-out}@keyframes drops-chip-bump-0e226b08{0%{transform:scale(1)}35%{transform:scale(1.14)}to{transform:scale(1)}}@media(max-width:760px){.drops-chip[data-v-0e226b08]{height:36px;padding:0 9px 0 7px}}@media(max-width:760px),(max-height:500px){.top--learning .drops-chip[data-v-0e226b08]{display:none}}@media(prefers-reduced-motion:reduce){.drops-chip.bump[data-v-0e226b08]{animation:none}}.login-wrap[data-v-82b83457]{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px 16px;background:var(--bg);box-sizing:border-box}.login-card[data-v-82b83457]{box-sizing:border-box;width:min(380px,100%);min-width:0;display:flex;flex-direction:column;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-dialog);padding:26px 24px;box-shadow:var(--shadow)}.login-brand[data-v-82b83457]{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;color:var(--accent);font-size:17px}.login-card h1[data-v-82b83457]{font-size:22px;margin:0}.login-sub[data-v-82b83457]{margin:0;font-size:14px;color:var(--ink-3)}.login-card .f[data-v-82b83457]{font-size:12.5px;color:var(--ink-3)}.login-pass[data-v-82b83457]{position:relative;display:block}.login-pass .inp[data-v-82b83457]{padding-right:44px}.login-eye[data-v-82b83457]{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:none;cursor:pointer;color:var(--ink-3);display:grid;place-items:center}.login-go[data-v-82b83457]{width:100%;padding:12px;font-size:16px;justify-content:center}.login-note[data-v-82b83457]{margin:0;font-size:12.5px;color:var(--ink-3);text-align:center}.login-link[data-v-82b83457]{background:none;border:0;padding:0;color:var(--accent);font:inherit;font-size:13px;cursor:pointer;text-align:center}.login-or[data-v-82b83457]{display:flex;align-items:center;gap:10px;margin:0;color:var(--ink-3);font-size:12.5px}.login-or[data-v-82b83457]:before,.login-or[data-v-82b83457]:after{content:"";flex:1;height:1px;background:var(--line)}.login-google[data-v-82b83457]{display:flex;justify-content:center;min-height:44px;margin:0 -10px;padding:0 10px;overflow-x:clip}.login-google.busy[data-v-82b83457]{opacity:.55;pointer-events:none}.login-who[data-v-82b83457]{width:100%;justify-content:flex-start;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;text-align:left}.login-who small[data-v-82b83457]{color:var(--ink-3);font-size:12.5px}:root{--cdo-font-sans:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;--cdo-font-display:"Montserrat",system-ui,sans-serif;--cdo-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--cdo-text-xs:12.5px;--cdo-text-sm:13px;--cdo-text-body:14px;--cdo-text-heading:18px;--cdo-text-caption:12px;--cdo-text-label:13.5px;--cdo-text-input:15.5px;--cdo-text-reading:16px;--cdo-text-touch:17px;--cdo-text-title:20px;--cdo-space-1:4px;--cdo-space-2:8px;--cdo-space-3:12px;--cdo-space-4:16px;--cdo-space-5:24px;--cdo-space-6:32px;--cdo-radius-control:10px;--cdo-radius-card:14px;--cdo-radius-dialog:16px;--font:var(--cdo-font-sans);--font-display:var(--cdo-font-display);--radius-sm:var(--cdo-radius-control);--radius:var(--cdo-radius-card);--radius-lg:var(--cdo-radius-dialog);--space-1:var(--cdo-space-1);--space-2:var(--cdo-space-2);--space-3:var(--cdo-space-3);--space-4:var(--cdo-space-4);--space-5:var(--cdo-space-5);--space-6:var(--cdo-space-6);--motion-fast:.18s;--motion-base:.32s;--motion-slow:.48s;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1)}*{box-sizing:border-box}body{margin:0;font-family:Onest,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,.heading h1{font-family:Montserrat,system-ui,sans-serif;letter-spacing:-.01em}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.shell{--bg:#eff1fa;--paper:#fff;--soft:#eef0fa;--ink:#1b2559;--ink-2:#4a5578;--ink-3:#5f6a87;--muted:#727e9b;--line:#e4e7f3;--accent:#6366e8;--accent-soft:#e4e5fb;--accent-ink:#4348be;--accent-glow:rgba(99,102,232,.06);--ok:#0f9d63;--ok-soft:#e3f7ee;--warn:var(--amber-ink);--bad:var(--red-ink);--amber:#e08b2e;--amber-soft:#fef3e2;--red:#e8544b;--red-soft:#fdeceb;--ok-ink:#0b784c;--amber-ink:#995a17;--red-ink:#c62a20;--on-amber:#3d2506;--on-red:#3d0c09;--cell-pass:#c6eed5;--cell-pass-ink:#17613b;--cell-fail:#ffd0d5;--cell-fail-ink:#a3202f;--cell-check:#fbf1a8;--cell-check-ink:#6b5800;--cell-ill:#f6dfb6;--cell-ill-ink:#7a4c0c;--cell-fut:#eadcf9;--cell-fut-ink:#6a3fa0;--cell-gray:#e6e6eb;--cell-gray-ink:#55586a;--smile-face-1:#ffe98a;--smile-face-2:#f7b83a;--smile-face-line:#d9962a;--brand-mark:#5b3a8e;--brand-plus:#2aa79c;--smile-support-1:#ffc2b5;--smile-support-2:#ee6a57;--smile-support-line:#c2483a;--smile-growing-1:#fff6a8;--smile-growing-2:#f2d630;--smile-growing-line:#c9a916;--smile-confident-1:#ffd592;--smile-confident-2:#f5912a;--smile-confident-line:#cf7118;--smile-ink:#3b2f1c;--smile-mouth:#7a2f2f;--smile-cheek:#f6866f;--smile-spark:#ffd23f;--smile-spark-line:#e08a1e;--smile-ring-support:#cfd8e6;--smile-ring-growing:#cfe3a8;--smile-ring-confident:#95d1ad;--smile-ring-excellent:#f2a9c0;--lesson-intro-bg:#f7ab79;--lesson-intro-line:#ff8c00;--lesson-rule-bg:#ffcae8;--lesson-rule-line:#e9a5e7;--lesson-example-bg:#fff7b1;--lesson-example-line:#e7d98f;--lesson-task-bg:#c8ffd6;--lesson-task-line:#9be59e;--lesson-summary-bg:#bbd4ff;--lesson-summary-line:#77bcff;--lesson-extra-bg:#beb3ff;--lesson-extra-line:#8089ff;--on-accent:#fff;--on-ok:#fff;--accent-line:#c9c4ff;--code-bg:#171923;--code-ink:#e9ecf5;--mono:var(--cdo-font-mono);--text-xs:var(--cdo-text-caption);--text-sm:var(--cdo-text-body);--text-md:var(--cdo-text-reading);--text-lg:var(--cdo-text-title);--control:40px;--shadow:0 1px 2px rgba(32,34,86,.04),0 8px 26px rgba(32,34,86,.07);min-height:100dvh;background:radial-gradient(1200px 620px at 50% -12%,var(--accent-glow),transparent 70%),var(--bg);color:var(--ink);display:grid;grid-template-columns:262px minmax(0,1fr)}.shell.dark{--on-accent:#131a2c;--on-ok:#0e2a20;--accent-line:#3f4180;--bg:#0f1424;--paper:#171e31;--soft:#1f2739;--ink:#e8ecf6;--muted:#a8b2cc;--line:#2b3450;--accent:#9a9cff;--accent-soft:#282a57;--accent-ink:#c6c8ff;--accent-glow:rgba(154,156,255,.07);--ok:#3ecf8e;--ok-soft:#12312a;--warn:#f2a845;--bad:#f0746b;--amber:#f2a845;--amber-soft:#3a2c15;--red:#f0746b;--red-soft:#3a1e1d;--ink-2:#a8b2cc;--ink-3:#8791ab;--cell-pass:#1e4a34;--cell-pass-ink:#bdf0d2;--cell-fail:#5a2530;--cell-fail-ink:#ffd0d6;--cell-check:#4d4414;--cell-check-ink:#f4e79a;--cell-ill:#4f3a1a;--cell-ill-ink:#f3d6a8;--cell-fut:#3a2e56;--cell-fut-ink:#dac8f6;--cell-gray:#34374a;--cell-gray-ink:#c8cad6;--smile-face-1:#e9cf62;--smile-face-2:#c9921f;--smile-face-line:#a3731a;--brand-mark:#c4a7f0;--brand-plus:#5fd9cd;--smile-support-1:#e3a092;--smile-support-2:#c24f3f;--smile-support-line:#93392d;--smile-growing-1:#e9d860;--smile-growing-2:#c4a71c;--smile-growing-line:#957f14;--smile-confident-1:#e6b36b;--smile-confident-2:#c4711c;--smile-confident-line:#945414;--smile-ink:#2a2112;--smile-mouth:#5a2222;--smile-cheek:#d9705a;--smile-spark:#e8c043;--smile-spark-line:#b8741c;--smile-ring-support:#4b5468;--smile-ring-growing:#5f7a3c;--smile-ring-confident:#3f8a5e;--smile-ring-excellent:#a05a76;--shadow:none;color-scheme:dark}.shell{--drop:#1b8fd2;--drop-soft:#e0f1fb;--drop-ink:#0c5d8c;--level-ring:#c97f0c}.shell.dark{--drop:#63c3f2;--drop-soft:#12324a;--drop-ink:#bfe7fb;--level-ring:#f2b650}.shell.dark{--ok-ink:#3ecf8e;--amber-ink:#f2a845;--red-ink:#f0746b;--on-amber:#131a2c;--on-red:#131a2c}.shell[data-preset=winter]{--bg:#eef6fa;--soft:#e5f1f7;--line:#d6e7ef;--accent:#287da8;--accent-soft:#dbeef7;--accent-ink:#185f83;--accent-glow:rgba(40,125,168,.1)}.shell[data-preset=spring]{--bg:#f0f7f2;--soft:#e7f3ea;--line:#d8e8dc;--accent:#35845c;--accent-soft:#dff0e5;--accent-ink:#246341;--accent-glow:rgba(53,132,92,.1)}.shell[data-preset=festive]{--bg:#fbf2f5;--soft:#f7e8ed;--line:#ecd8df;--accent:#a34468;--accent-soft:#f4dce5;--accent-ink:#7e2f4e;--accent-glow:rgba(163,68,104,.1)}.shell.dark[data-preset=winter]{--bg:#101b25;--soft:#1b2c39;--line:#294151;--accent:#72c7ec;--accent-soft:#173b4d;--accent-ink:#b9e8fb;--accent-glow:rgba(114,199,236,.08)}.shell.dark[data-preset=spring]{--bg:#111c17;--soft:#1c2d24;--line:#2b4637;--accent:#77d5a0;--accent-soft:#173c29;--accent-ink:#b9efd0;--accent-glow:rgba(119,213,160,.08)}.shell.dark[data-preset=festive]{--bg:#21131a;--soft:#34202a;--line:#50303d;--accent:#ef94b5;--accent-soft:#51243a;--accent-ink:#ffd0e0;--accent-glow:rgba(239,148,181,.08)}.sidebar{background:var(--paper);border-right:1px solid var(--line);padding:0 10px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;min-width:0}.identity{display:flex;align-items:center;gap:10px;min-height:76px;padding:12px 5px;border-bottom:1px solid var(--line);font-size:13.5px;flex:none}.identity:hover,.identity.active{color:var(--accent)}.avatar,.header-profile{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);flex:none;font-size:13.5px;font-weight:600}.identity-label{min-width:0;font-weight:600;overflow-wrap:anywhere;line-height:1.35}.identity small{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;font-weight:400}.primary-nav{padding-top:9px}.nav{display:flex;align-items:center;gap:10px;border-radius:var(--cdo-radius-control);padding:9px 12px;min-height:40px;font-size:14.5px;margin:2px 0}.nav>span:first-child{font-size:18.5px;width:18px;text-align:center;flex:none;color:var(--muted)}.nav:hover,.sub:hover{background:var(--soft)}.nav.active,.sub.active{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.nav.active>span:first-child{color:var(--accent)}.seclbl{display:flex;align-items:center;gap:6px;padding:15px 5px 8px;font-size:12.5px;color:var(--muted);flex:none}.side-top{display:flex;align-items:center;gap:8px;padding:11px 5px;border-bottom:1px solid var(--line);flex:none}.side-brand{display:flex;align-items:center;gap:7px;font-family:Montserrat,system-ui,sans-serif;font-weight:600;font-size:17.5px;color:var(--ink);min-width:0}.side-brand-mark{color:var(--accent);font-size:16.5px;flex:none}.mobile-brand{display:none;align-items:center;gap:7px}.side-brand-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse-btn{margin-left:auto}.shell.mini .side-brand-text{display:none}.shell.mini .side-top{justify-content:center;gap:0}.shell.mini .side-brand{display:none}.collapse-btn{min-width:28px;min-height:28px;border-radius:var(--cdo-radius-control);border:1px solid var(--line);background:var(--paper);color:var(--muted);display:grid;place-items:center}.collapse-btn:hover{color:var(--accent);border-color:var(--accent)}.sublist{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding-bottom:12px;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain}.sublist::-webkit-scrollbar{width:0;height:0;display:none}.sub{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--cdo-radius-control);font-size:14px;min-height:43px;color:var(--ink-2)}.sub:hover{background:var(--soft);color:var(--ink)}.sub.has-badge .sub-label{font-weight:600;color:var(--ink)}.sbadge{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:var(--cdo-radius-control);font:600 11.5px/20px var(--mono);text-align:center;color:var(--on-accent)}.sbadge.work{background:var(--amber);color:var(--on-amber)}.sbadge.msg{background:var(--accent)}.shell.mini .sbadge{position:absolute;top:8px;left:30px;width:10px;height:10px;min-width:0;padding:0;font-size:0;line-height:0;border-radius:50%;border:2px solid var(--paper);box-shadow:none;z-index:5;pointer-events:none}.shell.mini .sbadge.msg+.sbadge.work,.shell.mini .sbadge.work+.sbadge.msg{top:22px}.shell.mini .sub:hover .sbadge,.shell.mini .sub:focus-visible .sbadge{opacity:0}.shell.mini .sub{position:relative}.sub-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;background:hsl(var(--hue,245) 72% 94%);color:hsl(var(--hue,245) 56% 40%);border-radius:var(--cdo-radius-control);font-weight:600;font-size:15.5px}.subject-icon svg{width:72%;height:72%;display:block}.dark .subject-icon{background:hsl(var(--hue,245) 30% 23%);color:hsl(var(--hue,245) 74% 78%)}.subject-icon svg{overflow:visible;stroke-width:1.8}.subject-icon{animation:sic-breathe 7s ease-in-out infinite;animation-delay:calc(var(--hue,245) * -.02s)}@keyframes sic-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.035)}}.subject-icon{--subject-badge-bg:hsl(var(--hue,245) 72% 94%)}.dark .subject-icon{--subject-badge-bg:hsl(var(--hue,245) 30% 23%)}@keyframes sic-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes sic-fade{0%{opacity:0}to{opacity:1}}.subject-icon svg>*{stroke-dasharray:1;stroke-dashoffset:1;animation:sic-draw var(--motion-slow,.48s) var(--ease-out,cubic-bezier(.22,1,.36,1)) forwards}.subject-icon svg>*:nth-child(2){animation-delay:.08s}.subject-icon svg>*:nth-child(3){animation-delay:.16s}.subject-icon svg>*:nth-child(4){animation-delay:.22s}.subject-icon svg>*:nth-child(n+5){animation-delay:.28s}.subject-icon svg text{stroke-dasharray:none;stroke-dashoffset:0;animation:sic-fade var(--motion-slow,.48s) var(--ease-out,cubic-bezier(.22,1,.36,1)) .2s both}@keyframes sic-spin{to{transform:rotate(360deg)}}@keyframes sic-pulse{0%,to{transform:scale(1)}30%{transform:scale(1.12)}60%{transform:scale(.98)}}@keyframes sic-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes sic-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3.5px)}}@keyframes sic-tilt{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes sic-bubble{0%{transform:translateY(0);opacity:0}30%{opacity:1}to{transform:translateY(-6px);opacity:0}}@keyframes sic-blink{0%,45%{opacity:1}50%,95%{opacity:0}}@keyframes sic-flip{0%,to{transform:scaleX(1)}50%{transform:scaleX(.6)}}@keyframes sic-sway{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes sic-rise{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes sic-wob{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes sic-wave{0%,to{transform:translate(0)}50%{transform:translate(1.5px)}}.subject-icon svg [data-a]{transform-box:view-box;transform-origin:12px 12px}.subject-icon svg [data-a=tilt]{transform-origin:12px 6px}.subject-icon svg [data-a=sway]{transform-origin:12px 4px}.subject-icon svg [data-a=rise],.subject-icon svg [data-a=rise2]{transform-origin:12px 20px}:is(:hover,:focus-visible)>.subject-icon svg [data-a],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a],.subject-icon.live svg [data-a]{animation-duration:1.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-fill-mode:none;animation-delay:0s;stroke-dasharray:none;stroke-dashoffset:0}:is(:hover,:focus-visible)>.subject-icon svg [data-a=spin],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=spin],.subject-icon.live svg [data-a=spin]{animation-name:sic-spin;animation-duration:6s;animation-timing-function:linear}:is(:hover,:focus-visible)>.subject-icon svg [data-a=orbit],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=orbit],.subject-icon.live svg [data-a=orbit]{animation-name:sic-spin;animation-duration:2.4s;animation-timing-function:linear}:is(:hover,:focus-visible)>.subject-icon svg [data-a=orbit2],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=orbit2],.subject-icon.live svg [data-a=orbit2]{animation-name:sic-spin;animation-duration:2.4s;animation-timing-function:linear;animation-direction:reverse}:is(:hover,:focus-visible)>.subject-icon svg [data-a=electron],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=electron],.subject-icon.live svg [data-a=electron]{animation-name:sic-spin;animation-duration:2.2s;animation-timing-function:linear}:is(:hover,:focus-visible)>.subject-icon svg [data-a=electron2],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=electron2],.subject-icon.live svg [data-a=electron2]{animation-name:sic-spin;animation-duration:2.9s;animation-timing-function:linear;animation-direction:reverse}:is(:hover,:focus-visible)>.subject-icon svg [data-a=electron3],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=electron3],.subject-icon.live svg [data-a=electron3]{animation-name:sic-spin;animation-duration:3.6s;animation-timing-function:linear}:is(:hover,:focus-visible)>.subject-icon svg [data-a=blink2],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=blink2],.subject-icon.live svg [data-a=blink2]{animation-name:sic-blink;animation-duration:1.4s;animation-timing-function:step-end;animation-delay:.6s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=pulse],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=pulse],.subject-icon.live svg [data-a=pulse]{animation-name:sic-pulse;animation-duration:1.1s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=bob],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=bob],.subject-icon.live svg [data-a=bob]{animation-name:sic-bob}:is(:hover,:focus-visible)>.subject-icon svg [data-a=bob2],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=bob2],.subject-icon.live svg [data-a=bob2]{animation-name:sic-bob;animation-delay:.5s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=bounce],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=bounce],.subject-icon.live svg [data-a=bounce]{animation-name:sic-bounce;animation-duration:1s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=tilt],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=tilt],.subject-icon.live svg [data-a=tilt]{animation-name:sic-tilt;animation-duration:2.2s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=bubble],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=bubble],.subject-icon.live svg [data-a=bubble]{animation-name:sic-bubble;animation-duration:1.4s;animation-timing-function:ease-out}:is(:hover,:focus-visible)>.subject-icon svg [data-a=bubble2],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=bubble2],.subject-icon.live svg [data-a=bubble2]{animation-name:sic-bubble;animation-duration:1.4s;animation-timing-function:ease-out;animation-delay:.6s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=blink],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=blink],.subject-icon.live svg [data-a=blink]{animation-name:sic-blink;animation-duration:1s;animation-timing-function:step-end}:is(:hover,:focus-visible)>.subject-icon svg [data-a=flip],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=flip],.subject-icon.live svg [data-a=flip]{animation-name:sic-flip}:is(:hover,:focus-visible)>.subject-icon svg [data-a=sway],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=sway],.subject-icon.live svg [data-a=sway]{animation-name:sic-sway;animation-duration:1.8s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=rise],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=rise],.subject-icon.live svg [data-a=rise]{animation-name:sic-rise;animation-duration:1.2s;animation-timing-function:ease-out;animation-direction:alternate}:is(:hover,:focus-visible)>.subject-icon svg [data-a=rise2],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=rise2],.subject-icon.live svg [data-a=rise2]{animation-name:sic-rise;animation-duration:1.2s;animation-timing-function:ease-out;animation-direction:alternate;animation-delay:.3s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=wob],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=wob],.subject-icon.live svg [data-a=wob]{animation-name:sic-wob;animation-duration:1.8s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=wave],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=wave],.subject-icon.live svg [data-a=wave]{animation-name:sic-wave;animation-duration:1.3s}:is(:hover,:focus-visible)>.subject-icon svg [data-a=wave2],:is(:hover,:focus-visible)>*>.subject-icon svg [data-a=wave2],.subject-icon.live svg [data-a=wave2]{animation-name:sic-wave;animation-duration:1.3s;animation-delay:.4s}@media(prefers-reduced-motion:reduce){.subject-icon{animation:none!important}.subject-icon svg *{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:1!important}}.sub .subject-icon{width:27px;height:27px;border-radius:var(--cdo-radius-control)}.sub.active .subject-icon{background:hsl(var(--hue,245) 58% 52%);color:#fff}.side-note{padding:13px 5px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);flex:none}.shell.mini{grid-template-columns:68px minmax(0,1fr)}.shell.presenting{grid-template-columns:minmax(0,1fr)}.shell.presenting .sidebar,.shell.presenting .top,.shell.presenting .install-strip,.shell.presenting .item-strip,.shell.presenting .teacher-viewbar,.shell.presenting .bottom-nav,.shell.presenting .nav-handle,.shell.presenting .offline-strip{display:none}.shell.presenting .workspace{--learning-tools-top:0px;max-width:none;padding:56px 16px 0}.present-bar{position:fixed;top:10px;right:14px;z-index:60;display:flex;align-items:center;gap:6px;max-width:calc(100vw - 28px);padding:5px 6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-control);box-shadow:var(--shadow);opacity:.6;transition:opacity var(--motion-fast,.18s) var(--ease-out,ease)}.present-bar:hover,.present-bar:focus-within{opacity:1}.present-bar .present-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ink-2)}.present-bar .iconbtn.off{opacity:.35;pointer-events:none}.present-bar .btn{min-height:32px;padding:4px 10px;display:inline-flex;align-items:center;gap:6px}.present-bar .btn.on{background:var(--accent-soft);color:var(--accent-ink)}@media(max-width:760px){.actions .present-btn{display:none}}@media(max-width:380px){.top .actions{gap:2px}.top .actions button,.top .header-profile{width:34px;height:34px}}.mini .sidebar{padding:0 7px}.mini .identity,.mini .nav,.mini .sub,.mini .seclbl{justify-content:center;padding-left:0;padding-right:0}.mini .identity-label,.mini .nav-label,.mini .sub-label,.mini .seclbl>span,.mini .side-note{display:none}.mini .collapse-btn{margin:0}.mini .sublist{gap:3px;padding:10px 3px 18px}.mini .sub{position:relative;min-height:44px;background:transparent;transition:background-color var(--motion-fast,.18s) ease}.mini .sub .subject-icon{position:relative;z-index:1;transition:transform var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1)),box-shadow var(--motion-base,.32s) ease,background-color var(--motion-fast,.18s) ease;transform-origin:center}.mini .sub:hover,.mini .sub.active{background:transparent}.mini .sub:hover .subject-icon,.mini .sub:focus-visible .subject-icon{z-index:4;transform:scale(1.48);box-shadow:0 10px 34px #20225629}.mini .sub:has(+.sub:hover) .subject-icon,.mini .sub:hover+.sub .subject-icon,.mini .sub:has(+.sub:focus-visible) .subject-icon,.mini .sub:focus-visible+.sub .subject-icon{z-index:3;transform:scale(1.22)}.mini .sub:has(+.sub+.sub:hover) .subject-icon,.mini .sub:hover+.sub+.sub .subject-icon,.mini .sub:has(+.sub+.sub:focus-visible) .subject-icon,.mini .sub:focus-visible+.sub+.sub .subject-icon{z-index:2;transform:scale(1.09)}.mini .sub.active:before{content:"";position:absolute;left:-3px;width:3px;height:18px;border-radius:0 4px 4px 0;background:var(--accent)}.workspace{--learning-tools-top:110px;min-width:0;padding:0 28px;max-width:1540px;width:100%;margin:0 auto}.top{position:sticky;top:0;z-index:30;height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:var(--bg)}.crumb{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted);min-width:0;overflow:hidden}.crumb a{min-width:34px;max-width:280px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:0 1 auto}.crumb a:first-child{flex:none}.crumb a:hover{color:var(--accent)}.crumb b{font-weight:600;color:var(--accent);white-space:nowrap}.actions{display:flex;gap:9px;align-items:center;flex:none}.actions button{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);font-size:18.5px}.heading,.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.workspace>.tabs,.workspace>.seg,.workspace>.week-switch,.workspace>.list-tools{margin-top:8px}.heading.compact{padding:6px 0 4px}.heading.compact h1{font-size:23px}.eyebrow{display:none}h1{font-size:22px;font-weight:600;letter-spacing:-.3px;line-height:1.4;margin:0;overflow-wrap:anywhere}.heading p{font-size:13.5px;color:var(--muted);margin:5px 0 0}.back{display:inline-flex;align-items:center;background:none;border:0;padding:0;min-height:36px;color:var(--muted);font-size:13.5px;margin-bottom:6px}.back:hover{color:var(--accent)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:0 0 20px;overflow-x:auto;scrollbar-width:thin;max-width:100%}.tabs button,.tabs a{display:inline-flex;align-items:center;flex:none;white-space:nowrap;min-height:44px;padding:8px 0 11px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:14.5px}.tabs .selected{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:600}.cnt,.count{margin-left:6px;border-radius:var(--cdo-radius-control);background:var(--soft);padding:2px 6px;font-size:11px;color:var(--muted)}.tabs .selected .cnt{background:var(--accent-soft);color:var(--accent-ink)}.list-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px}.list-tools h2{font-size:14.5px;font-weight:500;margin:0}input,select{min-height:40px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:8px 11px;min-width:0;max-width:100%}input{width:230px}.dcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.dcard{background:var(--paper);border:1px solid transparent;border-radius:var(--cdo-radius-card);padding:15px;display:flex;flex-direction:column;gap:11px;box-shadow:var(--shadow);min-width:0}.dcard:focus-within{border-color:var(--accent)}.dctop{display:flex;align-items:center;gap:10px;min-width:0}.dcname{min-width:0}.dcname h3{margin:0;font-size:15px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.dcname small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}.dctop:hover h3{color:var(--accent)}.dcprog,.cc-prog{display:flex;align-items:center;gap:10px;min-height:22px}.dcprog .progress,.cc-prog .progress{flex:1;margin:0}.yg{flex:none;margin-left:auto;min-width:26px;height:22px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--cdo-radius-control);background:var(--cell-pass);color:var(--cell-pass-ink);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.progress{margin-top:10px;height:6px;background:var(--soft);border-radius:var(--cdo-radius-control);overflow:hidden}.progress i{display:block;height:100%;border-radius:var(--cdo-radius-control);background:var(--accent)}.dcles{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--line);padding-top:6px}.dcles .l{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;padding:4px 0;border-radius:var(--cdo-radius-control)}.dcles .l:hover{color:var(--accent);background:var(--soft)}.tc-ic{display:inline-block;vertical-align:-2px;margin-left:5px;color:var(--accent);flex:none}.lesson-element.commented{color:var(--accent)}.lesson-copy{display:grid;gap:5px;min-width:0;flex:1}.lname{min-width:0;overflow-wrap:anywhere}.lesson-elements{display:flex;flex-wrap:wrap;gap:4px}.lesson-element{padding:1px 6px;border-radius:999px;background:var(--soft);color:var(--ink-3);font-size:10.5px;line-height:1.55}.loading-elements{color:var(--muted);font-size:11px}.sdot{width:7px;height:7px;margin-top:6px;border-radius:50%;flex:none;background:var(--bad)}.sdot.ok{background:var(--ok)}.sdot.pending{background:var(--warn)}.sdot.neutral{background:var(--muted)}.dfoot2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dfoot2 .chip{margin:0}.chip{font-size:12.5px;font-weight:500;background:var(--soft);color:var(--muted);border-radius:var(--cdo-radius-control);padding:3px 8px;flex:none;margin-left:auto;line-height:1.5}.badge-warn{color:var(--warn);font-size:12.5px}.badge-ok{color:var(--ok-ink);font-size:12.5px}.empty{text-align:center;padding:35px 20px;border:1px dashed var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);line-height:1.7}.empty h2{font-size:18.5px;font-weight:600}.empty p{color:var(--muted);font-size:14.5px;max-width:560px;margin:10px auto 18px}.route-error{margin-top:24px}.offline-strip{margin:10px 0 0;padding:8px 14px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--muted);font-size:13.5px;line-height:1.45}.primary{background:var(--accent);color:var(--on-accent);border:0;border-radius:var(--cdo-radius-control);padding:11px 16px}.loading{padding:50px 12px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.spinner{width:21px;height:21px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.theme-list{display:grid;gap:12px}.theme-list details{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden}.theme-list summary{display:flex;gap:12px;align-items:center;cursor:pointer;padding:15px;list-style:none;font-size:14.5px}.theme-list summary::-webkit-details-marker{display:none}.theme-list small,.material small{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}.arrow{color:var(--muted);margin-left:auto;flex:none}.material:hover{background:var(--soft)}.material-list{display:grid;gap:10px}.material-row{display:flex;align-items:stretch;gap:7px;min-width:0}.material-row .material{flex:1}.material{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:14px;background:var(--paper);min-width:0}.material-edit{width:46px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);color:var(--accent);font-size:17px;transition:border-color var(--motion-fast,.18s),background var(--motion-fast,.18s),transform var(--motion-fast,.18s) var(--ease-out,ease)}.material-edit:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.material>span:nth-child(2){min-width:0;flex:1;overflow-wrap:anywhere}.material strong{display:block;font-size:14.5px;font-weight:500;margin-top:4px}.course-info{background:var(--paper);padding:20px;border-radius:var(--cdo-radius-card);overflow-wrap:anywhere;line-height:1.8}.course-info img{max-width:100%;height:auto}.course-info table{display:block;overflow:auto;max-width:100%}.reading{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden}.reader-bar{padding:12px 18px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted)}.reading iframe{display:block;width:100%;min-height:360px;border:0;background:var(--paper)}.reader-note{font-size:13.5px;line-height:1.6;color:var(--muted);padding:0 18px 12px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px}.course-card{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);padding:18px;min-width:0}.course-card:hover{border-color:var(--accent)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.course-card h2{font-size:17.5px;line-height:1.45;margin:16px 0 20px;overflow-wrap:anywhere}.card-bottom{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:10px}.child-meta{margin:-8px 0 12px;font-size:13.5px;color:var(--muted)}.child-note{font-size:13.5px;line-height:1.6;color:var(--muted);margin-top:22px}.curators{display:flex;flex-wrap:wrap;gap:18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:14px 18px;margin-bottom:20px}.curators-group{display:flex;flex-direction:column;gap:4px;font-size:13.5px;min-width:0;overflow-wrap:anywhere}.curators-label{font-size:11px;letter-spacing:1px;color:var(--muted)}.year-grades{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.year-grades .chip{margin:0}.year-filter{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--muted);margin-bottom:16px}.profile-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:6px 20px;margin-bottom:20px}.device-actions{display:flex;flex-wrap:wrap;gap:8px}footer{padding:30px 0 20px;color:var(--muted);font-size:11px;text-align:center}.bottom-nav{display:none}.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}.reader-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.reader-modes{display:flex;gap:4px;flex-wrap:wrap}.reader-modes button{border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);padding:8px;font-size:12.5px;min-height:36px}.reader-modes [aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.top .course-tabs{flex:1;min-width:0;height:54px;margin:0!important;border-bottom:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.top .course-tabs::-webkit-scrollbar{display:none}.course-tabs a,.course-tabs>.lesson-tab-arrow{flex:none;white-space:nowrap;min-height:52px;padding:14px 0;border-bottom:2px solid transparent;color:var(--muted);font-size:14.5px}.course-tabs a.selected{color:var(--accent);border-color:var(--accent);font-weight:600}.course-name-tab{max-width:190px;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--ink)!important}.course-home-tab{width:30px;display:grid;place-items:center;font-size:19px!important;color:var(--accent)!important}.course-tab-icon{margin-right:6px}.course-tabs--lesson{gap:14px}.lesson-current-tab{max-width:min(32vw,390px);overflow:hidden;text-overflow:ellipsis}.lesson-tab-arrow{min-width:26px;text-align:center;color:var(--accent)!important;font-size:18px!important}.lesson-tab-arrow.disabled{opacity:.35}.section-title{font-size:16.5px;font-weight:600;margin:22px 0 13px}.section-note{color:var(--muted);font-size:13.5px;padding:6px 14px;line-height:1.7}.week-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;font-size:13.5px;color:var(--muted)}.week-toolbar label{display:flex;gap:8px;align-items:center}.week-toolbar input{width:155px;font-size:15.5px}.item-strip{display:flex;align-items:stretch;gap:5px;margin:7px 0 10px;min-width:0}.item-strip.edit-strip{padding:6px;border:1px solid #dedaff;border-radius:var(--cdo-radius-card);background:linear-gradient(90deg,var(--accent-soft),var(--soft))}.item-nav{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;flex:1;min-width:0;padding:1px}.item-nav::-webkit-scrollbar{display:none}.item-nav a{width:190px;min-width:150px;max-width:210px;height:46px;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);font-size:12px;overflow:hidden;scroll-snap-align:start;transition:border-color var(--motion-fast,.18s),background var(--motion-fast,.18s),transform var(--motion-fast,.18s) var(--ease-out,ease)}.item-nav a:hover{border-color:#bcb6ff;background:var(--soft);transform:translateY(-1px)}.item-nav a.selected{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}.item-tab-icon{width:27px;height:27px;flex:none;display:grid;place-items:center;border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--ink-3);font:700 12px var(--mono)}.item-nav a.selected .item-tab-icon{background:var(--paper);color:var(--accent)}.item-tab-text{display:block;min-width:0;line-height:1.15}.item-tab-text small{display:block;font:500 9px var(--mono);text-transform:uppercase;letter-spacing:.035em;color:var(--ink-3);margin-bottom:3px}.item-tab-text b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;font-weight:550}.item-scroll{width:30px;flex:none;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--ink-3);font-size:22px;cursor:pointer}.item-scroll:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.item-preview-link{display:grid;place-items:center;flex:none;padding:0 11px;border:1px solid var(--accent);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--accent);font-size:var(--cdo-text-sm);font-weight:600}.item-preview-link:hover{background:var(--accent);color:var(--on-accent,#fff)}.teacher-viewbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 13px;margin-bottom:10px;border:1px solid #d9d4ff;border-radius:var(--cdo-radius-card);background:linear-gradient(90deg,var(--accent-soft),var(--paper));font-size:11.5px;color:var(--ink-3)}.teacher-viewbar>span{display:flex;align-items:center;gap:7px}.teacher-viewbar>span i{font-style:normal;color:var(--accent);font-size:8px}.teacher-viewbar>div{display:flex;gap:6px}.teacher-viewbar .btn{padding:7px 10px;font-size:11.5px}.toolbar-check{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--ink-2);font-size:11.5px;white-space:nowrap;cursor:pointer}.toolbar-check input{min-height:0;width:15px;height:15px;margin:0;accent-color:var(--accent)}.lesson-item-strip{position:sticky;top:54px;z-index:20;height:56px;margin:0 0 7px;padding:5px 0;background:var(--bg)}.contact-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:10px;margin-bottom:16px}.contact-card{display:flex;align-items:center;gap:10px;padding:13px;text-align:left;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);font-size:14.5px}.contact-card.selected{border-color:var(--accent);background:var(--accent-soft)}.contact-card>span:last-child{min-width:0;overflow-wrap:anywhere}.contact-card small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}.quiet-button{border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:8px 12px;min-height:38px;font-size:13.5px;background:var(--paper);color:var(--accent)}.chat-panel{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:hidden}.chat-toolbar{padding:12px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);font-size:14.5px}.chat-toolbar>span{min-width:0;overflow-wrap:anywhere}.chat-toolbar small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.chat-toolbar button{flex:none}.chat-feed{height:clamp(270px,52dvh,620px);overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px;background:var(--bg);overscroll-behavior:contain}.chat-empty{margin:auto;text-align:center;color:var(--muted);font-size:14.5px}.chat-day{align-self:center;color:var(--muted);font-size:11px;padding:6px 10px}.older-button{align-self:center}.message{align-self:flex-start;max-width:85%;padding:10px 13px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);min-width:100px}.message.mine{align-self:flex-end;background:var(--accent-soft);border-color:transparent}.message header{font-size:12.5px;font-weight:600;color:var(--accent);margin-bottom:5px}.message header .message-role{margin-left:6px;font-weight:500;color:var(--ink-3)}.message-text{font-size:14.5px;overflow-wrap:anywhere;line-height:1.65}.message-text p{margin:0 0 5px}.message-text pre{white-space:pre-wrap}.message-text a{color:var(--accent);text-decoration:underline}.message time{display:block;text-align:right;color:var(--muted);font-size:11px;margin-top:5px}.message-file{display:block;padding:8px 0;overflow-wrap:anywhere;color:var(--accent);font-size:13.5px}.message-file small{color:var(--muted)}.chat-compose{display:flex;gap:10px;padding:13px;border-top:1px solid var(--line);align-items:flex-end}.chat-compose textarea{flex:1;min-width:0;resize:vertical;min-height:62px;max-height:160px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:10px;font:inherit;font-size:15.5px;background:var(--paper);color:var(--ink)}.chat-compose button{flex:none}.chat-files{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.chat-files li{display:flex;align-items:center;gap:6px;max-width:100%;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:12.5px}.chat-files li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.chat-files li small{color:var(--muted)}.chat-files li button{padding:0 4px;font-size:15px;line-height:1}.icon-button{flex:none;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);padding:9px 11px;font-size:16px;line-height:1;cursor:pointer}.icon-button.recording{border-color:var(--bad);color:var(--bad)}.message-image{display:block;max-width:min(100%,320px);border-radius:var(--cdo-radius-control);margin:6px 0}.message-audio{display:block;width:min(100%,320px);margin:6px 0}.chat-hint{display:block;padding:0 14px 12px;color:var(--muted);font-size:11px}.chat-error{padding:12px 16px;color:var(--bad);background:var(--soft);font-size:13.5px}@media(max-width:760px){.course-tabs{gap:19px}.course-tabs a{font-size:13.5px}.course-tabs--lesson{gap:13px}.course-name-tab{max-width:145px}.lesson-current-tab{max-width:210px}.message{max-width:94%}.chat-feed{padding:12px;height:48dvh}.chat-compose{flex-wrap:wrap;padding:10px;gap:8px}.chat-compose textarea{flex-basis:100%;font-size:17.5px}.chat-compose button{margin-left:auto;padding:9px 14px}.item-nav a{width:145px;min-width:132px}.item-scroll{display:none}.item-preview-link{padding:0 9px}.teacher-viewbar{align-items:flex-start}.teacher-viewbar>span{display:none}.teacher-viewbar>div{width:100%;display:grid;grid-template-columns:1fr 1fr}.teacher-viewbar .btn{text-align:center}.bottom-nav a{font-size:10px}}@media(min-width:1500px){.dcards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}.workspace{padding:0 20px}.dcards{gap:12px}}@media(max-width:900px)and (min-width:761px){.dcards{grid-template-columns:1fr}}@media(max-width:760px),(max-height:500px){.shell,.shell.mini{display:block}.sidebar{display:none}.workspace{--learning-tools-top:110px;padding:0 16px 82px;padding-bottom:calc(82px + env(safe-area-inset-bottom))}.top{height:54px}.mobile-brand{display:flex;font-weight:600;font-size:15.5px}.crumb{display:none}.actions button,.header-profile{width:38px;height:38px}.heading{padding:16px 0 12px}h1{font-size:19.5px}.heading p{font-size:12.5px}.tabs{gap:18px;margin-bottom:16px}.tabs button{font-size:13.5px}.dcards{grid-template-columns:1fr}.dcard{padding:14px;gap:10px}.dcname h3{font-size:15px}.dcles .l{padding:7px 0;font-size:14px}.list-tools{align-items:stretch;flex-direction:column;gap:10px}input{width:100%;font-size:17.5px}.material{gap:10px;padding:12px;flex-wrap:wrap}.material>span:nth-child(2){flex:1 1 calc(100% - 44px)}.material>.chip{margin-left:44px;max-width:calc(100% - 44px);white-space:normal}.year-filter{flex-wrap:wrap}.year-filter select{font-size:17.5px}.theme-list summary{padding:13px}.shell .bottom-nav{position:fixed;z-index:35;bottom:0;left:0;right:0;display:flex;justify-content:center;overflow:visible;background:var(--paper);border-top:1px solid var(--line);padding:5px 6px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -2px 10px #00000003}.bottom-nav a,.bottom-nav .bottom-more-toggle{display:flex;flex:1 1 20%;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:48px;padding:3px 4px;border:0;background:none;font:inherit;font-size:11px;color:var(--muted);border-radius:var(--cdo-radius-control);max-width:150px}.bottom-nav a>span{font-size:20.5px;line-height:1.3}.bottom-nav .active{color:var(--accent-ink);background:var(--soft);font-weight:600}.mobile-more-backdrop{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;background:#13152b42;display:flex;align-items:flex-end;padding:0 10px calc(70px + env(safe-area-inset-bottom))}.bottom-nav.menu-open{z-index:41}.mobile-more-backdrop.peek{padding-bottom:calc(130px + env(safe-area-inset-bottom))}.mobile-more-sheet{width:100%;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);box-shadow:0 12px 40px #11142f33}.mobile-more-sheet a{display:grid;grid-template-columns:30px 1fr 20px;align-items:center;gap:8px;min-height:48px;padding:6px 10px;border-radius:var(--cdo-radius-control);color:var(--ink)}.mobile-more-sheet a.active{background:var(--soft);color:var(--accent-ink);font-weight:600}}.stagger-in>*{--i:0;animation:stagger-in var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1)) backwards;animation-delay:calc(var(--i) * 45ms)}.stagger-in>:nth-child(8n+2){--i:1}.stagger-in>:nth-child(8n+3){--i:2}.stagger-in>:nth-child(8n+4){--i:3}.stagger-in>:nth-child(8n+5){--i:4}.stagger-in>:nth-child(8n+6){--i:5}.stagger-in>:nth-child(8n+7){--i:6}.stagger-in>:nth-child(8n+8){--i:7}@keyframes stagger-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.stagger-in>*{animation:none}}.shell{--scroll-thumb:color-mix(in srgb,var(--ink-3) 38%,transparent);scrollbar-color:var(--scroll-thumb) transparent}:where(.shell) :where(*){scrollbar-width:thin}.hbox.legacy{scrollbar-color:rgba(95,106,135,.45) transparent}@supports (field-sizing:content){.chat-compose textarea,.thread-compose textarea,.message-edit textarea{field-sizing:content;max-height:min(160px,30dvh)}.chat-compose textarea{min-height:max(62px,calc(2lh + 22px))}.message-edit textarea{min-height:calc(3lh + 18px)}}@media(max-height:500px){.chat-compose textarea,.thread-compose textarea,.message-edit textarea{max-height:96px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:reduce){.spinner{animation:spinner-pulse 1.6s ease-in-out infinite!important}}@keyframes spinner-pulse{0%,to{opacity:1}50%{opacity:.35}}.seg{display:inline-flex;background:var(--soft);border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:3px;gap:3px;margin:0 0 14px}.seg button{padding:6px 14px;border:none;background:none;border-radius:var(--cdo-radius-control);font-size:15px;color:var(--ink-2)}.seg button.on{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.dtbl{display:flex;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:hidden}.dlc{flex:none;width:184px;border-right:1px solid var(--line);background:var(--paper)}.dhh{height:27px;background:var(--soft);border-bottom:1px solid var(--line)}.dcn{height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:14px;border-bottom:1px solid var(--line);color:var(--ink-2)}.dcn:last-child{border-bottom:none}.dcn .subject-icon{width:20px;height:20px;border-radius:var(--cdo-radius-control);flex:none}.dcn .subject-icon svg{width:13px;height:13px}.dcnt{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drc{flex:1;overflow-x:auto;min-width:0}.dinner{display:inline-block;min-width:100%}.dmrow{display:flex;height:27px;background:var(--soft);border-bottom:1px solid var(--line)}.dgrow{display:flex;height:36px;border-bottom:1px solid var(--line)}.dgrow:last-child{border-bottom:none}.dcell{width:26px;flex:none;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}.dcell.pass{background:var(--cell-pass);color:var(--cell-pass-ink)}.dcell.fail{background:var(--cell-fail);color:var(--cell-fail-ink);font-weight:600}.dcell.check{background:var(--cell-check);color:var(--cell-check-ink);font-weight:600}.dcell.ill{background:var(--cell-ill);color:var(--cell-ill-ink)}.dcell.gray{background:var(--cell-gray);color:var(--cell-gray-ink)}.dcell.fut{background:var(--cell-fut)}.dleg{display:flex;flex-wrap:wrap;gap:13px;font-size:13.5px;color:var(--ink-2);margin-top:12px}.dleg b{display:inline-flex;align-items:center;gap:6px;font-weight:400}.lsw{width:13px;height:13px;border-radius:var(--cdo-radius-control);flex:none;border:1px solid var(--line)}.lsw.pass{background:var(--cell-pass);border-color:transparent}.lsw.fail{background:var(--cell-fail);border-color:transparent}.lsw.check{background:var(--cell-check);border-color:transparent}.lsw.ill{background:var(--cell-ill);border-color:transparent}.lsw.fut{background:var(--cell-fut);border-color:transparent}.lsw.gray{background:var(--cell-gray);border-color:transparent}.dfeed{display:flex;flex-direction:column;gap:9px}.dday{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:5px}.ditem{display:flex;align-items:center;gap:11px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:10px 14px;width:100%;text-align:left}a.ditem:hover{border-color:var(--accent)}.ditem .ik{min-width:52px;height:30px;padding:0 7px;border-radius:var(--cdo-radius-control);display:grid;place-items:center;flex:none;font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.ditem .ik.due{background:var(--amber-soft);color:var(--amber-ink)}.ditem .ik.got{background:var(--ok-soft);color:var(--ok-ink)}.ditem .ik.new{background:var(--accent-soft);color:var(--accent-ink)}.ditem .ic{flex:1;min-width:0}.ditem .it{display:block;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ditem .is{display:block;font-size:13.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ditem .iv{font-family:var(--mono);font-size:13.5px;flex:none;color:var(--ink-2)}@media(max-width:760px){.dlc{width:132px}.dcn{font-size:13.5px;padding:0 9px}}.dlist{display:flex;flex-direction:column;gap:8px}.frow{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:11px 15px;width:100%;text-align:left}a.frow:hover,button.frow:hover{border-color:var(--accent)}.frow .fk{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--cdo-radius-control);padding:3px 0;width:74px;text-align:center;flex:none;background:var(--soft);color:var(--ink-3);border:1px solid var(--line)}.frow .fk.ok{background:var(--ok-soft);color:var(--ok-ink);border-color:transparent}.frow .fk.sig{background:var(--amber-soft);color:var(--amber-ink);border-color:transparent}.frow .fc{flex:1;min-width:0}.frow .ft{display:block;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.frow .fm{display:block;font-family:var(--mono);font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.frow{gap:9px;padding:10px 12px}.frow .fk{width:58px}}.theme{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden;margin-bottom:11px}.thead{display:flex;align-items:center;gap:9px;padding:10px 15px;background:var(--soft);border-bottom:1px solid var(--line)}.thead b{font-size:15px;font-weight:600}.thead span{margin-left:auto;font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}.lrow{display:flex;align-items:center;gap:6px;padding:9px 15px;border-bottom:1px solid var(--line);font-size:15px;width:100%;text-align:left;background:none}.lrow-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit}.lrow:hover{background:var(--accent-soft)}.lrow .st{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--line);flex:none;display:grid;place-items:center;font-size:11px;color:transparent}.lrow.done .st{background:var(--ok-soft);border-color:var(--ok);color:var(--ok-ink)}.lrow.op{background:var(--soft)}.lrow .ln{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lrow.done .ln{color:var(--ink-2)}.lrow .chev{flex:none;color:var(--ink-3);transition:transform var(--motion-fast,.18s) var(--ease-out,ease);font-size:16.5px}.lrow.op .chev{transform:rotate(90deg)}.lrow .mark{font-family:var(--mono);font-size:13.5px;font-weight:500;background:var(--ok-soft);color:var(--ok-ink);border-radius:var(--cdo-radius-control);padding:2px 8px;flex:none}.lrow .due{font-family:var(--mono);font-size:12.5px;color:var(--amber-ink);flex:none}.lrow .icnt{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);flex:none}.items{background:var(--soft);border-bottom:1px solid var(--line);padding:3px 0 6px}.item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 15px 6px 42px;font-size:14.5px;margin:0}.item:hover{background:var(--accent-soft)}.item-main{display:flex;align-items:center;gap:9px;flex:1;min-width:0;color:inherit}.item.muted-item{color:var(--ink-3);font-size:14px}.ity{min-width:78px;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;padding:2px 0;border-radius:var(--cdo-radius-control);flex:none;text-align:center;font-weight:500}.ity.lect{background:var(--accent-soft);color:var(--accent-ink)}.ity.test{background:var(--amber-soft);color:var(--amber-ink)}.ity.task{background:var(--ok-soft);color:var(--ok-ink)}.ity.cons{background:var(--paper);color:var(--ink-3);border:1px solid var(--line)}.item .in{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item .im{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);flex:none}@media(max-width:600px){.item{padding-left:15px}.ity{min-width:78px;width:60px}.lrow .due{display:none}}.side-hint{position:fixed;transform:translateY(-50%);z-index:60;pointer-events:none;background:var(--ink);color:var(--paper);font-size:14px;font-weight:500;padding:7px 12px;border-radius:var(--cdo-radius-control);box-shadow:0 10px 34px #20225629;white-space:nowrap;animation:hint-in var(--motion-fast,.18s) var(--ease-out,cubic-bezier(.22,1,.36,1))}.side-hint:before{content:"";position:absolute;left:-5px;top:50%;width:10px;height:10px;background:var(--ink);transform:translateY(-50%) rotate(45deg);border-radius:var(--cdo-radius-control)}.shell.dark .side-hint{background:var(--paper);color:var(--ink)}.shell.dark .side-hint:before{background:var(--paper)}@keyframes hint-in{0%{opacity:0;transform:translate(-6px,-50%)}to{opacity:1;transform:translateY(-50%)}}@media(hover:none){.side-hint{display:none}}.week-switch{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.week-switch .section-note{margin:0}.wk-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:12px}.wk-grid>*{flex:1 1 270px;min-width:0;max-width:380px}.wk-day{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden}.wk-day.today{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.wk-head{display:flex;align-items:baseline;justify-content:space-between;padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--line)}.wk-head h2{margin:0;font-size:15.5px;font-weight:600}.wk-head small{font-family:var(--mono);font-size:11.5px;color:var(--accent)}.wk-day.today .wk-head{background:var(--accent-soft)}.wk-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);font-size:14.5px}.wk-row:last-child{border-bottom:none}.wk-row:hover{background:var(--accent-soft)}.wk-n{font-family:var(--mono);font-size:12px;color:var(--ink-3);width:16px;text-align:right;flex:none}.wk-row .subject-icon{width:26px;height:26px;border-radius:var(--cdo-radius-control);flex:none}.wk-row .subject-icon svg{width:15px;height:15px}.wk-c{min-width:0;flex:1}.wk-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wk-c small{display:block;font-family:var(--mono);font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wk-off{margin:0;padding:14px;font-size:13.5px;color:var(--ink-3)}.list-tools--search{justify-content:flex-end;margin-bottom:10px}.stab2{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 14px}.stab2 button{border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:7px 14px;font-size:14px;color:var(--ink-2);background:var(--paper)}.stab2 button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.pgrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:12px;align-items:start}.pcard2{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden;box-shadow:var(--shadow)}.pch{display:flex;align-items:center;gap:9px;padding:11px 15px;background:var(--soft);border-bottom:1px solid var(--line)}.pch b{font-size:15px;font-weight:600;font-family:Montserrat,system-ui,sans-serif;flex:1}.pcb{padding:14px 15px;display:flex;flex-direction:column;gap:13px}.future-options>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.future-options>div:last-child{border-bottom:0}.future-options b{font-size:14px;font-weight:500}.future-options span{color:var(--ink-3);font-size:12px}.push-prompt{position:fixed;right:20px;bottom:20px;z-index:1200;width:min(390px,calc(100vw - 32px));display:flex;gap:13px;padding:17px 42px 17px 17px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);box-shadow:0 18px 55px #2022562b;color:var(--ink);animation:push-in var(--motion-base,.32s) var(--ease-out,ease-out)}.push-prompt-icon{width:38px;height:38px;border-radius:var(--cdo-radius-card);display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent)}.push-prompt-icon svg{width:21px;height:21px}.push-prompt-copy{min-width:0}.push-prompt-copy strong{display:block;font-size:16px;line-height:1.35}.push-prompt-copy p{margin:5px 0 12px;color:var(--muted);font-size:13.5px;line-height:1.5}.push-prompt-copy .push-prompt-error{color:var(--warn);margin-bottom:10px}.push-prompt-actions{display:flex;gap:8px;flex-wrap:wrap}.push-prompt-actions button{min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--ink);font:inherit;font-size:13.5px}.push-prompt-actions button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.push-prompt-actions button:disabled{opacity:.58;cursor:default}.push-prompt-close{position:absolute;right:9px;top:8px;width:30px;height:30px;border:0;background:transparent;color:var(--muted);font-size:23px;line-height:1;border-radius:var(--cdo-radius-control)}.push-prompt-close:hover{background:var(--soft);color:var(--ink)}@keyframes push-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.push-prompt{left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));width:auto;padding:15px 38px 15px 14px}.push-prompt-icon{width:34px;height:34px}.push-prompt-copy strong{font-size:15px}.push-prompt-copy p{font-size:13px}}.frm{display:flex;flex-direction:column;gap:5px;min-width:0}.frm>label{font-size:12.5px;color:var(--ink-3);font-weight:500}.frm output{display:block;border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:8px 11px;font-size:15px;background:var(--soft);color:var(--ink-2);overflow-wrap:anywhere}.frm .hnt{font-size:12.5px;color:var(--ink-3);line-height:1.45}.f2c{display:flex;gap:10px}.f2c>*{flex:1;min-width:0}.tagx{font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--cdo-radius-control);padding:2px 7px;white-space:nowrap}.tagx.have{background:var(--ok-soft);color:var(--ok-ink)}.tagx.none{background:var(--red-soft);color:var(--red-ink)}.avrow{display:flex;align-items:center;gap:14px}.avbig{width:66px;height:66px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:22px;font-weight:600;flex:none;object-fit:cover}.avmeta{min-width:0;display:flex;flex-direction:column;gap:3px}.avmeta b{font-size:16.5px}@media(max-width:600px){.f2c{flex-direction:column}}.tabfade-enter-active{transition:opacity var(--motion-base,.32s) var(--ease-out,ease),transform var(--motion-base,.32s) var(--ease-out,ease)}.tabfade-leave-active{transition:opacity var(--motion-fast,.18s) ease}.tabfade-enter-from{opacity:0;transform:translateY(8px)}.tabfade-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){.tabfade-enter-active,.tabfade-leave-active{transition:none}}.doc{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:clip}.exercise-condition.doc{border:0;border-radius:0;margin:8px -18px 0}.exercise-condition iframe{min-height:120px}.docbody{padding:16px 18px;font-size:15.5px;color:var(--ink-2);line-height:1.65}.docbody+.docbody{border-top:1px solid var(--line)}.docbody p{margin:0 0 11px}.docbody p:last-child{margin-bottom:0}.docbody b{color:var(--ink)}.docfoot{padding:13px 18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{font-size:15px;border-radius:var(--cdo-radius-control);padding:10px 22px;background:var(--accent);color:var(--on-accent);font-weight:600;font-family:Montserrat,system-ui,sans-serif;border:none}.btn.gh{background:none;border:1px solid var(--accent);color:var(--accent)}.btn:disabled,.primary:disabled,.btn.gh:disabled,.btn.dg:disabled,.btn.danger:disabled{opacity:1;background:var(--soft);border-color:var(--line);color:var(--muted)}.hnt{font-size:13px;color:var(--ink-3)}.qhint{font-size:13.5px;color:var(--ink-3);margin:4px 0 0}.trules{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px;margin:4px 0 14px}.trule{border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:10px 12px;background:var(--paper)}.trule .rl{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);display:block}.trule .rv{font-size:15px;font-weight:600;display:block;margin-top:3px;color:var(--ink)}.tbar{display:flex;align-items:center;gap:12px;padding:9px 12px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--paper);z-index:12}.test-page-controls{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.test-page-controls>span{width:32px;flex:none}.test-finish{margin-left:auto;white-space:nowrap}.compact-pages{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.compact-pages::-webkit-scrollbar{display:none}.compact-pages .tmi{flex:none}.page-jump{display:flex;align-items:center;gap:3px;flex:none}.page-jump input{width:50px;height:32px;padding:4px 6px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);font:12px var(--mono);text-align:center}.page-jump span{color:var(--ink-3);font-size:12px}.tprog{flex:1;min-width:0}.tprog .tpl{font-family:var(--mono);font-size:12px;color:var(--ink-3);display:block;margin-bottom:5px}.tpb{height:5px;border-radius:var(--cdo-radius-card);background:var(--soft);overflow:hidden}.tpb i{display:block;height:100%;background:var(--accent);border-radius:var(--cdo-radius-card)}.tclock{font-family:var(--mono);font-size:15px;font-weight:600;flex:none;padding:5px 10px;border-radius:var(--cdo-radius-control);background:var(--soft)}.tclock.warn{background:var(--red-soft);color:var(--red-ink)}.qcard{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);padding:15px 17px;margin-bottom:11px}.qcard .qhd{display:flex;align-items:baseline;gap:9px;margin-bottom:9px}.qcard .qnum,.qcard .qpts{font-family:var(--mono);font-size:12px;color:var(--ink-3)}.qcard .qpts{margin-left:auto}.qcard .qtxt{font-size:16px;line-height:1.55;margin-bottom:12px;color:var(--ink)}.qtxt img{max-width:100%;height:auto}.opt{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);font-size:15px;margin-bottom:5px;width:100%;text-align:left}.opt:hover{border-color:var(--accent)}.opt .r{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);flex:none}.opt.sel{border-color:var(--accent);background:var(--accent-soft)}.opt.sel .r{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--paper)}.opt .r.sq{position:relative;border-radius:3px}.opt.sel .r.sq{box-shadow:none}.opt.sel .r.sq:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}.gsel{font:inherit;font-size:15px;border:1px solid var(--accent);border-radius:var(--cdo-radius-control);padding:2px 6px;margin:0 3px;background:var(--accent-soft);color:var(--ink)}.ta{width:100%;font:inherit;font-size:15px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:9px 11px;background:var(--paper);color:var(--ink);resize:vertical}.ta:focus{border-color:var(--accent);outline:none}.tfoot{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:8px 0 4px;position:sticky;bottom:0;background:linear-gradient(to bottom,transparent,var(--paper) 18%);z-index:2}.tmap{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.tmi{width:28px;height:28px;border-radius:var(--cdo-radius-control);display:grid;place-items:center;border:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--ink-3);background:var(--paper);cursor:pointer}.tmi:hover:not(:disabled){border-color:var(--accent)}.tmi.done{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.tmi.cur{background:var(--accent);border-color:transparent;color:var(--on-accent);font-weight:600}.tres{text-align:center;padding:22px 18px}.tres .big{font-family:var(--mono);font-size:42px;font-weight:600;line-height:1;color:var(--ink)}.tres .big .of{font-size:20px;color:var(--ink-3)}.tres .sm{font-size:14px;color:var(--ink-3);margin-top:6px}.tres .gr{display:inline-block;margin-top:14px;padding:7px 16px;border-radius:var(--cdo-radius-card);background:var(--ok-soft);color:var(--ok-ink);font-weight:600}.rlist{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin-top:14px;text-align:left}.rrow{min-width:0}.rrow{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper)}.rrow .rn{width:24px;height:24px;border-radius:var(--cdo-radius-control);display:grid;place-items:center;flex:none;font-family:var(--mono);font-size:12px;background:var(--soft)}.rrow.ok .rn{background:var(--ok-soft);color:var(--ok-ink)}.rrow.no .rn{background:var(--red-soft);color:var(--red-ink)}.rrow.part .rn{background:var(--amber-soft);color:var(--amber-ink)}.rrow .rt{flex:1;min-width:0;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rrow .rp{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);flex:none}.rdet{padding:10px 12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);display:grid;gap:10px;margin-top:12px;text-align:left}.rdet .rl2{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.rdet .rv2{font-size:14.5px;padding:8px 10px;border-radius:var(--cdo-radius-control);background:var(--soft);overflow-wrap:anywhere}.rdet .rv2.ok{background:var(--ok-soft);color:var(--ok-ink)}.rrow .rt p,.rrow .rt div,.rdet .rv2 p,.rdet .rv2 div{display:inline;margin:0}.rrow .rt br,.rdet .rv2 br{display:none}.tstat{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--cdo-radius-card);margin:0 0 14px;font-size:14.5px}.tstat .ic{width:30px;height:30px;border-radius:var(--cdo-radius-control);display:grid;place-items:center;flex:none}.tstat.check{background:var(--accent-soft);color:var(--accent-ink)}.tstat.check .ic{background:var(--accent);color:var(--on-accent)}.tstat.ret{background:var(--amber-soft);color:var(--amber-ink)}.tstat.ret .ic{background:var(--amber);color:var(--on-amber)}.tstat.done{background:var(--ok-soft);color:var(--ok-ink)}.tstat.done .ic{background:var(--ok);color:var(--on-ok)}.tstat .tm2{margin-left:auto;font-family:var(--mono);font-size:12px;opacity:.8;flex:none}.tlabel{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px}.tcomment{padding:11px 13px;border-radius:var(--cdo-radius-card);background:var(--soft);font-size:14.5px;line-height:1.6;color:var(--ink-2);margin-bottom:10px}.dz{display:block;border:1.5px dashed var(--line);border-radius:var(--cdo-radius-card);padding:16px 14px;text-align:center;margin:10px 0;cursor:pointer}.dz:hover{border-color:var(--accent)}.dz .t{display:block;font-size:14.5px;color:var(--ink-2)}.dz .h{display:block;font-size:12.5px;color:var(--ink-3);margin-top:3px}.answer-form{transition:opacity var(--motion-fast,.18s) var(--ease-out,cubic-bezier(.22,1,.36,1))}.answer-form.sending{opacity:.55;pointer-events:none}.sending-note{display:flex;align-items:center;gap:8px;margin:4px 0 0}.sending-note .spinner{width:16px;height:16px;flex:none}.att{display:grid;gap:7px;margin:0 0 12px}.attr{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper)}.attr .fic{width:30px;height:30px;border-radius:var(--cdo-radius-control);background:var(--soft);display:grid;place-items:center;flex:none;color:var(--ink-3)}.attr .fn2{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attr .fsz{font-family:var(--mono);font-size:12px;color:var(--ink-3);flex:none}.attr .rm{border:none;background:none;color:var(--ink-3);flex:none}.doc.reading iframe{display:block;width:100%;border:0;background:#fff}.doc.reading .reader-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--soft)}.doc.reading .reader-bar{position:sticky;bottom:0;z-index:12;border-bottom:0;border-top:1px solid var(--line)}.lecture-zoom{display:inline-flex;align-items:center;gap:2px;margin-left:6px}.lecture-zoom .lecture-zoom-value{min-width:52px;min-height:32px;padding:2px 6px;border:0;background:none;color:var(--ink-2);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:var(--cdo-radius-control)}.lecture-zoom .lecture-zoom-value:hover{background:var(--soft)}.reader-pages{display:flex;align-items:center;gap:8px;min-width:0;max-width:70%}.doc.reading iframe{scroll-margin-top:calc(var(--learning-tools-top) + 54px)}.reader-bar .tpl{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}.conspect{padding:0}.conspect-viewer{background:var(--soft);border-radius:var(--radius);overflow:visible}.conspect-toolbar{position:sticky;bottom:0;z-index:12;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--paper)}.conspect-pages,.conspect-zoom{display:flex;align-items:center;gap:8px}.conspect-pages{flex:1;min-width:0}.conspect-zoom label{display:flex;align-items:center;gap:7px}.conspect-zoom input{width:150px;accent-color:var(--accent)}.conspect-zoom output{width:39px;font:12px var(--mono);color:var(--ink-3)}.conspect-fit.on{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.conspect-stage{padding:16px;overflow-x:auto;text-align:center}.conspect-stage .cpage{display:block;max-width:none;height:auto;margin:auto;background:#fff;border:1px solid var(--line);border-radius:var(--cdo-radius-control);box-shadow:0 5px 24px #2022561f}.conspect-stage.fit .cpage{width:75%;max-width:none}@media(max-width:640px){.conspect-stage.fit .cpage{width:100%}}.conspect .tstat{margin:14px}.exercise-toolbar{position:sticky;top:var(--learning-tools-top);z-index:12;display:flex;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--paper)}.exercise-toolbar>span:first-child{display:flex;flex-direction:column;flex:1;min-width:0}.exercise-toolbar small{color:var(--ink-3);font-size:11.5px}.exercise-toolbar .btn{flex:none}.item .im.g{color:var(--ok-ink)}.item .im.w{color:var(--amber-ink)}.item .im.n{color:var(--red-ink)}.he-upload-label{display:inline-flex;cursor:pointer;margin:0 0 10px}.sect{font-family:Montserrat,system-ui,sans-serif;font-size:14.5px;font-weight:600;color:var(--ink-2);margin:6px 0 10px}.wrow{display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:11px 15px;width:100%;text-align:left;box-shadow:var(--shadow)}a.wrow:hover,button.wrow:hover{border-color:var(--accent)}.wk{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;border-radius:var(--cdo-radius-control);padding:3px 0;width:78px;text-align:center;flex:none}.wk.task{background:var(--ok-soft);color:var(--ok-ink)}.wk.test{background:var(--amber-soft);color:var(--amber-ink)}.wk.lect{background:var(--accent-soft);color:var(--accent-ink)}.wk.cons{background:var(--soft);color:var(--ink-3)}.wc{flex:1;min-width:0}.wn{display:block;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm{display:block;font-size:13px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wd{font-family:var(--mono);font-size:12px;color:var(--ink-3);flex:none}.wd.old{color:var(--red-ink)}.wknav{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px}.wknav .pos{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);margin-left:auto}.subm{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:hidden;margin-bottom:12px}.submh{padding:11px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;flex-wrap:wrap}.submh b{font-size:15.5px}.submb{padding:13px 14px;display:grid;gap:11px}.ansl{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:4px}.stext{font-size:15px;line-height:1.6;color:var(--ink-2);padding:10px 12px;border-radius:var(--cdo-radius-card);background:var(--soft)}.frow2{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--soft)}.frow2 .fic{width:30px;height:30px;border-radius:var(--cdo-radius-control);background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;flex:none;color:var(--ink-3)}.frow2 .fn2{flex:1;min-width:0;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gradebar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.ggrade{display:flex;flex-direction:column;gap:5px}.ggrade label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.ginput{width:96px;height:44px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);color:var(--ink);font:inherit;font-size:20px;font-weight:600;text-align:center;font-family:var(--mono)}.gpick{display:flex;gap:5px;flex-wrap:wrap}.gp{width:34px;height:34px;border-radius:var(--cdo-radius-control);border:1px solid var(--line);background:var(--paper);font-family:var(--mono);font-size:13px;color:var(--ink-2)}.gp:hover{border-color:var(--accent)}.gp.on{background:var(--accent);border-color:transparent;color:var(--on-accent);font-weight:600}.savebar{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:11px 14px;display:flex;gap:9px;align-items:center;flex-wrap:wrap;z-index:2}.savebar.flat{position:static;padding:0;border:none;background:none}.fb>.savebar:not(.flat){margin:0 -15px -13px;padding:11px 15px}.btn.dg{background:none;border:1px solid var(--line);color:var(--ink-2)}.btn.dg:hover{border-color:var(--accent);color:var(--accent)}.btn.danger{background:none;border:1px solid var(--line);color:var(--bad)}.btn.danger:hover{border-color:var(--bad);background:var(--red-soft)}.qk{font-family:var(--mono);font-size:11px;background:var(--soft);border-radius:var(--cdo-radius-control);padding:2px 8px;color:var(--ink-3);flex:none}.ansv{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:hidden;margin-top:12px}.jwrap{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);display:flex;overflow:hidden}.jh{height:29px;background:var(--soft);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 12px;font-family:var(--mono);font-size:11px;color:var(--ink-3)}.jn{height:36px;display:flex;align-items:center;padding:0 12px;font-size:13.5px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}.jn:last-child{border-bottom:none}.jc{width:30px;flex:none;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:var(--ink-2);cursor:pointer;background:none;border-top:0;border-bottom:0;border-left:0}.jc:hover{outline:2px solid var(--accent);outline-offset:-2px}.jc.pass{background:var(--cell-pass);color:var(--cell-pass-ink)}.jc.fail{background:var(--cell-fail);color:var(--cell-fail-ink);font-weight:600}.jc.check{background:var(--cell-check);color:var(--cell-check-ink)}.jc.ill{background:var(--cell-ill);color:var(--cell-ill-ink)}.jc.fut{background:var(--cell-fut)}.jc.them{box-shadow:inset 0 3px 0 var(--accent)}.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;align-items:start}.fcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:clip;box-shadow:var(--shadow)}.fh{display:flex;align-items:center;gap:9px;padding:11px 15px;background:var(--soft);border-bottom:1px solid var(--line)}.fh b{font-size:15px;font-weight:600;flex:1;font-family:Montserrat,system-ui,sans-serif}.fh .hint{font-family:var(--mono);font-size:11px;color:var(--ink-3)}.fb{padding:13px 15px;display:flex;flex-direction:column;gap:12px}.f{display:flex;flex-direction:column;gap:5px;min-width:0}.f>label{font-size:12.5px;color:var(--ink-3);font-weight:500}.inp,.sel{border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:8px 11px;font-size:15px;background:var(--bg);color:var(--ink);font-family:inherit;width:100%}.inp:focus,.sel:focus{border-color:var(--accent);outline:none}.inp.w{width:72px;flex:none;text-align:center;font-family:var(--mono)}.f2{display:flex;gap:10px}.f2>*{flex:1;min-width:0}.swrow{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer}.swi{width:38px;height:21px;border-radius:var(--cdo-radius-card);background:var(--line);position:relative;flex:none}.swi:after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform var(--motion-fast,.18s) var(--ease-in-out,ease)}.swi.on{background:var(--accent)}.swi.on:after{transform:translate(17px)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chp{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:4px 10px;color:var(--ink-2);background:var(--paper);cursor:pointer}.chp.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.inh{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3);background:var(--soft);border-radius:var(--cdo-radius-control);padding:6px 10px}.addmenu{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.iconbtn{width:30px;height:30px;border-radius:var(--cdo-radius-control);display:grid;place-items:center;color:var(--ink-3);border:1px solid transparent;background:none;flex:none}.iconbtn:hover{background:var(--paper);border-color:var(--line);color:var(--accent)}.iconbtn.dn:hover{color:var(--red-ink);border-color:var(--red)}.tygrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.tyb{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);text-align:left}.tyb:hover{border-color:var(--accent)}.tyi{width:28px;height:28px;border-radius:var(--cdo-radius-control);background:var(--soft);display:grid;place-items:center;flex:none;font-family:var(--mono);font-size:11px}.tyc{min-width:0;display:block}.tyn{font-size:13.5px;font-weight:600;display:block}.tyd{font-size:11.5px;color:var(--ink-3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qrow{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:12px 15px;display:flex;gap:12px;align-items:center}.qn2{font-family:var(--mono);font-size:12px;color:var(--ink-3);width:26px;flex:none}.qc{flex:1;min-width:0}.qt2{display:block;font-size:14.5px;font-weight:500}.qm{display:block;font-size:12.5px;color:var(--ink-3);margin-top:3px}.qw{font-family:var(--mono);font-size:12px;color:var(--ink-3);flex:none}.prev{background:var(--bg);border:1px dashed var(--line);border-radius:var(--cdo-radius-card);padding:14px 16px}.ctop{display:flex;align-items:center;gap:9px}.ctop .n{display:block;font-size:15px;font-weight:600}.ctop .w{display:block;font-size:12.5px;color:var(--ink-3)}.cfoot{display:flex;gap:8px;flex-wrap:wrap}.chip.a{background:var(--amber-soft);color:var(--amber-ink)}.chip.r{background:var(--red-soft);color:var(--red-ink)}.chip.g{background:var(--ok-soft);color:var(--ok-ink)}.tab-badge{display:inline-block;margin-left:6px;padding:0 7px;border-radius:var(--cdo-radius-card);background:var(--amber-soft);color:var(--amber-ink);font-size:12px;font-weight:600;line-height:20px}.jwrap:has(.jtbl){display:block;overflow-x:auto}.jtbl{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}.jtbl th,.jtbl td{height:auto;display:table-cell;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}.jtbl th.jh{height:40px;vertical-align:middle;text-align:center;padding:4px 8px;white-space:nowrap;position:sticky;top:0;z-index:1;font-family:var(--mono);font-size:11px;color:var(--ink-3);background:var(--soft)}.jtbl th.jn,.jtbl td.jn{position:sticky;left:0;z-index:2;background:var(--paper);width:200px;min-width:160px;text-align:left;padding:0 12px;height:36px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jtbl th.jn{background:var(--soft);z-index:3}@media(max-width:640px){.jtbl th.jn,.jtbl td.jn{width:108px;min-width:108px;padding:0 8px}}.jtbl td.jc{width:44px;min-width:44px;height:36px;text-align:center;vertical-align:middle;cursor:pointer;font-family:var(--mono);font-size:12.5px}.jtbl td.jc.them{cursor:default;background:var(--soft);font-weight:600}.jtbl .jin{display:inline-block;width:52px;min-width:0;height:28px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);text-align:center;font:inherit;background:var(--paper);color:var(--ink)}.jtbl .jin:disabled{opacity:.4}.jtbl tr:last-child td{border-bottom:none}.jtbl th:last-child,.jtbl td:last-child{border-right:none}.ectl{display:inline-flex;gap:2px;margin-left:auto;flex:none}.thead .ectl{margin-left:auto}.iconbtn:disabled{opacity:.3}a.iconbtn{text-decoration:none;font-size:14px}.offtag{font-size:11px;color:var(--ink-3);font-weight:400;margin-left:8px;font-family:var(--mono)}.thead.off b{color:var(--ink-3)}.qrow.off{opacity:.55}.list-tools .btn{flex:none}.hed{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:clip;box-shadow:var(--shadow)}.hed.full{position:fixed;top:10px;right:10px;bottom:10px;left:10px;z-index:1000;border-radius:var(--cdo-radius-card);display:flex;flex-direction:column;box-shadow:0 24px 80px #1118}.hed.full .hbox,.hed.full .hpreview,.hed.full .hsrc{flex:1;min-height:0!important}.hedtop{height:44px;display:flex;align-items:center;gap:8px;padding:0 9px 0 12px;border-bottom:1px solid var(--line);background:var(--paper)}.hedmode{display:flex;background:var(--soft);border-radius:var(--cdo-radius-control);padding:2px}.hedmode button{border:0;background:none;border-radius:var(--cdo-radius-control);padding:5px 10px;color:var(--ink-3);font:inherit;font-size:12.5px;cursor:pointer}.hedmode button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 4px #231f4018}.hedtop .hgrow{flex:1}.hedtop .hint{font-family:var(--mono);font-size:11px;color:var(--ink-3)}.hedtop .hquiet{border:0;background:none;border-radius:var(--cdo-radius-control);padding:5px 8px;color:var(--ink-3);cursor:pointer}.hedtop .hquiet:hover,.hedtop .hquiet.on{background:var(--soft);color:var(--accent)}.hedbar{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:7px 8px;background:var(--soft);border-bottom:1px solid var(--line)}.hedbar button,.hedbar .hbtn{min-width:30px;height:28px;padding:0 7px;border:1px solid transparent;border-radius:var(--cdo-radius-control);background:none;color:var(--ink-2);font:inherit;font-size:13.5px;cursor:pointer;display:inline-grid;place-items:center}.hedbar button:hover,.hedbar .hbtn:hover{background:var(--paper);border-color:var(--line)}.hedbar button.on{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.hedbar .tools-toggle{margin-left:auto;border-color:var(--line);background:var(--paper);white-space:nowrap}.hedbar button.pb{color:var(--accent);font-weight:600}.hedbar .hsel{height:28px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--ink);font:inherit;font-size:13px;padding:0 6px}.hedbar .hsep{width:1px;height:20px;background:var(--line);margin:0 4px}.hedbar .hgrow{flex:1}.hedbar .hint{font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-right:6px}@media(min-width:621px){.hed:not(.compact) .hedbar{position:sticky;top:calc(54px + env(safe-area-inset-top));z-index:5}.hed.full .hedbar{position:static}}.hbox{padding:24px max(22px,calc((100% - 860px)/2));outline:none;font-size:16px;line-height:1.65;overflow:auto;background:var(--paper)}.hbox:empty:before{content:attr(data-placeholder);color:var(--ink-3);pointer-events:none}.hbox:focus{box-shadow:inset 0 0 0 2px var(--accent-soft)}.hbox img,.hpreview img{max-width:100%}.hbox table,.hpreview table{border-collapse:collapse}.hbox td,.hbox th,.hpreview td,.hpreview th{border:1px solid var(--line);padding:6px 9px}.hbox div[style*=page-break-after]{border-top:2px dashed var(--accent);margin:14px 0;height:0;position:relative}.hbox div[style*=page-break-after]:after{content:"наступна сторінка";position:absolute;right:0;top:-9px;font:11px var(--mono);color:var(--accent);background:var(--paper);padding:0 6px}.hbox .ckeditor-formulas{background:var(--amber-soft);border-radius:var(--cdo-radius-control);padding:0 4px;font-family:var(--mono)}.hsrc{width:100%;border:none;padding:18px 20px;font:13px/1.55 var(--mono);background:var(--code-bg);color:var(--code-ink);resize:vertical;outline:none;box-sizing:border-box}.hpreview{padding:28px max(22px,calc((100% - 860px)/2));min-height:280px;overflow:auto;background:var(--paper);font-size:16px;line-height:1.65}.hcolor{width:30px;height:28px;display:grid;place-items:center;position:relative;border-radius:var(--cdo-radius-control);cursor:pointer;font-weight:700}.hcolor:hover{background:var(--paper)}.hcolor input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.hcolor span{border-bottom:3px solid var(--accent)}.hcolor.bg span{border:0;color:var(--amber)}.hmore{position:relative}.hmore summary{list-style:none;height:28px;padding:0 7px;border-radius:var(--cdo-radius-control);display:grid;place-items:center;cursor:pointer;font-size:13px;color:var(--ink-2)}.hmore[open] summary,.hmore summary:hover{background:var(--paper)}.hmore>div{position:absolute;z-index:20;top:32px;left:0;width:214px;padding:8px;display:grid;grid-template-columns:repeat(6,1fr);gap:3px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);box-shadow:0 12px 36px #231f4025}.hmore>div button{padding:0;min-width:28px}.ckeditor-content .highlight_lessontext{padding:14px 16px;border-radius:var(--cdo-radius-card);box-sizing:border-box;white-space:pre-wrap;overflow:auto;margin:12px 0}.ckeditor-content .Vstup,.hstyles .Vstup{background:var(--lesson-intro-bg);border:2px solid var(--lesson-intro-line)}.ckeditor-content .Pravilo,.hstyles .Pravilo{background:var(--lesson-rule-bg);border:2px solid var(--lesson-rule-line)}.ckeditor-content .Prklad,.hstyles .Prklad{background:var(--lesson-example-bg);border:2px solid var(--lesson-example-line)}.ckeditor-content .Zavdannya,.hstyles .Zavdannya{background:var(--lesson-task-bg);border:2px solid var(--lesson-task-line)}.ckeditor-content .Visnovok,.hstyles .Visnovok{background:var(--lesson-summary-bg);border:2px solid var(--lesson-summary-line)}.ckeditor-content .Dodatkovo{background:var(--lesson-extra-bg);border:2px solid var(--lesson-extra-line);border-radius:var(--cdo-radius-control);padding:1px 4px;display:inline-block}.ckeditor-content .OneLine{border-bottom:1px solid currentColor}.ckeditor-content .TwoLines{border-bottom:3px double currentColor}.ckeditor-content .LineWithSpaces{border-bottom:1px dashed currentColor}.ckeditor-content .DottedLine{border-bottom:1px dotted currentColor}.ckeditor-content .DashDot{border-bottom:1px dashed currentColor}.ckeditor-content .Wavy,.ckeditor-content .WavyWithSpaces{text-decoration:underline wavy currentColor;text-underline-offset:3px}.ckeditor-content figure{margin:18px auto;text-align:center}.ckeditor-content figcaption{font-size:12px;color:var(--ink-3);margin-top:4px}.ckeditor-content .video-frame{margin:14px 0}.ckeditor-content .video-frame iframe{max-width:100%;border:0}.ckeditor-content .video-frame iframe[width="100%"]{width:100%;aspect-ratio:16/9;height:auto}.qbhead{display:flex;align-items:center;gap:16px;margin-bottom:20px}.qbhead h2,.qbpicker h2,.qbauthor h2{margin:1px 0 0;font-size:21px;line-height:1.2}.qbeyebrow{display:block;color:var(--accent);font:600 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.qbsummary{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden;background:var(--paper)}.qbsummary span{padding:8px 13px;display:flex;flex-direction:column;font-size:10px;color:var(--ink-3);text-align:center;border-left:1px solid var(--line)}.qbsummary span:first-child{border:0}.qbsummary b{font:600 16px/1.1 var(--mono);color:var(--ink)}.qblistbar{display:flex;align-items:center;justify-content:space-between;margin:4px 0 12px}.qblistbar>div{display:flex;flex-direction:column}.qblistbar>div span{font-size:12px;color:var(--ink-3);margin-top:2px}.qrow{min-height:76px;padding:12px 14px;transition:border-color var(--motion-fast,.18s),box-shadow var(--motion-fast,.18s),transform var(--motion-fast,.18s) var(--ease-out,ease)}.qrow:hover{border-color:var(--accent-line);box-shadow:0 7px 24px #30287c12;transform:translateY(-1px)}.qn2{width:44px;display:flex;align-items:center;gap:7px}.qn2 i{font-style:normal;width:29px;height:29px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--cdo-radius-control);font-weight:700}.qt2{display:flex;align-items:center;gap:7px}.qt2 em{font-style:normal;font:500 10px var(--mono);background:var(--soft);color:var(--ink-3);border-radius:var(--cdo-radius-card);padding:3px 7px}.qt2 em.offlabel{background:var(--red-soft);color:var(--red-ink)}.qw{display:flex;gap:2px}.qw .iconbtn{color:var(--ink-2)}.qbpicker{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:24px;box-shadow:0 10px 40px #231f400b}.qbpicker-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.qbpicker-head p{margin:6px 0 0;color:var(--ink-3);font-size:13px}.qbpicker .tygrid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px}.qbpicker .tyb{min-height:78px;padding:13px 14px;border-radius:var(--cdo-radius-card)}.qbpicker .tyi{width:42px;height:42px;font-size:13px;border-radius:var(--cdo-radius-card)}.qbpicker .tygo{margin-left:auto;color:var(--accent);font-size:19px;opacity:0;transform:translate(-5px);transition:opacity var(--motion-fast,.18s),transform var(--motion-fast,.18s) var(--ease-out,ease)}.qbpicker .tyb:hover .tygo{opacity:1;transform:none}.qbpicker .tyd{white-space:normal;margin-top:3px}.qbauthor{background:var(--bg);margin:-4px -4px 0;border-radius:var(--cdo-radius-card)}.qbauthor-head{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);margin-bottom:12px}.qbauthor-head .qscore{margin-left:auto;display:flex;align-items:baseline;gap:4px;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--cdo-radius-card);padding:8px 12px;font:700 18px var(--mono)}.qscore small{font-size:10px}.qbauthor-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.qbauthor-main{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden}.qbauthor-main .fb{padding:18px}.qbauthor-main .sect{margin-top:5px;font-size:14px}.qsettings-toggle{width:100%;border:1px solid var(--line);background:var(--soft);color:var(--ink-2);border-radius:var(--cdo-radius-control);padding:9px 11px;text-align:left;font:600 12px var(--font);cursor:pointer}.qsettings-toggle span{float:right}.qsettings{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--cdo-radius-control) var(--cdo-radius-control)}.qsettings .f{margin:0}.opt{min-height:50px;border-radius:var(--cdo-radius-card);padding:7px 9px}.opt.right{border-color:var(--ok);background:var(--ok-soft)}.qsavebar{position:sticky;z-index:4;bottom:0;margin:12px -18px -18px;padding:11px 18px;display:flex;align-items:center;justify-content:flex-end;gap:14px;background:color-mix(in srgb,var(--paper) 88%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.qsavebar>span{font-size:11px;color:var(--ink-3)}.boolean-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.boolean-card{min-height:86px;display:grid;grid-template-columns:46px minmax(0,1fr) 28px;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color var(--motion-fast,.18s),transform var(--motion-fast,.18s) var(--ease-out,ease)}.boolean-card:hover{border-color:var(--accent-line);transform:translateY(-1px)}.boolean-card.right{border-color:var(--ok);background:var(--ok-soft);box-shadow:0 0 0 1px #16a46a20}.boolean-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--cdo-radius-card);background:var(--soft);color:var(--ink-3);font-size:23px}.boolean-card.right .boolean-icon{background:var(--ok);color:var(--on-ok)}.boolean-card>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.boolean-card b{font-size:17px}.boolean-card small{color:var(--ink-3);font-size:10.5px}.boolean-card>i{font-style:normal;color:var(--ok-ink);font-size:20px}.boolean-weight{align-self:flex-start;display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:11px}.answer-builder{display:grid;gap:9px}.answer-card{display:grid;grid-template-columns:38px minmax(0,1fr) 84px;align-items:stretch;gap:8px;padding:9px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--soft)}.answer-card.right{border-color:var(--ok);background:var(--ok-soft)}.answer-correct{align-self:center;width:36px;height:36px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);color:var(--ink-3);font-size:17px;cursor:pointer}.answer-correct.radio{border-radius:50%}.answer-card.right .answer-correct{border-color:var(--ok);background:var(--ok);color:var(--on-ok)}.answer-card-body{min-width:0;border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden;background:var(--paper)}.answer-card-head{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 9px;border-bottom:1px solid var(--line);color:var(--ink-3);font:500 10px var(--mono);text-transform:uppercase}.answer-card-head b{padding:3px 6px;border-radius:var(--cdo-radius-card);background:var(--ok-soft);color:var(--ok-ink);font:600 9px var(--font)}.answer-actions{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:6px}.answer-actions label{display:grid;gap:3px;color:var(--ink-3);text-align:center;font-size:9.5px}.answer-actions label .w{width:58px}.answer-actions>span{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.answer-addbar{display:flex;align-items:center;gap:7px}.answer-bulk{display:grid;gap:9px;padding:13px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--soft)}.answer-bulk>div{display:flex;flex-direction:column;gap:2px}.answer-bulk b{font-size:13px}.answer-bulk small{color:var(--ink-3);font-size:10.5px}.answer-bulk>span{display:flex;justify-content:flex-end;gap:7px}.answer-card .hed.compact{border:0}.answer-card .hed.compact .hbox{min-height:3.2em!important}.pair-help{padding:10px 12px;border-radius:var(--cdo-radius-card);background:var(--accent-soft);color:var(--ink-2);font-size:12.5px;line-height:1.5}.pair-card-row{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 78px;gap:8px;align-items:stretch;padding:10px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--soft)}.pair-card{min-width:0;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:hidden}.pair-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px}.pair-card-head span{display:flex;align-items:center;gap:7px}.pair-card-head b{width:25px;height:25px;display:grid;place-items:center;border-radius:var(--cdo-radius-control);background:var(--accent-soft);color:var(--accent-ink);font:600 10px var(--mono)}.pair-card-head small{color:var(--ink-3);font-size:10px;text-align:right}.pair-link{display:grid;place-items:center;color:var(--accent);font-size:20px}.pair-actions{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:8px}.pair-actions label{display:grid;gap:3px;text-align:center;color:var(--ink-3);font-size:10px}.pair-actions label .w{width:58px}.pair-actions>span{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.pair-photo-side{min-height:140px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px}.pair-photo-side img,.pair-photo-empty{grid-column:1/-1;width:100%;height:120px;object-fit:contain;border-radius:var(--cdo-radius-control);background:var(--soft)}.pair-photo-empty{display:grid;place-items:center;align-content:center;gap:5px;color:var(--ink-3);font-size:24px}.pair-photo-empty span{font-size:11px}.pair-upload{display:grid;place-items:center;min-height:38px;padding:7px 10px;border:1px dashed var(--accent);border-radius:var(--cdo-radius-control);color:var(--accent);font-size:11.5px;cursor:pointer}.pair-photo-side .inp{min-width:0}.pair-add{align-self:flex-start}.pair-distractor{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:7px;align-items:start}.hed.compact{border-radius:0;border:0;box-shadow:none}.hed.compact .compactbar{padding:4px 6px}.hed.compact .compactbar button,.hed.compact .compactbar .hbtn{height:26px;font-size:var(--cdo-text-xs)}.hed.compact .hbox{padding:10px 11px;font-size:14px;line-height:1.45}.text-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.text-mode-picker button{display:grid;grid-template-columns:42px minmax(0,1fr);gap:1px 10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.text-mode-picker button>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:var(--cdo-radius-card);background:var(--soft);color:var(--ink-3);font-size:19px}.text-mode-picker button b{font-size:13px}.text-mode-picker button small{color:var(--ink-3);font-size:10px;line-height:1.35}.text-mode-picker button.active{border-color:var(--accent);background:var(--accent-soft)}.text-mode-picker button.active>span{background:var(--accent);color:var(--on-accent)}.text-question-weight{align-self:flex-start;display:flex;align-items:center;gap:7px;color:var(--ink-3);font-size:11px}.text-answer-help{padding:10px 12px;border:1px solid var(--accent-line);border-radius:var(--cdo-radius-card);background:var(--accent-soft);color:var(--ink-2);font-size:11.5px;line-height:1.5}.text-answer-help code{padding:2px 5px;border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--accent);font:600 11px var(--mono)}.text-answer-list{display:grid;gap:7px}.text-answer-card{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(210px,280px) 32px 32px;align-items:start;gap:7px;padding:8px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--soft)}.text-answer-number{width:28px;height:38px;display:grid;place-items:center;color:var(--accent);font:600 11px var(--mono)}.text-answer-card>div{display:grid;gap:3px}.text-answer-card small{padding-left:4px;color:var(--ok-ink);font-size:10px}.text-answer-card small.warn{color:var(--red-ink)}.text-answer-card .sel{height:38px}.text-answer-card>.iconbtn{margin-top:3px}.text-answer-add{align-self:flex-start}.manual-answer-card{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--accent-line);border-radius:var(--cdo-radius-card);background:var(--accent-soft)}.manual-answer-card>span{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:var(--cdo-radius-card);background:var(--accent);color:var(--on-accent);font-size:20px}.manual-answer-card b{font-size:14px}.manual-answer-card p{margin:5px 0 0;color:var(--ink-3);font-size:12px;line-height:1.5}.cloze-editor{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:hidden}.cloze-toolbar{min-height:44px;display:flex;align-items:center;gap:5px;padding:6px 8px;border-bottom:1px solid var(--line);background:var(--soft)}.cloze-toolbar button,.cloze-toolbar label{height:30px;display:flex;align-items:center;justify-content:center;padding:0 9px;border:1px solid transparent;border-radius:var(--cdo-radius-control);background:transparent;color:var(--ink-2);font:500 12px var(--font);cursor:pointer}.cloze-toolbar button:hover,.cloze-toolbar label:hover{border-color:var(--line);background:var(--paper)}.cloze-toolbar>span{flex:1}.cloze-toolbar small{color:var(--ink-3);font-size:10px}.cloze-toolbar .cloze-add{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:650}.cloze-box{min-height:150px;padding:18px;font-size:15px;line-height:1.7;outline:none}.cloze-box:empty:before{content:attr(data-placeholder);color:var(--ink-3);pointer-events:none}.cloze-token{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin:2px 3px;padding:3px 9px 3px 4px;border:1px solid var(--accent-line);border-radius:var(--cdo-radius-control);background:var(--accent-soft);color:var(--accent);font:600 12px/1.3 var(--font);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 1px #fff inset}.cloze-token b{width:22px;height:22px;display:grid;place-items:center;border-radius:var(--cdo-radius-control);background:var(--accent);color:var(--on-accent);font:600 10px var(--mono)}.cloze-token.active{outline:2px solid var(--accent);outline-offset:2px;background:var(--accent-soft)}.cloze-tip{margin:0;padding:7px 11px;border-top:1px solid var(--line);color:var(--ink-3);font-size:11px}.cloze-empty{display:grid;justify-items:center;gap:5px;padding:26px;border:1px dashed var(--line);border-radius:var(--cdo-radius-card);color:var(--ink-3);text-align:center}.cloze-empty>span{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--cdo-radius-card);background:var(--accent-soft);color:var(--accent);font-size:22px}.cloze-empty b{color:var(--ink-2);font-size:13px}.cloze-empty small{font-size:11px}.cloze-tabs{display:flex;gap:6px;overflow:auto;padding:2px 1px 5px}.cloze-tabs button{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--ink-2);font:500 11.5px var(--font);cursor:pointer}.cloze-tabs button span{width:23px;height:23px;display:grid;place-items:center;border-radius:var(--cdo-radius-control);background:var(--soft);font:600 10px var(--mono)}.cloze-tabs button.ready span{background:var(--ok-soft);color:var(--ok-ink)}.cloze-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.cloze-tabs button.active span{background:var(--accent);color:var(--on-accent)}.cloze-answer-card{border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden;background:var(--paper)}.cloze-answer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--soft)}.cloze-answer-head>div{display:flex;align-items:center;gap:8px}.cloze-answer-head span{color:var(--accent);font:600 10px var(--mono);text-transform:uppercase}.cloze-answer-head b{font-size:13px}.cloze-answer-head small{color:var(--ink-3);font-size:10.5px}.cloze-option-list{display:grid;gap:7px;padding:11px}.cloze-option{display:grid;grid-template-columns:32px minmax(0,1fr) auto 32px;align-items:center;gap:7px;padding:6px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper)}.cloze-option.right{border-color:var(--ok);background:var(--ok-soft)}.cloze-correct{width:30px;height:30px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--ink-3);font-size:16px;cursor:pointer}.cloze-option.right .cloze-correct{border-color:var(--ok);background:var(--ok);color:var(--on-ok)}.cloze-weight{display:flex;align-items:center;gap:5px;color:var(--ink-3);font-size:10px}.cloze-weight .w{width:58px}.cloze-more{margin:0 11px 11px}@media(max-width:980px){.qbauthor-layout,.qbpicker .tygrid{grid-template-columns:1fr}}@media(max-width:700px){.pair-card-row{grid-template-columns:1fr;padding:8px}.pair-link{height:22px;transform:rotate(90deg)}.pair-actions{flex-direction:row;justify-content:space-between}.pair-actions label{display:flex;align-items:center;gap:6px}.pair-card-head small{max-width:55%}}@media(max-width:620px){.qbhead{align-items:flex-start;flex-wrap:wrap}.qbsummary{width:100%;margin:0}.qbsummary span{flex:1}.qrow{align-items:flex-start}.qn2{width:30px}.qn2 i{display:none}.qw{flex-wrap:wrap;justify-content:flex-end;max-width:70px}.qbpicker{padding:16px}.qbpicker .tyb{min-height:68px}.qbauthor-head{flex-wrap:wrap}.qbauthor-head .qscore{margin-left:auto}.qbauthor-main .fb{padding:13px}.qsavebar{margin:10px -13px -13px;padding:10px 13px}.qsavebar>span{display:none}.hedbar{max-height:124px;overflow:auto}.hbox{padding:18px 14px}.hed.compact .hbox{padding:10px 11px}.pair-help{font-size:12px}.cloze-toolbar{flex-wrap:wrap}.cloze-toolbar>span{display:none}.cloze-toolbar .cloze-add{margin-left:auto}.cloze-box{min-height:130px;padding:14px}.cloze-answer-head{align-items:flex-start;flex-direction:column}.cloze-option{grid-template-columns:32px minmax(0,1fr) 32px}.cloze-weight{grid-column:2/3}.cloze-option>.dn{grid-column:3;grid-row:1}.cloze-token span{display:none}.cloze-token{padding-right:4px}.boolean-grid{grid-template-columns:1fr}.boolean-card{min-height:70px}.answer-card{grid-template-columns:34px minmax(0,1fr)}.answer-correct{width:32px;height:32px}.answer-actions{grid-column:2;flex-direction:row;justify-content:space-between}.answer-actions label{display:flex;align-items:center;gap:5px}.answer-addbar{align-items:stretch;flex-direction:column}.answer-addbar .btn{justify-content:center}.answer-bulk>span{display:grid;grid-template-columns:1fr 1fr}}.tyb{font:inherit;color:var(--ink);cursor:pointer}.tyb:hover{border-color:var(--accent);background:var(--accent-soft)}.swrow input[type=checkbox]{width:18px;height:18px;flex:none;margin:0;accent-color:var(--accent)}.jtbl th.jh.red{color:var(--red-ink)}.jtbl th.jh.bold{font-weight:700;color:var(--ink)}.jtbl th.jh small{display:block;font-weight:400;color:var(--ink-3);font-size:10px;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jtbl td.jc.gray{background:var(--cell-gray);color:var(--cell-gray-ink)}.jtbl td.jc.clock{position:relative}.jtbl td.jc .clk{position:absolute;right:1px;top:0;font-size:9px;font-style:normal;opacity:.75}.jtbl tr.exp td.jn{background:var(--red-soft)}.jtbl tr.pro td.jn{background:var(--amber-soft)}.jtbl tr.blk td.jn{color:var(--red-ink)}.jhov{position:fixed;z-index:60;max-width:320px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:8px 11px;box-shadow:0 10px 34px #20225629;font-size:13px;pointer-events:none}.jhov b{display:block;margin-top:2px}.jlog{margin-top:5px;padding-top:5px;border-top:1px dashed var(--line);font-size:12px;color:var(--ink-2)}.jback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55}.jmenu{position:fixed;z-index:56;width:330px;max-width:calc(100vw - 16px);background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:10px 12px;box-shadow:0 10px 34px #20225629;display:flex;flex-direction:column;gap:8px}.jmh{display:flex;align-items:center;gap:8px}.jmh b{flex:1;font-size:14px}.jmh .qk{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jmi{display:block;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--bg);color:var(--ink);font:inherit;font-size:14px;cursor:pointer;text-decoration:none}.jmi:hover{border-color:var(--accent);background:var(--accent-soft)}.jmi.dn:hover{border-color:var(--red);color:var(--red-ink);background:var(--red-soft)}.sbar{display:flex;height:14px;border-radius:var(--cdo-radius-control);overflow:hidden;background:var(--soft);min-width:160px}.sbar i{display:block;height:100%}.sbar .pass,.dot.pass{background:var(--cell-pass)}.sbar .fail,.dot.fail{background:var(--cell-fail)}.sbar .check,.dot.check{background:var(--cell-check)}.sbar .fut,.dot.fut{background:var(--cell-fut)}.dot{display:inline-block;min-width:22px;padding:0 6px;border-radius:var(--cdo-radius-card);color:var(--ink);font-size:12px;line-height:20px;text-align:center}.dot.pass{color:var(--cell-pass-ink)}.dot.fail{color:var(--cell-fail-ink)}.dot.check{color:var(--cell-check-ink)}.dot.fut{color:var(--cell-fut-ink)}.addmenu .qk{white-space:normal;flex:1 1 300px;min-width:0}.jtbl td.jc.them.none{cursor:help;color:var(--ink-3)}.jtbl td.jc.them.none:after{content:"·"}.devlist{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.devlist h3{font-size:15px;margin:0 0 10px}.devrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);margin-bottom:8px}.devrow .dev-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.devrow .dev-main b{font-size:14.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.devrow .dev-main small{font-size:12px;color:var(--ink-3)}.devres{margin:10px 0;padding:10px 12px;border-radius:var(--cdo-radius-card);background:var(--soft)}.devres-row{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--red-ink);margin-bottom:4px}.devres-row.ok{color:var(--ok-ink)}@media(max-width:760px){.text-answer-card{grid-template-columns:30px minmax(0,1fr) 64px}.text-answer-card .sel{grid-column:2/4}.text-answer-card>.iconbtn{grid-row:1}.text-answer-card>.iconbtn:nth-last-child(2){grid-column:3}.text-answer-card>.iconbtn:last-child{grid-column:3}.text-mode-picker{grid-template-columns:1fr}}@media(max-width:480px){.text-answer-card{grid-template-columns:28px minmax(0,1fr) 32px 32px}.text-answer-card>div{grid-column:2/5}.text-answer-card .sel{grid-column:2/5}.text-answer-card>.iconbtn:nth-last-child(2){grid-column:3}.text-answer-card>.iconbtn:last-child{grid-column:4}.text-mode-picker button{grid-template-columns:38px minmax(0,1fr)}.text-mode-picker button>span{width:38px;height:38px}}.cw-task>summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.cw-task>summary::-webkit-details-marker{display:none}.cw-task>summary:hover{background:var(--soft)}.cw-task:not([open])>summary{border-bottom:0}.cw-task-chev{flex:none;color:var(--muted);transition:transform var(--motion-fast,.18s) var(--ease-out,cubic-bezier(.22,1,.36,1))}.cw-task:not([open]) .cw-task-chev{transform:rotate(-90deg)}.cw-ids{margin:6px 0 0;cursor:copy;border:1px solid var(--line);background:var(--paper);color:var(--ink-3);font-weight:600}.cw-ids:hover{color:var(--accent);border-color:var(--accent)}.cw-ids:hover{color:var(--accent)}.pdfv{border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:10px;background:var(--paper)}.pdfv-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.pdfv-bar .grow{flex:1}.pdfv-canvas{display:block;width:100%;height:auto;border-radius:var(--cdo-radius-control);background:#fff;border:1px solid var(--line)}.office-open{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}@media(max-width:480px){.pdfv-bar .btn{width:100%}}.tj-filters{margin-bottom:12px}.tj-groups{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}.tj-grp{display:block;font-size:11px;color:var(--muted);font-weight:400}@media(max-width:640px){.tj-groups .wd.gchip{min-height:40px;padding:8px 12px}.tj-groups .gclass{flex-direction:column;gap:4px}.tj-groups .gclass-title{width:auto;padding-top:0}}.tj-note{margin:0 0 10px}.tj-page{margin-top:10px}.tj-addmenu{align-items:center;margin-top:14px}.tj-stat-col{min-width:180px}.tj-cell-quiet{padding:6px 8px;cursor:default}.tj-cell-nowrap{cursor:default;white-space:nowrap}.tj-hint-flat{border:none;padding:0;margin-top:2px}.ie-head{gap:8px;padding:8px 12px}.ie-head b{flex:none}.ie-head .ie-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);font-size:14px}.ie-toggle{display:grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--muted);cursor:pointer}.ie-toggle:hover{color:var(--accent);border-color:var(--accent)}.ie-toggle svg{transition:transform var(--motion-fast,.18s) var(--ease-out,ease)}.ie-toggle.closed svg{transform:rotate(-90deg)}.ie-head .item-preview-link{min-height:30px;cursor:pointer}.ie-settings{display:flex;flex-direction:column;gap:10px}.ie-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.ie-row .chips{align-items:center}.ie-row .swrow{font-size:14px}.ie-label{font-size:var(--cdo-text-sm);color:var(--muted);margin-right:2px}.ie-inline{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2)}.ie-inline .inp{width:84px}@media(prefers-reduced-motion:reduce){.ie-toggle svg{transition:none}}.route-bar{position:sticky;top:0;z-index:5;height:2px;border-radius:var(--cdo-radius-control);overflow:hidden;background:var(--accent-soft)}.route-bar:after{content:"";display:block;height:100%;width:40%;background:var(--accent);animation:route-slide 1s ease-in-out infinite}@keyframes route-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media(prefers-reduced-motion:reduce){.route-bar:after{animation:none;width:100%;opacity:.5}}.dcell.dyear{width:44px;flex:none;font-weight:700;background:var(--soft);color:var(--ink);border-left:2px solid var(--line)}.dcell.dempty{background:none;border-color:transparent;cursor:default}.dcell{border:0;font:inherit}button.dcell:not(:disabled){cursor:pointer}button.dcell:not(:disabled):hover{outline:2px solid var(--accent);outline-offset:-2px}.dback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55}.dpop{position:fixed;z-index:56;width:min(300px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:11px 13px;box-shadow:0 10px 34px #20225629;display:flex;flex-direction:column;gap:6px}.dpop b{font-size:14.5px}.dpop-st{font-size:13px;color:var(--ink-2)}.dpop .btn{justify-content:center}.dcell.dgr{box-shadow:inset 0 -3px 0 var(--accent)}math{font-size:1.4em;line-height:1.7}.opt math{font-size:1.5em}.opt p,.qtxt p:only-child{margin:0}.opt{min-height:42px}.opt>span:last-child{min-width:0}.calbar{display:flex;align-items:center;gap:10px;margin:0 0 12px}.calbar .grow{flex:1}@media(max-width:640px){.calbar{flex-wrap:wrap;gap:6px}.calbar .calmonth{flex:1;min-width:110px}.calbar .grow{display:none}.calbar>.reader-modes{order:2}.calbar>.primary{order:2;margin-left:auto}}.calmonth{font-size:16px;min-width:150px;text-align:center}.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--cdo-radius-card);overflow:hidden}.calwd{background:var(--soft);padding:7px 9px;font-size:12px;color:var(--ink-3)}.calday{background:var(--paper);min-height:92px;padding:6px 6px 8px;display:flex;flex-direction:column;gap:3px}.calday{position:relative}.calmore-pop{position:absolute;z-index:30;top:4px;left:4px;min-width:min(280px,86vw);max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);box-shadow:var(--shadow)}.calmore-pop header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.calmore-pop .calmore-day{align-self:flex-start;margin-top:4px}.calgrid--month .calday:nth-child(7n) .calmore-pop,.calgrid--month .calday:nth-child(7n-1) .calmore-pop{left:auto;right:4px}.calgrid--month{overflow:visible}.calgrid--month>:first-child{border-top-left-radius:calc(var(--cdo-radius-card) - 1px)}.calgrid--month>:nth-child(7){border-top-right-radius:calc(var(--cdo-radius-card) - 1px)}.calgrid--month>:nth-last-child(7){border-bottom-left-radius:calc(var(--cdo-radius-card) - 1px)}.calgrid--month>:last-child{border-bottom-right-radius:calc(var(--cdo-radius-card) - 1px)}.calday.other{background:var(--soft);color:var(--muted)}.calday.now .caldn{background:var(--accent);color:var(--on-accent);border-radius:var(--cdo-radius-control)}.caldn{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);align-self:flex-start;padding:1px 5px}.calev{display:block;width:100%;text-align:left;border:0;border-radius:var(--cdo-radius-control);padding:3px 6px;font-size:11.5px;line-height:1.35;background:var(--accent-soft);color:var(--accent-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calev b{font-family:var(--mono);font-weight:600;margin-right:4px}.calev.mine{background:var(--cell-fut);color:var(--cell-fut-ink)}.calev.off{background:var(--soft);color:var(--muted);text-decoration:line-through}.upnext{margin-top:20px}.upnext h2{font-size:15px;margin:0 0 8px}.wdays{display:flex;gap:6px;flex-wrap:wrap}.wd{width:40px;padding:7px 0;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);font-size:12.5px;cursor:pointer}.wd.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.dates{display:flex;flex-wrap:wrap;gap:5px;max-height:150px;overflow-y:auto;padding:2px}.dchip{padding:3px 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:11.5px;cursor:pointer}.dchip.off{color:var(--muted);text-decoration:line-through;background:var(--soft)}.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;margin:4px 0 10px}.chk input{width:16px;height:16px;flex:none;margin:0}@media(max-width:760px){.calday{min-height:66px;padding:4px}.calev{font-size:10.5px;padding:2px 4px}.frow2{flex-direction:column;gap:0}}.child-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.child-heading-row h1{margin-bottom:0}.child-switch{display:flex;flex-direction:column;gap:4px;min-width:220px;font-size:12px;color:var(--ink-3)}.child-switch select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink)}.parent-contacts{margin-top:12px}.parent-contacts .contact-card{width:100%}.profile-photo{display:inline-flex;margin:-2px 0 12px;cursor:pointer}.profile-curator{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}.profile-curator:last-of-type{border-bottom:0}.profile-curator b{font-size:14px}.profile-curator small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.pref-list{padding-top:4px!important}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}.pref-row:last-of-type{border-bottom:0}.pref-row>span{display:flex;flex-direction:column;gap:3px}.pref-row small{color:var(--ink-3);font-size:12px}.pref-row input{width:19px;height:19px;flex:none;accent-color:var(--accent)}.offline-main-toggle{padding-top:0}.offline-main-toggle input{width:42px;height:22px}.offline-cache{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:var(--cdo-radius-control);background:var(--soft)}.offline-cache span{color:var(--ink-3);font-size:13px}.backend-note{margin:0;padding:12px;border:1px dashed var(--line);border-radius:var(--cdo-radius-control);color:var(--ink-2);line-height:1.5}.backend-note .tagx{display:inline-flex;margin-right:6px}.support-heading{margin-bottom:16px}.sp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;color:var(--ink-3)}.sp-meta .chip{margin:0}.chip.sp-open{background:var(--accent-soft);color:var(--accent-ink)}.chip.sp-closed{background:var(--soft);color:var(--ink-3)}.sp-tools{flex-wrap:wrap}.sp-tools .seg{margin:0}.sp-tools .seg small{font-weight:400;opacity:.75;margin-left:4px}.sp-search{flex:1;min-width:180px}.sp-compose{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);margin:0 0 16px}.sp-compose textarea{border:1px solid var(--line);border-radius:var(--cdo-radius-control);padding:10px;font:inherit;font-size:15.5px;background:var(--paper);color:var(--ink);resize:vertical}.sp-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px}.sp-err{color:var(--bad);font-size:13.5px}.sp-await{margin:0 0 10px;color:var(--ink-3);font-size:14px}.sp-row{position:relative}.sp-row .chip{margin-left:0}.sp-dot{width:8px;height:8px;border-radius:50%;background:var(--line);flex:none}.sp-row.await .sp-dot{background:var(--accent)}.sp-row.closed{opacity:.72}.sp-feed{height:auto;max-height:62dvh;min-height:200px;border:1px solid var(--line);border-radius:var(--cdo-radius-card) var(--cdo-radius-card) 0 0}.sp-reply{border:1px solid var(--line);border-top:none;border-radius:0 0 var(--cdo-radius-card) var(--cdo-radius-card);background:var(--paper);flex-wrap:wrap}.sp-reply .sp-hint{flex-basis:100%;color:var(--ink-3);font-size:13px;display:flex;align-items:center;gap:6px}.support-placeholder{display:flex;align-items:center;gap:18px;min-height:170px;padding:24px}.support-placeholder h2{margin:0 0 7px}.support-placeholder p{margin:0;color:var(--ink-3)}.offline-title>span{display:flex;flex-direction:column;gap:2px}.offline-title small{font-size:12px;color:var(--ink-3)}.offline-row{padding:0 10px 0 0}.offline-open{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:10px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.offline-open>span:last-child{display:flex;flex-direction:column;min-width:0}.offline-open strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offline-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0}@media(max-width:700px){.conspect-toolbar{flex-wrap:wrap;gap:4px;padding:6px 8px}.conspect-pages{width:100%;justify-content:center;height:34px}.conspect-zoom{width:100%;height:40px;justify-content:center}.conspect-zoom input{width:min(32vw,125px)}.conspect-fit{width:36px;height:34px;padding:0;display:grid;place-items:center}.conspect-fit .fit-label{display:none}.conspect-stage{padding:8px}.conspect-stage.fit .cpage{max-height:none}.support-placeholder{align-items:flex-start;padding:18px}.child-heading-row{align-items:stretch;flex-direction:column;gap:10px}.child-switch{min-width:0}.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.offline-title{align-items:stretch;flex-direction:column}}@media(max-width:600px){.parent-documents .frow{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center}.parent-documents .frow .fk{grid-column:1;grid-row:1;width:50px}.parent-documents .frow .fc{grid-column:2/4;grid-row:1}.parent-documents .frow>.chip{grid-column:2;grid-row:2;justify-self:start}.parent-documents .frow>.fa{grid-column:3;grid-row:2;justify-self:end}}@media(max-width:640px),(max-height:500px){.tbar{position:fixed;left:16px;right:16px;z-index:29;gap:8px;padding:7px 10px;flex-wrap:nowrap;min-height:52px;bottom:calc(52px + env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:var(--cdo-radius-card) var(--cdo-radius-card) 0 0;box-shadow:0 -3px 12px #0000000b}.tbar .tprog .tpl{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tbar .test-finish{padding:6px 10px;font-size:12.5px;min-height:32px}.test-page-controls{position:fixed;left:0;right:0;bottom:0;z-index:30;gap:4px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -2px 10px #00000010}.test-page-controls .compact-pages{flex:1;flex-wrap:nowrap;scroll-snap-type:x proximity}.test-page-controls .tmi{scroll-snap-align:center}.test-page-controls>span{width:32px}.test-page-controls .iconbtn{flex:none}.doc:has(.test-page-controls) .docbody{padding-bottom:122px}}.nav-handle{display:none}@media(max-width:640px),(max-height:500px){.nav-handle{display:flex;align-items:center;justify-content:center;gap:6px;position:fixed;left:50%;bottom:calc(104px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:31;width:auto;min-width:102px;height:32px;border:1px solid var(--line);border-bottom:0;border-radius:var(--cdo-radius-card) var(--cdo-radius-card) 0 0;background:var(--paper);color:var(--accent);padding:0 10px;font-size:12px;font-weight:600;box-shadow:0 -3px 10px #0000000b}.nav-handle .app-icon:last-child{transition:transform var(--motion-fast,.18s) var(--ease-out,ease)}.nav-handle.open .app-icon:last-child{transform:rotate(180deg)}.bottom-nav.peek{bottom:calc(110px + env(safe-area-inset-bottom));z-index:32;border-radius:var(--cdo-radius-card) var(--cdo-radius-card) 0 0;box-shadow:0 -6px 20px #00000018}.nav-handle.open{bottom:calc(166px + env(safe-area-inset-bottom));z-index:33;color:var(--ink-3)}}.tbar .tmap{flex-wrap:nowrap}@media(max-width:640px){.plan .wd.gchip{min-height:40px;padding:8px 12px}.plan .gclass{flex-direction:column;gap:4px}.plan .gclass-title{width:auto;padding-top:0}}.app-icon{display:block;flex:none}.nav-icon,.bottom-nav-icon{display:grid;place-items:center;flex:none;color:var(--muted)}.nav.active .nav-icon,.bottom-nav .active .bottom-nav-icon{color:var(--accent)}.nav,.identity,.sub,.contact-card,.message-text{font-size:var(--text-sm)}.identity small,.seclbl,.theme-list small,.material small,.item-tab-text small{font-size:var(--text-xs)}.tabs button,.tabs a,.course-tabs a,.material strong,.opt{font-size:var(--text-sm)}h1{font-size:var(--text-lg)}.actions button{display:grid;place-items:center}.course-context{display:flex;align-items:center;gap:8px;min-width:0;flex:1;height:54px}.course-context>a,.course-context>.lesson-tab-arrow{height:40px;display:flex;align-items:center;border-radius:var(--cdo-radius-control);color:var(--muted)}.course-context .course-home-tab{width:40px;justify-content:center;color:var(--accent)}.course-context .course-name-tab{max-width:210px;padding:0 9px;color:var(--ink);font-size:var(--text-sm)}.course-context .lesson-tab-arrow{width:34px;justify-content:center;color:var(--accent)}.course-context .lesson-tab-arrow:hover,.course-context .course-home-tab:hover{background:var(--soft)}.course-context .lesson-current-tab{display:block;line-height:40px;flex:0 1 auto;max-width:260px;min-width:72px;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--accent-soft);color:var(--accent);font-size:var(--text-sm);font-weight:600}.course-context .course-home-tab,.course-context .course-name-tab,.course-context .lesson-tab-arrow,.course-nav-toggle{flex-shrink:0}.course-inline-links{position:fixed;left:-10000px;visibility:hidden;pointer-events:none;display:flex;gap:8px;width:max-content;white-space:nowrap}.links-fit .course-inline-links{position:static;visibility:visible;pointer-events:auto;flex:none}.course-inline-links a{display:flex;align-items:center;gap:6px;height:40px;padding:0 8px;border-radius:var(--cdo-radius-control);font-size:var(--text-sm);color:var(--ink-2)}.course-inline-links a:hover{background:var(--soft);color:var(--accent)}.course-nav-toggle{height:40px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--ink-2);font-size:var(--text-sm)}.course-nav-toggle:hover,.course-nav-toggle.open{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.course-nav-toggle .app-icon:last-child{transition:transform var(--motion-fast,.18s) var(--ease-out,ease)}.course-nav-toggle.open .app-icon:last-child{transform:rotate(180deg)}.course-nav-panel{position:absolute;top:50px;left:0;z-index:45;width:min(580px,calc(100vw - 32px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);box-shadow:0 18px 45px #20225629}.course-nav-panel a{min-width:0;min-height:44px;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--cdo-radius-control);color:var(--ink-2);font-size:var(--text-sm)}.course-nav-panel a:hover{background:var(--soft);color:var(--accent)}.course-nav-panel a span:not(.tab-badge){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-nav-panel .course-nav-notebook{display:none;min-width:0;min-height:44px;align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:var(--cdo-radius-control);background:none;color:var(--ink-2);font-size:var(--text-sm)}.course-nav-panel .course-nav-notebook:hover{background:var(--soft);color:var(--accent)}.top--learning .actions{padding-left:4px}.doc.reading .reader-bar,.conspect-toolbar,.tbar{min-height:54px;padding:8px 12px;background:color-mix(in srgb,var(--paper) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--paper)}.reader-pages,.conspect-pages,.test-page-controls{gap:6px}.reader-bar .iconbtn,.conspect-toolbar .iconbtn,.test-page-controls .iconbtn{width:36px;height:36px;min-height:36px;padding:0}.tmi{min-width:34px;height:34px}@media(max-width:760px){.top--learning{gap:5px}.top--learning .course-context{gap:3px}.top--learning .course-name-tab{display:none}.top--learning .actions button:not(.help-btn){display:none}.course-nav-panel .course-nav-notebook{display:flex}.top--learning .actions{gap:3px;padding-left:0}.top--learning .header-profile{width:34px;height:34px}.course-context .course-home-tab{width:34px}.course-context .lesson-tab-arrow{width:30px}.course-context .lesson-current-tab{padding:0 8px}.course-nav-toggle{width:38px;padding:0;justify-content:center}.course-nav-toggle span,.course-nav-toggle .app-icon:last-child{display:none}.course-nav-panel{left:0;right:0;top:50px;width:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav a>span{font-size:inherit}.doc.reading .reader-bar,.conspect-toolbar,.tfoot,.savebar{bottom:calc(60px + env(safe-area-inset-bottom))}}.calwk{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:hidden}.calwk-head,.calwk-body{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr))}.calwk-head{background:var(--soft);border-bottom:1px solid var(--line)}.calwk-dh{padding:7px 6px;font-size:12px;color:var(--ink-3);text-align:center;border-left:1px solid var(--line)}.calwk-dh b{font-family:var(--mono);margin-right:4px}.calwk-dh.now{color:var(--accent);font-weight:600}.calwk-body{position:relative;overflow:hidden}.calwk-gut{position:relative}.calwk-body .calwk-gut{border-right:0}.calwk-h{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);text-align:right;padding:2px 6px 0 0;box-sizing:border-box;border-top:1px solid var(--line)}.calwk-col{position:relative;border-left:1px solid var(--line);cursor:pointer}.calwk-col.now{background:color-mix(in srgb,var(--accent-soft) 35%,transparent)}.calwk-line{position:absolute;left:0;right:0;border-top:1px solid var(--line);pointer-events:none}.wkev{position:absolute;left:3px;right:3px;box-sizing:border-box;border:0;border-radius:var(--cdo-radius-control);padding:3px 6px;font-size:11.5px;line-height:1.3;text-align:left;background:var(--accent-soft);color:var(--accent-ink);overflow:hidden;cursor:pointer;z-index:1}.wkev b{font-family:var(--mono);font-weight:600;margin-right:4px}.wkev{overflow:hidden}.wkev .wkev-g{display:block;opacity:.75;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wkev.mine{background:var(--cell-fut);color:var(--cell-fut-ink);cursor:grab}.wkev.off{background:var(--soft);color:var(--muted);text-decoration:line-through}.wd.gchip{width:auto;padding:5px 10px}.gchip-tag{font-size:11px;color:var(--muted);font-weight:400}.gchip.on .gchip-tag{color:inherit;opacity:.8}.editbox{display:flex;flex-direction:column;gap:8px}.chk .inp.w{width:64px;padding:4px 6px;font-size:13px}@media(max-width:640px){.wk-head,.wk-body{grid-template-columns:40px repeat(7,minmax(0,1fr))}.wk-dh{padding:6px 2px;font-size:11px}.wk-dh b{display:block;margin:0}.wkev{font-size:10px;padding:2px 3px}.wk-h{font-size:9.5px;padding-right:3px}}.plan-row{display:flex;gap:10px}.plan-row .f{flex:1;min-width:0}@media(max-width:640px){.plan-row{flex-wrap:wrap}.plan-row .f{flex:1 1 45%}}.qtxt iframe,.opt iframe,.tcomment iframe,.stext iframe,.course-info iframe,.docbody iframe{max-width:100%;border:0}.qtxt iframe[data-video],.tcomment iframe[data-video],.course-info iframe[data-video],.docbody iframe[data-video]{width:100%;aspect-ratio:16/9;height:auto}.opt.ok{border-color:var(--ok);background:var(--ok-soft)}.opt.ok .r{background:var(--ok);border-color:var(--ok)}.stu-list{display:flex;flex-direction:column}.stu{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:14.5px}.stu:last-child{border-bottom:0}.stu.selected{background:var(--accent-soft)}.stu .avatar{flex:none}.stu-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.stu-name{font-weight:600;display:flex;align-items:center;gap:8px;min-width:0}.stu-name .mark{margin:0}.stu-meta{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stu-note{font-size:12.5px;color:var(--amber-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stu .due,.stu .quiet-button{flex:none}@media(max-width:640px){.stu{flex-wrap:wrap}.stu-main{flex-basis:calc(100% - 46px)}.stu .due,.stu .quiet-button{margin-left:46px}.stu .quiet-button{margin-left:0}}.chat-sec .thead{width:100%;border:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.chat-sec .thead .chev{margin-left:8px;color:var(--ink-3)}.chat-sec .material-list{padding:8px}.jtbl td.jc.fut{border-right-color:#c4c6ec;border-bottom-color:#c4c6ec}.shell.dark .jtbl td.jc.fut{border-right-color:#3d4270;border-bottom-color:#3d4270}.jc.fut{border-right-color:#c4c6ec}.shell.dark .jc.fut{border-right-color:#3d4270}.media-preview{margin:6px 0 10px}.media-preview video,.media-preview img{display:block;max-width:100%;max-height:70vh;border-radius:var(--cdo-radius-control);background:#000}.media-preview img{background:none}.media-preview audio{width:100%;max-width:520px}.media-rot.on{position:relative;overflow:hidden;border-radius:var(--cdo-radius-control)}.media-rot.on:before{content:"";display:block;padding-top:var(--rot-pad)}.media-rot.on img{position:absolute;top:50%;left:50%;max-width:none;max-height:none;border-radius:0;transition:transform var(--motion-base,.32s) var(--ease-out,cubic-bezier(.22,1,.36,1))}.media-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.annot{border:1px solid var(--line);border-radius:var(--cdo-radius-card);padding:10px;background:var(--paper)}.annot-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.annot-bar .grow{flex:1}.annot-colors{display:flex;gap:6px}.annot-c{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer}.annot-c.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--paper) inset}.annot-canvas{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;touch-action:none;cursor:crosshair;border-radius:var(--cdo-radius-control);background:#fff}.annot-view{max-height:80vh;overflow:auto;border-radius:var(--cdo-radius-control)}.annot-view.zoomed{border:1px solid var(--line)}.annot-view.zoomed .annot-canvas{max-width:none}.annot-zoom{display:inline-flex;align-items:center;gap:4px}.annot-zoom input{width:110px}.annot-zoom output{min-width:44px;font:600 var(--cdo-text-xs) var(--mono);color:var(--muted);font-variant-numeric:tabular-nums}.zip-entry{padding:8px;border:1px solid var(--line);border-radius:var(--cdo-radius-control)}.zip-name{display:flex;gap:8px;align-items:baseline;margin-bottom:6px;font-size:13px}.zip-name small{color:var(--ink-3)}.chat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:8px;padding:8px}.chat-tile{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);min-width:0;color:inherit}.chat-tile:hover{border-color:var(--accent)}.chat-tile.fresh{border-color:var(--accent);background:var(--accent-soft)}.chat-tile .subject-icon{flex:none;width:30px;height:30px;border-radius:var(--cdo-radius-control);display:grid;place-items:center;background:var(--soft)}.chat-tile>span:nth-child(2){flex:1;min-width:0}.chat-tile strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-tile small{display:block;font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-tile .chip{flex:none;min-width:22px;text-align:center;background:var(--accent);color:var(--on-accent);border-radius:999px;font-size:11.5px;padding:2px 7px}.gcur{margin-left:4px;font-size:10px;opacity:.8}.bell{position:relative;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--cdo-radius-control);color:var(--ink-2)}.actions .support-btn{position:relative}.actions .support-btn.on{color:var(--accent);background:var(--accent-soft)}.bell:hover,.bell.has{color:var(--accent)}.bell-n{position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--red);color:var(--on-red);font-size:10px;line-height:16px;text-align:center;font-family:var(--mono)}.notif{padding:0;align-items:stretch;gap:0}.notif.fresh{border-color:var(--accent);background:var(--accent-soft)}.notif-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:11px 8px 11px 15px;text-align:left;background:none;border:0;border-radius:inherit;cursor:pointer}.notif-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;flex:none;padding:8px 14px 8px 4px}.notif-date{font-size:12.5px;color:var(--ink-3);white-space:nowrap}.notif.fresh .notif-date{color:var(--accent-ink);font-weight:600}.notif-read{min-height:30px;padding:3px 10px;border:1px solid var(--accent-line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--accent-ink);font-size:12.5px;cursor:pointer}.notif-read:hover{background:var(--accent-soft)}@media(max-width:640px){.notif{flex-wrap:wrap}.notif-main{flex:1 1 100%;padding-right:15px}.notif-side{flex:1 1 100%;flex-direction:row;justify-content:space-between;align-items:center;padding:0 14px 10px}}.notif-ic{width:34px;font-size:14px}.notif-ic.study,.notif-ic.graded{background:var(--ok-soft);color:var(--ok-ink)}.notif-ic.chats{background:var(--soft);color:var(--accent-ink)}.notif-ic.school,.notif-ic.support{background:var(--accent-soft);color:var(--accent-ink)}.notif-ic.submitted{background:var(--amber-soft);color:var(--amber-ink)}.notif-ic.blocked{background:var(--red-soft);color:var(--red-ink)}.notif-ic.payment{background:var(--amber-soft);color:var(--amber-ink)}.topic-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:var(--soft)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:12px}.ccard{display:flex;flex-direction:column;gap:8px;padding:13px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card);color:inherit;min-width:0;box-shadow:var(--shadow)}.ccard:hover,.ccard.alert{border-color:var(--accent)}.cc-head{display:flex;align-items:center;gap:10px;min-width:0}.cc-name{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-p{max-width:none}.cc-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:22px}.cc-progress-text{font-size:11.5px;color:var(--muted);flex:1 1 100%}.badge-msg{background:var(--accent-soft);color:var(--accent-ink)}.cc-next{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.home-mode{display:flex;align-items:center;gap:5px;margin:8px 0 10px}.home-mode button{min-height:34px;padding:6px 10px;border:1px solid transparent;border-radius:var(--cdo-radius-control);background:transparent;color:var(--muted);font-size:13px}.home-mode button:hover{background:var(--soft);color:var(--ink)}.home-mode button.selected{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.home-mode-count{margin-left:6px;min-width:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px;line-height:18px;text-align:center;display:inline-block}.teacher-pending{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(0,2fr);gap:14px;align-items:center;margin:8px 0 14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--amber) 38%,var(--line));border-radius:var(--cdo-radius-card);background:var(--paper);box-shadow:var(--shadow)}.teacher-pending>div{display:flex;flex-direction:column;gap:2px}.teacher-pending>div span{font-size:12.5px;color:var(--muted)}.teacher-pending nav{display:flex;gap:7px;overflow-x:auto;padding:2px;scrollbar-width:thin}.teacher-pending a{display:flex;align-items:center;gap:8px;min-width:max-content;min-height:38px;padding:7px 10px;border-radius:var(--cdo-radius-control);background:var(--amber-soft);color:var(--ink-2);font-size:13px}.teacher-pending a:hover{color:var(--ink)}.teacher-pending a b{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--amber);color:var(--on-amber);font:600 11px/22px var(--mono);text-align:center}@media(max-width:640px){.teacher-pending{grid-template-columns:1fr;gap:8px}.teacher-pending nav{margin:0 -4px}.outline-tools input{flex:1 1 100%}}.jn-link{color:inherit;text-decoration:none}.jn-link:hover{color:var(--accent);text-decoration:underline}.stu-note-full{margin:8px 0 0;white-space:pre-wrap;font-size:13.5px;color:var(--ink-2)}.shell.mini .primary-nav .nav{position:relative}.tab-badge.msg{background:var(--accent);color:var(--on-accent)}.cw-context{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cw-who{font-size:14px;min-width:0}.top{padding-top:env(safe-area-inset-top);height:calc(54px + env(safe-area-inset-top))}.top .course-tabs{height:54px}@media(max-width:760px){.top{height:calc(54px + env(safe-area-inset-top))}.workspace{--learning-tools-top: calc(110px + env(safe-area-inset-top)) }.doc.reading iframe{scroll-margin-top:calc(var(--learning-tools-top) + 54px)}.item-strip.lesson-item-strip{top:calc(54px + env(safe-area-inset-top))}}.agenda{display:flex;flex-direction:column;gap:8px}.agenda-day{border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);overflow:hidden}.agenda-day.now{border-color:var(--accent)}.agenda-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--soft);font-size:13.5px}.agenda-day.now .agenda-head{background:var(--accent-soft)}.agenda-row{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:none;padding:9px 12px;color:inherit;font:inherit}.agenda-row b{font-family:var(--mono);flex:none}.agenda-t{min-width:0}.agenda-t small{display:block;color:var(--ink-3);font-size:12px}.agenda-row.off{text-decoration:line-through;color:var(--muted)}.agenda-empty{margin:0;padding:8px 12px;color:var(--ink-3);font-size:12.5px}.lesson-item-strip{top:calc(54px + env(safe-area-inset-top))}.tchip{flex:none;font-family:var(--mono);font-size:10.5px;padding:1px 6px;border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--ink-3);border:1px solid var(--line);white-space:nowrap}.outline-tools{justify-content:space-between}.outline-title{flex:1;min-width:0;margin:0;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outline-title .count{margin-left:8px;font-family:var(--mono);font-size:12px;font-weight:400;color:var(--ink-3)}@media(max-width:640px){.outline-tools{flex-wrap:wrap}.outline-title{flex-basis:100%}}.lchips{flex:0 1 auto;display:flex;gap:4px;min-width:0;max-width:52%;overflow:hidden;white-space:nowrap;margin-left:auto}.lchips .fchips{margin:0;flex:none}.lrow.op .lchips.full{flex:0 0 100%;max-width:none;flex-wrap:wrap;padding-left:27px;order:9;margin:2px 0 0}.lrow.op .lrow-toggle{flex-wrap:wrap}@media(max-width:640px){.lchips{display:none}.lrow.op .lchips.full{display:flex}}.top .course-tabs{display:flex;align-items:center;gap:6px;padding:0 4px}.top .course-tabs a,.top .course-tabs>.lesson-tab-arrow{min-height:34px;height:34px;padding:0 12px;border:0;border-radius:999px;display:inline-flex;align-items:center;font-size:13.5px;color:var(--ink-2)}.top .course-tabs a:hover{background:var(--soft);color:var(--ink)}.top .course-tabs a.selected{background:var(--accent-soft);color:var(--accent-ink);font-weight:600;border:0}.top .course-tabs .course-name-tab{font-weight:700;font-size:15.5px;color:var(--ink);max-width:min(38vw,420px);overflow:hidden;text-overflow:ellipsis;padding:0 8px}.top .course-tabs .course-name-tab.selected{background:none;color:var(--ink)}.top .course-tabs .course-home-tab{width:34px;padding:0;color:var(--ink-3)!important;font-size:17px!important}.top .course-tabs .course-home-tab:hover{color:var(--accent)!important}.top .course-tabs .course-tab-icon{display:none}.top .course-tabs .lesson-current-tab{background:var(--soft);color:var(--ink);font-weight:600}.top .course-tabs>.lesson-tab-arrow{width:30px;padding:0;color:var(--ink-3)}.top .course-tabs .tab-badge{margin-left:6px;line-height:18px;font-size:11.5px}@media(max-width:760px){.top .course-tabs .course-name-tab{max-width:46vw;font-size:14.5px}.top .course-tabs a{padding:0 9px}}.tv-info{flex-wrap:wrap;min-width:0}.tv-chips{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px}.item-nav a .item-tab-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}@media(max-width:760px){.teacher-viewbar .tv-info{display:flex}.teacher-viewbar>span i{display:none}}.gclass{display:flex;gap:8px;align-items:flex-start;margin:4px 0}.gclass-title{flex:none;width:64px;font-family:var(--mono);font-size:11.5px;color:var(--ink-3);padding-top:9px}.chip.ok{background:var(--ok-soft);color:var(--ok-ink)}.chip.bad{background:var(--red-soft);color:var(--red-ink)}.istats{margin:-4px 0 10px}.istats-body{margin-top:8px}.istats-sum{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.istats-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.istats-row{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:13.5px;color:inherit;min-width:0}.istats-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.istats-state{font-size:12px;padding:1px 7px;border-radius:999px;background:var(--soft);color:var(--ink-3);white-space:nowrap}.istats-row.passed .istats-state,.istats-row.opened .istats-state{background:var(--ok-soft);color:var(--ok-ink)}.istats-row.checking .istats-state,.istats-row.finished .istats-state{background:var(--amber-soft);color:var(--amber-ink)}.istats-row.failed .istats-state{background:var(--red-soft);color:var(--red-ink)}.istats-score{font-family:var(--mono);font-size:12.5px}.teacher-viewbar>span i{display:none}.teacher-viewbar .tv-chips{margin:0}.istats{margin:0 0 10px}.ask-btn{width:36px;height:36px;min-height:36px;padding:0;border-radius:var(--cdo-radius-control);border:1px solid var(--line);background:var(--paper);color:var(--accent);display:inline-grid;place-items:center}.ask-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.question-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:12px 16px 14px}.question-body .chat-panel{display:flex;flex-direction:column;flex:1;min-height:0}.question-body .chat-feed{flex:1;min-height:160px;height:auto}.question-body .chat-compose{flex:none}@media(max-width:640px){.question-body{padding:8px 10px calc(10px + env(safe-area-inset-bottom))}}.wk-done{flex:none;width:22px;height:22px;border-radius:50%;background:var(--ok-soft);color:var(--ok-ink);display:grid;place-items:center;font-size:12px}.rv-filter{margin-left:auto}.qcard.rv.ok{border-left:3px solid var(--ok)}.qcard.rv.no{border-left:3px solid var(--red)}.qcard.rv.part{border-left:3px solid var(--amber)}.qcard.rv.checking{border-left:3px solid var(--accent)}.qpts.ok{color:var(--ok-ink)}.qpts.no{color:var(--red-ink)}.qpts.part{color:var(--amber-ink)}.qpts.checking{color:var(--accent-ink)}.rv-opts{display:flex;flex-direction:column;gap:6px}.rv-opt{cursor:default}.rv-opt.ok{border-color:var(--ok)}.rv-opt.bad{border-color:var(--red);background:var(--red-soft)}.rv-tag{margin-left:auto;font-size:11.5px;padding:1px 7px;border-radius:999px;background:var(--soft);color:var(--ink-3);white-space:nowrap}.rv-tag.ok{background:var(--ok-soft);color:var(--ok-ink)}.rv-tag.bad{background:var(--red-soft);color:var(--red-ink)}.rv-pairs{display:flex;flex-direction:column;gap:6px}.rv-pair{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);flex-wrap:wrap}.rv-pair.ok{border-color:var(--ok);background:var(--ok-soft)}.rv-pair.bad{border-color:var(--red);background:var(--red-soft)}.rv-cell{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 180px}.rv-cell img{width:56px;height:56px;object-fit:cover;border-radius:var(--cdo-radius-control);flex:none}.rv-arrow{color:var(--ink-3);flex:none}.rv-right{flex:1 1 100%;font-size:13px;color:var(--ink-2)}.rv-right small{color:var(--ink-3);margin-right:4px}.rv-word{display:inline-block;padding:0 6px;border-radius:var(--cdo-radius-control);background:var(--soft);font-weight:600}.rv-word.ok{background:var(--ok-soft);color:var(--ok-ink)}.rv-word.bad{background:var(--red-soft);color:var(--red-ink)}.gp.wide{width:auto;padding:0 10px}.gpick .hnt{align-self:center}.attempts-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px}.attempts-bar .chips{flex:1;min-width:0;flex-wrap:wrap}.attempts-bar .chp small{font-weight:400;color:inherit;opacity:.8}.attempts-acts{display:flex;gap:6px;flex:none}.rv-accept{display:inline-block;margin:2px 6px 2px 0;padding:1px 8px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:13px}.rdet .rv2.no{background:var(--red-soft);color:var(--red-ink)}.rdet .rv2.checking{background:var(--accent-soft);color:var(--accent-ink)}.conspect-viewer{scroll-margin-top:calc(var(--learning-tools-top,110px) + 8px)}.notif-ic.online,.notif-ic.online_soon{background:var(--accent-soft);color:var(--accent-ink)}.notif-ic.online_changed{background:var(--amber-soft);color:var(--amber-ink)}.notif-ic.online_cancelled{background:var(--red-soft);color:var(--red-ink)}.dlist .wm{white-space:pre-line}.stu-h1{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stu-h1 h1{margin:0}.frm output.with-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.frm output.with-btn>span{display:block;word-break:break-word}.btn.sm{min-height:28px;padding:3px 10px;font-size:12px}.stu-id{font-variant-numeric:tabular-nums;color:var(--ink-2)}.ig-hero{display:flex;gap:14px;align-items:center;margin:0 0 14px}.ig-icon{width:56px;height:56px;border-radius:var(--cdo-radius-card);flex:none;box-shadow:0 2px 8px #0000001f}.ig-hero-text{display:flex;flex-direction:column;gap:3px;min-width:0}.ig-hero-text b{font-size:17px}.ig-install{min-height:42px;padding:10px 18px;font-size:15px;margin:2px 0 4px}.ig-steps{margin:4px 0 10px;padding-left:20px;font-size:14px;line-height:1.5}.ig-steps li{margin:0 0 4px}.tex-pal{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px}.tex-pal button{min-height:28px;padding:2px 8px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);color:var(--ink);font-size:13px}.tex-pal button:hover{border-color:var(--accent)}.tex-preview{min-height:44px;margin:8px 0 4px;padding:8px 12px;border:1px dashed var(--line);border-radius:var(--cdo-radius-control);background:var(--soft);font-size:18px;overflow-x:auto}.hstyles>div{display:flex;flex-direction:column;gap:6px;min-width:200px;padding:8px}.hstyles>div button{text-align:left;padding:8px 12px;border-radius:var(--cdo-radius-control);font-size:13.5px;color:#1b2559;border-width:1px;border-style:solid}.hstyles>div button:hover{filter:brightness(.96)}.hbox.legacy{padding:20px;max-width:none;background:#fff;color:#333;font:16px/1.6 Century Schoolbook,Georgia,serif;overflow-wrap:anywhere}.hbox.legacy a{color:#0782c1}.hbox.legacy td,.hbox.legacy th{border:0;padding:1px}.hbox.legacy table:not([border]) td,.hbox.legacy table:not([border]) th{outline:1px dashed #d3d3d3}.hbox.legacy figure{display:inline-block;margin:10px 20px;text-align:center}.hbox.legacy figcaption{font-size:inherit;color:inherit}.hbox.legacy iframe{max-width:100%;border:0}.hbox.legacy .video-frame{max-width:none;margin:10px 0}.shell.dark .hbox.legacy{background:#fff;color:#333}.hed{position:relative}.hbox iframe,.hbox video{pointer-events:none}.hbox .media-selected{outline:3px solid var(--accent);outline-offset:2px}.media-bar{position:absolute;z-index:6;display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);box-shadow:var(--shadow)}.media-bar button{min-height:26px;padding:2px 9px;border:0;border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--ink);font-size:12.5px}.media-bar button:hover{background:var(--accent-soft);color:var(--accent)}.media-bar button.danger:hover{background:var(--red-soft);color:var(--red-ink)}.media-bar label{min-height:26px;padding:2px 9px;border-radius:var(--cdo-radius-control);background:var(--soft);color:var(--ink);font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.media-bar label:hover{background:var(--accent-soft);color:var(--accent)}.tex-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 8px}.tex-tabs button{min-height:26px;padding:2px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-2);font-size:12.5px}.tex-tabs button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.fmode{margin:0 0 10px}.trash-list{display:flex;flex-direction:column;gap:8px}.trash-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper)}.trash-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.trash-main small{color:var(--ink-3)}.trash-h{margin:14px 2px 2px;font-size:14.5px;font-weight:600}.trash-h .count{margin-left:6px;color:var(--muted);font-weight:500}.trash-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.trash-pick{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.trash-pick .sel{min-width:190px;max-width:320px}.trash-main small.trash-warn{color:var(--warn)}.chat-notice{padding:12px 16px;color:var(--ok-ink);background:var(--ok-soft);font-size:13.5px}@media(max-width:640px){.trash-row{flex-direction:column;align-items:stretch}.trash-actions{justify-content:stretch}.trash-pick .sel{max-width:none;width:100%}}.savebar-next{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.savebar-next .btn small{display:block;font-weight:400;font-size:11px;opacity:.85;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-text.deleted{color:var(--ink-3);font-style:italic}.reply-action.danger:hover{color:var(--red-ink)}.file-remove{font-size:11.5px;margin-left:6px}.qprev-body{padding:2px 0;line-height:1.6}.qprev-meta{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 10px}.qk.warn{background:var(--red-soft);color:var(--red-ink)}.qprev-gap{display:inline-block;margin:0 2px;padding:1px 8px;border-radius:var(--cdo-radius-control);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.qprev-gap.empty{background:var(--red-soft);color:var(--red-ink)}.qprev-answers{display:flex;flex-direction:column;gap:6px}.qprev-opt{display:flex;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper)}.qprev-opt.ok{border-color:var(--ok);background:var(--ok-soft)}.qprev-mark{margin-left:auto;flex:none;color:var(--ok-ink);font-size:12px;white-space:nowrap}.qprev-pair{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);margin-bottom:6px;flex-wrap:wrap}.qprev-pair.swapped{flex-direction:row-reverse}.qprev-pair-side{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.qprev-pair-side img{max-width:100%;max-height:140px;object-fit:contain;border-radius:var(--cdo-radius-control)}.qprev-hint{margin-top:10px}.pair-card-row.swapped>.pair-card:nth-of-type(1){order:3}.pair-card-row.swapped>.pair-link{order:2}.pair-card-row.swapped>.pair-card:nth-of-type(3){order:1}.pair-card-row.swapped>.pair-actions{order:4}.pair-help ol{margin:6px 0 0;padding-left:18px}.pair-help li{margin:2px 0}.vrec{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-top:0;background:var(--soft)}.vrec-screen{display:block;width:100%;max-width:480px;aspect-ratio:16/9;border-radius:var(--cdo-radius-control);background:var(--ink);object-fit:cover}.vrec-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vrec-bar .grow{flex:1}.vrec-voice{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--paper);border:1px solid var(--line);color:var(--muted)}.vrec-voice.live{color:var(--red-ink);border-color:var(--red);box-shadow:0 0 0 4px var(--red-soft)}.vrec-audio{width:100%;max-width:480px}.vrec-clock{display:inline-flex;align-items:center;gap:6px;font:600 var(--cdo-text-sm) var(--mono);color:var(--ink-2);font-variant-numeric:tabular-nums}.vrec-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--red)}.vrec-dot.live{animation:vrec-blink 1s steps(2,start) infinite}@keyframes vrec-blink{to{visibility:hidden}}@media(prefers-reduced-motion:reduce){.vrec-dot.live{animation:none}}:root{--modal-w-sm:420px;--modal-w-form:520px;--modal-w-wide:760px;--modal-edge:10px;--modal-pad-x:20px;--modal-pad-y:18px;--modal-gap:10px;--modal-title:var(--cdo-text-heading,18px);--modal-radius:var(--cdo-radius-dialog,16px);--modal-backdrop:rgba(21,20,43,.46);--modal-shadow:0 24px 90px rgba(17,17,17,.45)}@media(max-width:560px){:root{--modal-pad-x:16px;--modal-pad-y:16px}}.modal,.edialog,.dpop.sheet,.question-dialog{width:min(var(--modal-w,var(--modal-w-sm)),calc(100vw - 2*var(--modal-edge)));max-width:none;max-height:86vh;max-height:min(88dvh,calc(100dvh - 2*var(--modal-edge)));margin:auto;padding:var(--modal-pad-y) var(--modal-pad-x);display:flex;flex-direction:column;gap:var(--modal-gap);overflow:auto;overscroll-behavior:contain;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow)}dialog.modal:not([open]),.edialog:not([open]),.question-dialog:not([open]){display:none}:where(.edialog,.dpop.plan){--modal-w:var(--modal-w-form)}:where(.theme-dialog,.question-dialog){--modal-w:var(--modal-w-wide)}.modal--sm{--modal-w:var(--modal-w-sm)}.modal--form{--modal-w:var(--modal-w-form)}.modal--wide{--modal-w:var(--modal-w-wide)}.edialog{padding:0;gap:0}.edialog>form{padding:var(--modal-pad-y) var(--modal-pad-x);display:flex;flex-direction:column;gap:14px}.edialog form>p{margin:0}.modal--flush{padding:0;gap:0}.modal--flush>.modal-head{padding:12px var(--modal-pad-x);border-bottom:1px solid var(--line);align-items:center}.modal--flush>.modal-body{padding:var(--modal-gap) var(--modal-pad-x) var(--modal-pad-y)}.dpop.sheet{top:50%;left:50%;transform:translate(-50%,-50%)}.modal-head{display:flex;align-items:flex-start;gap:10px;margin:0;min-width:0}.modal-head>:first-child{flex:1;min-width:0}.modal-head h3,.modal-title,.edialog h3,.dpop.sheet>h3{margin:0;font-size:var(--modal-title);line-height:1.3;font-weight:700;overflow-wrap:anywhere}.modal-head .hnt{display:block;margin-top:2px}.modal-close{flex:none;margin:-6px -8px 0 0;color:var(--ink-3)}.modal-close:hover{color:var(--ink)}.theme-dialog{position:relative}.theme-dialog>.modal-close{position:absolute;top:12px;right:12px;margin:0;z-index:1}.theme-dialog .fh{padding-right:56px}.theme-dialog .fcard{border:0;box-shadow:none;margin:0}.modal-foot,.dpop-acts,.edialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}.dpop-acts{margin:4px 0}:is(.modal--form,.modal--wide,.dpop.plan)>:is(.dpop-acts,.modal-foot):last-child{position:sticky;bottom:0;margin:0 calc(-1*var(--modal-pad-x)) calc(-1*var(--modal-pad-y));padding:10px var(--modal-pad-x) var(--modal-pad-y);background:var(--paper);border-top:1px solid var(--line)}.edialog-actions{margin-top:4px}.edialog-actions.leave-actions{justify-content:flex-start}.modal-backdrop,.dback.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop,rgba(21,20,43,.46));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.edialog::backdrop,.question-dialog::backdrop,dialog.modal::backdrop{background:var(--modal-backdrop,rgba(21,20,43,.46));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}:where(.modal,.edialog,.dpop.sheet,.question-dialog) :is(input,select,textarea){background-color:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--cdo-radius-control);font:inherit}.edialog :is(input,textarea,select){padding:10px;resize:vertical}.edialog label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.edialog label.chk{display:flex;flex-direction:row;align-items:center;gap:8px}.edialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}:where(.modal,.edialog,.dpop.sheet,.question-dialog) input:is([type=checkbox],[type=radio]){width:16px;height:16px;min-height:0;padding:0;margin:0;flex:none;accent-color:var(--accent)}@keyframes modal-in{0%{opacity:0;translate:0 8px}}@keyframes modal-dim-in{0%{opacity:0}}.modal,.edialog[open],.dpop.sheet,.question-dialog[open]{animation:modal-in var(--motion-fast,.18s) var(--ease-out,cubic-bezier(.22,1,.36,1))}.modal-backdrop,.edialog[open]::backdrop,.question-dialog[open]::backdrop,dialog.modal[open]::backdrop{animation:modal-dim-in var(--motion-fast,.18s) var(--ease-out,cubic-bezier(.22,1,.36,1))}@media(prefers-reduced-motion:reduce){.modal,.edialog[open],.dpop.sheet,.question-dialog[open],.modal-backdrop,.edialog[open]::backdrop,.question-dialog[open]::backdrop,dialog.modal[open]::backdrop{animation:none}}.question-dialog{overflow:hidden}@media(max-width:640px){.question-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0;padding-top:env(safe-area-inset-top)}}body{font-family:var(--cdo-font-sans);font-size:16px;line-height:1.5}h1,h2,h3,.side-brand,.identity-label{font-family:var(--cdo-font-display)}.btn,.primary,.quiet-button,.device-actions button,.course-nav-toggle,.reader-modes button,.iconbtn,.icon-button,.actions button,.item-scroll,.material-edit,.ask-btn{font-family:var(--cdo-font-sans);-webkit-font-smoothing:antialiased}.btn,.primary{min-height:40px;padding:9px 16px;border-radius:var(--cdo-radius-control);font-size:14px;line-height:1.25;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background-color var(--motion-fast, .18s) ease,border-color var(--motion-fast, .18s) ease,color var(--motion-fast, .18s) ease,transform var(--motion-fast, .18s) var(--ease-out, ease)}.btn:hover:not(:disabled),.primary:hover:not(:disabled){transform:translateY(-1px)}.btn.gh,.btn.dg{background:transparent}.quiet-button{min-height:40px;padding:8px 13px;border-radius:var(--cdo-radius-control);font-size:14px}.iconbtn,.icon-button,.actions button,.item-scroll,.ask-btn{width:36px;height:36px;min-height:36px;padding:0;border-radius:var(--cdo-radius-control);display:inline-grid;place-items:center}input,select,textarea,.gsel,.ta{font-family:var(--cdo-font-sans);border-radius:var(--cdo-radius-control)}input,select{min-height:40px}.dcard,.drow2,.course-card,.ccard,.material,.profile-card,.fcard,.subm,.ansv,.qgrid,.jwrap,.chat-panel,.contact-card,.course-info,.reading,.doc,.empty,.support-placeholder{border-radius:var(--cdo-radius-card)}.dcard,.ccard,.course-card{box-shadow:var(--shadow)}.dcard:hover,.drow2:hover,.course-card:hover,.ccard:hover,.material:hover,.contact-card:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--line))}.course-context{gap:6px}.course-context>a,.course-context>.lesson-tab-arrow{height:36px;border-radius:var(--cdo-radius-control);font-size:14px}.course-context .course-home-tab{width:36px}.course-context .course-name-tab{padding:0 10px;font-weight:600}.course-context .lesson-current-tab{line-height:36px;max-width:min(32vw,360px);border-radius:var(--cdo-radius-control);background:var(--accent-soft);color:var(--accent-ink)}.course-nav-toggle{min-height:36px;border-radius:var(--cdo-radius-control)}.top .course-tabs{gap:5px}.top .course-tabs a,.top .course-tabs>.lesson-tab-arrow{border-radius:var(--cdo-radius-control)}.top .course-tabs .course-name-tab{font-family:var(--cdo-font-display)}.item-strip,.teacher-viewbar,.doc.reading .reader-bar,.conspect-toolbar,.exercise-toolbar,.tbar,.tfoot,.savebar{border-color:var(--line)}.doc.reading .reader-bar,.conspect-toolbar,.tbar,.tfoot,.savebar{min-height:52px;padding:8px 12px;background:color-mix(in srgb,var(--paper) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tbar{background:var(--paper)}.reader-modes button,.conspect-fit{min-height:36px;border-radius:var(--cdo-radius-control)}.item-nav a{border-radius:var(--cdo-radius-control)}.item-nav a.selected{box-shadow:inset 0 -2px 0 var(--accent)}.chip,.tagx,.tab-badge,.istats-state{border-radius:999px}.chip,.tagx{font-size:12px}.bottom-nav{background:color-mix(in srgb,var(--paper) 97%,transparent);border-top-color:var(--line);box-shadow:0 -6px 24px #20225614;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav a,.bottom-nav .bottom-more-toggle{min-height:48px;border-radius:var(--cdo-radius-control);font-family:var(--cdo-font-sans)}@media(max-width:760px),(max-height:500px){.workspace{padding-left:16px;padding-right:16px;padding-bottom:calc(82px + env(safe-area-inset-bottom))}.top--learning .course-context .lesson-current-tab{max-width:min(42vw,220px)}.course-context .course-name-tab{max-width:42vw}.doc.reading .reader-bar,.conspect-toolbar,.tfoot,.savebar{bottom:calc(60px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.btn,.primary,.dcard,.drow2,.course-card,.ccard,.material{transition:none}}.brandbook{display:grid;gap:16px;max-width:1180px;margin:12px auto 36px;scroll-behavior:smooth}.brand-hero,.brand-section,.brand-rules{background:var(--paper);border:1px solid var(--line);border-radius:var(--cdo-radius-card)}.brand-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:28px;align-items:end;padding:26px}.brand-hero h1{position:static;width:auto;height:auto;margin:3px 0 8px;clip:auto;overflow:visible;white-space:normal;font-size:clamp(24px,3vw,38px);line-height:1.15}.brand-hero p{margin:0;color:var(--ink-2)}.brand-hero aside{padding:15px;border-radius:var(--cdo-radius-card);background:var(--accent-soft);color:var(--accent-ink)}.brand-hero aside p{margin-top:4px;color:inherit;font-size:13px}.brand-kicker{color:var(--accent);font:700 11px var(--cdo-font-mono);letter-spacing:.1em;text-transform:uppercase}.brand-nav{position:sticky;z-index:8;top:62px;display:flex;gap:4px;padding:6px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:color-mix(in srgb,var(--paper) 94%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-x:auto}.brand-nav a{flex:none;padding:7px 11px;border-radius:var(--cdo-radius-control);color:var(--ink-2);font-size:12.5px}.brand-nav a:hover{background:var(--soft);color:var(--accent)}.brand-section{padding:22px;scroll-margin-top:120px}.brand-heading{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);gap:24px;margin-bottom:16px}.brand-heading>div{display:flex;align-items:center;gap:9px}.brand-heading>div>span{color:var(--accent);font:700 11px var(--cdo-font-mono)}.brand-heading h2{margin:0;font-size:18px}.brand-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.preset-card{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:9px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--paper);color:var(--ink);font:inherit;text-align:left}.preset-card:hover,.preset-card.active{border-color:var(--accent)}.preset-card.active{box-shadow:0 0 0 2px var(--accent-soft)}.preset-card b{font-size:13px}.preset-card small{grid-column:1/-1;color:var(--muted);font-size:11px}.preset-card em{grid-column:2;grid-row:2;color:var(--accent);font-size:10px;font-style:normal}.preset-sample{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;height:38px;margin-bottom:4px;overflow:hidden;border-radius:var(--cdo-radius-control)}.preset-sample i:nth-child(1){background:#6366e8}.preset-sample i:nth-child(2){background:#eff1fa}.preset-sample i:nth-child(3){background:#1b2559}.preset-sample[data-sample=winter] i:nth-child(1){background:#287da8}.preset-sample[data-sample=winter] i:nth-child(2){background:#eef6fa}.preset-sample[data-sample=winter] i:nth-child(3){background:#185f83}.preset-sample[data-sample=spring] i:nth-child(1){background:#35845c}.preset-sample[data-sample=spring] i:nth-child(2){background:#f0f7f2}.preset-sample[data-sample=spring] i:nth-child(3){background:#246341}.preset-sample[data-sample=festive] i:nth-child(1){background:#a34468}.preset-sample[data-sample=festive] i:nth-child(2){background:#fbf2f5}.preset-sample[data-sample=festive] i:nth-child(3){background:#7e2f4e}.token-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.token-group,.component-grid>article{padding:13px;border:1px solid var(--line);border-radius:var(--cdo-radius-card);background:var(--bg)}.token-group h3,.component-grid h3{margin:0 0 10px;font-size:13px}.token-row{display:flex;align-items:center;gap:9px;padding:6px 0;border-top:1px solid var(--line)}.token-row:first-of-type{border-top:0}.token-row i{width:28px;height:28px;flex:none;border:1px solid var(--line);border-radius:var(--cdo-radius-control)}.token-row span{display:grid;min-width:0}.token-row b{font-size:12px}.token-row code,.lesson-palette code,.journal-palette code{color:var(--muted);font:10px var(--cdo-font-mono)}.lesson-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.lesson-palette article{padding:14px;border:2px solid;border-radius:var(--cdo-radius-card);color:#222}.lesson-palette p{margin:5px 0;font-size:13px}.lesson-palette code{color:#4a4050}.journal-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.journal-palette article{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:var(--cdo-radius-control)}.journal-palette article>div{display:grid;min-width:0}.journal-palette b{font-size:12px}.brand-cell{width:42px;height:36px;display:grid;place-items:center;flex:none;border-radius:var(--cdo-radius-control);font:700 12px var(--cdo-font-mono)}.brand-cell.pass{background:var(--cell-pass);color:var(--cell-pass-ink)}.brand-cell.fail{background:var(--cell-fail);color:var(--cell-fail-ink)}.brand-cell.check{background:var(--cell-check);color:var(--cell-check-ink)}.brand-cell.ill{background:var(--cell-ill);color:var(--cell-ill-ink)}.brand-cell.fut{background:var(--cell-fut);color:var(--cell-fut-ink)}.brand-cell.gray{background:var(--cell-gray);color:var(--cell-gray-ink)}.component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.component-grid .rhythm-card,.component-grid .design-modals{grid-column:1/-1}.design-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.design-note{margin:0 0 8px;color:var(--muted);font-size:11.5px}.design-ok{background:var(--ok-soft);color:var(--ok-ink)}.design-warn{background:var(--amber-soft);color:var(--warn)}.design-bad{background:var(--red-soft);color:var(--red-ink)}.design-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.design-form label{display:grid;gap:4px;color:var(--muted);font-size:11px}.design-form .inp,.design-form .sel{min-height:40px}.design-form .inp.w{width:72px}.design-grades{display:flex;flex-wrap:wrap;gap:12px 14px}.design-grades>span{display:grid;justify-items:center;gap:5px;color:var(--muted);font:10px var(--cdo-font-mono);text-align:center;max-width:64px}.design-grades i{display:grid;place-items:center;width:40px;height:34px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--paper);font-style:normal}.design-gap{flex:1}.component-grid .savebar.flat{gap:8px}.design-type{display:grid;gap:7px}.design-type h2,.design-type p{margin:0}.design-type code{font:11px var(--cdo-font-mono)}.design-spacing{display:flex;align-items:flex-end;gap:18px;min-height:54px;padding:7px}.design-spacing>span{position:relative;display:block;min-width:4px;min-height:4px;border-radius:3px;background:var(--accent)}.design-spacing small{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);color:var(--muted);font:9px var(--cdo-font-mono)}.rhythm-card p{margin:16px 0 0;color:var(--muted);font-size:11px}.brand-rules{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:18px 22px}.brand-rules ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px;margin:0;padding-left:20px;color:var(--ink-2);font-size:12.5px}@media(max-width:800px){.preset-grid,.token-groups,.lesson-palette,.journal-palette{grid-template-columns:repeat(2,minmax(0,1fr))}}.glyph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.glyph-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--cdo-radius-control);background:var(--bg);cursor:default}.glyph-card:hover,.glyph-card:focus-visible{border-color:hsl(var(--hue,245) 50% 60%);outline:none}.glyph-card .subject-icon{width:44px;height:44px;border-radius:var(--cdo-radius-card)}.glyph-card span{min-width:0}.glyph-card b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.glyph-card code{font:10.5px var(--cdo-font-mono);color:var(--muted)}@media(max-width:640px){.brandbook{gap:10px;margin-top:8px}.brand-hero,.brand-heading,.brand-rules{grid-template-columns:1fr}.brand-hero,.brand-section{padding:14px}.brand-hero{gap:14px}.brand-nav{top:58px;margin:0 -5px}.brand-heading{gap:7px}.token-groups,.component-grid{grid-template-columns:1fr}.lesson-palette,.journal-palette{grid-template-columns:1fr 1fr}.design-form,.brand-rules ol{grid-template-columns:1fr}}@media(max-width:390px){.preset-grid,.lesson-palette,.journal-palette{grid-template-columns:1fr}}
