:root{font-family:Trebuchet MS,Verdana,sans-serif;background:#05030b;color:#f7f2ff}*{box-sizing:border-box}html,body,#app,#phaser-root,#quiz-root{margin:0;width:100%;height:100%}body{min-height:100dvh;overflow:hidden}#app,#phaser-root{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}#phaser-root{z-index:0}#quiz-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}canvas{display:block;touch-action:none;-webkit-user-select:none;user-select:none;max-width:100vw;max-height:100dvh;outline:4px solid #3f2b1b;outline-offset:-4px;border-radius:18px;box-shadow:0 18px 50px #0000007f}.quiz-app{pointer-events:auto;height:100dvh;display:grid;align-content:start;justify-items:center;padding:clamp(16px,4vw,48px);overflow-y:auto;overscroll-behavior:contain;background:radial-gradient(circle at 50% 10%,#211735,#05030b 56%)}.quiz-app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background-image:radial-gradient(#fff 1px,transparent 1.5px);background-size:42px 42px}.quiz-shell{position:relative;width:min(100%,940px);min-height:min(720px,calc(100dvh - 32px));border:3px solid #c681ff;background:#130d25f7;box-shadow:0 0 36px #c681ff40;padding:clamp(24px,5vw,64px)}.quiz-header{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid rgb(69 246 229 / 40%);padding-bottom:18px;margin-bottom:clamp(28px,5vw,60px)}.quiz-header p,.eyebrow{margin:0;color:#45f6e5;font:700 clamp(.78rem,2vw,1rem)/1.3 Arial Black,Trebuchet MS,sans-serif;letter-spacing:.12em}.access-panel,.quiz-panel,.result-panel,.lesson-panel,.library-panel{width:min(100%,720px);margin:0 auto}.access-panel h1,.quiz-panel h1,.result-panel h1{margin:0 0 22px;font:800 clamp(2.1rem,6vw,4.2rem)/1.1 Arial Black,Trebuchet MS,sans-serif;color:#fff;letter-spacing:.025em}.access-panel>p,.result-panel>p{color:#c5b5df;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.6}.access-panel label{display:grid;gap:8px;margin:18px 0;color:#c5b5df;font-weight:700}.access-panel input,.access-panel select{width:100%;border:2px solid #c681ff;border-radius:6px;background:#0b0714;color:#fff;padding:14px 16px;font:600 1.25rem Trebuchet MS,sans-serif;outline:none}.access-panel input:focus,.access-panel select:focus{border-color:#45f6e5;box-shadow:0 0 16px #45f6e54d}.access-panel fieldset{border:1px solid #c681ff;color:#c5b5df;margin:22px 0;padding:12px 16px;border-radius:6px}.access-panel legend{padding:0 7px;font-weight:700}.access-panel label.check{display:inline-flex;align-items:center;width:auto;margin:8px 20px 8px 0}.access-panel label.check input{width:18px;height:18px;margin:0 7px 0 0;accent-color:#45f6e5}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.quiz-app button{border:2px solid #45f6e5;border-radius:6px;padding:14px 22px;background:#45f6e5;color:#090610;cursor:pointer;font:800 1rem Arial Black,Trebuchet MS,sans-serif;letter-spacing:.06em;transition:transform .15s,box-shadow .15s,background .15s}.quiz-app button:hover,.quiz-app button:focus-visible{transform:translateY(-2px);box-shadow:0 0 18px #45f6e575}.quiz-app button.secondary{background:#1b1430;color:#fff;border-color:#c681ff}.quiz-app button.text-button{padding:0;border:0;background:transparent;color:#ffe45c;font-size:.85rem}.quiz-app button.pink{color:#ff70b8}.hint{margin-top:22px;font-size:.9rem!important}.error{color:#ff70b8!important;font-weight:700}.prompt{display:flex;align-items:flex-start;gap:16px}.prompt h1{flex:1}.speaker-button{flex:0 0 auto;min-width:56px;min-height:56px;padding:8px!important;background:#1b1430!important;color:#45f6e5!important;border-color:#45f6e5!important;font-size:1.65rem!important;line-height:1}.oral-answer{display:grid;justify-items:center;gap:14px;margin:clamp(34px,7vw,74px) auto 0;color:#c5b5df;font-size:1.18rem;text-align:center}.oral-answer p{margin:0}.oral-answer .microphone-button{min-width:min(100%,310px);min-height:76px;background:#1b1430;color:#45f6e5;border-color:#45f6e5;font-size:1.1rem}.oral-answer .or{font-size:.9rem;color:#a99ac3}.oral-answer form{display:flex;width:min(100%,470px);gap:10px}.oral-answer input{flex:1;min-width:0;border:2px solid #c681ff;border-radius:6px;background:#0b0714;color:#fff;padding:12px;font:600 1.1rem Trebuchet MS,sans-serif}.oral-answer form button{padding:12px 18px}.feedback{color:#ff70b8;font-weight:700}.quiz-panel footer{display:flex;justify-content:space-between;gap:20px;margin-top:40px}.result-panel{text-align:center;padding-top:clamp(30px,10vw,100px)}.result-panel strong{color:#45f6e5}.lesson-panel{padding-top:clamp(20px,5vw,55px)}.lesson-panel h1{font:800 clamp(2.1rem,6vw,4.2rem)/1.1 Arial Black,Trebuchet MS,sans-serif;color:#fff;margin:0 0 22px}.lesson-explanation{color:#f7f2ff;font-size:clamp(1.1rem,2.7vw,1.4rem);line-height:1.65}.lesson-panel aside{display:grid;gap:8px;margin-top:28px;padding:20px;border-left:4px solid #45f6e5;background:#1b1430;color:#c5b5df;font-size:1.1rem}.lesson-panel aside strong{color:#45f6e5;font:800 .9rem Arial Black,Trebuchet MS,sans-serif;letter-spacing:.1em}.library-panel h1{margin:12px 0;font:800 clamp(2rem,5vw,3.5rem)/1.12 Arial Black,Trebuchet MS,sans-serif;color:#fff}.library-panel h2{margin:36px 0 -16px;color:#45f6e5;font:800 1rem Arial Black,Trebuchet MS,sans-serif;letter-spacing:.11em;text-transform:uppercase}.library-panel>p:not(.eyebrow){color:#c5b5df;font-size:1.15rem}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}.library-card{display:grid;min-height:165px;align-content:center;gap:11px;text-align:left;background:#1b1430!important;color:#f7f2ff!important}.library-card strong{font-size:1.25rem}.library-card span{color:#c5b5df;font:500 .95rem/1.45 Trebuchet MS,sans-serif;letter-spacing:0}.library-card.cyan{border-color:#45f6e5}.library-card.purple{border-color:#c681ff}.library-card.yellow{border-color:#ffe45c}.library-card.pink{border-color:#ff70b8}@media (max-width: 600px){.library-grid{grid-template-columns:1fr}}@media (max-width: 600px){.quiz-shell{min-height:100%;border-width:2px;padding:24px}.quiz-header{margin-bottom:34px}.quiz-app{padding:0}}
