.gv-study{--gv-typing-ink:#2463bc}
.gv-study .gv-letter-preview,.gv-study .gv-typed-letter,.gv-study .gv-slot.correct,.gv-study .gv-slot-dot,.gv-study .gv-punct{color:var(--gv-typing-ink)}
.gv-study .gv-slot.wrong .gv-typed-letter,.gv-study .gv-slot.wrong .gv-slot-dot{color:#ff7d91}
.gv-session-dialog{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;border:1px solid #465063;border-radius:8px;background:#121721;color:#f5f7fa;font:16px/1.5 Arial,"Microsoft YaHei",sans-serif;box-shadow:0 18px 54px rgba(0,0,0,.4);letter-spacing:0}
.gv-session-dialog::backdrop{background:rgba(0,0,0,.68)}
.gv-session-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.gv-session-heading h2{font-size:23px;line-height:1.35;margin:0}
.gv-session-dialog .gv-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid #59677d;border-radius:6px;background:#1b2433;color:#fff;font-size:25px;cursor:pointer}
.gv-session-course{font-size:18px;font-weight:600;margin:0 0 8px;overflow-wrap:anywhere}
.gv-session-position{font-size:15px;color:#c8d2e2;margin:0}
.gv-session-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 16px}
.gv-session-stats dt{font-size:13px;color:#c8d2e2;margin:0 0 6px}
.gv-session-stats dd{font-size:20px;font-weight:700;margin:0;overflow-wrap:anywhere}
.gv-session-save{font-size:14px;color:#8dd7b6;margin:16px 0 0}
.gv-session-save[role=alert]{color:#ffabb6}
.gv-session-actions{display:grid;gap:12px;margin-top:24px}
.gv-session-actions button{min-height:46px;padding:10px 16px;border:1px solid #59677d;border-radius:6px;font:600 16px/1.4 Arial,"Microsoft YaHei",sans-serif;letter-spacing:0;cursor:pointer}
.gv-session-primary{background:#6354ee;color:#fff;border-color:#8277fb!important}
.gv-session-secondary{background:#1b2433;color:#f5f7fa}
.gv-session-primary:hover{background:#5142d6}
.gv-session-secondary:hover,.gv-session-dialog .gv-icon:hover{background:#2a3548}
.gv-session-dialog button:focus-visible{outline:3px solid #8dc5ff;outline-offset:3px}
@media(max-width:380px){.gv-session-dialog{padding:20px}.gv-session-heading h2{font-size:21px}.gv-session-stats{gap:8px}.gv-session-stats dd{font-size:18px}}
.gv-session-inline-action{display:block;width:100%;min-height:46px;margin:0;padding:10px 16px;border:1px solid #59677d;border-radius:6px;background:#1b2433;color:#f5f7fa;font:600 16px/1.4 Arial,"Microsoft YaHei",sans-serif;letter-spacing:0;cursor:pointer}
.gv-session-inline-action:hover{background:#2a3548}
.gv-session-inline-action:disabled{opacity:.7;cursor:wait}