@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-cyrillic-ext-wght-normal.b5cdd4765614e027c252.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-cyrillic-wght-normal.49594fb515ba00213fc3.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-greek-ext-wght-normal.f4df85d151e5ee39bc2b.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-greek-wght-normal.4f908aee8194b11d9c35.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-vietnamese-wght-normal.ab4bb8dcda024fe6eff2.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-latin-ext-wght-normal.8bff79fbfaa8b8167a0b.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-latin-wght-normal.4f2981d82860061bca3e.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--blue-50:#ebf5fc;--blue-100:#cde8f8;--blue-200:#9bcef0;--blue-300:#6db8e8;--blue-400:#4da3de;--blue-500:#1e8bcf;--blue-600:#0f7dc4;--blue-700:#0a5c92;--blue-800:#084b78;--blue-900:#073f66;--cyan-50:#e0f7fb;--cyan-100:#baeef5;--cyan-300:#7ddcec;--cyan-500:#0fb5d6;--cyan-700:#0a8aa3;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--green-500:#16a34a;--red-500:#dc2626;--amber-500:#f59e0b;--green-100:#dcfce7;--red-100:#fee2e2;--amber-100:#fef3c7;--green-800:#166534;--red-800:#991b1b;--amber-800:#92400e;--navy-bg:#0b1220;--navy-surface:#0f1623;--navy-raised:#16213a;--navy-border:#1e2a3f;--color-primary:var(--blue-600);--color-primary-hover:var(--blue-700);--color-primary-subtle:var(--blue-50);--color-accent:var(--cyan-500);--color-success:var(--green-500);--color-danger:var(--red-500);--color-warning:var(--amber-500);--color-info:var(--blue-600);--color-bg:#fff;--color-surface:var(--gray-50);--color-surface-raised:#fff;--color-border:var(--gray-200);--color-border-strong:var(--gray-300);--color-text:var(--gray-900);--color-text-muted:var(--gray-500);--color-text-subtle:var(--gray-400);--color-text-on-primary:#fff;--font-sans:"Inter Variable","Inter",system-ui,-apple-system,sans-serif;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extra:800;--lh-tight:1.2;--lh-normal:1.5;--lh-relaxed:1.7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 10px 30px #0f172a1a}[data-theme=dark]{--color-bg:var(--navy-bg);--color-surface:var(--navy-surface);--color-surface-raised:var(--navy-raised);--color-border:var(--navy-border);--color-border-strong:#2a3854;--color-text:#e8edf5;--color-text-muted:#94a3b8;--color-text-subtle:#64748b;--color-primary-subtle:#0f7dc426}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;background:var(--color-bg);background:linear-gradient(to bottom right,#e6f2fb,#fff)!important;color:#0f172a;color:var(--color-text);font-family:Inter Variable,Inter,system-ui,-apple-system,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px)}body,html{background:#0000!important;height:100%!important;margin:0!important;padding:0!important;width:100%!important}body{-webkit-overflow-scrolling:touch!important;overscroll-behavior:none!important}#root{height:100vh!important;overscroll-behavior:none!important}#root,.App{background:#0000!important;width:100%!important}.App{min-height:100vh!important;text-align:center}@supports (padding:env(safe-area-inset-top)){#root,.App,body,html{margin-top:0!important;padding-top:0!important}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background:linear-gradient(to bottom right,#e6f2fb,#fff)!important;color:#333;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.simple-header{z-index:1001!important}[data-theme=dark] .dashboard-container{background:linear-gradient(to bottom right,#0f1623,#1a2332)!important;color:#e2e8f0}[data-theme=dark] .dash-header{background:#0f1623f2!important;border-bottom:1px solid #007bbf4d}[data-theme=dark] .welcome-panel{background:#1a2332f2;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .welcome-panel h2{color:#38bdf8}[data-theme=dark] .welcome-panel p{color:#cbd5e1}[data-theme=dark] .stat-card{background:#1a2332f2;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .stat-card h3{color:#7dd3fc}[data-theme=dark] .stat-card p{color:#38bdf8}[data-theme=dark] .rank-badge{background:#10b98126;border-color:#10b98166;color:#6ee7b7}[data-theme=dark] .quick-panel button{box-shadow:0 4px 20px #0000004d}[data-theme=dark] .simple-header{background:#0f1623!important;border-bottom:1px solid #007bbf4d}[data-theme=dark] .header-title{color:#e2e8f0}[data-theme=dark] .back-btn{background:#1a2332f2;border-color:#38bdf8;color:#38bdf8}[data-theme=dark] .categories{background:#0f1623f2;border-bottom:1px solid #007bbf4d}[data-theme=dark] #category-select{background:#1a2332;border-color:#38bdf8;color:#e2e8f0}[data-theme=dark] #category-select option{background:#1a2332;color:#e2e8f0}[data-theme=dark] .status-bar{background:#1a2332f2;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .status-bar span{color:#38bdf8}[data-theme=dark] .back,[data-theme=dark] .front{background:linear-gradient(135deg,#1a2332,#1e293b)!important;border-color:#38bdf8;box-shadow:0 10px 30px #0006}[data-theme=dark] .back:before,[data-theme=dark] .front:before{background:linear-gradient(135deg,#38bdf80d,#0000 50%)}[data-theme=dark] .back{background:linear-gradient(135deg,#1e293b,#1a2332)!important}[data-theme=dark] .card-text{color:#e2e8f0}[data-theme=dark] .back-text{color:#f1f5f9}[data-theme=dark] .category-label{background:#38bdf826;color:#38bdf8}[data-theme=dark] .flip-hint{background:#94a3b826;color:#94a3b8}[data-theme=dark] .flip-btn,[data-theme=dark] .nav-btn{background:#1a2332f2;border-color:#38bdf8;color:#38bdf8}[data-theme=dark] .progress-bar{background:#38bdf833}[data-theme=dark] .scenario-container{background:linear-gradient(to bottom right,#0f1623,#1a2332)!important;color:#e2e8f0}[data-theme=dark] .scenario-card{background:#1a2332f2;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .profile-container{background:linear-gradient(to bottom right,#0f1623,#1a2332)!important;color:#e2e8f0}[data-theme=dark] .profile-section{background:#1a2332f2;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .profile-section h2,[data-theme=dark] .section-title{color:#38bdf8}[data-theme=dark] .profile-input{background:#1a2332!important;border-color:#38bdf84d!important;color:#e2e8f0!important}[data-theme=dark] .profile-input::placeholder{color:#64748b}[data-theme=dark] .email-note{color:#94a3b8}[data-theme=dark] .form-group label{color:#cbd5e1}[data-theme=dark] .App-header,[data-theme=dark] .badges-container,[data-theme=dark] .billing-container,[data-theme=dark] .drag-drop-container,[data-theme=dark] .sorting-container,[data-theme=dark] .video-library-container{background:linear-gradient(to bottom right,#0f1623,#1a2332)!important;color:#e2e8f0}[data-theme=dark] ::-webkit-scrollbar{width:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:#0f1623}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}[data-theme=dark] .courses-scroll{scrollbar-color:#334155 #0f1623}[data-theme=dark] .course-card{background:#1a2332f2!important;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .course-card h3{color:#e2e8f0}[data-theme=dark] .course-card p{color:#94a3b8}[data-theme=dark] .profile-menu-overlay{background:#0f1623fa!important}[data-theme=dark] .profile-menu-overlay button{color:#e2e8f0}[data-theme=dark] .rank-up-modal{background:#1a2332fa}[data-theme=dark] .admin-container{background:linear-gradient(to bottom right,#0f1623,#1a2332)!important;color:#e2e8f0}[data-theme=dark] .delete-section{border:1px solid #dc26264d}[data-theme=dark] .delete-section .section-title{color:#f87171!important}[data-theme=dark] .delete-modal{background:#1a2332;box-shadow:0 20px 60px #00000080}[data-theme=dark] .delete-modal h3{color:#f87171!important}[data-theme=dark] .delete-modal p{color:#94a3b8!important}[data-theme=dark] .delete-modal-cancel{background:#334155;color:#e2e8f0}[data-theme=dark] ::selection{background:#38bdf84d;color:#f1f5f9}.preview-overlay-container{bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:1000}.preview-header-banner{animation:slideDown .3s ease-out;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);box-shadow:var(--shadow-md);left:0;padding:var(--space-3) var(--space-5);pointer-events:auto;position:fixed;right:0;top:0;z-index:1001}.preview-banner-content{align-items:center;display:flex;gap:var(--space-4);justify-content:space-between;margin:0 auto;max-width:1200px}.preview-banner-text{color:var(--color-text-on-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:.3px}.preview-subscribe-btn-header{background:var(--color-surface-raised);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-bold);padding:var(--space-2) var(--space-5);transition:all .2s ease;white-space:nowrap}.preview-subscribe-btn-header:hover{background:var(--color-primary-subtle);box-shadow:var(--shadow-md);transform:translateY(-1px)}.preview-subscribe-btn-header:active{transform:translateY(0)}@keyframes shake{0%,to{transform:translateX(0) rotate(0deg)}10%,30%,50%,70%,90%{transform:translateX(-8px) rotate(-3deg)}20%,40%,60%,80%{transform:translateX(8px) rotate(3deg)}}.shake-wiggle{animation:shake .6s ease-in-out;background:var(--color-warning)!important;box-shadow:0 0 20px var(--color-warning)!important;color:var(--color-text-on-primary)!important}.preview-glass-pane{-webkit-backdrop-filter:blur(.3px);backdrop-filter:blur(.3px);background:var(--color-primary-subtle);bottom:0;cursor:not-allowed;left:0;pointer-events:auto;position:fixed;right:0;top:0;z-index:1000}.preview-cta-float{bottom:var(--space-5);left:50%;pointer-events:auto;position:fixed;transform:translateX(-50%);z-index:1001}.preview-cta-content{animation:float 3s ease-in-out infinite;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border:2px solid #fff3;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-5) var(--space-8);text-align:center}.preview-cta-content h2{color:var(--color-text-on-primary);font-size:var(--text-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-2) 0}.preview-cta-content p{color:#ffffffe6;font-size:var(--text-sm);line-height:var(--lh-normal);margin:0 0 var(--space-4) 0}.preview-subscribe-btn{background:var(--color-surface-raised);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);color:var(--color-primary);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-bold);padding:var(--space-3) var(--space-8);transition:all .3s ease}.preview-subscribe-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.preview-subscribe-btn:active{transform:translateY(0)}@keyframes float{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}@media (max-width:768px){.preview-cta-content{margin:0 var(--space-4);padding:var(--space-4) var(--space-5)}.preview-cta-content h2{font-size:var(--text-lg)}.preview-cta-content p{font-size:var(--text-xs)}.preview-subscribe-btn{font-size:var(--text-sm);padding:var(--space-3) var(--space-6)}}.mobile-nav{display:none}@media (max-width:768px){.mobile-nav{align-items:stretch;background:var(--color-surface-raised);border-top:1px solid var(--color-border);bottom:0;box-shadow:0 -1px 10px #0f172a14;display:flex;justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:1000}body{padding-bottom:calc(58px + env(safe-area-inset-bottom, 0px))}}.mobile-nav__tab{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-family:var(--font-sans);gap:3px;justify-content:center;padding:8px 4px 6px;transition:color .15s ease}.mobile-nav__tab.is-active{color:var(--color-primary)}.mobile-nav__label{font-size:11px;font-weight:var(--fw-medium);line-height:1}.mobile-nav__tab.is-active .mobile-nav__label{font-weight:var(--fw-semibold)}.auth-page{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh}.auth-header,.auth-page{align-items:center;display:flex;flex-direction:column}.auth-header{background:var(--navy-surface);border-bottom:1px solid var(--navy-border);padding:calc(var(--safe-area-top, 0px) + var(--space-8)) var(--space-5) var(--space-8);text-align:center;width:100%}.auth-header__chip{align-items:center;background:var(--color-text-on-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:inline-flex;justify-content:center;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-5)}.auth-header__logo{display:block;width:150px}.auth-header__title{color:var(--color-text-on-primary);font-size:var(--text-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0 0 var(--space-2)}.auth-header__subtitle{color:var(--color-text-on-primary);font-size:var(--text-sm);font-weight:var(--fw-regular);line-height:var(--lh-normal);margin:0;max-width:360px;opacity:.7}.auth-body{box-sizing:border-box;flex:1 1;padding:var(--space-8) var(--space-5)}.auth-body,.auth-layout{align-items:center;display:flex;justify-content:center;width:100%}.auth-layout{gap:var(--space-8);max-width:880px}.auth-layout .auth-card{flex:1 1 420px;margin:0}.auth-app-panel{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex:0 1 280px;flex-direction:column;justify-content:center;padding:var(--space-8) var(--space-6);text-align:center}.auth-app__title{color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}.auth-app__text{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-normal);margin:0 0 var(--space-5);max-width:240px}.auth-app__qr{background:var(--color-text-on-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);height:200px;padding:var(--space-2);width:200px}.auth-app-link{background:#0000;border:none;color:var(--color-primary);cursor:pointer;display:none;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);margin-top:var(--space-5);text-align:center;width:100%}.auth-app-link:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-modal-backdrop{align-items:center;background:#0f172a80;display:flex;inset:0;justify-content:center;padding:var(--space-5);position:fixed;z-index:1200}.auth-modal{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);box-sizing:border-box;display:flex;flex-direction:column;max-width:320px;padding:var(--space-8) var(--space-6);position:relative;text-align:center;width:100%}.auth-modal__close{background:#0000;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-2xl);line-height:1;position:absolute;right:var(--space-3);top:var(--space-2)}@media (max-width:768px){.auth-layout{flex-direction:column;gap:0;max-width:420px}.auth-app-panel{display:none}.auth-app-link{display:block}}.auth-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);box-sizing:border-box;margin:var(--space-8) var(--space-5);max-width:420px;padding:var(--space-8) var(--space-6);width:100%}@media (max-width:480px){.auth-card{margin:var(--space-6) var(--space-4);padding:var(--space-6) var(--space-5)}}.auth-form{gap:var(--space-4)}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:var(--space-1);text-align:left}.auth-label{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium)}.auth-input{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);outline:none;padding:var(--space-3) var(--space-4);transition:border-color .2s ease,box-shadow .2s ease;width:100%}.auth-input::placeholder{color:var(--color-text-subtle)}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-wrap .auth-input{padding-right:var(--space-12)}.auth-toggle{background:#0000;color:var(--color-primary);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%)}.auth-button,.auth-toggle{border:none;cursor:pointer;font-weight:var(--fw-semibold)}.auth-button{background:var(--color-primary);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text-on-primary);font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-3) var(--space-6);transition:background .2s ease,opacity .2s ease;width:100%}.auth-button:hover:not(:disabled){background:var(--color-primary-hover)}.auth-button:disabled{cursor:default;opacity:.55}.auth-links{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-top:var(--space-5)}.auth-link{background:#0000;border:none;color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);padding:0;text-decoration:none}.auth-link:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-banner{border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--lh-normal);padding:var(--space-3) var(--space-4);text-align:left;white-space:pre-line}.auth-banner--error{background:var(--red-100);border:1px solid var(--color-danger);color:var(--red-800)}.auth-banner--info{background:var(--color-primary-subtle);border:1px solid var(--color-primary);color:var(--color-primary)}.auth-banner__title{font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.auth-help{animation:breathe 4s ease-in-out infinite;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-5);padding:var(--space-4);text-align:left}.auth-help__title{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold);margin:0 0 var(--space-2);text-align:center}.auth-help__list{color:var(--color-text-muted);display:flex;flex-direction:column;font-size:var(--text-xs);gap:var(--space-1);line-height:var(--lh-normal)}.auth-help__step{color:var(--color-primary);font-weight:var(--fw-semibold)}.auth-hint{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-medium);margin:0 0 var(--space-5);text-align:center}.auth-confirm{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);box-sizing:border-box;display:flex;flex-direction:column;margin:var(--space-10) var(--space-5);max-width:420px;padding:var(--space-8) var(--space-6);text-align:center;width:100%}.auth-confirm__icon{align-items:center;animation:bounce .6s ease-in-out;background:var(--green-100);border-radius:var(--radius-full);color:var(--green-800);display:flex;font-size:var(--text-4xl);height:72px;justify-content:center;margin-bottom:var(--space-5);width:72px}.auth-confirm__title{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--fw-semibold);margin:0 0 var(--space-3)}.auth-confirm__text{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-normal);margin:0 0 var(--space-6);max-width:320px}.auth-confirm__text strong{color:var(--color-primary);font-weight:var(--fw-semibold)}.auth-page--centered{justify-content:center}@keyframes bounce{0%,20%,60%,to{transform:translateY(0)}40%{transform:translateY(-30px)}80%{transform:translateY(-15px)}}@keyframes breathe{0%,to{box-shadow:var(--shadow-sm);transform:scale(1)}50%{box-shadow:var(--shadow-md);transform:scale(1.02)}}#paramedic-subscription-container{align-items:center;background:var(--color-bg);box-sizing:border-box;color:var(--color-text);display:flex;flex-direction:column;font-family:var(--font-sans);min-height:100vh;padding:var(--space-16) var(--space-5) var(--space-10);position:relative;width:100%}.subscription-content{max-width:440px;width:100%}.subscription-close-btn{align-items:center;background:var(--color-surface);border:none;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;position:fixed;right:var(--space-4);top:56px;transition:all .2s;width:36px;z-index:1000}.subscription-close-btn:active{background:var(--color-border);transform:scale(.92)}.header-section{margin-bottom:var(--space-6);text-align:center}.header-section h1{color:var(--color-primary);font-size:var(--text-3xl);font-weight:var(--fw-extra);letter-spacing:-.5px;margin:0 0 var(--space-1)}.subtitle{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--fw-regular);margin:0}.logged-in-bar{align-items:center;background:var(--color-surface);border-radius:var(--radius-md);display:flex;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4)}.logged-in-bar span{color:var(--color-text-muted);font-size:var(--text-xs)}.logout-link{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:0}.course-select{margin-bottom:var(--space-6)}.course-select-label{color:var(--color-text-muted);display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-3);text-align:center}.course-select-row{display:flex;gap:var(--space-3)}.course-option{background:var(--color-surface-raised);border:2px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;flex:1 1;font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-4);transition:all .2s}.course-option.active{background:var(--color-primary);border:2px solid var(--color-primary);color:var(--color-text-on-primary)}.pricing-section{margin-bottom:var(--space-6)}.price-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center}.price-card h2{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0 0 var(--space-2)}.price{color:var(--color-primary);font-size:var(--text-4xl);font-weight:var(--fw-extra);letter-spacing:-1px;margin-bottom:var(--space-1)}.price span{font-size:var(--text-base);font-weight:var(--fw-medium)}.price span,.price-card>p{color:var(--color-text-muted)}.price-card>p{font-size:var(--text-sm);margin:0 0 var(--space-4)}.features-list{list-style:none;margin:0;padding:0;text-align:left}.features-list li{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:flex;font-size:var(--text-sm);font-weight:var(--fw-medium);gap:var(--space-3);margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3)}.features-list li svg{flex-shrink:0}.feature-check{color:var(--color-success)}.error-message{background:var(--red-100);border:1px solid var(--red-100);border-radius:var(--radius-md);color:var(--red-800);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.course-required-note,.error-message{font-size:var(--text-sm);font-weight:var(--fw-medium);text-align:center}.course-required-note{color:var(--color-text-muted);margin:0 0 var(--space-3)}.action-section{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.subscribe-button{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border:none;border-radius:var(--radius-lg);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-lg);font-weight:var(--fw-bold);letter-spacing:.3px;padding:var(--space-4);transition:all .2s;width:100%}.subscribe-button:active:not(:disabled){opacity:.9;transform:scale(.98)}.subscribe-button:disabled{cursor:not-allowed;opacity:.6}.check-again-btn{background:#0000;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-3);transition:all .2s;width:100%}.check-again-btn:active:not(:disabled){background:var(--color-surface)}.check-again-btn:disabled{cursor:not-allowed;opacity:.6}.validation-section{background:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:var(--space-6);padding:var(--space-4);text-align:center}.validation-section label{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:var(--fw-medium);margin-bottom:var(--space-3)}.validation-row{display:flex;gap:var(--space-2)}#validation-input{background:var(--color-surface-raised);border:2px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);flex:1 1;font-family:var(--font-sans);font-size:var(--text-sm);outline:none;padding:var(--space-3) var(--space-4);transition:border-color .2s}#validation-input:focus{border-color:var(--color-primary)}.apply-code-button{background:var(--color-text-muted);border:none;border-radius:var(--radius-sm);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-5);transition:background .2s;white-space:nowrap}.apply-code-button:active{background:var(--color-text)}.legal-section{border-top:1px solid var(--color-border);padding-top:var(--space-4);text-align:center}.subscription-terms{color:var(--color-text-subtle);font-size:var(--text-xs);line-height:var(--lh-normal);margin:0 0 var(--space-3)}.legal-links{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.legal-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--text-xs);font-weight:var(--fw-medium);padding:0;text-decoration:none}.legal-link:active{opacity:.7}.legal-separator{color:var(--color-border-strong);font-size:var(--text-xs)}.modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;z-index:10000}.modal-content{animation:slideUp .3s ease-out;max-width:520px}.modal-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;justify-content:center;padding:var(--space-2);position:absolute;right:var(--space-4);top:var(--space-4);transition:all .2s;z-index:1}.modal-close,.modal-close:hover{color:var(--color-text-on-primary)}.modal-close:hover{background:#fff3}.modal-overlay .modal-header{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;color:var(--color-text-on-primary);display:block;padding:var(--space-8) var(--space-6) var(--space-6);text-align:center}.secure-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:var(--radius-full);display:inline-flex;font-size:var(--text-sm);font-weight:var(--fw-medium);gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4)}.secure-badge svg{stroke:var(--color-text-on-primary)}.modal-overlay .modal-header h2{color:var(--color-text-on-primary)!important;font-size:var(--text-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0 0 var(--space-2) 0;max-width:100%}.modal-overlay .modal-subtitle{font-size:var(--text-base);font-weight:var(--fw-regular);margin:0;max-width:100%;opacity:.95}.trust-indicators{background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-5);justify-content:center;padding:var(--space-5) var(--space-6)}.trust-item{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-xs);gap:var(--space-2)}.trust-item svg{stroke:var(--color-success);flex-shrink:0}.payment-form-container{padding:var(--space-8) var(--space-6) var(--space-6)}.payment-element-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:var(--space-4)}.payment-element-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);gap:var(--space-3);justify-content:center;min-height:48px}.payment-element-loading .spinner{color:var(--color-primary)}.payment-element-error{color:var(--red-800);font-size:var(--text-sm);line-height:var(--lh-normal);text-align:center}.payment-element-error p{margin:0 0 var(--space-2)}.payment-element-error p:last-child{margin-bottom:0}.payment-element-error-detail{color:var(--color-text-muted);font-size:var(--text-xs);word-break:break-word}.payment-element-error a{color:var(--color-primary);font-weight:var(--fw-semibold)}.payment-security-note{align-items:flex-start;background:var(--color-primary-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-3)}.payment-security-note svg{stroke:var(--color-primary);flex-shrink:0;margin-top:2px}.payment-security-note span{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--lh-normal)}.modal-error{background:var(--red-100);border:1px solid var(--red-100);border-radius:var(--radius-sm);color:var(--red-800);font-size:var(--text-sm);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);text-align:center}.modal-subscribe-button{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border:none;border-radius:var(--radius-sm);color:var(--color-text-on-primary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--fw-semibold);gap:var(--space-3);justify-content:center;padding:var(--space-4) var(--space-6);transition:all .2s;width:100%}.modal-subscribe-button:active:not(:disabled){transform:scale(.98)}.modal-subscribe-button:disabled{cursor:not-allowed;opacity:.7}.modal-subscribe-button svg{stroke:var(--color-text-on-primary)}.spinner{animation:spin 1s linear infinite}.powered-by-stripe{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);justify-content:center;margin:var(--space-5) 0;padding-top:var(--space-5)}.powered-by-stripe span{color:var(--color-text-muted);font-size:var(--text-xs)}.powered-by-stripe img{height:20px;object-fit:contain}@media (max-width:768px){#paramedic-subscription-container{padding:var(--space-12) var(--space-4) var(--space-8)}.modal-overlay{align-items:flex-end;padding:0}.modal-content{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:95vh}.modal-overlay .modal-header{padding:var(--space-6) var(--space-5) var(--space-5)}.modal-overlay .modal-header h2{font-size:var(--text-xl)}.trust-indicators{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.payment-form-container{padding:var(--space-6) var(--space-5) var(--space-5)}}.qotd-page{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh}.qotd-page-body{margin:0 auto;max-width:640px;padding:var(--space-5) var(--space-4) var(--space-10)}.qotd-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--color-text);font-family:var(--font-sans);padding:var(--space-6)}.qotd-head{align-items:baseline;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.qotd-eyebrow{color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}.qotd-date{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-medium)}.qotd-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.qotd-chip{border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-3)}.qotd-chip--topic{background:var(--color-primary-subtle);border-color:#0000;color:var(--color-primary)}.qotd-chip--diff{background:var(--color-surface);color:var(--color-text-muted)}.qotd-chip--diff.diff-easy{background:var(--green-100);border-color:#0000;color:var(--green-800)}.qotd-chip--diff.diff-medium{background:var(--amber-100);border-color:#0000;color:var(--amber-800)}.qotd-chip--diff.diff-hard{background:var(--red-100);border-color:#0000;color:var(--red-800)}.qotd-stem{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--fw-semibold);line-height:var(--lh-normal);margin:0 0 var(--space-5)}.qotd-options{flex-direction:column}.qotd-option,.qotd-options{display:flex;gap:var(--space-3)}.qotd-option{align-items:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.qotd-option:hover:not(:disabled){border-color:var(--color-border-strong)}.qotd-option:disabled{cursor:default}.qotd-option-label{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);height:26px;justify-content:center;width:26px}.qotd-option-text{flex:1 1;line-height:var(--lh-normal)}.qotd-option-mark{flex-shrink:0;font-weight:var(--fw-bold)}.qotd-mark-correct{color:var(--color-success)}.qotd-mark-wrong{color:var(--color-danger)}.qotd-option.is-chosen{background:var(--color-primary-subtle);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.qotd-option.is-chosen .qotd-option-label{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.qotd-option.is-correct{background:var(--green-100);border-color:var(--color-success);color:var(--green-800)}.qotd-option.is-correct .qotd-option-label{background:var(--color-success);border-color:var(--color-success);color:#fff}.qotd-option.is-wrong{background:var(--red-100);border-color:var(--color-danger);color:var(--red-800)}.qotd-option.is-wrong .qotd-option-label{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.qotd-option.is-muted{opacity:.6}.qotd-submit{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);margin-top:var(--space-5);padding:var(--space-3) var(--space-6);transition:background .2s ease,opacity .2s ease;width:100%}.qotd-submit:hover:not(:disabled){background:var(--color-primary-hover)}.qotd-submit:disabled{cursor:default;opacity:.5}.qotd-result{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-top:var(--space-5);padding:var(--space-4)}.qotd-result.is-correct{background:var(--green-100);border-color:var(--color-success)}.qotd-result.is-wrong{background:var(--red-100);border-color:var(--color-danger)}.qotd-result-head{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.qotd-result-icon{align-items:center;border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--text-sm);font-weight:var(--fw-bold);height:24px;justify-content:center;width:24px}.qotd-result.is-correct .qotd-result-icon{background:var(--color-success)}.qotd-result.is-wrong .qotd-result-icon{background:var(--color-danger)}.qotd-result-title{font-size:var(--text-base);font-weight:var(--fw-bold)}.qotd-result.is-correct .qotd-result-title{color:var(--green-800)}.qotd-result.is-wrong .qotd-result-title{color:var(--red-800)}.qotd-result-sub{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-medium)}.qotd-rationale{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-4);padding:var(--space-4)}.qotd-rationale-label{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.05em;margin-bottom:var(--space-2);text-transform:uppercase}.qotd-rationale-text{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0}.qotd-done-note{color:var(--color-text-muted);font-size:var(--text-xs);margin:var(--space-4) 0 0}.qotd-error{background:var(--red-100);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--red-800);padding:var(--space-3) var(--space-4)}.qotd-empty,.qotd-error{font-size:var(--text-sm);margin:var(--space-3) 0 0}.qotd-empty{color:var(--color-text-muted)}.qotd-retry{background:var(--color-primary);border:none;color:var(--color-text-on-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-top:var(--space-4);padding:var(--space-2) var(--space-5)}.qotd-retry,.qotd-skeleton{border-radius:var(--radius-md)}.qotd-skeleton{animation:qotd-shimmer 1.4s ease infinite;background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-border) 37%,var(--color-surface) 63%);background-size:400% 100%}.qotd-skeleton--chips{height:22px;margin-bottom:var(--space-4);width:50%}.qotd-skeleton--stem{height:48px;margin-bottom:var(--space-5);width:100%}.qotd-skeleton--opt{height:48px;margin-bottom:var(--space-3);width:100%}@keyframes qotd-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.qotd-home-slot{margin-bottom:var(--space-5)}.qotd-card--answered{overflow:hidden;padding:0}.qotd-summary{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-family:var(--font-sans);gap:var(--space-3);padding:var(--space-4) var(--space-5);text-align:left;width:100%}.qotd-summary-head{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.qotd-summary-status{align-items:center;border-radius:var(--radius-full);display:inline-flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-semibold);gap:var(--space-2);padding:var(--space-1) var(--space-3)}.qotd-summary-status.is-correct{background:var(--green-100);color:var(--green-800)}.qotd-summary-status.is-wrong{background:var(--red-100);color:var(--red-800)}.qotd-summary-icon{align-items:center;border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:10px;font-weight:var(--fw-bold);height:16px;justify-content:center;width:16px}.qotd-summary-status.is-correct .qotd-summary-icon{background:var(--color-success)}.qotd-summary-status.is-wrong .qotd-summary-icon{background:var(--color-danger)}.qotd-chevron{color:var(--color-text-subtle);flex-shrink:0;font-size:var(--text-lg);line-height:1;transition:transform .2s ease}.qotd-chevron.is-open{transform:rotate(180deg)}.qotd-expanded{border-top:1px solid var(--color-border);padding:0 var(--space-5) var(--space-5);padding-top:var(--space-5)}.qotd-collapse{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-top:var(--space-4);padding:var(--space-2) var(--space-5)}.qotd-collapse:hover{border-color:var(--color-border-strong);color:var(--color-text)}.dashboard-container{background:linear-gradient(to bottom right,#e6f2fb,#fff);color:#333;font-family:var(--font-sans);min-height:100vh;overflow-x:hidden}.dash-header{align-items:center!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #007bbf33;display:flex!important;flex-direction:row!important;justify-content:space-between!important;padding:36px 16px 12px!important;padding:calc(var(--safe-area-top, 20px) + 16px) 16px 12px 16px!important;position:relative;z-index:1001}.logo-mascot{aspect-ratio:auto;display:block;height:auto;line-height:0;margin:0;max-width:62%;object-fit:contain;padding:0;vertical-align:top;width:170px}.site-title{color:#007bbf;font-size:24px;font-weight:700;line-height:1.1;margin:0;padding:0;text-align:center}.rank-badge-container{position:static;z-index:10}.rank-badge{align-items:center;background:#10b9811a;border:1px solid #10b9814d;border-radius:16px;color:#065f46;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 10px}.rank-badge img{height:20px;width:20px}.dash-main{display:flex;flex-direction:column;gap:var(--space-4);margin:0 auto;max-width:520px;padding:var(--space-4) var(--space-4) var(--space-12)}.welcome-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:15px;box-shadow:0 4px 20px #007bbf1a;padding:20px;text-align:center}.welcome-panel h2{color:#007bbf;font-size:22px;margin-bottom:10px}.welcome-panel p{color:#2d3748;font-size:16px}.stats-panel{display:flex;gap:15px;justify-content:space-between}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:10px;box-shadow:0 4px 20px #007bbf1a;flex:1 1;padding:12px}.stat-card h3{color:#005a8f;font-size:16px;margin-bottom:10px}.stat-card p{color:#007bbf;font-size:20px;font-weight:600}.quick-panel{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;justify-items:stretch;padding:0 10px}.quick-panel button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:17px!important;font-weight:600;justify-content:center;min-height:65px;overflow:hidden;padding:18px;position:relative;text-align:center;transition:all .2s ease;width:100%}@media (min-width:769px){.quick-panel{gap:18px;padding:0 20px}.quick-panel button{font-size:20px!important;min-height:80px;padding:24px}}.btn-primary{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;box-shadow:0 4px 20px #06b6d44d;color:#fff}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:linear-gradient(135deg,#0891b2,#0e7490)!important;box-shadow:0 6px 25px #06b6d466;transform:translateY(-2px)}}.btn-secondary{background:linear-gradient(135deg,#06b6d4,#0ea5e9)!important;box-shadow:0 4px 20px #06b6d44d;color:#fff!important}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;box-shadow:0 6px 25px #06b6d466;transform:translateY(-2px)}}.btn-video{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;box-shadow:0 4px 20px #0ea5e94d;color:#fff}@media (hover:hover) and (pointer:fine){.btn-video:hover{background:linear-gradient(135deg,#0284c7,#0369a1)!important;box-shadow:0 6px 25px #0ea5e966;transform:translateY(-2px)}}.btn-aqua{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;box-shadow:0 4px 20px #06b6d44d;color:#fff}@media (hover:hover) and (pointer:fine){.btn-aqua:hover{background:linear-gradient(135deg,#0891b2,#0e7490)!important;box-shadow:0 6px 25px #06b6d466;transform:translateY(-2px)}}.btn-tertiary{background:linear-gradient(135deg,#06b6d4,#0ea5e9)!important;box-shadow:0 4px 20px #06b6d44d;color:#fff}@media (hover:hover) and (pointer:fine){.btn-tertiary:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;box-shadow:0 6px 25px #06b6d466;transform:translateY(-2px)}}.btn-violet{background:linear-gradient(135deg,#0ea5e9,#0284c7)!important;box-shadow:0 4px 20px #0ea5e94d;color:#fff}@media (hover:hover) and (pointer:fine){.btn-violet:hover{background:linear-gradient(135deg,#0284c7,#0369a1)!important;box-shadow:0 6px 25px #0ea5e966;transform:translateY(-2px)}}.icon{height:28px;margin-right:8px;vertical-align:middle;width:28px}.btn-aqua,.btn-tertiary,.btn-video,.btn-violet{align-items:center;display:flex;gap:8px;justify-content:center}.icon-large{height:60px;width:60px}.courses-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:15px;box-shadow:0 4px 20px #007bbf1a;overflow:hidden;padding:20px}.courses-panel h3{color:#007bbf;font-size:18px;margin-bottom:16px;text-align:center}.carousel-container{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;overflow-x:auto;position:relative;scroll-behavior:smooth;scrollbar-width:none}.carousel-container::-webkit-scrollbar{display:none}.carousel-track{display:flex;gap:15px;transition:transform .4s ease-in-out;width:-webkit-max-content;width:max-content}.course-card{background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:inherit;flex:0 0 260px;padding:15px;text-align:center;text-decoration:none;transition:transform .2s}.course-card:hover{box-shadow:0 6px 25px #007bbf33;transform:translateY(-3px)}.course-card img{border-radius:10px;height:130px;object-fit:cover;width:100%}.course-card h4{color:var(--color-primary);font-size:16px;margin-top:10px}.course-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;font-size:14px;margin:8px 0;overflow:hidden}.course-card .learn-more{color:var(--color-primary-hover);font-size:13px;font-weight:600;margin-top:4px}.course-card .learn-more:hover{text-decoration:underline}.dash-footer{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);margin:0 auto;max-width:1120px;padding:var(--space-8) var(--space-4) var(--space-12)}.footer-logo{display:block;height:auto;width:130px}[data-theme=dark] .footer-logo{background:var(--color-text-on-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.footer-copy{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.user-rank-header{align-items:center;display:flex;gap:6px;margin-left:12px}.rank-icon{height:28px;width:28px}.rank-label{color:#007bbf;font-weight:600}.rank-help-icon{background:#007bbf;border-radius:50%;color:#fff;cursor:pointer;display:inline-block;font-size:13px;font-weight:700;height:18px;line-height:18px;margin-left:6px;position:relative;text-align:center;-webkit-user-select:none;user-select:none;width:18px}.rank-help-icon .tooltip-text{background-color:#333;border-radius:4px;bottom:125%;color:#fff;font-size:12px;left:50%;line-height:1.4;opacity:0;padding:8px;position:absolute;text-align:left;transform:translateX(-50%);transition:opacity .3s;visibility:hidden;white-space:normal;width:220px;z-index:1}.rank-help-icon:focus .tooltip-text,.rank-help-icon:hover .tooltip-text{opacity:1;visibility:visible}.guides-panel h3{color:#007bbf;font-size:18px;margin-bottom:16px;text-align:center}@media (display-mode:standalone){.dashboard-container{padding-top:0}.dash-header{padding-top:60px!important;padding-top:calc(var(--safe-area-top, 44px) + 16px)!important}}@media (max-width:768px){.dash-header{flex-direction:column;gap:15px;text-align:center}.logo-container{justify-content:center}.stats-panel{flex-wrap:wrap;gap:15px}.stat-card{flex-basis:calc(50% - 10px);flex-grow:1;flex-shrink:1}.quick-panel{gap:12px}.quick-panel button{font-size:16px!important;min-height:60px;padding:14px}}.rank-up-overlay{align-items:center;animation:fadeInOverlay .5s ease-out;background:#003264cc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.rank-up-modal{animation:confettiSlideIn .8s ease-out;max-width:500px;width:90%}@keyframes confettiSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.graffiti-container{background:#fff;border:1px solid #007bbf33;border-radius:16px;box-shadow:0 8px 24px #0000001a;overflow:hidden;position:relative}.graffiti-content{color:#2d3748;padding:32px 24px;position:relative;text-align:center}.graffiti-title{color:#007bbf;font-family:var(--font-sans);font-size:1.5rem;font-weight:600;line-height:1.4;margin-bottom:16px}.achievement-text{margin-bottom:20px}.new-rank{color:#64748b;font-size:1rem;font-weight:400;margin-bottom:8px}.rank-badge-display{align-items:center;display:flex;flex-direction:column;gap:12px}.celebration-badge{background:#fff;border:2px solid #007bbf;border-radius:50%;height:64px;padding:4px;width:64px}.rank-name{color:#007bbf;font-family:var(--font-sans);font-size:1.5rem;font-weight:600;margin:0}.next-rank-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:16px 0;padding:16px}.next-rank-info p{color:#64748b;font-size:.9rem;margin:4px 0}.days-remaining,.next-rank-name{color:#007bbf;font-weight:600}.days-remaining{font-size:.9rem!important}.max-rank-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:16px 0;padding:16px}.max-rank-text{color:#007bbf;font-size:1rem;font-weight:600}.close-celebration-btn{background:#007bbf;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:.9rem;font-weight:500;padding:12px 24px;transition:all .2s ease}.close-celebration-btn:hover{background:#0056b3}.close-celebration-btn:active{background:#004085}@media (max-width:480px){.graffiti-title{font-size:1.8rem}.rank-name{font-size:1.5rem}.congrats-streak{font-size:1.2rem}.graffiti-content{padding:25px 20px}.close-celebration-btn{font-size:1rem;padding:12px 24px}}.hero-card{background:var(--navy-surface);border:1px solid var(--navy-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.hero-top{align-items:center;display:flex;justify-content:space-between}.hero-rank-pill{align-items:center;background:var(--navy-raised);border:1px solid var(--navy-border);display:inline-flex;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1)}.hero-rank-icon,.hero-rank-pill{border-radius:var(--radius-full)}.hero-rank-icon{height:26px;width:26px}.hero-rank-label{font-size:var(--text-xs);font-weight:var(--fw-semibold)}.hero-avatar-btn,.hero-rank-label{color:var(--color-text-on-primary)}.hero-avatar-btn{align-items:center;background:var(--navy-raised);border:1px solid var(--navy-border);border-radius:var(--radius-full);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;width:40px}.hero-intro{display:flex;flex-direction:column;gap:var(--space-1)}.hero-greeting{font-size:var(--text-3xl);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.hero-greeting,.hero-subtitle{color:var(--color-text-on-primary);margin:0}.hero-subtitle{font-size:var(--text-sm);font-weight:var(--fw-medium);opacity:.7}.hero-chips{display:flex;gap:var(--space-3)}.hero-chip{background:var(--navy-raised);border:1px solid var(--navy-border);border-radius:var(--radius-lg);display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4)}.hero-chip-value{color:var(--color-accent);font-size:var(--text-2xl);font-weight:var(--fw-extra);line-height:var(--lh-tight)}.hero-chip-label{color:var(--color-text-on-primary);font-size:var(--text-xs);font-weight:var(--fw-medium);opacity:.6}.hero-stats{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.hero-stats .hero-chip{min-width:0}.hero-stats .hero-chip-value{white-space:nowrap}@media (min-width:700px){.hero-stats{grid-template-columns:repeat(4,1fr)}}.fc-overlay{align-items:center;background:#00000073;inset:0;justify-content:center;position:fixed;z-index:9999}.fc-modal,.fc-overlay{display:flex;padding:var(--space-4)}.fc-modal{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:var(--space-3);max-width:360px;width:100%}.fc-modal-title{font-weight:var(--fw-bold);margin:0}.fc-modal-title,.fc-option{color:var(--color-text);font-size:var(--text-md)}.fc-option{align-items:center;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;font-family:var(--font-sans);font-weight:var(--fw-semibold);min-height:52px;padding:var(--space-3) var(--space-4);text-align:left;width:100%}.fc-option:hover{background:var(--color-primary-subtle);border-color:var(--color-primary)}.fc-cancel{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-2)}.subscribe-card{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);text-align:center}.subscribe-title{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--fw-bold);margin:0}.subscribe-text{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.subscribe-btn{background:var(--color-danger);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-bold);padding:var(--space-3) var(--space-6)}.preview-toggle{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-2);justify-content:center;padding:var(--space-3)}.preview-toggle-label{margin-right:var(--space-2)}.preview-opt,.preview-toggle-label{color:var(--color-text-muted);font-size:var(--text-sm)}.preview-opt{background:var(--color-border);border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-5)}.preview-opt.active{background:var(--color-primary);color:var(--color-text-on-primary)}.preview-opt:disabled{cursor:default;opacity:.6}.preview-toggle--locked{flex-wrap:wrap}.preview-locked-track{background:var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text-on-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-5)}.preview-locked-note{color:var(--color-text-subtle)}.preview-locked-note,.preview-switch-error{flex-basis:100%;font-size:var(--text-xs);text-align:center}.preview-switch-error{color:var(--red-800)}.primary-card{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);cursor:pointer;display:flex;font-family:var(--font-sans);gap:var(--space-4);justify-content:space-between;padding:var(--space-5);text-align:left;width:100%}.primary-card-text{display:flex;flex-direction:column;gap:var(--space-1)}.primary-card-eyebrow{font-size:var(--text-xs);letter-spacing:.08em;opacity:.75;text-transform:uppercase}.primary-card-eyebrow,.primary-card-title{color:var(--color-text-on-primary);font-weight:var(--fw-bold)}.primary-card-title{font-size:var(--text-xl)}.primary-card-sub{color:var(--color-text-on-primary);font-size:var(--text-sm);opacity:.85}.primary-card-play{align-items:center;background:var(--color-text-on-primary);border-radius:var(--radius-full);color:var(--color-primary);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.quick-row{display:flex;gap:var(--space-3)}.quick-pill{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;display:flex;flex:1 1;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4)}.quick-pill svg{color:var(--color-primary)}.section-heading{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-bold);letter-spacing:.06em;margin:var(--space-2) 0 0;text-transform:uppercase}.practice-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr;margin-top:var(--space-3)}.mode-card{align-items:flex-start;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-sans);gap:var(--space-3);padding:var(--space-4);text-align:left}.mode-icon{align-items:center;border-radius:var(--radius-md);display:flex;height:44px;justify-content:center;width:44px}.mode-icon-primary{color:var(--color-primary)}.mode-icon-accent,.mode-icon-primary{background:var(--color-primary-subtle)}.mode-icon-accent{color:var(--color-accent)}.mode-icon-muted{background:var(--color-surface);color:var(--color-text-subtle)}.mode-label{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.mode-card-placeholder{background:#0000;border:1px dashed var(--color-border-strong);box-shadow:none;cursor:default}.mode-card-placeholder .mode-label{color:var(--color-text-muted)}.resources-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-4)}.resources-card .section-heading{margin:0 0 var(--space-3)}.home-body,.home-main,.home-rail{display:contents}.primary-card{order:1}.quick-row{order:2}.practice-section{order:3}.resources-card{order:4}@media (min-width:768px){.dash-main{gap:var(--space-5);max-width:1120px;padding:var(--space-8) var(--space-6) var(--space-10)}.hero-card{align-items:center;column-gap:var(--space-6);flex-direction:row;flex-wrap:wrap;padding:var(--space-4) var(--space-6);row-gap:var(--space-2)}.hero-top{flex:0 0 100%}.hero-intro{flex:1 1 auto}.hero-chip,.hero-chips{flex:0 0 auto}.hero-chip{min-width:140px}.home-body{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:2fr 1fr}.home-main,.home-rail{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.mode-card{align-items:center;flex-direction:row;gap:var(--space-3);padding:var(--space-4)}.quick-row{flex-direction:column;gap:var(--space-3)}.quick-pill{justify-content:flex-start;padding:var(--space-4) var(--space-8) var(--space-4) var(--space-4);position:relative}.quick-pill:after{color:var(--color-text-subtle);content:"\203A";font-size:var(--text-xl);line-height:1;position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%)}.dash-footer{max-width:1120px}}.profile-menu-overlay{align-items:center;background:var(--color-bg);bottom:0;display:flex;flex-direction:column;font-family:var(--font-sans);gap:var(--space-3);justify-content:center;left:0;padding:var(--space-5);position:fixed;right:0;top:0;z-index:9999}.profile-menu-close{background:none;border:none;color:var(--color-text);cursor:pointer;font-size:var(--text-4xl);font-weight:var(--fw-regular);line-height:1;padding:var(--space-2);position:absolute;right:var(--space-5);top:var(--space-16)}.profile-menu-group-label{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;margin-top:var(--space-3);max-width:90%;text-transform:uppercase;width:280px}.profile-menu-row{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-medium);gap:var(--space-3);max-width:90%;padding:var(--space-4);text-align:left;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;width:280px}.profile-menu-row:hover{background:var(--color-surface);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.profile-menu-row svg{color:var(--color-text-muted);flex-shrink:0;height:20px;width:20px}.profile-menu-row span{flex:1 1}.profile-menu-row--danger{background:var(--red-100);border-color:var(--color-danger);color:var(--color-danger)}.profile-menu-row--danger svg{color:var(--color-danger)}.profile-menu-row--danger:hover{background:var(--red-100);border-color:var(--color-danger);box-shadow:var(--shadow-md)}[data-theme=dark] .profile-menu-overlay .profile-menu-row--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-text-on-primary)}[data-theme=dark] .profile-menu-overlay .profile-menu-row--danger svg{color:var(--color-text-on-primary)}[data-theme=dark] .profile-menu-overlay .profile-menu-row--danger:hover{background:var(--color-danger);filter:brightness(1.1)}.simple-header{z-index:1001}.back-btn,.reset-btn{border:1px solid var(--color-border)}.reset-btn{border-radius:var(--radius-sm)}body{color:#333;font-family:var(--font-sans);overflow-x:hidden}#root,.flashcards-container{background:linear-gradient(to bottom right,#e6f2fb,#fff);min-height:100vh}.flashcards-container{color:#333;font-family:var(--font-sans)}.app-header{background:#fffffff2!important}@media (hover:hover) and (pointer:fine){.back-btn:hover{background:#007bbf;box-shadow:0 5px 15px #007bbf4d;color:#fff;transform:translateY(-50%) translateY(-2px)}}.logo-container{align-items:center;gap:.75rem;margin-top:10px}.logo-mascot{pointer-events:none;-webkit-user-select:none;user-select:none}.logo-container h1{color:#007bbf;font-size:24px;font-weight:700}.categories{background:var(--color-surface-raised);border-bottom:1px solid var(--color-border);padding:var(--space-5)}.category-wrapper{margin:0 auto;max-width:500px}#category-select{-webkit-appearance:none;appearance:none;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);padding:15px 45px 15px 20px;transition:all .3s;width:100%}@media (hover:hover) and (pointer:fine){#category-select:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}}#category-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}#category-select:disabled{cursor:not-allowed;opacity:.6}.select-icon{color:var(--color-primary);right:15px;transition:transform .3s}#category-select:focus+.select-icon{transform:translateY(-50%) rotate(180deg)}.status-bar{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;margin:30px auto 0;max-width:500px;padding:var(--space-4) var(--space-5)}.progress-container{display:flex;flex-direction:column;gap:8px}.progress-bar{background:var(--color-border);height:6px;overflow:hidden;width:120px}.progress-bar,.progress-fill{border-radius:var(--radius-full)}.progress-fill{background:var(--color-accent);height:100%;transition:width .3s;width:0}.status-bar span{color:var(--color-primary);font-size:var(--text-base);font-weight:var(--fw-semibold)}.score-container{align-items:center;display:flex;gap:var(--space-3)}.status-bar .score-container .score-item{align-items:center;display:inline-flex;font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-1)}.status-bar .score-container .score-item svg{height:16px;width:16px}.status-bar .score-container .score-correct{color:var(--color-success)}.status-bar .score-container .score-wrong{color:var(--color-danger)}.status-bar .score-container .score-flag{color:var(--color-warning)}.flip-container{height:300px;margin:30px auto;max-width:500px;perspective:1000px;position:relative;width:100%;z-index:1}.flipper{height:100%;inset:0;position:absolute;transform-style:preserve-3d;transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:2}.flipper.no-animation{transition:none}.flipper.is-flipped{transform:rotateY(180deg)}.back,.front{align-items:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);cursor:pointer;display:flex;flex-direction:column;inset:0;justify-content:center;padding:var(--space-8);position:absolute;transition:none}.back{background:var(--color-surface);transform:rotateY(180deg)}.card-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center;width:100%}.back-text,.card-text{font-size:18px;line-height:1.6;margin-bottom:20px}.card-text{font-weight:var(--fw-medium)}.back-text,.card-text{color:var(--color-text)}.back-text{font-weight:var(--fw-semibold)}.category-label{background:var(--color-primary-subtle);color:var(--color-primary);left:15px}.category-label,.flip-hint{border-radius:var(--radius-full);bottom:15px;font-size:var(--text-xs);font-weight:var(--fw-medium);padding:var(--space-1) var(--space-3);position:absolute}.flip-hint{background:var(--color-surface);color:var(--color-text-muted);right:15px}.controls{align-items:center;flex-direction:column;gap:20px;margin:30px auto 20px;max-width:500px;width:100%}.answer-controls,.navigation-controls{align-items:center;display:flex;gap:15px;justify-content:center}.controls button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;overflow:hidden;padding:12px 20px;position:relative;text-align:center;transition:all .2s}.controls button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}@media (hover:hover) and (pointer:fine){.controls button:hover:before{left:100%}}.flip-btn,.nav-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-primary);display:flex;font-size:var(--text-lg);height:50px;justify-content:center;padding:0;width:50px}@media (hover:hover) and (pointer:fine){.flip-btn:hover,.nav-btn:hover{background:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-text-on-primary);transform:translateY(-2px)}}.flip-btn:active,.nav-btn:active{transform:translateY(0)}.flag-btn,.right-btn,.wrong-btn{height:48px;min-width:120px}.wrong-btn{background:var(--color-danger);border:none;color:var(--color-text-on-primary)}@media (hover:hover) and (pointer:fine){.wrong-btn:hover{box-shadow:var(--shadow-md);filter:brightness(.94);transform:translateY(-2px)}}.wrong-btn.active{filter:brightness(.88)}.right-btn{background:var(--color-success);border:none;color:var(--color-text-on-primary)}@media (hover:hover) and (pointer:fine){.right-btn:hover{box-shadow:var(--shadow-md);filter:brightness(.94);transform:translateY(-2px)}}.right-btn.active{filter:brightness(.88)}.flag-btn{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text)}.flag-btn svg{color:var(--color-warning)}@media (hover:hover) and (pointer:fine){.flag-btn:hover{background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translateY(-2px)}}.flag-btn.flagged{background:var(--color-warning);border:none}.flag-btn.flagged,.flag-btn.flagged svg{color:var(--color-text-on-primary)}@media (hover:hover) and (pointer:fine){.flag-btn.flagged:hover{filter:brightness(.94)}}@media (max-width:768px){.flip-container{height:250px;margin:20px auto}.back,.front{padding:20px}.back-text,.card-text{font-size:16px}.controls{gap:20px;margin:20px auto}.answer-controls,.navigation-controls{gap:15px}.controls button{font-size:16px;min-height:56px;padding:16px 24px}.flip-btn,.nav-btn{font-size:20px;height:56px;width:56px}.flag-btn,.right-btn,.wrong-btn{font-size:16px;height:56px;min-width:140px}.status-bar{margin:20px auto 0}.categories,.status-bar{padding:15px}}@media (max-width:480px){.answer-controls{flex-direction:column;gap:8px;width:100%}.answer-controls button{max-width:200px;width:100%}}.flashcard-screen{background:var(--color-bg);min-height:100vh}.flagged-banner{align-items:center;background:var(--amber-100);border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--amber-800);display:flex;font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);justify-content:center;margin:var(--space-3) auto 0;max-width:500px;padding:var(--space-3) var(--space-4)}.flagged-banner svg{color:var(--color-warning);flex-shrink:0}.study-mode-toggle{display:flex;gap:var(--space-2);justify-content:center;margin-top:var(--space-3)}.mode-toggle-btn{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-4);transition:all .2s}.mode-toggle-btn.active-normal{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.mode-toggle-btn.active-smart{background:var(--color-success);border-color:var(--color-success);color:var(--color-text-on-primary)}.confidence-wrap{margin:var(--space-2) auto 0;max-width:500px;text-align:center}.confidence-pill{background:var(--color-surface);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-block;font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.conf-filled{color:var(--color-warning)}.conf-empty{color:var(--color-text-subtle)}.session-summary{align-items:center;background:var(--color-bg);display:flex;flex-direction:column;font-family:var(--font-sans);justify-content:center;min-height:100vh;padding:var(--space-5);text-align:center}.summary-emoji{font-size:48px;margin-bottom:var(--space-4)}.summary-title{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--fw-bold);margin-bottom:var(--space-1)}.summary-sub{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)}.summary-stats{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr 1fr;margin-bottom:var(--space-8);max-width:360px;width:100%}.summary-stat{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-2)}.summary-stat-value{font-size:var(--text-3xl);font-weight:var(--fw-bold)}.summary-stat-value.is-reviewed{color:var(--color-primary)}.summary-stat-value.is-correct{color:var(--color-success)}.summary-stat-value.is-warn{color:var(--color-warning)}.summary-stat-value.is-bad{color:var(--color-danger)}.summary-stat-label{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-1)}.summary-actions{display:flex;flex-direction:column;gap:var(--space-3);max-width:280px;width:100%}.summary-btn-primary{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary)}.summary-btn-primary,.summary-btn-quiet{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-6)}.summary-btn-quiet{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary)}.simple-header{background:#fff;border-bottom:1px solid #007bbf1a}.back-btn{border:1px solid #007bbf;border-radius:8px;font-size:12px}@media (hover:hover) and (pointer:fine){.back-btn:hover{background:#007bbf;color:#fff}}.reset-btn{background:#fffffff2;border:1px solid #007bbf;border-radius:8px;color:#007bbf;font-size:16px;font-weight:600}@media (hover:hover) and (pointer:fine){.reset-btn:hover{background:#007bbf;color:#fff}}.header-title{color:#007bbf;font-size:18px;font-weight:700}.header-logo{align-items:center;display:flex;left:50%;position:absolute;transform:translateX(-50%)}.video-library-container{background:linear-gradient(to bottom right,#e6f2fb,#fff);color:#333;font-family:var(--font-sans);min-height:100vh}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #007bbf33;padding:20px 20px 10px;position:relative}.back-btn{background:#fffffff2;border:2px solid #007bbf;border-radius:12px;color:#007bbf;font-size:14px;font-weight:600;left:15px;padding:8px 16px;position:absolute;top:50%;transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.back-btn:hover{background:#007bbf;color:#fff;transform:translateY(-50%) translateY(-1px)}}.logo-container{display:flex;flex:1 1;justify-content:center}.logo-mascot{height:120px;width:auto}.video-filters{background:#ffffff4d;border-bottom:1px solid #007bbf33;padding:20px}.filter-row{display:flex;flex-wrap:wrap;gap:16px;margin:0 auto;max-width:800px}.category-wrapper{flex:1 1;min-width:200px;position:relative}.category-select{-webkit-appearance:none;appearance:none;background:#fffc;border:1px solid #007bbf4d;border-radius:12px;color:#333;cursor:pointer;font-size:14px;font-weight:500;padding:12px 40px 12px 16px;transition:all .2s ease;width:100%}.category-select:focus{background:#fffffff2;border-color:#007bbf;outline:none}.category-select option{background:#fff;color:#333}.select-icon{color:#333;opacity:.7;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.search-input{background:#fffc;border:1px solid #007bbf4d;border-radius:12px;color:#333;font-size:14px;min-width:250px;padding:12px 16px;transition:all .2s ease}.search-input::placeholder{color:#3339}.search-input:focus{background:#fffffff2;border-color:#007bbf}.video-content{margin:0 auto;max-width:1200px;padding:20px}.video-count{color:#333;font-size:16px;font-weight:500;margin-bottom:24px;text-align:center}.video-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.video-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;transition:all .3s ease}@media (hover:hover) and (pointer:fine){.video-card:hover{background:#fffffff2;border-color:#007bbf;box-shadow:0 8px 32px #007bbf4d;transform:translateY(-4px)}}.video-thumbnail{overflow:hidden;padding-bottom:56.25%;position:relative}.video-thumb{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .3s ease;width:100%}@media (hover:hover) and (pointer:fine){.video-card:hover .video-thumb{transform:scale(1.05)}}.play-overlay{align-items:center;background:#0000004d;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}@media (hover:hover) and (pointer:fine){.video-card:hover .play-overlay{opacity:1}}.play-button{align-items:center;background:#ffffffe6;border-radius:50%;color:#007bbf;display:flex;font-size:16px;height:48px;justify-content:center;padding-left:3px;transition:all .2s ease;width:48px}@media (hover:hover) and (pointer:fine){.play-button:hover{background:#fff;transform:scale(1.1)}}.video-info{padding:16px}.video-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text);display:-webkit-box;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 8px;overflow:hidden}.video-meta{align-items:center;display:flex;gap:8px;justify-content:space-between}.video-category{background:var(--color-primary-subtle);color:var(--color-primary)}.video-category,.video-duration{border-radius:var(--radius-sm);display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.video-duration{background:var(--color-surface);color:var(--color-text-muted)}.loading-state{grid-column:1/-1;padding:60px 20px;text-align:center}.loading-text{color:#666;font-size:18px}.no-videos{grid-column:1/-1;padding:60px 20px;text-align:center}.no-videos h3{color:#333;font-size:20px;font-weight:600;margin:0 0 12px}.no-videos p{color:#666;font-size:16px;margin:0}.video-modal{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#1a2b42;border:1px solid #ffffff1a;border-radius:16px;max-height:90vh;max-width:900px;overflow:hidden;position:relative}.close-button{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:40px;z-index:1001}@media (hover:hover) and (pointer:fine){.close-button:hover{background:#000000e6;transform:scale(1.1)}}.video-player{padding-bottom:56.25%;position:relative;width:100%}.video-player iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.video-modal .modal-content{background:var(--color-surface-raised);border:1px solid var(--color-border)}.video-details{background:var(--color-surface-raised);padding:20px}.video-details h3{color:var(--color-text);font-size:20px;font-weight:600;margin:0 0 12px}.video-details .video-meta{background:var(--color-primary-subtle);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.video-meta{color:#e2f4ffb3;font-size:14px;font-weight:500}@media (max-width:768px){.video-list{gap:16px;grid-template-columns:1fr}.filter-row{flex-direction:column;gap:12px}.category-wrapper,.search-input{min-width:0;min-width:auto}.app-header,.video-content{padding:16px}.modal-content{margin:10px;max-height:95vh}.video-details{padding:16px}}.profile-container{flex-direction:column;min-height:100vh}.profile-container,.profile-header{background:var(--color-bg);display:flex}.profile-header{align-items:center;border-bottom:1px solid var(--color-border);height:60px;justify-content:space-between;margin-top:50px;padding:18px 12px;position:relative}.profile-header .back-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-semibold);height:36px;justify-content:center;padding:6px 12px;transition:all .2s ease}@media (hover:hover) and (pointer:fine){.profile-header .back-btn:hover{background:var(--color-primary);color:var(--color-text-on-primary)}}.profile-header .header-title{color:var(--color-primary);font-size:var(--text-lg);font-weight:var(--fw-bold);left:50%;margin:0;position:absolute;text-align:center;transform:translateX(-50%);width:auto}.profile-content{flex:1 1;margin:0 auto;max-width:600px;padding:var(--space-5) var(--space-4);width:100%}.profile-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-lg);justify-content:center;min-height:100vh}.message{border:1px solid #0000}.message.success{border-color:var(--color-success)}.message.error{border-color:var(--color-danger)}.profile-section{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);padding:var(--space-5)}.form-group{margin-bottom:var(--space-4)}.course-level-value{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-4)}.course-switch-row{display:flex;gap:var(--space-3)}.course-switch-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;flex:1 1;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-4);transition:background .15s ease,color .15s ease,border-color .15s ease}.course-switch-btn:hover:not(:disabled){border-color:var(--color-border-strong)}.course-switch-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.course-switch-btn:disabled{cursor:default;opacity:.6}.profile-input{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:var(--text-base);outline:none;padding:var(--space-3);transition:border-color .2s;width:100%}.profile-input::placeholder{color:var(--color-text-subtle)}.profile-input:focus{border-color:var(--color-primary)}.email-note{color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--lh-normal);margin:var(--space-2) 0 var(--space-4) 0}.email-note a{color:var(--color-primary)}.save-btn{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3);transition:background .2s,opacity .2s;width:100%}.save-btn:not(:disabled):hover{background:var(--color-primary-hover)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.save-btn:not(:disabled):active{opacity:.8}.clear-cache-btn{background:var(--color-danger);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-medium);margin-top:var(--space-3);padding:var(--space-2) var(--space-4);transition:opacity .2s}.clear-cache-btn:active{opacity:.8}.dark-mode-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-top:var(--space-4);padding:var(--space-3) var(--space-4)}.dark-mode-label{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-medium)}.theme-toggle{background:var(--color-border-strong);border:none;border-radius:var(--radius-full);cursor:pointer;height:26px;padding:0;position:relative;transition:background .2s;width:48px}.theme-toggle.on{background:var(--color-primary)}.theme-toggle .theme-toggle-knob{background:var(--color-text-on-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);height:22px;left:2px;position:absolute;top:2px;transition:left .2s;width:22px}.theme-toggle.on .theme-toggle-knob{left:24px}.delete-section{background:var(--red-100);border:1px solid var(--color-danger)}.delete-section .section-title{color:var(--color-danger)}.delete-account-btn{background:var(--color-danger);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3);transition:opacity .2s;width:100%}.delete-account-btn:active{opacity:.8}.delete-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-5);position:fixed;right:0;top:0;z-index:9999}.delete-modal{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:360px;padding:var(--space-6);width:100%}.delete-modal-title{color:var(--color-danger);font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0 0 var(--space-3) 0}.delete-modal-text{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-normal);margin:0 0 var(--space-6) 0}.delete-modal-actions{display:flex;gap:var(--space-3)}.delete-modal-cancel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text)}.delete-modal-cancel,.delete-modal-confirm{cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-3)}.delete-modal-confirm{background:var(--color-danger);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary)}.delete-modal-cancel:disabled,.delete-modal-confirm:disabled{cursor:not-allowed;opacity:.6}.badges-container{flex-direction:column;font-family:var(--font-sans);min-height:100vh}.badges-container,.badges-header{background:var(--color-bg);display:flex}.badges-header{align-items:center;border-bottom:1px solid var(--color-border);height:60px;justify-content:space-between;margin-top:50px;padding:var(--space-4) var(--space-3);position:relative}.badges-header .back-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-semibold);height:36px;justify-content:center;padding:var(--space-2) var(--space-3);transition:all .2s ease}@media (hover:hover) and (pointer:fine){.badges-header .back-btn:hover{background:var(--color-primary);color:var(--color-text-on-primary)}}.badges-header .header-title{color:var(--color-primary);font-size:var(--text-lg);font-weight:var(--fw-bold);left:50%;margin:0;position:absolute;text-align:center;transform:translateX(-50%);width:auto}.badges-content{flex:1 1;margin:0 auto;max-width:800px;padding:var(--space-5) var(--space-4);width:100%}.badges-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-lg);justify-content:center;min-height:100vh}.badges-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-normal);margin:0 0 var(--space-6) 0;text-align:center}.badges-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr);margin-bottom:var(--space-8);margin-left:auto;margin-right:auto;max-width:500px}.badge-card{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:var(--space-3);position:relative;transition:transform .2s,box-shadow .2s}.badge-card:not(.unearned):hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.badge-card.unearned{border-color:var(--color-border);opacity:.65}.badge-image-container{height:50px;margin-bottom:var(--space-2);position:relative;width:50px}.badge-image{height:100%;object-fit:contain;width:100%}.badge-card.unearned .badge-image{filter:grayscale(1)}.badge-overlay{align-items:center;background:var(--color-surface);border-radius:var(--radius-full);bottom:0;display:flex;justify-content:center;left:0;opacity:.78;position:absolute;right:0;top:0}.badge-lock{filter:grayscale(1);font-size:var(--text-lg);line-height:1;opacity:.9}.badge-info{text-align:center;width:100%}.badge-name{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--fw-bold);margin:0 0 var(--space-1) 0;text-align:center}.badge-card.unearned .badge-name,.badge-description{color:var(--color-text-muted)}.badge-description{font-size:var(--text-xs);line-height:var(--lh-tight);margin:0 0 var(--space-2) 0;text-align:center}.badge-requirement{align-items:center;background:var(--color-primary-subtle);border-radius:var(--radius-full);display:flex;gap:var(--space-1);justify-content:center;margin-bottom:var(--space-1);padding:var(--space-1) var(--space-2)}.badge-card.unearned .badge-requirement{background:var(--color-surface)}.requirement-icon,.requirement-text{font-size:var(--text-xs)}.requirement-text{color:var(--color-primary);font-weight:var(--fw-semibold)}.badge-card.unearned .requirement-text{color:var(--color-text-muted)}.badge-earned{align-items:center;background:var(--green-100);border-radius:var(--radius-sm);display:flex;gap:var(--space-1);justify-content:center;margin-top:var(--space-1);padding:var(--space-1) var(--space-2)}.earned-icon{font-weight:var(--fw-bold)}.earned-icon,.earned-text{color:var(--color-success);font-size:var(--text-xs)}.earned-text{font-weight:var(--fw-semibold)}.badges-summary{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr);margin-top:var(--space-8)}.summary-card{border-radius:var(--radius-lg);padding:var(--space-5);text-align:center}.summary-card.summary-card-primary{background:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-text-on-primary)}.summary-card.summary-card-surface{background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-text)}.summary-number{font-size:var(--text-3xl);font-weight:var(--fw-bold);margin-bottom:var(--space-1)}.summary-label{font-size:var(--text-sm);font-weight:var(--fw-medium)}.summary-card-primary .summary-label{opacity:.9}.summary-card-surface .summary-label{color:var(--color-text-muted)}.billing-container{flex-direction:column;min-height:100vh}.billing-container,.billing-header{background:var(--color-bg);display:flex}.billing-header{align-items:center;border-bottom:1px solid var(--color-border);height:60px;justify-content:space-between;margin-top:50px;padding:var(--space-4) var(--space-3);position:relative}.billing-header .back-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-semibold);height:36px;justify-content:center;padding:6px 12px;transition:all .2s ease}@media (hover:hover) and (pointer:fine){.billing-header .back-btn:hover{background:var(--color-primary);color:var(--color-text-on-primary)}}.billing-header .header-title{color:var(--color-primary);font-size:18px;font-weight:700;left:50%;margin:0;position:absolute;text-align:center;transform:translateX(-50%);width:auto}.billing-content{flex:1 1;margin:0 auto;max-width:600px;padding:var(--space-5) var(--space-4);width:100%}.billing-loading{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-lg);justify-content:center;min-height:100vh}.message{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}.message.success{background:var(--green-100);border:1px solid var(--color-success);color:var(--green-800)}.message.error{background:var(--red-100);border:1px solid var(--color-danger);color:var(--red-800)}.message.warning{background:var(--amber-100);border-left:4px solid var(--color-warning);color:var(--amber-800)}.billing-section{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);padding:var(--space-5)}.section-title{color:var(--color-text);font-size:var(--text-lg);margin:0 0 var(--space-4) 0}.status-card{display:flex;flex-direction:column;gap:var(--space-3)}.status-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-3) 0}.status-row:last-child{border-bottom:none}.status-label{color:var(--color-text-muted)}.status-label,.status-value{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.status-value{color:var(--color-text)}.status-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:var(--space-1) var(--space-3);text-transform:uppercase}.status-badge.active{background:var(--green-100);border:1px solid var(--color-success);color:var(--green-800)}.status-badge.warning{background:var(--amber-100);border:1px solid var(--color-warning);color:var(--amber-800)}.status-badge.inactive{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.cancel-info{margin-bottom:var(--space-5)}.cancel-description{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0 0 var(--space-3) 0}.cancel-note{background:var(--amber-100);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--lh-normal);margin:0;padding:var(--space-3)}.cancel-btn,.cancel-note strong{color:var(--color-text)}.cancel-btn{border:1px solid var(--color-border);font-size:var(--text-base);padding:var(--space-3);transition:opacity .2s;width:100%}.cancel-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn:not(:disabled):active{opacity:.8}.no-subscription{padding:var(--space-5);text-align:center}.no-subscription p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0 0 var(--space-3) 0}.no-subscription p:last-child{margin:0}@media (hover:hover) and (pointer:fine){.reset-btn:hover{background:var(--color-primary);color:var(--color-text-on-primary)}}.header-title{width:auto}.scenario-builder-container,.scenario-selector{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh}.scenario-selector{padding:var(--space-5)}.scenario-menu{margin:0 auto;max-width:1120px}.category-nav{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.cat-random-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text-on-primary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);width:100%}@media (hover:hover) and (pointer:fine){.cat-random-btn:hover{background:var(--color-primary-hover)}}.category-list{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:none}.category-list::-webkit-scrollbar{display:none}.category-row{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;display:inline-flex;flex:0 0 auto;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);padding:var(--space-2) var(--space-3);white-space:nowrap}.category-row.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.category-icon{display:inline-flex}.category-icon svg{height:18px;width:18px}.category-count{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium)}.category-row.active .category-count{color:var(--color-text-on-primary)}.category-panel-head{margin-bottom:var(--space-4)}.category-panel-title{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--fw-bold);margin:0}.category-panel-sub{color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-1) 0 0}.scenario-card-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr}.scenario-status-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-sans);gap:var(--space-3);padding:var(--space-4);text-align:left;transition:all .2s ease}.scenario-status-card.completed{border-color:var(--color-success)}@media (hover:hover) and (pointer:fine){.scenario-status-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}}.scenario-status-top{align-items:flex-start;display:flex;gap:var(--space-2);justify-content:space-between}.scenario-status-name{color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-semibold)}.scenario-status-icon{color:var(--color-primary);display:inline-flex;flex-shrink:0}.scenario-status-card.completed .scenario-status-icon{color:var(--color-success)}.scenario-progress{background:var(--color-border);border-radius:var(--radius-full);height:6px;overflow:hidden}.scenario-progress-fill{background:var(--color-accent);border-radius:var(--radius-full);height:100%;transition:width .3s ease;width:0}.scenario-progress-fill.is-complete{background:var(--color-success)}.scenario-progress-fill.is-progress{background:var(--color-accent)}.scenario-status-label{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium)}.scenario-status-card.completed .scenario-status-label{color:var(--color-success)}@media (min-width:640px){.scenario-menu{grid-gap:var(--space-5);align-items:start;display:grid;gap:var(--space-5);grid-template-columns:148px 1fr}.category-nav{margin-bottom:0}.category-list{flex-direction:column;overflow-x:visible;padding-bottom:0}.category-row{border-radius:var(--radius-md);justify-content:flex-start;overflow:hidden;width:100%}.category-row .category-icon{flex-shrink:0}.category-row .category-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.category-row .category-count{flex-shrink:0;margin-left:auto;padding-left:var(--space-2)}.category-row.active{background:var(--color-primary-subtle);border-color:var(--color-primary)}.category-row.active,.category-row.active .category-count{color:var(--color-primary)}.scenario-card-grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.scenario-menu{grid-template-columns:190px 1fr}.scenario-card-grid{grid-template-columns:1fr 1fr 1fr}}.title-container{display:flex;justify-content:center;margin:var(--space-5) 0 var(--space-8) 0}.title-container h2{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--fw-bold);margin:0}.random-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin:0 var(--space-5) var(--space-8) var(--space-5);padding:var(--space-6);text-align:center}.random-instructions{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--fw-medium);margin:0 0 var(--space-4) 0}.random-scenario-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text-on-primary);cursor:pointer;display:inline-flex;font-size:var(--text-lg);font-weight:var(--fw-semibold);gap:var(--space-2);padding:var(--space-4) var(--space-8);transition:all .3s ease}@media (hover:hover) and (pointer:fine){.random-scenario-btn:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.scenario-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8);overflow:hidden;padding:var(--space-8);position:relative}.group-title{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--fw-bold);margin:0 0 var(--space-5) 0;position:relative;text-align:center}.scenario-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.scenario-button{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-semibold);overflow:hidden;padding:var(--space-5) var(--space-6);position:relative;text-align:center;transition:all .2s ease}.scenario-button-content{align-items:center;display:flex;flex-direction:column;gap:var(--space-1)}.scenario-name{font-size:var(--text-base)}.completion-percentage{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-medium);padding:2px 10px}.scenario-button.completed{background:var(--green-100);border:1px solid var(--color-success);color:var(--green-800)}.scenario-button.completed .checkmark{color:var(--color-success);font-weight:var(--fw-bold)}.scenario-button.completed .completion-percentage{background:var(--color-surface-raised);border-color:var(--color-success);color:var(--green-800);font-weight:var(--fw-semibold)}@media (hover:hover) and (pointer:fine){.scenario-button:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}}.scenario-container{margin:20px auto;max-width:800px;padding:0 20px}.scenario-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-5);padding:var(--space-8);position:relative}.step-pill{background:var(--color-primary-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--fw-bold);left:20px;padding:var(--space-2) var(--space-4);position:absolute;top:-10px}.scenario-description{color:var(--color-text-muted);font-size:var(--text-lg);font-weight:var(--fw-medium);line-height:var(--lh-relaxed);margin-bottom:var(--space-4)}.scenario-step{color:var(--color-text-muted);font-size:var(--text-base);font-style:italic;margin-bottom:var(--space-5)}.scenario-question{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--fw-bold);margin:var(--space-5) 0;text-align:center}.scenario-choices{grid-gap:var(--space-3);display:grid;gap:var(--space-3);margin-top:var(--space-6)}.choice-btn{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-medium);line-height:var(--lh-normal);padding:var(--space-4) var(--space-5);text-align:left;transition:all .3s ease}@media (hover:hover) and (pointer:fine){.choice-btn:hover:not(:disabled){background:var(--color-primary-subtle);border-color:var(--color-primary);transform:translateX(4px)}}.choice-btn:disabled{cursor:not-allowed}.correct-choice{background:var(--green-100)!important;border-color:var(--color-success)!important;color:var(--green-800)!important}.incorrect-choice{background:var(--red-100)!important;border-color:var(--color-danger)!important;color:var(--red-800)!important}.disabled-choice{background:var(--color-surface)!important;border-color:var(--color-border)!important;color:var(--color-text-subtle)!important}.feedback-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.feedback-modal{animation:slideIn .3s ease-out;background:var(--color-surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:500px;overflow:hidden;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-header{border-bottom:1px solid var(--color-border);padding:var(--space-6) var(--space-6) var(--space-4) var(--space-6);text-align:center}.feedback-header.correct{background:var(--green-100);color:var(--green-800)}.feedback-header.incorrect{background:var(--red-100);color:var(--red-800)}.feedback-icon{display:block;font-size:48px;margin-bottom:var(--space-2)}.feedback-header h3{font-size:var(--text-2xl);font-weight:var(--fw-bold);margin:0}.feedback-content{padding:var(--space-6)}.feedback-text{color:var(--color-text);font-size:var(--text-base);line-height:var(--lh-relaxed);margin-bottom:var(--space-6);text-align:left}.btn-next-step{background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--color-text-on-primary);cursor:pointer;display:block;font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0 auto;padding:var(--space-4) var(--space-8);transition:all .3s ease;width:100%}@media (hover:hover) and (pointer:fine){.btn-next-step:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.correct-answer-section{background:var(--amber-100);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin:var(--space-4) 0;padding:var(--space-4)}.correct-answer-label{font-size:var(--text-sm);margin:0 0 var(--space-2) 0}.correct-answer-label,.correct-answer-text{color:var(--amber-800);font-weight:var(--fw-semibold)}.correct-answer-text{background:var(--color-surface-raised);border-radius:var(--radius-sm);font-size:var(--text-base);margin:0;padding:var(--space-2) var(--space-3)}.path-mapping{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin:var(--space-6) 0;padding:var(--space-6)}.path-title{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-5) 0;text-align:center}.path-flow{flex-direction:column;margin-bottom:var(--space-5)}.path-flow,.path-step{display:flex;gap:var(--space-4)}.path-step{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);transition:all .3s ease}@media (hover:hover) and (pointer:fine){.path-step:hover{box-shadow:var(--shadow-sm);transform:translateX(4px)}}.step-indicator{align-items:center;border-radius:var(--radius-full);display:flex;flex-shrink:0;font-size:var(--text-base);font-weight:var(--fw-bold);height:40px;justify-content:center;width:40px}.step-indicator.correct{background:var(--color-success);color:var(--color-text-on-primary)}.step-indicator.incorrect{background:var(--color-danger);color:var(--color-text-on-primary)}.step-content{flex:1 1}.step-name{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.step-choice,.step-name{margin-bottom:var(--space-1)}.step-choice{color:var(--color-text);font-size:var(--text-base)}.step-result{border-radius:var(--radius-sm);display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px var(--space-2)}.step-result.correct{background:var(--green-100);color:var(--green-800)}.step-result.incorrect{background:var(--red-100);color:var(--red-800)}.path-arrow{color:var(--color-primary);flex-shrink:0;font-size:var(--text-2xl);font-weight:700}.score-summary{background:var(--color-primary-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:center}.score-text{color:var(--color-primary);font-size:var(--text-lg);font-weight:var(--fw-bold)}.return-button{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-6);transition:all .3s ease}@media (hover:hover) and (pointer:fine){.return-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}}@media (max-width:768px){.scenario-group,.scenario-selector{padding:16px}.scenario-grid{grid-template-columns:1fr}.scenario-card{padding:20px}.title-container{flex-direction:column;gap:12px}.title-container h2{font-size:24px}.scenario-question{font-size:20px}.choice-btn{font-size:14px;padding:12px 16px}}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;height:100%}.drag-drop-container,body,html{overscroll-behavior:none;-webkit-overscroll-behavior:none}.drag-drop-container{background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;font-family:var(--font-sans);min-height:100vh}.simple-header{background:var(--color-bg);padding:18px 12px}.back-btn{border-radius:var(--radius-md);margin:0;padding:6px 12px}@media (hover:hover) and (pointer:fine){.back-btn:hover{background:var(--color-primary);color:var(--color-text-on-primary)}}.reset-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-base);font-weight:var(--fw-semibold);height:36px;justify-content:center;padding:6px 12px;transition:all .2s ease;width:36px}@media (hover:hover) and (pointer:fine){.reset-btn:hover{background:var(--color-primary-subtle);border-color:var(--color-primary-hover);transform:translateY(-1px)}}.repeat-notification{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--amber-100);border:1px solid var(--color-warning);box-shadow:var(--shadow-lg);color:var(--amber-800);gap:8px;margin:16px auto;padding:16px 24px}.repeat-notification:before{font-size:18px;font-weight:700}.header-title{color:var(--color-primary);font-size:var(--text-lg);font-weight:var(--fw-bold);left:50%;margin:0;position:absolute;text-align:center;transform:translateX(-50%)}.header-right-buttons{align-items:center;display:flex;gap:8px}.info-btn{border-radius:var(--radius-md);padding:6px 12px}.drag-drop-content{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:1200px;padding:8px;width:100%}.title-section{margin-bottom:16px;text-align:center}.title-section h1{color:var(--color-primary);font-size:1.8rem;font-weight:var(--fw-bold);margin-bottom:8px}.title-section p{color:var(--color-text);display:none;font-size:var(--text-sm);line-height:1.4;margin:0 auto;max-width:600px}.scenario-section{background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:10px;padding:10px}.scenario-section h2{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-bottom:8px}.scenario-text{color:var(--color-text);font-size:var(--text-xs);line-height:1.4}.quiz-container{display:flex;flex-direction:column;gap:10px}.therapies-section{background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);height:220px;overflow:hidden;padding:10px}.therapies-section h3{color:var(--color-primary);margin-bottom:8px}.selection-indicator,.therapies-section h3{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.selection-indicator{animation:pulse 2s ease-in-out infinite;background:var(--green-100);border:2px solid var(--color-success);border-radius:var(--radius-md);color:var(--green-800);margin-bottom:12px;padding:12px;text-align:center}.therapy-list{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;min-height:80px}.therapy-item{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:grab;display:flex;font-size:var(--text-sm);height:44px;padding:12px 16px;touch-action:none;user-select:none;-webkit-user-select:none;will-change:transform}.therapy-item,.therapy-item:active{background:var(--color-primary-subtle)}.therapy-item:active{transform:scale(.98)}.therapy-item.dragging{background:var(--color-primary-subtle)!important;border-color:var(--color-primary)!important;box-shadow:var(--shadow-lg)!important;opacity:.8!important;transform:rotate(2deg) scale(1.05)!important;z-index:1000!important}.therapy-item{transition:all .15s ease}.therapy-name{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold);white-space:nowrap}.empty-therapies{color:var(--color-text-muted);font-style:italic;padding:40px 20px;text-align:center}.check-answers-container{align-items:center;display:flex;grid-column:1/-1;justify-content:center;min-height:80px;padding:40px 20px}.check-answers-btn{background:var(--color-primary);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-semibold);padding:12px 24px;transition:all .2s ease}@media (hover:hover) and (pointer:fine){.check-answers-btn:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}}.drop-zones{display:flex;flex-direction:column;gap:8px}.drop-zone-container{background:var(--color-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:10px}.drop-zone-title{font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-bottom:8px}.drop-zone-title.indicated{color:var(--color-success)}.drop-zone-title.not-indicated{color:var(--color-danger)}.drop-zone{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;min-height:60px;padding:8px;touch-action:none;transition:all .15s ease;will-change:background-color,border-color,transform}.drop-zone[data-category=indicated]{background:var(--green-100);border-color:var(--color-success)}.drop-zone[data-category=not-indicated]{background:var(--red-100);border-color:var(--color-danger)}.drop-zone.drop-ready{background:var(--color-surface);border-color:var(--color-border-strong);border-width:3px}.drop-zone.drag-active{background:var(--color-surface);border-color:var(--color-border-strong)}.drop-zone.drag-over-indicated{background:var(--green-100)!important;border-color:var(--color-success)!important;border-style:solid!important;border-width:2px!important;transform:scale(1.02)!important;transition:all .2s ease!important}.drop-zone.drag-over-not-indicated{background:var(--red-100)!important;border-color:var(--color-danger)!important;border-style:solid!important;border-width:2px!important;transform:scale(1.02)!important;transition:all .2s ease!important}.drop-zone[data-category=indicated] .drop-zone-empty{color:var(--green-800)}.drop-zone[data-category=not-indicated] .drop-zone-empty{color:var(--red-800)}.drop-zone-empty{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-sm);font-style:italic;height:100%;justify-content:center;min-height:60px;text-align:center}.dropped-items{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;min-height:44px}.dropped-item{background:var(--color-surface-raised);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;padding:12px;position:relative;transition:all .2s ease}.dropped-item.indicated{border-color:var(--color-success)}.dropped-item.not-indicated{border-color:var(--color-danger)}.dropped-item.correct{background:var(--green-100);border-color:var(--color-success)}.dropped-item.incorrect{background:var(--red-100);border-color:var(--color-danger)}@media (hover:hover) and (pointer:fine){.dropped-item:hover:not(.correct):not(.incorrect){box-shadow:var(--shadow-md);transform:translateY(-1px)}.dropped-item.indicated:hover:not(.correct):not(.incorrect){border-color:var(--color-success)}.dropped-item.not-indicated:hover:not(.correct):not(.incorrect){border-color:var(--color-danger)}}.dropped-item-name{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--fw-medium);padding-right:24px}.remove-item-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:12px;font-weight:700;height:18px;justify-content:center;line-height:1;margin:0;padding:0;position:absolute;right:-8px;top:-8px;transition:all .2s ease;width:18px;z-index:10}@media (hover:hover) and (pointer:fine){.remove-item-btn:hover{background:var(--color-surface);color:var(--color-text);transform:scale(1.1)}}.controls{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.control-btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);min-width:120px;padding:12px 24px;transition:all .2s ease}.control-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn-primary{box-shadow:var(--shadow-md)}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:var(--shadow-sm)}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background:var(--color-surface-raised);border-color:var(--color-text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}}.btn-success{background:var(--color-success);box-shadow:var(--shadow-md);color:var(--color-text-on-primary)}@media (hover:hover) and (pointer:fine){.btn-success:hover{background:var(--green-800);box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.results-overlay{animation:resultsSlideIn .4s cubic-bezier(.16,1,.3,1);left:50%;pointer-events:none;position:fixed;top:100px;transform:translateX(-50%);z-index:10000}@keyframes resultsSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(-30px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.results-modal{animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1) .1s both;background:var(--color-surface-raised);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;min-width:320px;pointer-events:auto;width:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.results-content{padding:20px 24px;text-align:center}.results-content.success{background:var(--green-100);border-radius:var(--radius-lg)}.results-content.failure{background:var(--red-100);border-radius:var(--radius-lg)}.results-header{margin-bottom:24px}.results-header h3{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0 0 12px}.score-display{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--fw-extra);margin:12px 0}.score-message{font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:1.4;margin:12px 0}.score-message.success{color:var(--green-800)}.score-message.failure{color:var(--red-800)}.results-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px;width:100%}.results-actions .control-btn{font-size:14px;min-width:100px;padding:10px 16px}.loading-container{min-height:100vh}.loading-content{text-align:center}.loading-spinner{border-top:3px solid var(--color-border);border:3px solid var(--color-border);border-radius:50%;margin:0 auto 16px}.loading-text{color:var(--color-text-muted);font-size:var(--text-base)}@media (min-width:769px){.therapy-list{gap:12px}}@media (max-width:768px){.quiz-container{gap:20px;grid-template-columns:1fr}.title-section h1{font-size:2rem}.title-section p{font-size:14px}.drag-drop-content{padding:16px}.drop-zone-container,.scenario-section,.therapies-section{padding:20px}.controls{gap:12px}.control-btn{font-size:16px;min-width:100px;padding:14px 20px}.app-header{padding:16px}.logo-mascot{height:100px}}@media (max-width:480px){.controls{align-items:center;flex-direction:column}.control-btn{max-width:200px;width:100%}.therapy-item{border-width:1px;box-sizing:border-box;font-size:12px;height:32px;min-height:32px;padding:8px 6px;width:100%}.therapy-name{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.therapy-list{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr);justify-items:stretch;width:100%}.drop-zone{border-width:3px;min-height:140px;padding:20px}.drop-zone-empty{font-size:16px;padding:20px}.results-modal{margin:20px;width:95%}.results-content{padding:24px 20px}.score-display{font-size:28px}.score-message{font-size:16px}.results-actions{align-items:center;flex-direction:column;gap:12px}.results-actions .control-btn{max-width:300px;min-width:auto;width:100%}}.scenario-section-collapsed{align-items:center;display:flex;flex-direction:column;gap:10px;margin-bottom:16px;text-align:center}.scenario-info-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.scenario-count-badge{background:var(--color-primary-subtle);border:1.5px solid var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:-.2px;padding:8px 16px;white-space:nowrap}.quiz-progress{max-width:400px;width:100%}.scenario-tap-button{background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-medium);max-width:300px;padding:12px 20px;transition:all .2s ease;width:100%}@media (hover:hover) and (pointer:fine){.scenario-tap-button:hover{background:var(--color-primary);border-color:var(--color-primary-hover);color:var(--color-text-on-primary)}}.scenario-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b122080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.scenario-modal{background:var(--color-surface-raised);border:2px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow:auto;width:90%}.scenario-content{padding:32px;text-align:center}.scenario-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:24px}.scenario-header h3{color:var(--color-primary);font-size:var(--text-2xl);font-weight:var(--fw-bold);margin:0}.completion-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:-.2px;padding:6px 14px;white-space:nowrap}.completion-badge.completed{background:var(--green-100);border:1.5px solid var(--color-success);color:var(--green-800)}.completion-badge.not-completed{background:var(--color-surface);border:1.5px solid var(--color-border-strong);color:var(--color-text-muted)}.completion-badge-inline{border-radius:var(--radius-full);display:inline-block;font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:-.2px;padding:8px 16px;white-space:nowrap}.completion-badge-inline.completed{background:var(--green-100);border:1.5px solid var(--color-success);color:var(--green-800)}.completion-badge-inline.not-completed{background:var(--color-surface);border:1.5px solid var(--color-border-strong);color:var(--color-text-muted)}.scenario-text-display{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);line-height:1.6;margin-bottom:24px;padding:20px;text-align:left}.scenario-actions{display:flex;gap:16px;justify-content:center;margin-top:24px}.scenario-btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-semibold);min-width:160px;padding:14px 28px;transition:all .2s ease}@media (max-width:480px){.scenario-modal{margin:20px;width:95%}.scenario-content{padding:24px 20px}.scenario-text-display{font-size:15px;padding:16px}.scenario-btn{width:100%}}.result-revealed{animation:revealResult .6s ease-out forwards}@keyframes revealResult{0%{transform:scale(1) rotateY(0deg)}50%{transform:scale(1.05) rotateY(90deg)}to{transform:scale(1) rotateY(0deg)}}.result-indicator{align-items:center;animation:resultPopIn .3s ease-out .3s both;border-radius:50%;display:flex;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;width:24px;z-index:20}@keyframes resultPopIn{0%{opacity:0;transform:scale(0) rotate(180deg)}50%{transform:scale(1.2) rotate(90deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.result-icon{font-size:16px;font-weight:700;line-height:1}.correct-icon,.incorrect-icon{color:var(--color-text-on-primary)}.result-indicator .correct-icon{background:var(--color-success);border:2px solid var(--green-800);border-radius:50%}.result-indicator .correct-icon,.result-indicator .incorrect-icon{align-items:center;box-shadow:var(--shadow-md);display:flex;height:24px;justify-content:center;width:24px}.result-indicator .incorrect-icon{background:var(--color-danger);border:2px solid var(--red-800);border-radius:50%}.dropped-item.result-revealed.correct{background:var(--green-100);border-color:var(--color-success);box-shadow:var(--shadow-md)}.dropped-item.result-revealed.incorrect{background:var(--red-100);border-color:var(--color-danger);box-shadow:var(--shadow-md)}@media (pointer:coarse) and (min-width:481px){.therapy-item{align-items:center;display:flex;justify-content:center;min-height:60px;text-align:center}.drop-zone{min-height:160px}}.info-popup{animation:infoFadeIn .2s ease-out}@keyframes infoFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-10px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.info-popup-content{padding:16px}.info-popup-content p{line-height:1.5;padding-right:24px}.info-close{font-size:16px;right:8px;top:8px}body,html{background:var(--color-bg)}.sorting-questions-container{background:var(--color-bg);min-height:100vh;width:100%}.simple-header{border-bottom:1px solid var(--color-border);height:60px;justify-content:space-between;margin-top:50px;padding:var(--space-4) var(--space-3);position:relative}.back-btn,.simple-header{align-items:center;background:var(--color-surface-raised);display:flex}.back-btn{border:1px solid var(--color-primary);border-radius:var(--radius-sm);bottom:auto!important;color:var(--color-primary);cursor:pointer;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-semibold);height:36px;justify-content:center;left:auto!important;padding:var(--space-2) var(--space-3);position:static!important;right:auto!important;top:auto!important;transform:none!important;transition:all .2s ease}.back-btn:hover{background:var(--color-primary);color:var(--color-text-on-primary)}.repeat-notification{align-items:center;animation:slideDown .4s cubic-bezier(.16,1,.3,1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-text);display:flex;font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);justify-content:center;letter-spacing:-.2px;margin:var(--space-4) auto;max-width:400px;padding:var(--space-4) var(--space-6);position:relative;text-align:center;z-index:1000}.repeat-notification:before{color:var(--color-primary);content:"↻";font-size:var(--text-lg);font-weight:var(--fw-bold)}.sorting-container{background:#0000!important;margin:0 auto;max-width:1200px;padding:var(--space-5)}.question-header{flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5);text-align:center;width:100%}.question-counter-with-info,.question-header{align-items:center;display:flex;justify-content:center;position:relative}.question-counter{background:var(--color-primary-subtle);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-4)}.quiz-progress{background:var(--color-border);border-radius:var(--radius-full);flex-basis:100%;height:6px;margin:0 auto;max-width:360px;overflow:hidden}.quiz-progress-fill{background:var(--color-accent);border-radius:var(--radius-full);height:100%;transition:width .3s ease;width:0}.info-icon-container{margin-left:var(--space-3);position:relative}.question-header h2{color:var(--color-primary);font-size:var(--text-3xl);font-weight:var(--fw-bold);margin:0}.info-icon{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-primary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--fw-semibold);height:32px;justify-content:center;transition:all .2s ease;width:32px}.info-icon,.info-icon:hover{background:var(--color-primary-subtle)}.info-icon:hover{transform:scale(1.05)}.info-popup{animation:fadeIn .2s ease-out;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:50%;max-width:400px;min-width:320px;position:fixed;top:180px;transform:translateX(-50%);width:90%;z-index:10000}.info-popup-content{padding:var(--space-4);position:relative}.info-popup-content p{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-normal);margin:0;padding-right:var(--space-6)}.info-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-subtle);cursor:pointer;display:flex;font-size:var(--text-base);height:24px;justify-content:center;position:absolute;right:var(--space-2);top:var(--space-2);transition:all .2s ease;width:24px}.info-close:hover{background:var(--color-surface);color:var(--color-text)}.info-panel{background:var(--color-primary-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-5)}.info-panel p{color:var(--color-primary);font-size:var(--text-base);font-weight:var(--fw-medium);line-height:var(--lh-relaxed);margin:0}.question-panel{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}.question-panel h3{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:1.4;margin-bottom:var(--space-6)}.sorting-table-container{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-6);overflow-x:auto}.sorting-table{border-collapse:collapse;font-size:var(--text-base);width:100%}.sorting-table th{background:var(--color-primary);border:none;color:var(--color-text-on-primary);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-4) var(--space-3);text-align:center}.sorting-table th:first-child{padding-left:var(--space-5);text-align:left}.sorting-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:var(--space-4) var(--space-3);transition:background-color .2s ease}.sorting-table tr:hover{background-color:var(--color-surface)}.sorting-table tr:last-child td{border-bottom:none}.item-name{color:var(--color-text);font-weight:var(--fw-semibold);padding-left:var(--space-5)!important;text-align:left!important}.category-cell{text-align:center}.category-radio{accent-color:var(--color-primary);appearance:none;-webkit-appearance:none;background:var(--color-surface-raised);border:2px solid var(--color-border-strong);border-radius:var(--radius-full);cursor:pointer;display:inline-grid;height:20px;place-content:center;transition:border-color .2s ease,background-color .2s ease;width:20px}.category-radio:before{background:var(--color-text-on-primary);border-radius:var(--radius-full);content:"";height:10px;transform:scale(0);transition:transform .15s ease;width:10px}.category-radio:checked{background:var(--color-primary);border-color:var(--color-primary)}.category-radio:checked:before{transform:scale(1)}.category-radio:disabled{cursor:not-allowed;opacity:.5}.correct-answer{background-color:var(--green-100)!important;border-left:4px solid var(--color-success)}.correct-answer .item-name,.correct-answer td{color:var(--green-800)}.incorrect-answer{background-color:var(--red-100)!important;border-left:4px solid var(--color-danger)}.incorrect-answer .item-name,.incorrect-answer td{color:var(--red-800)}.correct-answer:hover{background-color:var(--green-100)!important}.incorrect-answer:hover{background-color:var(--red-100)!important}.results-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-5)}.results-panel h4{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0 0 var(--space-2) 0}.results-panel p{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--fw-medium);margin:0}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.btn-primary{border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-semibold);min-width:140px;padding:var(--space-3) var(--space-6);transition:all .2s ease}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{background:var(--color-border-strong);box-shadow:none;color:var(--color-text-on-primary);cursor:not-allowed;opacity:.7;transform:none}.btn-secondary{border:2px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--text-base);font-weight:var(--fw-semibold);min-width:140px;padding:var(--space-3) var(--space-6);transition:all .2s ease}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface);border-color:var(--color-text-subtle);transform:translateY(-1px)}.btn-secondary:disabled{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-subtle);cursor:not-allowed;transform:none}.loading-container{background:var(--color-bg);color:var(--color-text-muted);min-height:60vh}.loading-spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-primary-subtle);height:48px;margin-bottom:var(--space-4);width:48px}.error-container{background:var(--color-bg);margin:0 auto;max-width:500px;padding:var(--space-10) var(--space-5);text-align:center}.error-container h2{color:var(--color-danger);font-size:var(--text-2xl);margin-bottom:var(--space-4)}.error-container p{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--lh-relaxed);margin-bottom:var(--space-6)}@media (max-width:768px){.sorting-container{padding:var(--space-4)}.question-header{align-items:stretch;flex-direction:column;text-align:center}.question-header h2{font-size:var(--text-2xl)}.question-counter{align-self:center}.question-panel{padding:var(--space-5) var(--space-4)}.question-panel h3{font-size:var(--text-lg)}.sorting-table td,.sorting-table th{font-size:var(--text-sm);padding:var(--space-3) var(--space-2)}.item-name{padding-left:var(--space-3)!important}.sorting-table th:first-child{padding-left:var(--space-3)}.action-buttons{align-items:stretch;flex-direction:column}.btn-primary,.btn-secondary{min-width:auto;width:100%}}@media (max-width:480px){.sorting-table-container{font-size:var(--text-xs)}.sorting-table td,.sorting-table th{padding:var(--space-2) var(--space-1)}.item-name{padding-left:var(--space-2)!important}.sorting-table th:first-child{padding-left:var(--space-2)}.category-radio{height:16px;width:16px}}@media (display-mode:standalone){.sorting-container{padding-top:var(--space-10)}}.info-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--fw-semibold);height:36px;justify-content:center;min-width:36px;padding:var(--space-2) var(--space-3);transition:all .2s ease}.info-btn:hover{background:var(--color-primary-subtle);transform:scale(1.05)}.qr-title{color:var(--color-text);font-family:Georgia,Times New Roman,Iowan Old Style,serif;font-size:var(--text-3xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);margin:0 0 var(--space-3)}.qr-lede{color:var(--color-text-muted);font-size:var(--text-lg);line-height:var(--lh-relaxed);margin:0 0 var(--space-6)}.qr-section{margin-bottom:var(--space-5)}.qr-section-label{color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.05em;margin:0 0 var(--space-2);text-transform:uppercase}.qr-prose{color:var(--color-text);font-size:var(--text-base);line-height:var(--lh-relaxed);margin:0}.qr-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding-left:var(--space-5)}.qr-list li{color:var(--color-text);font-size:var(--text-base);line-height:var(--lh-relaxed)}.qr-pearl{align-items:flex-start;background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-md);display:flex;gap:var(--space-3);margin:var(--space-6) 0 0;padding:var(--space-4) var(--space-5)}.qr-pearl-icon{color:var(--color-primary);display:inline-flex;flex-shrink:0;margin-top:2px}.qr-pearl-body{display:flex;flex-direction:column;gap:var(--space-1)}.qr-pearl-label{color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.05em;text-transform:uppercase}.qr-pearl-text{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0}@media (min-width:720px){.qr-title{font-size:var(--text-4xl)}}.qr-modal-backdrop{align-items:center;background:#0f172a80;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:1200}.qr-modal{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:85vh;max-width:640px;overflow:hidden;width:100%}.qr-modal-head{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--space-4) var(--space-5)}.qr-modal-eyebrow{color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}.qr-close{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex}.qr-close:hover{color:var(--color-text)}.qr-modal-body{-webkit-overflow-scrolling:touch;overflow-y:auto;padding:var(--space-5)}.qr-modal-foot{border-top:1px solid var(--color-border);flex-shrink:0;padding:var(--space-4) var(--space-5)}.qr-open-full{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);padding:var(--space-3) var(--space-5)}.qr-open-full:hover{background:var(--color-primary-hover)}.qr-error{background:var(--red-100);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--red-800);font-size:var(--text-sm);padding:var(--space-3) var(--space-4)}.qr-spinner{animation:qr-spin 1s linear infinite;border:3px solid var(--color-border);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:36px;margin:var(--space-6) auto;width:36px}@keyframes qr-spin{to{transform:rotate(1turn)}}@media (max-width:600px){.qr-modal-backdrop{align-items:flex-end;padding:0}.qr-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92vh;max-width:100%}.qr-modal-foot{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom, 0px))}}.tq-page{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh}.tq-body{margin:0 auto;max-width:680px;padding:var(--space-5) var(--space-4) var(--space-12)}.tq-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}.tq-title{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-5)}.tq-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.tq-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);font-weight:var(--fw-semibold);padding:0}.tq-topic-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:var(--space-6)}.tq-topic{align-items:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);justify-content:space-between;padding:var(--space-3) var(--space-4);transition:border-color .15s ease,background .15s ease}.tq-topic:hover{border-color:var(--color-border-strong)}.tq-topic.is-selected{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.tq-topic-count{background:var(--color-surface);border-radius:var(--radius-full);color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);padding:2px var(--space-2)}.tq-topic.is-selected .tq-topic-count{background:var(--color-primary);color:var(--color-text-on-primary)}.tq-count-row{align-items:center;display:flex;gap:var(--space-3);margin-bottom:var(--space-6)}.tq-count-label{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.tq-stepper{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.tq-step-btn{background:var(--color-surface);border:none;color:var(--color-text);cursor:pointer;font-size:var(--text-lg);height:38px;width:38px}.tq-step-btn:disabled{cursor:default;opacity:.4}.tq-count-input{-moz-appearance:textfield;background:var(--color-surface-raised);border:none;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);height:38px;text-align:center;width:56px}.tq-count-input::-webkit-inner-spin-button,.tq-count-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tq-count-max{color:var(--color-text-subtle);font-size:var(--text-xs)}.tq-primary{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-6);transition:background .2s ease,opacity .2s ease;width:100%}.tq-primary:hover:not(:disabled){background:var(--color-primary-hover)}.tq-primary:disabled{cursor:default;opacity:.5}.tq-secondary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-5)}.tq-secondary:disabled{cursor:default;opacity:.5}.tq-progress{margin-bottom:var(--space-4)}.tq-progress-track{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);height:8px;overflow:hidden}.tq-progress-fill{background:var(--color-primary);height:100%;transition:width .25s ease}.tq-progress-text{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-top:var(--space-2)}.tq-qhead{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-3)}.tq-qnum{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.tq-chips{display:inline-flex;gap:var(--space-2)}.tq-chip{border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px var(--space-2)}.tq-chip--topic{background:var(--color-primary-subtle);border-color:#0000;color:var(--color-primary)}.tq-chip--diff.diff-easy{background:var(--green-100);border-color:#0000;color:var(--green-800)}.tq-chip--diff.diff-medium{background:var(--amber-100);border-color:#0000;color:var(--amber-800)}.tq-chip--diff.diff-hard{background:var(--red-100);border-color:#0000;color:var(--red-800)}.tq-stem{color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-semibold);line-height:var(--lh-normal);margin:0 0 var(--space-4)}.tq-options{flex-direction:column}.tq-option,.tq-options{display:flex;gap:var(--space-3)}.tq-option{align-items:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.tq-option:hover:not(.tq-option--static){border-color:var(--color-border-strong)}.tq-option--static{cursor:default}.tq-option-label{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);height:26px;justify-content:center;width:26px}.tq-option-text{flex:1 1;line-height:var(--lh-normal)}.tq-option-mark{flex-shrink:0;font-weight:var(--fw-bold)}.tq-mark-correct{color:var(--color-success)}.tq-mark-wrong{color:var(--color-danger)}.tq-option.is-chosen{background:var(--color-primary-subtle);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.tq-option.is-chosen .tq-option-label{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.tq-option.is-correct{background:var(--green-100);border-color:var(--color-success);color:var(--green-800)}.tq-option.is-correct .tq-option-label{background:var(--color-success);border-color:var(--color-success);color:#fff}.tq-option.is-wrong{background:var(--red-100);border-color:var(--color-danger);color:var(--red-800)}.tq-option.is-wrong .tq-option-label{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.tq-option.is-muted{opacity:.6}.tq-nav{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-top:var(--space-4)}.tq-nav-next{flex:1 1;width:auto}.tq-dots{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-4)}.tq-dot{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);font-weight:var(--fw-semibold);height:30px;width:30px}.tq-dot.is-done{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.tq-dot.is-current{box-shadow:0 0 0 2px var(--color-primary)}.tq-score-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-5);padding:var(--space-6);text-align:center}.tq-score-card.is-pass{background:var(--green-100);border-color:var(--color-success)}.tq-score-card.is-fail{background:var(--amber-100);border-color:var(--color-warning)}.tq-score-big{color:var(--color-text);font-size:var(--text-4xl);font-weight:var(--fw-extra);line-height:var(--lh-tight)}.tq-score-of{color:var(--color-text-muted);font-size:var(--text-2xl);font-weight:var(--fw-bold)}.tq-score-pct{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--fw-bold)}.tq-score-topic{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.tq-review{display:flex;flex-direction:column;gap:var(--space-4)}.tq-review-card{padding:var(--space-5)}.tq-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:2px var(--space-3)}.tq-badge.is-correct{background:var(--green-100);color:var(--green-800)}.tq-badge.is-wrong{background:var(--red-100);color:var(--red-800)}.tq-rationale{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-4);padding:var(--space-4)}.tq-rationale-label{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.05em;margin-bottom:var(--space-2);text-transform:uppercase}.tq-rationale-text{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0}.tq-ref-chip{align-items:center;background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-4);transition:background .15s ease,box-shadow .15s ease}.tq-ref-chip:hover{box-shadow:0 0 0 3px var(--color-primary-subtle)}.tq-newquiz{margin-top:var(--space-6)}.tq-error{background:var(--red-100);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--red-800);font-size:var(--text-sm);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4)}.tq-spinner{animation:tq-spin 1s linear infinite;border:3px solid var(--color-border);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:40px;margin:var(--space-4) auto;width:40px}@keyframes tq-spin{to{transform:rotate(1turn)}}.ecg-strip-status{background:#fff5f6;border:1px solid #e7a7af;border-radius:8px;color:#6b7280;font-size:.9rem;margin:12px 0;padding:16px;text-align:center}.ecg-strip-status--error{color:#b42318}.ex-ecg{border:1px solid #e7a7af;border-radius:8px;margin:12px 0 4px;overflow:hidden}.ex-page{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh}.ex-body{margin:0 auto;max-width:680px;padding:var(--space-5) var(--space-4) var(--space-12)}.ex-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}.ex-title{font-size:var(--text-xl);margin:0 0 var(--space-4)}.ex-section-title,.ex-title{color:var(--color-text);font-weight:var(--fw-bold)}.ex-section-title{font-size:var(--text-base);margin:0 0 var(--space-3)}.ex-review-title{margin-top:var(--space-6)}.ex-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.ex-center{text-align:center}.ex-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);font-weight:var(--fw-semibold);padding:0}.ex-disclosure{display:flex;flex-direction:column;gap:var(--space-3);margin:0 0 var(--space-5);padding-left:var(--space-5)}.ex-disclosure li{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed)}.ex-disclosure strong{font-weight:var(--fw-bold)}.ex-ack{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--fw-medium);gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4)}.ex-ack input{accent-color:var(--color-primary);flex-shrink:0;height:18px;margin-top:3px;width:18px}.ex-mode-row{display:flex;gap:var(--space-3)}.ex-primary{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;display:inline-flex;flex:1 1;flex-direction:column;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);gap:2px;padding:var(--space-3) var(--space-6);transition:background .2s ease,opacity .2s ease}.ex-primary:hover:not(:disabled){background:var(--color-primary-hover)}.ex-primary:disabled{cursor:default;opacity:.5}.ex-secondary{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;flex:1 1;flex-direction:column;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);gap:2px;padding:var(--space-3) var(--space-6)}.ex-secondary:disabled{cursor:default;opacity:.5}.ex-mode-sub{font-size:var(--text-xs);font-weight:var(--fw-regular);opacity:.75}.ex-next{flex:none;margin-top:var(--space-4);width:100%}.ex-newexam{flex:none;margin-top:var(--space-6);width:100%}.ex-nofeedback{color:var(--color-text-subtle);font-size:var(--text-xs);margin:var(--space-3) 0 0;text-align:center}.ex-runbar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.ex-runpos{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-bold)}.ex-runlen{color:var(--color-text-muted);flex:1 1;font-size:var(--text-xs);text-align:center}.ex-timer{font-feature-settings:"tnum";background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);padding:2px var(--space-2)}.ex-timer.is-low{background:var(--red-100);border-color:var(--color-danger);color:var(--red-800)}.ex-qhead{align-items:center;display:flex;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-3)}.ex-qnum{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.ex-chips{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.ex-chip{border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px var(--space-2)}.ex-chip--topic{background:var(--color-primary-subtle);border-color:#0000;color:var(--color-primary)}.ex-chip--diff.diff-easy{background:var(--green-100);border-color:#0000;color:var(--green-800)}.ex-chip--diff.diff-medium{background:var(--amber-100);border-color:#0000;color:var(--amber-800)}.ex-chip--diff.diff-hard{background:var(--red-100);border-color:#0000;color:var(--red-800)}.ex-stem{color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-semibold);line-height:var(--lh-normal);margin:0 0 var(--space-4)}.ex-options{flex-direction:column}.ex-option,.ex-options{display:flex;gap:var(--space-3)}.ex-option{align-items:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.ex-option:hover:not(.ex-option--static){border-color:var(--color-border-strong)}.ex-option--static{cursor:default}.ex-option-label{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);height:26px;justify-content:center;width:26px}.ex-option-text{flex:1 1;line-height:var(--lh-normal)}.ex-option-mark{flex-shrink:0;font-weight:var(--fw-bold)}.ex-mark-correct{color:var(--color-success)}.ex-mark-wrong{color:var(--color-danger)}.ex-option.is-chosen{background:var(--color-primary-subtle);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.ex-option.is-chosen .ex-option-label{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.ex-option.is-correct{background:var(--green-100);border-color:var(--color-success);color:var(--green-800)}.ex-option.is-correct .ex-option-label{background:var(--color-success);border-color:var(--color-success);color:#fff}.ex-option.is-wrong{background:var(--red-100);border-color:var(--color-danger);color:var(--red-800)}.ex-option.is-wrong .ex-option-label{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.ex-option.is-muted{opacity:.6}.ex-result-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-5);padding:var(--space-6);text-align:center}.ex-result-eyebrow{color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}.ex-result-label{color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);margin:var(--space-2) 0 var(--space-5)}.ex-metrics{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.ex-metric{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:120px;padding:var(--space-3)}.ex-metric-value{font-feature-settings:"tnum";color:var(--color-text);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:var(--fw-extra)}.ex-cut-note,.ex-metric-label{color:var(--color-text-muted);font-size:var(--text-xs)}.ex-cut-note{margin:var(--space-4) 0 0}.ex-domain-table{border-collapse:collapse;font-size:var(--text-sm);width:100%}.ex-domain-table td,.ex-domain-table th{border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left}.ex-domain-table th{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.ex-domain-table td{color:var(--color-text)}.ex-domain-table td:not(:first-child),.ex-domain-table th:not(:first-child){text-align:center;width:72px}.ex-domain-table tr:last-child td{border-bottom:none}.ex-disclaimer{background:var(--amber-100);border:1px solid var(--color-warning);border-radius:var(--radius-md);color:var(--amber-800);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:var(--space-5) 0;padding:var(--space-4) var(--space-5)}.ex-review{display:flex;flex-direction:column;gap:var(--space-4)}.ex-review-card{padding:var(--space-5)}.ex-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:2px var(--space-3)}.ex-badge.is-correct{background:var(--green-100);color:var(--green-800)}.ex-badge.is-wrong{background:var(--red-100);color:var(--red-800)}.ex-rationale{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-4);padding:var(--space-4)}.ex-rationale-label{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.05em;margin-bottom:var(--space-2);text-transform:uppercase}.ex-rationale-text{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0}.ex-error{background:var(--red-100);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--red-800);font-size:var(--text-sm);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4)}.ex-spinner{animation:ex-spin 1s linear infinite;border:3px solid var(--color-border);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:40px;margin:var(--space-4) auto;width:40px}@keyframes ex-spin{to{transform:rotate(1turn)}}.cj-page{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh}.cj-body{margin:0 auto;max-width:720px;padding:var(--space-5) var(--space-4) calc(var(--space-12) + 64px)}.cj-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);padding:var(--space-5)}.cj-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.cj-center{text-align:center}.cj-eyebrow{font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}.cj-eyebrow,.cj-link{color:var(--color-primary)}.cj-link{background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-weight:var(--fw-semibold);padding:0}.cj-levels{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);display:inline-flex;gap:2px;margin-bottom:var(--space-5);padding:3px}.cj-level-opt{background:#0000;border:none;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-5);transition:background .15s ease,color .15s ease}.cj-level-opt.is-active{background:var(--color-primary);color:var(--color-text-on-primary)}.cj-note{background:var(--color-primary-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);line-height:var(--lh-relaxed);margin-bottom:var(--space-5);padding:var(--space-4)}.cj-error,.cj-note{font-size:var(--text-sm)}.cj-error{background:var(--red-100);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--red-800);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4)}.cj-hint{color:var(--color-text-subtle);font-size:var(--text-xs);margin:var(--space-3) 0 0}.cj-case-list{flex-direction:column}.cj-case,.cj-case-list{display:flex;gap:var(--space-3)}.cj-case{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);padding:var(--space-4);text-align:left;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.cj-case:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.cj-case:disabled{cursor:default;opacity:.6}.cj-case--test{border-style:dashed}.cj-case-main{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.cj-case-title{font-size:var(--text-base);font-weight:var(--fw-semibold)}.cj-case-summary{color:var(--color-text-muted);font-size:var(--text-sm)}.cj-case-domain{background:var(--color-primary-subtle);border-radius:var(--radius-full);color:var(--color-primary);flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px var(--space-3)}.cj-case-go{color:var(--color-text-subtle);flex-shrink:0}.cj-test-zone{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.cj-test-toggle{align-self:flex-start;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--fw-semibold);text-decoration:underline}.cj-progress{margin-bottom:var(--space-4)}.cj-progress-track{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);height:8px;overflow:hidden}.cj-progress-fill{background:var(--color-primary);height:100%;transition:width .25s ease}.cj-progress-text{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-top:var(--space-2)}.cj-vignette{background:var(--navy-surface);border-color:var(--navy-border)}.cj-vignette .cj-eyebrow{color:var(--color-accent)}.cj-vignette-text{color:var(--color-text-on-primary);font-size:var(--text-base);line-height:var(--lh-relaxed);margin:var(--space-2) 0 0}.cj-phase{margin-bottom:var(--space-2)}.cj-phase-title{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-bold);letter-spacing:.04em;margin:var(--space-5) 0 var(--space-3);text-transform:uppercase}.cj-phase-narrative{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0 0 var(--space-3)}.cj-item-head{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.cj-item-num{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.cj-item-type{background:var(--color-primary-subtle);border-radius:var(--radius-full);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px var(--space-2)}.cj-item-stage{color:var(--color-text-subtle);font-size:var(--text-xs)}.cj-stem{color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-semibold);line-height:var(--lh-normal);margin:0 0 var(--space-4);white-space:pre-line}.cj-choices{flex-direction:column}.cj-choice,.cj-choices{display:flex;gap:var(--space-3)}.cj-choice{align-items:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.cj-choice:hover:not(:disabled){border-color:var(--color-border-strong)}.cj-choice:disabled{cursor:default}.cj-choice.is-chosen{background:var(--color-primary-subtle);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.cj-choice-label{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);display:inline-flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);height:26px;justify-content:center;width:26px}.cj-choice.is-chosen .cj-choice-label{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.cj-choice-text{flex:1 1;line-height:var(--lh-normal)}.cj-checkbox{align-items:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);color:#fff;display:inline-flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);height:22px;justify-content:center;width:22px}.cj-checkbox.is-on{background:var(--color-primary);border-color:var(--color-primary)}.cj-order{display:flex;flex-direction:column;gap:var(--space-2)}.cj-order-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-3);padding:var(--space-3)}.cj-order-num{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-text-on-primary);display:inline-flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);height:24px;justify-content:center;width:24px}.cj-order-text{flex:1 1;font-size:var(--text-sm)}.cj-order-ctrls{display:inline-flex;flex-shrink:0;gap:var(--space-1)}.cj-order-btn{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);height:30px;width:30px}.cj-order-btn:disabled{cursor:default;opacity:.35}.cj-grid-wrap{overflow-x:auto}.cj-grid{border-collapse:collapse;font-size:var(--text-sm);width:100%}.cj-grid td,.cj-grid th{border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-3)}.cj-grid th{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-align:center;text-transform:uppercase}.cj-grid-rowlabel{color:var(--color-text);font-weight:var(--fw-medium)}.cj-grid-cell{text-align:center}.cj-grid-cell input{accent-color:var(--color-primary);cursor:pointer;height:18px;width:18px}.cj-dragdrop{display:flex;flex-direction:column;gap:var(--space-3)}.cj-cats{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.cj-zone{background:var(--color-surface);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);min-height:70px;padding:var(--space-3)}.cj-zone.is-over{background:var(--color-primary-subtle);border-color:var(--color-primary)}.cj-zone-name{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-xs);font-weight:var(--fw-bold);gap:var(--space-2);letter-spacing:.04em;margin-bottom:var(--space-2);text-transform:uppercase}.cj-zone-count{background:var(--color-primary);border-radius:var(--radius-full);color:var(--color-text-on-primary);font-size:10px;padding:0 6px}.cj-zone-body{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cj-zone-empty{color:var(--color-text-subtle);font-size:var(--text-xs)}.cj-chip{background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:grab;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);padding:var(--space-2) var(--space-3);touch-action:none}.cj-chip.is-dragging{border-color:var(--color-primary);box-shadow:var(--shadow-md);opacity:.85}.cj-graphical{display:flex;flex-direction:column;gap:var(--space-4)}.cj-image{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.cj-image-img{display:block;height:auto;width:100%}.cj-image-placeholder{align-items:center;color:var(--color-text-subtle);display:flex;flex-direction:column;gap:var(--space-1);justify-content:center;padding:var(--space-8)}.cj-image-ref{font-family:monospace;font-size:var(--text-xs)}.cj-primary{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-6);transition:background .2s ease,opacity .2s ease;width:100%}.cj-primary:hover:not(:disabled){background:var(--color-primary-hover)}.cj-primary:disabled{cursor:default;opacity:.5}.cj-submit{margin-top:var(--space-4)}.cj-newcase{margin-top:var(--space-6)}.cj-nofeedback{color:var(--color-text-subtle);font-size:var(--text-xs);margin:var(--space-3) 0 0;text-align:center}.cj-score-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--space-5);padding:var(--space-6);text-align:center}.cj-complete-check{align-items:center;background:var(--green-100);border-radius:var(--radius-full);color:var(--color-success);display:inline-flex;height:64px;justify-content:center;margin-bottom:var(--space-3);width:64px}.cj-complete-title{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-3)}.cj-complete-msg{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:var(--space-4) auto 0;max-width:360px}.cj-complete-actions{margin-top:var(--space-5)}.cj-secondary-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-6)}.cj-secondary-btn:hover:not(:disabled){border-color:var(--color-border-strong)}.cj-secondary-btn:disabled{cursor:default;opacity:.5}[data-theme=dark] .cj-complete-check{background:#16a34a2e}.cj-score-big{color:var(--color-text);font-size:var(--text-4xl);font-weight:var(--fw-extra);line-height:var(--lh-tight)}.cj-score-of{color:var(--color-text-muted);font-size:var(--text-2xl);font-weight:var(--fw-bold)}.cj-score-pct{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--fw-bold)}.cj-score-title{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.cj-review{display:flex;flex-direction:column;gap:var(--space-4)}.cj-review-card{padding:var(--space-5)}.cj-badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--fw-bold);padding:2px var(--space-3)}.cj-badge.is-correct{background:var(--green-100);color:var(--green-800)}.cj-badge.is-wrong{background:var(--red-100);color:var(--red-800)}.cj-rev-row{border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);padding:var(--space-2) 0}.cj-rev-key{color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase;width:110px}.cj-rev-val{color:var(--color-text);flex:1 1;font-size:var(--text-sm)}.cj-rev-val.ok{color:var(--green-800);font-weight:var(--fw-medium)}.cj-rev-val.bad{color:var(--red-800);font-weight:var(--fw-medium)}.cj-rationale{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--space-3);padding:var(--space-4)}.cj-rationale-label{color:var(--color-text-muted);display:block;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.05em;margin-bottom:var(--space-2);text-transform:uppercase}.cj-rationale-text{color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin:0}.cj-spinner{animation:cj-spin 1s linear infinite;border:3px solid var(--color-border);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:40px;margin:var(--space-4) auto;width:40px}@keyframes cj-spin{to{transform:rotate(1turn)}}[data-theme=dark] .cj-rev-val.ok{color:var(--green-100)}[data-theme=dark] .cj-rev-val.bad{color:var(--red-100)}[data-theme=dark] .cj-badge.is-correct{background:#16a34a33;color:var(--green-100)}[data-theme=dark] .cj-badge.is-wrong{background:#dc262633;color:var(--red-100)}.ecgp-page{background:var(--color-surface);font-family:var(--font-sans);min-height:100vh}.ecgp-body{margin:0 auto;max-width:720px}.ecgp-body,.ecgp-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.ecgp-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ecgp-muted{color:var(--color-text-muted)}.ecgp-center,.ecgp-error{text-align:center}.ecgp-error{color:var(--color-danger)}.ecgp-tally{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-4);justify-content:center}.ecgp-stat strong{color:var(--color-text);font-size:var(--text-md)}.ecgp-streak{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ecgp-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ecgp-chip{background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:999px;border-radius:var(--radius-pill,999px);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);padding:var(--space-2) var(--space-3);transition:border-color .15s ease,background .15s ease,color .15s ease}.ecgp-chip:hover{border-color:var(--color-border-strong)}.ecgp-chip.is-active{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.ecgp-prompt{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:.04em;margin:0;text-transform:uppercase}.ecgp-strip{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.ecgp-options{flex-direction:column}.ecgp-option,.ecgp-options{display:flex;gap:var(--space-3)}.ecgp-option{align-items:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-md);justify-content:space-between;min-height:56px;padding:var(--space-3) var(--space-4);text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.ecgp-option:hover:not(:disabled){border-color:var(--color-border-strong)}.ecgp-option:disabled{cursor:default}.ecgp-option.is-correct{background:#dcfce7;background:var(--color-success-subtle,#dcfce7);border-color:#16a34a;border-color:var(--color-success,#16a34a);color:#14532d;color:var(--color-success-strong,#14532d)}.ecgp-option.is-wrong{background:#fee2e2;background:var(--color-danger-subtle,#fee2e2);border-color:#dc2626;border-color:var(--color-danger,#dc2626);color:#7f1d1d;color:var(--color-danger-strong,#7f1d1d)}.ecgp-option.is-muted{opacity:.6}.ecgp-option-text{flex:1 1}.ecgp-mark{color:#16a34a;color:var(--color-success,#16a34a);font-weight:var(--fw-bold)}.ecgp-mark-wrong{color:#dc2626;color:var(--color-danger,#dc2626)}.ecgp-feedback{align-items:stretch;display:flex;flex-direction:column;gap:var(--space-3)}.ecgp-result{font-weight:var(--fw-semibold);margin:0}.ecgp-result.is-correct{color:#14532d;color:var(--color-success-strong,#14532d)}.ecgp-result.is-wrong{color:#7f1d1d;color:var(--color-danger-strong,#7f1d1d)}.ecgp-why{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.ecgp-why-title{font-weight:var(--fw-semibold)}.ecgp-why-list,.ecgp-why-title{color:var(--color-text);font-size:var(--text-sm);margin:0}.ecgp-why-list{display:flex;flex-direction:column;gap:var(--space-1);padding-left:1.1rem}.ecgp-why-pearl{background:var(--color-primary-subtle);border-left:3px solid var(--color-primary);border-radius:6px;border-radius:var(--radius-sm,6px);color:var(--color-text);font-size:var(--text-sm);margin:var(--space-1) 0 0;padding:var(--space-2) var(--space-3)}.ecgp-reflink{align-self:flex-start;background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:0}.ecgp-reflink:hover{text-decoration:underline}.ecgp-next{border:none;border-radius:var(--radius-md);color:#fff;color:var(--color-on-primary,#fff);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--fw-semibold);min-height:52px;width:100%}.ecgp-next,.ecgp-next:hover{background:var(--color-primary)}.ecgp-next:hover{background:var(--color-primary-strong,var(--color-primary))}.ecgp-hint{color:var(--color-text-muted);font-size:var(--text-xs);margin:0;text-align:center}.ecgp-spinner{animation:ecgp-spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:28px;margin:0 auto var(--space-3);width:28px}@keyframes ecgp-spin{to{transform:rotate(1turn)}}.abgp-page{background:var(--color-surface);font-family:var(--font-sans);min-height:100vh}.abgp-body{margin:0 auto;max-width:720px}.abgp-body,.abgp-card{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.abgp-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.abgp-muted{color:var(--color-text-muted)}.abgp-center,.abgp-error{text-align:center}.abgp-error{color:var(--color-danger)}.abgp-tally{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-4);justify-content:center}.abgp-stat strong{color:var(--color-text);font-size:var(--text-md)}.abgp-streak{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.abgp-tier{display:flex;gap:var(--space-2);justify-content:center}.abgp-tier-btn{background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:999px;border-radius:var(--radius-pill,999px);color:var(--color-text);cursor:pointer;flex:1 1;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);max-width:220px;padding:var(--space-3) var(--space-4);transition:border-color .15s ease,background .15s ease,color .15s ease}.abgp-tier-btn:hover{border-color:var(--color-border-strong)}.abgp-tier-btn.is-active{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.abgp-scope-badge{background:#fef3c7;background:var(--amber-100,#fef3c7);border-radius:999px;border-radius:var(--radius-pill,999px);color:#92400e;color:var(--amber-800,#92400e);font-size:var(--text-xs);font-weight:var(--fw-semibold);margin:0 auto;padding:var(--space-1) var(--space-3);text-align:center}.abgp-prompt{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:.04em;margin:0;text-transform:uppercase}.abgp-values{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(3,1fr)}.abgp-value{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-2);text-align:center}.abgp-value-label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.abgp-value-num{font-feature-settings:"tnum";color:var(--color-text);font-size:1.5rem;font-size:var(--text-2xl,1.5rem);font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);line-height:1.1}.abgp-value-unit{font-weight:var(--fw-medium)}.abgp-value-range,.abgp-value-unit{color:var(--color-text-muted);font-size:var(--text-xs)}.abgp-options{flex-direction:column}.abgp-option,.abgp-options{display:flex;gap:var(--space-3)}.abgp-option{align-items:center;background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-md);justify-content:space-between;min-height:56px;padding:var(--space-3) var(--space-4);text-align:left;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.abgp-option:hover:not(:disabled){border-color:var(--color-border-strong)}.abgp-option:disabled{cursor:default}.abgp-option.is-correct{background:#dcfce7;background:var(--color-success-subtle,#dcfce7);border-color:#16a34a;border-color:var(--color-success,#16a34a);color:#14532d;color:var(--color-success-strong,#14532d)}.abgp-option.is-wrong{background:#fee2e2;background:var(--color-danger-subtle,#fee2e2);border-color:#dc2626;border-color:var(--color-danger,#dc2626);color:#7f1d1d;color:var(--color-danger-strong,#7f1d1d)}.abgp-option.is-muted{opacity:.6}.abgp-option-text{flex:1 1}.abgp-mark{color:#16a34a;color:var(--color-success,#16a34a);font-weight:var(--fw-bold)}.abgp-mark-wrong{color:#dc2626;color:var(--color-danger,#dc2626)}.abgp-feedback{align-items:stretch;display:flex;flex-direction:column;gap:var(--space-3)}.abgp-result{font-weight:var(--fw-semibold);margin:0}.abgp-result.is-correct{color:#14532d;color:var(--color-success-strong,#14532d)}.abgp-result.is-wrong{color:#7f1d1d;color:var(--color-danger-strong,#7f1d1d)}.abgp-why{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.abgp-why-title{font-weight:var(--fw-semibold)}.abgp-why-text,.abgp-why-title{color:var(--color-text);font-size:var(--text-sm);margin:0}.abgp-why-text{line-height:1.5}.abgp-next{border:none;border-radius:var(--radius-md);color:#fff;color:var(--color-on-primary,#fff);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--fw-semibold);min-height:52px;width:100%}.abgp-next,.abgp-next:hover{background:var(--color-primary)}.abgp-next:hover{background:var(--color-primary-strong,var(--color-primary))}.abgp-hint{color:var(--color-text-muted);font-size:var(--text-xs);margin:0;text-align:center}.abgp-spinner{animation:abgp-spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:28px;margin:0 auto var(--space-3);width:28px}@keyframes abgp-spin{to{transform:rotate(1turn)}}.mm-page{background:var(--color-surface);font-family:var(--font-sans);min-height:100vh}.mm-body{gap:var(--space-4);margin:0 auto;max-width:760px}.mm-body,.mm-card{display:flex;flex-direction:column;padding:var(--space-4)}.mm-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:var(--space-3)}.mm-muted{color:var(--color-text-muted)}.mm-center{align-items:center;text-align:center}.mm-error{color:var(--color-danger);text-align:center}.mm-intro{font-size:var(--text-sm);margin:0}.band-weak{--band:var(--color-danger,#dc2626);--band-soft:var(--color-danger-subtle,#fee2e2)}.band-developing{--band:var(--color-warning,#d97706);--band-soft:var(--color-warning-subtle,#fef3c7)}.band-strong{--band:var(--color-success,#16a34a);--band-soft:var(--color-success-subtle,#dcfce7)}.band-not_assessed{--band:var(--color-text-muted,#6b7280);--band-soft:var(--color-surface,#f3f4f6)}.mm-grid{display:flex;flex-direction:column;gap:var(--space-3)}.mm-tile{background:var(--color-surface-raised);border:1px solid var(--color-border);border-left:4px solid var(--band);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.mm-tile-head{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-family:var(--font-sans);gap:var(--space-3);justify-content:space-between;min-height:64px;padding:var(--space-3) var(--space-4);text-align:left;width:100%}.mm-tile-main{display:flex;flex-direction:column;gap:2px}.mm-tile-name{color:var(--color-text);font-size:var(--text-md);font-weight:var(--fw-semibold)}.mm-tile-meta{color:var(--color-text-muted);font-size:var(--text-xs)}.mm-tile-right{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.mm-score{font-feature-settings:"tnum";color:var(--color-text);font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:var(--fw-bold)}.mm-band{background:var(--band-soft);border-radius:999px;border-radius:var(--radius-pill,999px);color:var(--band);font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:2px 8px}.mm-detail{flex-direction:column;gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.mm-detail,.mm-detail-actions{display:flex}.mm-cta{border:none;border-radius:var(--radius-md);color:#fff;color:var(--color-on-primary,#fff);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);min-height:44px;padding:0 var(--space-4)}.mm-cta,.mm-cta:hover{background:var(--color-primary)}.mm-cta:hover{background:var(--color-primary-strong,var(--color-primary))}.mm-conditions{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.mm-cond{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--band);border-radius:var(--radius-md);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-2) var(--space-3)}.mm-cond-main{display:flex;flex-direction:column;gap:2px}.mm-cond-name{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-medium)}.mm-cond-meta{color:var(--color-text-muted);font-size:var(--text-xs)}.mm-cond-right{align-items:center;display:flex;gap:var(--space-3)}.mm-reflink{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:0;white-space:nowrap}.mm-reflink:hover{text-decoration:underline}.mm-cond-empty{font-size:var(--text-xs);margin:0}.mm-spinner{animation:mm-spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:28px;margin:0 auto var(--space-3);width:28px}@keyframes mm-spin{to{transform:rotate(1turn)}}.audio-page{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh}.audio-body{margin:0 auto;max-width:680px;padding:var(--space-5) var(--space-4) calc(var(--space-12) + 96px)}.audio-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6)}.audio-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.audio-center{text-align:center}.audio-note{background:var(--color-primary-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-sm);line-height:var(--lh-relaxed);margin-bottom:var(--space-5);padding:var(--space-4)}.audio-error{background:var(--red-100);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--red-800);font-size:var(--text-sm);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4)}.audio-empty{text-align:center}.audio-empty-title{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}.audio-cat{margin-bottom:var(--space-6)}.audio-cat-title{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-bold);letter-spacing:.04em;margin:0 0 var(--space-3);text-transform:uppercase}.audio-list{display:flex;flex-direction:column;gap:var(--space-2)}.audio-item{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;font-family:var(--font-sans);gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.audio-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.audio-item.is-playing{background:var(--color-primary-subtle);border-color:var(--color-primary)}.audio-item.is-locked{cursor:pointer;opacity:.65}.audio-item.is-locked:hover{border-color:var(--color-border-strong);box-shadow:none}.audio-item.is-locked .audio-item-icon{color:var(--color-text-subtle)}.audio-item-icon{align-items:center;background:var(--color-primary-subtle);border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.audio-item.is-locked .audio-item-icon{background:var(--color-surface)}.audio-item-main{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.audio-item-title{font-size:var(--text-base);font-weight:var(--fw-semibold)}.audio-item-sub{color:var(--color-text-muted);font-size:var(--text-xs)}.audio-item-cta{background:var(--color-primary-subtle);border-radius:var(--radius-full);color:var(--color-primary);flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);padding:2px var(--space-3)}.audio-player{background:var(--color-surface-raised);border-top:1px solid var(--color-border);bottom:0;box-shadow:0 -2px 12px #0f172a1a;display:flex;flex-direction:column;gap:var(--space-2);left:0;padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:1100}.audio-player-row{align-items:center;display:flex;gap:var(--space-3)}.audio-player-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.audio-player-title{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-semibold)}.audio-player-cat,.audio-player-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-player-cat{color:var(--color-text-muted);font-size:var(--text-xs)}.audio-player-close{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0}.audio-player-close:hover{color:var(--color-text)}.audio-player-controls{display:flex;gap:var(--space-5)}.audio-ctrl,.audio-player-controls{align-items:center;justify-content:center}.audio-ctrl{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;display:inline-flex;height:40px;transition:border-color .15s ease,background .15s ease;width:40px}.audio-ctrl:hover{border-color:var(--color-border-strong)}.audio-ctrl-main{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary);height:52px;width:52px}.audio-ctrl-main:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.audio-player-scrub{align-items:center;display:flex;gap:var(--space-3)}.audio-time{font-feature-settings:"tnum";color:var(--color-text-muted);flex-shrink:0;font-size:var(--text-xs);font-variant-numeric:tabular-nums;min-width:38px;text-align:center}.audio-range{-webkit-appearance:none;appearance:none;background:var(--color-border);border-radius:var(--radius-full);cursor:pointer;flex:1 1;height:4px;min-width:0}.audio-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary);border:2px solid var(--color-surface-raised);border-radius:var(--radius-full);cursor:pointer;height:16px;width:16px}.audio-range::-moz-range-thumb{background:var(--color-primary);border:2px solid var(--color-surface-raised);border-radius:var(--radius-full);cursor:pointer;height:16px;width:16px}.audio-spinner{animation:audio-spin 1s linear infinite;border:3px solid var(--color-border);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:40px;margin:var(--space-4) auto;width:40px}@keyframes audio-spin{to{transform:rotate(1turn)}}.fg-page{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh}.fg-body{margin:0 auto;max-width:760px;padding:var(--space-5) var(--space-4) calc(var(--space-12) + 64px)}.fg-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6)}.fg-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.fg-error{background:var(--red-100);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--red-800);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4)}.fg-error,.fg-retry{font-size:var(--text-sm)}.fg-retry{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-on-primary);cursor:pointer;font-family:var(--font-sans);font-weight:var(--fw-semibold);margin-top:var(--space-3);padding:var(--space-2) var(--space-5)}.fg-subtitle{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-normal);margin:0 0 var(--space-4)}.fg-search{margin-bottom:var(--space-4);position:relative}.fg-search-icon{color:var(--color-text-subtle);left:var(--space-4);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.fg-search-input{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);outline:none;padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 26px);transition:border-color .15s ease,box-shadow .15s ease;width:100%}.fg-search-input::placeholder{color:var(--color-text-subtle)}.fg-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.fg-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.fg-pill{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-4);transition:background .15s ease,color .15s ease,border-color .15s ease}.fg-pill:hover{border-color:var(--color-border-strong)}.fg-pill.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.fg-group{margin-bottom:var(--space-6)}.fg-group-title{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:.06em;margin:0 0 var(--space-3);text-transform:uppercase}.fg-rows{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.fg-row{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;display:flex;font-family:var(--font-sans);gap:var(--space-3);padding:var(--space-4);text-align:left;transition:background .12s ease;width:100%}.fg-row:last-child{border-bottom:none}.fg-row:hover{background:var(--color-surface)}.fg-row-main{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.fg-row-title{font-size:var(--text-base);font-weight:var(--fw-semibold)}.fg-row-summary{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-normal)}.fg-row-chevron{color:var(--color-text-subtle);flex-shrink:0}.fg-empty{padding:var(--space-8) var(--space-4);text-align:center}.fg-empty-title{color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-semibold);margin:0 0 var(--space-2)}.fg-article{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6)}.fg-breadcrumb{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--text-xs);gap:var(--space-2);margin-bottom:var(--space-4)}.fg-crumb-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:0}.fg-crumb-current{color:var(--color-text-muted)}.fg-deeper{align-items:center;background:var(--navy-surface);border:1px solid var(--navy-border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-top:var(--space-6);padding:var(--space-5)}.fg-deeper-text{display:flex;flex-direction:column;gap:2px;min-width:0}.fg-deeper-title{color:var(--color-text-on-primary);font-size:var(--text-base);font-weight:var(--fw-bold)}.fg-deeper-sub{opacity:.75}.fg-deeper-btn,.fg-deeper-sub{color:var(--color-text-on-primary);font-size:var(--text-sm)}.fg-deeper-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:var(--font-sans);font-weight:var(--fw-semibold);gap:var(--space-2);padding:var(--space-3) var(--space-5)}.fg-deeper-btn:hover{background:var(--color-primary-hover)}.fg-spinner{animation:fg-spin 1s linear infinite;border:3px solid var(--color-border);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:40px;margin:var(--space-4) auto;width:40px}@keyframes fg-spin{to{transform:rotate(1turn)}}@media (min-width:720px){.fg-title{font-size:var(--text-4xl)}}.user-management-container{background:var(--color-bg);min-height:100vh;padding-bottom:var(--space-16)}.simple-header .add-user-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-semibold);height:36px;justify-content:center;padding:var(--space-2) var(--space-3);transition:all .2s ease}@media (hover:hover) and (pointer:fine){.simple-header .add-user-btn:hover{background:var(--color-primary);color:var(--color-text-on-primary)}}.message-banner{animation:slideDown .3s ease;justify-content:space-between;margin:var(--space-3)}.message-banner.success{background:var(--green-100);color:var(--green-800)}.message-banner.error{background:var(--red-100);color:var(--red-800)}.close-message{background:none;border:none;color:inherit;cursor:pointer;font-size:var(--text-lg);margin-left:var(--space-3);opacity:.7;padding:0;transition:opacity .2s}.close-message:hover{opacity:1}.filters-section{background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-3);padding:var(--space-3)}.search-input{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);flex:1 1;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);transition:all .2s}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.role-filter{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);min-width:140px;padding:var(--space-2) var(--space-3);transition:all .2s}.role-filter:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.user-count{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--fw-medium);padding:var(--space-3)}.users-table-container{margin:0 var(--space-3) var(--space-3) var(--space-3)}.user-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s}.user-card:hover{box-shadow:var(--shadow-md)}.user-card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:var(--space-4);transition:background .2s}.user-card-header:hover{background:var(--color-primary-subtle)}.user-info-main{flex:1 1}.user-email{margin-bottom:6px}.expand-icon{align-items:center;background:var(--color-primary-subtle);color:var(--color-primary);display:flex;font-size:var(--text-2xl);font-weight:300;height:32px;justify-content:center;width:32px}.expand-icon,.role-badge{border-radius:var(--radius-full)}.role-badge{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-3);text-transform:capitalize}.role-badge.admin{background:var(--amber-100);color:var(--amber-800)}.role-badge.user{background:var(--color-primary-subtle);color:var(--color-primary)}.user-badges{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.platform-badge,.status-badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-3);text-transform:capitalize}.status-badge{background:var(--color-surface-raised);color:var(--color-text-muted)}.status-badge.status-active{background:var(--green-100);color:var(--color-success)}.status-badge.status-past_due{background:var(--amber-100);color:var(--amber-800)}.platform-badge{background:var(--color-primary-subtle);color:var(--color-primary)}.platform-badge.platform-unknown{background:var(--color-surface-raised);color:var(--color-text-muted)}.user-card-actions{grid-gap:var(--space-2);animation:slideDown .2s ease;background:var(--color-surface);border-top:1px solid var(--color-border);display:grid;gap:var(--space-2);grid-template-columns:repeat(2,1fr);padding:var(--space-3) var(--space-4) var(--space-4) var(--space-4)}@keyframes slideDown{0%{max-height:0;opacity:0;padding-bottom:0;padding-top:0}to{max-height:200px;opacity:1;padding-bottom:var(--space-4);padding-top:var(--space-3)}}.action-btn-labeled{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--fw-medium);gap:var(--space-2);padding:var(--space-3) var(--space-4);transition:all .2s}.action-btn-labeled span{flex:1 1;text-align:left}.action-btn-labeled.disabled,.action-btn-labeled:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.55}@media (hover:hover) and (pointer:fine){.action-btn-labeled.info:hover{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.action-btn-labeled.warning:hover{background:var(--amber-100);border-color:var(--color-warning);color:var(--amber-800)}.action-btn-labeled.primary:hover{background:var(--color-primary-subtle);border-color:var(--color-accent);color:var(--color-accent)}.action-btn-labeled.danger:hover{background:var(--red-100);border-color:var(--color-danger);color:var(--color-danger)}.action-btn-labeled.success:hover{background:var(--green-100);border-color:var(--color-success);color:var(--color-success)}}.no-users{color:var(--color-text-muted);padding:var(--space-10);text-align:center}.loading-container{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;padding:var(--space-16) var(--space-5)}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--color-primary-subtle);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-5);position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:var(--color-surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-top:var(--space-16);max-height:85vh;max-width:540px;overflow-y:auto;width:100%}.modal-content.analytics-modal{max-width:600px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-5) var(--space-6)}.modal-header h2{color:var(--color-primary);font-size:var(--text-2xl);font-weight:var(--fw-bold);margin:0}.close-modal{align-items:center;background:none;border:none;border-radius:var(--radius-full);color:var(--color-text-subtle);cursor:pointer;display:flex;font-size:var(--text-2xl);height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}@media (hover:hover) and (pointer:fine){.close-modal:hover{background:var(--color-surface);color:var(--color-text)}}.add-user-form,.modal-body,.modal-content form{padding:var(--space-6)}.form-group{margin-bottom:var(--space-5)}.form-group label{color:var(--color-text);display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.form-group input,.form-group select{background:var(--color-surface-raised);border:2px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);transition:all .2s;width:100%}.form-group input::placeholder,.form-group select::placeholder{color:var(--color-text-subtle)}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-subtle);outline:none}.form-group small{color:var(--color-text-muted);display:block;font-size:var(--text-xs);line-height:1.4;margin-top:6px}.modal-actions{border-top:2px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-5)}.btn-danger,.btn-primary,.btn-secondary{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-5);transition:all .2s}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary)}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}}.btn-secondary{background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text-muted)}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-border-strong)}}.btn-danger{background:var(--color-danger);color:var(--color-text-on-primary)}@media (hover:hover) and (pointer:fine){.btn-danger:hover{background:var(--red-800);box-shadow:var(--shadow-md)}}.user-info{background:var(--color-surface);border-radius:var(--radius-sm);font-size:var(--text-sm);margin:var(--space-4) 0;padding:var(--space-3)}.warning-text{color:var(--color-danger);font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-top:var(--space-3)}.user-details{margin-bottom:var(--space-6);text-align:center}.user-details h3{color:var(--color-text);font-size:var(--text-xl);margin:0 0 var(--space-1) 0}.user-email{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.section-title{color:var(--color-primary);font-size:var(--text-base);font-weight:var(--fw-bold);margin:var(--space-6) 0 var(--space-3) 0}.stats-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:var(--space-5)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;transition:all .2s}.stat-card.wide{grid-column:1/-1}@media (hover:hover) and (pointer:fine){.stat-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}}.stat-icon{align-items:center;display:flex;justify-content:center;margin-bottom:var(--space-2)}.stat-value{color:var(--color-primary);font-size:var(--text-xl);font-weight:var(--fw-bold);margin-bottom:var(--space-1)}.stat-label,.stat-value.small{color:var(--color-text-muted);font-size:var(--text-xs)}.stat-label{font-weight:var(--fw-semibold);letter-spacing:.5px;text-transform:uppercase}.management-header{align-items:center;background:var(--color-primary);color:var(--color-text-on-primary);display:flex;justify-content:space-between;padding:var(--space-4);position:-webkit-sticky;position:sticky;top:0;z-index:100}.management-header .back-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:var(--radius-sm);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);transition:all .2s}@media (hover:hover) and (pointer:fine){.management-header .back-btn:hover{background:#ffffff4d}}.management-header .header-title{align-items:center;color:var(--color-text-on-primary);display:flex;font-size:var(--text-xl);font-weight:var(--fw-bold);margin:0}.actions-bar{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;padding:var(--space-4)}.stats-summary{display:flex;flex-wrap:wrap;gap:var(--space-5)}.stat-item{align-items:center;display:flex;font-size:var(--text-sm);gap:6px}.stat-item .stat-label{color:var(--color-text-muted);font-weight:var(--fw-medium)}.stat-item .stat-value{color:var(--color-primary);font-weight:var(--fw-bold)}.add-user-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--color-text-on-primary);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-2);padding:var(--space-3) var(--space-5);transition:all .2s}@media (hover:hover) and (pointer:fine){.add-user-btn:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}}.users-list{flex-direction:column}.user-header,.users-list{display:flex;gap:var(--space-3);padding:var(--space-4)}.user-header{align-items:center;justify-content:space-between}.user-info{flex:1 1;min-width:0}.user-name{color:var(--color-text);font-size:var(--text-base);font-weight:var(--fw-semibold);margin-bottom:var(--space-1)}.user-actions,.user-name{align-items:center;display:flex;gap:var(--space-2)}.user-actions{flex-shrink:0}.toggle-btn{border:none;border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);transition:all .2s}.toggle-btn.active{background:var(--green-100);color:var(--color-success)}.toggle-btn.inactive{background:var(--color-surface);color:var(--color-text-muted)}@media (hover:hover) and (pointer:fine){.toggle-btn:hover{transform:scale(1.05)}}.icon-btn{align-items:center;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.icon-btn.edit{color:var(--color-primary)}.icon-btn.delete{color:var(--color-danger)}@media (hover:hover) and (pointer:fine){.icon-btn.edit:hover{background:var(--color-primary-subtle);border-color:var(--color-primary)}.icon-btn.delete:hover{background:var(--red-100);border-color:var(--color-danger)}}.code-details{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:0 var(--space-4) var(--space-4) var(--space-4)}.detail-item{display:flex;font-size:var(--text-xs);gap:6px}.detail-label{color:var(--color-text-muted);font-weight:var(--fw-medium)}.detail-value{color:var(--color-text);font-weight:var(--fw-semibold)}.modal-content.small{max-width:400px}.close-modal-btn{align-items:center;background:none;border:none;color:var(--color-text-subtle);cursor:pointer;display:flex;justify-content:center;padding:0;transition:all .2s}@media (hover:hover) and (pointer:fine){.close-modal-btn:hover{color:var(--color-text)}}.cancel-btn{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-6);transition:all .2s}@media (hover:hover) and (pointer:fine){.cancel-btn:hover{background:var(--color-border);border-color:var(--color-border-strong)}}.submit-btn{background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-6);transition:all .2s}@media (hover:hover) and (pointer:fine){.submit-btn:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}}.delete-btn{background:var(--color-danger);border:none;border-radius:var(--radius-sm);color:var(--color-text-on-primary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-5);transition:all .2s}@media (hover:hover) and (pointer:fine){.delete-btn:hover{background:var(--red-800);box-shadow:var(--shadow-md)}}.checkbox-label{align-items:center;background:var(--color-surface);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--fw-semibold);gap:var(--space-3);padding:var(--space-3);transition:all .2s}.checkbox-label:hover{background:var(--color-border)}.checkbox-label input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:20px;width:20px}.checkbox-label span{flex:1 1}.message-banner{align-items:center;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);display:flex;font-size:var(--text-sm);font-weight:var(--fw-medium);gap:var(--space-2);left:50%;margin:var(--space-4);max-width:500px;min-width:320px;padding:var(--space-3) var(--space-4);position:fixed;top:80px;transform:translateX(-50%);z-index:1000}.message-banner.success{background:var(--color-success);border:1px solid var(--color-success);color:var(--color-text-on-primary)}.message-banner.error{background:var(--color-danger);border:1px solid var(--color-danger);color:var(--color-text-on-primary)}.password-options{display:flex;flex-direction:column;gap:var(--space-5)}.password-option{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4)}.password-option h4{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--fw-semibold);margin:0 0 var(--space-2) 0}.password-divider{align-items:center;display:flex;justify-content:center;position:relative}.password-divider:after,.password-divider:before{background:var(--color-border);content:"";flex:1 1;height:1px}.password-divider span{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:var(--fw-semibold);padding:0 var(--space-4);text-transform:uppercase}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.modal-content{max-width:95%}.user-card-actions{grid-template-columns:1fr}.management-header{flex-wrap:wrap}.actions-bar{align-items:stretch;flex-direction:column}.stats-summary{justify-content:space-between}.code-details{flex-direction:column;gap:var(--space-2)}.user-actions{flex-wrap:wrap}}