*{margin:0;padding:0;box-sizing:border-box}html{font-size:15px;scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--c-body-bg);color:var(--c-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--c-accent-soft);color:var(--c-accent)}input,select,textarea{font-family:DM Sans,sans-serif;background:var(--c-bg);border:1px solid var(--c-border);color:var(--c-text);padding:10px 14px;border-radius:8px;font-size:14px;width:100%;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}input::placeholder,textarea::placeholder{color:var(--c-text-muted)}textarea{resize:vertical;min-height:88px}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%239B9B9B' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}button{font-family:DM Sans,sans-serif;cursor:pointer;border:none;outline:none;transition:all .15s}button:active{transform:scale(.97)}a{color:inherit;text-decoration:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.fi{animation:fadeIn .3s ease-out both}.f1{animation:fadeIn .3s ease-out .05s both}.f2{animation:fadeIn .3s ease-out .1s both}.f3{animation:fadeIn .3s ease-out .15s both}.f4{animation:fadeIn .3s ease-out .2s both}.clp-lift{transition:transform .15s ease,box-shadow .15s ease}.clp-lift:hover:not(:disabled){transform:translateY(-1px)}.clp-lift:active:not(:disabled){transform:translateY(0)}.stage-wrap{width:100vw;height:100vh;overflow:hidden}.stage{width:100%;height:100%;position:relative;overflow:hidden;transition:background .4s ease,color .4s ease;display:flex;flex-direction:column}.stage[data-theme=calm]{background:#fafaf8;color:#2c2a26;--accent: #0F7B6C;--accent-tint: #E5F3F0;--surface: #FFFFFF;--surface-soft: #F7F6F3;--border: #E8E6E1;--text-soft: #6B6760;--text-muted: #9C9890;--danger: #C44D4D;--danger-tint: #FBECEC;--on-accent: #FAFAF8}.stage[data-theme=ocean]{background:linear-gradient(160deg,#0a1f3f,#050e20);color:#e8f0ff;--accent: rgb(120, 220, 180);--accent-tint: rgba(120, 220, 180, .15);--surface: rgba(255,255,255,.06);--surface-soft: rgba(255,255,255,.03);--border: rgba(255,255,255,.12);--text-soft: rgba(232, 240, 255, .7);--text-muted: rgba(232, 240, 255, .45);--danger: rgb(255, 130, 130);--danger-tint: rgba(255, 130, 130, .15);--on-accent: #050E20}.stage[data-theme=pop]{background:linear-gradient(165deg,#ffd93d,#ff6b9d 60%,#c147ff);color:#1f1733;--accent: #1F1733;--accent-tint: rgba(31, 23, 51, .12);--surface: rgba(255,255,255,.95);--surface-soft: rgba(255,255,255,.5);--border: #1F1733;--text-soft: rgba(31, 23, 51, .75);--text-muted: rgba(31, 23, 51, .55);--danger: #C44D4D;--danger-tint: rgba(196, 77, 77, .15);--on-accent: #FFD93D}.stage[data-theme=mono]{background:#000;color:#fff;--accent: #FFFFFF;--accent-tint: rgba(255,255,255,.1);--surface: transparent;--surface-soft: rgba(255,255,255,.04);--border: rgba(255,255,255,.25);--text-soft: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .45);--danger: #FFFFFF;--danger-tint: rgba(255,255,255,.05);--on-accent: #000000}.stage .top-strip{flex-shrink:0;padding:18px 32px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);gap:24px}.stage[data-theme=ocean] .top-strip,.stage[data-theme=mono] .top-strip{border-bottom-color:#ffffff14}.stage .brand-area{display:flex;align-items:center;gap:14px}.stage .brand-name{font-family:Outfit,sans-serif;font-weight:600;font-size:15px}.stage .session-info{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-soft)}.stage .session-info .dot{width:3px;height:3px;border-radius:50%;background:var(--text-muted)}.stage .section-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--accent);color:var(--on-accent)}.stage .student-block{display:flex;align-items:center;gap:10px}.stage .student-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-family:Outfit,sans-serif;font-weight:700;font-size:14px}.stage[data-theme=mono] .student-avatar{border-radius:0}.stage .student-meta-text{text-align:right}.stage .student-name-top{font-family:Outfit,sans-serif;font-weight:600;font-size:14px;line-height:1.2}.stage .student-class{font-size:11px;color:var(--text-muted);margin-top:1px}.stage .content{flex:1;min-height:0;min-width:0;display:flex;overflow:hidden}.stage .question-state{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:1fr 240px}.stage .question-main{padding:28px 60px 60px;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.stage .question-center{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.stage .question-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.stage .q-counter{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--text-soft)}.stage .q-counter strong{color:currentColor;font-weight:700}.stage .q-progress{flex:1;height:4px;margin:0 16px;background:var(--surface-soft);border-radius:999px;overflow:hidden}.stage .q-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease}.stage .question-prompt-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.stage .question-text-tablet{font-family:Outfit,sans-serif;font-size:42px;font-weight:600;line-height:1.2;letter-spacing:-.015em;text-align:center;max-width:900px;margin:0 auto}.stage .question-prompt-label{text-align:center;margin-bottom:14px}.stage[data-theme=mono] .question-text-tablet{font-family:JetBrains Mono,monospace;font-weight:600}.stage .question-text-tablet em{font-style:italic;opacity:.85}.stage .question-blank-tablet{display:inline-block;border-bottom:3px solid currentColor;min-width:110px;opacity:.4;margin:0 4px}.stage .answers-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:130px 130px;gap:14px;flex-shrink:0}.stage .answer-tile{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 22px;display:flex;align-items:center;gap:16px;text-align:left;cursor:pointer;transition:all .2s ease;font-family:inherit;color:currentColor;overflow:hidden}.stage .answer-tile:hover{transform:translateY(-1px);border-color:var(--accent)}.stage .answer-tile:active{transform:scale(.98)}.stage[data-theme=pop] .answer-tile{border-width:2px;box-shadow:3px 3px #1f1733}.stage[data-theme=pop] .answer-tile:hover{box-shadow:5px 5px #1f1733}.stage[data-theme=mono] .answer-tile{border-radius:0}.stage .answer-tile.selected{border-color:var(--accent);border-width:2px;background:var(--accent-tint)}.stage .answer-tile:disabled{cursor:default;pointer-events:none}.stage .tile-letter{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-family:Outfit,sans-serif;font-weight:700;font-size:20px;flex-shrink:0;background:var(--accent-tint);color:var(--accent)}.stage[data-theme=pop] .tile-letter{background:#1f1733;color:#ffd93d}.stage[data-theme=mono] .tile-letter{background:#fff;color:#000;border-radius:0;font-family:JetBrains Mono,monospace}.stage .tile-text{font-family:Outfit,sans-serif;font-weight:500;font-size:21px;line-height:1.3;flex:1}.stage[data-theme=mono] .tile-text{font-family:JetBrains Mono,monospace;font-weight:500}.stage .question-rail{background:var(--surface-soft);border-left:1px solid var(--border);padding:24px 22px;display:flex;flex-direction:column;gap:20px;min-height:0;overflow:hidden}.stage[data-theme=ocean] .question-rail,.stage[data-theme=mono] .question-rail{background:#0000002e;border-left-color:#ffffff14}.stage[data-theme=pop] .question-rail{background:#ffffff59;border-left-color:#1f173333}.stage .timer-ring-big{position:relative;width:96px;height:96px;margin:0 auto}.stage .timer-ring-big svg{width:100%;height:100%;transform:rotate(-90deg)}.stage .timer-track{fill:none;stroke:var(--border);stroke-width:5}.stage .timer-fill{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.stage .timer-num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:JetBrains Mono,monospace;font-weight:700;font-size:26px;color:var(--accent)}.stage .timer-caption{text-align:center;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:-4px}.stage .rail-divider{height:1px;background:var(--border);margin:2px 0}.stage .rail-stat{text-align:center}.stage .rail-stat-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.stage .rail-stat-value{font-family:Outfit,sans-serif;font-weight:700;font-size:24px;line-height:1}.stage .rail-stat-sub{font-size:11px;color:var(--text-soft);margin-top:4px}.stage-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:stretch;justify-content:stretch;background:#0a0a0a}.stage .stage-exit-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:transparent;color:currentColor;cursor:pointer;display:grid;place-items:center;opacity:.6;transition:opacity .15s ease,background .15s ease,border-color .15s ease;flex-shrink:0}.stage .stage-exit-btn:hover{opacity:1;background:var(--surface-soft);border-color:var(--accent)}.stage[data-theme=pop] .stage-exit-btn{border-width:2px}.stage[data-theme=mono] .stage-exit-btn{border-radius:0}.stage .stage-next-btn{margin-top:auto;padding:14px 18px;border-radius:12px;border:none;background:var(--accent);color:var(--on-accent);font-family:Outfit,sans-serif;font-weight:700;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,box-shadow .15s ease}.stage .stage-next-btn:hover{transform:translateY(-1px)}.stage .stage-next-btn:active{transform:scale(.98)}.stage[data-theme=pop] .stage-next-btn{border:2px solid #1F1733;box-shadow:3px 3px #1f1733}.stage[data-theme=pop] .stage-next-btn:hover{box-shadow:5px 5px #1f1733}.stage[data-theme=mono] .stage-next-btn{border-radius:0}.stage .answer-tile.is-correct{background:#6399222e;border-color:#639922;border-width:2px}.stage[data-theme=calm] .answer-tile.is-correct{background:#eaf3de}.stage[data-theme=pop] .answer-tile.is-correct{background:#c2e892;box-shadow:3px 3px #1f1733}.stage .answer-tile.is-wrong{background:#c44d4d2e;border-color:var(--danger);border-width:2px}.stage[data-theme=calm] .answer-tile.is-wrong{background:var(--danger-tint)}.stage[data-theme=pop] .answer-tile.is-wrong{background:#ffc8c8f2;box-shadow:3px 3px #1f1733}.stage .answer-tile.is-dimmed{opacity:.4}@keyframes cl-quiz-slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-32px);opacity:0}}@keyframes cl-quiz-slide-in-from-right{0%{transform:translate(32px);opacity:0}to{transform:translate(0);opacity:1}}.themed-stage[data-theme=ocean]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 15% 20%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 85% 70%,rgba(255,255,255,.6),transparent),radial-gradient(2px 2px at 45% 40%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 75% 25%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 25% 75%,rgba(255,255,255,.4),transparent),radial-gradient(1.5px 1.5px at 60% 85%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 92% 15%,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 10% 50%,rgba(255,255,255,.4),transparent);z-index:1;pointer-events:none;animation:themeOceanStarTwinkle 8s ease-in-out infinite}@keyframes themeOceanStarTwinkle{0%,to{opacity:1}50%{opacity:.6}}.themed-stage[data-theme=mono]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.02) 2px,rgba(255,255,255,.02) 4px);z-index:1;pointer-events:none}
