.toast-stack[data-v-98ba6b39]{position:fixed;top:18px;right:18px;z-index:9999;display:grid;gap:10px;pointer-events:none}.toast[data-v-98ba6b39]{position:relative;min-width:260px;max-width:360px;padding:12px 14px 12px 44px;border-radius:12px;background:#fff;color:var(--text);box-shadow:0 12px 30px #11182729,0 0 0 1px #0f172a0d;display:flex;align-items:flex-start;gap:10px;font-size:14px;overflow:hidden;pointer-events:auto}.icon[data-v-98ba6b39]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px}.icon.success[data-v-98ba6b39]{background:var(--success)}.icon.error[data-v-98ba6b39]{background:var(--danger)}.icon.info[data-v-98ba6b39]{background:var(--blue)}.msg[data-v-98ba6b39]{flex:1;line-height:1.5;word-break:break-word}.progress[data-v-98ba6b39]{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left center;animation:toast-progress-98ba6b39 2.6s linear forwards;opacity:.85}.progress.success[data-v-98ba6b39]{background:var(--success)}.progress.error[data-v-98ba6b39]{background:var(--danger)}.progress.info[data-v-98ba6b39]{background:var(--blue)}@keyframes toast-progress-98ba6b39{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter-from[data-v-98ba6b39]{opacity:0;transform:translate(20px) scale(.96)}.toast-enter-active[data-v-98ba6b39]{transition:opacity var(--dur-md) var(--ease-emphasized),transform var(--dur-md) var(--ease-emphasized)}.toast-leave-to[data-v-98ba6b39]{opacity:0;transform:translate(20px) scale(.96)}.toast-leave-active[data-v-98ba6b39]{transition:opacity var(--dur-sm) var(--ease-standard),transform var(--dur-sm) var(--ease-standard)}:root{--app-bg: #f5f5f7;--app-bg-soft: #fafafa;--card-bg: #ffffff;--line: #d2d2d7;--line-strong: #aeaeb2;--text: #1d1d1f;--muted: #86868b;--accent: #f5c518;--accent-soft: #fef9e7;--accent-dark: #8b6914;--blue: #0071e3;--blue-hover: #0077ed;--blue-soft: #e8f4fd;--blue-ring: rgba(0, 113, 227, .3);--danger: #ff3b30;--danger-soft: #ffe5e3;--success: #34c759;--success-soft: #e6f9ed;--warn: #ff9500;--warn-soft: #fff4e5;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06), 0 0 1px rgba(0, 0, 0, .06);--shadow: 0 4px 16px rgba(0, 0, 0, .08), 0 0 1px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12), 0 0 1px rgba(0, 0, 0, .08);--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--ease-standard: cubic-bezier(.25, .1, .25, 1);--ease-emphasized: cubic-bezier(.22, 1, .36, 1);--dur-xs: .12s;--dur-sm: .18s;--dur-md: .28s;--dur-lg: .44s;--content-max-width: 1080px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;color:var(--text);background:var(--app-bg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Segoe UI,Microsoft YaHei,sans-serif;line-height:1.47059;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-padding-top:76px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input,textarea,select{font:inherit}input,textarea,select{transition:border-color var(--dur-sm) var(--ease-standard),box-shadow var(--dur-sm) var(--ease-standard),background var(--dur-sm) var(--ease-standard)}button{transition:background var(--dur-sm) var(--ease-standard),border-color var(--dur-sm) var(--ease-standard),box-shadow var(--dur-sm) var(--ease-standard),transform var(--dur-sm) var(--ease-standard),color var(--dur-sm) var(--ease-standard),opacity var(--dur-sm) var(--ease-standard)}button:not(:disabled):active{transform:translateY(1px)}a{transition:color var(--dur-sm) var(--ease-standard)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--blue),0 0 0 5px #0071e340}::selection{background:var(--accent);color:#111}*{scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.18) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#0f172a52;background-clip:padding-box}.katex{font-size:1.06em}.katex-display{margin:.8em 0;overflow-x:auto;overflow-y:hidden;max-width:100%}.rich-image,.stem img,.question-stem img,.choice-label img,.left img,.right img,.wb-stem img{display:block;width:auto;height:auto;max-width:min(100%,520px);max-height:320px;margin:10px 0;object-fit:contain;border-radius:10px;border:1px solid #dbe3ee;background:#fff}@media(max-width:640px){.rich-image,.stem img,.question-stem img,.choice-label img,.left img,.right img,.wb-stem img{max-height:240px}}.page-fade-enter-from{opacity:0;transform:translateY(8px) scale(.995)}.page-fade-leave-to{opacity:0;transform:translateY(-4px) scale(.998)}.page-fade-enter-active{transition:opacity .35s var(--ease-emphasized),transform .35s var(--ease-emphasized);will-change:opacity,transform}.page-fade-leave-active{transition:opacity .2s var(--ease-standard),transform .2s var(--ease-standard);will-change:opacity,transform}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur-sm) var(--ease-standard)}.slide-up-enter-from{opacity:0;transform:translateY(20px)}.slide-up-leave-to{opacity:0;transform:translateY(-10px)}.slide-up-enter-active{transition:opacity .4s var(--ease-emphasized),transform .4s var(--ease-emphasized)}.slide-up-leave-active{transition:opacity .25s var(--ease-standard),transform .25s var(--ease-standard)}.scale-enter-from{opacity:0;transform:scale(.92)}.scale-leave-to{opacity:0;transform:scale(.95)}.scale-enter-active{transition:opacity .3s var(--ease-emphasized),transform .3s var(--ease-emphasized)}.scale-leave-active{transition:opacity .2s var(--ease-standard),transform .2s var(--ease-standard)}.collapse-enter-from,.collapse-leave-to{opacity:0;max-height:0}.collapse-enter-active,.collapse-leave-active{transition:opacity var(--dur-md) var(--ease-standard),max-height var(--dur-md) var(--ease-standard);overflow:hidden}.collapse-enter-to,.collapse-leave-from{opacity:1;max-height:2000px}@keyframes stagger-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes count-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.55}}@keyframes shimmer{0%{background-position:-460px 0}to{background-position:460px 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 #0071e366}50%{box-shadow:0 0 20px 4px #0071e326}}.u-anim-in{animation:stagger-in var(--dur-lg) var(--ease-emphasized) both}.u-anim-in-1{animation-delay:50ms}.u-anim-in-2{animation-delay:.1s}.u-anim-in-3{animation-delay:.15s}.u-anim-in-4{animation-delay:.2s}.u-anim-in-5{animation-delay:.25s}.u-anim-in-6{animation-delay:.3s}.u-card-in{animation:card-in .5s var(--ease-emphasized) both}.u-card-in-1{animation-delay:60ms}.u-card-in-2{animation-delay:.12s}.u-card-in-3{animation-delay:.18s}.u-card-in-4{animation-delay:.24s}.u-slide-left{animation:slide-in-left .5s var(--ease-emphasized) both}.u-slide-right{animation:slide-in-right .5s var(--ease-emphasized) both}.u-scale-in{animation:scale-in .4s var(--ease-emphasized) both}.u-hover-lift{transition:transform .3s var(--ease-emphasized),box-shadow .3s var(--ease-standard)}.u-hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 28px #00000014}.u-press:active{transform:scale(.97)!important;transition:transform .1s ease!important}.u-float{animation:float 3s ease-in-out infinite}.u-glow{animation:glow-pulse 2s ease-in-out infinite}.u-skeleton{position:relative;background:linear-gradient(90deg,#ebeef2,#f4f6f8,#ebeef2);background-size:460px 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--radius-md);color:transparent!important;user-select:none}.u-skeleton-text{height:14px;border-radius:6px;margin-bottom:8px}.u-skeleton-text.short{width:60%}.u-skeleton-title{height:22px;width:40%;border-radius:6px;margin-bottom:12px}.u-skeleton-avatar{width:44px;height:44px;border-radius:50%}.u-skeleton-card{height:120px;border-radius:var(--radius-lg)}.u-spinner{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;vertical-align:-3px}.u-spinner-lg{width:32px;height:32px;border-width:3px}.u-empty{display:grid;place-items:center;text-align:center;gap:12px;padding:40px 24px;color:var(--muted);font-size:14px;animation:fade-in .4s var(--ease-standard) both}.u-empty-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:26px;font-weight:700;animation:bounce-in .5s var(--ease-emphasized) both}.u-empty h3{margin:0;font-size:16px;color:var(--text)}.u-empty p{margin:0;max-width:320px;line-height:1.5}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(pointer:coarse){button,a,input,select,textarea,[role=button],[role=tab]{min-height:44px}}@media(max-width:480px){html{font-size:15px}body{padding-bottom:env(safe-area-inset-bottom,0px)}}
