@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap;font-style:normal}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap;font-style:normal}@keyframes gem-breath{0%,to{transform:scale(.975)}50%{transform:scale(1.03)}}@keyframes gem-glow-pulse{0%,to{opacity:.4}50%{opacity:.9}}:root,[data-theme=light]{--bg-layout: #f7f7f8;--bg-container: #ffffff;--border: #e4e4e7;--border-subtle: #f0f0f1;--text: #09090b;--text-secondary: #52525b;--text-tertiary: #71717a;--scrollbar-thumb: #d4d4d8;--scrollbar-thumb-hover: #a1a1aa}[data-theme=dark]{--bg-layout: #09090b;--bg-container: #18181b;--border: #27272a;--border-subtle: #1f1f23;--text: #fafafa;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--scrollbar-thumb: #3f3f46;--scrollbar-thumb-hover: #52525b}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-layout);color:var(--text);font-feature-settings:"cv01","cv02","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .2s ease}.mono{font-family:Geist Mono,JetBrains Mono,monospace;font-feature-settings:"tnum"}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}::selection{background:#2563eb2e}[data-theme=dark] .ant-btn-primary:not(:disabled):not(.ant-btn-dangerous){color:#18181b}[data-theme=dark] .ant-btn-primary:not(:disabled):not(.ant-btn-dangerous):hover{color:#18181b;opacity:.92}.ant-card-bordered{box-shadow:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade-in{animation:fadeInUp .42s cubic-bezier(.22,1,.36,1) both}@media(prefers-reduced-motion:reduce){.fade-in{animation:none}}@media(max-width:991px){.ant-btn{min-height:36px}.ant-input,.ant-input-number-input,.ant-select-selection-search-input,.ant-picker-input>input,textarea.ant-input{font-size:16px!important}pre,code{overflow-x:auto;max-width:100%}*::-webkit-scrollbar{width:4px;height:4px}}.login-bg{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 88% -8%,rgba(37,99,235,.12),transparent 60%),radial-gradient(700px 600px at -6% 108%,rgba(16,163,74,.08),transparent 55%),var(--bg-layout)}.login-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);opacity:.5;pointer-events:none}.qb-learner{--qb-primary: #3461e8;--qb-on-primary: #ffffff;--qb-primary-container: #e3eaff;--qb-on-primary-container: #0f2a7a;--qb-bg: #f5f7fb;--qb-surface: #ffffff;--qb-surface-high: #f0f2f7;--qb-surface-highest: #e7eaf1;--qb-on-surface: #151a23;--qb-on-surface-variant: #5b6475;--qb-outline: #cdd3de;--qb-outline-variant: #e6e9f0;--qb-success: #16a34a;--qb-on-success: #ffffff;--qb-success-container: #ddf6e6;--qb-on-success-container: #0b4d24;--qb-warning: #e59e0b;--qb-warning-container: #fff1d6;--qb-on-warning-container: #5c3b00;--qb-error: #d92d33;--qb-on-error: #ffffff;--qb-error-container: #ffe4e4;--qb-on-error-container: #6e0f12;--qb-gradient: linear-gradient(135deg, #2448c4 0%, #3461e8 55%, #5b8cff 100%);--qb-shadow: 0 1px 2px rgba(21, 26, 35, .04);--qb-shadow-raised: 0 10px 30px -14px rgba(36, 72, 196, .35);--qb-page-x: 20px;--bg-layout: var(--qb-bg);--bg-container: var(--qb-surface);--border: var(--qb-outline-variant);--border-subtle: var(--qb-outline-variant);--text: var(--qb-on-surface);--text-secondary: var(--qb-on-surface-variant);--text-tertiary: #7a8394;background:var(--qb-bg);color:var(--qb-on-surface);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,Source Han Sans SC,Noto Sans CJK SC,Geist,sans-serif}[data-theme=dark] .qb-learner{--qb-primary: #a8bfff;--qb-on-primary: #0b2370;--qb-primary-container: #233b8c;--qb-on-primary-container: #dde5ff;--qb-bg: #0f1115;--qb-surface: #171a20;--qb-surface-high: #22262e;--qb-surface-highest: #2b303a;--qb-on-surface: #e6e8ee;--qb-on-surface-variant: #a6adbb;--qb-outline: #3e4451;--qb-outline-variant: #2a2f39;--qb-success: #7ddb9e;--qb-on-success: #00391a;--qb-success-container: #113a23;--qb-on-success-container: #b8f2cc;--qb-warning: #fcd34d;--qb-warning-container: #3d2e0a;--qb-on-warning-container: #ffe3a3;--qb-error: #ff8a8e;--qb-on-error: #5c0a0e;--qb-error-container: #4a1518;--qb-on-error-container: #ffdadb;--qb-gradient: linear-gradient(135deg, #1c2f7a 0%, #2843a8 55%, #3a5bc7 100%);--qb-shadow: 0 1px 2px rgba(0, 0, 0, .4);--qb-shadow-raised: 0 10px 30px -14px rgba(0, 0, 0, .7);--text-tertiary: #858d9c}@media(min-width:992px){.qb-learner{--qb-page-x: 32px}}.qb-learner .ant-btn-primary:not(:disabled):not(.ant-btn-dangerous),.qb-learner .ant-btn-primary:not(:disabled):not(.ant-btn-dangerous):hover{color:var(--qb-on-primary)}.qb-learner .ant-btn-lg{min-height:52px;font-size:16px}.qb-learner .ant-btn-default:not(:disabled):not(.qb-tonal){background:transparent}.qb-tonal.ant-btn:not(:disabled):hover{filter:brightness(.96)}[data-theme=dark] .qb-tonal.ant-btn:not(:disabled):hover{filter:brightness(1.12)}.qb-tonal.ant-btn:disabled{opacity:.5}.qb-learner .ant-card{border-radius:20px;border-color:var(--qb-outline-variant);box-shadow:var(--qb-shadow)}.qb-learner .ant-segmented .ant-segmented-item-selected{box-shadow:0 1px 2px #151a2314}.qb-learner .ant-segmented .ant-segmented-item-label{font-weight:600}.qb-learner .ant-modal .ant-modal-content{padding:24px}.qb-learner .ant-input-affix-wrapper .ant-input-prefix{color:var(--qb-on-surface-variant);margin-inline-end:10px}.qb-learner .ant-pagination .ant-pagination-item-active{border-radius:999px}.qb-shell{min-height:100vh;background:var(--qb-bg)}.qb-shell--desktop{display:grid;grid-template-columns:256px minmax(0,1fr);background:linear-gradient(to right,var(--qb-surface) 255px,var(--qb-outline-variant) 255px,var(--qb-outline-variant) 256px,var(--qb-bg) 256px)}.qb-nav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 14px 16px;background:var(--qb-surface);border-right:1px solid var(--qb-outline-variant);overflow-y:auto}.qb-nav__brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-size:19px;font-weight:700;letter-spacing:-.2px}.qb-brand-mark{width:36px;height:36px;border-radius:12px;background:var(--qb-gradient);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--qb-shadow-raised)}.qb-nav__group{margin:14px 12px 6px;font-size:12px;font-weight:600;color:var(--qb-on-surface-variant);letter-spacing:.4px}.qb-nav__item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 14px;margin-bottom:2px;border:0;border-radius:999px;background:transparent;color:var(--qb-on-surface-variant);font:inherit;font-size:15px;font-weight:500;cursor:pointer;text-align:left;transition:background-color .18s,color .18s}.qb-nav__item:hover{background:var(--qb-surface-high);color:var(--qb-on-surface)}.qb-nav__item--on,.qb-nav__item--on:hover{font-weight:700}.qb-nav__item:focus-visible{outline:2px solid var(--qb-primary);outline-offset:2px}.qb-nav__foot{margin-top:auto;padding:14px 6px 0;display:flex;flex-direction:column;gap:10px}.qb-nav__version{padding:0 8px;font-size:12px;color:var(--text-tertiary)}.qb-topbar{position:sticky;top:0;z-index:20;height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 var(--qb-page-x);background:color-mix(in srgb,var(--qb-bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px)}.qb-topbar__right{display:flex;align-items:center;gap:6px}.qb-main{padding:4px var(--qb-page-x) 40px}.qb-main__inner{max-width:1200px;margin:0 auto}.qb-main__inner--narrow{max-width:780px}.qb-shell--mobile .qb-main{padding:calc(14px + env(safe-area-inset-top)) var(--qb-page-x) calc(var(--tabbar-h, 0px) + 28px)}.qb-shell--immersive .qb-main{padding-top:calc(6px + env(safe-area-inset-top))}.qb-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:var(--qb-surface);border-top:.5px solid var(--qb-outline-variant)}.qb-tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.qb-tab__indicator{width:64px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s}.qb-tab__label{font-size:12px;font-weight:600;line-height:16px}.qb-page-title{display:flex;align-items:center;gap:12px;margin:6px 0 18px}.qb-page-title__text{flex:1;min-width:0}.qb-page-title__eyebrow{font-size:15px;font-weight:600;color:var(--qb-on-surface-variant)}.qb-page-title__title{margin:0;font-size:26px;line-height:34px;font-weight:700;letter-spacing:-.2px;color:var(--qb-on-surface);overflow:hidden;text-overflow:ellipsis}.qb-page-title__subtitle{margin-top:2px;font-size:14px;line-height:21px;color:var(--qb-on-surface-variant)}.qb-page-title__extra{display:flex;align-items:center;gap:8px;flex:none}@media(min-width:992px){.qb-page-title__title{font-size:28px;line-height:36px}}.qb-section-header{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin:0 0 10px}.qb-section-header__title{font-size:16px;font-weight:600;line-height:22px}.qb-text-btn{display:inline-flex;align-items:center;gap:2px;padding:6px 4px 6px 10px;border:0;border-radius:999px;background:none;color:var(--qb-primary);font:inherit;font-size:15px;font-weight:600;cursor:pointer}.qb-text-btn:hover{background:var(--qb-surface-high)}.qb-icon-btn{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--qb-on-surface);cursor:pointer}.qb-icon-btn:hover{background:var(--qb-surface-high)}.qb-icon-btn:disabled{opacity:.4;cursor:default}.qb-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--qb-surface);border:1px solid var(--qb-outline-variant);border-radius:20px;box-shadow:var(--qb-shadow);min-width:0}.qb-card--flat{border-color:transparent;box-shadow:none}.qb-card--click{cursor:pointer;transition:transform .15s,box-shadow .2s,border-color .2s}.qb-card--click:hover{border-color:var(--qb-outline);box-shadow:0 6px 20px -12px #151a2340}.qb-card--click:active{transform:scale(.985)}.qb-card--click:focus-visible{outline:2px solid var(--qb-primary);outline-offset:2px}.qb-card__head{display:flex;align-items:center;gap:12px;min-height:28px}.qb-card__title{flex:1;min-width:0;font-size:16px;line-height:22px;font-weight:600}.qb-card__extra{display:flex;align-items:center;gap:8px;flex:none}.qb-icon-badge{flex:none;display:inline-flex;align-items:center;justify-content:center}.qb-icon{flex:none;display:inline-block;vertical-align:-.15em}.qb-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--qb-primary-container);color:var(--qb-on-primary-container);font-weight:700}.qb-avatar--on-gradient{background:#ffffff38;color:#fff}.qb-stat{padding:14px;gap:10px}.qb-stat__value{font-size:19px;line-height:26px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.qb-stat__suffix{margin-left:2px;font-size:13px;font-weight:600;color:var(--qb-on-surface-variant)}.qb-stat__label{font-size:12px;line-height:18px;color:var(--qb-on-surface-variant);white-space:nowrap}.qb-ring{position:relative;display:inline-flex;flex:none}.qb-ring__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.qb-bar{width:100%;border-radius:999px;background:var(--qb-surface-highest);overflow:hidden}.qb-bar__fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.22,1,.36,1)}.qb-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap}.qb-choice{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 14px;border:1px solid transparent;border-radius:999px;background:var(--qb-surface-high);color:var(--qb-on-surface-variant);font:inherit;font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s}.qb-choice:hover:not(:disabled):not(.qb-choice--on){background:var(--qb-surface-highest)}.qb-choice:disabled{opacity:.5;cursor:default}.qb-choice:focus-visible{outline:2px solid var(--qb-primary);outline-offset:2px}.qb-choices{display:flex;flex-wrap:wrap;gap:8px}.qb-choices--scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:2px}.qb-choices--scroll::-webkit-scrollbar{display:none}.qb-banner{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:14px;font-size:14px;line-height:21px}.qb-banner>.qb-icon{margin-top:1px}.qb-banner__text{flex:1;min-width:0}.qb-banner--info{background:var(--qb-primary-container);color:var(--qb-on-primary-container)}.qb-banner--success{background:var(--qb-success-container);color:var(--qb-on-success-container)}.qb-banner--warning{background:var(--qb-warning-container);color:var(--qb-on-warning-container)}.qb-banner--error{background:var(--qb-error-container);color:var(--qb-on-error-container)}.qb-group__title{margin:0 4px 10px;font-size:15px;font-weight:600;color:var(--qb-on-surface-variant)}.qb-group__card{padding:6px 0;gap:0}.qb-row{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:10px 16px;border:0;background:none;color:inherit;font:inherit;text-align:left}.qb-row+.qb-row{border-top:1px solid var(--qb-outline-variant)}.qb-group__card>.qb-row+.qb-row{border-top:0;background-image:linear-gradient(var(--qb-outline-variant),var(--qb-outline-variant));background-repeat:no-repeat;background-size:calc(100% - 66px) 1px;background-position:right top}.qb-row--click{cursor:pointer;transition:background-color .15s}.qb-row--click:hover{background-color:var(--qb-surface-high)}.qb-row--click:disabled{opacity:.5;cursor:default}.qb-row__text{flex:1;min-width:0;display:flex;flex-direction:column}.qb-row__title{font-size:16px;line-height:24px;font-weight:500}.qb-row__subtitle{font-size:12.5px;line-height:18px;color:var(--qb-on-surface-variant)}.qb-row__chevron{color:var(--qb-on-surface-variant)}@keyframes qb-breath{0%,to{opacity:.55}50%{opacity:1}}.qb-skeleton{display:block;background:var(--qb-surface-highest);animation:qb-breath 1.4s ease-in-out infinite}.qb-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 32px;text-align:center}.qb-empty__icon{width:76px;height:76px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--qb-primary);background:color-mix(in srgb,var(--qb-primary) 8%,transparent);opacity:.85}.qb-empty__title{font-size:15px;font-weight:600}.qb-empty__hint{max-width:360px;font-size:13px;line-height:20px;color:var(--qb-on-surface-variant)}.qb-sheet .ant-drawer-content{border-radius:28px 28px 0 0}.qb-sheet .ant-drawer-content:before{content:"";display:block;width:32px;height:4px;margin:12px auto 0;border-radius:999px;background:var(--qb-outline)}.qb-sheet .ant-drawer-header{border-bottom:0;padding:12px 20px 8px}.qb-sheet__title{font-size:19px;line-height:26px;font-weight:600}.qb-sheet__subtitle{margin-top:2px;font-size:12.5px;font-weight:400;color:var(--qb-on-surface-variant)}.qb-question__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.qb-question__hint{font-size:12.5px;color:var(--qb-on-surface-variant)}.qb-question__stem{margin-bottom:18px;font-size:18px;line-height:28px;font-weight:500;word-break:break-word}.qb-question__index{margin-right:6px;font-variant-numeric:tabular-nums}.qb-question__options{display:flex;flex-direction:column;gap:10px}.qb-question .qb-feedback{margin-top:16px}.qb-option{display:flex;align-items:center;gap:14px;min-height:60px;padding:12px 14px;border-width:1px;border-style:solid;border-radius:16px;background:var(--qb-surface);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .18s,border-color .18s,opacity .18s,transform .12s}.qb-option:hover:not([aria-disabled=true]){background:var(--qb-surface-high)}.qb-option:active:not([aria-disabled=true]){transform:scale(.99)}.qb-option:focus-visible{outline:2px solid var(--qb-primary);outline-offset:2px}.qb-option[aria-disabled=true]{cursor:default}.qb-option--selected,.qb-option--selected:hover:not([aria-disabled=true]){border-width:1.5px;background:var(--qb-primary-container);color:var(--qb-on-primary-container)}.qb-option--correct{border-width:1.5px;background:var(--qb-success-container);color:var(--qb-on-success-container)}.qb-option--wrong{border-width:1.5px;background:var(--qb-error-container);color:var(--qb-on-error-container)}.qb-option--dimmed{opacity:.62}.qb-option__badge{flex:none;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--qb-outline);border-radius:50%;color:var(--qb-on-surface-variant);font-size:16px;font-weight:700;transition:background-color .18s,border-color .18s,color .18s}.qb-option--multi .qb-option__badge{border-radius:11px}.qb-option__badge--active{border-color:transparent}.qb-option--selected .qb-option__badge{background:var(--qb-primary);color:var(--qb-on-primary)}.qb-option--correct .qb-option__badge{background:var(--qb-success);color:var(--qb-on-success)}.qb-option--wrong .qb-option__badge{background:var(--qb-error);color:var(--qb-on-error)}.qb-option__text{flex:1;min-width:0;font-size:16.5px;line-height:26px;word-break:break-word}@keyframes qb-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.qb-feedback{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:20px;animation:qb-expand .28s cubic-bezier(.22,1,.36,1) both}.qb-feedback--ok{background:var(--qb-success-container);color:var(--qb-on-success-container);--qb-fb-accent: var(--qb-success);--qb-fb-on-accent: var(--qb-on-success)}.qb-feedback--bad{background:var(--qb-error-container);color:var(--qb-on-error-container);--qb-fb-accent: var(--qb-error);--qb-fb-on-accent: var(--qb-on-error)}.qb-feedback__head{display:flex;align-items:center;gap:12px}.qb-feedback__icon{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--qb-fb-accent);color:var(--qb-fb-on-accent);flex:none}.qb-feedback__title{flex:1;font-size:16px;font-weight:600}.qb-feedback__answer{font-size:14.5px;font-weight:600}.qb-feedback__divider{height:1px;background:currentColor;opacity:.15}.qb-feedback__label{font-size:14px;font-weight:600;opacity:.8}.qb-feedback__analysis{font-size:15px;line-height:25px;word-break:break-word}@keyframes qb-slide-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.qb-slide-in{animation:qb-slide-in .26s cubic-bezier(.22,1,.36,1) both}.qb-quiz-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:4px;margin:0 -8px 6px}.qb-quiz-top__center{text-align:center;min-width:0}.qb-quiz-top__title{font-size:16px;font-weight:600;line-height:22px}.qb-quiz-top__sub{font-size:12.5px;line-height:18px;font-weight:500;color:var(--qb-on-surface-variant);font-variant-numeric:tabular-nums}.qb-quiz-top__actions{display:flex;align-items:center}.qb-dock{position:sticky;bottom:var(--tabbar-h, 0px);z-index:15;display:flex;gap:10px;margin:18px calc(var(--qb-page-x) * -1) 0;padding:12px var(--qb-page-x) calc(12px + env(safe-area-inset-bottom));background:var(--qb-bg);border-top:1px solid var(--qb-outline-variant)}.qb-dock>*{flex:1}@media(min-width:992px){.qb-dock{margin:18px 0 0;padding:14px 0 16px}}.qb-hero{position:relative;overflow:hidden;padding:20px;border-radius:24px;background:var(--qb-gradient);color:#fff;box-shadow:var(--qb-shadow-raised)}.qb-hero:before,.qb-hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff1a;pointer-events:none}.qb-hero:before{width:180px;height:180px;top:-70px;right:-50px}.qb-hero:after{width:100px;height:100px;bottom:-46px;right:70px;background:#ffffff14}.qb-hero>*{position:relative}.qb-hero--click{cursor:pointer;transition:transform .15s}.qb-hero--click:active{transform:scale(.99)}.qb-hero--click:focus-visible{outline:3px solid var(--qb-primary-container);outline-offset:2px}.qb-hero__chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#ffffff2e;color:#fff;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap}.qb-hero__icon{width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#fff3;flex:none}.qb-stack{display:flex;flex-direction:column;gap:18px}.qb-grid{display:grid;gap:12px}.qb-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.qb-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.qb-grid--auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.qb-two-col{display:grid;gap:18px}@media(min-width:992px){.qb-two-col{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}.qb-two-col--even{grid-template-columns:repeat(2,minmax(0,1fr))}.qb-two-col--side{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:991px){.qb-hide-mobile{display:none!important}}@media(min-width:992px){.qb-hide-desktop{display:none!important}}.qb-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 8px}.qb-tool{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px;border:0;border-radius:16px;background:none;color:inherit;font:inherit;font-size:15px;font-weight:600;cursor:pointer;position:relative;transition:background-color .15s}.qb-tool:hover{background:var(--qb-surface-high)}.qb-tool:focus-visible{outline:2px solid var(--qb-primary)}.qb-tool__badge{position:absolute;top:4px;left:calc(50% + 12px);min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--qb-error);color:var(--qb-on-error);font-size:11px;font-weight:700;line-height:20px;border:2px solid var(--qb-surface);box-sizing:content-box}.qb-action{border:0;padding:16px}.qb-action__icon{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff}[data-theme=dark] .qb-action__icon{color:var(--qb-bg)}.qb-action__title{font-size:16px;font-weight:600;line-height:22px}.qb-action__sub{font-size:12.5px;line-height:18px;color:var(--qb-on-surface-variant)}.qb-medals{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.qb-medals::-webkit-scrollbar{display:none}.qb-medals>*{flex:0 0 112px}@media(min-width:992px){.qb-medals{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));overflow:visible}}.qb-medal{align-items:center;text-align:center;padding:14px 10px;gap:8px}.qb-medal__icon{width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.qb-medal__name{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.qb-medal__desc{font-size:12px;line-height:17px;color:var(--qb-on-surface-variant);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qb-medal__state{font-size:11.5px;font-weight:600}.qb-subject-option{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:10px 14px;border:1px solid transparent;border-radius:16px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .15s}.qb-subject-option:hover{background:var(--qb-surface-high)}.qb-subject-option--on,.qb-subject-option--on:hover{background:var(--qb-primary-container)}.qb-subject-pill{display:inline-flex;align-items:center;gap:8px;max-width:360px;height:42px;padding:0 12px 0 6px;border:1px solid var(--qb-outline-variant);border-radius:999px;background:var(--qb-surface);color:var(--qb-on-surface);font:inherit;cursor:pointer;box-shadow:var(--qb-shadow)}.qb-subject-pill:hover{border-color:var(--qb-outline)}.qb-subject-pill__icon{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--qb-gradient);color:#fff;flex:none}.qb-subject-pill__name{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qb-subject-pill--empty{border-color:var(--qb-primary);color:var(--qb-primary)}.qb-user-trigger{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 12px 0 4px;border:0;border-radius:999px;background:transparent;color:var(--qb-on-surface);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.qb-user-trigger:hover{background:var(--qb-surface-high)}.qb-list-item{display:flex;align-items:center;gap:12px;padding:14px 0}.qb-list-item+.qb-list-item{border-top:1px solid var(--qb-outline-variant)}.qb-list-item__main{flex:1;min-width:0}.qb-list-item__title{font-size:15.5px;font-weight:600;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qb-list-item__sub{margin-top:2px;font-size:13px;line-height:19px;color:var(--qb-on-surface-variant);font-variant-numeric:tabular-nums}.qb-dot{width:10px;height:10px;border-radius:50%;flex:none}.qb-qcard__stem{font-size:15.5px;line-height:24px;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;cursor:pointer}.qb-qcard__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qb-qcard__foot{display:flex;align-items:center;gap:8px;margin-top:2px}.qb-qcard__foot>:first-child{flex:1}.qb-sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px}.qb-sheet-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:2px}.qb-sheet-row::-webkit-scrollbar{display:none}.qb-num{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:50%;background:var(--qb-surface-highest);color:var(--qb-on-surface-variant);font:inherit;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s,border-color .15s}.qb-num--done{background:var(--qb-primary-container);color:var(--qb-on-primary-container)}.qb-num--ok{background:var(--qb-success-container);color:var(--qb-on-success-container)}.qb-num--bad{background:var(--qb-error-container);color:var(--qb-on-error-container)}.qb-num--current{border-color:var(--qb-on-surface)}.qb-timer{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.qb-bars{display:flex;align-items:flex-end;gap:6px;height:150px}.qb-bars__col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.qb-bars__track{position:relative;width:100%;max-width:26px;flex:1;display:flex;align-items:flex-end}.qb-bars__total,.qb-bars__ok{position:absolute;left:0;right:0;bottom:0;border-radius:8px 8px 4px 4px;transition:height .6s cubic-bezier(.22,1,.36,1)}.qb-bars__label{font-size:11px;color:var(--qb-on-surface-variant);font-variant-numeric:tabular-nums;white-space:nowrap}.qb-legend{display:flex;gap:14px;font-size:12.5px;color:var(--qb-on-surface-variant)}.qb-legend>span{display:inline-flex;align-items:center;gap:6px}.qb-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.qb-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px}.qb-podium__col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.qb-podium__name{max-width:100%;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qb-podium__value{font-size:12.5px;color:var(--qb-on-surface-variant);font-variant-numeric:tabular-nums}.qb-podium__block{width:100%;border-radius:16px 16px 8px 8px;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;font-size:22px;font-weight:800;color:#fff}.qb-rank-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px}.qb-rank-row--me{background:var(--qb-primary-container);color:var(--qb-on-primary-container)}.qb-rank-row__num{width:28px;text-align:center;font-weight:700;color:var(--qb-on-surface-variant);font-variant-numeric:tabular-nums;flex:none}.qb-rank-row__name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qb-rank-row__value{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.qb-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;border-radius:16px;background:var(--qb-surface-high);font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;text-align:center}.qb-auth{min-height:100vh;display:flex;flex-direction:column;background:var(--qb-bg)}.qb-auth__hero{position:relative;overflow:hidden;padding:calc(48px + env(safe-area-inset-top)) 28px 72px;background:var(--qb-gradient);color:#fff}.qb-auth__hero:before,.qb-auth__hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff1a}.qb-auth__hero:before{width:240px;height:240px;top:-90px;right:-70px}.qb-auth__hero:after{width:140px;height:140px;bottom:-40px;left:-40px;background:#ffffff12}.qb-auth__hero>*{position:relative}.qb-auth__logo{width:64px;height:64px;border-radius:20px;background:#fff3;display:inline-flex;align-items:center;justify-content:center;color:#fff}.qb-auth__brand{margin:16px 0 4px;font-size:32px;line-height:40px;font-weight:700}.qb-auth__tagline{font-size:15px;opacity:.88}.qb-auth__theme{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;color:#fff}.qb-auth__theme:hover{background:#ffffff29}.qb-auth__panel{position:relative;flex:1;margin-top:-32px;padding:26px 22px calc(28px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:var(--qb-surface)}.qb-auth__title{margin:0 0 4px;font-size:22px;line-height:30px;font-weight:700}.qb-auth__desc{margin-bottom:18px;font-size:14px;color:var(--qb-on-surface-variant)}.qb-auth .ant-form-item{margin-bottom:16px}.qb-auth .ant-input-affix-wrapper-lg,.qb-auth .ant-input-lg{min-height:52px;border-radius:14px}.qb-auth .ant-input-group-compact>.ant-btn-lg,.qb-auth .qb-captcha{min-height:52px}@media(min-width:768px){.qb-auth{align-items:center;justify-content:center;padding:32px;background:radial-gradient(900px 500px at 15% 0%,color-mix(in srgb,var(--qb-primary) 22%,transparent),transparent 60%),radial-gradient(700px 500px at 100% 100%,color-mix(in srgb,#7c4dff 14%,transparent),transparent 60%),var(--qb-bg)}.qb-auth__card{width:440px;border-radius:28px;overflow:hidden;background:var(--qb-surface);border:1px solid var(--qb-outline-variant);box-shadow:0 30px 80px -40px #151a2373}.qb-auth__hero{padding:36px 32px 64px}.qb-auth__theme{top:14px}.qb-auth__panel{padding:28px 32px 30px}}@media(max-width:767px){.qb-auth__card{flex:1;display:flex;flex-direction:column}}@media(prefers-reduced-motion:reduce){.qb-slide-in,.qb-feedback,.qb-skeleton{animation:none}}
