:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f7f8fa;--color-surface:#fff;--color-surface-muted:#f0f3f7;--color-text-primary:#172033;--color-text-secondary:#636d82;--color-border:#e6e9ef;--color-accent:#5268d8;--color-accent-hover:#4a5ec1;--color-accent-pressed:#4355ad;--color-focus:#356cff;--color-glass:#f6f8fce6;--color-glass-solid:#f6f8fc;--color-glass-stroke:#ffffffa8;--color-border-strong:#7d8799;--color-on-accent:#fff;--color-danger:#c42b3a;--color-success:#1e7a52;--color-warning:#8f5f00;--color-scrim:#f7f8faa3;--color-state-hover:#eceff4;--color-state-pressed:#e3e7ee;--color-state-selected:#e4e9fb;--color-state-selected-hover:#d2daf7;--question-status-unseen:#d9dee5;--question-status-viewed:#858e9b;--question-status-incorrect:#e0525e;--question-status-correct:#26865c;--question-status-retry:#e9b447;--font-sans:"Pretendard", "Inter", system-ui, -apple-system, sans-serif;--font-size-label-sm:12px;--font-size-label:13px;--font-size-body:14px;--font-size-body-lg:16px;--font-size-section-title:18px;--font-size-page-title:26px;--line-height-tight:1.2;--line-height-snug:1.4;--line-height-normal:1.5;--line-height-relaxed:1.6;--font-weight-regular:400;--font-weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--glass-blur:16px;--shadow-floating:0 18px 56px #1e273b26;--app-header-height:64px;--app-sidebar-width:232px;--content-max-width:1440px;--breakpoint-md:768px;--breakpoint-lg:1024px;--floating-panel-width:500px;--heatmap-cell:28px;--heatmap-cell-touch:32px;--heatmap-gap:4px;--heatmap-dot:16px;--heatmap-marker-hover-scale:1.18;--z-base:0;--z-raised:1;--z-popover:20;--z-side-panel:40;--z-modal:60;--z-toast:70;--duration-panel-enter:.24s;--duration-panel-exit:.18s;--duration-marker:.15s;--duration-state:.12s;--easing-standard:cubic-bezier(.2, 0, 0, 1)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#11151d;--color-surface:#1b222d;--color-surface-muted:#27313e;--color-text-primary:#f2f5f9;--color-text-secondary:#acb7c5;--color-border:#2d3745;--color-accent:#8ca0ff;--color-accent-hover:#9aacfe;--color-accent-pressed:#a7b6fd;--color-focus:#a2b3ff;--color-glass:#1e2633e6;--color-glass-solid:#1e2633;--color-glass-stroke:#ffffff1f;--color-border-strong:#7a8799;--color-on-accent:#11151d;--color-danger:#ff8a93;--color-success:#4fcb92;--color-warning:#f2c14e;--color-scrim:#11151da3;--color-state-hover:#2a3442;--color-state-pressed:#334051;--color-state-selected:#2e3958;--color-state-selected-hover:#39456c;--question-status-unseen:#4e5967;--question-status-viewed:#9ea7b4;--question-status-incorrect:#f17b84;--question-status-correct:#4bc68e;--question-status-retry:#f4c763}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f7f8fa;--color-surface:#fff;--color-surface-muted:#f0f3f7;--color-text-primary:#172033;--color-text-secondary:#636d82;--color-border:#e6e9ef;--color-accent:#5268d8;--color-accent-hover:#4a5ec1;--color-accent-pressed:#4355ad;--color-focus:#356cff;--color-glass:#f6f8fce6;--color-glass-solid:#f6f8fc;--color-glass-stroke:#ffffffa8;--color-border-strong:#7d8799;--color-on-accent:#fff;--color-danger:#c42b3a;--color-success:#1e7a52;--color-warning:#8f5f00;--color-scrim:#f7f8faa3;--color-state-hover:#eceff4;--color-state-pressed:#e3e7ee;--color-state-selected:#e4e9fb;--color-state-selected-hover:#d2daf7;--question-status-unseen:#d9dee5;--question-status-viewed:#858e9b;--question-status-incorrect:#e0525e;--question-status-correct:#26865c;--question-status-retry:#e9b447}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#11151d;--color-surface:#1b222d;--color-surface-muted:#27313e;--color-text-primary:#f2f5f9;--color-text-secondary:#acb7c5;--color-border:#2d3745;--color-accent:#8ca0ff;--color-accent-hover:#9aacfe;--color-accent-pressed:#a7b6fd;--color-focus:#a2b3ff;--color-glass:#1e2633e6;--color-glass-solid:#1e2633;--color-glass-stroke:#ffffff1f;--color-border-strong:#7a8799;--color-on-accent:#11151d;--color-danger:#ff8a93;--color-success:#4fcb92;--color-warning:#f2c14e;--color-scrim:#11151da3;--color-state-hover:#2a3442;--color-state-pressed:#334051;--color-state-selected:#2e3958;--color-state-selected-hover:#39456c;--question-status-unseen:#4e5967;--question-status-viewed:#9ea7b4;--question-status-incorrect:#f17b84;--question-status-correct:#4bc68e;--question-status-retry:#f4c763}}
.glass-surface{background:var(--color-glass);border:1px solid var(--color-glass-stroke);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(var(--glass-blur))}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass-surface{background:var(--color-glass-solid)}}@media (prefers-reduced-transparency:reduce){.glass-surface{background:var(--color-glass-solid);-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
:root{--qz-transition-fast:var(--duration-state) var(--easing-standard)}.qz-theme-scope{background:var(--color-canvas);color:var(--color-text-primary);font-family:var(--font-sans)}.qz-visually-hidden{clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.qz-focus-ring:focus{outline:none}.qz-focus-ring:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (forced-colors:active){.qz-focus-ring:focus-visible{outline-color:highlight}}.qz-surface{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.qz-surface[data-tone=muted]{background:var(--color-surface-muted);border-color:#0000}.qz-glass{color:var(--color-text-primary);border-radius:var(--radius-lg)}:is(.qz-surface,.qz-glass)[data-padding=none]{padding:0}:is(.qz-surface,.qz-glass)[data-padding=sm]{padding:var(--space-3)}:is(.qz-surface,.qz-glass)[data-padding=md]{padding:var(--space-4)}:is(.qz-surface,.qz-glass)[data-padding=lg]{padding:var(--space-6)}.qz-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-primary);font-size:var(--font-size-label-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.qz-badge[data-tone=accent]{background:var(--color-state-selected)}@media (forced-colors:active){.qz-badge{border:1px solid canvastext}}.qz-badge__dot{border-radius:var(--radius-pill);outline:1px solid var(--color-border);background:currentColor;width:8px;height:8px}.qz-badge[data-tone=success] .qz-badge__dot{background:var(--color-success)}.qz-badge[data-tone=warning] .qz-badge__dot{background:var(--color-warning)}.qz-badge[data-tone=danger] .qz-badge__dot{background:var(--color-danger)}.qz-skeleton{border-radius:var(--radius-sm);background:var(--color-surface-muted);height:1em;animation:1.2s ease-in-out infinite alternate qz-skeleton-pulse;display:block}.qz-skeleton[data-shape=rect]{border-radius:var(--radius-md)}.qz-skeleton[data-shape=circle]{border-radius:var(--radius-pill)}@keyframes qz-skeleton-pulse{0%{opacity:1}to{opacity:.5}}.qz-spinner{border-radius:var(--radius-pill);border:2px solid;border-right-color:#0000;flex:none;width:1em;height:1em;animation:.8s linear infinite qz-spin}@keyframes qz-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.qz-skeleton,.qz-spinner{animation:none}}.qz-empty-state{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-primary);flex-direction:column;display:flex}.qz-empty-state__icon{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.qz-empty-state__title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);margin:0}.qz-empty-state__description{max-width:48ch;color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-relaxed);margin:0}.qz-empty-state__action{margin-top:var(--space-3)}
.qz-button,.qz-icon-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:40px;color:var(--color-text-primary);font:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--qz-transition-fast), border-color var(--qz-transition-fast), color var(--qz-transition-fast);background:0 0;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.qz-button{padding:0 var(--space-4)}.qz-button[data-size=sm]{min-height:32px;padding:0 var(--space-3);font-size:var(--font-size-label)}.qz-icon-button{flex:none;width:40px;height:40px;min-height:0;padding:0}.qz-icon-button[data-size=sm]{width:32px;height:32px}.qz-icon-button__icon{display:inline-flex}:is(.qz-button,.qz-icon-button)[data-variant=primary]{background:var(--color-accent);color:var(--color-on-accent)}:is(.qz-button,.qz-icon-button)[data-variant=secondary]{background:var(--color-surface);border-color:var(--color-border)}:is(.qz-button,.qz-icon-button):is([aria-pressed],[data-state=on],[data-state=off]):not([data-variant=primary]){background:0 0;border-color:#0000}:is(.qz-button,.qz-icon-button):is([aria-pressed=true],[data-state=on]):not([data-variant=primary]){background:var(--color-state-selected)}@media (hover:hover){:is(.qz-button,.qz-icon-button)[data-variant=primary]:hover:not(:disabled){background:var(--color-accent-hover)}:is(.qz-button,.qz-icon-button):is([data-variant=secondary],[data-variant=ghost]):hover:not(:disabled){background:var(--color-state-hover)}:is(.qz-button,.qz-icon-button):is([aria-pressed=true],[data-state=on]):not([data-variant=primary]):hover:not(:disabled){background:var(--color-state-selected-hover)}}:is(.qz-button,.qz-icon-button)[data-variant=primary]:active:not(:disabled){background:var(--color-accent-pressed)}:is(.qz-button,.qz-icon-button):is([data-variant=secondary],[data-variant=ghost]):active:not(:disabled),:is(.qz-button,.qz-icon-button):is([aria-pressed],[data-state=on],[data-state=off]):not([data-variant=primary]):active:not(:disabled){background:var(--color-state-pressed)}.qz-button[aria-pressed]{font-weight:var(--font-weight-regular)}.qz-button[aria-pressed=true]{font-weight:var(--font-weight-semibold)}:is(.qz-button,.qz-icon-button):disabled{cursor:not-allowed;opacity:.55}.qz-button[data-loading]{cursor:progress;opacity:.8}@media (forced-colors:active){:is(.qz-button,.qz-icon-button){border-color:buttontext}:is(.qz-button,.qz-icon-button):is([aria-pressed=true],[data-state=on]){outline-offset:-2px;outline:2px solid highlight}}.qz-field{gap:var(--space-1);color:var(--color-text-primary);display:grid}.qz-field__label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.qz-field__description{color:var(--color-text-secondary);font-size:var(--font-size-label);line-height:var(--line-height-normal);margin:0}.qz-field__error{align-items:flex-start;gap:var(--space-1);color:var(--color-text-primary);font-size:var(--font-size-label);line-height:var(--line-height-normal);margin:0;display:flex}.qz-field__error svg{color:var(--color-danger);flex:none;margin-top:1px}.qz-control{box-sizing:border-box;width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-body-lg);line-height:var(--line-height-normal);transition:border-color var(--qz-transition-fast)}.qz-control::placeholder{color:var(--color-text-secondary);opacity:1}@media (hover:hover){.qz-control:hover:not(:disabled){border-color:var(--color-text-primary)}}.qz-control[aria-invalid=true]{border-color:var(--color-danger);padding:calc(var(--space-2) - 1px) calc(var(--space-3) - 1px);border-width:2px}.qz-control:disabled{background:var(--color-surface-muted);color:var(--color-text-secondary);cursor:not-allowed}.qz-control--multiline{resize:vertical;min-height:96px}.qz-checkbox{align-items:flex-start;gap:var(--space-2);color:var(--color-text-primary);display:flex}.qz-checkbox__box{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:20px;height:20px;color:var(--color-on-accent);cursor:pointer;transition:background-color var(--qz-transition-fast), border-color var(--qz-transition-fast);flex:none;justify-content:center;align-items:center;margin:2px;padding:0;display:inline-flex}.qz-checkbox__box:is([data-state=checked],[data-state=indeterminate]){border-color:var(--color-accent);background:var(--color-accent)}.qz-checkbox__box:disabled{cursor:not-allowed;opacity:.55}.qz-checkbox__indicator{display:inline-flex}.qz-checkbox__text{gap:2px;display:grid}.qz-checkbox__label{font-size:var(--font-size-body);cursor:pointer;line-height:24px}.qz-switch{justify-content:space-between;align-items:flex-start;gap:var(--space-4);color:var(--color-text-primary);display:flex}.qz-switch__text{gap:2px;min-width:0;display:grid}.qz-switch__label{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;line-height:24px}.qz-switch__control{align-items:center;gap:var(--space-2);flex:none;min-height:24px;display:inline-flex}.qz-switch__state{color:var(--color-text-secondary);font-size:var(--font-size-label)}.qz-switch__track{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface-muted);cursor:pointer;width:44px;height:24px;transition:background-color var(--qz-transition-fast), border-color var(--qz-transition-fast);flex:none;align-items:center;padding:2px;display:inline-flex;position:relative}.qz-switch__track[data-state=checked]{border-color:var(--color-accent);background:var(--color-accent)}.qz-switch__track:disabled{cursor:not-allowed;opacity:.55}.qz-switch__thumb{border-radius:var(--radius-pill);box-sizing:border-box;border:1px solid var(--color-border-strong);background:var(--color-surface);width:18px;height:18px;transition:transform var(--qz-transition-fast);display:block}.qz-switch__thumb[data-state=checked]{border-color:var(--color-surface);transform:translate(20px)}.qz-tabs__list{gap:var(--space-1);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.qz-tabs__trigger{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--qz-transition-fast), border-color var(--qz-transition-fast), color var(--qz-transition-fast);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}@media (hover:hover){.qz-tabs__trigger:hover:not(:disabled){background:var(--color-state-hover);color:var(--color-text-primary)}}.qz-tabs__trigger:active:not(:disabled){background:var(--color-state-pressed);color:var(--color-text-primary)}.qz-tabs__trigger[data-state=active]{border-bottom-color:var(--color-accent);color:var(--color-text-primary)}.qz-tabs__content{padding-top:var(--space-4)}@media (forced-colors:active){.qz-tabs__trigger[data-state=active]{border-bottom-color:highlight}}.qz-select__trigger{justify-content:space-between;align-items:center;gap:var(--space-2);text-align:start;cursor:pointer;display:flex}.qz-select__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.qz-select__trigger[data-placeholder] .qz-select__value{color:var(--color-text-secondary)}.qz-select__icon{color:var(--color-text-secondary);flex:none;display:inline-flex}.qz-select__content{z-index:var(--z-popover);box-sizing:border-box;min-width:var(--radix-select-trigger-width);max-width:min(420px, calc(100vw - 2 * var(--space-4)));max-height:min(360px, var(--radix-select-content-available-height));border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-body);overflow:hidden}.qz-select__viewport{padding:var(--space-1)}.qz-select__item{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--qz-transition-fast);outline:none;display:flex}.qz-select__item[data-highlighted]{background:var(--color-state-hover)}.qz-select__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.qz-select__item[data-disabled]{cursor:not-allowed;opacity:.55}.qz-select__indicator{flex:none;display:inline-flex}@media (forced-colors:active){.qz-select__item:is([data-highlighted],:focus-visible){outline-offset:-2px;outline:2px solid highlight}}.qz-radio-group{gap:var(--space-2);flex-direction:column;display:flex}.qz-radio-group[data-orientation=horizontal]{column-gap:var(--space-4);flex-flow:wrap}.qz-radio{align-items:flex-start;gap:var(--space-2);display:flex}.qz-radio__circle{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);cursor:pointer;width:20px;height:20px;transition:border-color var(--qz-transition-fast);flex:none;justify-content:center;align-items:center;margin:2px;padding:0;display:inline-flex}.qz-radio__circle[data-state=checked]{border-color:var(--color-accent)}.qz-radio__circle:disabled{cursor:not-allowed;opacity:.55}.qz-radio__indicator{border-radius:var(--radius-pill);background:var(--color-accent);width:10px;height:10px;display:block}@media (hover:hover){.qz-radio__description{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.qz-radio[data-description=tooltip]{position:relative}@media (forced-colors:active){.qz-radio__indicator{background:highlight}}@media (hover:hover){:is(.qz-checkbox__box,.qz-radio__circle,.qz-switch__track):not([data-state=checked],[data-state=indeterminate],:disabled):hover{border-color:var(--color-text-primary)}:is(.qz-checkbox__box,.qz-switch__track):is([data-state=checked],[data-state=indeterminate]):not(:disabled):hover{background:var(--color-accent-hover)}:is(.qz-checkbox__box,.qz-radio__circle,.qz-switch__track):is([data-state=checked],[data-state=indeterminate]):not(:disabled,:focus-visible):hover{border-color:var(--color-accent-hover)}.qz-radio__circle[data-state=checked]:not(:disabled):hover .qz-radio__indicator{background:var(--color-accent-hover)}}:is(.qz-control,.qz-tabs__trigger,:is(.qz-button,.qz-icon-button)[data-variant=secondary]:not([aria-pressed],[data-state=on],[data-state=off])).qz-focus-ring:focus-visible{border-color:var(--color-focus);outline-offset:-2px}:is(.qz-checkbox__box,.qz-radio__circle,.qz-switch__track).qz-focus-ring:focus-visible{border-color:var(--color-focus);outline-offset:0}@media (forced-colors:active){:is(.qz-control,.qz-tabs__trigger,.qz-checkbox__box,.qz-radio__circle,.qz-switch__track,:is(.qz-button,.qz-icon-button):not([aria-pressed=true],[data-state=on])).qz-focus-ring:focus-visible{border-color:highlight}:is(.qz-button,.qz-icon-button):not([aria-pressed=true],[data-state=on]).qz-focus-ring:focus-visible{outline-offset:-2px}}
.qz-backdrop{z-index:var(--z-side-panel);background:var(--color-scrim);position:fixed;inset:0}.qz-backdrop:is([data-layer=modal],[data-layer=drawer]){z-index:var(--z-modal)}.qz-backdrop[data-state=open]{animation:qz-fade-in var(--duration-panel-enter) ease-out}.qz-backdrop[data-state=closed]{animation:qz-fade-out var(--duration-panel-exit) ease-in}.qz-panel{z-index:var(--z-side-panel);top:var(--space-4);right:var(--space-4);bottom:var(--space-4);box-sizing:border-box;width:min(var(--floating-panel-width), calc(100vw - 2 * var(--space-4)));border-radius:var(--radius-xl);color:var(--color-text-primary);font-family:var(--font-sans);flex-direction:column;display:flex;position:fixed;overflow:hidden}.qz-panel[data-size=wide]{width:min(720px, calc(100vw - 2 * var(--space-4)))}.qz-panel:focus{outline:none}.qz-panel[data-state=open]{animation:qz-panel-in var(--duration-panel-enter) ease-out}.qz-panel[data-state=closed]{animation:qz-panel-out var(--duration-panel-exit) ease-in}.qz-panel__header,.qz-modal__header{align-items:flex-start;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.qz-panel__heading{min-width:0;padding-top:var(--space-2);flex:1}.qz-panel__title,.qz-modal__title{font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);margin:0}.qz-panel__description{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-normal)}.qz-panel__actions{align-items:center;gap:var(--space-1);display:flex}.qz-panel__body{overscroll-behavior:contain;min-height:0;padding:var(--space-5) var(--space-6);font-size:var(--font-size-body-lg);line-height:var(--line-height-relaxed);flex:auto;overflow-y:auto}.qz-panel__body[data-scroll-focus]:focus,.qz-modal__body[data-scroll-focus]:focus{outline:none}.qz-panel__body[data-scroll-focus]:focus-visible,.qz-modal__body[data-scroll-focus]:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}@media (forced-colors:active){.qz-panel__body[data-scroll-focus]:focus-visible,.qz-modal__body[data-scroll-focus]:focus-visible{outline-color:highlight}}.qz-panel__footer,.qz-modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6) var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}@media not (min-width:768px){.qz-panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom);background:var(--color-glass-solid);-webkit-backdrop-filter:none;inset:auto 0 0}.qz-panel[data-size=wide]{width:100%}.qz-panel[data-mobile-layout=full]{height:100dvh;max-height:none;padding-top:env(safe-area-inset-top);border-radius:0;top:0}.qz-panel[data-state=open]{animation-name:qz-sheet-in}.qz-panel[data-state=closed]{animation-name:qz-sheet-out}.qz-panel__header,.qz-panel__body,.qz-panel__footer{padding-inline:var(--space-4)}}.qz-modal{z-index:var(--z-modal);box-sizing:border-box;width:min(560px, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - 2 * var(--space-4));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-floating);color:var(--color-text-primary);font-family:var(--font-sans);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.qz-modal[data-size=sm]{width:min(400px, calc(100vw - 2 * var(--space-4)))}.qz-modal:focus{outline:none}.qz-modal[data-state=open]{animation:qz-modal-in var(--duration-panel-enter) ease-out}.qz-modal[data-state=closed]{animation:qz-modal-out var(--duration-panel-exit) ease-in}.qz-modal__body{min-height:0;padding:var(--space-5) var(--space-6);font-size:var(--font-size-body-lg);line-height:var(--line-height-relaxed);flex:auto;overflow-y:auto}.qz-popover{z-index:var(--z-popover);box-sizing:border-box;min-width:220px;max-width:min(360px, calc(100vw - 2 * var(--space-4)));padding:var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-normal);position:relative}.qz-popover:has(.qz-popover__close){padding-right:calc(var(--space-4) + 32px)}.qz-popover__close{top:var(--space-2);right:var(--space-2);position:absolute}.qz-popover[data-state=open]{animation:qz-fade-in var(--duration-marker) ease-out}.qz-tooltip{z-index:var(--z-popover);max-width:280px;padding:6px var(--space-2);border-radius:var(--radius-sm);background:var(--color-text-primary);color:var(--color-canvas);font-family:var(--font-sans);font-size:var(--font-size-label);line-height:var(--line-height-snug)}.qz-tooltip[data-state$=open]{animation:qz-fade-in var(--duration-marker) ease-out}.qz-toast-viewport{z-index:var(--z-toast);box-sizing:border-box;gap:var(--space-2);width:min(400px,100vw);max-height:100dvh;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));outline:none;flex-direction:column;margin:0;list-style:none;display:flex;position:fixed;bottom:0;right:0}.qz-toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:var(--font-sans);border-left-width:3px;display:flex}.qz-toast[data-tone=success]{border-left-color:var(--color-success)}.qz-toast[data-tone=error]{border-left-color:var(--color-danger)}.qz-toast__body{flex:1;min-width:0;padding-top:6px}.qz-toast__title{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.qz-toast__description{color:var(--color-text-secondary);font-size:var(--font-size-label);line-height:var(--line-height-normal);margin-top:2px}.qz-toast[data-state=open]{animation:qz-toast-in var(--duration-panel-enter) ease-out}.qz-toast[data-state=closed]{animation:qz-fade-out var(--duration-panel-exit) ease-in}.qz-toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}.qz-toast[data-swipe=end]{animation:qz-fade-out var(--duration-panel-exit) ease-in}.qz-drawer{z-index:var(--z-modal);box-sizing:border-box;width:min(320px,100vw - 48px);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);border-right:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-floating);color:var(--color-text-primary);font-family:var(--font-sans);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.qz-drawer:focus{outline:none}.qz-drawer[data-state=open]{animation:qz-drawer-in var(--duration-panel-enter) ease-out}.qz-drawer[data-state=closed]{animation:qz-drawer-out var(--duration-panel-exit) ease-in}.qz-drawer__header{height:var(--app-header-height);padding:0 var(--space-3) 0 var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.qz-drawer__title{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);margin:0}.qz-drawer__nav{padding:var(--space-4) var(--space-3);flex:1;overflow-y:auto}@keyframes qz-fade-in{0%{opacity:0}}@keyframes qz-fade-out{to{opacity:0}}@keyframes qz-panel-in{0%{opacity:0;transform:translateX(var(--space-6))}}@keyframes qz-panel-out{to{opacity:0;transform:translateX(var(--space-6))}}@keyframes qz-sheet-in{0%{opacity:0;transform:translateY(var(--space-8))}}@keyframes qz-sheet-out{to{opacity:0;transform:translateY(var(--space-8))}}@keyframes qz-modal-in{0%{opacity:0;transform:translate(-50%, calc(-50% + var(--space-2)))}}@keyframes qz-modal-out{to{opacity:0;transform:translate(-50%, calc(-50% + var(--space-2)))}}@keyframes qz-toast-in{0%{opacity:0;transform:translateY(var(--space-4))}}@keyframes qz-drawer-in{0%{opacity:0;transform:translate(-100%)}}@keyframes qz-drawer-out{to{opacity:0;transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.qz-backdrop,.qz-panel,.qz-modal,.qz-popover,.qz-tooltip,.qz-toast,.qz-drawer,.qz-menu{animation-duration:.01ms!important}}.qz-menu{z-index:var(--z-popover);box-sizing:border-box;min-width:180px;max-width:min(320px, calc(100vw - 2 * var(--space-4)));padding:var(--space-1);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-body)}.qz-menu[data-state=open]{animation:qz-fade-in var(--duration-marker) ease-out}.qz-menu__item{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--qz-transition-fast);outline:none;display:flex}.qz-menu__item[data-highlighted]{background:var(--color-state-hover)}.qz-menu__item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.qz-menu__item[data-disabled]{cursor:not-allowed;opacity:.55}.qz-menu__item[data-tone=danger]{color:var(--color-danger)}.qz-menu__separator{height:1px;margin:var(--space-1) 0;background:var(--color-border)}@media (forced-colors:active){.qz-menu__item:is([data-highlighted],:focus-visible){outline-offset:-2px;outline:2px solid highlight}}
.qz-app-shell{background:var(--color-canvas);min-height:100dvh;color:var(--color-text-primary);font-family:var(--font-sans)}.qz-skip-link{z-index:var(--z-toast);top:var(--space-2);left:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);position:fixed;transform:translateY(-200%)}.qz-skip-link:focus-visible{transform:none}.qz-app-shell__header{z-index:calc(var(--z-popover) - 1);box-sizing:border-box;align-items:center;gap:var(--space-2);height:var(--app-header-height);padding-inline:var(--space-4);border-width:0 0 1px;border-color:var(--color-border);box-shadow:none;border-radius:0;display:flex;position:sticky;top:0}.qz-app-shell__header-content{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.qz-app-shell__body{align-items:flex-start;display:flex}.qz-app-shell__sidebar{display:none}.qz-app-shell__main{flex:1;min-width:0}.qz-app-shell__main:focus{outline:none}.qz-app-shell__content{box-sizing:border-box;max-width:var(--content-max-width);padding:var(--space-4);margin-inline:auto}@media (min-width:768px){.qz-app-shell__content{padding:var(--space-6)}}@media (min-width:1024px){.qz-app-shell__header{padding-inline:var(--space-6)}.qz-app-shell__menu-button{display:none}.qz-app-shell__sidebar{top:var(--app-header-height);box-sizing:border-box;flex:0 0 var(--app-sidebar-width);width:var(--app-sidebar-width);height:calc(100dvh - var(--app-header-height));padding:var(--space-4) var(--space-3);border-right:1px solid var(--color-border);background:var(--color-surface);display:block;position:sticky;overflow-y:auto}}.qz-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);color:var(--color-text-primary);flex-wrap:wrap;display:flex}.qz-page-header__text{gap:var(--space-1);min-width:0;display:grid}.qz-page-header__breadcrumb{color:var(--color-text-secondary);font-size:var(--font-size-label)}.qz-page-header__title{font-size:var(--font-size-page-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.qz-page-header__description{color:var(--color-text-secondary);font-size:var(--font-size-body-lg);line-height:var(--line-height-normal);margin:0}.qz-page-header__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}
.qz-heatmap,.qz-heatmap-legend,.qz-status-summary,.qz-question-dot{--qz-heatmap-cell:var(--heatmap-cell)}@media not (min-width:768px),(pointer:coarse){.qz-heatmap,.qz-heatmap-legend,.qz-status-summary,.qz-question-dot{--qz-heatmap-cell:var(--heatmap-cell-touch)}}.qz-question-marker{width:var(--heatmap-dot);height:var(--heatmap-dot);color:var(--color-text-secondary);transform-origin:50%;transition:transform var(--duration-marker) ease-out;flex:none;display:block;overflow:visible}.qz-question-marker__shape{stroke:color-mix(in srgb, currentColor 50%, var(--color-text-primary));stroke-width:1.5px}.qz-question-marker[data-status=unseen]{color:var(--question-status-unseen)}.qz-question-marker[data-status=viewed]{color:var(--question-status-viewed)}.qz-question-marker[data-status=incorrect]{color:var(--question-status-incorrect)}.qz-question-marker[data-status=correct]{color:var(--question-status-correct)}.qz-question-marker[data-status=retry]{color:var(--question-status-retry)}@media (forced-colors:active){.qz-question-marker__shape{stroke:canvastext}}.qz-question-dot{box-sizing:border-box;width:var(--qz-heatmap-cell);height:var(--qz-heatmap-cell);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:2px solid #0000;place-items:center;margin:0;padding:0;display:grid;position:relative}.qz-question-dot:focus{outline:none}.qz-question-dot:focus-visible{z-index:var(--z-raised);outline:2px solid var(--color-focus);outline-offset:-2px}.qz-question-dot[data-selected]{border-color:var(--color-accent)}.qz-question-dot[data-selected]:focus-visible{border-color:var(--color-focus)}.qz-question-dot:focus-visible .qz-question-marker{transform:scale(var(--heatmap-marker-hover-scale))}@media (hover:hover){.qz-question-dot:hover{z-index:var(--z-raised)}.qz-question-dot:hover .qz-question-marker{transform:scale(var(--heatmap-marker-hover-scale))}}@media (forced-colors:active){.qz-question-dot:focus-visible{outline-color:highlight}.qz-question-dot[data-selected]{border-color:highlight}}@media (prefers-reduced-motion:reduce){.qz-question-marker{transition:none!important}}.qz-heatmap{gap:var(--space-6);color:var(--color-text-primary);font-family:var(--font-sans);flex-direction:column;display:flex}.qz-heatmap__chapter-header{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.qz-heatmap__title{font-size:var(--font-size-body-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);margin:0}.qz-heatmap__count{color:var(--color-text-secondary);font-size:var(--font-size-label)}.qz-heatmap__grid{grid-template-columns:repeat(auto-fill, var(--qz-heatmap-cell));gap:var(--heatmap-gap);margin:0;padding:0;list-style:none;display:grid}.qz-heatmap__cell{width:var(--qz-heatmap-cell);height:var(--qz-heatmap-cell);display:block}.qz-question-preview{gap:var(--space-1);max-width:min(320px, calc(100vw - 2 * var(--space-4)));flex-direction:column;display:flex}.qz-question-preview p{margin:0}.qz-question-preview__meta{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.qz-question-preview__chapter,.qz-question-preview__status{color:var(--color-text-secondary);font-size:var(--font-size-label)}.qz-question-preview__status{align-items:center;gap:var(--space-2);display:flex}.qz-question-preview__stem{-webkit-line-clamp:3;line-clamp:3;font-size:var(--font-size-body);line-height:var(--line-height-normal);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.qz-heatmap-legend{gap:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-label);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.qz-heatmap-legend__item{align-items:center;gap:var(--space-2);display:inline-flex}.qz-status-summary{border-radius:var(--radius-md);max-width:100%;font-family:var(--font-sans)}.qz-status-summary:focus{outline:none}.qz-status-summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.qz-status-summary__list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.qz-status-summary__chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-primary);font-size:var(--font-size-label);line-height:var(--line-height-normal);white-space:nowrap;flex:none;display:inline-flex}.qz-status-summary__count{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}@media not (min-width:768px){.qz-status-summary{overscroll-behavior-x:contain;overflow-x:auto}.qz-status-summary__list{padding-bottom:var(--space-1);flex-wrap:nowrap}}.qz-study-toggle[data-state=on]{color:var(--color-accent)}

*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--color-canvas);color:var(--color-text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
