.form-checkbox__input:checked+.form-checkbox__box{background:var(--accent);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border-color:var(--accent)}:root{--bg-primary:#f0f9ff;--bg-secondary:#e0f2fe;--card-bg:#fff;--card-bg-hover:#f0f9ff;--card-border:rgba(14,165,233,.2);--card-border-hover:rgba(14,165,233,.4);--card-border-accent:#0ea5e9;--card-shadow:0 4px 24px rgba(0,0,0,.04),0 0 1px rgba(14,165,233,.1);--card-shadow-hover:0 8px 32px rgba(0,0,0,.06),0 0 20px rgba(14,165,233,.08);--card-radius:16px;--card-radius-sm:10px;--card-padding:24px;--card-padding-sm:12px 14px;--card-padding-lg:28px;--bg-card:var(--card-bg);--bg-card-hover:var(--card-bg-hover);--btn-bg:#fff;--btn-bg-hover:#f8fafc;--btn-bg-primary:#0ea5e9;--btn-bg-primary-hover:#38bdf8;--btn-bg-danger:#fee2e2;--btn-bg-danger-hover:#fecaca;--btn-border:#e2e8f0;--btn-border-hover:#94a3b8;--btn-border-primary:#0ea5e9;--btn-border-danger:#fecaca;--btn-color:#334155;--btn-color-hover:#1e293b;--btn-color-primary:#fff;--btn-color-danger:#dc2626;--btn-radius:12px;--btn-radius-sm:10px;--btn-padding:10px 18px;--btn-padding-sm:8px 16px;--btn-padding-lg:13px 22px;--btn-shadow:0 1px 2px rgba(0,0,0,.04);--btn-shadow-hover:0 4px 12px rgba(0,0,0,.08);--btn-shadow-primary:0 2px 12px rgba(14,165,233,.35);--border:rgba(14,165,233,.2);--border-focus:rgba(14,165,233,.5);--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-disabled:#94a3b8;--accent:#0ea5e9;--accent-light:#38bdf8;--accent-glow:rgba(14,165,233,.15);--success:#16a34a;--success-bg:#dcfce7;--success-border:rgba(22,163,74,.3);--danger:#dc2626;--danger-bg:#fee2e2;--danger-border:rgba(220,38,38,.25);--warning:#f59e0b;--purple:#6366f1;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono","JetBrains Mono",ui-monospace,monospace;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--text-large-title:34px;--text-large-title-lh:41px;--text-title-1:28px;--text-title-1-lh:34px;--text-title-2:22px;--text-title-2-lh:28px;--text-title-3:20px;--text-title-3-lh:25px;--text-headline:17px;--text-headline-lh:22px;--text-body:17px;--text-body-lh:22px;--text-callout:16px;--text-callout-lh:21px;--text-subheadline:15px;--text-subheadline-lh:20px;--text-footnote:13px;--text-footnote-lh:18px;--text-caption:12px;--text-caption-lh:16px;--text-caption-small:11px;--text-caption-small-lh:14px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-card:0 4px 24px rgba(0,0,0,.04),0 0 1px rgba(14,165,233,.1);--shadow-glow:0 4px 20px rgba(14,165,233,.12);--transition:.2s cubic-bezier(.4,0,.2,1);--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--vh-fix:100vh;--vh-fix-dynamic:100dvh}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,html{overflow-x:hidden}body{background-color:var(--bg-primary);background-image:linear-gradient(rgba(14,165,233,.06) 1px,transparent 0),linear-gradient(90deg,rgba(14,165,233,.06) 1px,transparent 0);background-size:24px 24px;color:var(--text-primary);font-size:var(--text-body);font-weight:var(--font-regular);letter-spacing:0;line-height:1.3;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available}h1{font-size:var(--text-large-title);line-height:var(--text-large-title-lh)}h1,h2{font-weight:var(--font-semibold);letter-spacing:-.02em}h2{font-size:var(--text-title-1);line-height:var(--text-title-1-lh)}h3{font-size:var(--text-title-2);font-weight:var(--font-semibold);line-height:var(--text-title-2-lh)}h4{font-size:var(--text-title-3);font-weight:var(--font-medium);line-height:var(--text-title-3-lh)}p{color:var(--text-secondary);font-size:var(--text-body);line-height:var(--text-body-lh)}a{color:var(--accent);cursor:pointer;text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-light)}.panel__header,[role=button],button{cursor:pointer}.app-wrapper{min-height:100dvh;min-height:-webkit-fill-available}.container{margin:0 auto;max-width:900px;padding:0 24px;width:100%}.container--sm{max-width:680px}.container--wide{max-width:1280px}.card{background:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:var(--card-padding);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.card:hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.card--sm{border-radius:var(--card-radius-sm);padding:var(--card-padding-sm)}.card--lg{padding:var(--card-padding-lg)}.card--compact{border-radius:12px;padding:14px 16px}.card--hover:hover{background:var(--card-bg-hover);cursor:pointer}.btn{align-items:center;background:var(--btn-bg);border:2px solid var(--btn-border);border-radius:var(--btn-radius);box-shadow:var(--btn-shadow);color:var(--btn-color);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-subheadline);font-weight:600;gap:8px;padding:var(--btn-padding);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;white-space:nowrap}.btn:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--btn-border-hover);box-shadow:var(--btn-shadow-hover);color:var(--btn-color-hover);transform:translateY(-1px)}.btn--primary{background:var(--btn-bg-primary);border-color:var(--btn-border-primary);box-shadow:var(--btn-shadow-primary);color:var(--btn-color-primary)}.btn--primary:hover:not(:disabled){background:var(--btn-bg-primary-hover);border-color:var(--btn-bg-primary-hover)}.btn--ghost{background:transparent;border-color:var(--btn-border);color:var(--btn-color)}.btn--ghost:hover:not(:disabled){border-color:var(--btn-border-hover);color:var(--btn-color-hover)}.btn--danger{background:var(--btn-bg-danger);border-color:var(--btn-border-danger);color:var(--btn-color-danger)}.btn--danger:hover:not(:disabled){background:var(--btn-bg-danger-hover);border-color:var(--btn-color-danger)}.btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:var(--text-caption-small);font-weight:600;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.badge--accent{background:var(--accent-glow);border:1px solid rgba(14,165,233,.2);color:var(--accent)}.progress-track{background:var(--bg-card-hover);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.stats-row{display:flex;flex-wrap:wrap;gap:16px}.stat-chip{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;font-size:var(--text-subheadline);gap:8px;padding:8px 16px}.stat-chip__value{color:var(--text-primary);font-weight:700}.stat-chip__label{color:var(--text-muted)}.option-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-body);gap:14px;line-height:1.3;padding:16px 20px;text-align:left;transition:all var(--transition);width:100%}.option-btn:hover:not(:disabled){background:#0ea5e90a;border-color:var(--accent)}.option-btn:disabled{cursor:default}.option-btn--selected{background:var(--accent-glow);border-color:var(--accent)}.option-btn--correct{background:var(--success-bg)!important;border-color:var(--success)!important;color:var(--success)}.option-btn--wrong{background:var(--danger-bg)!important;border-color:var(--danger)!important;color:var(--danger)}.option-letter{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;display:flex;font-size:var(--text-caption);font-weight:700;height:28px;justify-content:center;min-width:28px;width:28px}.explanation-box{animation:fadeSlideIn .3s ease;border-left:3px solid;border-radius:var(--radius-md);padding:18px 20px}.explanation-box--correct{background:var(--success-bg);border-color:var(--success)}.explanation-box--wrong{background:var(--danger-bg);border-color:var(--danger)}.explanation-box__title{font-size:var(--text-caption);font-weight:var(--font-semibold);letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.explanation-box--correct .explanation-box__title{color:var(--success)}.explanation-box--wrong .explanation-box__title{color:var(--danger)}.explanation-box__text{color:var(--text-secondary);font-size:var(--text-subheadline);line-height:var(--text-subheadline-lh)}.page-header{padding:48px 0 32px}.page-header__tag{color:var(--accent);font-size:var(--text-footnote);font-weight:var(--font-semibold);letter-spacing:.04em;margin-bottom:12px;text-transform:uppercase}.grid-2{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.divider{background:var(--border);height:1px;margin:24px 0}.text-muted{color:var(--text-muted);font-size:var(--text-subheadline)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-accent{color:var(--accent)}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-2{margin-bottom:16px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:16px}.gap-3{gap:24px}.w-full{width:100%}.text-center{text-align:center}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes orbFloat{0%{transform:translate(0) scale(1)}to{transform:translate(30px,20px) scale(1.1)}}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loadingSpin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all .3s cubic-bezier(.22,1,.36,1)}.slide-up-leave-active{transition:all .15s ease}.slide-up-enter-from{opacity:0;transform:translateY(10px)}.slide-up-leave-to{opacity:0}.field-enter-active{transition:all .28s cubic-bezier(.22,1,.36,1)}.field-leave-active{transition:all .18s ease}.field-enter-from{transform:translateY(-10px)}.field-enter-from,.field-leave-to{max-height:0;opacity:0;overflow:hidden}.field-leave-to{transform:translateY(-6px)}.field-enter-to,.field-leave-from{max-height:120px;opacity:1;transform:translateY(0)}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.app-main{animation:fadeIn .3s ease;flex:1;padding-bottom:60px;padding-top:16px}.app-header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#f8fafceb;border-bottom:1px solid var(--border);box-shadow:0 1px 3px #0000000f;padding:calc(16px + env(safe-area-inset-top,0px)) 0 16px;position:sticky;top:0;z-index:100}.app-header__inner{align-items:center;display:flex;gap:24px;justify-content:space-between;width:100%}.app-logo{gap:10px;text-decoration:none}.app-logo,.app-logo__icon{align-items:center;display:flex;flex-shrink:0}.app-logo__icon{border-radius:9px;height:48px;justify-content:center;overflow:hidden;width:48px}.app-logo__icon img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.app-logo__name{color:var(--text-primary);font-size:var(--text-title-2);font-weight:var(--font-semibold);letter-spacing:-.02em}.header-nav{align-items:center;display:flex;gap:10px;margin-left:auto}.header-link{background:var(--btn-bg);border:2px solid var(--btn-border);border-radius:var(--btn-radius);box-shadow:var(--btn-shadow);color:var(--btn-color);font-family:inherit;font-size:var(--text-subheadline);font-weight:600;letter-spacing:-.01em;padding:var(--btn-padding);text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.header-link:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover);box-shadow:var(--btn-shadow-hover);color:var(--btn-color-hover);transform:translateY(-1px)}.header-link--active{background:var(--btn-bg-primary);border-color:var(--btn-border-primary);box-shadow:var(--btn-shadow-primary);color:var(--btn-color-primary)}.header-link--active:hover{background:var(--btn-bg-primary-hover);border-color:var(--btn-bg-primary-hover);color:var(--btn-color-primary);transform:translateY(-1px)}.header-logout{align-items:center;background:var(--btn-bg);border:2px solid var(--btn-border-danger);border-radius:var(--btn-radius);box-shadow:var(--btn-shadow);color:var(--btn-color-danger);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-subheadline);font-weight:600;gap:8px;letter-spacing:-.01em;padding:var(--btn-padding);transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.header-logout:hover{background:var(--btn-bg-danger);border-color:var(--btn-color-danger);box-shadow:var(--btn-shadow-hover);transform:translateY(-1px)}.mobile-bottom-nav{display:none}.home-page{min-height:100vh;min-height:100dvh;padding-top:8px;position:relative}.page-grid{background-image:linear-gradient(rgba(14,165,233,.04) 1px,transparent 0),linear-gradient(90deg,rgba(14,165,233,.04) 1px,transparent 0);background-size:48px 48px;inset:0;pointer-events:none;position:fixed;z-index:0}.hero{padding:48px 0 36px}.hero--with-stats{align-items:start;display:grid;gap:40px;grid-template-columns:1fr minmax(240px,380px)}.hero__content{display:flex;flex-direction:column;min-width:0}.hero__greeting,.hero__platform-stats{margin-top:8px}.platform-stats-card__title{color:var(--text-muted);font-size:var(--text-footnote);font-weight:var(--font-semibold);letter-spacing:.04em;margin-bottom:16px;text-transform:uppercase}.platform-stats-card__grid{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.platform-stats-item{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;box-shadow:0 1px 3px #0000000a;color:inherit;display:flex;flex-direction:column;gap:4px;justify-content:center;overflow:hidden;padding:16px;position:relative;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.platform-stats-item:before{background:linear-gradient(180deg,var(--accent),var(--accent-light));content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:3px}a.platform-stats-item:hover{border-color:#0ea5e933;box-shadow:0 4px 12px #0ea5e914;transform:translateY(-2px)}a.platform-stats-item:hover:before{opacity:1}.platform-stats-item__value{color:var(--accent);font-size:var(--text-title-2);font-weight:700;letter-spacing:-.02em}.platform-stats-item__label{color:var(--text-muted);font-size:var(--text-caption);font-weight:500}.hero__tag{align-items:center;color:var(--accent);display:inline-flex;font-size:var(--text-footnote);font-weight:var(--font-semibold);gap:8px;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.hero__tag-dot{animation:pulse 2s ease-in-out infinite;background:var(--accent);border-radius:50%;box-shadow:0 0 8px #0ea5e966;height:6px;width:6px}.hero__title{color:var(--text-primary);display:flex;flex-direction:column;font-size:var(--text-large-title);font-weight:var(--font-semibold);gap:2px;letter-spacing:-.02em;line-height:1.2;margin-bottom:8px}.hero__title-accent{background:linear-gradient(90deg,#0ea5e9,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__bottom-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:24px;margin-top:12px}.hero__subtitle{color:var(--text-muted);flex:1;font-size:var(--text-callout);line-height:1.35;max-width:420px;min-width:240px}.hero__bottom-row .collections-link{flex-shrink:0;margin-top:0}.dashboard-stats{margin-bottom:40px}.stats-bar{align-items:center;display:flex;gap:0}.stat-divider{background:var(--border);height:36px;margin:0 24px;width:1px}.stat-item{flex:1;gap:10px}.stat-item,.stat-item__icon{align-items:center;display:flex}.stat-item__icon{border-radius:8px;flex-shrink:0;height:32px;justify-content:center;width:32px}.stat-item__icon--accent{background:var(--accent-glow);color:var(--accent)}.stat-item__icon--success{background:var(--success-bg);color:var(--success)}.stat-item__icon--cyan{background:#7c3aed14;color:var(--purple)}.stat-item__icon--warning{background:#f59e0b1a;color:var(--warning)}.stat-item__icon--danger{background:var(--danger-bg);color:var(--danger)}.stat-item__value{color:var(--text-primary);font-size:var(--text-title-2);font-weight:var(--font-bold);letter-spacing:-.02em}.stat-item__total{color:var(--text-muted);font-size:var(--text-subheadline);font-weight:var(--font-regular)}.stat-item__label{color:var(--text-muted);font-size:var(--text-footnote);line-height:var(--text-footnote-lh)}.stats-toggle{align-items:center;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--accent);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-footnote);font-weight:500;gap:8px;padding:8px 14px;transition:all .2s}.stats-toggle:hover{background:var(--accent-glow);border-color:var(--border-focus)}.stats-toggle__chevron{transition:transform .25s}.stats-toggle__chevron--open{transform:rotate(180deg)}.subject-stats-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:16px}.subject-stat-card{background:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:18px;transition:border-color .2s,box-shadow .2s}.subject-stat-card:hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.subject-stat-card__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.subject-stat-card__title{color:var(--text-primary);display:-webkit-box;flex:1;font-size:var(--text-headline);font-weight:var(--font-semibold);-webkit-line-clamp:2;line-height:1.3;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.subject-stat-card__badge{border-radius:999px;flex-shrink:0;font-size:var(--text-footnote);font-weight:var(--font-bold);padding:4px 10px}.subject-stat-card__badge--excellent{background:var(--success-bg);color:var(--success)}.subject-stat-card__badge--good{background:#f59e0b26;color:var(--warning)}.subject-stat-card__badge--low{background:var(--danger-bg);color:var(--danger)}.subject-stat-card__bar-wrap{background:var(--bg-secondary);border-radius:999px;height:6px;margin-bottom:14px;overflow:hidden}.subject-stat-card__bar{border-radius:999px;height:100%;transition:width .4s ease}.subject-stat-card__bar--excellent{background:linear-gradient(90deg,var(--success),#22c55e)}.subject-stat-card__bar--good{background:linear-gradient(90deg,var(--warning),#fbbf24)}.subject-stat-card__bar--low{background:linear-gradient(90deg,var(--danger),#ef4444)}.subject-stat-card__stats{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.subject-stat-card__stat{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:2px;padding:8px}.subject-stat-card__stat-value{color:var(--text-primary);font-size:var(--text-headline);font-weight:var(--font-bold)}.subject-stat-card__stat-label{color:var(--text-muted);font-size:var(--text-caption-small);font-weight:var(--font-medium)}.subject-stat-card__stat--success .subject-stat-card__stat-value{color:var(--success)}.subject-stat-card__stat--danger .subject-stat-card__stat-value{color:var(--danger)}.slide-down-enter-active,.slide-down-leave-active{overflow:hidden;transition:all .3s ease}.slide-down-enter-from,.slide-down-leave-to{margin-top:0;max-height:0;opacity:0}.slide-down-enter-to,.slide-down-leave-from{margin-top:14px;max-height:1000px;opacity:1}.stats-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.btn-reset-stats{align-items:center;background:transparent;border:1px solid var(--danger-border);border-radius:8px;color:var(--danger);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-footnote);font-weight:500;gap:6px;padding:7px 14px;transition:all .2s}.btn-reset-stats:hover{background:var(--danger-bg);border-color:var(--danger)}.reset-modal{max-width:380px;text-align:center}.reset-modal__icon{align-items:center;background:var(--danger-bg);border-radius:50%;color:var(--danger);display:flex;height:52px;justify-content:center;margin:0 auto 16px;width:52px}.reset-modal__title{color:var(--text-primary);font-size:var(--text-title-3);font-weight:600;margin-bottom:10px}.reset-modal__text{color:var(--text-muted);font-size:var(--text-subheadline);line-height:1.55;margin-bottom:24px}.reset-modal__actions{display:flex;gap:10px;justify-content:center}.btn-reset-confirm{background:var(--btn-color-danger);border:2px solid var(--btn-color-danger);border-radius:var(--btn-radius-sm);color:var(--btn-color-primary);cursor:pointer;font-family:inherit;font-size:var(--text-subheadline);font-weight:600;padding:var(--btn-padding);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.btn-reset-confirm:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;transform:translateY(-1px)}.btn-reset-confirm:disabled{cursor:not-allowed;opacity:.6}.section-header{align-items:center;display:flex;gap:14px;margin-bottom:20px}.section-header__line{background:linear-gradient(90deg,transparent,var(--border),transparent);flex:1;height:1px}.section-header__text{color:var(--text-muted);font-size:var(--text-caption-small);font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.subject-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:40px}.subject-card{background:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);cursor:pointer;font-family:inherit;overflow:hidden;padding:0;position:relative;text-align:left;transition:all .25s cubic-bezier(.22,1,.36,1)}.subject-card:hover{background:var(--card-bg-hover);border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover);transform:translateY(-3px)}.subject-card:hover .subject-card__arrow{opacity:1;transform:translate(0)}.sc-corner{border-color:#0ea5e94d;border-style:solid;height:14px;position:absolute;transition:border-color .25s;width:14px}.sc-corner--tl{border-radius:4px 0 0;border-width:1.5px 0 0 1.5px;left:0;top:0}.sc-corner--br{border-radius:0 0 4px;border-width:0 1.5px 1.5px 0;bottom:0;right:0}.subject-card:hover .sc-corner{border-color:#0ea5e980}.subject-card__inner{align-items:center;display:flex;gap:16px;padding:20px 22px}.subject-card__icon{align-items:center;background:var(--accent-glow);border:1px solid rgba(14,165,233,.2);border-radius:10px;color:var(--subject-color,var(--accent));display:flex;height:46px;justify-content:center;min-width:46px;transition:all .25s;width:46px}.subject-card:hover .subject-card__icon{background:#0ea5e926;box-shadow:0 2px 8px #0ea5e926}.subject-card__body{flex:1;min-width:0}.subject-card__head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:5px}.subject-card__title{color:var(--text-primary);font-size:var(--text-body);font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-card__count{background:var(--accent-glow);border:1px solid rgba(14,165,233,.18);border-radius:999px;color:var(--accent);flex-shrink:0;font-size:var(--text-caption-small);font-weight:500;padding:2px 8px;white-space:nowrap}.subject-card__desc{color:var(--text-muted);font-size:var(--text-subheadline);line-height:var(--text-subheadline-lh);margin-bottom:10px}.subject-card__progress{align-items:center;display:flex;gap:8px}.subject-card__progress-bar{background:var(--bg-secondary);border-radius:999px;flex:1;height:4px;overflow:hidden}.subject-card__progress-fill{background:var(--subject-color,var(--accent));border-radius:999px;height:100%;opacity:.7;transition:width .6s cubic-bezier(.4,0,.2,1)}.subject-card__accuracy{color:var(--text-muted);font-size:var(--text-caption);font-weight:700}.subject-card__arrow{color:var(--accent);flex-shrink:0;opacity:0;transform:translate(-6px);transition:all .25s}.panels{align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:40px;min-width:0}.panel{background:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);min-width:0;padding:var(--card-padding);transition:box-shadow .2s ease,border-color .2s ease}.panel:hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.panel__header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:14px}.panel__header:focus-visible{border-radius:8px;outline:2px solid #0ea5e9;outline-offset:2px}.panel__title{color:#1e293b;font-size:var(--text-body);font-weight:600;letter-spacing:-.02em}.panel__count{color:#64748b;font-size:var(--text-caption);font-weight:500}.panel__list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.panel__item{align-items:center;background:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--card-radius-sm);cursor:pointer;display:flex;gap:12px;min-width:0;padding:var(--card-padding-sm);transition:background .2s ease,box-shadow .2s ease,border-color .2s ease;width:100%}.panel__item:hover{background:var(--card-bg-hover);border-color:var(--card-border-hover);border-left-color:var(--card-border-accent);box-shadow:0 2px 8px #0ea5e914}.panel__item-icon{align-items:center;background:#0ea5e914;border:1px solid rgba(14,165,233,.12);border-radius:10px;color:var(--subject-color,#0ea5e9);display:flex;height:38px;justify-content:center;min-width:38px;transition:all .2s ease;width:38px}.panel__item:hover .panel__item-icon{background:#0ea5e91f;box-shadow:0 2px 10px #0ea5e926}.panel__item-body{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.panel__item-title{color:#334155;font-size:var(--text-subheadline);font-weight:600;letter-spacing:-.01em}.panel__item-desc,.panel__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel__item-desc{color:#64748b;font-size:var(--text-footnote);line-height:var(--text-footnote-lh)}.panel__item-arrow{color:#64748b;flex-shrink:0;opacity:0;transform:translate(-4px);transition:all .2s ease}.panel__item:hover .panel__item-arrow{color:#0ea5e9;opacity:1;transform:translate(0)}.empty-hint{align-items:center;display:flex;flex-direction:column;gap:10px;padding:40px;text-align:center}.empty-hint p{color:var(--text-muted);font-size:var(--text-subheadline)}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;padding:60px 20px;text-align:center}.loading-state p{color:var(--text-muted);font-size:var(--text-subheadline)}.loading-spinner{animation:loadingSpin 1s linear infinite;border:2px solid rgba(14,165,233,.2);border-radius:50%;border-top:2px solid var(--accent);height:24px;width:24px}.auth-page{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;overflow:hidden;padding:24px;position:relative}.auth-grid{background-image:linear-gradient(rgba(14,165,233,.04) 1px,transparent 0),linear-gradient(90deg,rgba(14,165,233,.04) 1px,transparent 0);background-size:48px 48px;inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,#000 40%,transparent 100%);position:absolute}.auth-orb{border-radius:50%;filter:blur(90px);opacity:.15;pointer-events:none;position:absolute}.auth-orb--1{animation:orbFloat 12s ease-in-out infinite alternate;background:radial-gradient(circle,rgba(14,165,233,.15) 0,transparent 70%);height:480px;left:-80px;top:-120px;width:480px}.auth-orb--2{animation:orbFloat 15s ease-in-out infinite alternate-reverse;background:radial-gradient(circle,rgba(124,58,237,.12) 0,transparent 70%);bottom:-80px;height:380px;right:-60px;width:380px}.auth-orb--3{animation:orbFloat 9s ease-in-out infinite alternate;background:radial-gradient(circle,rgba(124,58,237,.08) 0,transparent 70%);height:240px;right:15%;top:50%;width:240px}.auth-scanline{background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.02) 0,rgba(0,0,0,.02) 4px);inset:0;pointer-events:none;position:absolute;z-index:0}.auth-card{animation:cardIn .5s cubic-bezier(.22,1,.36,1);background:var(--card-bg);border:2px solid var(--card-border);border-radius:20px;box-shadow:var(--card-shadow);max-width:430px;padding:40px 38px;position:relative;width:100%;z-index:1}.corner{border-color:#0ea5e94d;border-style:solid;height:18px;position:absolute;width:18px}.corner--tl{border-radius:6px 0 0;border-width:2px 0 0 2px;left:-1px;top:-1px}.corner--tr{border-radius:0 6px 0 0;border-width:2px 2px 0 0;right:-1px;top:-1px}.corner--bl{border-radius:0 0 0 6px;border-width:0 0 2px 2px;bottom:-1px;left:-1px}.corner--br{border-radius:0 0 6px;border-width:0 2px 2px 0;bottom:-1px;right:-1px}.auth-brand{gap:12px;margin-bottom:32px}.auth-brand,.auth-brand__icon{align-items:center;display:flex}.auth-brand__icon{border-radius:10px;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;width:56px}.auth-brand__icon img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.auth-brand__text{display:flex;flex-direction:column;gap:1px}.auth-brand__name{color:var(--text-primary);font-size:var(--text-body);font-weight:600;letter-spacing:-.02em;line-height:1}.auth-brand__tag{color:var(--accent);font-size:var(--text-caption-small);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.auth-header{margin-bottom:26px}.auth-title{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.auth-title__line{color:var(--text-primary)}.auth-title__accent,.auth-title__line{font-size:var(--text-large-title);font-weight:600;letter-spacing:-.02em;line-height:1.2}.auth-title__accent{background:linear-gradient(90deg,#0ea5e9,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{color:var(--text-muted);font-size:var(--text-subheadline)}.auth-tabs{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;display:flex;gap:2px;margin-bottom:28px;padding:3px}.auth-tab{background:transparent;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;flex:1;font-family:inherit;font-size:var(--text-subheadline);font-weight:600;letter-spacing:0;padding:10px 0;position:relative;transition:all .25s}.auth-tab--active{background:var(--bg-card);border:1px solid var(--border);box-shadow:0 1px 3px #0000000f;color:var(--accent)}.auth-form{gap:16px}.auth-form,.form-field{display:flex;flex-direction:column}.form-field{gap:6px}.form-label-row{justify-content:space-between}.form-label,.form-label-row{align-items:center;display:flex}.form-label{color:var(--text-muted);font-size:var(--text-caption);font-weight:500;gap:8px;letter-spacing:.04em;text-transform:uppercase}.form-label__prefix{font-size:var(--text-caption-small);font-variant-numeric:tabular-nums;font-weight:600}.form-forgot,.form-label__prefix{color:var(--accent);letter-spacing:.04em}.form-forgot{font-size:var(--text-caption);text-decoration:none;transition:color .2s}.form-forgot:hover{color:var(--accent-light)}.form-input,.form-input-wrap{position:relative}.form-input{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-family:inherit;font-size:16px;min-height:44px;outline:none;padding:13px 16px;transition:border-color .2s,box-shadow .2s;width:100%;z-index:1}.form-input::-moz-placeholder{color:#94a3b8}.form-input::placeholder{color:#94a3b8}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e91a}.form-input:focus+.input-glow{opacity:0}.input-glow{background:transparent;border-radius:10px;inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s;z-index:0}.form-input--pass{padding-right:44px}.form-eye{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:13px;top:50%;transform:translateY(-50%);transition:color .2s;z-index:2}.form-eye:hover{color:var(--accent)}.form-field--checkbox{margin-top:4px}.form-checkbox{align-items:flex-start;color:var(--text-muted);cursor:pointer;display:flex;font-size:var(--text-caption);font-weight:400;gap:12px;line-height:1.5}.form-checkbox__input{height:0;opacity:0;position:absolute;width:0}.form-checkbox__box{background:var(--bg-card);border:2px solid var(--border);border-radius:4px;flex-shrink:0;height:18px;margin-top:2px;transition:border-color .2s,background .2s;width:18px}.form-checkbox__input:checked+.form-checkbox__box{background:var(--accent);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border-color:var(--accent)}.form-checkbox__input:focus-visible+.form-checkbox__box{outline:2px solid var(--accent);outline-offset:2px}.form-checkbox__label{flex:1}.form-checkbox__link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:color .2s}.form-checkbox__link:hover{color:var(--accent-light)}.auth-error{align-items:flex-start;background:var(--danger-bg);border:1px solid var(--danger-border);border-left:3px solid var(--danger);border-radius:8px;color:var(--danger);display:flex;font-size:var(--text-subheadline);gap:10px;line-height:1.5;padding:12px 15px}.auth-btn{align-items:center;background:var(--btn-bg-primary);border:2px solid var(--btn-border-primary);border-radius:var(--btn-radius-sm);box-shadow:var(--btn-shadow-primary);color:var(--btn-color-primary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-body);font-weight:600;gap:10px;justify-content:center;letter-spacing:.04em;margin-top:4px;overflow:hidden;padding:14px;position:relative;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;width:100%}.auth-btn:hover:not(:disabled){background:var(--btn-bg-primary-hover);border-color:var(--btn-bg-primary-hover);transform:translateY(-1px)}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-glow{background:transparent;inset:0;pointer-events:none;position:absolute}.btn-spinner{animation:spin .7s linear infinite;border:2px solid hsla(0,0%,100%,.25);border-radius:50%;border-top-color:#fff;height:18px;width:18px}.auth-divider{align-items:center;display:flex;gap:12px;margin:22px 0 18px}.auth-divider__line{background:linear-gradient(90deg,transparent,var(--border),transparent);flex:1;height:1px}.auth-divider__text{color:var(--text-muted);font-size:var(--text-caption-small);font-weight:500;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.auth-oauth{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:22px}.oauth-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:9px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-footnote);font-weight:500;gap:8px;justify-content:center;letter-spacing:.04em;padding:11px 12px;transition:all .2s}.oauth-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-focus);color:var(--accent);transform:translateY(-1px)}.oauth-btn:disabled{cursor:not-allowed;opacity:.4}.oauth-btn--loading{opacity:.7}.oauth-spinner{animation:spin .7s linear infinite;border:2px solid rgba(14,165,233,.2);border-radius:50%;border-top:2px solid var(--accent);display:inline-block;height:14px;width:14px}.auth-footer{color:var(--text-muted);font-size:var(--text-footnote);text-align:center}.auth-footer__link{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0;transition:color .2s}.auth-footer__link:hover{color:var(--accent-light)}.quiz-page{min-height:100vh;min-height:100dvh;padding-top:8px;position:relative}.quiz-page .container{padding-top:32px}.quiz-page .loading-spinner{animation:spin .8s linear infinite;border:2px solid rgba(14,165,233,.2);border-radius:50%;border-top:2px solid var(--accent);height:32px;width:32px}.finish-state{padding-bottom:60px}.result-card{background:var(--card-bg);border:2px solid var(--card-border);border-radius:20px;box-shadow:var(--card-shadow);margin:32px 0 24px;overflow:hidden;padding:40px 32px;position:relative;text-align:center}.result-card--corner{border-color:#0ea5e94d;border-style:solid;height:18px;position:absolute;width:18px}.result-card--corner-tl{border-radius:6px 0 0;border-width:2px 0 0 2px;left:0;top:0}.result-card--corner-br{border-radius:0 0 6px;border-width:0 2px 2px 0;bottom:0;right:0}.result-card--excellent{border-color:var(--success-border)}.result-card--good{border-color:#0ea5e940}.result-card--keep-going{border-color:var(--danger-border)}.score-ring{height:100px;margin:0 auto 24px;position:relative;width:100px}.score-ring__svg{height:100%;transform:rotate(-90deg);width:100%}.score-ring__bg{fill:none;stroke:var(--bg-secondary);stroke-width:6}.score-ring__fill{fill:none;stroke-dasharray:213.6;stroke-linecap:round;stroke-width:6;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1) .3s}.score-ring--excellent .score-ring__fill{stroke:#16a34a}.score-ring--good .score-ring__fill{stroke:#0ea5e9}.score-ring--keep-going .score-ring__fill{stroke:#dc2626}.score-ring__text{align-items:center;display:flex;flex-direction:column;gap:1px;inset:0;justify-content:center;position:absolute}.score-ring__value{color:var(--text-primary);font-size:var(--text-large-title);font-weight:700;letter-spacing:-.03em;line-height:1}.score-ring__label{color:var(--text-muted);font-size:var(--text-caption-small);letter-spacing:.04em;text-transform:uppercase}.result-title{color:var(--text-primary);font-size:var(--text-title-2);font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.result-sub{color:var(--text-muted);font-size:var(--text-subheadline);margin-bottom:28px}.result-sub strong{color:var(--accent);font-weight:700}.result-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.result-actions--stacked{align-items:stretch;flex-direction:column}.result-actions--stacked .result-btn{justify-content:center}.result-btn{align-items:center;border:2px solid var(--btn-border);border-radius:var(--btn-radius-sm);box-shadow:var(--btn-shadow);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-subheadline);font-weight:600;gap:8px;padding:var(--btn-padding);text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.result-btn,.result-btn--ghost{background:var(--btn-bg);color:var(--btn-color)}.result-btn--ghost{border-color:var(--btn-border)}.result-btn--ghost:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover);box-shadow:var(--btn-shadow-hover);color:var(--btn-color-hover);transform:translateY(-1px)}.result-btn--primary{background:var(--btn-bg-primary);border-color:var(--btn-border-primary);box-shadow:var(--btn-shadow-primary);color:var(--btn-color-primary)}.result-btn--primary:hover{background:var(--btn-bg-primary-hover);border-color:var(--btn-bg-primary-hover);transform:translateY(-1px)}.difficulty-options{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:20px 0 24px}.difficulty-btn{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:var(--text-subheadline);font-weight:600;gap:4px;padding:16px 12px;transition:all .2s}.difficulty-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-focus)}.difficulty-btn:disabled{cursor:not-allowed;opacity:.5}.difficulty-btn--selected{background:#0ea5e914;border-color:var(--accent);color:var(--accent)}.difficulty-btn--easy.difficulty-btn--selected{background:#05966914;border-color:#059669;color:#059669}.difficulty-btn--medium.difficulty-btn--selected{background:#d9770614;border-color:#d97706;color:#d97706}.difficulty-btn--hard.difficulty-btn--selected{background:#dc262614;border-color:#dc2626;color:#dc2626}.difficulty-btn__label{font-size:var(--text-subheadline)}.difficulty-btn__count{font-size:var(--text-caption);font-weight:500;opacity:.8}.review-section{margin-top:8px}.section-label{align-items:center;display:flex;gap:12px;margin-bottom:16px}.section-label__line{background:linear-gradient(90deg,transparent,var(--border),transparent);flex:1;height:1px}.section-label__text{color:var(--text-muted);font-size:var(--text-caption-small);font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.review-card{background:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--card-radius-sm);box-shadow:var(--card-shadow);margin-bottom:12px;padding:20px}.review-question{color:var(--text-primary);font-size:var(--text-body);font-weight:500;line-height:1.5;margin-bottom:12px}.review-answers{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.review-answer{align-items:center;border-radius:8px;display:flex;font-size:var(--text-subheadline);gap:8px;padding:8px 12px}.review-answer--wrong{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.review-answer--correct{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.review-explanation{background:#0ea5e90a;border-left:3px solid rgba(14,165,233,.4);border-radius:8px;color:var(--text-secondary);font-size:var(--text-subheadline);line-height:1.5;margin-top:12px;padding:16px}.review-explanation__label{color:var(--accent);font-size:var(--text-caption);font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.review-explanation__text{color:var(--text-secondary);font-size:var(--text-subheadline);line-height:1.5;margin-bottom:8px}.review-explanation__legal{background:var(--accent-glow);border-radius:6px;color:var(--accent);display:inline-block;font-size:var(--text-footnote);font-weight:600;padding:6px 10px}.quiz-topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.quiz-back{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);display:inline-flex;font-size:var(--text-subheadline);font-weight:500;gap:7px;padding:8px 14px;text-decoration:none;transition:all .2s}.quiz-back:hover{background:var(--bg-card-hover);border-color:var(--border-focus);color:var(--accent)}.quiz-info{align-items:center;display:flex;gap:12px}.quiz-subject-tag{background:var(--accent-glow);border:1px solid rgba(14,165,233,.2);border-radius:999px;color:var(--accent);font-size:var(--text-caption);font-weight:600;letter-spacing:.04em;padding:4px 12px;text-transform:uppercase}.quiz-counter{color:var(--accent);font-size:var(--text-body);font-weight:700;letter-spacing:-.01em}.quiz-counter__total{color:var(--text-muted);font-weight:400}.quiz-progress{background:var(--bg-secondary);border-radius:999px;height:3px;margin-bottom:24px;overflow:hidden}.quiz-progress__fill{background:linear-gradient(90deg,#0ea5e9,#6366f1);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.quiz-card-layout{align-items:center;display:flex;gap:20px;margin-bottom:0}.quiz-nav-arrow{align-items:center;background:var(--btn-bg);border:2px solid var(--btn-border-hover);border-radius:50%;box-shadow:var(--btn-shadow);color:var(--btn-bg-primary);cursor:pointer;display:flex;flex-shrink:0;height:48px;justify-content:center;position:relative;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;width:48px;z-index:2}.quiz-nav-arrow:hover:not(:disabled){background:var(--btn-bg-primary);border-color:var(--btn-border-primary);box-shadow:var(--btn-shadow-primary);color:var(--btn-color-primary);transform:scale(1.05)}.quiz-nav-arrow:active:not(:disabled){transform:scale(.98)}.quiz-nav-arrow:disabled{color:#64748b;cursor:not-allowed;opacity:.35}.quiz-card-layout .question-card{flex:1;min-width:0}@media(max-width:767px){.quiz-card-layout{flex-direction:column;gap:0}.quiz-nav-arrow{display:none}}.question-card{background:var(--card-bg);border:2px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);padding:32px 28px;position:relative}.qc-corner{border-color:#0ea5e94d;border-style:solid;height:16px;position:absolute;width:16px}.qc-corner--tl{border-radius:6px 0 0;border-width:2px 0 0 2px;left:-1px;top:-1px}.qc-corner--tr{border-radius:0 6px 0 0;border-width:2px 2px 0 0;right:-1px;top:-1px}.qc-corner--bl{border-radius:0 0 0 6px;border-width:0 0 2px 2px;bottom:-1px;left:-1px}.qc-corner--br{border-radius:0 0 6px;border-width:0 2px 2px 0;bottom:-1px;right:-1px}.question-topic{color:var(--accent);font-size:var(--text-caption);font-weight:600;letter-spacing:.04em;margin-bottom:12px;text-transform:uppercase}.question-text{color:var(--text-primary);font-size:var(--text-title-3);font-weight:500;letter-spacing:-.01em;line-height:1.55;margin-bottom:24px}.quiz-page .options-list{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}.quiz-page .option-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-body);gap:13px;line-height:1.3;padding:14px 18px;position:relative;text-align:left;transition:all .2s;width:100%}.quiz-page .option-btn:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--border-focus);color:var(--text-primary)}.quiz-page .option-btn:disabled{cursor:default}.quiz-page .option-btn--selected{background:var(--accent-glow)!important;border-color:var(--accent)!important;color:var(--accent)!important}.quiz-page .option-btn--correct{background:var(--success-bg)!important;border-color:var(--success)!important;color:var(--success)!important}.quiz-page .option-btn--wrong{background:var(--danger-bg)!important;border-color:var(--danger)!important;color:var(--danger)!important}.quiz-page .option-letter{align-items:center;background:var(--accent-glow);border:1px solid rgba(14,165,233,.2);border-radius:6px;color:var(--accent);display:flex;font-size:var(--text-caption);font-weight:700;height:26px;justify-content:center;letter-spacing:0;min-width:26px;width:26px}.option-text{flex:1;line-height:var(--text-caption-lh)}.option-icon{align-items:center;display:flex;flex-shrink:0;margin-left:auto}.option-icon--correct{color:var(--success)}.option-icon--wrong{color:var(--danger)}.explanation{border-left:3px solid;border-radius:10px;margin-bottom:20px;padding:16px 18px}.explanation--correct{background:var(--success-bg);border-color:var(--success)}.explanation--wrong{background:var(--danger-bg);border-color:var(--danger)}.explanation__label{font-size:var(--text-caption);font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.explanation--correct .explanation__label{color:var(--success)}.explanation--wrong .explanation__label{color:var(--danger)}.explanation__text{color:var(--text-secondary);font-size:var(--text-subheadline);line-height:1.5;margin-bottom:8px}.explanation__legal{background:var(--accent-glow);border-left:2px solid rgba(14,165,233,.4);border-radius:6px;color:var(--accent);font-size:var(--text-footnote);font-weight:600;padding:6px 12px}.next-row{display:flex;justify-content:flex-end}.quiz-page .next-row{justify-content:center;margin-top:16px}.next-btn{align-items:center;background:var(--btn-bg-primary);border:2px solid var(--btn-border-primary);border-radius:var(--btn-radius-sm);box-shadow:var(--btn-shadow-primary);color:var(--btn-color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-subheadline);font-weight:600;gap:9px;padding:var(--btn-padding-lg);transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.next-btn:hover{background:var(--btn-bg-primary-hover);border-color:var(--btn-bg-primary-hover);transform:translateY(-1px)}.collections-link{align-items:center;background:var(--accent-glow);border:1px solid rgba(14,165,233,.15);border-radius:999px;color:var(--accent);display:inline-flex;font-size:var(--text-footnote);font-weight:600;gap:7px;margin-top:18px;padding:9px 16px;text-decoration:none;transition:all .2s}.collections-link:hover{background:#0ea5e926;border-color:#0ea5e94d;color:var(--accent-light)}.bookmark-btn{align-items:center;background:var(--accent-glow);border:1px solid rgba(14,165,233,.15);border-radius:7px;color:var(--accent);cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;transition:all .2s;width:28px}.panel__item:hover .bookmark-btn,.subject-card:hover .bookmark-btn{opacity:1}.bookmark-btn:hover{background:#0ea5e926;color:var(--accent-light)}.toast{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;bottom:calc(28px + env(safe-area-inset-bottom,0px));box-shadow:0 8px 32px #0000001f;color:var(--accent);display:inline-flex;font-size:var(--text-subheadline);font-weight:600;gap:8px;left:50%;padding:10px 18px;position:fixed;transform:translate(-50%);white-space:nowrap;z-index:200}.toast-enter-active,.toast-leave-active{transition:all .3s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(12px)}.modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0006;display:flex;inset:0;justify-content:center;padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));position:fixed;z-index:100;-webkit-overflow-scrolling:touch;overflow-y:auto}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 80px #00000026;display:flex;flex-direction:column;gap:14px;max-height:70vh;max-width:380px;padding:24px;width:100%}.modal__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.modal__label{color:var(--accent);font-size:var(--text-caption-small);font-weight:600;letter-spacing:.04em;margin-bottom:3px;text-transform:uppercase}.modal__title{color:var(--text-primary);font-size:var(--text-body);font-weight:600}.modal__close{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:7px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.modal__close:hover{color:var(--text-primary)}.modal-create-row{display:flex;gap:8px}.modal-input{background:var(--bg-card);border:1px solid var(--border);border-radius:9px;color:var(--text-primary);flex:1;font-family:inherit;font-size:var(--text-subheadline);padding:10px 13px;transition:border-color .2s}.modal-input::-moz-placeholder{color:#94a3b8}.modal-input::placeholder{color:#94a3b8}.modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.modal-create-btn{align-items:center;background:var(--accent);border:none;border-radius:9px;color:#fff;cursor:pointer;display:flex;height:38px;justify-content:center;min-width:38px;transition:opacity .2s;width:38px}.modal-create-btn:disabled{cursor:not-allowed;opacity:.4}.modal-empty{color:var(--text-muted);font-size:var(--text-footnote);line-height:1.5;padding:12px 0;text-align:center}.modal-collection-list{overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:6px}.modal-col-item{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:11px 13px;text-align:left;transition:all .15s}.modal-col-item:hover:not(:disabled){background:var(--accent-glow);border-color:#0ea5e940}.modal-col-item:disabled{cursor:not-allowed;opacity:.5}.modal-col-item__emoji{font-size:var(--text-headline);line-height:1}.modal-col-item__info{flex:1;min-width:0}.modal-col-item__name{color:var(--text-primary);font-size:var(--text-subheadline);font-weight:600}.modal-col-item__count{color:var(--text-muted);font-size:var(--text-caption);margin-top:1px}.modal-col-item__add{color:var(--text-muted);flex-shrink:0}.modal-col-item:hover .modal-col-item__add{color:var(--accent)}.ica-choice-modal{max-width:380px}.ica-choice-modal__sub{color:var(--text-muted);font-size:var(--text-subheadline);line-height:1.4;margin-bottom:16px}.ica-choice-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.ica-choice-btn{align-items:flex-start;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:2px;padding:12px 14px;text-align:left;transition:all .15s}.ica-choice-btn:hover{background:var(--bg-card-hover);border-color:var(--border-focus)}.ica-choice-btn__label{color:var(--text-primary);font-size:var(--text-subheadline);font-weight:600}.ica-choice-btn__count{color:var(--text-muted);font-size:var(--text-caption)}.modal__footer{display:flex;gap:8px;justify-content:flex-end}.auth-confirm-modal{max-width:400px;text-align:center}.auth-confirm-modal__icon{align-items:center;background:var(--accent-glow);border-radius:50%;color:var(--accent);display:flex;height:56px;justify-content:center;margin:0 auto 20px;width:56px}.auth-confirm-modal__title{color:var(--text-primary);font-size:var(--text-title-3);font-weight:600;margin-bottom:12px}.auth-confirm-modal__text{color:var(--text-muted);font-size:var(--text-subheadline);line-height:1.55;margin-bottom:24px}.auth-confirm-modal__email{color:var(--text-primary);font-weight:600;word-break:break-all}.auth-confirm-modal__btn{background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:inherit;font-size:var(--text-subheadline);font-weight:600;padding:12px 24px;transition:all .2s;width:100%}.auth-confirm-modal__btn:hover{background:#1d4ed8}.modal-enter-active,.modal-leave-active{transition:all .2s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal,.modal-leave-to .modal{transform:scale(.95) translateY(8px)}@media(max-width:768px){.container{padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.container--wide{max-width:100%}.panels{grid-template-columns:1fr}.header-nav{display:none}.app-main{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px));padding-top:var(--safe-area-top)}.mobile-bottom-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#f8fafcf2;border-top:1px solid var(--border);bottom:0;display:flex;left:0;overflow:hidden;padding:10px env(safe-area-inset-right,0) calc(10px + env(safe-area-inset-bottom,0px)) env(safe-area-inset-left,0);position:fixed;right:0;z-index:200}.mobile-bottom-nav__scroll{align-items:center;display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:0 8px;width:100%}.mobile-bottom-nav__scroll::-webkit-scrollbar{display:none}.mobile-nav-item{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;font-family:inherit;gap:2px;justify-content:center;min-height:44px;min-width:84px;padding:8px 10px;text-decoration:none;transition:color .2s;-webkit-tap-highlight-color:transparent}.mobile-nav-item--active{color:var(--accent)}.mobile-nav-item--active .mobile-nav-icon{stroke-width:2.5}.mobile-nav-item--logout{color:var(--danger)}.mobile-nav-icon{flex-shrink:0;height:22px;width:22px}.mobile-nav-label{font-size:var(--text-caption-small);font-weight:500;line-height:1.2;text-align:center;white-space:nowrap}.hero{padding:32px 0 24px}.hero__title{font-size:var(--text-title-1)}.hero__bottom-row{align-items:stretch;flex-direction:column;gap:12px;margin-top:10px}.hero__subtitle{font-size:var(--text-subheadline);line-height:1.35;max-width:none;min-width:0}.stats-bar{align-items:stretch;flex-direction:column;gap:0;padding:16px}.stat-divider{height:1px;margin:12px 0;width:100%}.stat-item{justify-content:flex-start}.subject-stats-grid{gap:12px;grid-template-columns:1fr}.subject-stat-card{padding:16px}.panel{padding:20px}.panel__item{padding:11px 12px}.question-card{padding:24px 18px}.question-text{font-size:var(--text-body);line-height:1.55}.quiz-page .option-btn{font-size:var(--text-subheadline);padding:12px 14px}.result-card{padding:28px 20px}.result-title{font-size:var(--text-title-3)}.result-actions{align-items:stretch;flex-direction:column}.result-btn{justify-content:center}.auth-card{border-radius:16px;padding:28px 24px}.auth-title__accent,.auth-title__line{font-size:var(--text-title-1)}.auth-oauth{gap:6px;grid-template-columns:1fr 1fr}}@media(max-width:480px){.hero--with-stats{gap:12px;grid-template-columns:1fr}.hero__platform-stats{margin-top:0}.platform-stats-card{min-width:0}.platform-stats-card__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:430px){.container{padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.app-main{padding-top:8px}.app-header__inner{justify-content:center}.hero{padding:6px 0 16px}.hero__greeting{margin-top:0}.hero__tag{font-size:var(--text-caption-small);margin-bottom:6px}.hero__title{font-size:var(--text-title-2);gap:2px;margin-bottom:6px}.hero__subtitle{font-size:var(--text-subheadline);line-height:1.35}.dashboard-stats{margin-bottom:24px}.stats-bar{border-radius:10px;padding:12px}.stat-item__value{font-size:var(--text-headline)}.stat-item__label{font-size:var(--text-caption)}.stat-divider{margin:8px 0}.stats-toggle{font-size:var(--text-caption);gap:6px;padding:7px 12px}.subject-stat-card__stats{gap:8px}.subject-stat-card__stat-value{font-size:var(--text-subheadline)}.app-header{padding:10px 0}.app-logo__icon{border-radius:7px;height:40px;width:40px}.app-logo__name{font-size:var(--text-title-3)}.bookmark-btn{opacity:1}.collections-link{justify-content:center;width:100%}.panel{border-radius:14px;padding:16px}.panel__header{margin-bottom:12px;padding-bottom:12px}.panel__title{font-size:var(--text-subheadline)}.panel__count{font-size:var(--text-caption-small)}.panel__item{gap:10px;padding:8px}.panel__item-arrow{display:none}.panel__item-icon{border-radius:6px;height:32px;min-width:32px;width:32px}.panel__item-icon svg{height:14px;width:14px}.panel__item-title{font-size:var(--text-subheadline)}.panel__item-desc{font-size:var(--text-caption)}.section-header__text,.section-label__text{font-size:var(--text-caption-small)}.question-card{border-radius:14px;padding:20px 14px}.question-topic{font-size:var(--text-caption-small)}.question-text{font-size:var(--text-callout);line-height:1.55;margin-bottom:18px}.quiz-topbar{flex-wrap:wrap;gap:8px}.quiz-back{font-size:var(--text-footnote);padding:6px 10px}.quiz-subject-tag{font-size:var(--text-caption-small);padding:3px 8px}.quiz-counter,.quiz-page .option-btn{font-size:var(--text-subheadline)}.quiz-page .option-btn{gap:10px;padding:11px 12px}.quiz-page .option-letter{font-size:var(--text-caption-small);height:22px;min-width:22px;width:22px}.explanation{padding:12px 14px}.explanation__text{font-size:var(--text-subheadline)}.explanation__legal{font-size:var(--text-caption)}.next-btn{font-size:var(--text-subheadline);justify-content:center;padding:12px 18px;width:100%}.next-row{justify-content:stretch}.result-card{border-radius:14px;margin:20px 0 16px;padding:24px 16px}.score-ring{height:80px;margin-bottom:16px;width:80px}.score-ring__value{font-size:var(--text-title-1)}.result-title{font-size:var(--text-headline)}.result-sub{margin-bottom:20px}.result-btn,.result-sub{font-size:var(--text-subheadline)}.result-btn{padding:10px 16px}.review-card{border-radius:10px;padding:14px}.review-question{font-size:var(--text-subheadline)}.review-answer{font-size:var(--text-footnote);padding:6px 10px}.review-explanation{padding:12px}.review-explanation__text{font-size:var(--text-subheadline)}.auth-page{padding:16px}.auth-card{border-radius:14px;padding:24px 18px}.auth-brand__icon{height:34px;width:34px}.auth-brand__name{font-size:var(--text-subheadline)}.auth-brand__tag{font-size:var(--text-caption-small)}.auth-title__accent,.auth-title__line{font-size:var(--text-title-2)}.auth-subtitle{font-size:var(--text-subheadline)}.auth-tabs{margin-bottom:20px}.auth-tab{font-size:var(--text-subheadline);padding:8px 0}.form-input{font-size:var(--text-callout);padding:11px 14px}.auth-btn{font-size:var(--text-subheadline);padding:12px}.auth-oauth{gap:6px;grid-template-columns:1fr 1fr}.oauth-btn{gap:6px;padding:9px 8px}.auth-footer,.oauth-btn{font-size:var(--text-caption)}.auth-divider{margin:16px 0 14px}.toast{line-height:1.35;max-width:calc(100vw - 24px);text-align:center;white-space:normal}.modal-overlay{padding:12px}.modal{border-radius:14px;max-height:82dvh;max-height:82vh;max-width:100%;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px))}.modal-create-row{flex-direction:column}.modal-create-btn{height:40px;width:100%}.empty-hint{padding:24px}.empty-hint p{font-size:var(--text-subheadline)}.corner{height:14px;width:14px}.qc-corner{height:12px;width:12px}}@media(max-width:390px){.app-logo__name{font-size:var(--text-title-3)}.hero__title{font-size:var(--text-title-2)}.panel__item{gap:8px;padding:8px 7px}.question-card{padding:16px 12px}.quiz-page .option-btn{font-size:var(--text-footnote);padding:10px}.result-card{padding:20px 12px}}@media(max-width:360px){.container{padding:0 10px}.panel__item-title{font-size:var(--text-footnote)}.panel__item-desc{font-size:var(--text-caption-small)}}
