:root{--color-primary: #0069b4;--color-primary-dark: #00395f;--color-primary-text: #004170;--color-primary-light: #e8f4fd;--color-accent: #e9530d;--color-accent-dark: #8a3000;--color-text: #333333;--color-text-light: #4a4a4a;--color-bg: #ffffff;--color-bg-alt: #f0f4f8;--color-success: #166b1b;--color-success-bg: #e8f5e9;--color-error: #8b0000;--color-error-bg: #fff0f0;--color-border: #c0c8d0;--color-focus: #00395f;--border-width: 2px;--font-family: "Open Sans", Arial, Helvetica, sans-serif;--font-size-base: 1.25rem;--font-size-lg: 1.5rem;--font-size-xl: 1.875rem;--font-size-sm: 1.125rem;--line-height: 1.75;--max-width: 52rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius: .75rem;--radius-sm: .5rem;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth;overflow-x:hidden;overflow-y:scroll}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-bg-alt)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:999px;border:2px solid var(--color-bg-alt)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}html{scrollbar-width:thin;scrollbar-color:var(--color-primary) var(--color-bg-alt)}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg-alt);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.skip-link{position:absolute;top:-100%;left:var(--spacing-sm);background:var(--color-primary);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-weight:600;z-index:1000;text-decoration:none}.skip-link:focus{top:var(--spacing-sm);outline:3px solid var(--color-accent);outline-offset:2px}*:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}header{position:sticky;top:0;z-index:1000;background-color:var(--color-bg-alt);padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-xs)}.header-inner{display:flex;align-items:stretch;max-width:var(--max-width);margin:0 auto;border-radius:var(--radius);overflow:hidden;background-color:#fff}.logo-wrap{background:#fff;display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md)}.logo{height:3rem;width:auto;display:block}header h1{font-size:var(--font-size-xl);font-weight:700;padding:var(--spacing-sm) var(--spacing-lg);line-height:1.3;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;flex:1}main{flex:1;padding:var(--spacing-lg);position:relative;z-index:1}main:focus{outline:none}#app{max-width:var(--max-width);margin:0 auto}footer{background-color:var(--color-bg-alt);padding:0 var(--spacing-lg) var(--spacing-sm)}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-light);border-radius:var(--radius)}.footer-link{color:var(--color-text-light);text-underline-offset:.2em;font-size:var(--font-size-sm)}.footer-link:hover{color:var(--color-primary-dark)}.footer-link:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.footer-sep{color:var(--color-text-light)}.footer-inner p{text-align:center}.hub{background:var(--color-bg);border-radius:var(--radius);padding:var(--spacing-lg)}.hub-welcome h2,.hub-celebration h2{font-size:var(--font-size-xl);color:var(--color-primary-text);margin-bottom:var(--spacing-md);line-height:1.3}.hub-welcome p{margin-bottom:var(--spacing-sm);font-size:var(--font-size-base)}.hub-celebration .results-summary{margin-bottom:var(--spacing-lg)}.intro-hint{background:var(--color-primary-light);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);margin:var(--spacing-md) 0 var(--spacing-lg)}.hub-cards{display:flex;flex-direction:column;gap:var(--spacing-xs)}.hub-restart{margin-top:var(--spacing-lg);justify-content:center}.chapter-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);text-align:left;width:100%;background:var(--color-bg);transition:border-color var(--transition),background-color var(--transition)}.chapter-row__badge{flex-shrink:0;width:1.75rem;text-align:center;font-size:var(--font-size-base)}.chapter-row__title{flex:1;font-weight:600;color:var(--color-text)}.chapter-row__info{flex-shrink:0;font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-light)}button.chapter-row--available{cursor:pointer;border-color:var(--color-primary)}button.chapter-row--available:hover{background:var(--color-primary-light)}button.chapter-row--available:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}button.chapter-row--available .chapter-row__badge{color:var(--color-primary)}button.chapter-row--available .chapter-row__info{color:var(--color-primary-dark)}button.chapter-row--completed{cursor:pointer;border-color:var(--color-success);background:var(--color-success-bg)}button.chapter-row--completed:hover{background:#d4edd5}button.chapter-row--completed:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}button.chapter-row--completed .chapter-row__badge,button.chapter-row--completed .chapter-row__info{color:var(--color-success)}.chapter-row--locked{opacity:.55;cursor:default}.progress-container{margin-bottom:var(--spacing-lg)}.progress-title{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-light);margin-bottom:var(--spacing-xs);display:block}.progress-segments{display:flex;gap:4px;width:100%;height:.75rem}.progress-segment{background-color:#d9e6f2;border-radius:999px;overflow:hidden}.progress-segment-fill{height:100%;background-color:var(--color-primary);border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1)}.question-card{background:var(--color-bg);border-radius:var(--radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.question-number{display:inline-block;background:var(--color-primary);color:#fff;font-weight:700;font-size:var(--font-size-sm);padding:.25rem .75rem;border-radius:999px;margin-bottom:var(--spacing-sm)}.question-text{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-lg);line-height:1.5;color:var(--color-text)}.answers-fieldset{border:none;padding:0;margin:0}.answers-fieldset legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.answer-option{display:block;margin-bottom:var(--spacing-sm)}.answer-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.answer-label{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),background-color var(--transition),box-shadow var(--transition);font-size:var(--font-size-base);line-height:1.5;min-height:3.5rem;background:var(--color-bg)}.answer-label:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.answer-label:hover .radio-indicator{border-color:var(--color-primary)}.answer-option input[type=radio]:focus-visible+.answer-label{outline:3px solid var(--color-focus);outline-offset:2px;border-color:var(--color-primary)}.answer-option input[type=radio]:checked+.answer-label{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 var(--border-width) var(--color-primary);-webkit-text-stroke:.4px currentColor}.radio-indicator{flex-shrink:0;width:2rem;height:2rem;border:var(--border-width) solid var(--color-border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color var(--transition),background-color var(--transition)}.answer-option input[type=radio]:checked+.answer-label .radio-indicator{border-color:var(--color-primary);background:var(--color-primary)}.answer-option input[type=radio]:checked+.answer-label .radio-indicator:after{content:"";width:.75rem;height:.75rem;background:#fff;border-radius:50%}.answer-option input[type=radio]:disabled+.answer-label{cursor:default;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-xl);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:700;border:var(--border-width) solid transparent;border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition),border-color var(--transition),transform var(--transition);min-height:3.5rem;text-decoration:none;line-height:1.3}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--color-primary-dark);color:#fff;border-color:var(--color-primary-dark)}.btn-primary:hover{background-color:#002a47;border-color:#002a47}.btn-primary:focus-visible{outline:3px solid var(--color-accent-dark);outline-offset:3px}.btn-primary:disabled{background-color:#767676;border-color:#767676;cursor:not-allowed}.btn-accent{background-color:var(--color-accent-dark);color:#fff;border-color:var(--color-accent-dark)}.btn-accent:hover{background-color:#6e2600;border-color:#6e2600}.btn-accent:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.btn-secondary{background-color:transparent;color:var(--color-primary-text);border-color:var(--color-primary-text)}.btn-secondary:hover{background-color:var(--color-primary-light)}.btn-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-lg)}.btn-bar{position:sticky;bottom:0;z-index:10;background:var(--color-bg-alt);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding:var(--spacing-xs) calc(50vw - 50%) var(--spacing-sm)}.btn-bar-inner{background:var(--color-bg);border-radius:var(--radius);padding:var(--spacing-md) var(--spacing-lg);display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.feedback{margin-top:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius);font-size:var(--font-size-base);line-height:1.6;display:flex;align-items:flex-start;gap:var(--spacing-sm)}#feedback-area{scroll-margin-bottom:6rem}.feedback-correct{background:var(--color-success-bg);color:var(--color-success)}.feedback-wrong{background:var(--color-error-bg);color:var(--color-error)}.feedback-icon{font-size:1.5rem;font-weight:700;flex-shrink:0;width:1.5em;text-align:center;line-height:1.6}.results-screen{background:var(--color-bg);border-radius:var(--radius);padding:var(--spacing-lg)}.results-screen h2{font-size:var(--font-size-xl);color:var(--color-primary-text);margin-bottom:var(--spacing-md);line-height:1.3}.results-summary{border:var(--border-width) solid var(--color-primary-dark);border-radius:var(--radius);padding:8rem var(--spacing-lg);margin-bottom:4rem;text-align:center}.results-score{font-size:2.25rem;font-weight:700;color:var(--color-primary-text);margin-bottom:var(--spacing-md)}.results-message{font-size:var(--font-size-lg);margin-bottom:0}.results-detail-heading{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-light);margin-bottom:var(--spacing-md)}.results-chapter-heading{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary-text);margin:var(--spacing-lg) 0 var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:var(--border-width) solid var(--color-primary-light)}.results-chapter-heading:first-of-type{margin-top:0}.results-chapter-score{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-light);margin-bottom:var(--spacing-sm)}.results-list{list-style:none;padding:0;margin:0 0 var(--spacing-lg)}.result-item{background:var(--color-bg);border-radius:var(--radius);margin-bottom:var(--spacing-sm);overflow:hidden}.result-item--correct{border:var(--border-width) solid var(--color-success-bg)}.result-item--wrong{border:var(--border-width) solid var(--color-error-bg)}.result-header{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.result-item--correct .result-header{background:var(--color-success-bg);color:var(--color-success)}.result-item--wrong .result-header{background:var(--color-error-bg);color:var(--color-error)}.result-icon{font-size:1.25rem;font-weight:700;flex-shrink:0;line-height:1.4}.result-question{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text);flex:1}.result-body{padding:var(--spacing-sm) var(--spacing-md)}.result-answer{font-size:var(--font-size-sm);color:var(--color-text-light)}.result-correction{font-size:var(--font-size-sm);color:var(--color-success);font-weight:600;margin-top:.25rem}.icon{width:1em;height:1em;vertical-align:-.125em;fill:currentColor;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){:root{--font-size-base: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--spacing-lg: 1.25rem;--spacing-xl: 2rem}header{padding:var(--spacing-xs) var(--spacing-sm)}.logo-wrap{padding:var(--spacing-xs) var(--spacing-sm)}.logo{height:2.25rem}header h1{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-lg)}main{padding:var(--spacing-sm)}footer{padding:0 var(--spacing-sm) var(--spacing-xs)}.footer-inner{padding:var(--spacing-sm) var(--spacing-md)}.question-card{padding:var(--spacing-md)}.answer-label{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.btn{width:100%;padding:var(--spacing-md)}.btn-group,.btn-bar-inner{flex-direction:column}.chapter-row{gap:var(--spacing-xs);padding:var(--spacing-sm)}.chapter-row__info{font-size:.875rem;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.answer-label{border:var(--border-width) solid ButtonText}.answer-option input[type=radio]:checked+.answer-label{border:var(--border-width) solid Highlight;background:Highlight;color:HighlightText}.btn{border:var(--border-width) solid ButtonText}.progress-segment-fill{background:Highlight}.chapter-row{border:var(--border-width) solid ButtonText}}@media print{header,footer,.btn,.btn-bar,.progress-container{display:none}.question-card{break-inside:avoid;border:1px solid #000}}
