:root{--primary:#4f46e5;--primary-hover:#6366f1;--primary-active:#4338ca;--color-primary-tint:#ede9fe;--text-main:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--text-disabled:#cbd5e0;--bg-body:#f8fafc;--bg-card:#fff;--bg-card-back:#f1f5f9;--bg-elevated:#f8fafc;--border-color:#e2e8f0;--border-color-hover:#cbd5e0;--success-bg:#d1fae5;--success-text:#065f46;--success-border:#a7f3d0;--error-bg:#fee2e2;--error-text:#991b1b;--error-border:#fecaca;--color-selected-bg:#eff6ff;--color-selected-border:#e0e7ff;--color-hover-bg:#f1f5f9;--color-subtle-bg:#f8fafc;--color-card-active-bg:#e2e6ed;--color-scrollbar:#cbd5e0;--color-scrollbar-hover:#94a3b8;--color-modal-backdrop:rgba(15,23,42,0.65);--color-toast-bg:rgba(15,23,42,0.88);--color-toast-text:#fff;--color-toggle-off:#cbd5e0;--color-input-bg:#fff;--color-input-hover:#f1f5f9;--color-input-active:#e5eaf0;--color-input-disabled:#f8fafc;--color-tap-overlay:rgba(0,0,0,0.15);--color-nav-overlay:rgba(255,255,255,0.15);--color-nav-overlay-hover:rgba(255,255,255,0.25);--color-nav-overlay-active:rgba(255,255,255,0.35);--color-nav-border:rgba(255,255,255,0.25);--color-nav-border-hover:rgba(255,255,255,0.40);--color-progress-bar:rgba(255,255,255,0.9);--color-progress-bar-glow:rgba(255,255,255,0.6);--color-header-bg:rgba(248,250,252,0.88);--color-counter:var(--primary);--color-warning:#f59e0b;--color-danger:#ef4444;--color-btn-stop:#ef4444;--color-btn-stop-hover:#b91c1c;--color-btn-loop:#10b981;--color-btn-loop-hover:#059669;--color-choice-correct-bg:#48bb78;--color-choice-correct-border:#38a169;--color-choice-incorrect-bg:#f56565;--color-choice-incorrect-border:#e53e3e;--color-answer-correct-bg:#efe;--color-answer-correct-border:#cfc;--color-answer-correct-text:#14532d;--color-answer-wrong-bg:#fee;--color-answer-wrong-border:#fcc;--color-answer-wrong-text:#7f1d1d;--color-slideshow-reveal-bg:#48bb78;--color-slideshow-reveal-border:#38a169;--color-btn-again:#ef4444;--color-btn-again-hover:#dc2626;--color-btn-good:#f59e0b;--color-btn-good-hover:#d97706;--color-btn-easy:#10b981;--color-btn-easy-hover:#059669;--color-sr-new:#3b82f6;--color-sr-learning:#f59e0b;--color-sr-completed:#10b981;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2.25rem;--line-height-tight:1.25;--line-height-base:1.5;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--border-radius-sm:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1);--shadow-xl:0 25px 50px -12px rgba(0,0,0,0.25);--transition-fast:.1s ease-out;--transition-base:.2s ease-out;--transition-slow:.3s ease-out;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px}[data-theme="dark"]{--primary-hover:#7c7ff5;--primary-active:#3d3ab8;--color-primary-tint:rgba(79,70,229,0.15);--text-main:#e6e8ee;--text-muted:#9aa3b2;--text-subtle:#6b7280;--text-disabled:#4b5563;--bg-body:#151821;--bg-card:#1b1f2a;--bg-card-back:#202534;--bg-elevated:#242a3a;--border-color:rgba(255,255,255,0.06);--border-color-hover:rgba(255,255,255,0.12);--success-bg:#0c2e25;--success-text:#34d399;--success-border:rgba(52,211,153,0.3);--error-bg:#3a1414;--error-text:#f87171;--error-border:rgba(248,113,113,0.3);--color-selected-bg:rgba(139,140,248,0.12);--color-selected-border:rgba(139,140,248,0.35);--color-hover-bg:#202534;--color-subtle-bg:#171b24;--color-card-active-bg:#13161f;--color-scrollbar:#343a4a;--color-scrollbar-hover:#4a5164;--color-modal-backdrop:rgba(10,12,18,0.75);--color-toast-bg:rgba(30,34,48,0.92);--color-toast-text:#e6e8ee;--color-toggle-off:#343a4a;--color-input-bg:#242a3a;--color-input-hover:#2a3144;--color-input-active:#303850;--color-input-disabled:#1e2333;--color-tap-overlay:rgba(255,255,255,0.15);--color-progress-bar:var(--primary-hover);--color-progress-bar-glow:rgba(163,166,251,0.5);--color-header-bg:rgba(21,24,33,0.88);--color-counter:var(--text-main);--color-warning:#fbbf24;--color-danger:#f87171;--color-btn-stop:#8b2525;--color-btn-stop-hover:#7a1f1f;--color-btn-loop:#1a6b45;--color-btn-loop-hover:#155c3a;--color-choice-correct-bg:#276749;--color-choice-correct-border:#2f855a;--color-choice-incorrect-bg:#c53030;--color-choice-incorrect-border:#9b2c2c;--color-answer-correct-bg:#0c2e25;--color-answer-correct-border:rgba(52,211,153,0.3);--color-answer-correct-text:#6ee7b7;--color-answer-wrong-bg:#3a1414;--color-answer-wrong-border:rgba(248,113,113,0.3);--color-answer-wrong-text:#fca5a5;--color-slideshow-reveal-bg:#276749;--color-slideshow-reveal-border:#2f855a;--color-btn-again:#8b2525;--color-btn-again-hover:#7a1f1f;--color-btn-good:#92600a;--color-btn-good-hover:#7a5009;--color-btn-easy:#1a6b45;--color-btn-easy-hover:#155c3a;--color-sr-new:#60a5fa;--color-sr-learning:#fbbf24;--color-sr-completed:#34d399;--shadow-sm:0 1px 2px rgba(0,0,0,0.35);--shadow-md:0 6px 12px rgba(0,0,0,0.45);--shadow-lg:0 14px 28px rgba(0,0,0,0.5);--shadow-xl:0 32px 64px rgba(0,0,0,0.6)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;touch-action:manipulation}*:focus{outline:none}*:focus-visible{outline:none}html{overflow-x:hidden;scroll-behavior:smooth;scrollbar-gutter:stable}body{font-family:var(--font-family);background-color:var(--bg-body);color:var(--text-main);min-height:100vh;display:flex;flex-direction:column;padding:0 var(--space-md);padding-top:80px;line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;overflow-x:hidden}body>main{flex:1}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) transparent}@supports(-webkit-touch-callout:none){body{padding-top:80px}}.container{max-width:1200px;margin:0 auto;width:100%}@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-main)}h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:-0.03em}@media(min-width:768px){h1{font-size:var(--font-size-3xl)}}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{color:var(--text-muted);line-height:var(--line-height-base)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.m-0{margin:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mr-0{margin-right:0}.mt-1{margin-top:var(--space-xs)}.mb-1{margin-bottom:var(--space-xs)}.ml-1{margin-left:var(--space-xs)}.mr-1{margin-right:var(--space-xs)}.mt-2{margin-top:var(--space-sm)}.mb-2{margin-bottom:var(--space-sm)}.ml-2{margin-left:var(--space-sm)}.mr-2{margin-right:var(--space-sm)}.mt-3{margin-top:var(--space-md)}.mb-3{margin-bottom:var(--space-md)}.ml-3{margin-left:var(--space-md)}.mr-3{margin-right:var(--space-md)}.mt-4{margin-top:var(--space-lg)}.mb-4{margin-bottom:var(--space-lg)}.ml-4{margin-left:var(--space-lg)}.mr-4{margin-right:var(--space-lg)}.mt-5{margin-top:var(--space-xl)}.mb-5{margin-bottom:var(--space-xl)}.ml-5{margin-left:var(--space-xl)}.mr-5{margin-right:var(--space-xl)}.p-0{padding:0}.pt-0{padding-top:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pr-0{padding-right:0}.pt-1{padding-top:var(--space-xs)}.pb-1{padding-bottom:var(--space-xs)}.pl-1{padding-left:var(--space-xs)}.pr-1{padding-right:var(--space-xs)}.pt-2{padding-top:var(--space-sm)}.pb-2{padding-bottom:var(--space-sm)}.pl-2{padding-left:var(--space-sm)}.pr-2{padding-right:var(--space-sm)}.pt-3{padding-top:var(--space-md)}.pb-3{padding-bottom:var(--space-md)}.pl-3{padding-left:var(--space-md)}.pr-3{padding-right:var(--space-md)}.pt-4{padding-top:var(--space-lg)}.pb-4{padding-bottom:var(--space-lg)}.pl-4{padding-left:var(--space-lg)}.pr-4{padding-right:var(--space-lg)}.pt-5{padding-top:var(--space-xl)}.pb-5{padding-bottom:var(--space-xl)}.pl-5{padding-left:var(--space-xl)}.pr-5{padding-right:var(--space-xl)}button,a,[role="button"],.btn,.ctrl-btn,.dataset-card,.navigator-btn,.back-btn,.topic-item,.sm-tab,.sm-select-all,.sm-count-btn,.sm-max-btn,.navbar-brand,.navbar-dataset-selector,.navbar-icon-btn,.settings-close-btn,.settings-logout-btn,.submit-quiz-btn,.choice-btn,.choice-solution-btn,.scroll-top-btn,.mistake-solution-btn,.timer-inner,#show-answer-btn,.rating-buttons .btn,.topic-select,.mobile-page-select,.topic-dropdown{touch-action:manipulation!important}#suma-progress-bar{position:fixed;top:0;left:0;height:3px;width:0;z-index:99999;pointer-events:none;background:var(--color-progress-bar);box-shadow:0 0 8px var(--color-progress-bar-glow)}#suma-progress-bar.done{transition:none!important}@keyframes sm-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.sm-shake{animation:sm-shake .35s ease}.sm-validation.error{color:var(--color-danger)!important}#toast-container{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:99999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{background:var(--color-toast-bg);color:var(--color-toast-text);padding:10px 20px;border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-8px);transition:opacity var(--transition-base),transform var(--transition-base);white-space:nowrap}.toast--visible{opacity:1;transform:translateY(0)}.toast--error{background:var(--color-danger);color:white}.toast--success{background:var(--color-btn-easy);color:white}.is-tapped{filter:brightness(0.85)!important;transition:none!important}.dataset-card.is-tapped{filter:brightness(0.97)!important}.navigator-btn.is-tapped::before{content:'';position:absolute;inset:0;background:var(--color-tap-overlay);border-radius:inherit;pointer-events:none;z-index:1}.sm-image-notice{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-lg);height:44px;border-radius:var(--border-radius-full);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border:1px solid transparent;cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease,filter 150ms ease;font-family:var(--font-family);user-select:none;white-space:nowrap;line-height:1;background-color:var(--primary);color:white;box-shadow:var(--shadow-sm);text-decoration:none;-webkit-tap-highlight-color:transparent}@media(hover:hover) and (pointer:fine){.btn:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md)}}.btn:active,.btn.is-tapped{background-color:var(--primary-active);filter:brightness(0.88);transition:none}.btn.is-tapped:hover{background-color:var(--primary-active)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--secondary{background-color:var(--text-muted);color:white}@media(hover:hover) and (pointer:fine){.btn--secondary:hover{filter:brightness(1.08)}}.btn.btn--secondary:active,.btn.btn--secondary.is-tapped{background-color:var(--text-muted);filter:brightness(0.9);transition:none}.btn--outline{background:transparent;border-color:var(--border-color);color:var(--text-main)}@media(hover:hover) and (pointer:fine){.btn--outline:hover{background:var(--color-hover-bg);border-color:var(--border-color-hover)}}.btn.btn--outline:active,.btn.btn--outline.is-tapped{background-color:var(--bg-card);filter:brightness(0.9);transition:none}.btn--success{background-color:#10b981}@media(hover:hover) and (pointer:fine){.btn--success:hover{filter:brightness(1.08)}}.btn.btn--success:active,.btn.btn--success.is-tapped{background-color:#10b981;filter:brightness(0.9);transition:none}.btn--danger{background-color:#ef4444}@media(hover:hover) and (pointer:fine){.btn--danger:hover{filter:brightness(1.08)}}.btn.btn--danger:active,.btn.btn--danger.is-tapped{background-color:#ef4444;filter:brightness(0.9);transition:none}.btn--sm{height:36px;padding:0 var(--space-md);font-size:var(--font-size-xs)}.btn--lg{height:48px;padding:0 var(--space-xl);font-size:var(--font-size-base)}.btn--icon{width:36px;height:36px;padding:0;border-radius:var(--border-radius-md)}.btn--block{width:100%}.btn--nav{background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);color:white}@media(hover:hover) and (pointer:fine){.btn--nav:hover{background:rgba(255,255,255,0.25);border-color:rgba(255,255,255,0.4)}}.btn--nav:active{background:rgba(255,255,255,0.35);border-color:rgba(255,255,255,0.5)}.btn--page{min-width:40px;height:40px;padding:0 var(--space-md);border-radius:var(--border-radius-md);background:var(--color-input-bg);border:1px solid var(--border-color);color:var(--text-main)}@media(hover:hover) and (pointer:fine){.btn--page:hover:not(:disabled):not(.active){background:var(--color-input-hover);border-color:var(--border-color-hover)}}.btn--page:active:not(.active),.btn--page.is-tapped:not(.active){background:var(--color-input-active);filter:brightness(0.92);transition:none}.btn--page.active{background:var(--primary);color:white;border-color:var(--primary);cursor:default;pointer-events:none}.btn--page:disabled{opacity:.5;background:var(--color-input-disabled)}.flashcard{position:relative;cursor:pointer;perspective:1200px;height:100%;display:flex;flex-direction:column;transition:transform .1s ease;min-width:0}@media(hover:hover) and (pointer:fine){.flashcard:hover{transform:translateY(-2px)}}.flashcard-inner{position:relative;width:100%;flex:1;transform-style:preserve-3d;transition:transform .15s cubic-bezier(0.4,0,0.2,1)}.flashcard.flipped .flashcard-inner{transform:rotateX(180deg)}.flashcard-front{position:relative;width:100%;height:100%;padding:var(--space-lg);border-radius:var(--border-radius-xl);border:1px solid var(--border-color);background:var(--bg-card);box-shadow:var(--shadow-sm);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateX(0deg);overflow-y:auto}@media(hover:hover) and (pointer:fine){.flashcard:hover .flashcard-front{border-color:var(--border-color-hover);box-shadow:var(--shadow-md)}}.flashcard-back{position:absolute;top:0;left:0;width:100%;height:100%;padding:var(--space-lg);border-radius:var(--border-radius-xl);border:1px solid var(--border-color);background:var(--bg-card-back);box-shadow:var(--shadow-sm);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateX(180deg);display:flex;align-items:center;justify-content:center;overflow-y:auto}.card-content{text-align:left;width:100%}.flashcard-back .card-content{text-align:center}.question-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--primary);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.question-text{font-size:var(--font-size-base);line-height:var(--line-height-base);margin-bottom:var(--space-md);color:var(--text-main)}.choices{list-style:none;padding:0;margin:0}.choices li{font-size:var(--font-size-sm);color:var(--text-main);padding:3px 0}.answer{font-size:var(--font-size-xl);color:var(--text-main);font-weight:var(--font-weight-bold);text-align:center;margin-bottom:5px}[data-theme="dark"] .choices li{color:var(--text-main)}body.modal-open,html:has(body.modal-open){overflow:hidden;touch-action:none}body.settings-panel-open,html:has(body.settings-panel-open){overflow:hidden;touch-action:none}.modal-overlay{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:var(--color-modal-backdrop);font-family:var(--font-family);overscroll-behavior:contain;touch-action:none;animation:modalFadeIn .15s ease-out}.modal-overlay.open{display:flex!important;align-items:center;justify-content:center}.modal{background-color:var(--bg-card);margin:auto;padding:0;border:none;width:90%;max-width:520px;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);position:relative;animation:modalSlideUp .18s cubic-bezier(0.16,1,0.3,1);will-change:transform;color:var(--text-main);display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.modal--large{max-width:640px}.modal-header{padding:var(--space-lg) var(--space-xl);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.modal-close-btn,.sm-header-close{position:absolute;top:var(--space-md);right:var(--space-md);width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);font-size:var(--font-size-base);cursor:pointer;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);z-index:10}@media(hover:hover) and (pointer:fine){.modal-close-btn:hover,.sm-header-close:hover{background:var(--color-hover-bg);color:var(--text-main)}}.modal-close-btn:active,.modal-close-btn.is-tapped,.sm-header-close:active,.sm-header-close.is-tapped{background:var(--color-hover-bg);color:var(--text-main);filter:brightness(0.85);transition:none}.modal-body{padding:var(--space-lg);overflow-y:auto;overflow-x:hidden;flex:1;scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) transparent;touch-action:pan-y;overscroll-behavior:contain}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:99px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.modal-footer{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--space-md)}.solution-section{margin-bottom:var(--space-lg)}.solution-section:last-child{margin-bottom:0}.solution-label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--primary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em}.solution-text{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text-main);word-wrap:break-word}.solution-text.answer-text{font-weight:var(--font-weight-bold)}.solution-text.solution-details{background:var(--color-subtle-bg);padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-lg);overflow-x:auto;overflow-y:visible;position:relative;scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) transparent}.solution-text.solution-details::-webkit-scrollbar{height:4px}.solution-text.solution-details::-webkit-scrollbar-track{background:transparent}.solution-text.solution-details::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:99px}.solution-line{display:block;margin-bottom:.35em}.solution-line:last-child{margin-bottom:0}.solution-line:empty{margin-bottom:.15em}@media(hover:hover) and (pointer:fine){.solution-details-wrap:not(.no-overflow) .solution-text.solution-details{cursor:grab}.solution-details-wrap:not(.no-overflow) .solution-text.solution-details:active{cursor:grabbing}}.solution-details-wrap{position:relative;border-radius:var(--border-radius-lg);overflow:hidden}.solution-details-wrap::after{content:'';position:absolute;top:0;right:0;width:48px;height:100%;background:linear-gradient(to right,transparent,var(--color-subtle-bg));border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;pointer-events:none;opacity:1;transition:opacity .2s ease}.solution-details-wrap.scrolled-end::after{opacity:0}.solution-details-wrap.no-overflow::after{opacity:0}.solution-divider{height:1px;background:var(--border-color);margin:var(--space-md) 0}.about-header{text-align:center;margin-bottom:var(--space-lg)}.about-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold)}.about-header p{color:var(--text-muted)}.contact-item{display:flex;align-items:center;padding:var(--space-md);background:var(--color-subtle-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);margin-bottom:var(--space-sm)}.contact-icon{width:42px;height:42px;background:var(--color-selected-bg);color:var(--primary);border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);margin-right:var(--space-md);flex-shrink:0}.contact-label{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-medium)}.contact-value{font-size:var(--font-size-base);color:var(--text-main);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-section{margin-bottom:var(--space-lg)}.sm-section:last-child{margin-bottom:0}.sm-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-sm)}.sm-divider{height:1px;background:var(--border-color);margin:var(--space-lg) 0}.sm-tabs{display:flex;gap:var(--space-xs);flex-wrap:wrap}.sm-tab{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);height:36px;-webkit-tap-highlight-color:transparent;border:1.5px solid var(--border-color);border-radius:var(--border-radius-full);background:var(--bg-card);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family);color:var(--text-main);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);user-select:none;white-space:nowrap}.sm-tab.active{background:var(--primary);border-color:var(--primary);color:white;pointer-events:none}@media(hover:hover) and (pointer:fine){.sm-tab:hover:not(.active){background:var(--color-hover-bg);border-color:var(--border-color-hover)}}.sm-tab:active:not(.active){filter:brightness(0.85);transition:none}.dataset-selection-section{display:none;margin-bottom:var(--space-lg)}.dataset-selection-section.visible{display:block}.sm-topics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.sm-select-all{height:28px;padding:0 var(--space-sm);border-radius:var(--border-radius-md);background:transparent;border:1px solid var(--border-color);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;color:var(--text-main);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.sm-select-all.all-selected{background:var(--primary);color:white;border-color:var(--primary)}@media(hover:hover) and (pointer:fine){.sm-select-all:hover{background:var(--color-hover-bg);border-color:var(--border-color-hover)}.sm-select-all.all-selected:hover{filter:brightness(1.08);background:var(--primary)}}.sm-select-all:active{filter:brightness(0.85);transition:none}.sm-select-all.all-selected:active{filter:brightness(0.85);transition:none}.sm-count-section{text-align:center}.sm-count-row{display:inline-flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.sm-count-btn{width:36px;height:36px;border-radius:var(--border-radius-md);border:1px solid var(--border-color);background:var(--bg-card);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);display:flex;align-items:center;justify-content:center}.sm-count-btn:disabled{opacity:.35;cursor:not-allowed}@media(hover:hover) and (pointer:fine){.sm-count-btn:not(:disabled):hover{background:var(--color-hover-bg);border-color:var(--border-color-hover)}}.sm-count-btn:not(:disabled):active{filter:brightness(0.85);transition:none}.sm-count-input{width:72px;height:36px;text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-family);border:1px solid var(--border-color);border-radius:var(--border-radius-md);-moz-appearance:textfield}.sm-count-input::-webkit-outer-spin-button,.sm-count-input::-webkit-inner-spin-button{-webkit-appearance:none}.sm-count-input:disabled{opacity:.35;cursor:not-allowed}.sm-max-btn{height:36px;padding:0 var(--space-md);border-radius:var(--border-radius-md);border:1px solid var(--border-color);background:transparent;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;color:var(--text-main);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.sm-max-btn.active{background:var(--primary);color:white;border-color:var(--primary)}@media(hover:hover) and (pointer:fine){.sm-max-btn:hover{background:var(--color-hover-bg);border-color:var(--border-color-hover)}.sm-max-btn.active:hover{filter:brightness(1.08);background:var(--primary)}}.sm-max-btn:active{filter:brightness(0.85);transition:none}.sm-max-btn.active:active{filter:brightness(0.85);transition:none}.sm-validation{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-xs)}.sm-validation.success{color:var(--text-muted)}.sm-header{display:flex;align-items:center;justify-content:space-between;padding:16px var(--space-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.sm-header-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-main);letter-spacing:-0.01em}.sm-header-close{position:static;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sm-footer{padding:var(--space-md) var(--space-xl);flex-shrink:0}.sm-slider-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.sm-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:var(--border-color);border-radius:var(--border-radius-full);outline:none;cursor:pointer;accent-color:var(--primary)}.sm-slider:disabled{opacity:.4;cursor:not-allowed}.sm-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,0.18)}.sm-slider::-moz-range-thumb{width:20px;height:20px;border:none;border-radius:50%;background:var(--primary);cursor:pointer}.sm-slider-badge{width:44px;height:32px;background:var(--color-selected-bg);color:var(--primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);font-family:var(--font-family);flex-shrink:0;text-align:center;cursor:text;padding:0 4px}.sm-slider-badge:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(79,70,229,0.15)}.sm-slider-badge:disabled{opacity:.4;cursor:not-allowed}.sm-slider-badge::-webkit-outer-spin-button,.sm-slider-badge::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sm-slider-badge[type=number]{-moz-appearance:textfield}.sm-count-section{text-align:left}.overtime-overlay{display:none;position:fixed;z-index:3000;inset:0;background:var(--color-modal-backdrop);align-items:center;justify-content:center;font-family:var(--font-family)}.overtime-overlay.open{display:flex;animation:modalFadeIn .15s ease-out}.overtime-modal{background:var(--bg-card);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-2xl) var(--space-2xl) var(--space-xl);width:min(420px,92vw);text-align:center;animation:modalSlideUp .18s cubic-bezier(0.16,1,0.3,1);position:relative}.overtime-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-main);margin-bottom:var(--space-lg)}.overtime-unanswered-row{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.overtime-modal-actions{display:flex;gap:var(--space-sm);justify-content:center}.overtime-modal-actions .btn{flex:1;max-width:180px;height:44px}.overtime-modal-actions.exit-confirm-actions{flex-direction:column;align-items:stretch}.overtime-modal-actions.exit-confirm-actions .btn{flex:none;max-width:none;width:100%}.resume-session-info{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-lg);text-align:center;line-height:var(--line-height-base)}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}@keyframes modalSlideUp{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalSlideUpSheet{from{transform:translateY(100%)}to{transform:translateY(0)}}.mode-settings{display:block}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;gap:var(--space-lg);-webkit-tap-highlight-color:transparent}.setting-info{flex:1}.setting-name{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-main)}.setting-desc{font-size:var(--font-size-xs);color:var(--text-muted)}.setting-select{min-width:140px;height:36px;padding:0 var(--space-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);background:var(--color-input-bg);cursor:pointer;color:var(--text-main)}.setting-input{width:100px;height:36px;padding:0 var(--space-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);text-align:center;background:var(--color-input-bg);color:var(--text-main)}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-toggle-off);transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:var(--bg-card);transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}@media(max-width:768px){#studyModal{align-items:flex-end}#studyModal .modal{width:100%;max-width:100%;height:auto;max-height:88vh;border-radius:20px 20px 0 0;margin:0;padding-bottom:env(safe-area-inset-bottom,0px);animation:modalSlideUpSheet .28s cubic-bezier(0.32,0.72,0,1)}#studyModal .modal::before{content:'';display:block;width:40px;height:4px;background:var(--border-color);border-radius:var(--border-radius-full);margin:10px auto 4px;flex-shrink:0}#studyModal .modal-close-btn,#studyModal .sm-header-close{display:none}.modal-overlay:not(#studyModal){align-items:center}.modal-body{scrollbar-width:none;-webkit-overflow-scrolling:touch}.modal-body::-webkit-scrollbar{display:none}.sm-footer{padding:var(--space-md) var(--space-lg);padding-bottom:max(var(--space-md),env(safe-area-inset-bottom,var(--space-md)))}.sm-header{padding:8px var(--space-lg) 10px}#studyModal .modal-body{padding:var(--space-lg)}.sm-section.topics-section{flex-shrink:0;display:block}.sm-topics-grid{grid-template-columns:1fr 1fr}#studyModal .topic-item{padding:8px 10px}#studyModal .topic-name{font-size:var(--font-size-sm)}.sm-section.sm-count-section,.mode-settings{display:block}.sm-section:not(.topics-section):not(.sm-count-section){flex-shrink:0}.setting-row{flex-direction:row;justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:nowrap}.setting-info{flex:1;min-width:0}.setting-select,.setting-input{flex-shrink:0;min-width:120px}.toggle-switch{flex-shrink:0}}.sm-topics-grid{max-height:320px;overflow-y:auto;overflow-x:hidden;padding:var(--space-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);display:grid;grid-template-columns:1fr 1fr;gap:7px;align-content:start;scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) transparent;scrollbar-gutter:stable}.sm-topics-grid::-webkit-scrollbar{width:4px}.sm-topics-grid::-webkit-scrollbar-track{background:transparent}.sm-topics-grid::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:99px}@media(min-width:640px){.sm-topics-grid{grid-template-columns:repeat(3,1fr)}}.topic-group-header{grid-column:1 / -1;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--primary);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-xs) 0 2px;margin-top:var(--space-xs)}.topic-group-header:first-child{margin-top:0;padding-top:0}.topic-item{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:9px 10px;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-height:52px;transition:background var(--transition-fast),border-color var(--transition-fast);-webkit-tap-highlight-color:transparent;user-select:none;background:var(--bg-card)}@media(hover:hover) and (pointer:fine){.topic-item:hover:not(.selected){background:var(--color-hover-bg);border-color:var(--border-color-hover)}}.topic-item:active:not(.selected){filter:brightness(0.9);transition:none}.topic-item.selected{background:var(--primary);border-color:var(--primary)}.topic-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-main);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-width:0}.topic-item.selected .topic-name{color:white}.topic-meta{display:flex;align-items:center;gap:3px;flex-shrink:0;margin-top:1px}.topic-count{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.topic-item.selected .topic-count{color:rgba(255,255,255,0.75)}.topic-icon-back{fill:var(--text-muted);opacity:.2;stroke:none}.topic-icon-mid{fill:var(--text-muted);opacity:.4;stroke:none}.topic-icon-front{fill:var(--bg-card);stroke:var(--text-muted);opacity:.8}.topic-item.selected .topic-icon-back{fill:white;opacity:.2}.topic-item.selected .topic-icon-mid{fill:white;opacity:.4}.topic-item.selected .topic-icon-front{fill:var(--primary);stroke:white;opacity:.9}.topic-item--skeleton{cursor:default;pointer-events:none;flex-direction:column;gap:8px}.topic-skeleton-name{height:13px;width:75%;border-radius:var(--border-radius-sm)}.topic-skeleton-meta{height:10px;width:40%;border-radius:var(--border-radius-sm)}.navbar{position:fixed;top:0;left:0;right:0;height:60px;background:var(--primary);border-bottom:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);z-index:1001;box-shadow:0 4px 20px rgba(0,0,0,0.15);transition:transform var(--transition-fast),opacity var(--transition-fast);font-family:var(--font-family)}.navbar.hidden{transform:translateY(-100%);opacity:0}.navbar.visible{transform:translateY(0);opacity:1}.navbar-left{display:flex;align-items:center;flex-shrink:0}.navbar-brand{color:white;text-decoration:none;display:flex;align-items:center;transition:opacity var(--transition-fast)}@media(hover:hover) and (pointer:fine){.navbar-brand:hover{opacity:.85}}.navbar-brand:active{filter:brightness(0.85);transition:none}.brand-text{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.12em;color:white}.navbar-center{position:absolute;left:50%;transform:translateX(-50%);max-width:min(340px,calc(100vw - 240px));width:100%;pointer-events:none}.navbar-center>*{pointer-events:auto}.navbar-dataset-selector{background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);border-radius:var(--border-radius-full);padding:0 40px 0 var(--space-lg);color:white;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;width:100%;height:38px;appearance:none;font-family:var(--font-family);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:background-color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover) and (pointer:fine){.navbar-dataset-selector:hover{background-color:rgba(255,255,255,0.25);border-color:rgba(255,255,255,0.4)}}.navbar-dataset-selector:focus{outline:none;background-color:rgba(255,255,255,0.3);border-color:rgba(255,255,255,0.5)}.navbar-dataset-selector option{background:var(--bg-body);color:var(--text-main)}.navbar-dataset-selector optgroup{font-weight:700;font-size:.8rem;letter-spacing:.05em;color:var(--primary);background-color:var(--bg-body)}.navbar-dataset-selector optgroup option{font-weight:400;font-size:.9rem;color:var(--text-main);background-color:var(--bg-body);letter-spacing:normal}.navbar-right{display:flex;align-items:center;gap:2px;flex-shrink:0}.navbar-icon-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;background:none;border:none;color:white;cursor:pointer;border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family);transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;white-space:nowrap}@media(hover:hover) and (pointer:fine){.navbar-icon-btn:hover{background:rgba(255,255,255,0.15)}}.navbar-icon-btn:active,.navbar-icon-btn.is-tapped{background:rgba(255,255,255,0.25);transition:none}.navbar-icon-label{font-size:var(--font-size-sm)}.site-footer{text-align:center;padding:var(--space-md);font-size:var(--font-size-sm);color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:var(--space-lg)}.settings-overlay{display:none;position:fixed;inset:0;background:var(--color-modal-backdrop);z-index:1500;animation:settingsFadeIn .15s ease-out}.settings-overlay.open{display:block}@keyframes settingsFadeIn{from{opacity:0}to{opacity:1}}.settings-panel{position:fixed;top:0;right:0;height:100%;width:280px;background:var(--bg-card);box-shadow:var(--shadow-xl);z-index:1501;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(0.32,0.72,0,1);font-family:var(--font-family)}.settings-panel.open{transform:translateX(0)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:18px var(--space-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.settings-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-main);letter-spacing:-0.01em}.settings-close-btn{width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}@media(hover:hover) and (pointer:fine){.settings-close-btn:hover{background:var(--border-color);color:var(--text-main)}}.settings-close-btn:active,.settings-close-btn.is-tapped{background:var(--border-color);color:var(--text-main);transition:none}.settings-body{flex:1;overflow-y:auto;padding:var(--space-md) 0}.settings-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-sm) var(--space-lg);margin-top:var(--space-xs)}.settings-section-label:first-child{margin-top:0}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-lg);gap:var(--space-md)}.settings-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-main)}.settings-logout-btn{width:100%;display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-lg);background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#e53e3e;font-family:var(--font-family);transition:background var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent}@media(hover:hover) and (pointer:fine){.settings-logout-btn:hover{background:var(--error-bg)}}.settings-logout-btn:active{filter:brightness(0.85);transition:none}@media(max-width:768px){.navbar{padding:0 var(--space-md)}.navbar-center{max-width:min(200px,calc(100vw - 200px))}.navbar-icon-label{display:none}.navbar-icon-btn{padding:8px}.settings-panel{width:min(300px,85vw)}}[data-theme="dark"] .navbar{background:var(--bg-body);border-bottom-color:rgba(255,255,255,0.06)}[data-theme="dark"] .settings-panel{background:var(--bg-card)}.settings-user-info{margin:0 var(--space-lg) var(--space-sm);padding:var(--space-md);background:var(--color-hover-bg);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:4px}.settings-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-main)}.settings-user-email,.settings-user-expiry{font-size:var(--font-size-xs);color:var(--text-muted);word-break:break-all}.settings-action-btn{width:100%;display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-lg);background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-main);font-family:var(--font-family);transition:background var(--transition-fast);text-align:left;-webkit-tap-highlight-color:transparent}@media(hover:hover) and (pointer:fine){.settings-action-btn:hover{background:var(--color-hover-bg)}}.settings-action-btn:active,.settings-action-btn.is-tapped{background:var(--border-color);transition:none}.modal-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--text-main)}#changePasswordForm{display:flex;flex-direction:column;gap:var(--space-lg)}#changePasswordForm .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}#changePasswordForm .form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-main)}#changePasswordForm .form-group input{padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);background:var(--color-input-bg);color:var(--text-main);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;box-sizing:border-box}#changePasswordForm .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,0.1)}#changePasswordForm .form-group input::placeholder{color:var(--text-subtle);opacity:1}#changePasswordForm .btn{width:100%;justify-content:center}#changePasswordForm .auth-message{position:static;opacity:1;transform:none;pointer-events:auto}#changePasswordForm .auth-message:not(.show){display:none}.pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-xs);margin:var(--space-xl) 0}.page-numbers{display:flex;gap:var(--space-xs);align-items:center}.mobile-page-select{height:44px;padding:0 35px 0 var(--space-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--bg-card);color:var(--text-main);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);appearance:none;cursor:pointer;text-align:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23334155' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;box-shadow:var(--shadow-sm)}.mobile-page-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,0.1)}@media(max-width:768px){#first-btn-top,#first-btn-bottom,#last-btn-top,#last-btn-bottom{display:none}.pagination{flex-wrap:nowrap}.page-numbers{flex:1}.mobile-page-select{width:100%;flex:1}}#suma-progress-bar{position:fixed;top:0;left:0;width:0;height:3px;background:var(--color-progress-bar);z-index:9999;pointer-events:none;border-radius:0 2px 2px 0;box-shadow:0 2px 4px rgba(0,0,0,0.15)}.progress-section{margin-bottom:var(--space-lg);padding:0 var(--space-md)}.progress-bar{width:100%;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:3px;transition:width var(--transition-base)}.controls{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl)}.topic-selector{width:100%;max-width:350px}.topic-dropdown{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);padding:0 40px 0 var(--space-lg);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;height:48px;width:100%;appearance:none;font-family:var(--font-family);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23334155' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center;box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast)}@media(hover:hover) and (pointer:fine){.topic-dropdown:hover{background:var(--color-hover-bg);box-shadow:var(--shadow-md)}}.topic-dropdown:focus{outline:none;background:var(--color-hover-bg);border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,70,229,0.1)}.button-group{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}