:root{--page: #f8f9fa;--surface: rgba(255, 255, 255, .98);--surface-subtle: rgba(255, 255, 255, .85);--surface-strong: rgba(255, 255, 255, 1);--surface-solid: #ffffff;--text: #1a1f2e;--text-strong: #0f1419;--text-soft: #6b7280;--text-softer: #9ca3af;--muted: #6b7280;--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .12);--line-soft: rgba(31, 41, 55, .08);--line-strong: rgba(31, 41, 55, .14);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .08);--shadow-md: 0 10px 20px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .12);--shadow-card: 0 12px 24px rgba(0, 0, 0, .08);--shadow-hover: 0 16px 32px rgba(0, 0, 0, .1);--overlay: rgba(15, 23, 42, .5);--overlay-light: rgba(15, 23, 42, .25);--accent: #b4233a;--accent-hover: #8f1b2d;--accent-light: #d4425c;--accent-soft: rgba(180, 35, 58, .08);--accent-softer: rgba(180, 35, 58, .04);--success: #059669;--success-soft: rgba(5, 150, 105, .08);--warning: #d97706;--warning-soft: rgba(217, 119, 6, .08);--error: #dc2626;--error-soft: rgba(220, 38, 38, .08);--info: #0ea5e9;--info-soft: rgba(14, 165, 233, .08);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--type-display: clamp(2.25rem, 5vw, 4.5rem);--type-h1: clamp(1.875rem, 3vw, 3.75rem);--type-h2: clamp(1.5rem, 2.5vw, 2.25rem);--type-h3: clamp(1.25rem, 1.8vw, 1.5rem);--type-body-lg: 1.0625rem;--type-body: .9375rem;--type-small: .875rem;--type-meta: .8125rem;--type-label: .75rem;--lh-tight: 1.2;--lh-snug: 1.375;--lh-normal: 1.5;--lh-relaxed: 1.625;--transition-fast: .18s cubic-bezier(.22, 1, .36, 1);--transition-base: .28s cubic-bezier(.22, 1, .36, 1);--transition-slow: .42s cubic-bezier(.22, 1, .36, 1);--z-base: 1;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50;--z-skip-link: 60;--z-pwa-banner: 55;--success-text: #065f46;--warning-text: #92400e;--error-text: #7f1d1d;--info-text: #0c4a6e;--surface-muted: rgba(0, 0, 0, .04);--hub-art-overlay-top: rgba(255, 255, 255, .36);--hub-art-overlay-bottom: rgba(255, 255, 255, .54);color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--page: #0f1419;--surface: rgba(255, 255, 255, .04);--surface-subtle: rgba(255, 255, 255, .02);--surface-strong: rgba(255, 255, 255, .06);--surface-solid: #1a1f2e;--text: #e5e7eb;--text-strong: #f3f4f6;--text-soft: #9ca3af;--text-softer: #6b7280;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--line-soft: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .3);--shadow-md: 0 10px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .5);--shadow-card: 0 12px 24px rgba(0, 0, 0, .3);--shadow-hover: 0 16px 32px rgba(0, 0, 0, .4);--overlay: rgba(0, 0, 0, .6);--overlay-light: rgba(0, 0, 0, .3);--accent-soft: rgba(180, 35, 58, .15);--accent-softer: rgba(180, 35, 58, .08);--success-soft: rgba(5, 150, 105, .15);--warning-soft: rgba(217, 119, 6, .15);--error-soft: rgba(220, 38, 38, .15);--info-soft: rgba(14, 165, 233, .15);--success-text: #6ee7b7;--warning-text: #fbbf24;--error-text: #fca5a5;--info-text: #7dd3fc;--surface-muted: rgba(255, 255, 255, .06);--hub-art-overlay-top: rgba(15, 20, 25, .38);--hub-art-overlay-bottom: rgba(15, 20, 25, .54)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--page: #0f1419;--surface: rgba(255, 255, 255, .04);--surface-subtle: rgba(255, 255, 255, .02);--surface-strong: rgba(255, 255, 255, .06);--surface-solid: #1a1f2e;--text: #e5e7eb;--text-strong: #f3f4f6;--text-soft: #9ca3af;--text-softer: #6b7280;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--line-soft: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .3);--shadow-md: 0 10px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .5);--shadow-card: 0 12px 24px rgba(0, 0, 0, .3);--shadow-hover: 0 16px 32px rgba(0, 0, 0, .4);--overlay: rgba(0, 0, 0, .6);--overlay-light: rgba(0, 0, 0, .3);--accent-soft: rgba(180, 35, 58, .15);--accent-softer: rgba(180, 35, 58, .08);--success-soft: rgba(5, 150, 105, .15);--warning-soft: rgba(217, 119, 6, .15);--error-soft: rgba(220, 38, 38, .15);--info-soft: rgba(14, 165, 233, .15);--success-text: #6ee7b7;--warning-text: #fbbf24;--error-text: #fca5a5;--info-text: #7dd3fc;--surface-muted: rgba(255, 255, 255, .06);--hub-art-overlay-top: rgba(15, 20, 25, .38);--hub-art-overlay-bottom: rgba(15, 20, 25, .54)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;width:100%}html{overflow-y:scroll;scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:16px;font-weight:400;line-height:var(--lh-normal);overflow-y:scroll;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--transition-slow),background var(--transition-slow),color var(--transition-slow)}body,button,a,input,textarea,select,svg,path,div,section,article,header,footer,main,nav{transition:background-color var(--transition-slow),background var(--transition-slow),border-color var(--transition-slow),color var(--transition-slow),box-shadow var(--transition-slow)}#root{transition:background-color var(--transition-slow),background var(--transition-slow),color var(--transition-slow),filter var(--transition-slow),opacity var(--transition-slow)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:var(--lh-tight);letter-spacing:-.01em}h1{font-size:var(--type-h1)}h2{font-size:var(--type-h2)}h3{font-size:var(--type-h3)}p{margin:0;line-height:var(--lh-normal)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover);text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}input,textarea,select{width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px;transition:background-color var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--text-soft)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body[data-app-context=installed_pwa] *{-webkit-tap-highlight-color:transparent}body[data-app-context=installed_pwa] button,body[data-app-context=installed_pwa] a,body[data-app-context=installed_pwa] svg,body[data-app-context=installed_pwa] path{-webkit-touch-callout:none}body[data-app-context=installed_pwa]{-webkit-user-select:none;user-select:none}body[data-app-context=installed_pwa] input,body[data-app-context=installed_pwa] textarea{-webkit-user-select:text;user-select:text}body[data-app-context=installed_pwa] svg,body[data-app-context=installed_pwa] path{outline:none;-webkit-user-drag:none}.selectable{-webkit-user-select:text;user-select:text}input,textarea,select{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:12px 14px;font-size:var(--type-body);color:var(--text-strong);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}input::placeholder,textarea::placeholder{color:var(--text-softer)}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-softer);outline:none}select{appearance:none;padding-right:14px}.feedbackSubjectSelect,.settingsLanguageSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%)!important;background-repeat:no-repeat!important;background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px)!important;background-size:6px 6px,6px 6px!important;padding-right:36px!important}.feedbackSubjectSelect::-ms-expand,.settingsLanguageSelect::-ms-expand{display:none}@media(min-width:768px){:root[data-theme=dark] .feedbackSubjectSelect,:root[data-theme=dark] .settingsLanguageSelect{border-color:var(--line-strong);color:var(--text-strong)}:root[data-theme=dark] .feedbackSubjectSelect option,:root[data-theme=dark] .settingsLanguageSelect option{background-color:var(--surface-solid);color:var(--text-strong)}}@media(min-width:768px)and (prefers-color-scheme:dark){:root:not([data-theme]) .feedbackSubjectSelect,:root:not([data-theme]) .settingsLanguageSelect{border-color:var(--line-strong);color:var(--text-strong)}:root:not([data-theme]) .feedbackSubjectSelect option,:root:not([data-theme]) .settingsLanguageSelect option{background-color:var(--surface-solid);color:var(--text-strong)}}.quizHeader{position:sticky;top:0;left:0;right:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ad9;border-bottom:1px solid rgba(255,255,255,.1);padding:16px var(--space-4);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);box-shadow:0 4px 24px #0000001f;transition:all var(--transition-base)}.quizHeader:hover{box-shadow:0 6px 32px #00000029}.quizHeaderLeft{min-width:260px;display:grid;gap:6px}.quizHeaderRight{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap;justify-content:flex-end}@media(max-width:640px){.quizHeader{flex-direction:column;align-items:stretch;gap:var(--space-3)}.quizHeaderLeft{min-width:auto}.quizHeaderRight{justify-content:space-between}}input[type=checkbox]{accent-color:var(--accent)}button,input[type=button],input[type=submit],input[type=reset]{-webkit-appearance:none;appearance:none;background:none;border:none;color:inherit;-webkit-text-fill-color:currentColor}a,a:visited,a:hover,a:active{-webkit-text-fill-color:currentColor}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.slide-up{animation:slideUp var(--transition-slow) ease-out}.spinner{animation:spin 1s linear infinite}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media(max-width:1280px){:root{--space-7: 40px}}@media(max-width:768px){:root{--space-6: 24px;--space-7: 32px}}@media(max-width:640px){:root{--space-5: 20px;--space-6: 24px;--space-7: 28px}body{font-size:15px}}@media print{.no-print{display:none!important}body{background:#fff;color:#000}}@media(hover:none)and (pointer:coarse){button:active,a:active,[role=button]:active{opacity:.85;transition:opacity 50ms ease}}:root,:root[data-theme],:root:not([data-theme]){transition:background-color var(--transition-slow),background var(--transition-slow),color var(--transition-slow),filter var(--transition-slow)}.skeleton{background:linear-gradient(90deg,var(--surface-muted) 25%,var(--surface-subtle) 50%,var(--surface-muted) 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 3px var(--error-soft)}input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus,select[aria-invalid=true]:focus{border-color:var(--error);box-shadow:0 0 0 3px var(--error-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
